Skip to content

Commit

Permalink
Merge branch 'NOAA-EMC:develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrewEichmann-NOAA committed Jan 18, 2024
2 parents bb75bfb + 7759163 commit 4710cb6
Show file tree
Hide file tree
Showing 33 changed files with 327 additions and 4,910 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ parm/post/postxconfig-NT-GFS.txt
parm/post/postxconfig-NT-gefs-aerosol.txt
parm/post/postxconfig-NT-gefs-chem.txt
parm/ufs/noahmptable.tbl
parm/ufs/model_configure.IN
parm/ufs/MOM_input_*.IN
parm/ufs/MOM6_data_table.IN
parm/ufs/ice_in.IN
parm/ufs/ufs.configure.*.IN
parm/wafs

# Ignore sorc and logs folders from externals
Expand Down
14 changes: 0 additions & 14 deletions parm/config/gefs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -231,20 +231,6 @@ export FSICL="0"
export FSICS="0"

#---------------------------------------------------------------------

# ideflate: netcdf zlib lossless compression (0-9): 0 no compression
# nbits: netcdf lossy compression level (0-32): 0 lossless
export ideflate=1
export nbits=14
export ishuffle=0
# compression for RESTART files written by FMS
export shuffle=1
export deflate_level=1

#---------------------------------------------------------------------
# Disable the use of coupler.res; get model start time from model_configure
export USE_COUPLER_RES="NO"

# Write more variables to output
export DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table"

Expand Down
53 changes: 33 additions & 20 deletions parm/config/gefs/config.ufs
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,12 @@ case "${machine}" in
"WCOSS2")
npe_node_max=128
;;
"HERA" | "ORION" | "HERCULES" )
"HERA" | "ORION" )
npe_node_max=40
;;
"HERCULES" )
npe_node_max=80
;;
"JET")
case "${PARTITION_BATCH}" in
"xjet")
Expand Down Expand Up @@ -193,7 +196,7 @@ case "${fv3_res}" in
export WRITE_GROUP=2
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10
export WRITE_GROUP_GFS=4
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=10
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=20 #Note this should be 10 for WCOSS2
;;
"C1152")
export DELTIM=120
Expand All @@ -209,7 +212,7 @@ case "${fv3_res}" in
export WRITE_GROUP=4
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10 # TODO: refine these numbers when a case is available
export WRITE_GROUP_GFS=4
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=10 # TODO: refine these numbers when a case is available
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=20 # TODO: refine these numbers when a case is available
;;
"C3072")
export DELTIM=90
Expand Down Expand Up @@ -258,6 +261,10 @@ case ${fv3_res} in
OUTPUT_FILETYPE_ATM="netcdf_parallel"
OUTPUT_FILETYPE_SFC="netcdf_parallel"
;;
*)
echo "FATAL ERROR: Unrecognized FV3 resolution ${fv3_res}"
exit 15
;;
esac
export OUTPUT_FILETYPE_ATM OUTPUT_FILETYPE_SFC

