diff --git a/docs/source/setup.rst b/docs/source/setup.rst index de8be08781..be04aa5d96 100644 --- a/docs/source/setup.rst +++ b/docs/source/setup.rst @@ -38,8 +38,8 @@ where: * ``$APP`` is the target application, one of: - ATM: atmosphere-only [default] - - ATMW: atm-wave - ATMA: atm-aerosols + - ATMW: atm-wave (currently non-functional) - S2S: atm-ocean-ice - S2SA: atm-ocean-ice-aerosols - S2SW: atm-ocean-ice-wave @@ -150,7 +150,12 @@ where: * ``$APP`` is the target application, one of: - ATM: atmosphere-only [default] - - ATMW: atm-wave + - ATMA: atm-aerosols + - ATMW: atm-wave (currently non-functional) + - S2S: atm-ocean-ice + - S2SA: atm-ocean-ice-aerosols + - S2SW: atm-ocean-ice-wave + - S2SWA: atm-ocean-ice-wave-aerosols * ``$IDATE`` is the initial start date of your run (first cycle CDATE, YYYYMMDDCC) * ``$EDATE`` is the ending date of your run (YYYYMMDDCC) and is the last cycle that will complete diff --git a/parm/chem/SU2G_instance_SU.rc b/parm/chem/SU2G_instance_SU.rc index 547be88fa7..e365827760 100644 --- a/parm/chem/SU2G_instance_SU.rc +++ b/parm/chem/SU2G_instance_SU.rc @@ -8,7 +8,7 @@ aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_SU.v1_3.nc nbins: 4 # Volcanic pointwise sources -volcano_srcfilen: ExtData/volcanic/so2_volcanic_emissions_Carns.%y4%m2%d2.rc +volcano_srcfilen: ExtData/nexus/VOLCANO/v2021-09/%y4/%m2/so2_volcanic_emissions_Carns.%y4%m2%d2.rc # Heights [m] of LTO, CDS and CRS aviation emissions layers aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 diff --git a/parm/config/gfs/config.efcs b/parm/config/gfs/config.efcs index 09ebaf13df..556750af10 100644 --- a/parm/config/gfs/config.efcs +++ b/parm/config/gfs/config.efcs @@ -6,10 +6,13 @@ echo "BEGIN: config.efcs" # TODO: the _ENKF counterparts need to be defined in config.base -export DO_AERO=${DO_AERO_ENKF:-"NO"} -export DO_OCN=${DO_OCN_ENKF:-"NO"} -export DO_ICE=${DO_ICE_ENKF:-"NO"} -export DO_WAVE=${DO_WAVE_ENKF:-"NO"} +# TODO: Using different values for ensemble doesn't work because +# config.fcst sets a bunch of derived values based on these +# that is not duplicated here. [#1692] +# export DO_AERO=${DO_AERO_ENKF:-"NO"} +# export DO_OCN=${DO_OCN_ENKF:-"NO"} +# export DO_ICE=${DO_ICE_ENKF:-"NO"} +# export DO_WAVE=${DO_WAVE_ENKF:-"NO"} # TODO: Possibly need OCNRES_ENKF, ICERES_ENKF, WAVRES_ENKF too if [[ ${DO_OCN} == "YES" ]]; then diff --git a/ush/nems.configure.cpld_aero.IN b/ush/nems.configure.cpld_aero.IN new file mode 100644 index 0000000000..f8d71a2398 --- /dev/null +++ b/ush/nems.configure.cpld_aero.IN @@ -0,0 +1,128 @@ +############################################# +#### NEMS Run-Time Configuration File ##### +############################################# + +# ESMF # +logKindFlag: @[esmf_logkind] +globalResourceControl: true + +# EARTH # +EARTH_component_list: MED ATM CHM OCN ICE +EARTH_attributes:: + Verbosity = 0 +:: + +# MED # +MED_model: @[med_model] +MED_petlist_bounds: @[med_petlist_bounds] +MED_omp_num_threads: @[med_omp_num_threads] +:: + +# ATM # +ATM_model: @[atm_model] +ATM_petlist_bounds: @[atm_petlist_bounds] +ATM_omp_num_threads: @[atm_omp_num_threads] +ATM_attributes:: + Verbosity = 0 + DumpFields = @[DumpFields] + ProfileMemory = false + OverwriteSlice = true +:: + +# CHM # +CHM_model: @[chm_model] +CHM_petlist_bounds: @[chm_petlist_bounds] +CHM_omp_num_threads: @[chm_omp_num_threads] +CHM_attributes:: + Verbosity = 0 +:: + +# OCN # +OCN_model: @[ocn_model] +OCN_petlist_bounds: @[ocn_petlist_bounds] +OCN_omp_num_threads: @[ocn_omp_num_threads] +OCN_attributes:: + Verbosity = 0 + DumpFields = @[DumpFields] + ProfileMemory = false + OverwriteSlice = true + mesh_ocn = @[MESH_OCN_ICE] +:: + +# ICE # +ICE_model: @[ice_model] +ICE_petlist_bounds: @[ice_petlist_bounds] +ICE_omp_num_threads: @[ice_omp_num_threads] +ICE_attributes:: + Verbosity = 0 + DumpFields = @[DumpFields] + ProfileMemory = false + OverwriteSlice = true + mesh_ice = @[MESH_OCN_ICE] + stop_n = @[RESTART_N] + stop_option = nhours + stop_ymd = -999 +:: + +# CMEPS warm run sequence +runSeq:: +@@[coupling_interval_slow_sec] + MED med_phases_prep_ocn_avg + MED -> OCN :remapMethod=redist + OCN + @@[coupling_interval_fast_sec] + MED med_phases_prep_atm + MED med_phases_prep_ice + MED -> ATM :remapMethod=redist + MED -> ICE :remapMethod=redist + ATM phase1 + ATM -> CHM + CHM + CHM -> ATM + ATM phase2 + ICE + ATM -> MED :remapMethod=redist + MED med_phases_post_atm + ICE -> MED :remapMethod=redist + MED med_phases_post_ice + MED med_phases_prep_ocn_accum + @ + OCN -> MED :remapMethod=redist + MED med_phases_post_ocn + MED med_phases_restart_write +@ +:: + +# CMEPS variables + +DRIVER_attributes:: +:: +MED_attributes:: + ATM_model = @[atm_model] + ICE_model = @[ice_model] + OCN_model = @[ocn_model] + history_n = 0 + history_option = nhours + history_ymd = -999 + coupling_mode = @[CPLMODE] + history_tile_atm = @[ATMTILESIZE] +:: +ALLCOMP_attributes:: + ScalarFieldCount = 2 + ScalarFieldIdxGridNX = 1 + ScalarFieldIdxGridNY = 2 + ScalarFieldName = cpl_scalars + start_type = @[RUNTYPE] + restart_dir = RESTART/ + case_name = ufs.cpld + restart_n = @[RESTART_N] + restart_option = nhours + restart_ymd = -999 + dbug_flag = @[cap_dbug_flag] + use_coldstart = @[use_coldstart] + use_mommesh = @[use_mommesh] + eps_imesh = @[eps_imesh] + stop_n = @[FHMAX] + stop_option = nhours + stop_ymd = -999 +:: diff --git a/workflow/applications/gfs_forecast_only.py b/workflow/applications/gfs_forecast_only.py index f93d1899f5..6415b11bf2 100644 --- a/workflow/applications/gfs_forecast_only.py +++ b/workflow/applications/gfs_forecast_only.py @@ -76,7 +76,7 @@ def get_task_names(self): if self.do_atm: tasks += ['post'] - if self.model_app in ['S2S', 'S2SW', 'S2SWA', 'NG-GODAS']: + if self.do_ocean: tasks += ['ocnpost'] if self.do_atm: diff --git a/workflow/setup_expt.py b/workflow/setup_expt.py index 9e91c860da..bda1b32786 100755 --- a/workflow/setup_expt.py +++ b/workflow/setup_expt.py @@ -61,7 +61,7 @@ def fill_COMROT_cycled(host, inputs): do_ocean = do_ice = do_med = False - if inputs.app in ['S2S', 'S2SW']: + if 'S2S' in inputs.app: do_ocean = do_ice = do_med = True if inputs.icsdir is None: