Skip to content

Commit 82304d1

Browse files
committed
Add a test to ensure that only the required data gets linked
1 parent cd219f5 commit 82304d1

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

mpas_analysis/test/test_mpas_climatology_task.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
from mpas_analysis.test import TestCase, loaddatadir
2525
from mpas_analysis.shared.climatology import MpasClimatologyTask, \
26-
RemapMpasClimatologySubtask
26+
RefYearMpasClimatologyTask, RemapMpasClimatologySubtask
2727
from mpas_analysis.shared import AnalysisTask
2828
from mpas_analysis.shared.analysis_task import \
2929
update_time_bounds_from_file_names
@@ -171,6 +171,36 @@ def test_update_climatology_bounds_and_create_symlinks(self):
171171
update_time_bounds_from_file_names(config, 'climatology', 'ocean',
172172
allow_cache=False)
173173

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+
174204
def test_subtask_run_analysis(self):
175205
mpasClimatologyTask = self.setup_task()
176206
self.add_variables(mpasClimatologyTask)

0 commit comments

Comments
 (0)