@@ -110,15 +110,17 @@ def waveinit(self):
110
110
111
111
resources = self .get_resource ('waveinit' )
112
112
dependencies = None
113
+ cycledef = None
113
114
if self .app_config .mode in ['cycled' ]:
114
115
deps = []
115
116
dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } prep' }
116
117
deps .append (rocoto .add_dependency (dep_dict ))
117
- dep_dict = {'type' : 'cycleexist' , 'condition' : 'not' , 'offset' : '-06:00:00' }
118
- deps .append (rocoto .add_dependency (dep_dict ))
118
+ if self .cdump in ['gdas' ]:
119
+ dep_dict = {'type' : 'cycleexist' , 'condition' : 'not' , 'offset' : '-06:00:00' }
120
+ deps .append (rocoto .add_dependency (dep_dict ))
119
121
dependencies = rocoto .create_dependency (dep_condition = 'or' , dep = deps )
120
-
121
- task = create_wf_task ('waveinit' , resources , cdump = self .cdump , envar = self .envars , dependency = dependencies )
122
+ cycledef = 'gdas_half,gdas' if self . cdump in [ 'gdas' ] else self . cdump
123
+ task = create_wf_task ('waveinit' , resources , cdump = self .cdump , envar = self .envars , dependency = dependencies , cycledef = cycledef )
122
124
123
125
return task
124
126
@@ -128,9 +130,9 @@ def waveprep(self):
128
130
dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } waveinit' }
129
131
deps .append (rocoto .add_dependency (dep_dict ))
130
132
dependencies = rocoto .create_dependency (dep = deps )
131
-
133
+ cycledef = 'gdas_half,gdas' if self . cdump in [ 'gdas' ] else self . cdump
132
134
resources = self .get_resource ('waveprep' )
133
- task = create_wf_task ('waveprep' , resources , cdump = self .cdump , envar = self .envars , dependency = dependencies )
135
+ task = create_wf_task ('waveprep' , resources , cdump = self .cdump , envar = self .envars , dependency = dependencies , cycledef = cycledef )
134
136
135
137
return task
136
138
@@ -488,6 +490,8 @@ def _fcst_forecast_only(self):
488
490
wave_job = 'waveprep' if self .app_config .model_app in ['ATMW' ] else 'waveinit'
489
491
dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } { wave_job } ' }
490
492
dependencies .append (rocoto .add_dependency (dep_dict ))
493
+ dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } waveinit' }
494
+ dependencies .append (rocoto .add_dependency (dep_dict ))
491
495
492
496
if self .app_config .do_aero :
493
497
# Calculate offset based on CDUMP = gfs | gdas
@@ -521,10 +525,6 @@ def _fcst_cycled(self):
521
525
dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } ocnanalpost' }
522
526
dependencies .append (rocoto .add_dependency (dep_dict ))
523
527
524
- if self .app_config .do_wave and self .cdump in self .app_config .wave_cdumps :
525
- dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } waveprep' }
526
- dependencies .append (rocoto .add_dependency (dep_dict ))
527
-
528
528
if self .app_config .do_aero :
529
529
dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } aeroanlfinal' }
530
530
dependencies .append (rocoto .add_dependency (dep_dict ))
@@ -540,6 +540,11 @@ def _fcst_cycled(self):
540
540
dependencies .append (rocoto .add_dependency (dep_dict ))
541
541
dependencies = rocoto .create_dependency (dep_condition = 'or' , dep = dependencies )
542
542
543
+ if self .app_config .do_wave and self .cdump in self .app_config .wave_cdumps :
544
+ dep_dict = {'type' : 'task' , 'name' : f'{ self .cdump } waveprep' }
545
+ dependencies .append (rocoto .add_dependency (dep_dict ))
546
+ dependencies = rocoto .create_dependency (dep_condition = 'and' , dep = dependencies )
547
+
543
548
cycledef = 'gdas_half,gdas' if self .cdump in ['gdas' ] else self .cdump
544
549
545
550
resources = self .get_resource ('fcst' )
0 commit comments