From 795adf9d0242635a7f663176727bed40b96629ac Mon Sep 17 00:00:00 2001 From: "Daniel.Abdi" Date: Tue, 4 Oct 2022 10:53:31 -0400 Subject: [PATCH 1/5] Fix @ issue on LOGDIR. --- parm/FV3LAM_wflow.xml | 172 ++++++++++++++++----------------- tests/WE2E/get_expts_status.sh | 1 + 2 files changed, 87 insertions(+), 86 deletions(-) diff --git a/parm/FV3LAM_wflow.xml b/parm/FV3LAM_wflow.xml index 14ca173a03..d0a5b85814 100644 --- a/parm/FV3LAM_wflow.xml +++ b/parm/FV3LAM_wflow.xml @@ -103,7 +103,7 @@ Directories and files. {%- endif %} {%- if run_envir == "nco" %} - +@Y@m@d"> {%- else %} @@ -158,9 +158,9 @@ tasks; and the "FCST" type is used for the RUN_FCST_TN task. {%- if run_envir == "nco" %} - &LOGDIR;/FV3LAM_wflow_{{ workflow_id }}.log + &LOGDIR;/FV3LAM_wflow_{{ workflow_id }}.log {%- else %} - &LOGDIR;/FV3LAM_wflow.log + &LOGDIR;/FV3LAM_wflow.log {%- endif %} @@ -207,13 +207,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &MAKE_GRID_TN; - &LOGDIR;/&MAKE_GRID_TN;&LOGEXT; + &LOGDIR;/&MAKE_GRID_TN;&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; {%- endif %} @@ -233,13 +233,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &MAKE_OROG_TN; - &LOGDIR;/&MAKE_OROG_TN;&LOGEXT; + &LOGDIR;/&MAKE_OROG_TN;&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; @@ -267,13 +267,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &MAKE_SFC_CLIMO_TN; - &LOGDIR;/&MAKE_SFC_CLIMO_TN;&LOGEXT; + &LOGDIR;/&MAKE_SFC_CLIMO_TN;&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; @@ -308,13 +308,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &GET_EXTRN_ICS_TN; - &LOGDIR;/&GET_EXTRN_ICS_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&GET_EXTRN_ICS_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; ICS_OR_LBCSICS @@ -335,13 +335,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &GET_EXTRN_LBCS_TN; - &LOGDIR;/&GET_EXTRN_LBCS_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&GET_EXTRN_LBCS_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; ICS_OR_LBCSLBCS @@ -372,13 +372,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &MAKE_ICS_TN;{{ uscore_ensmem_name }} - &LOGDIR;/&MAKE_ICS_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&MAKE_ICS_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# @@ -421,13 +421,13 @@ MODULES_RUN_TASK_FP script. &SLURM_NATIVE_CMD; {%- endif %} &MAKE_LBCS_TN;{{ uscore_ensmem_name }} - &LOGDIR;/&MAKE_LBCS_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&MAKE_LBCS_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# @@ -475,13 +475,13 @@ MODULES_RUN_TASK_FP script. {%- endif %} {{ wtime_run_fcst }} &RUN_FCST_TN;{{ uscore_ensmem_name }} - &LOGDIR;/&RUN_FCST_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&RUN_FCST_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} ENSMEM_INDX#{{ ensmem_indx_name }}# @@ -529,13 +529,13 @@ later below for other output times. &SLURM_NATIVE_CMD; {%- endif %} &RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn# - &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; + &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; fhr#fhr# fmn#fmn# SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} @@ -587,13 +587,13 @@ for other output times. &SLURM_NATIVE_CMD; {%- endif %} &RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn# - &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; + &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; fhr#fhr# fmn#fmn# SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} @@ -651,17 +651,17 @@ always zero). {%- endif %} {%- if sub_hourly_post %} &RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn# - &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; + &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; {%- else %} &RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr# - &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr#_@Y@m@d@H&LOGEXT; + &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr#_@Y@m@d@H&LOGEXT; {%- endif %} GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; {%- if sub_hourly_post %} fhr#fhr# fmn#fmn# @@ -722,13 +722,13 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn# - &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; + &LOGDIR;/&RUN_POST_TN;{{ uscore_ensmem_name }}_f#fhr##fmn#_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; fhr#fhr# fmn#fmn# SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} @@ -766,14 +766,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &GET_OBS_CCPA_TN; - &LOGDIR;/&GET_OBS_CCPA_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&GET_OBS_CCPA_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} ACCUM01 @@ -796,14 +796,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &GET_OBS_MRMS_TN; - &LOGDIR;/&GET_OBS_MRMS_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&GET_OBS_MRMS_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} SCRIPTSdir&SCRIPTSdir; VARREFC RETOP @@ -827,14 +827,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &GET_OBS_NDAS_TN; - &LOGDIR;/&GET_OBS_NDAS_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&GET_OBS_NDAS_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&NDAS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} @@ -856,14 +856,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_GRIDSTAT_TN; - &LOGDIR;/&VX_GRIDSTAT_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_GRIDSTAT_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM01 @@ -910,14 +910,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_GRIDSTAT_REFC_TN; - &LOGDIR;/&VX_GRIDSTAT_REFC_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_GRIDSTAT_REFC_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARREFC {%- if do_ensemble %} @@ -963,14 +963,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_GRIDSTAT_RETOP_TN; - &LOGDIR;/&VX_GRIDSTAT_RETOP_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_GRIDSTAT_RETOP_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARRETOP {%- if do_ensemble %} @@ -1016,14 +1016,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_GRIDSTAT_03h_TN; - &LOGDIR;/&VX_GRIDSTAT_03h_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_GRIDSTAT_03h_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM03 @@ -1055,14 +1055,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_GRIDSTAT_06h_TN; - &LOGDIR;/&VX_GRIDSTAT_06h_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_GRIDSTAT_06h_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM06 @@ -1094,14 +1094,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_GRIDSTAT_24h_TN; - &LOGDIR;/&VX_GRIDSTAT_24h_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_GRIDSTAT_24h_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM24 @@ -1133,14 +1133,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_POINTSTAT_TN; - &LOGDIR;/&VX_POINTSTAT_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_POINTSTAT_TN;{{ uscore_ensmem_name }}_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&NDAS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} {%- if do_ensemble %} SLASH_ENSMEM_SUBDIR{{ slash_ensmem_subdir }} @@ -1189,14 +1189,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_TN; - &LOGDIR;/&VX_ENSGRID_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM01 @@ -1224,14 +1224,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_03h_TN; - &LOGDIR;/&VX_ENSGRID_03h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_03h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM03 @@ -1259,14 +1259,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_06h_TN; - &LOGDIR;/&VX_ENSGRID_06h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_06h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM06 @@ -1294,14 +1294,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_24h_TN; - &LOGDIR;/&VX_ENSGRID_24h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_24h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM24 @@ -1328,14 +1328,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_REFC_TN; - &LOGDIR;/&VX_ENSGRID_REFC_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_REFC_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARREFC @@ -1361,14 +1361,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_RETOP_TN; - &LOGDIR;/&VX_ENSGRID_RETOP_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_RETOP_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARRETOP @@ -1393,14 +1393,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_MEAN_TN; - &LOGDIR;/&VX_ENSGRID_MEAN_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_MEAN_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM01 @@ -1427,14 +1427,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_PROB_TN; - &LOGDIR;/&VX_ENSGRID_PROB_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_PROB_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM01 @@ -1461,14 +1461,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_MEAN_03h_TN; - &LOGDIR;/&VX_ENSGRID_MEAN_03h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_MEAN_03h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM03 @@ -1495,14 +1495,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_PROB_03h_TN; - &LOGDIR;/&VX_ENSGRID_PROB_03h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_PROB_03h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(3, fcst_len_hrs+1, 3) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM03 @@ -1530,14 +1530,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_MEAN_06h_TN; - &LOGDIR;/&VX_ENSGRID_MEAN_06h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_MEAN_06h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM06 @@ -1564,14 +1564,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_PROB_06h_TN; - &LOGDIR;/&VX_ENSGRID_PROB_06h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_PROB_06h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(6, fcst_len_hrs+1, 6) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM06 @@ -1599,14 +1599,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_MEAN_24h_TN; - &LOGDIR;/&VX_ENSGRID_MEAN_24h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_MEAN_24h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM24 @@ -1633,14 +1633,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_PROB_24h_TN; - &LOGDIR;/&VX_ENSGRID_PROB_24h_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_PROB_24h_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&CCPA_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(24, fcst_len_hrs+1, 24) %}{{ " %02d" % h }}{% endfor %} VARAPCP ACCUM24 @@ -1667,14 +1667,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_PROB_REFC_TN; - &LOGDIR;/&VX_ENSGRID_PROB_REFC_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_PROB_REFC_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARREFC @@ -1700,14 +1700,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSGRID_PROB_RETOP_TN; - &LOGDIR;/&VX_ENSGRID_PROB_RETOP_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSGRID_PROB_RETOP_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&MRMS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(1, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} VARRETOP @@ -1734,14 +1734,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSPOINT_TN; - &LOGDIR;/&VX_ENSPOINT_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSPOINT_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&NDAS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} @@ -1765,14 +1765,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSPOINT_MEAN_TN; - &LOGDIR;/&VX_ENSPOINT_MEAN_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSPOINT_MEAN_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&NDAS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} @@ -1796,14 +1796,14 @@ the tag to be identical to the ones above for other output times. &SLURM_NATIVE_CMD; {%- endif %} &VX_ENSPOINT_PROB_TN; - &LOGDIR;/&VX_ENSPOINT_PROB_TN;_@Y@m@d@H&LOGEXT; + &LOGDIR;/&VX_ENSPOINT_PROB_TN;_@Y@m@d@H&LOGEXT; GLOBAL_VAR_DEFNS_FP&GLOBAL_VAR_DEFNS_FP; OBS_DIR&NDAS_OBS_DIR; PDY@Y@m@d cyc@H subcyc@M - LOGDIR&LOGDIR; + LOGDIR&LOGDIR; FHR {% for h in range(0, fcst_len_hrs+1) %}{{ " %02d" % h }}{% endfor %} diff --git a/tests/WE2E/get_expts_status.sh b/tests/WE2E/get_expts_status.sh index f9431bc529..3a05ef4093 100755 --- a/tests/WE2E/get_expts_status.sh +++ b/tests/WE2E/get_expts_status.sh @@ -67,6 +67,7 @@ USHdir="$HOMEdir/ush" #----------------------------------------------------------------------- # . $USHdir/source_util_funcs.sh +source_config $USHdir/constants.yaml # #----------------------------------------------------------------------- # From 7197db9fe40ecce71140f669f956f5fa7c347bd6 Mon Sep 17 00:00:00 2001 From: Daniel Abdi Date: Tue, 4 Oct 2022 22:01:34 +0000 Subject: [PATCH 2/5] Get rid of RUN_CMD_* specification in deactivate_tasks. --- .../test_configs/wflow_features/config.deactivate_tasks.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/WE2E/test_configs/wflow_features/config.deactivate_tasks.yaml b/tests/WE2E/test_configs/wflow_features/config.deactivate_tasks.yaml index a042538861..d2455a1c08 100644 --- a/tests/WE2E/test_configs/wflow_features/config.deactivate_tasks.yaml +++ b/tests/WE2E/test_configs/wflow_features/config.deactivate_tasks.yaml @@ -18,10 +18,6 @@ metadata: three tasks. user: RUN_ENVIR: community -platform: - RUN_CMD_UTILS: cd $yyyymmdd - RUN_CMD_FCST: mpirun -np ${PE_MEMBER01} - RUN_CMD_POST: echo hello $yyyymmdd workflow: CCPP_PHYS_SUITE: FV3_GFS_v15p2 DATE_FIRST_CYCL: '20190701' From fd263c349b8e220a34f97f67efaeea6e20e7a7af Mon Sep 17 00:00:00 2001 From: Daniel Abdi Date: Tue, 4 Oct 2022 23:58:25 +0000 Subject: [PATCH 3/5] Add TEST_ALT_* directories to all machines. --- ush/machine/cheyenne.yaml | 2 ++ ush/machine/gaea.yaml | 4 ++-- ush/machine/hera.yaml | 2 ++ ush/machine/jet.yaml | 2 ++ ush/machine/noaacloud.yaml | 3 +++ ush/machine/odin.yaml | 2 ++ ush/machine/stampede.yaml | 2 ++ 7 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ush/machine/cheyenne.yaml b/ush/machine/cheyenne.yaml index cda2924460..184a5f64c9 100644 --- a/ush/machine/cheyenne.yaml +++ b/ush/machine/cheyenne.yaml @@ -21,6 +21,8 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' TEST_EXTRN_MDL_SOURCE_BASEDIR: /glade/p/ral/jntp/UFS_SRW_App/develop/input_model_data TEST_PREGEN_BASEDIR: /glade/p/ral/jntp/UFS_SRW_App/develop/FV3LAM_pregen + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /glade/p/ral/jntp/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /glade/p/ral/jntp/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir task_run_fcst: FIXaer: /glade/p/ral/jntp/UFS_SRW_App/develop/fix/fix_aer FIXgsm: /glade/p/ral/jntp/UFS_SRW_App/develop/fix/fix_am diff --git a/ush/machine/gaea.yaml b/ush/machine/gaea.yaml index b3a69887ae..f6a3c28d2d 100644 --- a/ush/machine/gaea.yaml +++ b/ush/machine/gaea.yaml @@ -21,8 +21,8 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' TEST_EXTRN_MDL_SOURCE_BASEDIR: /lustre/f2/pdata/ncep_shared/UFS_SRW_App/develop/input_model_data TEST_PREGEN_BASEDIR: /lustre/f2/pdata/ncep_shared/UFS_SRW_App/develop/FV3LAM_pregen -task_make_lbcs: - WTIME_MAKE_LBCS: 00:60:00 + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /lustre/f2/pdata/ncep_shared/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /lustre/f2/pdata/ncep_shared/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir task_run_fcst: FIXaer: /lustre/f2/pdata/ncep_shared/UFS_SRW_App/develop/fix/fix_aer FIXgsm: /lustre/f2/pdata/ncep_shared/UFS_SRW_App/develop/fix/fix_am diff --git a/ush/machine/hera.yaml b/ush/machine/hera.yaml index 33a681ba6a..cb17092f7f 100644 --- a/ush/machine/hera.yaml +++ b/ush/machine/hera.yaml @@ -24,6 +24,8 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' TEST_EXTRN_MDL_SOURCE_BASEDIR: /scratch2/BMC/det/UFS_SRW_App/develop/input_model_data TEST_PREGEN_BASEDIR: /scratch2/BMC/det/UFS_SRW_App/develop/FV3LAM_pregen + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /scratch2/BMC/det/UFS_SRW_app/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /scratch2/BMC/det/UFS_SRW_app/develop/dummy_FV3GFS_sys_dir task_get_extrn_ics: EXTRN_MDL_DATA_STORES: hpss aws nomads task_get_extrn_lbcs: diff --git a/ush/machine/jet.yaml b/ush/machine/jet.yaml index d5176843d7..c9ac57fac4 100644 --- a/ush/machine/jet.yaml +++ b/ush/machine/jet.yaml @@ -24,6 +24,8 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' TEST_EXTRN_MDL_SOURCE_BASEDIR: /mnt/lfs4/BMC/wrfruc/UFS_SRW_App/develop/input_model_data TEST_PREGEN_BASEDIR: /mnt/lfs4/BMC/wrfruc/UFS_SRW_App/develop/FV3LAM_pregen + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /mnt/lfs4/BMC/wrfruc/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /mnt/lfs4/BMC/wrfruc/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir task_get_extrn_ics: EXTRN_MDL_DATA_STORES: hpss aws nomads task_get_extrn_lbcs: diff --git a/ush/machine/noaacloud.yaml b/ush/machine/noaacloud.yaml index 019f58426b..306cf7adc0 100644 --- a/ush/machine/noaacloud.yaml +++ b/ush/machine/noaacloud.yaml @@ -17,6 +17,9 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' BUILD_MOD_FN: wflow_noaacloud TEST_EXTRN_MDL_SOURCE_BASEDIR: /contrib/EPIC/UFS_SRW_App/develop/input_model_data + TEST_PREGEN_BASEDIR: /contrib/EPIC/UFS_SRW_App/develop/FV3LAM_pregen + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /contrib/EPIC/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /contrib/EPIC/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir task_get_extrn_ics: EXTRN_MDL_DATA_STORES: aws nomads task_get_extrn_lbcs: diff --git a/ush/machine/odin.yaml b/ush/machine/odin.yaml index f3809a950f..6547be3fb0 100644 --- a/ush/machine/odin.yaml +++ b/ush/machine/odin.yaml @@ -17,6 +17,8 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' TEST_EXTRN_MDL_SOURCE_BASEDIR: /scratch/ywang/UFS_SRW_App/develop/input_model_data TEST_PREGEN_BASEDIR: /scratch/ywang/UFS_SRW_App/develop/FV3LAM_pregen + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /scratch/ywang/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /scratch/ywang/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir task_run_fcst: FIXaer: /scratch/ywang/UFS_SRW_App/develop/fix/fix_aer FIXgsm: /scratch/ywang/UFS_SRW_App/develop/fix/fix_am diff --git a/ush/machine/stampede.yaml b/ush/machine/stampede.yaml index d0a3f55ba8..42d31ffc73 100644 --- a/ush/machine/stampede.yaml +++ b/ush/machine/stampede.yaml @@ -17,6 +17,8 @@ platform: PRE_TASK_CMDS: '{ ulimit -s unlimited; ulimit -a; }' TEST_EXTRN_MDL_SOURCE_BASEDIR: /work2/00315/tg455890/stampede2/UFS_SRW_App/develop/input_model_data TEST_PREGEN_BASEDIR: /work2/00315/tg455890/stampede2/UFS_SRW_App/develop/FV3LAM_pregen + TEST_ALT_EXTRN_MDL_SYSBASEDIR_ICS: /work2/00315/tg455890/stampede2/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir + TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /work2/00315/tg455890/stampede2/UFS_SRW_App/develop/dummy_FV3GFS_sys_dir task_run_fcst: FIXaer: /work2/00315/tg455890/stampede2/UFS_SRW_App/develop/fix/fix_aer FIXgsm: /work2/00315/tg455890/stampede2/UFS_SRW_App/develop/fix/fix_am From 8272663eea8bc16f3915c7607defd5160cdefab2 Mon Sep 17 00:00:00 2001 From: Daniel Abdi Date: Tue, 4 Oct 2022 23:21:30 +0000 Subject: [PATCH 4/5] Enforce config sourcing order in setup. --- ush/setup.py | 61 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/ush/setup.py b/ush/setup.py index c2a2cc8446..5ce1dff24a 100644 --- a/ush/setup.py +++ b/ush/setup.py @@ -73,19 +73,21 @@ def setup(): # # ----------------------------------------------------------------------- # + # Step-1 of config + # ================ # Set the name of the configuration file containing default values for - # the experiment/workflow variables. Then source the file. + # the experiment/workflow variables. Then import the content. # # ----------------------------------------------------------------------- # EXPT_DEFAULT_CONFIG_FN = "config_defaults.yaml" cfg_d = load_config_file(os.path.join(USHdir, EXPT_DEFAULT_CONFIG_FN)) - import_vars(dictionary=flatten_dict(cfg_d)) + EXPT_CONFIG_FN = cfg_d["workflow"]["EXPT_CONFIG_FN"] # # ----------------------------------------------------------------------- # - # If a user-specified configuration file exists, source it. This file + # Load the user config file but don't source it yet. This file # contains user-specified values for a subset of the experiment/workflow # variables that override their default values. Note that the user- # specified configuration file is not tracked by the repository, whereas @@ -94,28 +96,28 @@ def setup(): # ----------------------------------------------------------------------- # if os.path.exists(EXPT_CONFIG_FN): - # - # We require that the variables being set in the user-specified configu- - # ration file have counterparts in the default configuration file. This - # is so that we do not introduce new variables in the user-specified - # configuration file without also officially introducing them in the de- - # fault configuration file. Thus, before sourcing the user-specified - # configuration file, we check that all variables in the user-specified - # configuration file are also assigned default values in the default - # configuration file. - # cfg_u = load_config_file(os.path.join(USHdir, EXPT_CONFIG_FN)) cfg_u = flatten_dict(cfg_u) - import_vars(dictionary=cfg_u) - update_dict(cfg_u, cfg_d) + import_vars(dictionary=cfg_u, + env_vars=["MACHINE", + "EXTRN_MDL_NAME_ICS", "EXTRN_MDL_NAME_LBCS", + "FV3GFS_FILE_FMT_ICS", "FV3GFS_FILE_FMT_LBCS"]) + else: + print_err_msg_exit( + f''' + User config file not found + EXPT_CONFIG_FN = \"{EXPT_CONFIG_FN}\"''' + ) # # ----------------------------------------------------------------------- # - # Source machine specific file + # Step-2 of config + # ================ + # Source machine specific config file to set default values # # ----------------------------------------------------------------------- # - global MACHINE + global MACHINE, EXTRN_MDL_SYSBASEDIR_ICS, EXTRN_MDL_SYSBASEDIR_LBCS MACHINE_FILE = os.path.join(USHdir, "machine", f"{lowercase(MACHINE)}.yaml") machine_cfg = load_config_file(MACHINE_FILE) @@ -130,11 +132,8 @@ def get_location(xcs,fmt): else: return "" - global EXTRN_MDL_SYSBASEDIR_ICS, EXTRN_MDL_SYSBASEDIR_LBCS - EXTRN_MDL_SYSBASEDIR_ICS = EXTRN_MDL_SYSBASEDIR_ICS or \ - get_location(EXTRN_MDL_NAME_ICS, FV3GFS_FILE_FMT_ICS) - EXTRN_MDL_SYSBASEDIR_LBCS = EXTRN_MDL_SYSBASEDIR_LBCS or \ - get_location(EXTRN_MDL_NAME_LBCS, FV3GFS_FILE_FMT_LBCS) + EXTRN_MDL_SYSBASEDIR_ICS = get_location(EXTRN_MDL_NAME_ICS, FV3GFS_FILE_FMT_ICS) + EXTRN_MDL_SYSBASEDIR_LBCS = get_location(EXTRN_MDL_NAME_LBCS, FV3GFS_FILE_FMT_LBCS) # remove the data key and provide machine specific default values for cfg_d if "data" in machine_cfg: @@ -144,10 +143,24 @@ def get_location(xcs,fmt): "EXTRN_MDL_SYSBASEDIR_LBCS": EXTRN_MDL_SYSBASEDIR_LBCS, }) machine_cfg = flatten_dict(machine_cfg) - update_dict(machine_cfg, cfg_d, True) + update_dict(machine_cfg, cfg_d) - # import cfg_d again + # + # ----------------------------------------------------------------------- + # + # Step-3 of config + # ================ + # Source user config. This overrides previous two configs + # + # ----------------------------------------------------------------------- + # + update_dict(cfg_u, cfg_d) + + # Now that all 3 config files have their contribution in cfg_d + # import its content to python globals() import_vars(dictionary=flatten_dict(cfg_d)) + + # make machine name uppercase MACHINE = uppercase(MACHINE) # From d4ba43ab2ecc18655ac46e85e5eb38b4d08bb103 Mon Sep 17 00:00:00 2001 From: Daniel Abdi Date: Wed, 5 Oct 2022 03:43:03 +0000 Subject: [PATCH 5/5] Also fix DYN/PHY dir @ situation. --- parm/FV3LAM_wflow.xml | 28 ++++++++++++++-------------- ush/setup.py | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/parm/FV3LAM_wflow.xml b/parm/FV3LAM_wflow.xml index d0a5b85814..fa3100231c 100644 --- a/parm/FV3LAM_wflow.xml +++ b/parm/FV3LAM_wflow.xml @@ -95,11 +95,11 @@ Directories and files. {%- if run_envir == "nco" %} - - +{{ run }}.@Y@m@d/{{ net }}.t@Hz.{{ ensmem_indx_name }}#{{ ensmem_indx_name }}#.dyn"> +{{ run }}.@Y@m@d/{{ net }}.t@Hz.{{ ensmem_indx_name }}#{{ ensmem_indx_name }}#.phy"> {%- else %} - - +@Y@m@d@H{{ slash_ensmem_subdir }}/dyn"> +@Y@m@d@H{{ slash_ensmem_subdir }}/phy"> {%- endif %} {%- if run_envir == "nco" %} @@ -551,8 +551,8 @@ names in the dependencies. - &DYN_DIR;f{{ first_fv3_file_tstr }}.nc - &PHY_DIR;f{{ first_fv3_file_tstr }}.nc + &DYN_DIR;f{{ first_fv3_file_tstr }}.nc + &PHY_DIR;f{{ first_fv3_file_tstr }}.nc @@ -603,8 +603,8 @@ for other output times. - &DYN_DIR;f#fhr#:#fmn#:00.nc - &PHY_DIR;f#fhr#:#fmn#:00.nc + &DYN_DIR;f#fhr#:#fmn#:00.nc + &PHY_DIR;f#fhr#:#fmn#:00.nc @@ -676,11 +676,11 @@ always zero). {%- if sub_hourly_post %} - &DYN_DIR;f#fhr#:#fmn#:00.nc - &PHY_DIR;f#fhr#:#fmn#:00.nc + &DYN_DIR;f#fhr#:#fmn#:00.nc + &PHY_DIR;f#fhr#:#fmn#:00.nc {%- else %} - &DYN_DIR;f#fhr#.nc - &PHY_DIR;f#fhr#.nc + &DYN_DIR;f#fhr#.nc + &PHY_DIR;f#fhr#.nc {%- endif %} @@ -738,8 +738,8 @@ the tag to be identical to the ones above for other output times. - &DYN_DIR;f#fhr#:#fmn#:00.nc - &PHY_DIR;f#fhr#:#fmn#:00.nc + &DYN_DIR;f#fhr#:#fmn#:00.nc + &PHY_DIR;f#fhr#:#fmn#:00.nc diff --git a/ush/setup.py b/ush/setup.py index 5ce1dff24a..bab9d0cc71 100644 --- a/ush/setup.py +++ b/ush/setup.py @@ -76,7 +76,7 @@ def setup(): # Step-1 of config # ================ # Set the name of the configuration file containing default values for - # the experiment/workflow variables. Then import the content. + # the experiment/workflow variables. Then load its content. # # ----------------------------------------------------------------------- #