Expand Down Expand Up @@ -309,18 +316,20 @@ if [[ "${skip_mom6}" == "false" ]]; then
NY_GLB=320
DT_DYNAM_MOM6='1800'
DT_THERM_MOM6='3600'
FRUNOFF=""
FRUNOFF="runoff.daitren.clim.1deg.nc"
CHLCLIM="seawifs_1998-2006_smoothed_2X.nc"
MOM6_RESTART_SETTING='n'
MOM6_RESTART_SETTING='r'
MOM6_RIVER_RUNOFF='False'
eps_imesh="2.5e-1"
TOPOEDITS="ufs.topo_edits_011818.nc"
if [[ "${DO_JEDIOCNVAR:-NO}" = "YES" ]]; then
MOM6_DIAG_COORD_DEF_Z_FILE="oceanda_zgrid_75L.nc"
MOM6_DIAG_MISVAL="0.0"
else
MOM6_DIAG_COORD_DEF_Z_FILE="interpolate_zgrid_40L.nc"
MOM6_DIAG_MISVAL="-1e34"
fi
MOM6_ALLOW_LANDMASK_CHANGES='True'
;;
"050")
ntasks_mom6=60
Expand All @@ -334,15 +343,15 @@ if [[ "${skip_mom6}" == "false" ]]; then
MOM6_RESTART_SETTING='n'
MOM6_RIVER_RUNOFF='True'
eps_imesh="1.0e-1"
TOPOEDITS="ufs.topo_edits_011818.nc"
if [[ "${DO_JEDIOCNVAR:-NO}" = "YES" ]]; then
MOM6_DIAG_COORD_DEF_Z_FILE="oceanda_zgrid_75L.nc"
MOM6_DIAG_MISVAL="0.0"
else
MOM6_DIAG_COORD_DEF_Z_FILE="interpolate_zgrid_40L.nc"
MOM6_DIAG_MISVAL="-1e34"
fi
MOM6_ALLOW_LANDMASK_CHANGES='True'
MOM6_ALLOW_LANDMASK_CHANGES='False'
TOPOEDITS=""
;;
"025")
ntasks_mom6=220
Expand All @@ -356,15 +365,15 @@ if [[ "${skip_mom6}" == "false" ]]; then
MOM6_RIVER_RUNOFF='True'
MOM6_RESTART_SETTING="r"
eps_imesh="1.0e-1"
TOPOEDITS=""
if [[ "${DO_JEDIOCNVAR:-NO}" = "YES" ]]; then
MOM6_DIAG_COORD_DEF_Z_FILE="oceanda_zgrid_75L.nc"
MOM6_DIAG_MISVAL="0.0"
else
MOM6_DIAG_COORD_DEF_Z_FILE="interpolate_zgrid_40L.nc"
MOM6_DIAG_MISVAL="-1e34"
fi
MOM6_ALLOW_LANDMASK_CHANGES='True'
MOM6_ALLOW_LANDMASK_CHANGES='False'
TOPOEDITS=""
;;
*)
echo "FATAL ERROR: Unsupported MOM6 resolution = ${mom6_res}, ABORT!"
Expand All @@ -378,10 +387,10 @@ if [[ "${skip_mom6}" == "false" ]]; then
export DT_DYNAM_MOM6 DT_THERM_MOM6
export FRUNOFF
export CHLCLIM
export TOPOEDITS
export MOM6_RIVER_RUNOFF
export MOM6_RESTART_SETTING
export eps_imesh
export TOPOEDITS
export MOM6_DIAG_COORD_DEF_Z_FILE
export MOM6_DIAG_MISVAL
export MOM6_ALLOW_LANDMASK_CHANGES
Expand All @@ -397,6 +406,7 @@ if [[ "${skip_cice6}" == "false" ]]; then
echo "FATAL ERROR: CICE6 cannot be configured without MOM6, ABORT!"
exit 1
fi

nthreads_cice6=${nthreads_mom6} # CICE6 needs to run on same threads as MOM6
case "${cice6_res}" in
"500")
Expand Down Expand Up @@ -470,39 +480,42 @@ if [[ "${skip_gocart}" == "false" ]]; then
fi

# Set the name of the UFS (previously nems) configure template to use
# Default ufs.configure templates for supported model configurations
case "${model_list}" in
atm)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.atm.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.atm.IN"
;;
atm.aero)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.atm_aero.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.atmaero.IN"
;;
atm.wave)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
;;
atm.ocean.ice)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2s_esmf.IN"
;;
atm.ocean.ice.aero)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld_aero.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sa_esmf.IN"
;;
atm.ocean.ice.wave)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld_outerwave.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sw_esmf.IN"
;;
atm.ocean.ice.wave.aero)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld_aero_outerwave.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2swa_esmf.IN"
;;
*)
echo "FATAL ERROR: Unable to determine appropriate UFS configure template for ${model_list}"
echo "FATAL ERROR: Unsupported UFSWM configuration for ${model_list}"
exit 16
;;
esac

# Allow user to override the default template
export ufs_configure_template=${ufs_configure_template:-${default_template:-"/dev/null"}}
unset model_list default_template

if [[ ! -r "${ufs_configure_template}" ]]; then
echo "FATAL ERROR: ${ufs_configure_template} either doesn't exist or is not readable."
exit 17
fi

unset model_list

