|
23 | 23 |
|
24 | 24 | from mpas_analysis.test import TestCase, loaddatadir |
25 | 25 | from mpas_analysis.shared.climatology import MpasClimatologyTask, \ |
26 | | - RemapMpasClimatologySubtask |
| 26 | + RefYearMpasClimatologyTask, RemapMpasClimatologySubtask |
27 | 27 | from mpas_analysis.shared import AnalysisTask |
28 | 28 | from mpas_analysis.shared.analysis_task import \ |
29 | 29 | update_time_bounds_from_file_names |
@@ -171,6 +171,36 @@ def test_update_climatology_bounds_and_create_symlinks(self): |
171 | 171 | update_time_bounds_from_file_names(config, 'climatology', 'ocean', |
172 | 172 | allow_cache=False) |
173 | 173 |
|
| 174 | + def test_create_symlinks_isolates_reference_year_files(self): |
| 175 | + mpasClimatologyTask = self.setup_task() |
| 176 | + |
| 177 | + refYearTask = RefYearMpasClimatologyTask( |
| 178 | + config=mpasClimatologyTask.config, componentName='ocean') |
| 179 | + refYearTask.historyStreams = mpasClimatologyTask.historyStreams |
| 180 | + refYearTask.startYear = 1 |
| 181 | + refYearTask.endYear = 1 |
| 182 | + refYearTask.inputFiles = [] |
| 183 | + |
| 184 | + for month in range(1, 13): |
| 185 | + fileName = os.path.join( |
| 186 | + self.test_dir, |
| 187 | + f'mpaso.hist.am.timeSeriesStatsMonthly.0001-{month:02d}-01.nc') |
| 188 | + with open(fileName, 'w'): |
| 189 | + pass |
| 190 | + refYearTask.inputFiles.append(fileName) |
| 191 | + |
| 192 | + refSymlinkDirectory = refYearTask._create_symlinks() |
| 193 | + mainSymlinkDirectory = mpasClimatologyTask._create_symlinks() |
| 194 | + |
| 195 | + assert(refSymlinkDirectory != mainSymlinkDirectory) |
| 196 | + |
| 197 | + mainSymlinkFiles = sorted(os.listdir(mainSymlinkDirectory)) |
| 198 | + |
| 199 | + assert(len(mainSymlinkFiles) == 12) |
| 200 | + for fileName in mainSymlinkFiles: |
| 201 | + assert(fileName.startswith( |
| 202 | + 'mpaso.hist.am.timeSeriesStatsMonthly.0002-')) |
| 203 | + |
174 | 204 | def test_subtask_run_analysis(self): |
175 | 205 | mpasClimatologyTask = self.setup_task() |
176 | 206 | self.add_variables(mpasClimatologyTask) |
|
0 commit comments