From 961288a222700250af102dbecd6033dcb36e8e22 Mon Sep 17 00:00:00 2001 From: "Ming.Hu" Date: Thu, 29 Jun 2023 05:22:59 +0000 Subject: [PATCH] 1) Update the workflow template to generate the right time string for the first model forecast output file, which is named based on the time step when write out 15 min output. 2) Keep 1-h as the average period for 15 minute output. 3) Continue adding setups for parallel cloud analysis --- ush/config.sh.rrfs_b_c3 | 18 +++++++++--------- ush/generate_FV3LAM_wflow.sh | 4 ++-- ush/set_rrfs_config_general.sh | 10 ++++++---- ush/templates/FV3LAM_wflow.xml | 30 ++++++++++++++---------------- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/ush/config.sh.rrfs_b_c3 b/ush/config.sh.rrfs_b_c3 index b0359863b..a61f1d9ca 100644 --- a/ush/config.sh.rrfs_b_c3 +++ b/ush/config.sh.rrfs_b_c3 @@ -1,5 +1,5 @@ MACHINE="jet" -version="v0.4.0" +version="v0.5.2" ACCOUNT="nrtrr" RESERVATION="rrfsdet" EXPT_BASEDIR="/home/role.rtrr/RRFS/rrfs.${version}" @@ -40,12 +40,12 @@ BOUNDARY_PROC_GROUP_NUM="12" # avaialble retro period: # 20210511-20210531; 20210718-20210801 -DATE_FIRST_CYCL="20230401" -DATE_LAST_CYCL="20230430" +DATE_FIRST_CYCL="20230601" +DATE_LAST_CYCL="20230730" CYCL_HRS=( "00" "12" ) CYCL_HRS_SPINSTART=("03" "15") CYCL_HRS_PRODSTART=("09" "21") -CYCLEMONTH="04" +CYCLEMONTH="06,07" CYCLEDAY="*" STARTYEAR=${DATE_FIRST_CYCL:0:4} @@ -80,10 +80,10 @@ POSTPROC_LEN_HRS="3" POSTPROC_LONG_LEN_HRS="24" NFHOUT_HF="1" # 15 min output upto 18 hours -#NFHMAX_HF="2" -#NFHOUT="1" -#NSOUT_MIN="15" -#OUTPUT_FH="0.0 0.25 0.50 0.75 1.0 1.25 1.50 1.75 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0" +NFHMAX_HF="12" +NFHOUT="1" +NSOUT_MIN="15" +OUTPUT_FH="0.0 0.25 0.50 0.75 1.0 1.25 1.50 1.75 2.0 2.25 2.50 2.75 3.0 3.25 3.50 3.75 4.0 4.25 4.50 4.75 5.0 5.25 5.50 5.75 6.0 6.25 6.50 5.75 7.0 7.25 7.50 7.75 8.0 8.25 8.50 8.75 9.0 9.25 9.50 9.75 10.0 10.25 10.50 10.75 11.0 11.25 11.50 11.75 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0" USE_RRFSE_ENS="FALSE" CYCL_HRS_HYB_FV3LAM_ENS=("00" "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23") @@ -102,7 +102,7 @@ EXTRN_MDL_NAME_LBCS="FV3GFS" envir="para" NET="RRFS_CONUS" -TAG="c3v40" +TAG="c3v52" ARCHIVEDIR="/1year/BMC/wrfruc/rrfs_b" NCL_REGION="conus" diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index a8858f0bc..55b597330 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -892,8 +892,8 @@ fi avg_max_length="3600.0" fhzero="1.0" if [ "${NSOUT_MIN}" = "15" ]; then - avg_max_length="900.0" - fhzero="0.25" + avg_max_length="3600.0" + fhzero="1.0" fi # # Create a multiline variable that consists of a yaml-compliant string diff --git a/ush/set_rrfs_config_general.sh b/ush/set_rrfs_config_general.sh index ec938c08b..3a7f5789a 100644 --- a/ush/set_rrfs_config_general.sh +++ b/ush/set_rrfs_config_general.sh @@ -84,7 +84,8 @@ NCORES_RUN_OBSERVER=80 HYBENSMEM_NMIN=66 IO_LAYOUT_Y=1 PPN_RUN_REF2TTEN=1 -PPN_RUN_NONVARCLDANL=${IO_LAYOUT_Y} +PPN_RUN_NONVARCLDANL="6" +NNODES_RUN_NONVARCLDANL="20" MAXTRIES_GET_EXTRN_ICS="2" MAXTRIES_GET_EXTRN_LBCS="2" MAXTRIES_MAKE_ICS="2" @@ -136,9 +137,9 @@ if [[ ${PREDEF_GRID_NAME} == "RRFS_CONUS_3km" ]] ; then LAYOUT_X=15 LAYOUT_Y=40 NCORES_RUN_ANAL=200 + PPN_RUN_NONVARCLDANL="10" + NNODES_RUN_NONVARCLDANL="12" fi - PPN_RUN_NONVARCLDANL="6" - NNODES_RUN_NONVARCLDANL="20" fi if [[ $MACHINE == "hera" ]] ; then @@ -373,7 +374,8 @@ if [[ ${PREDEF_GRID_NAME} == "RRFS_NA_3km" ]] ; then LAYOUT_X=50 LAYOUT_Y=20 IO_LAYOUT_Y=10 - PPN_RUN_NONVARCLDANL=${IO_LAYOUT_Y} + PPN_RUN_NONVARCLDANL="10" + NNODES_RUN_NONVARCLDANL="20" NATIVE_RUN_FCST="--cpus-per-task 4 --exclusive" NATIVE_RUN_ANAL="--cpus-per-task 4 --exclusive" diff --git a/ush/templates/FV3LAM_wflow.xml b/ush/templates/FV3LAM_wflow.xml index 5bb681cf4..476bdda94 100644 --- a/ush/templates/FV3LAM_wflow.xml +++ b/ush/templates/FV3LAM_wflow.xml @@ -1588,7 +1588,6 @@ MODULES_RUN_TASK_FP script. &WALLTIME_NONVAR_CLD; &NATIVE_ALL; &NODESIZE_ALL; - &MEMO_NONVAR_CLD; &TAG;_&CLDANL_NONVAR_TN;_spinup{{ uscore_ensmem_name }} &LOGDIR;/&CLDANL_NONVAR_TN;_spinup_&TAG;{{ uscore_ensmem_name }}_@Y@m@d@H.log @@ -2444,7 +2443,6 @@ MODULES_RUN_TASK_FP script. &WALLTIME_NONVAR_CLD; &NATIVE_ALL; &NODESIZE_ALL; - &MEMO_NONVAR_CLD; &TAG;_&CLDANL_NONVAR_TN;_prod{{ uscore_ensmem_name }} &LOGDIR;/&CLDANL_NONVAR_TN;_prod_&TAG;{{ uscore_ensmem_name }}_@Y@m@d@H.log @@ -2883,10 +2881,10 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} {%- if postproc_nfhmax_hrs < postproc_len_hrs %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- for h in range(postproc_nfhmax_hrs, postproc_len_hrs+1, postproc_nfhout_hrs) %}{{ " %03d-00-00 " % h }}{% endfor %} {%- else %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- endif %} {%- else %} {%- if postproc_nfhmax_hrs < postproc_len_hrs %} @@ -2930,10 +2928,10 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} {%- if postproc_nfhmax_hrs < postproc_long_len_hrs %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- for h in range(postproc_nfhmax_hrs, postproc_long_len_hrs+1, postproc_nfhout_hrs) %}{{ " %03d-00-00 " % h }}{% endfor %} {%- else %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_long_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_long_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- endif %} {%- else %} {%- if postproc_nfhmax_hrs < postproc_long_len_hrs %} @@ -2980,10 +2978,10 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} {%- if postproc_nfhmax_hrs < postproc_len_hrs %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- for h in range(postproc_nfhmax_hrs, postproc_len_hrs+1, postproc_nfhout_hrs) %}{{ " %03d-00-00 " % h }}{% endfor %} {%- else %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- endif %} {%- else %} {%- if postproc_nfhmax_hrs < postproc_len_hrs %} @@ -3027,10 +3025,10 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} {%- if postproc_nfhmax_hrs < postproc_long_len_hrs %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_nfhmax_hrs*60, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- for h in range(postproc_nfhmax_hrs, postproc_long_len_hrs+1, postproc_nfhout_hrs) %}{{ " %03d-00-00 " % h }}{% endfor %} {%- else %} - 000-01-00 {% for h in range(postproc_nsout_min, postproc_long_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} + {{ "000-%02d-%02d" % ( dt_atmos//60,dt_atmos%60 ) }} {% for h in range(postproc_nsout_min, postproc_long_len_hrs*60+1, postproc_nsout_min) %}{{ " %03d-%02d-00 " % ( h//60,h-(h//60)*60 ) }}{% endfor %} {%- endif %} {%- else %} {%- if postproc_nfhmax_hrs < postproc_long_len_hrs %} @@ -3137,8 +3135,8 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} - - + + {%- else %} @@ -3173,8 +3171,8 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} - - + + {%- else %} @@ -3270,7 +3268,7 @@ MODULES_RUN_TASK_FP script. {%- if postproc_nsout_min > 0 %} - + {%- else %} {%- endif %} @@ -3358,7 +3356,7 @@ MODULES_RUN_TASK_FP script. &ENSCTRL_COMOUT_DIR;/@H/&NET;.t@Hz.bgdawpf000.tm00.grib2 {%- if postproc_nsout_min > 0 %} {%- for m in range(1, 10) %} - + {%- endfor %} {%- else %} {%- for m in range(1, 10) %}