echo "END: config.ufs"
6 changes: 6 additions & 0 deletions parm/config/gfs/config.atmos_products
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,18 @@ if [[ "${RUN:-}" == "gdas" ]]; then
export downset=1
export FHOUT_PGBS=${FHOUT:-1} # Output frequency of supplemental gfs pgb file at 1.0 and 0.5 deg
export FLXGF="NO" # Create interpolated sflux.1p00 file
export WGNE="NO" # WGNE products are created for first FHMAX_WGNE forecast hours
export FHMAX_WGNE=0
elif [[ "${RUN:-}" == "gfs" ]]; then
export downset=2
export FHOUT_PGBS=${FHOUT_GFS:-3} # Output frequency of supplemental gfs pgb file at 1.0 and 0.5 deg
export FLXGF="YES" # Create interpolated sflux.1p00 file
export WGNE="YES" # WGNE products are created for first FHMAX_WGNE forecast hours
export FHMAX_WGNE=180
fi

export APCP_MSG="597" # Message number for APCP in GFSv16. Look for TODO in exglobal_atmos_products.sh

# paramlist files for the different forecast hours and downsets
export paramlista="${HOMEgfs}/parm/product/gfs.fFFF.paramlist.a.txt"
export paramlista_anl="${HOMEgfs}/parm/product/gfs.anl.paramlist.a.txt"
Expand Down
14 changes: 0 additions & 14 deletions parm/config/gfs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -231,20 +231,6 @@ export FSICL="0"
export FSICS="0"

#---------------------------------------------------------------------

# ideflate: netcdf zlib lossless compression (0-9): 0 no compression
# nbits: netcdf lossy compression level (0-32): 0 lossless
export ideflate=1
export nbits=14
export ishuffle=0
# compression for RESTART files written by FMS
export shuffle=1
export deflate_level=1

#---------------------------------------------------------------------
# Disable the use of coupler.res; get model start time from model_configure
export USE_COUPLER_RES="NO"

if [[ "${CDUMP}" =~ "gdas" ]] ; then # GDAS cycle specific parameters

# Variables used in DA cycling
Expand Down
5 changes: 5 additions & 0 deletions parm/config/gfs/config.ice
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,9 @@ echo "BEGIN: config.ice"
export min_seaice="1.0e-6"
export use_cice_alb=".true."

export MESH_ICE="mesh.mx${ICERES}.nc"

export CICE_GRID="grid_cice_NEMS_mx${ICERES}.nc"
export CICE_MASK="kmtu_cice_NEMS_mx${ICERES}.nc"

echo "END: config.ice"
3 changes: 1 addition & 2 deletions parm/config/gfs/config.ocn
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

echo "BEGIN: config.ocn"

# MOM_input template to use
export MOM_INPUT="MOM_input_template_${OCNRES}"
export MESH_OCN="mesh.mx${OCNRES}.nc"

export DO_OCN_SPPT="NO" # In MOM_input, this variable is determines OCN_SPPT (OCN_SPPT = True|False)
export DO_OCN_PERT_EPBL="NO" # In MOM_input, this variable determines PERT_EPBL (PERT_EPBL = True|False)
Expand Down
23 changes: 13 additions & 10 deletions parm/config/gfs/config.ufs
Original file line number Diff line number Diff line change
Expand Up @@ -480,39 +480,42 @@ if [[ "${skip_gocart}" == "false" ]]; then
fi

# Set the name of the UFS (previously nems) configure template to use
# Default ufs.configure templates for supported model configurations
case "${model_list}" in
atm)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.atm.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.atm.IN"
;;
atm.aero)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.atm_aero.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.atmaero.IN"
;;
atm.wave)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
;;
atm.ocean.ice)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2s_esmf.IN"
;;
atm.ocean.ice.aero)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld_aero.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sa_esmf.IN"
;;
atm.ocean.ice.wave)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld_outerwave.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sw_esmf.IN"
;;
atm.ocean.ice.wave.aero)
export ufs_configure_template="${HOMEgfs}/parm/ufs/ufs.configure.cpld_aero_outerwave.IN"
default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2swa_esmf.IN"
;;
*)
echo "FATAL ERROR: Unable to determine appropriate UFS configure template for ${model_list}"
echo "FATAL ERROR: Unsupported UFSWM configuration for ${model_list}"
exit 16
;;
esac

# Allow user to override the default template
export ufs_configure_template=${ufs_configure_template:-${default_template:-"/dev/null"}}
unset model_list default_template

if [[ ! -r "${ufs_configure_template}" ]]; then
echo "FATAL ERROR: ${ufs_configure_template} either doesn't exist or is not readable."
exit 17
fi

unset model_list

echo "END: config.ufs"
1 change: 0 additions & 1 deletion parm/ufs/fv3/data_table

This file was deleted.

Loading

0 comments on commit 4710cb6

Please sign in to comment.