From 0f2e1d411fe4dc84671a5683d7eaca9754abe54e Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Thu, 26 Jun 2025 08:23:21 -0400 Subject: [PATCH 01/21] update to new ufs model --- dev/parm/config/gfs/config.ufs | 14 +++++++------- sorc/ufs_model.fd | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dev/parm/config/gfs/config.ufs b/dev/parm/config/gfs/config.ufs index afa7cfe444c..bca3be31ff7 100644 --- a/dev/parm/config/gfs/config.ufs +++ b/dev/parm/config/gfs/config.ufs @@ -105,7 +105,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=3600 ;; "C96") @@ -147,7 +147,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=1800 fi ;; @@ -195,7 +195,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=6.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=1800 fi ;; @@ -238,7 +238,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=4.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=900 fi ;; @@ -283,7 +283,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=3.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=450 fi ;; @@ -311,7 +311,7 @@ case "${fv3_res}" in export k_split=2 export n_split=6 export tau=2.5 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=450 ;; "C3072") @@ -329,7 +329,7 @@ case "${fv3_res}" in export k_split=4 export n_split=5 export tau=0.5 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=300 ;; *) diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 9193010aa52..24d8dfd422f 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 9193010aa52f17a7b3618fd75b4e3c03a79c3c59 +Subproject commit 24d8dfd422f26864bdb6a4368802dec2fc13d9fd From 73d66e15437c6ea79249bc8f67a1900c5e937f9b Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Fri, 27 Jun 2025 09:54:23 -0400 Subject: [PATCH 02/21] rt_cutoff should only be changed for C768 and higher resolutions --- dev/parm/config/gfs/config.ufs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/parm/config/gfs/config.ufs b/dev/parm/config/gfs/config.ufs index bca3be31ff7..699247c4e72 100644 --- a/dev/parm/config/gfs/config.ufs +++ b/dev/parm/config/gfs/config.ufs @@ -105,7 +105,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=300.0 + export rf_cutoff=100.0 export fv_sg_adj=3600 ;; "C96") @@ -147,7 +147,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=300.0 + export rf_cutoff=100.0 export fv_sg_adj=1800 fi ;; @@ -195,7 +195,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=6.0 - export rf_cutoff=300.0 + export rf_cutoff=100.0 export fv_sg_adj=1800 fi ;; @@ -238,7 +238,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=4.0 - export rf_cutoff=300.0 + export rf_cutoff=100.0 export fv_sg_adj=900 fi ;; From 005b7b148725e43731d83ee57513e2f9ab153a0c Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Tue, 1 Jul 2025 09:47:09 -0400 Subject: [PATCH 03/21] update model to latest --- sorc/ufs_model.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 24d8dfd422f..1f0ab4322b0 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 24d8dfd422f26864bdb6a4368802dec2fc13d9fd +Subproject commit 1f0ab4322b0c81e48a0db5a202a427d374e29be0 From fb59e1daa99c3b3f0372eb9e0c21dda9f3d1185a Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Tue, 1 Jul 2025 12:12:26 -0400 Subject: [PATCH 04/21] update rt_cutoff for all resolutions all applications --- dev/parm/config/gefs/config.ufs | 14 +++++++------- dev/parm/config/gfs/config.ufs | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dev/parm/config/gefs/config.ufs b/dev/parm/config/gefs/config.ufs index a8504f36b16..dc2ba1fe148 100644 --- a/dev/parm/config/gefs/config.ufs +++ b/dev/parm/config/gefs/config.ufs @@ -86,7 +86,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=10.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=3600 export knob_ugwp_tauamp=6.0e-3 # setting for UGWPv1 non-stationary GWD export WRITE_GROUP=1 @@ -106,7 +106,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=1800 export WRITE_GROUP=1 export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=1 @@ -125,7 +125,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=6.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=1800 export WRITE_GROUP=1 export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10 @@ -143,7 +143,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=4.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=900 export WRITE_GROUP=2 export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=8 @@ -161,7 +161,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=3.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=450 export WRITE_GROUP=2 export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10 @@ -179,7 +179,7 @@ case "${fv3_res}" in export k_split=2 export n_split=6 export tau=2.5 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=450 export WRITE_GROUP=4 export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10 # TODO: refine these numbers when a case is available @@ -197,7 +197,7 @@ case "${fv3_res}" in export k_split=4 export n_split=5 export tau=0.5 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=300 export WRITE_GROUP=4 export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10 # TODO: refine these numbers when a case is available diff --git a/dev/parm/config/gfs/config.ufs b/dev/parm/config/gfs/config.ufs index 699247c4e72..bca3be31ff7 100644 --- a/dev/parm/config/gfs/config.ufs +++ b/dev/parm/config/gfs/config.ufs @@ -105,7 +105,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=3600 ;; "C96") @@ -147,7 +147,7 @@ case "${fv3_res}" in export k_split=1 export n_split=4 export tau=8.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=1800 fi ;; @@ -195,7 +195,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=6.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=1800 fi ;; @@ -238,7 +238,7 @@ case "${fv3_res}" in export k_split=2 export n_split=4 export tau=4.0 - export rf_cutoff=100.0 + export rf_cutoff=300.0 export fv_sg_adj=900 fi ;; From 6c8224089d9da0679b83f5551698bc044a1ada27 Mon Sep 17 00:00:00 2001 From: bbakernoaa Date: Thu, 10 Jul 2025 12:59:12 -0400 Subject: [PATCH 05/21] adding gocart changes for head of develop --- parm/ufs/gocart/CA2G_instance_CA.bc.rc | 18 ++++++++++++++++-- parm/ufs/gocart/CA2G_instance_CA.br.rc | 12 ++++++++++++ parm/ufs/gocart/CA2G_instance_CA.oc.rc | 20 +++++++++++++++++--- parm/ufs/gocart/DU2G_instance_DU.rc | 18 +++++++++++++++--- parm/ufs/gocart/ExtData.other | 8 +++++--- parm/ufs/gocart/SS2G_instance_SS.rc | 10 +++++++++- parm/ufs/gocart/SU2G_instance_SU.rc | 3 ++- 7 files changed, 76 insertions(+), 13 deletions(-) diff --git a/parm/ufs/gocart/CA2G_instance_CA.bc.rc b/parm/ufs/gocart/CA2G_instance_CA.bc.rc index f6411e2c9d7..9ac462fa3e6 100644 --- a/parm/ufs/gocart/CA2G_instance_CA.bc.rc +++ b/parm/ufs/gocart/CA2G_instance_CA.bc.rc @@ -1,5 +1,5 @@ # -# Resource file for Black Carbon parameters. +# Resource file for Black Carbon parameters. # nbins: 2 @@ -16,8 +16,22 @@ aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 # Initially hydrophobic portion hydrophobic_fraction: 0.8 +# Rate of conversion of hydrophobic to hydrophilic [days] +time_days_hydrophobic_to_hydrophilic: 2.5 + +# Rate of chemical destruction of carbon species [days] +time_days_chemical_destruction: -1. -1. + +# Wet Removal Scheme Option | gocart, ufs +wet_removal_scheme: ufs # default value + +# Rainout efficiency per bin for wet_removal_scheme == ufs +fwet_ice: 0.0 1.0 +fwet_snow: 0.0 1.0 +fwet_rain: 0.0 1.0 + # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) -fscav: 0.0 0.4 +fscav: 0.0 0.4 # Dry particle density [kg m-3] particle_density: 1800 1800 diff --git a/parm/ufs/gocart/CA2G_instance_CA.br.rc b/parm/ufs/gocart/CA2G_instance_CA.br.rc index 41360831f33..e983240212b 100644 --- a/parm/ufs/gocart/CA2G_instance_CA.br.rc +++ b/parm/ufs/gocart/CA2G_instance_CA.br.rc @@ -21,6 +21,18 @@ pom_ca_ratio: 1.8 # Initially hydrophobic portion hydrophobic_fraction: 0.5 +# Rate of conversion of hydrophobic to hydrophilic [days] +time_days_hydrophobic_to_hydrophilic: 2.5 + +# Rate of chemical destruction of carbon species [days] +time_days_chemical_destruction: -1. -1. + +# Wet Removal Scheme Option | gocart, ufs +wet_removal_scheme: ufs +fwet_ice: 0.0 0.4 +fwet_snow: 0.0 0.4 +fwet_rain: 0.0 0.4 + # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) fscav: 0.0 0.4 diff --git a/parm/ufs/gocart/CA2G_instance_CA.oc.rc b/parm/ufs/gocart/CA2G_instance_CA.oc.rc index 6e3f5ef978a..f24d65e4c47 100644 --- a/parm/ufs/gocart/CA2G_instance_CA.oc.rc +++ b/parm/ufs/gocart/CA2G_instance_CA.oc.rc @@ -1,5 +1,5 @@ # -# Resource file for Organic Carbon parameters. +# Resource file for Organic Carbon parameters. # aerosol_radBands_optics_file: ExtData/optics/opticsBands_OC.v1_3.RRTMG.nc @@ -26,8 +26,22 @@ rhFlag: 0 # Initially hydrophobic portion hydrophobic_fraction: 0.5 +# Rate of conversion of hydrophobic to hydrophilic [days] +time_days_hydrophobic_to_hydrophilic: 2.5 + +# Rate of chemical destruction of carbon species [days] +time_days_chemical_destruction: -1. -1. + +# Wet Removal Scheme Option | gocart, ufs +wet_removal_scheme: ufs + +# Rainout efficiency per bin for wet_removal_scheme == ufs +fwet_ice: 0.0 1.0 +fwet_snow: 0.0 1.0 +fwet_rain: 0.0 1.0 + # Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) -fscav: 0.0 0.4 +fscav: 0.0 0.4 # Dry particle density [kg m-3] particle_density: 1800 1800 @@ -43,6 +57,6 @@ sigma: 2.20 2.20 pressure_lid_in_hPa: 0.01 -nbins: 2 +nbins: 2 point_emissions_srcfilen: /dev/null diff --git a/parm/ufs/gocart/DU2G_instance_DU.rc b/parm/ufs/gocart/DU2G_instance_DU.rc index 6c30cdf06b8..8001798189d 100644 --- a/parm/ufs/gocart/DU2G_instance_DU.rc +++ b/parm/ufs/gocart/DU2G_instance_DU.rc @@ -1,5 +1,5 @@ # -# Resource file Dust parameters. +# Resource file Dust parameters. # aerosol_radBands_optics_file: ExtData/optics/opticsBands_DU.v15_3.RRTMG.nc @@ -22,6 +22,17 @@ Ch_DU: 0.2 0.2 0.07 0.07 0.07 0.056 # Scavenging efficiency per bin [km-1] fscav: 0.2 0.2 0.2 0.2 0.2 # +# clay fraction scaling factor +soil_clay_factor: 1.0 + +# Wet Removal Scheme Option | gocart, ufs +wet_removal_scheme: ufs + +# Rainout efficiency per bin for wet_removal_scheme == ufs +fwet_ice: 0.8 0.8 0.8 1.0 1.0 +fwet_snow: 0.8 0.8 0.8 1.0 1.0 +fwet_rain: 0.8 0.8 0.8 1.0 1.0 + # Molecular weight of species [kg mole-1] molecular_weight: 0.1 0.1 0.1 0.1 0.1 @@ -31,7 +42,7 @@ fnum: 2.45e14 3.28e13 6.52e12 9.89e11 1.76e11 rhFlag: 0 # Maring settling velocity correction -maringFlag: .true. +maringFlag: .true. nbins: 5 @@ -41,8 +52,9 @@ pressure_lid_in_hPa: 0.01 emission_scheme: fengsha # choose among: fengsha, ginoux, k14 # FENGSHA settings -alpha: 0.1 +alpha: 0.16 gamma: 1.0 soil_moisture_factor: 1 soil_drylimit_factor: 1 vertical_to_horizontal_flux_ratio_limit: 2.e-04 +drag_partition_option: 2 \ No newline at end of file diff --git a/parm/ufs/gocart/ExtData.other b/parm/ufs/gocart/ExtData.other index 5d2ddc51021..ffcf1cfd27b 100644 --- a/parm/ufs/gocart/ExtData.other +++ b/parm/ufs/gocart/ExtData.other @@ -7,13 +7,15 @@ TROPP 'Pa' Y N - 0.0 1.0 TROPP /dev/null:10000. #====== Dust Imports ================================================= -# FENGSHA input files. Note: regridding should be N or E - Use files with _FillValue != NaN +# FENGSHA input files. Note: regridding should be N or E - Use files with _FillValue != NaN DU_CLAY '1' Y E - none none clayfrac ExtData/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc DU_SAND '1' Y E - none none sandfrac ExtData/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc DU_SILT '1' Y E - none none siltfrac /dev/null -DU_SSM '1' Y E - none none sep ExtData/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc -DU_RDRAG '1' Y E %y4-%m2-%d2t12:00:00 none none albedo_drag ExtData/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc +DU_SSM '1' Y E - none none sep /dev/null:1.0 DU_UTHRES '1' Y E - none none uthres ExtData/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc +DU_RDRAG '1' Y E %y4-%m2-%d2t12:00:00 none none PC /gpfs/f6/bil-fire3/world-shared/Emissions/GEFS_ExtData/nexus/FENGSHA/FENGSHA_New_Method_NESDISv1.1_9km.nc +DU_GVF '1' Y E %y4-%m2-%d2T12:00:00 none none GVF /gpfs/f6/bil-fire3/world-shared/Emissions/GEFS_ExtData/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc +DU_LAI '1' Y E %y4-%m2-%d2T12:00:00 none none LAI /gpfs/f6/bil-fire3/world-shared/Emissions/GEFS_ExtData/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc #====== Sulfate Sources ================================================= # Anthropogenic (BF & FF) emissions -- allowed to input as two layers diff --git a/parm/ufs/gocart/SS2G_instance_SS.rc b/parm/ufs/gocart/SS2G_instance_SS.rc index d8faa3efa8a..5616616ea6c 100644 --- a/parm/ufs/gocart/SS2G_instance_SS.rc +++ b/parm/ufs/gocart/SS2G_instance_SS.rc @@ -14,7 +14,7 @@ radius_upper: 0.1 0.5 1.5 5.0 10.0 particle_density: 2200. 2200. 2200. 2200. 2200. # Scavenging efficiency per bin [km-1] -fscav: 0.4 0.4 0.4 0.4 0.4 +fscav: 0.4 0.4 0.4 0.4 0.4 # Emissions methods and scaling emission_scheme: 3 # 1 for Gong 2003, 2 for ... @@ -40,4 +40,12 @@ nbins: 5 pressure_lid_in_hPa: 0.01 +# Wet Removal Scheme Option | gocart, ufs +wet_removal_scheme: ufs + +# Rainout efficiency per bin for wet_removal_scheme == ufs +fwet_ice: 1.0 1.0 1.0 1.0 1.0 +fwet_snow: 1.0 1.0 1.0 1.0 1.0 +fwet_rain: 1.0 1.0 1.0 1.0 1.0 + diff --git a/parm/ufs/gocart/SU2G_instance_SU.rc b/parm/ufs/gocart/SU2G_instance_SU.rc index 79484b30683..2efa5ec49f8 100644 --- a/parm/ufs/gocart/SU2G_instance_SU.rc +++ b/parm/ufs/gocart/SU2G_instance_SU.rc @@ -8,7 +8,8 @@ aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_SU.v1_3.nc nbins: 4 # Volcanic pointwise sources | degassing only | replace with path to historical volcanic emissions for scientific runs -volcano_srcfilen: ExtData/nexus/VOLCANO/v2021-09/so2_volcanic_emissions_CARN_v202005.degassing_only.rc +volcano_srcfilen_explosive: /dev/null +volcano_srcfilen_degassing: ExtData/nexus/VOLCANO/v2021-09/so2_volcanic_emissions_CARN_v202005.degassing_only.rc # Heights [m] of LTO, CDS and CRS aviation emissions layers aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 From e7deaf8af5e2fd63fd118f6acf8e871e8bbd880c Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Fri, 11 Jul 2025 08:45:58 -0400 Subject: [PATCH 06/21] update ufs to top of develop --- sorc/ufs_model.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 1f0ab4322b0..0e960577f5f 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 1f0ab4322b0c81e48a0db5a202a427d374e29be0 +Subproject commit 0e960577f5fffd009a93a8758313c23231aa8be9 From bcf20f90c37c5c28eb42f209bbda7601d95ba25a Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Fri, 11 Jul 2025 16:25:39 -0400 Subject: [PATCH 07/21] Change directory paths now that data is staged --- parm/ufs/gocart/ExtData.other | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/parm/ufs/gocart/ExtData.other b/parm/ufs/gocart/ExtData.other index ffcf1cfd27b..1c138b4b312 100644 --- a/parm/ufs/gocart/ExtData.other +++ b/parm/ufs/gocart/ExtData.other @@ -13,9 +13,9 @@ DU_SAND '1' Y E - none none sandfrac ExtData/n DU_SILT '1' Y E - none none siltfrac /dev/null DU_SSM '1' Y E - none none sep /dev/null:1.0 DU_UTHRES '1' Y E - none none uthres ExtData/nexus/FENGSHA/FENGSHA_2022_NESDIS_inputs_10km_v3.2.nc -DU_RDRAG '1' Y E %y4-%m2-%d2t12:00:00 none none PC /gpfs/f6/bil-fire3/world-shared/Emissions/GEFS_ExtData/nexus/FENGSHA/FENGSHA_New_Method_NESDISv1.1_9km.nc -DU_GVF '1' Y E %y4-%m2-%d2T12:00:00 none none GVF /gpfs/f6/bil-fire3/world-shared/Emissions/GEFS_ExtData/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc -DU_LAI '1' Y E %y4-%m2-%d2T12:00:00 none none LAI /gpfs/f6/bil-fire3/world-shared/Emissions/GEFS_ExtData/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc +DU_RDRAG '1' Y E %y4-%m2-%d2t12:00:00 none none PC ExtData/nexus/FENGSHA/FENGSHA_New_Method_NESDISv1.1_9km.nc +DU_GVF '1' Y E %y4-%m2-%d2T12:00:00 none none GVF ExtData/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc +DU_LAI '1' Y E %y4-%m2-%d2T12:00:00 none none LAI ExtData/nexus/FENGSHA/FENGSHA_GVF_LAI2.nc #====== Sulfate Sources ================================================= # Anthropogenic (BF & FF) emissions -- allowed to input as two layers From e0517365e10ea7bd8280731e7c3a2e5b8ff20088 Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Mon, 14 Jul 2025 14:11:57 -0400 Subject: [PATCH 08/21] update to turn off radiative feedback temporarily while proper fix is getting worked on --- dev/parm/config/gcafs/config.fcst | 3 ++- dev/parm/config/gefs/config.fcst.j2 | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dev/parm/config/gcafs/config.fcst b/dev/parm/config/gcafs/config.fcst index d380bb2be8f..428149e891e 100644 --- a/dev/parm/config/gcafs/config.fcst +++ b/dev/parm/config/gcafs/config.fcst @@ -163,7 +163,8 @@ if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi # Radiation options if [[ "${DO_AERO_FCST}" == "YES" ]]; then if [[ "${RUN}" =~ "gfs" || "${RUN}" == "gcafs" || "${RUN}" == "gcdas" ]]; then - export IAER=2011 # spectral band mapping method for aerosol optical properties + export IAER=1011 # TO DO undo this temp gocart fix + #export IAER=2011 # spectral band mapping method for aerosol optical properties else export IAER=1011 fi diff --git a/dev/parm/config/gefs/config.fcst.j2 b/dev/parm/config/gefs/config.fcst.j2 index 5541fc34d0f..7f69ca0c18f 100644 --- a/dev/parm/config/gefs/config.fcst.j2 +++ b/dev/parm/config/gefs/config.fcst.j2 @@ -142,7 +142,8 @@ if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi # Radiation options if [[ "${DO_AERO_FCST}" == "YES" ]]; then - export IAER=2011 # spectral band mapping method for aerosol optical properties + export IAER=1011 #TO DO undo this temp fix for gocart issues + #export IAER=2011 # spectral band mapping method for aerosol optical properties else export IAER=1011 fi From 17b61f3d6b0269827676a19da471eb89e60d5041 Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Mon, 14 Jul 2025 14:12:59 -0400 Subject: [PATCH 09/21] point to gdas nightly stable branch to get SOCA updates --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 84aa64a3e91..d7c37479793 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 84aa64a3e9181c2b046ea6bfa880d3ef5221ef82 +Subproject commit d7c37479793f1359725eda90078948f0f855ebea From 48defcef72425e9e2a6c1d1d89acbc05fd3355d0 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Wed, 16 Jul 2025 21:03:50 +0000 Subject: [PATCH 10/21] update gdas hash --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index d7c37479793..5ca8a67b774 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit d7c37479793f1359725eda90078948f0f855ebea +Subproject commit 5ca8a67b7746d8cf61733db2c9d02be3377cc438 From 84ddf709e94e3e207b74741547b3dc31f24d633b Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Tue, 15 Jul 2025 15:14:40 -0400 Subject: [PATCH 11/21] Update Hera and GaeaC6 configuration for select JEDI jobs (#3868) This modifies the configuration for the following jobs on the following machines - Hera: aeroanlvar - Gaea C6: atmanlvarm, atmensanlobs, atmensanlsol For each job on each machine the change reduces the number of tasks run per node. it has been observed that some executables require more memory after moving to spack-stack/1.9.2 This is the case for the above jobs on the indicated machines. Resolves #3862 --- dev/parm/config/gfs/config.resources.GAEAC6 | 4 ++++ dev/parm/config/gfs/config.resources.HERA | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/dev/parm/config/gfs/config.resources.GAEAC6 b/dev/parm/config/gfs/config.resources.GAEAC6 index c5af5812bab..2706164ed1d 100644 --- a/dev/parm/config/gfs/config.resources.GAEAC6 +++ b/dev/parm/config/gfs/config.resources.GAEAC6 @@ -61,6 +61,10 @@ case ${step} in fi ;; + "atmanlvar" | "atmensanlobs" | "atmensanlsol") + export tasks_per_node=48 + ;; + "marinebmat") case ${OCNRES} in "025") diff --git a/dev/parm/config/gfs/config.resources.HERA b/dev/parm/config/gfs/config.resources.HERA index 5644ba0092a..78d70e5561d 100644 --- a/dev/parm/config/gfs/config.resources.HERA +++ b/dev/parm/config/gfs/config.resources.HERA @@ -20,6 +20,11 @@ case ${step} in export tasks_per_node=12 ;; + "aeroanlvar") + export tasks_per_node=20 + export memory="96GB" + ;; + "eupd") case "${CASE}" in "C1152" | "C768") From 1ff9f0f2b2e54988242660409482c46f8dc7b696 Mon Sep 17 00:00:00 2001 From: "Tseganeh Z. Gichamo" Date: Tue, 15 Jul 2025 15:24:35 -0400 Subject: [PATCH 12/21] Add GSI Soil DA Increments to Archive (#3857) # Description This adds the names of soil DA increment files from GSI EnKF to the "archive_tars" lists. Currently soil forecast and analysis files are being archived, but not soil increments. Resolves #3858 --- parm/archive/enkf.yaml.j2 | 13 ++++++++++++- parm/archive/enkf_grp.yaml.j2 | 10 +++++++--- parm/archive/enkf_restarta_grp.yaml.j2 | 7 +++++++ parm/archive/gdas.yaml.j2 | 3 +++ parm/archive/gdas_restarta.yaml.j2 | 13 +++++++++++++ scripts/exgdas_enkf_earc_tars.py | 2 +- scripts/exglobal_archive_tars.py | 2 +- 7 files changed, 44 insertions(+), 6 deletions(-) diff --git a/parm/archive/enkf.yaml.j2 b/parm/archive/enkf.yaml.j2 index 70506f38295..51cdd5c1007 100644 --- a/parm/archive/enkf.yaml.j2 +++ b/parm/archive/enkf.yaml.j2 @@ -96,6 +96,11 @@ enkf: {% else %} - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_atmanl.ensmean.nc" {% endif %} + + # soil DA increments + {% if DO_GSISOILDA %} + - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}sfci006.nc" + {% endif %} {% if DOIAU %} # IAU increments/analyses @@ -114,6 +119,12 @@ enkf: {% else %} - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_atma{{ '%03d' % fhr }}.ensmean.nc" {% endif %} + + # soil DA increments + {% if DO_GSISOILDA %} + - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}sfci{{ '%03d' % fhr }}.nc" + {% endif %} + {% endfor %} {% endif %} # End IAU @@ -122,4 +133,4 @@ enkf: {% if DOHYBVAR_OCN %} - "{{ COMIN_OCEAN_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head_ocean }}bg_ensvar.nc" - "{{ COMIN_ICE_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head_ice }}bg_ensvar.nc" - {% endif %} \ No newline at end of file + {% endif %} diff --git a/parm/archive/enkf_grp.yaml.j2 b/parm/archive/enkf_grp.yaml.j2 index 96ded7322f1..09045a6d48f 100644 --- a/parm/archive/enkf_grp.yaml.j2 +++ b/parm/archive/enkf_grp.yaml.j2 @@ -13,10 +13,8 @@ enkf_grp: {% if is_gdas %} {% for fhr in range(3, 10, 3) %} - "{{ COMIN_ATMOS_HISTORY_MEM | relpath(ROTDIR) }}/{{ head }}atmf{{ "%03d" % fhr }}.nc" + - "{{ COMIN_ATMOS_HISTORY_MEM | relpath(ROTDIR) }}/{{ head }}sfcf{{ "%03d" % fhr }}.nc" {% endfor %} - - # Only store the 6-hour surface forecast - - "{{ COMIN_ATMOS_HISTORY_MEM | relpath(ROTDIR) }}/{{ head }}sfcf006.nc" {% endif %} # Store the individual member analysis data @@ -34,4 +32,10 @@ enkf_grp: - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}ratminc.nc" {% endif %} {% endif %} + + # soil DA increments + {% if DO_GSISOILDA %} + - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}sfci006.nc" + {% endif %} + {% endfor %} # first_group_mem to last_group_mem diff --git a/parm/archive/enkf_restarta_grp.yaml.j2 b/parm/archive/enkf_restarta_grp.yaml.j2 index 062e7377861..67b5c244756 100644 --- a/parm/archive/enkf_restarta_grp.yaml.j2 +++ b/parm/archive/enkf_restarta_grp.yaml.j2 @@ -52,6 +52,13 @@ enkf_restarta_grp: - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}ratmi{{ '%03d' % iaufhr }}.nc" {% endif %} {% endfor %} # iaufhr in IAUFHRS + + # soil DA increments + {% if DO_GSISOILDA %} + {% for iaufhr in IAUFHRS %} + - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}sfci{{ '%03d' % iaufhr }}.nc" + {% endfor %} # iaufhr in IAUFHRS + {% endif %} # Conventional data {% if not lobsdiag_forenkf and not DO_JEDIATMENS %} diff --git a/parm/archive/gdas.yaml.j2 b/parm/archive/gdas.yaml.j2 index 612929b13a9..6329f131160 100644 --- a/parm/archive/gdas.yaml.j2 +++ b/parm/archive/gdas.yaml.j2 @@ -40,6 +40,9 @@ gdas: {% if DO_JEDISNOWDA %} - "logs/{{ cycle_YMDH }}/{{ RUN }}_snowanl.log" {% endif %} + {% if DO_GSISOILDA %} + - "logs/{{ cycle_YMDH }}/{{ RUN }}_sfcanl.log" + {% endif %} # Analysis GRIB2 (sub-sampled) data - "{{ COMIN_ATMOS_GRIB_0p25 | relpath(ROTDIR) }}/{{ head }}pgrb2.0p25.anl" diff --git a/parm/archive/gdas_restarta.yaml.j2 b/parm/archive/gdas_restarta.yaml.j2 index 252aa748959..06ba021777f 100644 --- a/parm/archive/gdas_restarta.yaml.j2 +++ b/parm/archive/gdas_restarta.yaml.j2 @@ -15,6 +15,19 @@ gdas_restarta: {% for iaufhr in IAUFHRS if iaufhr != 6 %} - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}atmi{{ "%03d" % iaufhr }}.nc" {% endfor %} + + # Soil DA increments + {% if DO_GSISOILDA %} + {% if DOIAU %} + {% for itile in range(1,7) %} + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/sfc_inc.tile{{ itile }}.nc" + {% endfor %} + {% else %} + {% for itile in range(1,7) %} + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/sfci006.tile{{ itile }}.nc" + {% endfor %} + {% endif %} + {% endif %} # Surface analysis tiles {% if DOHYBVAR and DOIAU %} diff --git a/scripts/exgdas_enkf_earc_tars.py b/scripts/exgdas_enkf_earc_tars.py index 4a0e84a2a85..501d64844c7 100755 --- a/scripts/exgdas_enkf_earc_tars.py +++ b/scripts/exgdas_enkf_earc_tars.py @@ -28,7 +28,7 @@ def main(): 'DOHYBVAR', 'DOIAU_ENKF', 'IAU_OFFSET', 'DOIAU', 'DO_CA', 'DO_CALC_INCREMENT', 'assim_freq', 'ARCH_CYC', 'DO_JEDISNOWDA', 'ARCH_WARMICFREQ', 'ARCH_FCSTICFREQ', 'DOHYBVAR_OCN', - 'DOLETKF_OCN', 'IAUFHRS_ENKF', 'NET', 'NMEM_ENS_GFS'] + 'DOLETKF_OCN', 'IAUFHRS_ENKF', 'NET', 'NMEM_ENS_GFS', 'DO_GSISOILDA'] archive_dict = AttrDict() for key in keys: diff --git a/scripts/exglobal_archive_tars.py b/scripts/exglobal_archive_tars.py index 417d4f4e9a0..31f7b7d940a 100755 --- a/scripts/exglobal_archive_tars.py +++ b/scripts/exglobal_archive_tars.py @@ -41,7 +41,7 @@ def main(): 'IAUFHRS', 'DO_FIT2OBS', 'NET', 'FHOUT_HF_GFS', 'FHMAX_HF_GFS', 'REPLAY_ICS', 'OFFSET_START_HOUR', 'ARCH_EXPDIR', 'EXPDIR', 'ARCH_EXPDIR_FREQ', 'ARCH_HASHES', 'ARCH_DIFFS', 'SDATE', 'EDATE', 'HOMEgfs', 'DO_GEMPAK', 'DATASETS_YAML', - 'WAVE_OUT_GRIDS'] + 'WAVE_OUT_GRIDS', 'DO_GSISOILDA'] archive_dict = AttrDict() for key in keys: From 1afc0c132cf0d24e8cacd4f58a4e8d17adf90cd7 Mon Sep 17 00:00:00 2001 From: Jiarui Dong Date: Tue, 15 Jul 2025 15:31:01 -0400 Subject: [PATCH 13/21] Add snow DA related fields and stats into the gfsa tarball (#3842) This adds the snow DA related files into `gfsa.tar` for HPSS archive. The snow DA related files include snow analysis, snow increment, diagnostic files, snow DA yaml file and snow_iodastat, which is consistent with the gdas run. Resolves #3841 --- parm/archive/gfsa.yaml.j2 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/parm/archive/gfsa.yaml.j2 b/parm/archive/gfsa.yaml.j2 index db03d642c0a..cd6b3e20774 100644 --- a/parm/archive/gfsa.yaml.j2 +++ b/parm/archive/gfsa.yaml.j2 @@ -46,6 +46,16 @@ gfsa: - "{{ COMIN_OBS | relpath(ROTDIR) }}/{{ head }}aerorawobs" {% endif %} + # Snow analysis data + {% if DO_JEDISNOWDA %} + {% for itile in range(1,7) %} + - "{{ COMIN_SNOW_ANALYSIS | relpath(ROTDIR) }}/snowinc.{{ cycle_YMD }}.{{ cycle_HH }}0000.sfc_data.tile{{ itile }}.nc" + {% endfor %} + - "{{ COMIN_SNOW_ANALYSIS | relpath(ROTDIR) }}/{{ head }}snowstat.tgz" + - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}snowanlvar.yaml" + - "{{ COMIN_SNOW_ANLMON | relpath(ROTDIR) }}/{{ head }}snow_iodastat.tgz" + {% endif %} + # BUFR inputs - "{{ COMIN_OBS | relpath(ROTDIR) }}/{{ head }}nsstbufr" - "{{ COMIN_OBS | relpath(ROTDIR) }}/{{ head }}prepbufr" From 15e9e22854ee816c082549896d38e262d5e45d65 Mon Sep 17 00:00:00 2001 From: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com> Date: Wed, 16 Jul 2025 14:28:51 -0400 Subject: [PATCH 14/21] Ignore 'unused' variables in config.resources* files (#3879) This adds `#shellcheck disable=SC2034` to all `config.resources*` files to prevent erroneously detecting 'unused' variables. This was was performed by copilot in https://github.com/DavidHuber-NOAA/global-workflow/pull/28. Resolves #3876 --- dev/parm/config/gcafs/config.resources | 16 ---------------- dev/parm/config/gefs/config.resources | 1 + dev/parm/config/gefs/config.resources.AWSPW | 1 + dev/parm/config/gefs/config.resources.AZUREPW | 1 + dev/parm/config/gefs/config.resources.GOOGLEPW | 1 + dev/parm/config/gfs/config.resources | 10 ---------- dev/parm/config/gfs/config.resources.AWSPW | 1 + dev/parm/config/gfs/config.resources.AZUREPW | 1 + dev/parm/config/gfs/config.resources.GAEAC5 | 1 + dev/parm/config/gfs/config.resources.GAEAC6 | 1 + dev/parm/config/gfs/config.resources.GOOGLEPW | 1 + dev/parm/config/gfs/config.resources.HERA | 1 + dev/parm/config/gfs/config.resources.HERCULES | 1 + dev/parm/config/gfs/config.resources.ORION | 1 + dev/parm/config/gfs/config.resources.WCOSS2 | 1 + dev/parm/config/sfs/config.resources | 1 + 16 files changed, 14 insertions(+), 26 deletions(-) diff --git a/dev/parm/config/gcafs/config.resources b/dev/parm/config/gcafs/config.resources index dc8c7820a3a..674447c3986 100644 --- a/dev/parm/config/gcafs/config.resources +++ b/dev/parm/config/gcafs/config.resources @@ -41,54 +41,44 @@ case ${machine} in "WCOSS2") max_tasks_per_node=128 # WCOSS2 nodes have 512GB of RAM, but only 500GB are reservable - # shellcheck disable=SC2034 mem_node_max="500GB" ;; "HERA") max_tasks_per_node=40 - # shellcheck disable=SC2034 mem_node_max="96GB" ;; "GAEAC5") max_tasks_per_node=128 - # shellcheck disable=SC2034 mem_node_max="251GB" ;; "GAEAC6") max_tasks_per_node=192 - # shellcheck disable=SC2034 mem_node_max="384GB" ;; "ORION") max_tasks_per_node=40 - # shellcheck disable=SC2034 mem_node_max="180GB" ;; "HERCULES") max_tasks_per_node=80 - # shellcheck disable=SC2034 mem_node_max="500GB" ;; "JET") case ${PARTITION_BATCH} in "xjet") max_tasks_per_node=24 - # shellcheck disable=SC2034 mem_node_max="61GB" ;; "vjet") max_tasks_per_node=16 - # shellcheck disable=SC2034 mem_node_max="61GB" ;; "sjet") max_tasks_per_node=16 - # shellcheck disable=SC2034 mem_node_max="29GB" ;; "kjet") max_tasks_per_node=40 - # shellcheck disable=SC2034 mem_node_max="88GB" ;; *) @@ -99,12 +89,10 @@ case ${machine} in "S4") case ${PARTITION_BATCH} in "s4") max_tasks_per_node=32 - # shellcheck disable=SC2034 mem_node_max="168GB" ;; "ivy") max_tasks_per_node=20 - # shellcheck disable=SC2034 mem_node_max="128GB" ;; *) @@ -117,7 +105,6 @@ case ${machine} in npe_node_max=48 max_tasks_per_node=48 # TODO Supply a max mem/node value for AWS - # shellcheck disable=SC2034 mem_node_max="" ;; "AZUREPW") @@ -125,7 +112,6 @@ case ${machine} in npe_node_max=36 max_tasks_per_node=36 # TODO Supply a max mem/node value for AZURE - # shellcheck disable=SC2034 mem_node_max="" ;; "GOOGLEPW") @@ -133,13 +119,11 @@ case ${machine} in npe_node_max=30 max_tasks_per_node=30 # TODO Supply a max mem/node value for GOOGLE - # shellcheck disable=SC2034 mem_node_max="" ;; "CONTAINER") max_tasks_per_node=1 # TODO Supply a max mem/node value for a container - # shellcheck disable=SC2034 mem_node_max="" ;; *) diff --git a/dev/parm/config/gefs/config.resources b/dev/parm/config/gefs/config.resources index 06435afe6b4..bef6f4adf80 100644 --- a/dev/parm/config/gefs/config.resources +++ b/dev/parm/config/gefs/config.resources @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 ########## config.resources ########## # Set resource information for job tasks diff --git a/dev/parm/config/gefs/config.resources.AWSPW b/dev/parm/config/gefs/config.resources.AWSPW index 071c102e3af..f572a5621fb 100644 --- a/dev/parm/config/gefs/config.resources.AWSPW +++ b/dev/parm/config/gefs/config.resources.AWSPW @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # AWS-specific job resources diff --git a/dev/parm/config/gefs/config.resources.AZUREPW b/dev/parm/config/gefs/config.resources.AZUREPW index 96303139d86..a3065bd017a 100644 --- a/dev/parm/config/gefs/config.resources.AZUREPW +++ b/dev/parm/config/gefs/config.resources.AZUREPW @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # AZURE-specific job resources diff --git a/dev/parm/config/gefs/config.resources.GOOGLEPW b/dev/parm/config/gefs/config.resources.GOOGLEPW index 21e54013c79..8a148965068 100644 --- a/dev/parm/config/gefs/config.resources.GOOGLEPW +++ b/dev/parm/config/gefs/config.resources.GOOGLEPW @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # GOOGLE-specific job resources diff --git a/dev/parm/config/gfs/config.resources b/dev/parm/config/gfs/config.resources index 3b85f165699..5dd708d5958 100644 --- a/dev/parm/config/gfs/config.resources +++ b/dev/parm/config/gfs/config.resources @@ -39,32 +39,26 @@ case ${machine} in "WCOSS2") max_tasks_per_node=128 # WCOSS2 nodes have 512GB of RAM, but only 500GB are reservable - # shellcheck disable=SC2034 mem_node_max="500GB" ;; "HERA") max_tasks_per_node=40 - # shellcheck disable=SC2034 mem_node_max="96GB" ;; "GAEAC5") max_tasks_per_node=128 - # shellcheck disable=SC2034 mem_node_max="251GB" ;; "GAEAC6") max_tasks_per_node=192 - # shellcheck disable=SC2034 mem_node_max="384GB" ;; "ORION") max_tasks_per_node=40 - # shellcheck disable=SC2034 mem_node_max="180GB" ;; "HERCULES") max_tasks_per_node=80 - # shellcheck disable=SC2034 mem_node_max="500GB" ;; "AWSPW") @@ -72,7 +66,6 @@ case ${machine} in npe_node_max=48 max_tasks_per_node=48 # TODO Supply a max mem/node value for AWS - # shellcheck disable=SC2034 mem_node_max="" ;; "AZUREPW") @@ -80,7 +73,6 @@ case ${machine} in npe_node_max=36 max_tasks_per_node=36 # TODO Supply a max mem/node value for AZURE - # shellcheck disable=SC2034 mem_node_max="" ;; "GOOGLEPW") @@ -88,13 +80,11 @@ case ${machine} in npe_node_max=30 max_tasks_per_node=30 # TODO Supply a max mem/node value for GOOGLE - # shellcheck disable=SC2034 mem_node_max="" ;; "CONTAINER") max_tasks_per_node=1 # TODO Supply a max mem/node value for a container - # shellcheck disable=SC2034 mem_node_max="" ;; *) diff --git a/dev/parm/config/gfs/config.resources.AWSPW b/dev/parm/config/gfs/config.resources.AWSPW index 0b3e3fc4fbd..606efd2ede6 100644 --- a/dev/parm/config/gfs/config.resources.AWSPW +++ b/dev/parm/config/gfs/config.resources.AWSPW @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # AWS-specific job resources diff --git a/dev/parm/config/gfs/config.resources.AZUREPW b/dev/parm/config/gfs/config.resources.AZUREPW index 96303139d86..a3065bd017a 100644 --- a/dev/parm/config/gfs/config.resources.AZUREPW +++ b/dev/parm/config/gfs/config.resources.AZUREPW @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # AZURE-specific job resources diff --git a/dev/parm/config/gfs/config.resources.GAEAC5 b/dev/parm/config/gfs/config.resources.GAEAC5 index 9ae57c99f3d..cbf1cc85b1c 100644 --- a/dev/parm/config/gfs/config.resources.GAEAC5 +++ b/dev/parm/config/gfs/config.resources.GAEAC5 @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # GaeaC5-specific job resources diff --git a/dev/parm/config/gfs/config.resources.GAEAC6 b/dev/parm/config/gfs/config.resources.GAEAC6 index 2706164ed1d..0f28aeb81ce 100644 --- a/dev/parm/config/gfs/config.resources.GAEAC6 +++ b/dev/parm/config/gfs/config.resources.GAEAC6 @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # GaeaC6-specific job resources diff --git a/dev/parm/config/gfs/config.resources.GOOGLEPW b/dev/parm/config/gfs/config.resources.GOOGLEPW index 21e54013c79..8a148965068 100644 --- a/dev/parm/config/gfs/config.resources.GOOGLEPW +++ b/dev/parm/config/gfs/config.resources.GOOGLEPW @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # GOOGLE-specific job resources diff --git a/dev/parm/config/gfs/config.resources.HERA b/dev/parm/config/gfs/config.resources.HERA index 78d70e5561d..2fa8344f045 100644 --- a/dev/parm/config/gfs/config.resources.HERA +++ b/dev/parm/config/gfs/config.resources.HERA @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # Hera-specific job resources diff --git a/dev/parm/config/gfs/config.resources.HERCULES b/dev/parm/config/gfs/config.resources.HERCULES index f1cccba6fb7..9ba2c903594 100644 --- a/dev/parm/config/gfs/config.resources.HERCULES +++ b/dev/parm/config/gfs/config.resources.HERCULES @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # Hercules-specific job resources diff --git a/dev/parm/config/gfs/config.resources.ORION b/dev/parm/config/gfs/config.resources.ORION index e872cb69136..7fa5c4c3341 100644 --- a/dev/parm/config/gfs/config.resources.ORION +++ b/dev/parm/config/gfs/config.resources.ORION @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # Orion-specific job resources diff --git a/dev/parm/config/gfs/config.resources.WCOSS2 b/dev/parm/config/gfs/config.resources.WCOSS2 index 2e61b367fdc..3afc0a9f02c 100644 --- a/dev/parm/config/gfs/config.resources.WCOSS2 +++ b/dev/parm/config/gfs/config.resources.WCOSS2 @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 # WCOSS2-specific job resources diff --git a/dev/parm/config/sfs/config.resources b/dev/parm/config/sfs/config.resources index dc9ecc1a989..6fbe27363cb 100644 --- a/dev/parm/config/sfs/config.resources +++ b/dev/parm/config/sfs/config.resources @@ -1,4 +1,5 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034 ########## config.resources ########## # Set resource information for job tasks From d820e48328754dc29de3bc6e81a2c0c1fd004b05 Mon Sep 17 00:00:00 2001 From: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com> Date: Wed, 16 Jul 2025 14:38:07 -0400 Subject: [PATCH 15/21] HOTFIX: Update the CODEOWNERS file (#3880) This updates the CODEOWNERS file so @aerorahul and @DavidHuber-NOAA are requested as reviewers on all PRs. Previously, these lines were treated as comments. --- .github/CODEOWNERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 44b67faf8a8..dddcc2c4ff3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,8 +2,8 @@ # This file is to ensure that new development gets reviewed by the appropriate SME # global-workflow default owners (not a complete list) -@DavidHuber-NOAA -@aerorahul +* @DavidHuber-NOAA +* @aerorahul # Specific directory owners # dev/ From 22bc0a3ab4ce9ffd6137b3c9a92a7eb1fdd02df5 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Thu, 17 Jul 2025 12:51:39 +0000 Subject: [PATCH 16/21] undo change to turn off feedback as that did not fix model crash update gdas app hash to dev branch --- dev/parm/config/gcafs/config.fcst | 3 +-- dev/parm/config/gefs/config.fcst.j2 | 3 +-- sorc/gdas.cd | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/dev/parm/config/gcafs/config.fcst b/dev/parm/config/gcafs/config.fcst index 428149e891e..6f1f4571393 100644 --- a/dev/parm/config/gcafs/config.fcst +++ b/dev/parm/config/gcafs/config.fcst @@ -163,8 +163,7 @@ if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi # Radiation options if [[ "${DO_AERO_FCST}" == "YES" ]]; then if [[ "${RUN}" =~ "gfs" || "${RUN}" == "gcafs" || "${RUN}" == "gcdas" ]]; then - export IAER=1011 # TO DO undo this temp gocart fix - #export IAER=2011 # spectral band mapping method for aerosol optical properties + export IAER=2011 # spectral band mapping method for aerosol optical properties else export IAER=1011 fi diff --git a/dev/parm/config/gefs/config.fcst.j2 b/dev/parm/config/gefs/config.fcst.j2 index 7f69ca0c18f..5541fc34d0f 100644 --- a/dev/parm/config/gefs/config.fcst.j2 +++ b/dev/parm/config/gefs/config.fcst.j2 @@ -142,8 +142,7 @@ if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi # Radiation options if [[ "${DO_AERO_FCST}" == "YES" ]]; then - export IAER=1011 #TO DO undo this temp fix for gocart issues - #export IAER=2011 # spectral band mapping method for aerosol optical properties + export IAER=2011 # spectral band mapping method for aerosol optical properties else export IAER=1011 fi diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 5ca8a67b774..64e6447f890 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 5ca8a67b7746d8cf61733db2c9d02be3377cc438 +Subproject commit 64e6447f89070349bc68e388973ac281bc850f91 From d245ff70039e200e4cc8000555a9bec983702c87 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Thu, 17 Jul 2025 13:05:01 +0000 Subject: [PATCH 17/21] fix whitespace changes --- dev/parm/config/gcafs/config.fcst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/parm/config/gcafs/config.fcst b/dev/parm/config/gcafs/config.fcst index 6f1f4571393..d380bb2be8f 100644 --- a/dev/parm/config/gcafs/config.fcst +++ b/dev/parm/config/gcafs/config.fcst @@ -163,7 +163,7 @@ if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi # Radiation options if [[ "${DO_AERO_FCST}" == "YES" ]]; then if [[ "${RUN}" =~ "gfs" || "${RUN}" == "gcafs" || "${RUN}" == "gcdas" ]]; then - export IAER=2011 # spectral band mapping method for aerosol optical properties + export IAER=2011 # spectral band mapping method for aerosol optical properties else export IAER=1011 fi From 81890f3bf8613093d8722f5591f5f5e2c1544b71 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Fri, 18 Jul 2025 18:03:45 +0000 Subject: [PATCH 18/21] update config for model update --- ush/parsing_namelists_FV3.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index f1ba0a14477..6233846c2ac 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -174,6 +174,7 @@ local IMP_PHYSICS=${imp_physics:-"99"} local default_dt_inner=$(( DELTIM/2 )) local IOVR=${iovr:-"3"} local LTAEROSOL=${ltaerosol:-".false."} +local LTHAILAWARE=.false. local LRADAR=${lradar:-".true."} local TTENDLIM=${ttendlim:-"-999"} local DT_INNER=${dt_inner:-"${default_dt_inner}"} From bb3da2589b93e49803503cb4704b399eb5fa1033 Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Thu, 31 Jul 2025 08:40:30 -0400 Subject: [PATCH 19/21] updates for model --- sorc/ufs_model.fd | 2 +- ush/parsing_namelists_FV3.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 0e960577f5f..5e13aaf24c8 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 0e960577f5fffd009a93a8758313c23231aa8be9 +Subproject commit 5e13aaf24c8494d70d434da9bd13a0573a9b2347 diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index 6233846c2ac..b8d33f2b401 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -174,6 +174,7 @@ local IMP_PHYSICS=${imp_physics:-"99"} local default_dt_inner=$(( DELTIM/2 )) local IOVR=${iovr:-"3"} local LTAEROSOL=${ltaerosol:-".false."} +local MRAEROSOL=.false. local LTHAILAWARE=.false. local LRADAR=${lradar:-".true."} local TTENDLIM=${ttendlim:-"-999"} From 9f15f4e875f8709ce4231658a54d3c1fb68525a8 Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Fri, 1 Aug 2025 15:55:46 -0400 Subject: [PATCH 20/21] update model --- sorc/ufs_model.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 5e13aaf24c8..d820b67f674 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 5e13aaf24c8494d70d434da9bd13a0573a9b2347 +Subproject commit d820b67f674e1636a9b55dd1ef780b22693fc873 From 6dc014ee251fd9591900b816da445c8ad6885feb Mon Sep 17 00:00:00 2001 From: JessicaMeixner-NOAA Date: Mon, 4 Aug 2025 08:18:02 -0500 Subject: [PATCH 21/21] update upp module --- dev/jobs/upp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/jobs/upp.sh b/dev/jobs/upp.sh index 4d070e9c5c2..50b2825e391 100755 --- a/dev/jobs/upp.sh +++ b/dev/jobs/upp.sh @@ -18,7 +18,7 @@ if [[ "${MACHINE_ID}" == "wcoss2" ]]; then set +x source "${HOMEgfs}/ush/module-setup.sh" module use "${HOMEgfs}/sorc/ufs_model.fd/FV3/upp/modulefiles" - module load "${MACHINE_ID}" + module load "${MACHINE_ID}_intel" module load prod_util module load cray-pals module load cfp