Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ufs.configure, model_configure, MOM_input, data_table, and ice_in templates from UFS-weather-model #2051

Merged
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
493a240
use ice_in_template from ufswm instead of creating in from scratch in gw
aerorahul Nov 10, 2023
5479c19
link and parse model_configure from UFSWM
aerorahul Nov 10, 2023
c00e4a2
ignore links from ufs-weather-model templates
aerorahul Nov 10, 2023
35f8ac9
fix errors
aerorahul Nov 10, 2023
b7c7ed4
incorporate inputs from NB on grid-types for atm, ocean and ice in th…
aerorahul Nov 14, 2023
43895f2
set compression levels in parsing_model_configure_FV3.sh directly
aerorahul Nov 14, 2023
3b9d643
Merge branch 'develop' into feature/ufswm_templates
aerorahul Dec 29, 2023
bb9045a
rename ush/parsing_nems_configure.sh to ush/parsing_ufs_configure.sh …
aerorahul Dec 29, 2023
db4d434
use MOM6 templates from ufs-weather-model
aerorahul Dec 29, 2023
a6568ec
local variables are used in parsing namelists. ignore shellcheck war…
aerorahul Dec 29, 2023
9b95b6a
fix typos
aerorahul Dec 29, 2023
a79ffe4
remove files no longer used in global-workflow. They are obtained fro…
aerorahul Jan 2, 2024
117a945
use the DATA_TABLE template from UFSWM
aerorahul Jan 2, 2024
f00f689
move some variables from postdet to configs
aerorahul Jan 2, 2024
21550c1
remove unused variable
aerorahul Jan 2, 2024
53eb65c
prepare for taking in ufs.configure templates from UFSWM
aerorahul Jan 3, 2024
cee85d9
MESH_OCN and MESH_ICE are different variables. They happen to be the…
aerorahul Jan 3, 2024
ea05e88
prepare for ufs.configure from UFSWM
aerorahul Jan 3, 2024
90880a7
ensure the possiblity of waves without ocean
aerorahul Jan 3, 2024
08f378e
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 8, 2024
7043d55
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 8, 2024
cd30795
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 8, 2024
8fb140e
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 8, 2024
7ac174e
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 10, 2024
3ff7898
update hash to ufs-weather-model. The noahmptable.tbl was reorganized…
aerorahul Jan 12, 2024
1da5e83
Merge branch 'develop' into feature/update_ufs_hash
aerorahul Jan 12, 2024
473ab03
Merge branch 'feature/update_ufs_hash' into feature/ufswm_templates
aerorahul Jan 12, 2024
e591f28
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 13, 2024
f46ae2d
use ufs.configure templates from UFSWM
aerorahul Jan 14, 2024
c22eff4
update gefs/config.ufs for looks like missed updates from gfs/config.ufs
aerorahul Jan 14, 2024
30f6095
change calendar type as model now uses gregorian as default
aerorahul Jan 16, 2024
e060e61
Merge branch 'develop' into feature/ufswm_templates
aerorahul Jan 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
11 changes: 0 additions & 11 deletions parm/config/gefs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -230,17 +230,6 @@ export use_cice_alb=${use_cice_alb:-".false."}
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"
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"
11 changes: 0 additions & 11 deletions parm/config/gfs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -230,17 +230,6 @@ export use_cice_alb=${use_cice_alb:-".false."}
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"
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"
WalterKolczynski-NOAA marked this conversation as resolved.
Show resolved Hide resolved

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