From 62abf88c572262d23ea2bbac45478b31267a200d Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Fri, 23 Feb 2024 17:59:46 +0000 Subject: [PATCH 1/4] replace nc4 with nc for observation related files in python jedi atm scripts, generalize jedi atm layout (#2335) --- parm/config/gfs/config.atmanl | 3 +++ parm/config/gfs/config.atmensanl | 3 +++ parm/config/gfs/config.resources | 16 ++++++++-------- parm/config/gfs/yaml/defaults.yaml | 4 ++++ ush/python/pygfs/task/analysis.py | 6 +++--- ush/python/pygfs/task/atm_analysis.py | 2 +- ush/python/pygfs/task/atmens_analysis.py | 2 +- 7 files changed, 23 insertions(+), 13 deletions(-) diff --git a/parm/config/gfs/config.atmanl b/parm/config/gfs/config.atmanl index 3e6b351cb2b..e344b0a6625 100644 --- a/parm/config/gfs/config.atmanl +++ b/parm/config/gfs/config.atmanl @@ -13,6 +13,9 @@ export STATICB_TYPE="gsibec" export BERROR_YAML=${HOMEgfs}/sorc/gdas.cd/parm/atm/berror/staticb_${STATICB_TYPE}.yaml export INTERP_METHOD='barycentric' +export layout_x_atmanl=@LAYOUT_X_ATMANL@ +export layout_y_atmanl=@LAYOUT_Y_ATMANL@ + export io_layout_x=@IO_LAYOUT_X@ export io_layout_y=@IO_LAYOUT_Y@ diff --git a/parm/config/gfs/config.atmensanl b/parm/config/gfs/config.atmensanl index 58fd7b6e221..7a3a632bf8e 100644 --- a/parm/config/gfs/config.atmensanl +++ b/parm/config/gfs/config.atmensanl @@ -10,6 +10,9 @@ export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/atm/obs/lists/lgetkf_prototype.yaml export ATMENSYAML=${HOMEgfs}/sorc/gdas.cd/parm/atm/lgetkf/lgetkf.yaml export INTERP_METHOD='barycentric' +export layout_x_atmensanl=@LAYOUT_X_ATMENSANL@ +export layout_y_atmensanl=@LAYOUT_Y_ATMENSANL@ + export io_layout_x=@IO_LAYOUT_X@ export io_layout_y=@IO_LAYOUT_Y@ diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index b06e6349930..212c6efcc49 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -196,8 +196,8 @@ case ${step} in "atmanlinit") # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmanl} + export layout_y=${layout_y_atmanl} export layout_gsib_x=$(( layout_x * 3 )) export layout_gsib_y=$(( layout_y * 2 )) @@ -212,8 +212,8 @@ case ${step} in "atmanlrun") # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmanl} + export layout_y=${layout_y_atmanl} export wtime_atmanlrun="00:30:00" export npe_atmanlrun=$(( layout_x * layout_y * 6 )) @@ -830,8 +830,8 @@ case ${step} in "atmensanlinit") # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmensanl} + export layout_y=${layout_y_atmensanl} export wtime_atmensanlinit="00:10:00" export npe_atmensanlinit=1 @@ -842,8 +842,8 @@ case ${step} in "atmensanlrun") # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmensanl} + export layout_y=${layout_y_atmensanl} export wtime_atmensanlrun="00:30:00" export npe_atmensanlrun=$(( layout_x * layout_y * 6 )) diff --git a/parm/config/gfs/yaml/defaults.yaml b/parm/config/gfs/yaml/defaults.yaml index 10af47de073..855939e1e23 100644 --- a/parm/config/gfs/yaml/defaults.yaml +++ b/parm/config/gfs/yaml/defaults.yaml @@ -9,10 +9,14 @@ base: FHMAX_GFS: 120 atmanl: + LAYOUT_X_ATMANL: 8 + LAYOUT_Y_ATMANL: 8 IO_LAYOUT_X: 1 IO_LAYOUT_Y: 1 atmensanl: + LAYOUT_X_ATMENSANL: 8 + LAYOUT_Y_ATMENSANL: 8 IO_LAYOUT_X: 1 IO_LAYOUT_Y: 1 diff --git a/ush/python/pygfs/task/analysis.py b/ush/python/pygfs/task/analysis.py index cfd1fb2206c..b562eeee4e0 100644 --- a/ush/python/pygfs/task/analysis.py +++ b/ush/python/pygfs/task/analysis.py @@ -99,7 +99,7 @@ def get_bias_dict(self) -> Dict[str, Any]: obdir = os.path.dirname(obfile) basename = os.path.basename(obfile) prefix = '.'.join(basename.split('.')[:-2]) - for file in ['satbias.nc4', 'satbias_cov.nc4', 'tlapse.txt']: + for file in ['satbias.nc', 'satbias_cov.nc', 'tlapse.txt']: bfile = f"{prefix}.{file}" copylist.append([os.path.join(self.task_config.COM_ATMOS_ANALYSIS_PREV, bfile), os.path.join(obdir, bfile)]) @@ -311,13 +311,13 @@ def tgz_diags(statfile: str, diagdir: str) -> None: Parameters ---------- statfile : str | os.PathLike - Path to the output .tar.gz .tgz file that will contain the diag*.nc4 files e.g. atmstat.tgz + Path to the output .tar.gz .tgz file that will contain the diag*.nc files e.g. atmstat.tgz diagdir : str | os.PathLike Directory containing JEDI diag files """ # get list of diag files to put in tarball - diags = glob.glob(os.path.join(diagdir, 'diags', 'diag*nc4')) + diags = glob.glob(os.path.join(diagdir, 'diags', 'diag*nc')) logger.info(f"Compressing {len(diags)} diag files to {statfile}") diff --git a/ush/python/pygfs/task/atm_analysis.py b/ush/python/pygfs/task/atm_analysis.py index 6aed0533c63..7e2ae87b6b9 100644 --- a/ush/python/pygfs/task/atm_analysis.py +++ b/ush/python/pygfs/task/atm_analysis.py @@ -152,7 +152,7 @@ def finalize(self: Analysis) -> None: atmstat = os.path.join(self.task_config.COM_ATMOS_ANALYSIS, f"{self.task_config.APREFIX}atmstat") # get list of diag files to put in tarball - diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc4')) + diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc')) logger.info(f"Compressing {len(diags)} diag files to {atmstat}.gz") diff --git a/ush/python/pygfs/task/atmens_analysis.py b/ush/python/pygfs/task/atmens_analysis.py index 9cf84c07c7d..7b81a10f32e 100644 --- a/ush/python/pygfs/task/atmens_analysis.py +++ b/ush/python/pygfs/task/atmens_analysis.py @@ -188,7 +188,7 @@ def finalize(self: Analysis) -> None: atmensstat = os.path.join(self.task_config.COM_ATMOS_ANALYSIS_ENS, f"{self.task_config.APREFIX}atmensstat") # get list of diag files to put in tarball - diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc4')) + diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc')) logger.info(f"Compressing {len(diags)} diag files to {atmensstat}.gz") From 1906c0302bb28dc989e4b108e542234103c45185 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Mon, 26 Feb 2024 11:10:18 +0000 Subject: [PATCH 2/4] remove obsolete case comment for JEDI var and ens jobs in config.resources (#2335) --- parm/config/gfs/config.resources | 4 ---- 1 file changed, 4 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 212c6efcc49..6389135ade7 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -195,7 +195,6 @@ case ${step} in ;; "atmanlinit") - # make below case dependent later export layout_x=${layout_x_atmanl} export layout_y=${layout_y_atmanl} @@ -211,7 +210,6 @@ case ${step} in ;; "atmanlrun") - # make below case dependent later export layout_x=${layout_x_atmanl} export layout_y=${layout_y_atmanl} @@ -829,7 +827,6 @@ case ${step} in ;; "atmensanlinit") - # make below case dependent later export layout_x=${layout_x_atmensanl} export layout_y=${layout_y_atmensanl} @@ -841,7 +838,6 @@ case ${step} in ;; "atmensanlrun") - # make below case dependent later export layout_x=${layout_x_atmensanl} export layout_y=${layout_y_atmensanl} From 5473feb01a28a247f8c52fc5d67d0c9dbc17f69c Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Mon, 26 Feb 2024 11:21:10 +0000 Subject: [PATCH 3/4] use (1,1) layout for var and ens jobs in UFS hybrid DA CI (#2335) --- ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml b/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml index c072c391b3f..126c0f461ab 100644 --- a/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml +++ b/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml @@ -5,10 +5,16 @@ base: DO_JEDIATMVAR: "YES" DO_JEDIATMENS: "YES" ACCOUNT: {{ 'SLURM_ACCOUNT' | getenv }} +atmanl: + LAYOUT_X_ATMANL: 1 + LAYOUT_Y_ATMANL: 1 +atmensanl: + LAYOUT_X_ATMENSANL: 1 + LAYOUT_Y_ATMENSANL: 1 esfc: DONST: "NO" nsst: NST_MODEL: "1" sfcanl: DONST: "NO" - \ No newline at end of file + From d763546446db226606c026918c73b618855a1073 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Mon, 26 Feb 2024 18:53:20 +0000 Subject: [PATCH 4/4] update gdas.cd hash (#2335) --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 984ecbea3cd..10614c98550 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 984ecbea3cd971cfb98b4ce7d9299442a38e8dd1 +Subproject commit 10614c9855042b436bb8c37c7e2faeead01259cb