From 2e6b41ac0475f99fb2e05e9eb2967b15e04f5c1e Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Mon, 10 Aug 2020 11:57:35 -0500 Subject: [PATCH 01/16] add "ic_source" option to control cfsr/gfs IC selection in "settings" --- workflow/cases/atm_free_forecast.yaml | 56 +++++++++++++++++++++++ workflow/cases/coupled_free_forecast.yaml | 1 + workflow/defaults/settings.yaml | 2 + workflow/layout/free_forecast_gfs.yaml | 6 +-- 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 workflow/cases/atm_free_forecast.yaml diff --git a/workflow/cases/atm_free_forecast.yaml b/workflow/cases/atm_free_forecast.yaml new file mode 100644 index 00000000000..354fd0eb8ee --- /dev/null +++ b/workflow/cases/atm_free_forecast.yaml @@ -0,0 +1,56 @@ +case: + places: + workflow_file: layout/free_forecast_gfs.yaml + #BASE_CPLIC: /scratch2/NCEPDEV/climate/climpara/S2S/IC + + settings: + SDATE: 2013-04-01t00:00:00 + EDATE: 2013-04-01t00:00:00 + + cplflx: .false. + print_esmf: .true. + nems_temp: 'med_atm_ocn_ice' + nems_temp_cold: 'medcold_atm_ocn_ice' + mom6ic_prepared: .false. + KEEPDATA: NO + ic_source: cfsr + + nsst: + NST_MODEL: 0 + + output_settings: + OCN_INTERVAL: 24 + FHOUT_GFS: 6 + FHMIN_GFS: 0 + FHMAX_GFS: 48 + FHMAX_HF_GFS: 0 + FHOUT_HF_GFS: -1 + + fv3_gfs_settings: + CASE: C384 + LEVS: 65 + DELTIM: 450 + SEEDLET: 10 + CCPP_SUITE: FV3_GFS_v15p2_coupled + nst_anl: no + DO_SKEB: false + DO_SHUM: false + DO_SPPT: false + layout: + x: 6 + y: 8 + nth: 2 + WGRP: 1 + WGRP_NTASKS: 24 + WRTIOBUF: "32M" + cdmbgwd: "1.0,1.2" + + ocn_settings: + OCNPETS: 120 + + ice_settings: + ICEPETS: 48 + + post: + downset: 2 + GOESF: no diff --git a/workflow/cases/coupled_free_forecast.yaml b/workflow/cases/coupled_free_forecast.yaml index f0af5bf0ab8..b3a7c87677a 100644 --- a/workflow/cases/coupled_free_forecast.yaml +++ b/workflow/cases/coupled_free_forecast.yaml @@ -13,6 +13,7 @@ case: nems_temp_cold: 'medcold_atm_ocn_ice' mom6ic_prepared: .false. KEEPDATA: NO + ic_source: cfsr nsst: NST_MODEL: 0 diff --git a/workflow/defaults/settings.yaml b/workflow/defaults/settings.yaml index 2f606030fab..57e8b1af1a1 100644 --- a/workflow/defaults/settings.yaml +++ b/workflow/defaults/settings.yaml @@ -58,6 +58,8 @@ default_settings: &default_settings do: .true. - otherwise: .false. + ic_source: cfsr # choices: cfsr, gfs; default: cfsr + mom6ic_prepared: .false. # If set True, User need to manually copy mom6ic files into ROTIDR DOIAU: NO diff --git a/workflow/layout/free_forecast_gfs.yaml b/workflow/layout/free_forecast_gfs.yaml index 5064b1de80d..ab2d59621e0 100644 --- a/workflow/layout/free_forecast_gfs.yaml +++ b/workflow/layout/free_forecast_gfs.yaml @@ -16,7 +16,7 @@ suite: !Cycle <<: *service_task_template RUN: 'gfs' # Disable: !calc doc.settings.get("IC_CDUMP","") - Disable: !calc doc.settings.get("IC_CDUMP","") or doc.settings.cpl=='.true.' + Disable: !calc doc.settings.get("IC_CDUMP","") or doc.settings.cpl=='.true.' or doc.settings.ic_source=='cfsr' resources: !calc partition.resources.run_getic J_JOB: rocoto/getic.sh ecf_module_commands: "# getics.sh will load modules instead" @@ -26,7 +26,7 @@ suite: !Cycle <<: *exclusive_task_template RUN: 'gfs' # Disable: !calc not doc.settings.chgres_and_convert_ics - Disable: !calc doc.settings.chgres_and_convert_ics=='.false.' or doc.settings.cpl=='.true.' + Disable: !calc doc.settings.chgres_and_convert_ics=='.false.' or doc.settings.cpl=='.true.' or doc.settings.ic_source=='cfsr' Trigger: !Depend jgfs_emc_getics resources: !calc partition.resources.run_fv3ic J_JOB: rocoto/crow_fv3ic.sh @@ -36,7 +36,7 @@ suite: !Cycle jgfs_emc_mom6ic: !Task <<: *exclusive_task_template RUN: 'gfs' - Disable: !calc doc.settings.cplflx=='.false.' or not doc.settings.chgres_and_convert_ics + Disable: !calc doc.settings.cplflx=='.false.' and not doc.settings.chgres_and_convert_ics and doc.settings.ic_source=='gfs' Trigger: !Depend jgfs_emc_getics resources: !calc partition.resources.run_fv3ic J_JOB: rocoto/coupled_ic.sh From 69a095ef702a56fa24c1eea4e9cf19b0e02cc2cb Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Mon, 10 Aug 2020 12:38:54 -0500 Subject: [PATCH 02/16] remove excessive parameters in ATM case file nems.configure templates switched to "atm" for ATM case file --- workflow/cases/atm_free_forecast.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/workflow/cases/atm_free_forecast.yaml b/workflow/cases/atm_free_forecast.yaml index 354fd0eb8ee..6b9c4ad4355 100644 --- a/workflow/cases/atm_free_forecast.yaml +++ b/workflow/cases/atm_free_forecast.yaml @@ -9,8 +9,8 @@ case: cplflx: .false. print_esmf: .true. - nems_temp: 'med_atm_ocn_ice' - nems_temp_cold: 'medcold_atm_ocn_ice' + nems_temp: 'atm' + nems_temp_cold: 'atm' mom6ic_prepared: .false. KEEPDATA: NO ic_source: cfsr @@ -19,7 +19,6 @@ case: NST_MODEL: 0 output_settings: - OCN_INTERVAL: 24 FHOUT_GFS: 6 FHMIN_GFS: 0 FHMAX_GFS: 48 @@ -45,9 +44,6 @@ case: WRTIOBUF: "32M" cdmbgwd: "1.0,1.2" - ocn_settings: - OCNPETS: 120 - ice_settings: ICEPETS: 48 From 88e4f8435ec7831b1eb7d2bf586c91c52b3f6fbb Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Mon, 10 Aug 2020 13:13:35 -0500 Subject: [PATCH 03/16] rename ic_source option to "coupled_ic" and "fv3_ic" --- workflow/cases/atm_free_forecast.yaml | 2 +- workflow/defaults/settings.yaml | 2 +- workflow/layout/free_forecast_gfs.yaml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/workflow/cases/atm_free_forecast.yaml b/workflow/cases/atm_free_forecast.yaml index 6b9c4ad4355..600e069044c 100644 --- a/workflow/cases/atm_free_forecast.yaml +++ b/workflow/cases/atm_free_forecast.yaml @@ -13,7 +13,7 @@ case: nems_temp_cold: 'atm' mom6ic_prepared: .false. KEEPDATA: NO - ic_source: cfsr + ic_source: coupled_ic nsst: NST_MODEL: 0 diff --git a/workflow/defaults/settings.yaml b/workflow/defaults/settings.yaml index 57e8b1af1a1..26679ae1392 100644 --- a/workflow/defaults/settings.yaml +++ b/workflow/defaults/settings.yaml @@ -58,7 +58,7 @@ default_settings: &default_settings do: .true. - otherwise: .false. - ic_source: cfsr # choices: cfsr, gfs; default: cfsr + ic_source: coupled_ic # choices: coupled_ic, fv3_ic; default: coupled_ic mom6ic_prepared: .false. # If set True, User need to manually copy mom6ic files into ROTIDR diff --git a/workflow/layout/free_forecast_gfs.yaml b/workflow/layout/free_forecast_gfs.yaml index ab2d59621e0..abafc158a7f 100644 --- a/workflow/layout/free_forecast_gfs.yaml +++ b/workflow/layout/free_forecast_gfs.yaml @@ -16,7 +16,7 @@ suite: !Cycle <<: *service_task_template RUN: 'gfs' # Disable: !calc doc.settings.get("IC_CDUMP","") - Disable: !calc doc.settings.get("IC_CDUMP","") or doc.settings.cpl=='.true.' or doc.settings.ic_source=='cfsr' + Disable: !calc doc.settings.get("IC_CDUMP","") or doc.settings.cpl=='.true.' or doc.settings.ic_source=='coupled_ic' resources: !calc partition.resources.run_getic J_JOB: rocoto/getic.sh ecf_module_commands: "# getics.sh will load modules instead" @@ -26,7 +26,7 @@ suite: !Cycle <<: *exclusive_task_template RUN: 'gfs' # Disable: !calc not doc.settings.chgres_and_convert_ics - Disable: !calc doc.settings.chgres_and_convert_ics=='.false.' or doc.settings.cpl=='.true.' or doc.settings.ic_source=='cfsr' + Disable: !calc doc.settings.chgres_and_convert_ics=='.false.' or doc.settings.cpl=='.true.' or doc.settings.ic_source=='coupled_ic' Trigger: !Depend jgfs_emc_getics resources: !calc partition.resources.run_fv3ic J_JOB: rocoto/crow_fv3ic.sh @@ -36,7 +36,7 @@ suite: !Cycle jgfs_emc_mom6ic: !Task <<: *exclusive_task_template RUN: 'gfs' - Disable: !calc doc.settings.cplflx=='.false.' and not doc.settings.chgres_and_convert_ics and doc.settings.ic_source=='gfs' + Disable: !calc doc.settings.cplflx=='.false.' and not doc.settings.chgres_and_convert_ics and doc.settings.ic_source=='fv3_ic' Trigger: !Depend jgfs_emc_getics resources: !calc partition.resources.run_fv3ic J_JOB: rocoto/coupled_ic.sh @@ -161,7 +161,7 @@ suite: !Cycle ocnpost: !TaskArray RUN: !calc up.RUN - Disable: !calc not doc.settings.cplflx + Disable: !calc doc.settings.cplflx==".false." Dimensions: fhr: !calc doc.output_settings.ocnpost_hours jgfs_ocnpost_fhr_el: !TaskElement From b09d07ed58a9a430d631f958deaf6f3feb86a07c Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Mon, 10 Aug 2020 15:37:38 -0500 Subject: [PATCH 04/16] add more explanation to newly added option "ic_source" --- workflow/cases/coupled_free_forecast.yaml | 2 +- workflow/defaults/settings.yaml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/workflow/cases/coupled_free_forecast.yaml b/workflow/cases/coupled_free_forecast.yaml index b3a7c87677a..16cbcca2958 100644 --- a/workflow/cases/coupled_free_forecast.yaml +++ b/workflow/cases/coupled_free_forecast.yaml @@ -13,7 +13,7 @@ case: nems_temp_cold: 'medcold_atm_ocn_ice' mom6ic_prepared: .false. KEEPDATA: NO - ic_source: cfsr + ic_source: coupled_ic nsst: NST_MODEL: 0 diff --git a/workflow/defaults/settings.yaml b/workflow/defaults/settings.yaml index 26679ae1392..6cc11fd270b 100644 --- a/workflow/defaults/settings.yaml +++ b/workflow/defaults/settings.yaml @@ -58,7 +58,8 @@ default_settings: &default_settings do: .true. - otherwise: .false. - ic_source: coupled_ic # choices: coupled_ic, fv3_ic; default: coupled_ic + ic_source: coupled_ic # choices: coupled_ic, fv3_ic; default: coupled_ic. This option controls which + # script will be used for IC preparation: coupled_ic.sh or fv3_ic.sh mom6ic_prepared: .false. # If set True, User need to manually copy mom6ic files into ROTIDR From 887137453a7f1d92a6911637afdbde90bc749944 Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Tue, 15 Sep 2020 21:16:50 -0500 Subject: [PATCH 05/16] additional files to copy into ROTDIR after forecast DATA directory reorganize case file update: *_test and *_exp1 --- jobs/rocoto/fcst.sh | 3 + jobs/rocoto/post.sh | 2 + ush/forecast_postdet.sh | 3 +- .../coupled_free_forecast_wave_exp1.yaml | 60 +++++++++++++++++++ .../coupled_free_forecast_wave_test.yaml | 60 +++++++++++++++++++ workflow/config/base.yaml | 2 +- workflow/defaults/places.yaml | 1 + 7 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 workflow/cases/coupled_free_forecast_wave_exp1.yaml create mode 100644 workflow/cases/coupled_free_forecast_wave_test.yaml diff --git a/jobs/rocoto/fcst.sh b/jobs/rocoto/fcst.sh index 9a1d0224308..1fd3cd62c65 100755 --- a/jobs/rocoto/fcst.sh +++ b/jobs/rocoto/fcst.sh @@ -6,6 +6,9 @@ status=$? [[ $status -ne 0 ]] && exit $status +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + ############################################################### # Execute the JJOB $HOMEgfs/jobs/JGLOBAL_FORECAST diff --git a/jobs/rocoto/post.sh b/jobs/rocoto/post.sh index 8325360becb..4595a842bce 100755 --- a/jobs/rocoto/post.sh +++ b/jobs/rocoto/post.sh @@ -20,6 +20,8 @@ else restart_file=$ROTDIR/${CDUMP}.${PDY}/${cyc}/${CDUMP}.t${cyc}z.logf fi +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT #--------------------------------------------------------------- for fhr in $fhrlst; do diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 3b4acb0e268..0b9284a40d4 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -570,7 +570,8 @@ WW3_nml() WW3_out() { echo "SUB ${FUNCNAME[0]}: Copying output data for WW3" - # soft link commands insert here + $NCP $DATA/ww3_multi.inp $ROTDIR/${COMPONENTwave}.${PDY}/${cyc}/ + $NCP $DATA/mod_def.* $ROTDIR/${COMPONENTwave}.${PDY}/${cyc}/ } MOM6_postdet() diff --git a/workflow/cases/coupled_free_forecast_wave_exp1.yaml b/workflow/cases/coupled_free_forecast_wave_exp1.yaml new file mode 100644 index 00000000000..f65aba89e33 --- /dev/null +++ b/workflow/cases/coupled_free_forecast_wave_exp1.yaml @@ -0,0 +1,60 @@ +case: + places: + workflow_file: layout/free_forecast_gfs.yaml + #BASE_CPLIC: /scratch2/NCEPDEV/climate/climpara/S2S/IC + + settings: + SDATE: 2013-04-01t00:00:00 + EDATE: 2013-04-01t00:00:00 + + cplwav: .true. + cplwav2atm: .true. + cplflx: .true. + print_esmf: .true. + nems_temp: 'med_atm_ocn_ice_wav' + nems_temp_cold: 'medcold_atm_ocn_ice_wav' + mom6ic_prepared: .false. + KEEPDATA: YES + + nsst: + NST_MODEL: 0 + + output_settings: + OCN_INTERVAL: 24 + FHOUT_GFS: 6 + FHMIN_GFS: 0 + FHMAX_GFS: 840 + FHMAX_HF_GFS: 0 + FHOUT_HF_GFS: -1 + + fv3_gfs_settings: + CASE: C384 + LEVS: 65 + DELTIM: 450 + SEEDLET: 10 + CCPP_SUITE: FV3_GFS_v15p2_coupled + nst_anl: no + DO_SKEB: false + DO_SHUM: false + DO_SPPT: false + layout: + x: 6 + y: 12 + nth: 1 + WGRP: 1 + WGRP_NTASKS: 24 + WRTIOBUF: "32M" + cdmbgwd: "1.0,1.2" + + ocn_settings: + OCNPETS: 240 + + ice_settings: + ICEPETS: 48 + + wave_settings: + WAVPETS: 136 + + post: + downset: 2 + GOESF: no diff --git a/workflow/cases/coupled_free_forecast_wave_test.yaml b/workflow/cases/coupled_free_forecast_wave_test.yaml new file mode 100644 index 00000000000..da8a054fb18 --- /dev/null +++ b/workflow/cases/coupled_free_forecast_wave_test.yaml @@ -0,0 +1,60 @@ +case: + places: + workflow_file: layout/free_forecast_gfs.yaml + #BASE_CPLIC: /scratch2/NCEPDEV/climate/climpara/S2S/IC + + settings: + SDATE: 2013-04-01t00:00:00 + EDATE: 2013-04-01t00:00:00 + + cplwav: .true. + cplwav2atm: .true. + cplflx: .true. + print_esmf: .true. + nems_temp: 'med_atm_ocn_ice_wav' + nems_temp_cold: 'medcold_atm_ocn_ice_wav' + mom6ic_prepared: .false. + KEEPDATA: YES + + nsst: + NST_MODEL: 0 + + output_settings: + OCN_INTERVAL: 24 + FHOUT_GFS: 6 + FHMIN_GFS: 0 + FHMAX_GFS: 48 + FHMAX_HF_GFS: 0 + FHOUT_HF_GFS: -1 + + fv3_gfs_settings: + CASE: C384 + LEVS: 65 + DELTIM: 450 + SEEDLET: 10 + CCPP_SUITE: FV3_GFS_v15p2_coupled + nst_anl: no + DO_SKEB: false + DO_SHUM: false + DO_SPPT: false + layout: + x: 6 + y: 8 + nth: 2 + WGRP: 1 + WGRP_NTASKS: 24 + WRTIOBUF: "32M" + cdmbgwd: "1.0,1.2" + + ocn_settings: + OCNPETS: 120 + + ice_settings: + ICEPETS: 48 + + wave_settings: + WAVPETS: 40 + + post: + downset: 2 + GOESF: no diff --git a/workflow/config/base.yaml b/workflow/config/base.yaml index 47eeca7610b..e343079b01c 100644 --- a/workflow/config/base.yaml +++ b/workflow/config/base.yaml @@ -118,7 +118,7 @@ config_base: export ROTDIR="{doc.places.ROTDIR}" export ROTDIR_DUMP="YES" export DUMP_SUFFIX="{doc.settings.DUMP_SUFFIX}" - export RUNDIR="{doc.places.DATAROOT}" + export RUNDIR="{doc.places.RUNDIR}" export ARCDIR="$NOSCRUB/archive/$PSLOT" export ICSDIR="{doc.places.ICSDIR}" export ATARDIR="{doc.archiving.ATARDIR}" diff --git a/workflow/defaults/places.yaml b/workflow/defaults/places.yaml index 819a54583ad..d1e7df89665 100644 --- a/workflow/defaults/places.yaml +++ b/workflow/defaults/places.yaml @@ -15,6 +15,7 @@ default_places: &default_places EXPDIR: !expand "{doc.platform.EXPROOT}/{doc.names.experiment}" ROTDIR: !expand "{doc.platform.COMROOT}/{doc.names.experiment}" + RUNDIR: !expand "{doc.platform.DATAROOT}/{doc.names.experiment}" ICSDIR: !expand "{ROTDIR}/FV3ICS" BASE_CPLIC: !calc doc.platform.BASE_CPLIC DATAROOT: !expand "{doc.platform.DATAROOT}/{doc.names.experiment}" From 79d00729502f7aecef9566b2b964c93555a2cae0 Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Fri, 18 Sep 2020 15:03:15 -0500 Subject: [PATCH 06/16] fix bug in nems.configure for no-wave case --- ush/nems.configure.med_atm_ocn_ice.IN | 7 ++++++- ush/nems.configure.medcold_atm_ocn_ice.IN | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ush/nems.configure.med_atm_ocn_ice.IN b/ush/nems.configure.med_atm_ocn_ice.IN index 973a49cecfd..afaea2bb0f0 100755 --- a/ush/nems.configure.med_atm_ocn_ice.IN +++ b/ush/nems.configure.med_atm_ocn_ice.IN @@ -42,7 +42,10 @@ ICE_attributes:: DumpFields = @[DumpFields] ProfileMemory = false OverwriteSlice = true - dbug_flag = 0 + mesh_ice = @[MESHICE] + stop_n = @[FHMAX] + stop_option = nhours + stop_ymd = -999 :: # CMEPS warm run sequence @@ -95,4 +98,6 @@ ALLCOMP_attributes:: restart_n = @[restart_interval_hours] restart_option = nhours restart_ymd = -999 + dbug_flag = 0 + use_coldstart = .true. :: diff --git a/ush/nems.configure.medcold_atm_ocn_ice.IN b/ush/nems.configure.medcold_atm_ocn_ice.IN index e74920d7098..5c9e736c429 100644 --- a/ush/nems.configure.medcold_atm_ocn_ice.IN +++ b/ush/nems.configure.medcold_atm_ocn_ice.IN @@ -42,7 +42,10 @@ ICE_attributes:: DumpFields = @[DumpFields] ProfileMemory = false OverwriteSlice = true - dbug_flag = 0 + mesh_ice = @[MESHICE] + stop_n = @[FHMAX] + stop_option = nhours + stop_ymd = -999 :: # CMEPS cold run sequence @@ -95,4 +98,5 @@ ALLCOMP_attributes:: restart_n = 1 restart_option = nhours restart_ymd = -999 + dbug_flag = 0 :: From 237964a47c65d6b23dc91e46905c61d47e5d45e1 Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Fri, 18 Sep 2020 15:11:42 -0500 Subject: [PATCH 07/16] update README change case name to prototype_5 --- README.md | 4 ++-- ...{coupled_free_forecast_wave_exp1.yaml => prototype_5.yaml} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename workflow/cases/{coupled_free_forecast_wave_exp1.yaml => prototype_5.yaml} (98%) diff --git a/README.md b/README.md index 897622067f1..67c6a9c6f9d 100644 --- a/README.md +++ b/README.md @@ -56,11 +56,11 @@ generate a 3-day run case (test_3d) starting from 2016040100. From the /workflow ``` mkdir -p $EXPROOT (Note that $EXPROOT is the experiment directory that has been set in the user.yaml file.) -./setup_case.sh -p HERA coupled_free_forecast test_3d +./setup_case.sh -p HERA prototype-5 test_3d or -./setup_case.sh -p HERA ../cases/coupled_free_forecast.yaml test_3d +./setup_case.sh -p HERA ../cases/prototype_5.yaml prototype_5_exp For Orion: diff --git a/workflow/cases/coupled_free_forecast_wave_exp1.yaml b/workflow/cases/prototype_5.yaml similarity index 98% rename from workflow/cases/coupled_free_forecast_wave_exp1.yaml rename to workflow/cases/prototype_5.yaml index f65aba89e33..4d4ec3bd342 100644 --- a/workflow/cases/coupled_free_forecast_wave_exp1.yaml +++ b/workflow/cases/prototype_5.yaml @@ -14,7 +14,7 @@ case: nems_temp: 'med_atm_ocn_ice_wav' nems_temp_cold: 'medcold_atm_ocn_ice_wav' mom6ic_prepared: .false. - KEEPDATA: YES + KEEPDATA: NO nsst: NST_MODEL: 0 From 88dc7427197b7f4ac7894387df21fd2245e8a0a0 Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Sat, 19 Sep 2020 11:18:42 -0500 Subject: [PATCH 08/16] further update job scripts for DATADIR handling --- jobs/rocoto/coupled_ic.sh | 3 +++ jobs/rocoto/medcold.sh | 3 +++ jobs/rocoto/ocnpost.sh | 3 +++ jobs/rocoto/waveinit.sh | 3 +++ jobs/rocoto/wavepostsbs.sh | 3 +++ jobs/rocoto/waveprep.sh | 3 +++ 6 files changed, 18 insertions(+) diff --git a/jobs/rocoto/coupled_ic.sh b/jobs/rocoto/coupled_ic.sh index 8e954db8187..f7eb548d9a1 100755 --- a/jobs/rocoto/coupled_ic.sh +++ b/jobs/rocoto/coupled_ic.sh @@ -20,6 +20,9 @@ set -x status=$? [[ $status -ne 0 ]] && exit $status +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + ############################################################### # Source relevant configs configs="base fv3ic wave" diff --git a/jobs/rocoto/medcold.sh b/jobs/rocoto/medcold.sh index a942718c54c..4a1f1e4c92f 100755 --- a/jobs/rocoto/medcold.sh +++ b/jobs/rocoto/medcold.sh @@ -6,6 +6,9 @@ status=$? [[ $status -ne 0 ]] && exit $status +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + ############################################################### # Execute the JJOB $HOMEgfs/jobs/JGLOBAL_FORECAST_MEDCOLD diff --git a/jobs/rocoto/ocnpost.sh b/jobs/rocoto/ocnpost.sh index 183fd252814..d99a6420074 100755 --- a/jobs/rocoto/ocnpost.sh +++ b/jobs/rocoto/ocnpost.sh @@ -40,6 +40,9 @@ export pid=${pid:-$$} export outid=${outid:-"LL$job"} export jobid=${jobid:-"${outid}.o${pid}"} +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + export DATA="$DATAROOT/${job}.${pid}" # DATA dir not used for now. diff --git a/jobs/rocoto/waveinit.sh b/jobs/rocoto/waveinit.sh index 2111727d6ee..132a359f110 100755 --- a/jobs/rocoto/waveinit.sh +++ b/jobs/rocoto/waveinit.sh @@ -7,6 +7,9 @@ echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ===============" status=$? [[ $status -ne 0 ]] && exit $status +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + ############################################################### echo echo "=============== START TO RUN WAVE INIT ===============" diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh index 751bb9e8c48..0e327a204d4 100755 --- a/jobs/rocoto/wavepostsbs.sh +++ b/jobs/rocoto/wavepostsbs.sh @@ -7,6 +7,9 @@ echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ===============" status=$? [[ $status -ne 0 ]] && exit $status +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + ############################################################### echo echo "=============== START TO RUN WAVE POST_SBS ===============" diff --git a/jobs/rocoto/waveprep.sh b/jobs/rocoto/waveprep.sh index faef5533d9b..81cfe7eceab 100755 --- a/jobs/rocoto/waveprep.sh +++ b/jobs/rocoto/waveprep.sh @@ -7,6 +7,9 @@ echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ===============" status=$? [[ $status -ne 0 ]] && exit $status +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT + ############################################################### echo echo "=============== START TO RUN WAVE PREP ===============" From ef3b659d9669029f53296f67b433e38269f470bb Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Sat, 19 Sep 2020 11:55:18 -0500 Subject: [PATCH 09/16] update CICE namelist --- ush/parsing_namelists_CICE.sh | 64 ++++++++++++++++----------------- workflow/cases/prototype_5.yaml | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ush/parsing_namelists_CICE.sh b/ush/parsing_namelists_CICE.sh index 66edff52519..98b8d1ba287 100644 --- a/ush/parsing_namelists_CICE.sh +++ b/ush/parsing_namelists_CICE.sh @@ -375,17 +375,17 @@ cat > ice_in < ice_in < ice_in < ice_in < Date: Sat, 19 Sep 2020 12:28:12 -0500 Subject: [PATCH 10/16] duplicated case file removed --- .../cases/coupled_free_forecast_wave.yaml | 60 ------------------- 1 file changed, 60 deletions(-) delete mode 100644 workflow/cases/coupled_free_forecast_wave.yaml diff --git a/workflow/cases/coupled_free_forecast_wave.yaml b/workflow/cases/coupled_free_forecast_wave.yaml deleted file mode 100644 index da8a054fb18..00000000000 --- a/workflow/cases/coupled_free_forecast_wave.yaml +++ /dev/null @@ -1,60 +0,0 @@ -case: - places: - workflow_file: layout/free_forecast_gfs.yaml - #BASE_CPLIC: /scratch2/NCEPDEV/climate/climpara/S2S/IC - - settings: - SDATE: 2013-04-01t00:00:00 - EDATE: 2013-04-01t00:00:00 - - cplwav: .true. - cplwav2atm: .true. - cplflx: .true. - print_esmf: .true. - nems_temp: 'med_atm_ocn_ice_wav' - nems_temp_cold: 'medcold_atm_ocn_ice_wav' - mom6ic_prepared: .false. - KEEPDATA: YES - - nsst: - NST_MODEL: 0 - - output_settings: - OCN_INTERVAL: 24 - FHOUT_GFS: 6 - FHMIN_GFS: 0 - FHMAX_GFS: 48 - FHMAX_HF_GFS: 0 - FHOUT_HF_GFS: -1 - - fv3_gfs_settings: - CASE: C384 - LEVS: 65 - DELTIM: 450 - SEEDLET: 10 - CCPP_SUITE: FV3_GFS_v15p2_coupled - nst_anl: no - DO_SKEB: false - DO_SHUM: false - DO_SPPT: false - layout: - x: 6 - y: 8 - nth: 2 - WGRP: 1 - WGRP_NTASKS: 24 - WRTIOBUF: "32M" - cdmbgwd: "1.0,1.2" - - ocn_settings: - OCNPETS: 120 - - ice_settings: - ICEPETS: 48 - - wave_settings: - WAVPETS: 40 - - post: - downset: 2 - GOESF: no From 191fd55d6197c6c3b3e91a1480df2bd992bbc185 Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Sat, 19 Sep 2020 14:34:55 -0500 Subject: [PATCH 11/16] update JJOB to address DATA directory issue --- jobs/JGLOBAL_FORECAST | 2 ++ jobs/JGLOBAL_FORECAST_MEDCOLD | 3 +++ jobs/rocoto/fcst.sh | 3 --- jobs/rocoto/medcold.sh | 3 --- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/jobs/JGLOBAL_FORECAST b/jobs/JGLOBAL_FORECAST index e9ad054024c..5c548973864 100755 --- a/jobs/JGLOBAL_FORECAST +++ b/jobs/JGLOBAL_FORECAST @@ -32,6 +32,8 @@ status=$? ############################################## export pid=${pid:-$$} export outid=${outid:-"LL$job"} +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGLOBAL_FORECAST_MEDCOLD b/jobs/JGLOBAL_FORECAST_MEDCOLD index f7b7737d8b9..4a7fc74c527 100755 --- a/jobs/JGLOBAL_FORECAST_MEDCOLD +++ b/jobs/JGLOBAL_FORECAST_MEDCOLD @@ -32,6 +32,9 @@ status=$? ############################################## export pid=${pid:-$$} export outid=${outid:-"LL$job"} + +export DATAROOT="$RUNDIR/$CDATE/$CDUMP" +[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/rocoto/fcst.sh b/jobs/rocoto/fcst.sh index 1fd3cd62c65..9a1d0224308 100755 --- a/jobs/rocoto/fcst.sh +++ b/jobs/rocoto/fcst.sh @@ -6,9 +6,6 @@ status=$? [[ $status -ne 0 ]] && exit $status -export DATAROOT="$RUNDIR/$CDATE/$CDUMP" -[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT - ############################################################### # Execute the JJOB $HOMEgfs/jobs/JGLOBAL_FORECAST diff --git a/jobs/rocoto/medcold.sh b/jobs/rocoto/medcold.sh index 4a1f1e4c92f..a942718c54c 100755 --- a/jobs/rocoto/medcold.sh +++ b/jobs/rocoto/medcold.sh @@ -6,9 +6,6 @@ status=$? [[ $status -ne 0 ]] && exit $status -export DATAROOT="$RUNDIR/$CDATE/$CDUMP" -[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT - ############################################################### # Execute the JJOB $HOMEgfs/jobs/JGLOBAL_FORECAST_MEDCOLD From af0f5288868e09e74e1a709dfc2eedd68349595b Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Sat, 19 Sep 2020 14:35:46 -0500 Subject: [PATCH 12/16] make KEEPDATA=NO for proto-5 run --- workflow/cases/prototype_5.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/cases/prototype_5.yaml b/workflow/cases/prototype_5.yaml index f65aba89e33..4d4ec3bd342 100644 --- a/workflow/cases/prototype_5.yaml +++ b/workflow/cases/prototype_5.yaml @@ -14,7 +14,7 @@ case: nems_temp: 'med_atm_ocn_ice_wav' nems_temp_cold: 'medcold_atm_ocn_ice_wav' mom6ic_prepared: .false. - KEEPDATA: YES + KEEPDATA: NO nsst: NST_MODEL: 0 From 00c57dd156e5848c0537b3c8d3ad1e65080e9081 Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Sat, 19 Sep 2020 17:45:30 -0500 Subject: [PATCH 13/16] bugfix in script, enabling input.nml copy over update config.base for KEEPDATA YES NO issue --- ush/forecast_postdet.sh | 2 +- workflow/config/base.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 0b9284a40d4..d2791d540ec 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -497,7 +497,7 @@ if [ $SEND = "YES" ]; then fi fi -$NCP -p $DATA/input.nml $COMOUT/ +$NCP $DATA/input.nml $ROTDIR/${CDUMP}.${PDY}/${cyc}/ echo "SUB ${FUNCNAME[0]}: Output data for FV3 copied" } diff --git a/workflow/config/base.yaml b/workflow/config/base.yaml index e343079b01c..f4fbaf2a1e8 100644 --- a/workflow/config/base.yaml +++ b/workflow/config/base.yaml @@ -101,7 +101,7 @@ config_base: export NMV="/bin/mv" export NLN="/bin/ln -sf" export VERBOSE="YES" - export KEEPDATA="{doc.settings.KEEPDATA}" + export KEEPDATA="{tools.YES_NO(doc.settings.KEEPDATA)}" export CHGRP_CMD="{doc.platform.CHGRP_RSTPROD_COMMAND}" export NEMSIOGET="$HOMEgfs/exec/nemsio_get" From 71f884613f5be9518cd7ba1bd6d730a7c8001301 Mon Sep 17 00:00:00 2001 From: "Jessica.Meixner" Date: Mon, 21 Sep 2020 14:22:01 +0000 Subject: [PATCH 14/16] updating README and coupled wave test case file --- README.md | 9 +++++++-- ..._wave_test.yaml => coupled_free_forecast_wave.yaml} | 10 +++++----- 2 files changed, 12 insertions(+), 7 deletions(-) rename workflow/cases/{coupled_free_forecast_wave_test.yaml => coupled_free_forecast_wave.yaml} (92%) diff --git a/README.md b/README.md index 67c6a9c6f9d..d06083139e6 100644 --- a/README.md +++ b/README.md @@ -56,12 +56,17 @@ generate a 3-day run case (test_3d) starting from 2016040100. From the /workflow ``` mkdir -p $EXPROOT (Note that $EXPROOT is the experiment directory that has been set in the user.yaml file.) -./setup_case.sh -p HERA prototype-5 test_3d +./setup_case.sh -p HERA $CASE test2d or -./setup_case.sh -p HERA ../cases/prototype_5.yaml prototype_5_exp +./setup_case.sh -p HERA ../cases/$CASE.yaml test2d +where $CASE is one of the following: +- prototype_5: Used for UFS S2S Prototype 5 (Runs 35 day cases with atm-ocn-ice-wav coupling) +- coupled_free_forecast: 2 day tests for atm-ocn-ice coupling +- coupled_free_forecast_wave: 2 day test for atm-ocn-ice-wav coupling (same as p5 except shorter) +- atm_free_forecast: Run the atm only case with same ICs as coupled tests For Orion: First make sure you have python loaded: diff --git a/workflow/cases/coupled_free_forecast_wave_test.yaml b/workflow/cases/coupled_free_forecast_wave.yaml similarity index 92% rename from workflow/cases/coupled_free_forecast_wave_test.yaml rename to workflow/cases/coupled_free_forecast_wave.yaml index da8a054fb18..32a81385be0 100644 --- a/workflow/cases/coupled_free_forecast_wave_test.yaml +++ b/workflow/cases/coupled_free_forecast_wave.yaml @@ -14,7 +14,7 @@ case: nems_temp: 'med_atm_ocn_ice_wav' nems_temp_cold: 'medcold_atm_ocn_ice_wav' mom6ic_prepared: .false. - KEEPDATA: YES + KEEPDATA: NO nsst: NST_MODEL: 0 @@ -39,21 +39,21 @@ case: DO_SPPT: false layout: x: 6 - y: 8 - nth: 2 + y: 12 + nth: 1 WGRP: 1 WGRP_NTASKS: 24 WRTIOBUF: "32M" cdmbgwd: "1.0,1.2" ocn_settings: - OCNPETS: 120 + OCNPETS: 240 ice_settings: ICEPETS: 48 wave_settings: - WAVPETS: 40 + WAVPETS: 136 post: downset: 2 From fab2060b2061d354f46a5e8e0ac963c87bc1e009 Mon Sep 17 00:00:00 2001 From: JessicaMeixner-NOAA Date: Mon, 21 Sep 2020 16:17:48 -0500 Subject: [PATCH 15/16] updating no waves case to use less nodes --- workflow/cases/coupled_free_forecast.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workflow/cases/coupled_free_forecast.yaml b/workflow/cases/coupled_free_forecast.yaml index 16cbcca2958..2025df90b32 100644 --- a/workflow/cases/coupled_free_forecast.yaml +++ b/workflow/cases/coupled_free_forecast.yaml @@ -38,15 +38,15 @@ case: DO_SPPT: false layout: x: 6 - y: 8 - nth: 2 + y: 12 + nth: 1 WGRP: 1 WGRP_NTASKS: 24 WRTIOBUF: "32M" cdmbgwd: "1.0,1.2" ocn_settings: - OCNPETS: 120 + OCNPETS: 240 ice_settings: ICEPETS: 48 From a2a437ba7672095f5c05a908658fdfb941ef90fb Mon Sep 17 00:00:00 2001 From: "jian.kuang" Date: Mon, 21 Sep 2020 21:22:52 -0500 Subject: [PATCH 16/16] fix a bug causing WAVEPETS=24 even when cplwav is off. --- workflow/defaults/wave.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/defaults/wave.yaml b/workflow/defaults/wave.yaml index 063276cfa6b..f95b91ec924 100644 --- a/workflow/defaults/wave.yaml +++ b/workflow/defaults/wave.yaml @@ -2,7 +2,7 @@ wave_defaults: &wave_defaults MOD: ww3 CPL_WAVIC: CFSR WAVPETS: !FirstTrue - - when: !calc doc.settings.cplwav + - when: !calc doc.settings.cplwav==".true." do: 24 - otherwise: 0 COMPONENTRSTwave: gdaswave