@@ -936,14 +936,24 @@ def _get_ufs_postproc_grps(cdump, config):
936
936
return grp , dep , lst
937
937
938
938
def atmupp (self ):
939
+ return self ._upptask (upp_run = 'forecast' , task_id = 'atmupp' )
940
+
941
+ def goesupp (self ):
942
+ return self ._upptask (upp_run = 'goes' , task_id = 'goesupp' )
943
+
944
+ def _upptask (self , upp_run = "forecast" , task_id = "atmupp" ):
945
+
946
+ VALID_UPP_RUN = ["forecast" , "goes" , "wafs" ]
947
+ if upp_run not in VALID_UPP_RUN :
948
+ raise KeyError (f"{ upp_run } is invalid; UPP_RUN options are: { ('|' ).join (VALID_UPP_RUN )} " )
939
949
940
950
varname1 , varname2 , varname3 = 'grp' , 'dep' , 'lst'
941
951
varval1 , varval2 , varval3 = self ._get_ufs_postproc_grps (self .cdump , self ._configs ['upp' ])
942
952
var_dict = {varname1 : varval1 , varname2 : varval2 , varname3 : varval3 }
943
953
944
954
postenvars = self .envars .copy ()
945
955
postenvar_dict = {'FHRLST' : '#lst#' ,
946
- 'UPP_RUN' : 'forecast' }
956
+ 'UPP_RUN' : upp_run }
947
957
for key , value in postenvar_dict .items ():
948
958
postenvars .append (rocoto .create_envar (name = key , value = str (value )))
949
959
@@ -962,7 +972,7 @@ def atmupp(self):
962
972
cycledef = 'gdas_half,gdas' if self .cdump in ['gdas' ] else self .cdump
963
973
resources = self .get_resource ('upp' )
964
974
965
- task_name = f'{ self .cdump } atmupp #{ varname1 } #'
975
+ task_name = f'{ self .cdump } { task_id } #{ varname1 } #'
966
976
task_dict = {'task_name' : task_name ,
967
977
'resources' : resources ,
968
978
'dependency' : dependencies ,
@@ -974,7 +984,7 @@ def atmupp(self):
974
984
'maxtries' : '&MAXTRIES;'
975
985
}
976
986
977
- metatask_dict = {'task_name' : f'{ self .cdump } atmupp ' ,
987
+ metatask_dict = {'task_name' : f'{ self .cdump } { task_id } ' ,
978
988
'task_dict' : task_dict ,
979
989
'var_dict' : var_dict
980
990
}
0 commit comments