From 5e95458676735b710172ae7a7d2275b52b9397a9 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 00:48:47 +0000 Subject: [PATCH 01/13] Add -p and -r options to checkout script: -p checkout ufs-weather-model prototype and patch source code for workflow compatibility (only EP4A is supported) -r checkout ufs-weather-model repository instead of default --- sorc/checkout.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 57bdae649f..4176989722 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -15,6 +15,8 @@ Usage: ${BASH_SOURCE[0]} [-c][-h][-m ufs_hash] Create a fresh clone (delete existing directories) -h: Print this help message and exit + -r ufs_repo: + Check out this UFS repository instead of the default -m ufs_hash: Check out this UFS hash instead of the default -g: @@ -107,8 +109,12 @@ export CLEAN="NO" checkout_gsi="NO" checkout_gdas="NO" +ufs_model_hash=4d05445 +ufs_model_repo=https://github.com/ufs-community/ufs-weather-model +ufs_model_proto=none + # Parse command line arguments -while getopts ":chgum:o" option; do +while getopts ":chgur:m:op:" option; do case ${option} in c) echo "Received -c flag, will delete any existing directories and start clean" @@ -123,6 +129,14 @@ while getopts ":chgum:o" option; do echo "Received -u flag for optional checkout of UFS-based DA" checkout_gdas="YES" ;; + p) + echo "Received -p flag with argument, will check out ufs-weather-model prototype ${OPTARG} instead of default" + ufs_model_proto=${OPTARG} + ;; + r) + echo "Received -r flag with argument, will check out ufs-weather-model repository ${OPTARG} instead of default" + ufs_model_repo=${OPTARG} + ;; m) echo "Received -m flag with argument, will check out ufs-weather-model hash ${OPTARG} instead of default" ufs_model_hash=${OPTARG} @@ -148,11 +162,20 @@ mkdir -p "${logdir}" source "${topdir}/../workflow/gw_setup.sh" # The checkout version should always be a speciifc commit (hash or tag), not a branch +case "${ufs_model_proto}" in + EP4A) + ufs_model_repo=https://github.com/rmontuoro/ufs-weather-model + ufs_model_hash=ee4992b + ;; + *) + ;; +esac + errs=0 checkout "wxflow" "https://github.com/NOAA-EMC/wxflow" "528f5ab" ; errs=$((errs + $?)) checkout "gfs_utils.fd" "https://github.com/NOAA-EMC/gfs-utils" "8965258" ; errs=$((errs + $?)) checkout "ufs_utils.fd" "https://github.com/ufs-community/UFS_UTILS.git" "72a0471" ; errs=$((errs + $?)) -checkout "ufs_model.fd" "https://github.com/ufs-community/ufs-weather-model" "${ufs_model_hash:-4d05445}" ; errs=$((errs + $?)) +checkout "ufs_model.fd" "${ufs_model_repo}" "${ufs_model_hash}" ; errs=$((errs + $?)) checkout "verif-global.fd" "https://github.com/NOAA-EMC/EMC_verif-global.git" "c267780" ; errs=$((errs + $?)) if [[ ${checkout_gsi} == "YES" ]]; then @@ -168,6 +191,43 @@ if [[ ${checkout_gsi} == "YES" || ${checkout_gdas} == "YES" ]]; then checkout "gsi_monitor.fd" "https://github.com/NOAA-EMC/GSI-Monitor.git" "45783e3"; errs=$((errs + $?)) fi +cd "${topdir}" || exit 1 + +case "${ufs_model_proto}" in + EP4A) + echo -n "Patching UFS prototype source code for global workflow compatibility ... " + ed <<-"EOF" >> ${logdir}/checkout_ufs_model.log + e ufs_model.fd/tests/detect_machine.sh + /Append compiler + .,$d + w + e ufs_model.fd/tests/compile.sh + /BUILD_NAME=fv3 + a + + compiler=${4:-intel} + clean_before=${5:-YES} + clean_after=${6:-YES} + MACHINE_ID=${MACHINE_ID}.${compiler} + . + w + q + EOF + if [ $? -eq 0 ]; then + > ufs_model.fd/FV3/ccpp/physics/physics/noahmptable.tbl + fi + if [ $? -eq 0 ]; then + echo SUCCESS + else + errs=$((errs + $?)) + echo FAILED + fi + ;; + *) + ;; +esac + + if (( errs > 0 )); then echo "WARNING: One or more errors encountered during checkout process, please check logs before building" fi From 8c673abc439596aec07e2f367f3ae8247752e643 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 00:57:01 +0000 Subject: [PATCH 02/13] Add --proto option to setup_case.py. This option supports the set up of prototype-specific configurations for prototype . Only works for EP4A. --- workflow/setup_expt.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/workflow/setup_expt.py b/workflow/setup_expt.py index 7f9651f79a..8a2e75a968 100755 --- a/workflow/setup_expt.py +++ b/workflow/setup_expt.py @@ -316,7 +316,8 @@ def edit_baseconfig(host, inputs, yaml_dict): "@EXP_WARM_START@": is_warm_start, "@MODE@": inputs.mode, "@gfs_cyc@": inputs.gfs_cyc, - "@APP@": inputs.app + "@APP@": inputs.app, + "@PROTO@": inputs.proto } tmpl_dict = dict(tmpl_dict, **extend_dict) @@ -430,8 +431,10 @@ def _gfs_or_gefs_ensemble_args(parser): return parser def _gfs_or_gefs_forecast_args(parser): + parser.add_argument('--proto', help='UFS prototype', type=str, + choices=['EP4A'], required=False, default='None') parser.add_argument('--app', help='UFS application', type=str, - choices=ufs_apps + ['S2SWA'], required=False, default='ATM') + choices=ufs_apps + ['S2SWA', 'EP4A'], required=False, default='ATM') parser.add_argument('--gfs_cyc', help='Number of forecasts per day', type=int, choices=[1, 2, 4], default=1, required=False) return parser From 2b713441ee9ad30f3d396042dc577da6bfd2d1b3 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:08:06 +0000 Subject: [PATCH 03/13] Implement configuration settings for EP4A --- parm/config/gefs/config.base.emc.dyn | 29 ++++++++++++++ parm/config/gefs/config.efcs | 59 ++++++++++++++++++++-------- parm/config/gefs/config.fcst | 21 ++++++++++ parm/config/gefs/config.ufs | 27 +++++++++++++ ush/forecast_postdet.sh | 36 +++++++++++------ ush/parsing_namelists_FV3.sh | 18 +++++++++ ush/parsing_namelists_MOM6.sh | 11 +++++- ush/parsing_namelists_WW3.sh | 13 +++++- 8 files changed, 183 insertions(+), 31 deletions(-) diff --git a/parm/config/gefs/config.base.emc.dyn b/parm/config/gefs/config.base.emc.dyn index 09a12bdaf3..5bb2eebcaf 100644 --- a/parm/config/gefs/config.base.emc.dyn +++ b/parm/config/gefs/config.base.emc.dyn @@ -128,6 +128,9 @@ export SENDDBN_NTC=${SENDDBN_NTC:-"NO"} export SENDDBN=${SENDDBN:-"NO"} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} +# PROTO settings +export PROTO=@PROTO@ + # APP settings export APP=@APP@ @@ -151,6 +154,19 @@ export OPS_RES="C768" # Do not change export LEVS=128 export CASE="@CASECTL@" export CASE_ENS="@CASEENS@" +# +# Setup prototype cases +case "${PROTO}" in + EP4A) + APP="S2SWA" + CASE="C384" + CASE_ENS="C384" + ;; + *) + ;; +esac + + # TODO: This should not depend on $CASE or $CASE_ENS # These are the currently available grid-combinations case "${CASE}" in @@ -322,4 +338,17 @@ export ARCH_FCSTICFREQ=1 # Archive frequency in days for gdas and gfs foreca export DELETE_COM_IN_ARCHIVE_JOB="YES" # NO=retain ROTDIR. YES default in arch.sh and earc.sh. +# Setup prototype cases +case "${PROTO}" in + EP4A) + APP="S2SWA" + CASE="C384" + CASE_ENS="C384" + OCNRES=025 + waveGRD='glo_025' + ;; + *) + ;; +esac + echo "END: config.base" diff --git a/parm/config/gefs/config.efcs b/parm/config/gefs/config.efcs index e2aefaf47a..12714592f0 100644 --- a/parm/config/gefs/config.efcs +++ b/parm/config/gefs/config.efcs @@ -42,23 +42,48 @@ export RERUN_EFCSGRP="NO" export WRITE_DOPOST=".true." # Stochastic physics parameters (only for ensemble forecasts) -export DO_SKEB="YES" -export SKEB=0.3 -export SKEB_TAU=21600. -export SKEB_LSCALE=250000. -export SKEBNORM=0 -export SKEB_NPASS=30 -export SKEB_VDOF=5 -export DO_SHUM="YES" -export SHUM=0.005 -export SHUM_TAU=21600. -export SHUM_LSCALE=500000. -export DO_SPPT="YES" -export SPPT=0.5 -export SPPT_TAU=21600. -export SPPT_LSCALE=500000. -export SPPT_LOGIT=".true." -export SPPT_SFCLIMIT=".true." +case "${PROTO:-}" in + EP4A) + export OUTPUT_FILETYPE_ATM="netcdf_parallel" + export OUTPUT_FILETYPE_ATM="netcdf_parallel" + export MOM6_RESTART_SETTING=n + export IEMS_ENKF=2 + export FHCYC_ENKF=24 + export DO_SKEB="YES" + export SKEB=0.8 + export SKEB_TAU=21600. + export SKEB_LSCALE=500000. + export SKEBNORM=1 + export SKEB_NPASS=30 + export SKEB_VDOF=5 + export DO_SHUM="NO" + export DO_SPPT="YES" + export SPPT=0.56 + export SPPT_TAU=21600. + export SPPT_LSCALE=500000. + export SPPT_LOGIT=".true." + export SPPT_SFCLIMIT=".true." + ;; + *) + export DO_SKEB="YES" + export SKEB=0.3 + export SKEB_TAU=21600. + export SKEB_LSCALE=250000. + export SKEBNORM=0 + export SKEB_NPASS=30 + export SKEB_VDOF=5 + export DO_SHUM="YES" + export SHUM=0.005 + export SHUM_TAU=21600. + export SHUM_LSCALE=500000. + export DO_SPPT="YES" + export SPPT=0.5 + export SPPT_TAU=21600. + export SPPT_LSCALE=500000. + export SPPT_LOGIT=".true." + export SPPT_SFCLIMIT=".true." + ;; +esac export restart_interval=${restart_interval:-6} diff --git a/parm/config/gefs/config.fcst b/parm/config/gefs/config.fcst index a125c96331..0276f144b1 100644 --- a/parm/config/gefs/config.fcst +++ b/parm/config/gefs/config.fcst @@ -298,6 +298,26 @@ else export io_layout="1,1" fi +# Use prototype settings +case "${PROTO}" in + EP4A) + export tau=0.0 + export rf_cutoff=10. + export d2_bg_k1=0.15 + export d2_bg_k2=0 + export IAER=2011 + export io_layout="16,16" + export MOM6_RESTART_SETTING=n + export ODA_INCUPD_NHOURS=0 + AERO_CONFIG_DIR=${HOMEgfs}/parm/ufs/ep4a + AERO_DIAG_TABLE=${AERO_CONFIG_DIR}/diag_table.aero + AERO_FIELD_TABLE=${AERO_CONFIG_DIR}/field_table.aero + aero_conv_scav_factors="'*:0.3','so2:0.0','msa:0.0','dms:0.0','bc1:0.6','bc2:0.6','oc1:0.4','oc2:0.4','dust1:0.6','dust2:0.6', 'dust3:0.6','dust4:0.6','dust5:0.6','seas1:0.5','seas2:0.5','seas3:0.5','seas4:0.5','seas5:0.5'" + ;; + *) + ;; +esac + if [[ "${DO_AERO}" = "YES" ]]; then # temporary settings for aerosol coupling export AERO_DIAG_TABLE="${AERO_DIAG_TABLE:-${HOMEgfs}/parm/ufs/fv3/diag_table.aero}" export AERO_FIELD_TABLE="${AERO_FIELD_TABLE:-${HOMEgfs}/parm/ufs/fv3/field_table.aero}" @@ -309,6 +329,7 @@ if [[ "${DO_AERO}" = "YES" ]]; then # temporary settings for aerosol coupling export dnats_aero="${aero_diag_tracers:-0}" fi + # Remember config.efcs will over-ride these values for ensemble forecasts # if these variables are re-defined there. # Otherwise, the ensemble forecast will inherit from config.fcst diff --git a/parm/config/gefs/config.ufs b/parm/config/gefs/config.ufs index bfbb0a12cb..d21e4cd6d9 100644 --- a/parm/config/gefs/config.ufs +++ b/parm/config/gefs/config.ufs @@ -381,4 +381,31 @@ if [[ "${skip_ww3}" == "false" ]]; then export ntasks_ww3 nthreads_ww3 fi +case "${PROTO}" in + EP4A) + export layout_x=16 + export layout_y=16 + export nthreads_fv3=1 + export nthreads_fv3_gfs=1 + (( ntasks_fv3 = layout_x * layout_y * 6 )) + (( ntasks_fv3_gfs = layout_x_gfs * layout_y_gfs * 6 )) + export ntasks_fv3 + export ntasks_fv3_gfs + export WRITE_GROUP=1 + export WRITE_GROUP_GFS=1 + (( ntasks_quilt = WRITE_GROUP * WRTTASK_PER_GROUP_PER_THREAD )) + (( ntasks_quilt_gfs = WRITE_GROUP_GFS * WRTTASK_PER_GROUP_PER_THREAD_GFS )) + export ntasks_quilt + export ntasks_quilt_gfs + export ntasks_cice6=72 + export nthreads_cice6=1 + export ntasks_mom6=130 + export nthreads_mom6=1 + export ntasks_ww3=262 + export nthreads_ww3=1 + ;; + *) + ;; +esac + echo "END: config.ufs" diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 1f1f13eac9..70cdc221c4 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -238,7 +238,7 @@ EOF ${NLN} "${FIX_DIR}/am/global_sfc_emissivity_idx.txt" "${DATA}/sfc_emissivity_idx.txt" ## merra2 aerosol climo - if [[ ${IAER} -eq "1011" ]]; then + if [[ ${IAER} -eq "1011" ]] || [[ ${IAER} -eq "2011" ]]; then for month in $(seq 1 12); do MM=$(printf %02d "${month}") ${NLN} "${FIX_DIR}/aer/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc" @@ -677,16 +677,30 @@ CPL_out() { MOM6_postdet() { echo "SUB ${FUNCNAME[0]}: MOM6 after run type determination" - # Copy MOM6 ICs - ${NLN} "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res.nc" "${DATA}/INPUT/MOM.res.nc" - case ${OCNRES} in - "025") - for nn in $(seq 1 4); do - if [[ -f "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res_${nn}.nc" ]]; then - ${NLN} "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res_${nn}.nc" "${DATA}/INPUT/MOM.res_${nn}.nc" - fi - done - ;; + case "${PROTO:-none}" in + EP4A) + ${NCP} -pf ${COM_OCEAN_INPUT}/ORAS5.mx025.ic.nc ${DATA}/INPUT/ORAS5.mx025.ic.nc + if [[ -n "${ENSGRP:-}" ]]; then + pfile="${COM_OCEAN_INPUT}/mem$(printf %03i ${ENSGRP})_pert.nc" + ${NCP} -pf ${pfile} ${DATA}/INPUT/mom6_increment.nc + fi + ${NCP} -pf ${FIX_DIR}/ep4a/interpolate_zgrid_26L.nc ${DATA}/INPUT + ;; + none) + # Copy MOM6 ICs + ${NLN} "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res.nc" "${DATA}/INPUT/MOM.res.nc" + case ${OCNRES} in + "025") + for nn in $(seq 1 4); do + if [[ -f "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res_${nn}.nc" ]]; then + ${NLN} "${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.MOM.res_${nn}.nc" "${DATA}/INPUT/MOM.res_${nn}.nc" + fi + done + ;; + esac + ;; + *) + ;; esac # Link increment diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index baf81602c2..7970568f81 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -421,6 +421,12 @@ if [[ ${DO_LAND_PERT:-"NO"} = "YES" ]]; then EOF fi +# End &gfs_physics_nml +cat >> input.nml << EOF +/ + +EOF + if [[ ${knob_ugwp_version} -eq 0 ]]; then cat >> input.nml << EOF &cires_ugwp_nml @@ -539,7 +545,19 @@ cat >> input.nml <> input.nml << EOF FNSOCC = '${FNSOCC}' +EOF + ;; +esac + +cat >> input.nml << EOF FNSMCC = '${FNSMCC}' FNMSKH = '${FNMSKH}' FNTSFA = '${FNTSFA}' diff --git a/ush/parsing_namelists_MOM6.sh b/ush/parsing_namelists_MOM6.sh index 4dceb845a2..435a4e8934 100755 --- a/ush/parsing_namelists_MOM6.sh +++ b/ush/parsing_namelists_MOM6.sh @@ -62,7 +62,16 @@ echo "$(cat input.nml)" #Copy MOM_input and edit: -${NCP} -pf "${HOMEgfs}/parm/ufs/mom6/MOM_input_template_${OCNRES}" "${DATA}/INPUT/" +case "${PROTO}" in + EP4A) + MOM_input_tmpl="${HOMEgfs}/parm/ufs/ep4a/MOM_input_template_${OCNRES}" + ;; + *) + MOM_input_tmpl="${HOMEgfs}/parm/ufs/mom6/MOM_input_template_${OCNRES}" + ;; +esac + +${NCP} -pf "${MOM_input_tmpl}" "${DATA}/INPUT/" sed -e "s/@\[DT_THERM_MOM6\]/${DT_THERM_MOM6}/g" \ -e "s/@\[DT_DYNAM_MOM6\]/${DT_DYNAM_MOM6}/g" \ -e "s/@\[MOM6_RIVER_RUNOFF\]/${MOM6_RIVER_RUNOFF}/g" \ diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index c53af9f18f..f0626049b6 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -99,9 +99,18 @@ WW3_namelists(){ # Buoy location file - if [ -f $PARMwave/wave_${NET}.buoys ] + case "${PROTO}" in + EP4A) + PARMbuoy=${HOMEgfs}/parm/ufs/ep4a + ;; + *) + PARMbuoy=${PARMwave} + ;; + esac + + if [ -f $PARMbuoy/wave_${NET}.buoys ] then - cp $PARMwave/wave_${NET}.buoys buoy.loc + cp $PARMbuoy/wave_${NET}.buoys buoy.loc fi if [ -f buoy.loc ] From bb0ff0e0678c5b11fad5cce1b6093b45f52c20dd Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:09:15 +0000 Subject: [PATCH 04/13] Properly set ATMTILESIZE --- ush/nems_configure.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/nems_configure.sh b/ush/nems_configure.sh index 5de127bb31..ecbc4acde5 100755 --- a/ush/nems_configure.sh +++ b/ush/nems_configure.sh @@ -56,7 +56,7 @@ if [[ "${cplflx}" = ".true." ]]; then local CPLMODE="${cplmode}" local coupling_interval_fast_sec="${CPL_FAST}" local RESTART_N="${restart_interval}" - local ATMTILESIZE="${CASE:2:}" + local ATMTILESIZE="${CASE:1}" fi if [[ "${cplice}" = ".true." ]]; then From 9aee96c6ccea19bf5328aecf37717c3c5ec1a81f Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:11:26 +0000 Subject: [PATCH 05/13] Set RUNwave in ensemble forecast job script if needed --- jobs/JGDAS_ENKF_FCST | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/JGDAS_ENKF_FCST b/jobs/JGDAS_ENKF_FCST index e8f9393363..97c07f9c90 100755 --- a/jobs/JGDAS_ENKF_FCST +++ b/jobs/JGDAS_ENKF_FCST @@ -8,6 +8,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "efcs" -c "base fcst efcs" # Set variables used in the script ############################################## export CDUMP=${RUN/enkf} +[[ ${DO_WAVE} == "YES" ]] && declare -rx RUNwave="${RUN}wave" ############################################## # Begin JOB SPECIFIC work @@ -30,7 +31,6 @@ fi export ENSEND=$((NMEM_EFCSGRP * 10#${ENSGRP})) export ENSBEG=$((ENSEND - NMEM_EFCSGRP + 1)) - ############################################################### # Run relevant script From 0b344a82566a78b1c5cf6c4f8b69ed9685d9846c Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:17:08 +0000 Subject: [PATCH 06/13] Add MOM6 fix file for EP4A --- fix/ep4a/interpolate_zgrid_26L.nc | Bin 0 -> 760 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 fix/ep4a/interpolate_zgrid_26L.nc diff --git a/fix/ep4a/interpolate_zgrid_26L.nc b/fix/ep4a/interpolate_zgrid_26L.nc new file mode 100644 index 0000000000000000000000000000000000000000..c44194a47c61d85f36bdc1a12291a4428c6ea1b0 GIT binary patch literal 760 zcmZ{eJ4^yW5QYy0<0~d6+F)}g)>g*E#*E>SsKkKJC`JyvaN6ps27j8TpOkxfSyf>Jl6o{=XWW1=pS z`o78l$9*5TA6MnxWLNWG0@U8JER za~jfYBlBHkQAL)X);@Zj2$c2v$o1m`RC=}Z*~=|?$q$%A1q;MwVwku}+#n`gDPWuY zF8O`(N%BYJHIM?*RL^+mbqNI+pwGHU!$X=93giKO!9^B7ZzfyaI@qzK7hHUWliQ28 Om%B4?-dl~ULgEYXHFU@T literal 0 HcmV?d00001 From 9e67179adb24a65274147e2c9103cd96e2859298 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:23:40 +0000 Subject: [PATCH 07/13] Add WW3 shel template for EP4A --- parm/wave/ww3_shel.gefs.inp.tmpl | 1 + 1 file changed, 1 insertion(+) create mode 120000 parm/wave/ww3_shel.gefs.inp.tmpl diff --git a/parm/wave/ww3_shel.gefs.inp.tmpl b/parm/wave/ww3_shel.gefs.inp.tmpl new file mode 120000 index 0000000000..a5d49020ad --- /dev/null +++ b/parm/wave/ww3_shel.gefs.inp.tmpl @@ -0,0 +1 @@ +ww3_shel.gfs.inp.tmpl \ No newline at end of file From 8e640fb0de61b2f5655f3f85913a989fbacc29d9 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:24:22 +0000 Subject: [PATCH 08/13] Add EP4A buoy list --- parm/wave/wave_gefs.buoys | 1 + 1 file changed, 1 insertion(+) create mode 120000 parm/wave/wave_gefs.buoys diff --git a/parm/wave/wave_gefs.buoys b/parm/wave/wave_gefs.buoys new file mode 120000 index 0000000000..6f47adefac --- /dev/null +++ b/parm/wave/wave_gefs.buoys @@ -0,0 +1 @@ +wave_gfs.buoys.full \ No newline at end of file From 8ebbd8c26621fa6387a76427ba31b11ec65f16f0 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Thu, 31 Aug 2023 01:25:18 +0000 Subject: [PATCH 09/13] Include additional EP4A configuration files --- parm/ufs/ep4a/AERO.rc | 10 + parm/ufs/ep4a/AERO_ExtData.rc | 160 +++++ parm/ufs/ep4a/AERO_HISTORY.rc | 387 ++++++++++++ parm/ufs/ep4a/AGCM.rc | 5 + parm/ufs/ep4a/CA2G_instance_CA.bc.rc | 41 ++ parm/ufs/ep4a/CA2G_instance_CA.br.rc | 48 ++ parm/ufs/ep4a/CA2G_instance_CA.oc.rc | 48 ++ parm/ufs/ep4a/CAP.rc | 74 +++ parm/ufs/ep4a/DU2G_instance_DU.rc | 46 ++ parm/ufs/ep4a/ExtData.gbbepx | 8 + parm/ufs/ep4a/ExtData.none | 8 + parm/ufs/ep4a/ExtData.other | 150 +++++ parm/ufs/ep4a/ExtData.qfed | 8 + parm/ufs/ep4a/GOCART2G_GridComp.rc | 41 ++ parm/ufs/ep4a/MOM_input_template_025 | 909 +++++++++++++++++++++++++++ parm/ufs/ep4a/NI2G_instance_NI.rc | 33 + parm/ufs/ep4a/SS2G_instance_SS.rc | 43 ++ parm/ufs/ep4a/SU2G_instance_SU.rc | 53 ++ parm/ufs/ep4a/diag_table.aero | 23 + parm/ufs/ep4a/field_table.aero | 102 +++ parm/ufs/ep4a/gocart_tracer.list | 20 + parm/ufs/ep4a/wave_gefs.buoys | 614 ++++++++++++++++++ 22 files changed, 2831 insertions(+) create mode 100644 parm/ufs/ep4a/AERO.rc create mode 100644 parm/ufs/ep4a/AERO_ExtData.rc create mode 100644 parm/ufs/ep4a/AERO_HISTORY.rc create mode 100644 parm/ufs/ep4a/AGCM.rc create mode 100644 parm/ufs/ep4a/CA2G_instance_CA.bc.rc create mode 100644 parm/ufs/ep4a/CA2G_instance_CA.br.rc create mode 100644 parm/ufs/ep4a/CA2G_instance_CA.oc.rc create mode 100644 parm/ufs/ep4a/CAP.rc create mode 100644 parm/ufs/ep4a/DU2G_instance_DU.rc create mode 100644 parm/ufs/ep4a/ExtData.gbbepx create mode 100644 parm/ufs/ep4a/ExtData.none create mode 100644 parm/ufs/ep4a/ExtData.other create mode 100644 parm/ufs/ep4a/ExtData.qfed create mode 100644 parm/ufs/ep4a/GOCART2G_GridComp.rc create mode 100644 parm/ufs/ep4a/MOM_input_template_025 create mode 100644 parm/ufs/ep4a/NI2G_instance_NI.rc create mode 100644 parm/ufs/ep4a/SS2G_instance_SS.rc create mode 100644 parm/ufs/ep4a/SU2G_instance_SU.rc create mode 100644 parm/ufs/ep4a/diag_table.aero create mode 100644 parm/ufs/ep4a/field_table.aero create mode 100644 parm/ufs/ep4a/gocart_tracer.list create mode 100644 parm/ufs/ep4a/wave_gefs.buoys diff --git a/parm/ufs/ep4a/AERO.rc b/parm/ufs/ep4a/AERO.rc new file mode 100644 index 0000000000..ff40fba2aa --- /dev/null +++ b/parm/ufs/ep4a/AERO.rc @@ -0,0 +1,10 @@ +NX: 4 +NY: 24 + +# Atmospheric Model Configuration Parameters +# ------------------------------------------ +IOSERVER_NODES: 0 + +DYCORE: NONE + +NUM_BANDS: 30 diff --git a/parm/ufs/ep4a/AERO_ExtData.rc b/parm/ufs/ep4a/AERO_ExtData.rc new file mode 100644 index 0000000000..477c684b1c --- /dev/null +++ b/parm/ufs/ep4a/AERO_ExtData.rc @@ -0,0 +1,160 @@ +PrimaryExports%% +# -------------|-------|-------|--------|----------------------|--------|--------|-------------|----------| +# Import | | | Regrid | Refresh | OffSet | Scale | Variable On | File | +# Name | Units | Clim | Method | Time Template | Factor | Factor | File | Template | +# -------------|-------|-------|--------|----------------------|--------|--------|-------------|----------| + +#====== Atmospheric Parameters ======================================= +TROPP 'Pa' Y N - 0.0 1.0 TROPP /dev/null:10000. + +#====== Dust Imports ================================================= +# Ginoux input files +DU_SRC NA N Y - none none du_src ExtData/Dust/gocart.dust_source.v5a.x1152_y721.nc + +# FENGSHA input files. Note: regridding should be N or E - Use files with _FillValue != NaN +DU_CLAY '1' Y E - none none clayfrac ExtData/Dust/FENGSHA_p81_10km_inputs.nc +DU_SAND '1' Y E - none none sandfrac ExtData/Dust/FENGSHA_p81_10km_inputs.nc +DU_SILT '1' Y E - none none siltfrac /dev/null +DU_SSM '1' Y E - none none ssm /dev/null:1.0 +DU_RDRAG '1' Y E %y4-%m2-%d2t12:00:00 none none albedo_drag ExtData/Dust/FENGSHA_p81_10km_inputs.nc +DU_UTHRES '1' Y E - none none uthres ExtData/Dust/FENGSHA_p81_10km_inputs.nc + +#====== Sulfate Sources ================================================= +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +SU_ANTHROL1 NA N Y %y4-%m2-%d2t12:00:00 none none SO2 ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +SU_ANTHROL2 NA N Y %y4-%m2-%d2t12:00:00 none none SO2_elev ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Ship emissions +SU_SHIPSO2 NA N Y %y4-%m2-%d2t12:00:00 none none SO2_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +SU_SHIPSO4 NA N Y %y4-%m2-%d2t12:00:00 none none SO4_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Aircraft fuel consumption +SU_AIRCRAFT NA Y Y %y4-%m2-%d2t12:00:00 none none none /dev/null + +# DMS concentration +SU_DMSO NA Y Y %y4-%m2-%d2t12:00:00 none none conc ExtData/MERRA2/sfc/DMSclim_sfcconcentration.x360_y181_t12.Lana2011.nc4 + +# Aviation emissions during the three phases of flight +SU_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none so2_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_so2.aviation_lto.x3600_y1800_t12.2010.nc4 +SU_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none so2_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_so2.aviation_cds.x3600_y1800_t12.2010.nc4 +SU_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none so2_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_so2.aviation_crs.x3600_y1800_t12.2010.nc4 + +# H2O2, OH and NO3 mixing ratios +# -------------------------------------------------------------- +# If using 64 levels please replace this section with the correct values (ie replace 127 with 64) + +SU_H2O2 NA N Y %y4-%m2-%d2t12:00:00 none none h2o2 ExtData/PIESA/L127/A2_ACCMIP_gmic_MERRA_oh_h2o2_no3.x144_y91_z127_t14.%y4.nc +SU_OH NA N Y %y4-%m2-%d2t12:00:00 none none oh ExtData/PIESA/L127/A2_ACCMIP_gmic_MERRA_oh_h2o2_no3.x144_y91_z127_t14.%y4.nc +SU_NO3 NA N Y %y4-%m2-%d2t12:00:00 none none no3 ExtData/PIESA/L127/A2_ACCMIP_gmic_MERRA_oh_h2o2_no3.x144_y91_z127_t14.%y4.nc +#--------------------------------------------------------------- + +# Production of SO2 from OCS oxidation +pSO2_OCS NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +#SU_regionMask NA N v - none none REGION_MASK /scratch1/NCEPDEV/nems/Raffaele.Montuoro/data/NASA/ExtData/PIESA/sfc/ARCTAS.region_mask.x540_y361.2008.nc + +#=========== Carbonaceous aerosol sources =========================================== +# ORGANIC CARBON +# --------------- + +# # VOCs - OFFLINE MEGAN BIOG +OC_ISOPRENE NA N Y %y4-%m2-%d2t12:00:00 none none isoprene ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc +OC_LIMO NA N Y %y4-%m2-%d2t12:00:00 none none limo ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc +OC_MTPA NA N Y %y4-%m2-%d2t12:00:00 none none mtpa ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc +OC_MTPO NA N Y %y4-%m2-%d2t12:00:00 none none mtpo ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc + +# Biofuel Source -- Included in AeroCom anthropogenic emissions +OC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +OC_ANTEOC1 NA N Y %y4-%m2-%d2t12:00:00 none none OC ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +OC_ANTEOC2 NA N Y %y4-%m2-%d2t12:00:00 none none OC_elev ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# EDGAR based ship emissions +OC_SHIP NA N Y %y4-%m2-%d2t12:00:00 none none OC_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Aircraft fuel consumption +OC_AIRCRAFT NA N Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null + +# Aviation emissions during the three phases of flight +OC_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_oc.aviation_lto.x3600_y1800_t12.2010.nc4 +OC_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_oc.aviation_cds.x3600_y1800_t12.2010.nc4 +OC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_oc.aviation_crs.x3600_y1800_t12.2010.nc4 + +# SOA production +pSOA_ANTHRO_VOC NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +#============================================================================================================ +# BLACK CARBON +# ------------ + +# Biofuel Source -- Included in AeroCom anthropogenic emissions +BC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +BC_ANTEBC1 NA N Y %y4-%m2-%d2t12:00:00 none none BC ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +BC_ANTEBC2 NA N Y %y4-%m2-%d2t12:00:00 none none BC_elev ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# EDGAR based ship emissions +BC_SHIP NA N Y %y4-%m2-%d2t12:00:00 none none BC_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Aircraft fuel consumption +BC_AIRCRAFT NA N Y %y4-%m2-%d2t12:00:00 none none bc_aviation /dev/null + +# Aviation emissions during the LTO, SDC and CRS phases of flight +BC_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_bc.aviation_lto.x3600_y1800_t12.2010.nc4 +BC_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_bc.aviation_cds.x3600_y1800_t12.2010.nc4 +BC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_bc.aviation_crs.x3600_y1800_t12.2010.nc4 + +#============================================================================================================ +# BROWN CARBON +# ------------ +# Biomass burning -- QFED-v2.x +BRC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass /dev/null + +# Terpene emission +BRC_TERPENE NA Y Y %y4-%m2-%d2t12:00:00 none none terpene /dev/null + +# Biofuel Source -- Included in AeroCom anthropogenic emissions +BRC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +BRC_ANTEBRC1 NA Y Y %y4-%m2-%d2t12:00:00 none none anteoc1 /dev/null +BRC_ANTEBRC2 NA Y Y %y4-%m2-%d2t12:00:00 none none anteoc2 /dev/null + +# EDGAR based ship emissions +BRC_SHIP NA Y Y %y4-%m2-%d2t12:00:00 none none oc_ship /dev/null + +# Aircraft fuel consumption +BRC_AIRCRAFT NA N Y %y4-%m2-%d2t12:00:00 none none none /dev/null + +# Aviation emissions during the three phases of flight +BRC_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null +BRC_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null +BRC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null + +# SOA production +pSOA_BIOB_VOC NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# ======= Nitrate Sources ======== +EMI_NH3_AG 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_ag ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_EN 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_en /dev/null +EMI_NH3_IN 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_in ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_RE 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_re ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_TR 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_tr ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_OC 'kg m-2 s-1' Y Y %y4-%m2-%d2T12:00:00 none none emiss_ocn ExtData/PIESA/sfc/GEIA.emis_NH3.ocean.x576_y361.t12.20080715_12z.nc4 + +# -------------------------------------------------------------- +# If using 64 levels please replace this section with the correct values (ie replace 127 with 64) +NITRATE_HNO3 'mol mol-1' Y N %y4-%m2-%d2T12:00:00 none 0.20 hno3 ExtData/PIESA/L127/GMI.vmr_HNO3.x144_y91.t12.2006.nc4 +# -------------------------------------------------------------- +NI_regionMask NA Y V - none none REGION_MASK ExtData/PIESA/sfc/ARCTAS.region_mask.x540_y361.2008.nc +#====== BIOMASS BURNING EMISSIONS ======================================= + +# QFED +#-------------------------------------------------------------------------------------------------------------------------------- +SU_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 +OC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 +BC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 +EMI_NH3_BB NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 +%% diff --git a/parm/ufs/ep4a/AERO_HISTORY.rc b/parm/ufs/ep4a/AERO_HISTORY.rc new file mode 100644 index 0000000000..84effec232 --- /dev/null +++ b/parm/ufs/ep4a/AERO_HISTORY.rc @@ -0,0 +1,387 @@ +####################################################################### +# Create History List for Output +####################################################################### + +VERSION: 1 +EXPID: gocart +EXPDSC: GOCART2g_diagnostics_at_c360 +EXPSRC: GEOSgcm-v10.16.0 + + +COLLECTIONS: 'inst_aod' +# 'inst_du_ss' +# 'inst_ca' +# 'inst_ni' +# 'inst_su' +# 'inst_du_bin' +# 'inst_ss_bin' +# 'inst_ca_bin' +# 'inst_ni_bin' +# 'inst_su_bin' +# 'inst_2d' +# 'inst_3d' +# 'inst_aod' +# 'tavg_du_ss' +# 'tavg_du_bin' +# 'tavg_2d_rad' +# 'tavg_3d_rad' + :: + +################################################## +# The GRID_LABELS section must be after the main # +# list of COLLECTIONS for scripting purposes. # +################################################## + +GRID_LABELS: PC720x361-DC +:: + + +PC720x361-DC.GRID_TYPE: LatLon +PC720x361-DC.IM_WORLD: 720 +PC720x361-DC.JM_WORLD: 361 +PC720x361-DC.POLE: PC +PC720x361-DC.DATELINE: DC +PC720x361-DC.LM: 72 + +# --------------------- +# Aerosols/Constituents +# --------------------- +# +#### Instantaneous (hourly) output + +# +# 3d aerosols +# + inst_du_ss.format: 'CFIO' , + inst_du_ss.descr: '3d,Hourly,Instantaneous,Model-Level,Aerosol Concentrations', + inst_du_ss.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_du_ss.mode: 'instantaneous', + inst_du_ss.grid_label: PC720x361-DC , + inst_du_ss.splitField: 1, + inst_du_ss.frequency: 120000 , + inst_du_ss.duration: 010000 , + inst_du_ss.ref_time: 000000 , + inst_du_ss.nbits: 10, + inst_du_ss.fields: 'DU' , 'DU' , + 'SS' , 'SS' , + :: + + tavg_du_ss.format: 'CFIO' , + tavg_du_ss.descr: '3d,Hourly,Instantaneous,Model-Level,Aerosol Concentrations', + tavg_du_ss.template: '%y4%m2%d2_%h2%n2z.nc4', + tavg_du_ss.mode: 'time-averaged', + tavg_du_ss.grid_label: PC720x361-DC , + tavg_du_ss.splitField: 1, + tavg_du_ss.frequency: 120000 , + tavg_du_ss.duration: 010000 , + tavg_du_ss.ref_time: 000000 , + tavg_du_ss.nbits: 10, + tavg_du_ss.fields: 'DU' , 'DU' , + 'SS' , 'SS' , + :: + + inst_ca.format: 'CFIO' , + inst_ca.descr: '3d,Hourly,Instantaneous,Model-Level,Aerosol Concentrations', + inst_ca.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_ca.mode: 'instantaneous', + inst_ca.grid_label: PC720x361-DC , + inst_ca.frequency: 120000 , + inst_ca.duration: 010000 , + inst_ca.ref_time: 000000 , + inst_ca.nbits: 10, + inst_ca.fields: 'CAphilicCA.bc' , 'CA.bc' , + 'CAphobicCA.bc' , 'CA.bc' , + 'CAphilicCA.oc' , 'CA.oc' , + 'CAphobicCA.oc' , 'CA.oc' , + :: + + inst_su.format: 'CFIO' , + inst_su.descr: '3d,Hourly,Instantaneous,Model-Level,Aerosol Concentrations', + inst_su.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_su.mode: 'instantaneous', + inst_su.grid_label: PC720x361-DC , + inst_su.frequency: 120000 , + inst_su.duration: 010000 , + inst_su.ref_time: 000000 , + inst_su.nbits: 10, + inst_su.fields: 'DMS' , 'SU' , + 'SO2' , 'SU' , + 'SO4' , 'SU' , + 'MSA' , 'SU' , + :: +# +# Binned aerosols +# + + inst_du_bin.format: 'CFIO' , + inst_du_bin.descr: '2d,Hourly,Instantaneous' + inst_du_bin.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_du_bin.mode: 'instantaneous' + inst_du_bin.grid_label: PC720x361-DC , + inst_du_bin.splitField: 1, + inst_du_bin.frequency: 010000 , + inst_du_bin.duration: 010000 , + inst_du_bin.ref_time: 000000 , + inst_du_bin.nbits: 10, + inst_du_bin.fields: 'DUEM' , 'DU' , + 'DUSD' , 'DU' , + 'DUDP' , 'DU' , + 'DUWT' , 'DU' , + 'DUSV' , 'DU' , + :: + + tavg_du_bin.format: 'CFIO' , + tavg_du_bin.descr: '2d,Hourly,Instantaneous' + tavg_du_bin.template: '%y4%m2%d2_%h2%n2z.nc4', + tavg_du_bin.mode: 'time-averaged' + tavg_du_bin.grid_label: PC720x361-DC , + tavg_du_bin.splitField: 1, + tavg_du_bin.frequency: 030000 , + tavg_du_bin.duration: 010000 , + tavg_du_bin.ref_time: 000000 , + tavg_du_bin.nbits: 10, + tavg_du_bin.fields: 'DUEM' , 'DU' , + 'DUSD' , 'DU' , + 'DUDP' , 'DU' , + 'DUWT' , 'DU' , + 'DUSV' , 'DU' , + :: + + inst_ss_bin.format: 'CFIO' , + inst_ss_bin.descr: '2d,Hourly,Instantaneous' + inst_ss_bin.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_ss_bin.mode: 'instantaneous' + inst_ss_bin.grid_label: PC720x361-DC , + inst_ss_bin.splitField: 1, + inst_ss_bin.frequency: 060000 , + inst_ss_bin.duration: 010000 , + inst_ss_bin.ref_time: 000000 , + inst_ss_bin.nbits: 10, + inst_ss_bin.fields: 'SSEM' , 'SS' , + 'SSSD' , 'SS' , + 'SSDP' , 'SS' , + 'SSWT' , 'SS' , + 'SSSV' , 'SS' , + :: + + inst_ca_bin.format: 'CFIO' , + inst_ca_bin.descr: '3d,Hourly,Instantaneous,Model-Level' + inst_ca_bin.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_ca_bin.mode: 'instantaneous' + inst_ca_bin.grid_label: PC720x361-DC , + inst_ca_bin.splitField: 1, + inst_ca_bin.frequency: 120000 , + inst_ca_bin.duration: 010000 , + inst_ca_bin.ref_time: 000000 , + inst_ca_bin.nbits: 10, + inst_ca_bin.fields: 'CAEMCA.bc' , 'CA.bc' , + 'CAEMCA.oc' , 'CA.oc' , + 'CASDCA.bc' , 'CA.bc' , + 'CASDCA.oc' , 'CA.oc' , + 'CADPCA.bc' , 'CA.bc' , + 'CADPCA.oc' , 'CA.oc' , + 'CAWTCA.bc' , 'CA.bc' , + 'CAWTCA.oc' , 'CA.oc' , + 'CASVCA.bc' , 'CA.bc' , + 'CASVCA.oc' , 'CA.oc' , + :: + + inst_su_bin.format: 'CFIO' , + inst_su_bin.descr: '3d,Hourly,Instantaneous,Model-Level' + inst_su_bin.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_su_bin.mode: 'instantaneous', + inst_su_bin.grid_label: PC720x361-DC , + inst_su_bin.splitField: 1, + inst_su_bin.frequency: 120000 , + inst_su_bin.duration: 010000 , + inst_su_bin.ref_time: 000000 , + inst_su_bin.nbits: 10, + inst_su_bin.fields: 'SUEM' , 'SU', + 'SUSD' , 'SU', + 'SUDP' , 'SU', + 'SUWT' , 'SU', + 'SUSV' , 'SU', + :: + +# +# Other 2d diagnostics +# + inst_2d.format: 'CFIO' , + inst_2d.descr: '3d,Hourly,Instantaneous' + inst_2d.template: '%y4%m2%d2_%h2%n2z.nc4', + inst_2d.archive: '%c/Y%y4', + inst_2d.mode: 'instantaneous' + inst_2d.frequency: 030000, + inst_2d.duration: 030000, + inst_2d.ref_time: 000000, + inst_2d.grid_label: PC720x361-DC + inst_2d.fields: 'DUSMASS' , 'DU' , + 'DUCMASS' , 'DU' , + 'DUSMASS25' , 'DU' , + 'DUCMASS25' , 'DU' , + 'DUAERIDX' , 'DU' , + 'DUFLUXU' , 'DU' , + 'DUFLUXV' , 'DU' , + 'DUANGSTR' , 'DU' , + 'SSSMASS' , 'SS' , + 'SSCMASS' , 'SS' , + 'SSSMASS25' , 'SS' , + 'SSCMASS25' , 'SS' , + 'SSAERIDX' , 'SS' , + 'SSANGSTR' , 'SS' , + 'SSFLUXU' , 'SS' , + 'SSFLUXV' , 'SS' , + 'CAEMANCA.bc' , 'CA.bc' , + 'CAEMANCA.oc' , 'CA.oc' , + 'CAEMBBCA.bc' , 'CA.bc' , + 'CAEMBBCA.oc' , 'CA.oc' , + 'CAEMBFCA.bc' , 'CA.bc' , + 'CAEMBFCA.oc' , 'CA.oc' , + 'CAEMBGCA.bc' , 'CA.bc' , + 'CAEMBGCA.oc' , 'CA.oc' , + 'CAHYPHILCA.bc' , 'CA.bc' , + 'CAHYPHILCA.oc' , 'CA.oc' , + 'CAPSOACA.bc' , 'CA.bc' , + 'CAPSOACA.oc' , 'CA.oc' , + 'CASMASSCA.bc' , 'CA.bc' , + 'CASMASSCA.oc' , 'CA.oc' , + 'CACMASSCA.bc' , 'CA.bc' , + 'CACMASSCA.oc' , 'CA.oc' , + 'CAANGSTRCA.bc' , 'CA.bc' , + 'CAANGSTRCA.oc' , 'CA.oc' , + 'CAFLUXUCA.bc' , 'CA.bc' , + 'CAFLUXUCA.oc' , 'CA.oc' , + 'CAFLUXVCA.bc' , 'CA.bc' , + 'CAFLUXVCA.oc' , 'CA.oc' , + 'CAAERIDXCA.bc' , 'CA.bc' , + 'CAAERIDXCA.oc' , 'CA.oc' , + 'SUPSO2' , 'SU' , + 'SUPSO4' , 'SU' , + 'SUPSO4G' , 'SU' , + 'SUPSO4AQ' , 'SU' , + 'SUPSO4WT' , 'SU' , + 'SUPMSA' , 'SU' , + 'SO2SMASS' , 'SU' , + 'SO2CMASS' , 'SU' , + 'SO4SMASS' , 'SU' , + 'SO4CMASS' , 'SU' , + 'DMSSMASS' , 'SU' , + 'DMSCMASS' , 'SU' , + 'MSASMASS' , 'SU' , + 'MSACMASS' , 'SU' , + 'SUANGSTR' , 'SU' , + 'SUFLUXU' , 'SU' , + 'SUFLUXV' , 'SU' , + 'SO4EMAN' , 'SU' , + 'SO2EMAN' , 'SU' , + 'SO2EMBB' , 'SU' , + 'SO2EMVN' , 'SU' , + 'SO2EMVE' , 'SU' , + :: + +# +# 3d diagnostics +# + inst_3d.format: 'CFIO' , + inst_3d.template: '%y4%m2%d2_%h2%n2z.nc4' , + inst_3d.archive: '%c/Y%y4' , + inst_3d.mode: 'instantaneous' + inst_3d.frequency: 060000, + inst_3d.duration: 010000, + inst_3d.ref_time: 000000, + inst_3d.grid_label: PC720x361-DC + inst_3d.fields: 'DUMASS' , 'DU', + 'DUMASS25' , 'DU', + 'DUCONC' , 'DU', + 'SSMASS' , 'SS', + 'SSMASS25' , 'SS', + 'SSCONC' , 'SS', + 'CAMASSCA.bc' , 'CA.bc' , + 'CACONCCA.bc' , 'CA.bc' , + 'CAMASSCA.oc' , 'CA.oc' , + 'CACONCCA.oc' , 'CA.oc' , + 'SO4MASS' , 'SU', + 'SO4SAREA' , 'SU', + 'SO4SNUM' , 'SU', + 'SUCONC' , 'SU', + 'PSO2' , 'SU', + 'PMSA' , 'SU', + 'PSO4' , 'SU', + 'PSO4G' , 'SU', + 'PSO4WET' , 'SU', + 'PSO4AQ' , 'SU', + 'DMS' , 'SU', + 'SO2' , 'SU', + 'SO4' , 'SU', + 'MSA' , 'SU', + :: + + +# +# Radiation-related diagnostics +# + inst_aod.format: 'CFIO' , + inst_aod.template: '%y4%m2%d2_%h2%n2z.nc4' , + inst_aod.archive: '%c/Y%y4' , + inst_aod.mode: 'instantaneous' + inst_aod.frequency: 060000, + inst_aod.duration: 010000, + inst_aod.ref_time: 000000, + inst_aod.grid_label: PC720x361-DC + inst_aod.fields: 'CA.bcEXTTAU' , 'CA.bc' , 'AOD_BC', + 'CA.ocEXTTAU' , 'CA.oc' , 'AOD_OC', + 'DUEXTTAU' , 'DU' , 'AOD_DU', + 'SSEXTTAU' , 'SS' , 'AOD_SS', + 'SUEXTTAU' , 'SU' , 'AOD_SU', + 'TOTEXTTAU' , 'GOCART2G' , 'AOD' , + :: + + + tavg_2d_rad.format: 'CFIO' , + tavg_2d_rad.template: '%y4%m2%d2_%h2%n2z.nc4', + tavg_2d_rad.archive: '%c/Y%y4', + tavg_2d_rad.mode: 'time-averaged', + tavg_2d_rad.frequency: 120000, + tavg_2d_rad.duration: 120000, + tavg_2d_rad.ref_time: 000000, + tavg_2d_rad.grid_label: PC720x361-DC + tavg_2d_rad.fields: 'CA.bcEXTTAU' , 'CA.bc' , + 'CA.ocEXTTAU' , 'CA.oc' , + 'CASCATAUCA.bc' , 'CA.bc' , + 'CASCATAUCA.oc' , 'CA.oc' , + 'DUEXTTAU' , 'DU' , + 'DUSCATAU' , 'DU' , + 'DUEXTT25' , 'DU' , + 'DUSCAT25' , 'DU' , + 'DUEXTTFM' , 'DU' , + 'DUSCATFM' , 'DU' , + 'SSEXTTAU' , 'SS' , + 'SSSCATAU' , 'SS' , + 'SSEXTT25' , 'SS' , + 'SSSCAT25' , 'SS' , + 'SSEXTTFM' , 'SS' , + 'SSSCATFM' , 'SS' , + 'SUEXTTAU' , 'SU' , + 'SUSCATAU' , 'SU' , + :: + + tavg_3d_rad.format: 'CFIO' , + tavg_3d_rad.template: '%y4%m2%d2_%h2%n2z.nc4', + tavg_3d_rad.archive: '%c/Y%y4', + tavg_3d_rad.mode: 'time-averaged', + tavg_3d_rad.frequency: 120000, + tavg_3d_rad.duration: 120000, + tavg_3d_rad.ref_time: 000000, + tavg_3d_rad.grid_label: PC720x361-DC + tavg_3d_rad.splitField: 1, + tavg_3d_rad.fields: 'CAEXTCOEFCA.bc' , 'CA.bc' , + 'CAEXTCOEFCA.oc' , 'CA.oc' , + 'CASCACOEFCA.bc' , 'CA.bc' , + 'CASCACOEFCA.oc' , 'CA.oc' , + 'DUEXTCOEF' , 'DU' , + 'DUSCACOEF' , 'DU' , + 'SSEXTCOEF' , 'SS' , + 'SSSCACOEF' , 'SS' , + 'SUEXTCOEF' , 'SU' , + 'SUSCACOEF' , 'SU' , + :: diff --git a/parm/ufs/ep4a/AGCM.rc b/parm/ufs/ep4a/AGCM.rc new file mode 100644 index 0000000000..9539b49655 --- /dev/null +++ b/parm/ufs/ep4a/AGCM.rc @@ -0,0 +1,5 @@ +# ------------------------------------------ +# Atmospheric Model Configuration Parameters +# ------------------------------------------ +# +# This file must be present but empty for UFS Aerosols diff --git a/parm/ufs/ep4a/CA2G_instance_CA.bc.rc b/parm/ufs/ep4a/CA2G_instance_CA.bc.rc new file mode 100644 index 0000000000..f6411e2c9d --- /dev/null +++ b/parm/ufs/ep4a/CA2G_instance_CA.bc.rc @@ -0,0 +1,41 @@ +# +# Resource file for Black Carbon parameters. +# + +nbins: 2 + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_BC.v1_3.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_BC.v1_3.nc + +# Aircraft emission factor: convert input unit to kg C +aircraft_fuel_emission_factor: 1.0000 + +# Heights [m] of LTO, CDS and CRS aviation emissions layers +aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 + +# Initially hydrophobic portion +hydrophobic_fraction: 0.8 + +# Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) +fscav: 0.0 0.4 + +# Dry particle density [kg m-3] +particle_density: 1800 1800 + +# Molecular weight of species [kg mole-1] +molecular_weight: 0.18 0.18 + +# Number of particles per kg mass +fnum: 1.50e19 1.50e19 + +# Number median radius [um] +particle_radius_microns: 0.35 0.35 + +rhFlag: 0 + +# Sigma of lognormal number distribution +sigma: 2.0 2.0 + +pressure_lid_in_hPa: 0.01 + +point_emissions_srcfilen: /dev/null diff --git a/parm/ufs/ep4a/CA2G_instance_CA.br.rc b/parm/ufs/ep4a/CA2G_instance_CA.br.rc new file mode 100644 index 0000000000..41360831f3 --- /dev/null +++ b/parm/ufs/ep4a/CA2G_instance_CA.br.rc @@ -0,0 +1,48 @@ +# +# Resource file for BR parameters. +# + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_BRC.v1_5.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_BRC.v1_5.nc + +# Aircraft emission factor: convert input unit to kg C +aircraft_fuel_emission_factor: 1.0000 + +# Heights [m] of LTO, CDS and CRS aviation emissions layers +aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 + +# Fraction of biogenic VOCs emissions for SOA production +monoterpenes_emission_fraction: 0.0 +isoprene_emission_fraction: 0.0 + +# Ratio of POM/BRC -> convert source masses from carbon to POM +pom_ca_ratio: 1.8 + +# Initially hydrophobic portion +hydrophobic_fraction: 0.5 + +# Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) +fscav: 0.0 0.4 + +# particle radius +particle_radius_microns: 0.35 0.35 + +rhFlag: 0 + +# Dry particle density [kg m-3] +particle_density: 1800 1800 + +# Molecular weight of species [kg mole-1] +molecular_weight: 0.18 0.18 + +# Number of particles per kg mass +fnum: 9.76e17 9.76e17 + +# Sigma of lognormal number distribution +sigma: 2.20 2.20 + +nbins: 2 + +pressure_lid_in_hPa: 0.01 + +point_emissions_srcfilen: /dev/null diff --git a/parm/ufs/ep4a/CA2G_instance_CA.oc.rc b/parm/ufs/ep4a/CA2G_instance_CA.oc.rc new file mode 100644 index 0000000000..6e3f5ef978 --- /dev/null +++ b/parm/ufs/ep4a/CA2G_instance_CA.oc.rc @@ -0,0 +1,48 @@ +# +# Resource file for Organic Carbon parameters. +# + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_OC.v1_3.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_OC.v1_3.nc + +# Aircraft emission factor: convert input unit to kg C +aircraft_fuel_emission_factor: 1.0000 + +# Heights [m] of LTO, CDS and CRS aviation emissions layers +aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 + +# Fraction of biogenic VOCs emissions for SOA production +monoterpenes_emission_fraction: 0.05 +isoprene_emission_fraction: 0.03 + +# Ratio of POM/OC -> convert source masses from carbon to POM +pom_ca_ratio: 1.8 + +# particle radius +particle_radius_microns: 0.35 0.35 + +rhFlag: 0 + +# Initially hydrophobic portion +hydrophobic_fraction: 0.5 + +# Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) +fscav: 0.0 0.4 + +# Dry particle density [kg m-3] +particle_density: 1800 1800 + +# Molecular weight of species [kg mole-1] +molecular_weight: 0.18 0.18 + +# Number of particles per kg mass +fnum: 9.76e17 9.76e17 + +# Sigma of lognormal number distribution +sigma: 2.20 2.20 + +pressure_lid_in_hPa: 0.01 + +nbins: 2 + +point_emissions_srcfilen: /dev/null diff --git a/parm/ufs/ep4a/CAP.rc b/parm/ufs/ep4a/CAP.rc new file mode 100644 index 0000000000..ff5fd34f4a --- /dev/null +++ b/parm/ufs/ep4a/CAP.rc @@ -0,0 +1,74 @@ +MAPLROOT_COMPNAME: AERO + ROOT_NAME: AERO +ROOT_CF: AERO.rc +HIST_CF: AERO_HISTORY.rc +EXTDATA_CF: AERO_ExtData.rc + +REPORT_THROUGHPUT: .false. + +USE_SHMEM: 0 + +MAPL_ENABLE_TIMERS: NO +MAPL_ENABLE_MEMUTILS: NO +PRINTSPEC: 0 # (0: OFF, 1: IMPORT & EXPORT, 2: IMPORT, 3: EXPORT) + + +# Meteorological fields imported from atmospheric model +# ----------------------------------------------------- +CAP_IMPORTS: + FROCEAN + FRACI + FRSNOW + LWI + U10M + V10M + USTAR + TS + DZ + FRLAKE + AREA + ZPBL + SH + Z0H + CN_PRCP + NCN_PRCP + AIRDENS + DELP + T + RH2 + ZLE + PLE + PFL_LSAN + PFI_LSAN + U + V + WET1 + SLC + FCLD +:: + + +# Prognostic Tracers Table +# GOCARTname,GOCARTcomp. AtmTracerName +#--------------------------------------- +CAP_EXPORTS: + SS,SS seas* + DU,DU dust* + DMS,SU dms + MSA,SU msa + SO2,SU so2 + SO4,SU so4 + CA.bcphobic,CA.bc bc1 + CA.bcphilic,CA.bc bc2 + CA.ocphobic,CA.oc oc1 + CA.ocphilic,CA.oc oc2 +:: + + +# Diagnostic Tracers Table (only PM10 & PM25 available) +# InternalName AtmTracerName +#--------------------------------------- +CAP_DIAGNOSTICS: + PM10 pm10 + PM25 pm25 +:: diff --git a/parm/ufs/ep4a/DU2G_instance_DU.rc b/parm/ufs/ep4a/DU2G_instance_DU.rc new file mode 100644 index 0000000000..c701efb128 --- /dev/null +++ b/parm/ufs/ep4a/DU2G_instance_DU.rc @@ -0,0 +1,46 @@ +# +# Resource file Dust parameters. +# + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_DU.v15_3.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_DU.v15_3.nc + +particle_radius_microns: 0.73 1.4 2.4 4.5 8.0 + +radius_lower: 0.1 1.0 1.8 3.0 6.0 + +radius_upper: 1.0 1.8 3.0 6.0 10.0 + +source_fraction: 1.0 1.0 1.0 1.0 1.0 + +# units [kg/m-3] +particle_density: 2500. 2650. 2650. 2650. 2650. + +# Resolution dependent tuning constant for emissions (a,b,c,d,e,f) (Ginoux, K14) +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 # + +# Molecular weight of species [kg mole-1] +molecular_weight: 0.1 0.1 0.1 0.1 0.1 + +# Number of particles per kg mass +fnum: 2.45e14 3.28e13 6.52e12 9.89e11 1.76e11 + +rhFlag: 0 + +# Maring settling velocity correction +maringFlag: .true. + +nbins: 5 + +pressure_lid_in_hPa: 0.01 + +# Emissions methods +emission_scheme: fengsha # choose among: fengsha, ginoux, k14 + +# FENGSHA settings +alpha: 0.04 +gamma: 1.0 +vertical_to_horizontal_flux_ratio_limit: 2.e-04 diff --git a/parm/ufs/ep4a/ExtData.gbbepx b/parm/ufs/ep4a/ExtData.gbbepx new file mode 100644 index 0000000000..0661e8412a --- /dev/null +++ b/parm/ufs/ep4a/ExtData.gbbepx @@ -0,0 +1,8 @@ +#====== BIOMASS BURNING EMISSIONS ======================================= + +# GBBEPx +#-------------------------------------------------------------------------------------------------------------------------------- +SU_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none SO2 ExtData/nexus/GBBEPx/GBBEPx_all01GRID.emissions_v003_%y4%m2%d2.nc +OC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none OC ExtData/nexus/GBBEPx/GBBEPx_all01GRID.emissions_v003_%y4%m2%d2.nc +BC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none BC ExtData/nexus/GBBEPx/GBBEPx_all01GRID.emissions_v003_%y4%m2%d2.nc +EMI_NH3_BB NA N Y %y4-%m2-%d2t12:00:00 none none NH3 ExtData/nexus/GBBEPx/GBBEPx_all01GRID.emissions_v003_%y4%m2%d2.nc diff --git a/parm/ufs/ep4a/ExtData.none b/parm/ufs/ep4a/ExtData.none new file mode 100644 index 0000000000..15ad023eb8 --- /dev/null +++ b/parm/ufs/ep4a/ExtData.none @@ -0,0 +1,8 @@ +#====== BIOMASS BURNING EMISSIONS ======================================= + +# NONE +#-------------------------------------------------------------------------------------------------------------------------------- +SU_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass /dev/null +OC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass /dev/null +BC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass /dev/null +EMI_NH3_BB NA N Y %y4-%m2-%d2t12:00:00 none none biomass /dev/null diff --git a/parm/ufs/ep4a/ExtData.other b/parm/ufs/ep4a/ExtData.other new file mode 100644 index 0000000000..5eb1e1dd0b --- /dev/null +++ b/parm/ufs/ep4a/ExtData.other @@ -0,0 +1,150 @@ +# -------------|-------|-------|--------|----------------------|--------|--------|-------------|----------| +# Import | | | Regrid | Refresh | OffSet | Scale | Variable On | File | +# Name | Units | Clim | Method | Time Template | Factor | Factor | File | Template | +# -------------|-------|-------|--------|----------------------|--------|--------|-------------|----------| + +#====== Atmospheric Parameters ======================================= +TROPP 'Pa' Y N - 0.0 1.0 TROPP /dev/null:10000. + +#====== Dust Imports ================================================= +# Ginoux input files +DU_SRC NA N Y - none none du_src ExtData/Dust/gocart.dust_source.v5a.x1152_y721.nc + +# FENGSHA input files. Note: regridding should be N or E - Use files with _FillValue != NaN +DU_CLAY '1' Y E - none none clayfrac ExtData/Dust/FENGSHA_p81_10km_inputs.nc +DU_SAND '1' Y E - none none sandfrac ExtData/Dust/FENGSHA_p81_10km_inputs.nc +DU_SILT '1' Y E - none none siltfrac /dev/null +DU_SSM '1' Y E - none none ssm /dev/null:1.0 +DU_RDRAG '1' Y E %y4-%m2-%d2t12:00:00 none none albedo_drag ExtData/Dust/FENGSHA_p81_10km_inputs.nc +DU_UTHRES '1' Y E - none none uthres ExtData/Dust/FENGSHA_p81_10km_inputs.nc + +#====== Sulfate Sources ================================================= +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +SU_ANTHROL1 NA N Y %y4-%m2-%d2t12:00:00 none none SO2 ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +SU_ANTHROL2 NA N Y %y4-%m2-%d2t12:00:00 none none SO2_elev ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Ship emissions +SU_SHIPSO2 NA N Y %y4-%m2-%d2t12:00:00 none none SO2_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +SU_SHIPSO4 NA N Y %y4-%m2-%d2t12:00:00 none none SO4_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Aircraft fuel consumption +SU_AIRCRAFT NA Y Y %y4-%m2-%d2t12:00:00 none none none /dev/null + +# DMS concentration +SU_DMSO NA Y Y %y4-%m2-%d2t12:00:00 none none conc ExtData/MERRA2/sfc/DMSclim_sfcconcentration.x360_y181_t12.Lana2011.nc4 + +# Aviation emissions during the three phases of flight +SU_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none so2_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_so2.aviation_lto.x3600_y1800_t12.2010.nc4 +SU_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none so2_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_so2.aviation_cds.x3600_y1800_t12.2010.nc4 +SU_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none so2_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_so2.aviation_crs.x3600_y1800_t12.2010.nc4 + +# H2O2, OH and NO3 mixing ratios +# -------------------------------------------------------------- +# If using 64 levels please replace this section with the correct values (ie replace 127 with 64) + +SU_H2O2 NA N Y %y4-%m2-%d2t12:00:00 none none h2o2 ExtData/PIESA/L127/A2_ACCMIP_gmic_MERRA_oh_h2o2_no3.x144_y91_z127_t14.%y4.nc +SU_OH NA N Y %y4-%m2-%d2t12:00:00 none none oh ExtData/PIESA/L127/A2_ACCMIP_gmic_MERRA_oh_h2o2_no3.x144_y91_z127_t14.%y4.nc +SU_NO3 NA N Y %y4-%m2-%d2t12:00:00 none none no3 ExtData/PIESA/L127/A2_ACCMIP_gmic_MERRA_oh_h2o2_no3.x144_y91_z127_t14.%y4.nc +#--------------------------------------------------------------- + +# Production of SO2 from OCS oxidation +pSO2_OCS NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +#SU_regionMask NA N v - none none REGION_MASK /scratch1/NCEPDEV/nems/Raffaele.Montuoro/data/NASA/ExtData/PIESA/sfc/ARCTAS.region_mask.x540_y361.2008.nc + +#=========== Carbonaceous aerosol sources =========================================== +# ORGANIC CARBON +# --------------- + +# # VOCs - OFFLINE MEGAN BIOG +OC_ISOPRENE NA N Y %y4-%m2-%d2t12:00:00 none none isoprene ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc +OC_LIMO NA N Y %y4-%m2-%d2t12:00:00 none none limo ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc +OC_MTPA NA N Y %y4-%m2-%d2t12:00:00 none none mtpa ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc +OC_MTPO NA N Y %y4-%m2-%d2t12:00:00 none none mtpo ExtData/nexus/MEGAN_OFFLINE_BVOC/v2019-10/%y4/MEGAN.OFFLINE.BIOVOC.%y4.emis.%y4%m2%d2.nc + +# Biofuel Source -- Included in AeroCom anthropogenic emissions +OC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +OC_ANTEOC1 NA N Y %y4-%m2-%d2t12:00:00 none none OC ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +OC_ANTEOC2 NA N Y %y4-%m2-%d2t12:00:00 none none OC_elev ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# EDGAR based ship emissions +OC_SHIP NA N Y %y4-%m2-%d2t12:00:00 none none OC_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Aircraft fuel consumption +OC_AIRCRAFT NA N Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null + +# Aviation emissions during the three phases of flight +OC_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_oc.aviation_lto.x3600_y1800_t12.2010.nc4 +OC_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_oc.aviation_cds.x3600_y1800_t12.2010.nc4 +OC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_oc.aviation_crs.x3600_y1800_t12.2010.nc4 + +# SOA production +pSOA_ANTHRO_VOC NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +#============================================================================================================ +# BLACK CARBON +# ------------ + +# Biofuel Source -- Included in AeroCom anthropogenic emissions +BC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +BC_ANTEBC1 NA N Y %y4-%m2-%d2t12:00:00 none none BC ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +BC_ANTEBC2 NA N Y %y4-%m2-%d2t12:00:00 none none BC_elev ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# EDGAR based ship emissions +BC_SHIP NA N Y %y4-%m2-%d2t12:00:00 none none BC_ship ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc + +# Aircraft fuel consumption +BC_AIRCRAFT NA N Y %y4-%m2-%d2t12:00:00 none none bc_aviation /dev/null + +# Aviation emissions during the LTO, SDC and CRS phases of flight +BC_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_bc.aviation_lto.x3600_y1800_t12.2010.nc4 +BC_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_bc.aviation_cds.x3600_y1800_t12.2010.nc4 +BC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none bc_aviation ExtData/PIESA/sfc/HTAP/v2.2/htap-v2.2.emis_bc.aviation_crs.x3600_y1800_t12.2010.nc4 + +#============================================================================================================ +# BROWN CARBON +# ------------ +# Biomass burning -- QFED-v2.x +BRC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass /dev/null + +# Terpene emission +BRC_TERPENE NA Y Y %y4-%m2-%d2t12:00:00 none none terpene /dev/null + +# Biofuel Source -- Included in AeroCom anthropogenic emissions +BRC_BIOFUEL NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# Anthropogenic (BF & FF) emissions -- allowed to input as two layers +BRC_ANTEBRC1 NA Y Y %y4-%m2-%d2t12:00:00 none none anteoc1 /dev/null +BRC_ANTEBRC2 NA Y Y %y4-%m2-%d2t12:00:00 none none anteoc2 /dev/null + +# EDGAR based ship emissions +BRC_SHIP NA Y Y %y4-%m2-%d2t12:00:00 none none oc_ship /dev/null + +# Aircraft fuel consumption +BRC_AIRCRAFT NA N Y %y4-%m2-%d2t12:00:00 none none none /dev/null + +# Aviation emissions during the three phases of flight +BRC_AVIATION_LTO NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null +BRC_AVIATION_CDS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null +BRC_AVIATION_CRS NA Y Y %y4-%m2-%d2t12:00:00 none none oc_aviation /dev/null + +# SOA production +pSOA_BIOB_VOC NA Y Y %y4-%m2-%d2t12:00:00 none none biofuel /dev/null + +# ======= Nitrate Sources ======== +EMI_NH3_AG 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_ag ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_EN 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_en /dev/null +EMI_NH3_IN 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_in ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_RE 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_re ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_TR 'kg m-2 s-1' N Y %y4-%m2-%d2T12:00:00 none none NH3_tr ExtData/nexus/CEDS/v2019/%y4/CEDS.2019.emis.%y4%m2%d2.nc +EMI_NH3_OC 'kg m-2 s-1' Y Y %y4-%m2-%d2T12:00:00 none none emiss_ocn ExtData/PIESA/sfc/GEIA.emis_NH3.ocean.x576_y361.t12.20080715_12z.nc4 + +# -------------------------------------------------------------- +# If using 64 levels please replace this section with the correct values (ie replace 127 with 64) +NITRATE_HNO3 'mol mol-1' Y N %y4-%m2-%d2T12:00:00 none 0.20 hno3 ExtData/PIESA/L127/GMI.vmr_HNO3.x144_y91.t12.2006.nc4 +# -------------------------------------------------------------- +NI_regionMask NA Y V - none none REGION_MASK ExtData/PIESA/sfc/ARCTAS.region_mask.x540_y361.2008.nc diff --git a/parm/ufs/ep4a/ExtData.qfed b/parm/ufs/ep4a/ExtData.qfed new file mode 100644 index 0000000000..86ab3c86cc --- /dev/null +++ b/parm/ufs/ep4a/ExtData.qfed @@ -0,0 +1,8 @@ +#====== BIOMASS BURNING EMISSIONS ======================================= + +# QFED +#-------------------------------------------------------------------------------------------------------------------------------- +SU_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_so2.006.%y4%m2%d2.nc4 +OC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_oc.006.%y4%m2%d2.nc4 +BC_BIOMASS NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_bc.006.%y4%m2%d2.nc4 +EMI_NH3_BB NA N Y %y4-%m2-%d2t12:00:00 none none biomass ExtData/nexus/QFED/%y4/%m2/qfed2.emis_nh3.006.%y4%m2%d2.nc4 diff --git a/parm/ufs/ep4a/GOCART2G_GridComp.rc b/parm/ufs/ep4a/GOCART2G_GridComp.rc new file mode 100644 index 0000000000..7a640cc5af --- /dev/null +++ b/parm/ufs/ep4a/GOCART2G_GridComp.rc @@ -0,0 +1,41 @@ +# +# !RESOURCE: GOCART2G_GridComp.rc --- GOCART2G resource file +# +# DESCRIPTION: +# The GOCART2G resource file is used to control basic +# properties of the GOCART2G Grid Components. Instances are +# defined here. Default is the data component. +# +# Only the FIRST entry in the ACTIVE_INSTANCE_XX is given as +# the AERO_PROVIDER. +# +# !REVISION HISTORY: +# +# 11Oct2019 E.Sherman GOCART2G resource file has been created +#-------------------------------------------------------------------- + + + # &Label Active Constituents + +# Include the constituent in the simulation? +# ---------------------------------------------------- +ACTIVE_INSTANCES_DU: DU # DU.data +PASSIVE_INSTANCES_DU: + +ACTIVE_INSTANCES_SS: SS # SS.data +PASSIVE_INSTANCES_SS: + +ACTIVE_INSTANCES_SU: SU # SU.data +PASSIVE_INSTANCES_SU: + +ACTIVE_INSTANCES_CA: CA.oc CA.bc # CA.oc.data CA.bc.data +PASSIVE_INSTANCES_CA: + +ACTIVE_INSTANCES_NI: +PASSIVE_INSTANCES_NI: + +# Set optics parameters +# --------------------- +aerosol_monochromatic_optics_wavelength_in_nm_from_LUT: 550 +wavelengths_for_profile_aop_in_nm: 550 # must be included in LUT +wavelengths_for_vertically_integrated_aop_in_nm: 550 # must be included in LUT diff --git a/parm/ufs/ep4a/MOM_input_template_025 b/parm/ufs/ep4a/MOM_input_template_025 new file mode 100644 index 0000000000..2492f4bc83 --- /dev/null +++ b/parm/ufs/ep4a/MOM_input_template_025 @@ -0,0 +1,909 @@ +! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). +! Where appropriate, parameters use usually given in MKS units. + +! This particular file is for the example in ice_ocean_SIS2/OM4_025. + +! This MOM_input file typically contains only the non-default values that are needed to reproduce this example. +! A full list of parameters for this example can be found in the corresponding MOM_parameter_doc.all file +! which is generated by the model at run-time. +! === module MOM_domains === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = @[NX_GLB] ! + ! The total number of thickness grid points in the x-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NJGLOBAL = @[NY_GLB] ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NIHALO = 4 ! default = 4 + ! The number of halo points on each side in the x-direction. With + ! STATIC_MEMORY_ this is set as NIHALO_ in MOM_memory.h at compile time; without + ! STATIC_MEMORY_ the default is NIHALO_ in MOM_memory.h (if defined) or 2. +NJHALO = 4 ! default = 4 + ! The number of halo points on each side in the y-direction. With + ! STATIC_MEMORY_ this is set as NJHALO_ in MOM_memory.h at compile time; without + ! STATIC_MEMORY_ the default is NJHALO_ in MOM_memory.h (if defined) or 2. +! LAYOUT = 32, 18 ! + ! The processor layout that was actually used. +! IO_LAYOUT = 1, 1 ! default = 1 + ! The processor layout to be used, or 0,0 to automatically set the io_layout to + ! be the same as the layout. + +! === module MOM === +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). If False, use the + ! layered isopycnal algorithm. +THICKNESSDIFFUSE = True ! [Boolean] default = False + ! If true, interface heights are diffused with a coefficient of KHTH. +THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False + ! If true, do thickness diffusion before dynamics. This is only used if + ! THICKNESSDIFFUSE is true. +DT = @[DT_DYNAM_MOM6] ! [s] + ! The (baroclinic) dynamics time step. The time-step that is actually used will + ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode + ! or the coupling timestep in coupled mode.) +DT_THERM = @[DT_THERM_MOM6] ! [s] default = 1800.0 + ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be + ! an integer multiple of DT and less than the forcing or coupling time-step, + ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer + ! multiple of the coupling timestep. By default DT_THERM is set to DT. +THERMO_SPANS_COUPLING = @[MOM6_THERMO_SPAN] ! [Boolean] default = False + ! If true, the MOM will take thermodynamic and tracer timesteps that can be + ! longer than the coupling timestep. The actual thermodynamic timestep that is + ! used in this case is the largest integer multiple of the coupling timestep + ! that is less than or equal to DT_THERM. +HFREEZE = 20.0 ! [m] default = -1.0 + ! If HFREEZE > 0, melt potential will be computed. The actual depth + ! over which melt potential is computed will be min(HFREEZE, OBLD) + ! where OBLD is the boundary layer depth. If HFREEZE <= 0 (default) + ! melt potential will not be computed. +USE_PSURF_IN_EOS = False ! [Boolean] default = False + ! If true, always include the surface pressure contributions in equation of + ! state calculations. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and the accumulated heat deficit + ! is returned in the surface state. FRAZIL is only used if + ! ENABLE_THERMODYNAMICS is true. +DO_GEOTHERMAL = True ! [Boolean] default = False + ! If true, apply geothermal heating. +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice model may ask for more + ! salt than is available and drive the salinity negative otherwise.) +MIN_SALINITY = 0.01 ! [PPT] default = 0.01 + ! The minimum value of salinity when BOUND_SALINITY=True. The default is 0.01 + ! for backward compatibility but ideally should be 0. +C_P = 3992.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a constant. This is only used + ! if ENABLE_THERMODYNAMICS is true. The default value is from the TEOS-10 + ! definition of conservative temperature. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +BAD_VAL_SSH_MAX = 50.0 ! [m] default = 20.0 + ! The value of SSH above which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SSS_MAX = 75.0 ! [PPT] default = 45.0 + ! The value of SSS above which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MAX = 55.0 ! [deg C] default = 45.0 + ! The value of SST above which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MIN = -3.0 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +DEFAULT_2018_ANSWERS = True ! [Boolean] default = True + ! This sets the default value for the various _2018_ANSWERS parameters. +WRITE_GEOM = 2 ! default = 1 + ! If =0, never write the geometry and vertical grid files. If =1, write the + ! geometry and vertical grid files only for a new simulation. If =2, always + ! write the geometry and vertical grid files. Other values are invalid. +SAVE_INITIAL_CONDS = False ! [Boolean] default = False + ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module MOM_fixed_initialization === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. + +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for defining the horizontal + ! grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +GRID_ROTATION_ANGLE_BUGS = False ! [Boolean] default = True + ! If true, use an older algorithm to calculate the sine and + ! cosines needed rotate between grid-oriented directions and + ! true north and east. Differences arise at the tripolar fold +USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = True + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. +TOPO_CONFIG = "file" ! + ! This specifies how bathymetry is specified: + ! file - read bathymetric information from the file + ! specified by (TOPO_FILE). + ! flat - flat bottom set to MAXIMUM_DEPTH. + ! bowl - an analytically specified bowl-shaped basin + ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. + ! spoon - a similar shape to 'bowl', but with an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! Neverland - use the Neverland test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a slope and channel configuration for the + ! ISOMIP test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! Kelvin - flat but with rotated land mask. + ! seamount - Gaussian bump for spontaneous motion test case. + ! dumbbell - Sloshing channel with reservoirs on both ends. + ! shelfwave - exponential slope for shelfwave test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! dense - Denmark Strait-like dense water formation and overflow. + ! USER - call a user modified routine. +TOPO_FILE = "ocean_topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +TOPO_EDITS_FILE = "All_edits.nc" ! default = "" + ! The file from which to read a list of i,j,z topography overrides. +ALLOW_LANDMASK_CHANGES = @[MOM6_ALLOW_LANDMASK_CHANGES] ! default = "False" + ! If true, allow topography overrides to change ocean points to land +MAXIMUM_DEPTH = 6500.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 9.5 ! [m] default = 0.0 + ! If MASKING_DEPTH is unspecified, then anything shallower than MINIMUM_DEPTH is + ! assumed to be land and all fluxes are masked out. If MASKING_DEPTH is + ! specified, then all depths shallower than MINIMUM_DEPTH but deeper than + ! MASKING_DEPTH are rounded to MINIMUM_DEPTH. + +! === module MOM_open_boundary === +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, +! if any. +MASKING_DEPTH = 0.0 ! [m] default = -9999.0 + ! The depth below which to mask points as land points, for which all fluxes are + ! zeroed out. MASKING_DEPTH is ignored if negative. +CHANNEL_CONFIG = "list" ! default = "none" + ! A parameter that determines which set of channels are + ! restricted to specific widths. Options are: + ! none - All channels have the grid width. + ! global_1deg - Sets 16 specific channels appropriate + ! for a 1-degree model, as used in CM2G. + ! list - Read the channel locations and widths from a + ! text file, like MOM_channel_list in the MOM_SIS + ! test case. + ! file - Read open face widths everywhere from a + ! NetCDF file on the model grid. +CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" + ! The file from which the list of narrowed channels is read. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. + +! === module MOM_tracer_registry === + +! === module MOM_EOS === +DTFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0 + ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential + ! temperature with pressure. + +! === module MOM_restart === +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, otherwise a single + ! restart file is generated +STORE_CORIOLIS_ACCEL = False + +! === module MOM_tracer_flow_control === +USE_IDEAL_AGE_TRACER = False ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. + +! === module ideal_age_example === + +! === module MOM_coord_initialization === +COORD_CONFIG = "file" ! + ! This specifies how layers are to be defined: + ! ALE or none - used to avoid defining layers in ALE mode + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! BFB - Custom coords for buoyancy-forced basin case + ! based on SST_S, T_BOT and DRHO_DT. + ! linear - linear based on interfaces not layers + ! layer_ref - linear based on layer densities + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +COORD_FILE = "layer_coord.nc" ! + ! The file from which the coordinate densities are read. +REMAP_UV_USING_OLD_ALG = True ! [Boolean] default = True + ! If true, uses the old remapping-via-a-delta-z method for remapping u and v. If + ! false, uses the new method that remaps between grids described by an old and + ! new thickness. +REGRIDDING_COORDINATE_MODE = "HYCOM1" ! default = "LAYER" + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! SLIGHT - stretched coordinates above continuous isopycnal + ! ADAPTIVE - optimize for smooth neutral density surfaces +BOUNDARY_EXTRAPOLATION = True ! [Boolean] default = False + ! When defined, a proper high-order reconstruction scheme is used within + ! boundary cells rather than PCM. E.g., if PPM is used for remapping, a PPM + ! reconstruction will also be used within boundary cells. +ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! default = "UNIFORM" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM[:N] - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz +!ALE_RESOLUTION = 7*2.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.21, 2.2800000000000002, 2.37, 2.48, 2.61, 2.77, 2.95, 3.17, 3.4299999999999997, 3.74, 4.09, 4.49, 4.95, 5.48, 6.07, 6.74, 7.5, 8.34, 9.280000000000001, 10.33, 11.49, 12.77, 14.19, 15.74, 17.450000000000003, 19.31, 21.35, 23.56, 25.97, 28.580000000000002, 31.41, 34.47, 37.77, 41.32, 45.14, 49.25, 53.65, 58.370000000000005, 63.42, 68.81, 74.56, 80.68, 87.21000000000001, 94.14, 101.51, 109.33, 117.62, 126.4, 135.68, 145.5, 155.87, 166.81, 178.35, 190.51, 203.31, 216.78, 230.93, 245.8, 261.42, 277.83 ! [m] + ! The distribution of vertical resolution for the target + ! grid used for Eulerian-like coordinates. For example, + ! in z-coordinate mode, the parameter is a list of level + ! thicknesses (in m). In sigma-coordinate mode, the list + ! is of non-dimensional fractions of the water column. +!TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m] + ! HYBRID target densities for interfaces +REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0 + ! When interpolating potential density profiles we can add some artificial + ! compressibility solely to make homogeneous regions appear stratified. +MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! default = "NONE" + ! Determines how to specify the maximum interface depths. + ! Valid options are: + ! NONE - there are no maximum interface depths + ! PARAM - use the vector-parameter MAXIMUM_INTERFACE_DEPTHS + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,Z + ! FNC1:string - FNC1:dz_min,H_total,power,precision +!MAXIMUM_INT_DEPTHS = 0.0, 5.0, 12.75, 23.25, 36.49, 52.480000000000004, 71.22, 92.71000000000001, 116.94000000000001, 143.92000000000002, 173.65, 206.13, 241.36, 279.33000000000004, 320.05000000000007, 363.5200000000001, 409.7400000000001, 458.7000000000001, 510.4100000000001, 564.8700000000001, 622.0800000000002, 682.0300000000002, 744.7300000000002, 810.1800000000003, 878.3800000000003, 949.3300000000004, 1023.0200000000004, 1099.4600000000005, 1178.6500000000005, 1260.5900000000006, 1345.2700000000007, 1432.7000000000007, 1522.8800000000008, 1615.8100000000009, 1711.490000000001, 1809.910000000001, 1911.080000000001, 2015.0000000000011, 2121.670000000001, 2231.080000000001, 2343.2400000000007, 2458.1500000000005, 2575.8100000000004, 2696.2200000000003, 2819.3700000000003, 2945.2700000000004, 3073.9200000000005, 3205.3200000000006, 3339.4600000000005, 3476.3500000000004, 3615.9900000000002, 3758.38, 3903.52, 4051.4, 4202.03, 4355.41, 4511.54, 4670.41, 4832.03, 4996.4, 5163.5199999999995, 5333.379999999999, 5505.989999999999, 5681.3499999999985, 5859.459999999998, 6040.319999999998, 6223.919999999998, 6410.269999999999, 6599.369999999999, 6791.219999999999, 6985.8099999999995, 7183.15, 7383.24, 7586.08, 7791.67, 8000.0 + ! The list of maximum depths for each interface. +MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! default = "NONE" + ! Determines how to specify the maximum layer thicknesses. + ! Valid options are: + ! NONE - there are no maximum layer thicknesses + ! PARAM - use the vector-parameter MAX_LAYER_THICKNESS + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,Z + ! FNC1:string - FNC1:dz_min,H_total,power,precision +!MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m] + ! The list of maximum thickness for each layer. +REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" + ! This sets the reconstruction scheme used for vertical remapping for all + ! variables. It can be one of the following schemes: PCM (1st-order + ! accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) + +! === module MOM_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_state_initialization === +INIT_LAYERS_FROM_Z_FILE = False ! [Boolean] default = False + ! If true, initialize the layer thicknesses, temperatures, and salinities from a + ! Z-space file on a latitude-longitude grid. +THICKNESS_CONFIG = "thickness_file" +THICKNESS_FILE = "ORAS5.mx025.ic.nc" +TS_CONFIG = "file" +TS_FILE = "ORAS5.mx025.ic.nc" +TEMP_IC_VAR = "Temp" +VELOCITY_CONFIG = "file" +VELOCITY_FILE = "ORAS5.mx025.ic.nc" + +! === module MOM_initialize_layers_from_Z === +!TEMP_SALT_Z_INIT_FILE = "ORAS5.mx025.ic.nc" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize + ! temperatures (T) and salinities (S). If T and S are not + ! in the same file, TEMP_Z_INIT_FILE and SALT_Z_INIT_FILE + ! must be set. +!Z_INIT_FILE_PTEMP_VAR = "temp" ! default = "ptemp" + ! The name of the potential temperature variable in + ! TEMP_Z_INIT_FILE. +!Z_INIT_FILE_SALT_VAR = "salt" ! default = "salt" + ! The name of the salinity variable in + ! SALT_Z_INIT_FILE. + +!Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False + ! If True, then remap straight to model coordinate from file. +!Z_INIT_REMAP_OLD_ALG = True ! [Boolean] default = True + ! If false, uses the preferred remapping algorithm for initialization. If true, + ! use an older, less robust algorithm for remapping. + +! === module MOM_diag_mediator === +!Jiande NUM_DIAG_COORDS = 2 ! default = 1 +NUM_DIAG_COORDS = 1 + ! The number of diagnostic vertical coordinates to use. + ! For each coordinate, an entry in DIAG_COORDS must be provided. +!Jiande DIAG_COORDS = "z Z ZSTAR", "rho2 RHO2 RHO" ! +DIAG_COORDS = "z Z ZSTAR" + ! A list of string tuples associating diag_table modules to + ! a coordinate definition used for diagnostics. Each string + ! is of the form "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". +DIAG_COORD_DEF_Z="FILE:interpolate_zgrid_26L.nc,interfaces=zw" +DIAG_MISVAL = -1e34 +!DIAG_COORD_DEF_RHO2 = "FILE:diag_rho2.nc,interfaces=rho2" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2 + ! UNIFORM[:N] - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz + +! === module MOM_MEKE === +USE_MEKE = True ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy + ! kinetic energy budget. +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy into MEKE by the + ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this + ! conversion is not used or calculated. +MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to Kh for MEKE itself. +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.05 + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.05 + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. + +! === module MOM_lateral_mixing_coeffs === +USE_VARIABLE_MIXING = True ! [Boolean] default = False + ! If true, the variable mixing code will be called. This allows diagnostics to + ! be created even if the scheme is not used. If KHTR_SLOPE_CFF>0 or + ! KhTh_Slope_Cff>0, this is set to true regardless of what is in the parameter + ! file. +RESOLN_SCALED_KH = True ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away when the first + ! baroclinic deformation radius is well resolved. +RESOLN_SCALED_KHTH = True ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away when the first + ! baroclinic deformation radius is well resolved. +KHTR_SLOPE_CFF = 0.25 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer + ! diffusivity +USE_STORED_SLOPES = True ! [Boolean] default = False + ! If true, the isopycnal slopes are calculated once and stored for re-use. This + ! uses more memory but avoids calling the equation of state more times than + ! should be necessary. +INTERPOLATE_RES_FN = False ! [Boolean] default = True + ! If true, interpolate the resolution function to the velocity points from the + ! thickness points; otherwise interpolate the wave speed and calculate the + ! resolution function independently at each point. +GILL_EQUATORIAL_LD = True ! [Boolean] default = False + ! If true, uses Gill's definition of the baroclinic equatorial deformation + ! radius, otherwise, if false, use Pedlosky's definition. These definitions + ! differ by a factor of 2 in front of the beta term in the denominator. Gill's + ! is the more appropriate definition. +INTERNAL_WAVE_SPEED_BETTER_EST = False ! [Boolean] default = True + ! If true, use a more robust estimate of the first mode wave speed as the + ! starting point for iterations. + +! === module MOM_set_visc === +CHANNEL_DRAG = True ! [Boolean] default = False + ! If true, the bottom drag is exerted directly on each layer proportional to the + ! fraction of the bottom it overlies. +PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear instability. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a viscosity of KVBBL if + ! BOTTOMDRAGLAW is not defined, or the thickness over which near-bottom + ! velocities are averaged for the drag law if BOTTOMDRAGLAW is defined but + ! LINEAR_DRAG is not. +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with LINEAR_DRAG) or an + ! unresolved velocity that is combined with the resolved velocity to estimate + ! the velocity magnitude. DRAG_BG_VEL is only used when BOTTOMDRAGLAW is + ! defined. +BBL_USE_EOS = True ! [Boolean] default = False + ! If true, use the equation of state in determining the properties of the bottom + ! boundary layer. Otherwise use the layer target potential densities. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be used with + ! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. The molecular value, ~1e-6 + ! m2 s-1, may be used. +KV_BBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the top boundary layer. + +! === module MOM_thickness_diffuse === +KHTH_MAX_CFL = 0.1 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that is permitted for the + ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered + ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based + ! models. +USE_GM_WORK_BUG = True ! [Boolean] default = True + ! If true, compute the top-layer work tendency on the u-grid with the incorrect + ! sign, for legacy reproducibility. + +! === module MOM_continuity === + +! === module MOM_continuity_PPM === +ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-09 + ! The tolerance for the differences between the barotropic and baroclinic + ! estimates of the sea surface height due to the fluxes through each face. The + ! total tolerance for SSH is 4 times this value. The default is + ! 0.5*NK*ANGSTROM, and this should not be set less than about + ! 10^-15*MAXIMUM_DEPTH. +ETA_TOLERANCE_AUX = 0.001 ! [m] default = 1.0E-06 + ! The tolerance for free-surface height discrepancies between the barotropic + ! solution and the sum of the layer thicknesses when calculating the auxiliary + ! corrected velocities. By default, this is the same as ETA_TOLERANCE, but can + ! be made larger for efficiency. + +! === module MOM_CoriolisAdv === +CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY" + ! CORIOLIS_SCHEME selects the discretization for the Coriolis terms. Valid + ! values are: + ! SADOURNY75_ENERGY - Sadourny, 1975; energy cons. + ! ARAKAWA_HSU90 - Arakawa & Hsu, 1990 + ! SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons. + ! ARAKAWA_LAMB81 - Arakawa & Lamb, 1981; En. + Enst. + ! ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with + ! Arakawa & Hsu and Sadourny energy +BOUND_CORIOLIS = True ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by the four estimates of + ! (f+rv)v from the four neighboring v-points, and similarly at v-points. This + ! option would have no effect on the SADOURNY Coriolis scheme if it were + ! possible to use centered difference thickness fluxes. + +! === module MOM_PressureForce === + +! === module MOM_PressureForce_AFV === +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in AFV pressure gradient calculations. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of the grid spacing to + ! calculate the biharmonic viscosity. The final viscosity is the largest of this + ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06. +USE_LAND_MASK_FOR_HVISC = False ! [Boolean] default = False + ! If true, use Use the land mask for the computation of thicknesses at velocity + ! locations. This eliminates the dependence on arbitrary values over land or + ! outside of the domain. Default is False in order to maintain answers with + ! legacy experiments but should be changed to True for new experiments. + +! === module MOM_vert_friction === +HMIX_FIXED = 0.5 ! [m] + ! The prescribed depth over which the near-surface viscosity and diffusivity are + ! elevated when the bulk mixed layer is not used. +KVML = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the mixed layer. A typical value is ~1e-2 m2 s-1. + ! KVML is not used if BULKMIXEDLAYER is true. The default is set by KV. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity components are truncated. + +! === module MOM_PointAccel === +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations leading to zonal + ! velocity truncations are written. Undefine this for efficiency if this + ! diagnostic is not needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations leading to meridional + ! velocity truncations are written. Undefine this for efficiency if this + ! diagnostic is not needed. + +! === module MOM_barotropic === +BOUND_BT_CORRECTION = True ! [Boolean] default = False + ! If true, the corrective pseudo mass-fluxes into the barotropic solver are + ! limited to values that require less than maxCFL_BT_cont to be accommodated. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project out the velocity + ! tendency by 1+BEBT when calculating the transport. The default (false) is to + ! use a predictor continuity step to find the pressure field, and then to do a + ! corrector continuity step using a weighted average of the old and new + ! velocities, with weights of (1-BEBT) and BEBT. +DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +BEBT = 0.2 ! [nondim] default = 0.1 + ! BEBT determines whether the barotropic time stepping uses the forward-backward + ! time-stepping scheme or a backward Euler scheme. BEBT is valid in the range + ! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1 + ! (for a backward Euler treatment). In practice, BEBT must be greater than about + ! 0.05. +DTBT = -0.9 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with the split explicit time + ! stepping. To set the time step automatically based the maximum stable value + ! use 0, or a negative value gives the fraction of the stable value. Setting + ! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will + ! actually be used is an integer fraction of DT, rounding down. +BT_USE_OLD_CORIOLIS_BRACKET_BUG = True ! [Boolean] default = False + ! If True, use an order of operations that is not bitwise rotationally symmetric + ! in the meridional Coriolis term of the barotropic solver. + +! === module MOM_mixed_layer_restrat === +MIXEDLAYER_RESTRAT = True ! [Boolean] default = False + ! If true, a density-gradient dependent re-stratifying flow is imposed in the + ! mixed layer. Can be used in ALE mode without restriction but in layer mode can + ! only be used if BULKMIXEDLAYER is true. +FOX_KEMPER_ML_RESTRAT_COEF = 1.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to the ratio of the + ! deformation radius to the dominant lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the mesoscale eddy kinetic + ! energy to the large-scale geostrophic kinetic energy or 1 plus the square of + ! the grid spacing over the deformation radius, as detailed by Fox-Kemper et al. + ! (2010) +MLE_FRONT_LENGTH = 500.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_USE_PBL_MLD = True ! [Boolean] default = False + ! If true, the MLE parameterization will use the mixed-layer depth provided by + ! the active PBL parameterization. If false, MLE will estimate a MLD based on a + ! density difference with the surface using the parameter MLE_DENSITY_DIFF. +MLE_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +ENERGETICS_SFC_PBL = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary layer scheme to + ! determine the diffusivity and viscosity in the surface boundary layer. +EPBL_IS_ADDITIVE = False ! [Boolean] default = True + ! If true, the diffusivity from ePBL is added to all other diffusivities. + ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used. + +! === module MOM_CVMix_KPP === +! This is the MOM wrapper to CVMix:KPP +! See http://cvmix.github.io/ + +! === module MOM_tidal_mixing === +! Vertical Tidal Mixing Parameterization +INT_TIDE_DISSIPATION = True ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to drive diapycnal mixing, + ! along the lines of St. Laurent et al. (2002) and Simmons et al. (2004). +INT_TIDE_PROFILE = "POLZIN_09" ! default = "STLAURENT_02" + ! INT_TIDE_PROFILE selects the vertical profile of energy dissipation with + ! INT_TIDE_DISSIPATION. Valid values are: + ! STLAURENT_02 - Use the St. Laurent et al exponential + ! decay profile. + ! POLZIN_09 - Use the Polzin WKB-stretched algebraic + ! decay profile. +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 500.0 + ! The decay scale away from the bottom for tidal TKE with the new coding when + ! INT_TIDE_DISSIPATION is used. +KAPPA_ITIDES = 6.28319E-04 ! [m-1] default = 6.283185307179586E-04 + ! A topographic wavenumber used with INT_TIDE_DISSIPATION. The default is 2pi/10 + ! km, as in St.Laurent et al. 2002. +KAPPA_H2_FACTOR = 0.84 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with INT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source available to mix above the bottom + ! boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = True ! [Boolean] default = False + ! If true, read a file (given by TIDEAMP_FILE) containing the tidal amplitude + ! with INT_TIDE_DISSIPATION. +TIDEAMP_FILE = "tidal_amplitude.v20140616.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying tidal amplitudes with + ! INT_TIDE_DISSIPATION. +H2_FILE = "ocean_topog.nc" ! + ! The path to the file containing the sub-grid-scale topographic roughness + ! amplitude with INT_TIDE_DISSIPATION. + +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 1.0 ! [W m-2 or various] default = 0.0 + ! The constant geothermal heat flux, a rescaling factor for the heat flux read + ! from GEOTHERMAL_FILE, or 0 to disable the geothermal heating. +GEOTHERMAL_FILE = "geothermal_davies2013_v1.nc" ! default = "" + ! The file from which the geothermal heating is to be read, or blank to use a + ! constant heating rate. +GEOTHERMAL_VARNAME = "geothermal_hf" ! default = "geo_heat" + ! The name of the geothermal heating variable in GEOTHERMAL_FILE. + +! === module MOM_set_diffusivity === +BBL_MIXING_AS_MAX = False ! [Boolean] default = True + ! If true, take the maximum of the diffusivity from the BBL mixing and the other + ! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added. +USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False + ! If true, uses a simple, imprecise but non-coordinate dependent, model of BBL + ! mixing diffusivity based on Law of the Wall. Otherwise, uses the original BBL + ! scheme. +SIMPLE_TKE_TO_KD = True ! [Boolean] default = False + ! If true, uses a simple estimate of Kd/TKE that will work for arbitrary + ! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact + ! energetics for an isopycnal layer-formulation. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients +KD = 1.5E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the interior. Zero or the + ! molecular value, ~1e-7 m2 s-1, may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 1.5E-07 + ! The minimum diapycnal diffusivity. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near surface background + ! diffusivity, as described in Harrison & Hallberg, JPO 2008. +KD_MAX = 0.1 ! [m2 s-1] default = -1.0 + ! The maximum permitted increment for the diapycnal diffusivity from TKE-based + ! parameterizations, or a negative value for no limit. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing + ! parameterization. +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +VERTEX_SHEAR = False ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing + ! at the cell vertices (i.e., the vorticity points). +KAPPA_SHEAR_ITER_BUG = True ! [Boolean] default = True + ! If true, use an older, dimensionally inconsistent estimate of the derivative + ! of diffusivity with energy in the Newton's method iteration. The bug causes + ! undercorrections when dz > 1 m. +KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = True + ! If true, report back the latest estimate of TKE instead of the time average + ! TKE when there is mass in all layers. Otherwise always report the time + ! averaged TKE, as is currently done when there are some massless layers. + +! === module MOM_CVMix_shear === +! Parameterization of shear-driven turbulence via CVMix (various options) + +! === module MOM_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. +PRESSURE_DEPENDENT_FRAZIL = False ! [Boolean] default = False + ! If true, use a pressure dependent freezing temperature when making frazil. The + ! default is false, which will be faster but is inappropriate with ice-shelf + ! cavities. +VAR_PEN_SW = True ! [Boolean] default = False + ! If true, use one of the CHL_A schemes specified by OPACITY_SCHEME to determine + ! the e-folding depth of incoming short wave radiation. +CHL_FILE = @[CHLCLIM] ! + ! CHL_FILE is the file containing chl_a concentrations in the variable CHL_A. It + ! is used when VAR_PEN_SW and CHL_FROM_FILE are true. +CHL_VARNAME = "chlor_a" ! default = "CHL_A" + ! Name of CHL_A variable in CHL_FILE. + +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this fraction of the absolute + ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 + + ! of*4*omega^2). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the sabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by surface fluxes that is + ! available to drive entrainment at the base of mixed layer when that energy is + ! positive. +EPBL_MLD_BISECTION = True ! [Boolean] default = False + ! If true, use bisection with the iterative determination of the self-consistent + ! mixed layer depth. Otherwise use the false position after a maximum and + ! minimum bound have been evaluated and the returned value or bisection before + ! this. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +USE_MLD_ITERATION = True ! [Boolean] default = False + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +USE_LA_LI2016 = @[MOM6_USE_LI2016] ! [nondim] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +USE_WAVES = @[MOM6_USE_WAVES] ! [Boolean] default = False + ! If true, enables surface wave modules. +WAVE_METHOD = "SURFACE_BANDS" ! default = "EMPTY" + ! Choice of wave method, valid options include: + ! TEST_PROFILE - Prescribed from surface Stokes drift + ! and a decay wavelength. + ! SURFACE_BANDS - Computed from multiple surface values + ! and decay wavelengths. + ! DHH85 - Uses Donelan et al. 1985 empirical + ! wave spectrum with prescribed values. + ! LF17 - Infers Stokes drift profile from wind + ! speed following Li and Fox-Kemper 2017. +SURFBAND_SOURCE = "COUPLER" ! default = "EMPTY" + ! Choice of SURFACE_BANDS data mode, valid options include: + ! DATAOVERRIDE - Read from NetCDF using FMS DataOverride. + ! COUPLER - Look for variables from coupler pass + ! INPUT - Testing with fixed values. +STK_BAND_COUPLER = 3 ! default = 1 + ! STK_BAND_COUPLER is the number of Stokes drift bands in the coupler. This has + ! to be consistent with the number of Stokes drift bands in WW3, or the model + ! will fail. +SURFBAND_WAVENUMBERS = 0.04, 0.11, 0.3305 ! [rad/m] default = 0.12566 + ! Central wavenumbers for surface Stokes drift bands. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. + +! === module MOM_regularize_layers === + +! === module MOM_opacity === +PEN_SW_NBANDS = 3 ! default = 1 + ! The number of bands of penetrating shortwave radiation. + +! === module MOM_tracer_advect === +TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" + ! The horizontal transport scheme for tracers: + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + ! PPM - Piecewise Parabolic Method (Colella-Woodward) + +! === module MOM_tracer_hor_diff === +CHECK_DIFFUSIVE_CFL = True ! [Boolean] default = False + ! If true, use enough iterations the diffusion to ensure that the diffusive + ! equivalent of the CFL limit is not violated. If false, always use the greater + ! of 1 or MAX_TR_DIFFUSION_CFL iteration. + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers + +! === module MOM_lateral_boundary_diffusion === +! This module implements lateral diffusion of tracers near boundaries + +! === module MOM_sum_output === +MAXTRUNC = 100000 ! [truncations save_interval-1] default = 0 + ! The run will be stopped, and the day set to a very large value if the velocity + ! is truncated more than MAXTRUNC times between energy saves. Set MAXTRUNC to 0 + ! to stop if there is any truncation of velocities. +ENERGYSAVEDAYS = 1.00 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the energies of the run and + ! other globally summed diagnostics. + +! === module ocean_model_init === + +! === module MOM_oda_incupd === +ODA_INCUPD = @[ODA_INCUPD] ! [Boolean] default = False + ! If true, oda incremental updates will be applied + ! everywhere in the domain. +ODA_INCUPD_FILE = "mom6_increment.nc" ! The name of the file with the T,S,h increments. + +ODA_TEMPINC_VAR = "t_pert" ! default = "ptemp_inc" + ! The name of the potential temperature inc. variable in + ! ODA_INCUPD_FILE. +ODA_SALTINC_VAR = "s_pert" ! default = "sal_inc" + ! The name of the salinity inc. variable in + ! ODA_INCUPD_FILE. +ODA_THK_VAR = "h_anl" ! default = "h" + ! The name of the int. depth inc. variable in + ! ODA_INCUPD_FILE. +ODA_UINC_VAR = "u_pert" ! default = "u_inc" + ! The name of the zonal vel. inc. variable in + ! ODA_INCUPD_UV_FILE. +ODA_VINC_VAR = "v_pert" ! default = "v_inc" + ! The name of the meridional vel. inc. variable in + ! ODA_INCUPD_UV_FILE. +ODA_INCUPD_NHOURS = @[ODA_INCUPD_NHOURS] ! default=3.0 + +! === module MOM_surface_forcing === +OCEAN_SURFACE_STAGGER = "A" ! default = "C" + ! A case-insensitive character string to indicate the + ! staggering of the surface velocity field that is + ! returned to the coupler. Valid values include + ! 'A', 'B', or 'C'. + +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +WIND_STAGGER = "A" ! default = "C" + ! A case-insensitive character string to indicate the + ! staggering of the input wind stress field. Valid + ! values are 'A', 'B', or 'C'. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. +GUST_CONST = 0.0 ! [Pa] default = 0.02 + ! The background gustiness in the winds. +FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + ! If true correct a bug in the time-averaging of the gustless wind friction + ! velocity +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity +LIQUID_RUNOFF_FROM_DATA = @[MOM6_RIVER_RUNOFF] ! [Boolean] default = False + ! If true, allows liquid river runoff to be specified via + ! the data_table using the component name 'OCN'. +! === module ocean_stochastics === +DO_SPPT = @[DO_OCN_SPPT] ! [Boolean] default = False + ! If true perturb the diabatic tendencies in MOM_diabatic_driver +PERT_EPBL = @[PERT_EPBL] ! [Boolean] default = False + ! If true perturb the KE dissipation and destruction in MOM_energetic_PBL +! === module MOM_restart === +RESTART_CHECKSUMS_REQUIRED = False +! === module MOM_file_parser === diff --git a/parm/ufs/ep4a/NI2G_instance_NI.rc b/parm/ufs/ep4a/NI2G_instance_NI.rc new file mode 100644 index 0000000000..73db601073 --- /dev/null +++ b/parm/ufs/ep4a/NI2G_instance_NI.rc @@ -0,0 +1,33 @@ +# +# Resource file Nitrate parameters. +# + +nbins: 5 + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_NI.v2_5.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_NI.v2_5.nc + +# Scavenging efficiency per bin [km-1] +fscav: 0.0 0.4 0.4 0.4 0.4 + +# Dry particle radius [um], used for settling +particle_radius_microns: 0.0 0.2695 0.2695 2.1 7.57 + +# Dry particle density [kg m-3] +particle_density: 1000 1769 1725 2200 2650 + +# Molecular weight of species [kg mole-1] +molecular_weight: 0.18 0.18 0.18 0.18 0.18 + +# Number of particles per kg mass +fnum: 1.50e19 1.50e19 1.50e19 1.50e19 1.50e19 + +# Number median radius [um] +particle_radius_number: 0.0118 0.0118 0.0118 0.0118 0.0118 + +# Sigma of lognormal number distribution +sigma: 2.0 2.0 2.0 2.0 2.0 + +pressure_lid_in_hPa: 0.01 + +rhFlag: 0 diff --git a/parm/ufs/ep4a/SS2G_instance_SS.rc b/parm/ufs/ep4a/SS2G_instance_SS.rc new file mode 100644 index 0000000000..d8faa3efa8 --- /dev/null +++ b/parm/ufs/ep4a/SS2G_instance_SS.rc @@ -0,0 +1,43 @@ +# +# Resource file Sea Salt parameters +# + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_SS.v3_3.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_SS.v3_3.nc + +particle_radius_microns: 0.079 0.316 1.119 2.818 7.772 + +radius_lower: 0.03 0.1 0.5 1.5 5.0 + +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 + +# Emissions methods and scaling +emission_scheme: 3 # 1 for Gong 2003, 2 for ... +emission_scale: 1.0 1.0 1.0 1.0 1.0 1.0 # a global scaling factor for C96 +sstEmisFlag: 2 # Apply a correction to emissions based on SST (see code) +hoppelFlag: .false. # Apply Hoppel correction (set non-zero, see Fan and Toon 2011) +weibullFlag: .false. # Apply Weibull distribution (set non-zero, see Fan and Toon 2011) + +# Method of apply relative humidity to particle radius +rhFlag: 2 # RH swelling of Seasalt (1 for Fitzgerald 1975, + # 2 for Gerber 1985 method) + +# Molecular weight of species [kg mole-1] +molecular_weight: 0.058 0.058 0.058 0.058 0.058 + +# Number of particles per kg mass +fnum: 3.017e17 1.085e16 1.207e14 9.391e12 2.922e11 + +# Number median radius [um] +particle_radius_number: 0.066 0.176 0.885 2.061 6.901 + +nbins: 5 + +pressure_lid_in_hPa: 0.01 + + diff --git a/parm/ufs/ep4a/SU2G_instance_SU.rc b/parm/ufs/ep4a/SU2G_instance_SU.rc new file mode 100644 index 0000000000..547be88fa7 --- /dev/null +++ b/parm/ufs/ep4a/SU2G_instance_SU.rc @@ -0,0 +1,53 @@ +# +# Resource file for Sulfer parameters. +# + +aerosol_radBands_optics_file: ExtData/optics/opticsBands_SU.v1_3.RRTMG.nc +aerosol_monochromatic_optics_file: ExtData/monochromatic/optics_SU.v1_3.nc + +nbins: 4 + +# Volcanic pointwise sources +volcano_srcfilen: ExtData/volcanic/so2_volcanic_emissions_Carns.%y4%m2%d2.rc + +# Heights [m] of LTO, CDS and CRS aviation emissions layers +aviation_vertical_layers: 0.0 100.0 9.0e3 10.0e3 + +# Fraction of anthropogenic emissions that are SO4 +so4_anthropogenic_fraction: 0.03 + +# Aircraft emission factor: go from kg fuel to kg SO2 +aircraft_fuel_emission_factor: 0.0008 + +# Scavenging efficiency per bin [km-1] (NOT USED UNLESS RAS IS CALLED) +fscav: 0.0 0.0 0.4 0.4 + +# Dry particle radius [um], used for settling +particle_radius_microns: 0.0 0.0 0.35 0.0 + +# Type of settling to use (see Chem_SettlingMod) +rhFlag: 4 + +# Dry particle density [kg m-3] +particle_density: -1 -1 1700 -1 + +pressure_lid_in_hPa: 0.01 + +# Molecular weight of species [kg mole-1] +molecular_weight: -1 -1 0.132 -1 + +# Number of particles per kg mass +fnum: -1 -1 9.01e16 -1 + +# Number median radius [um] +particle_radius_number: -1 -1 0.0695 -1 + +# Sigma of lognormal number distribution +sigma: -1 -1 2.03 -1 + +# OH H2O2 NO3 from GMI Combined Stratosphere Troposphere (Lower case yes to enable) +# ------------------------------------------------------------------------------------- +export_H2O2: no +using_GMI_OH: .false. +using_GMI_NO3: .false. +using_GMI_H2O2: .false. diff --git a/parm/ufs/ep4a/diag_table.aero b/parm/ufs/ep4a/diag_table.aero new file mode 100644 index 0000000000..2e830ffa9d --- /dev/null +++ b/parm/ufs/ep4a/diag_table.aero @@ -0,0 +1,23 @@ +### +# chemical tracers advected by FV3 +### +"gfs_dyn", "so2", "so2", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "so4", "so4", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "dms", "dms", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "msa", "msa", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "bc1", "bc1", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "bc2", "bc2", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "oc1", "oc1", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "oc2", "oc2", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "dust1", "dust1", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "dust2", "dust2", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "dust3", "dust3", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "dust4", "dust4", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "dust5", "dust5", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "seas1", "seas1", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "seas2", "seas2", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "seas3", "seas3", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "seas4", "seas4", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "seas5", "seas5", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "pm25", "pm25", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "pm10", "pm10", "fv3_history", "all", .false., "none", 2 diff --git a/parm/ufs/ep4a/field_table.aero b/parm/ufs/ep4a/field_table.aero new file mode 100644 index 0000000000..82fab727c6 --- /dev/null +++ b/parm/ufs/ep4a/field_table.aero @@ -0,0 +1,102 @@ +# prognostic aerosols + "TRACER", "atmos_mod", "so2" + "longname", "so2 mixing ratio" + "units", "ppm" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "so4" + "longname", "sulfate mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "dms" + "longname", "DMS mixing ratio" + "units", "ppm" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "msa" + "longname", "msa mixing ratio" + "units", "ppm" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "bc1" + "longname", "hydrophobic black carbon mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "bc2" + "longname", "hydrophillic black carbon mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "oc1" + "longname", "hydrophobic organic carbon mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "oc2" + "longname", "hydrophillic organic carbon mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "dust1" + "longname", "fine dust1 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "dust2" + "longname", "fine dust2 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "dust3" + "longname", "coarse dust3 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "dust4" + "longname", "coarse dust4 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "dust5" + "longname", "coarse dust5 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "seas1" + "longname", "seasalt1 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "seas2" + "longname", "seasalt2 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "seas3" + "longname", "seasalt3 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "seas4" + "longname", "seasalt4 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "seas5" + "longname", "seasalt5 mixing ratio" + "units", "ug/kg" + "tracer_usage", "chemistry" + "profile_type", "fixed", "surface_value=0.0" / +# diagnostic PM tracers + "TRACER", "atmos_mod", "pm25" + "longname", "primary PM25 mixing ratio" + "units", "ug/m3" + "tracer_usage", "chemistry", "type=diagnostic" + "profile_type", "fixed", "surface_value=0.0" / + "TRACER", "atmos_mod", "pm10" + "longname", "primary PM10 mixing ratio" + "units", "ug/m3" + "tracer_usage", "chemistry", "type=diagnostic" + "profile_type", "fixed", "surface_value=0.0" / diff --git a/parm/ufs/ep4a/gocart_tracer.list b/parm/ufs/ep4a/gocart_tracer.list new file mode 100644 index 0000000000..8742aff67c --- /dev/null +++ b/parm/ufs/ep4a/gocart_tracer.list @@ -0,0 +1,20 @@ +so2 +so4 +dms +msa +bc1 +bc2 +oc1 +oc2 +dust1 +dust2 +dust3 +dust4 +dust5 +seas1 +seas2 +seas3 +seas4 +seas5 +pm25 +pm10 diff --git a/parm/ufs/ep4a/wave_gefs.buoys b/parm/ufs/ep4a/wave_gefs.buoys new file mode 100644 index 0000000000..0d2f4ab11e --- /dev/null +++ b/parm/ufs/ep4a/wave_gefs.buoys @@ -0,0 +1,614 @@ +$ +$ Global output point data file for multi-grid wave model +$ +$ Key to data in file: +$ +$ LON Longitude, east positive +$ LAT Latitude +$ NAME Output point name C*10, no blanks in name allowed +$ AH Anemometer height, dummy value for none-data points +$ TYPE Buoy type indicator, used for plotting and postprocessing +$ DAT Data point +$ NBY 'Non-NWS Virtual buoy' +$ SOURCE Source of data point +$ ENCAN Environment Canada +$ GOMOOS Gulf of Maine OOS +$ IDT Irish Department of Transportation +$ METFR Meteo France +$ NCEP Boundary and other data points +$ NDBC National Data Buoy Center +$ PRIV Private and incidental data sources +$ SCRIPPS Scripps +$ UKMO UK Met Office +$ PDES Puertos del Estados +$ SHOM Service Hydrographique et Oceanographique de la Marine +$ OCNOR Fugro Oceanor +$ WHOI Woods Hole Oceanographic Institute +$ SKOREA South Korea +$ MVEW Ministerie van Verkeer en Waterstaat +$ CORMP Coastal Ocean Research and Monitoring Program +$ DIMAR Direccion General Maritima (Columbia) +$ BP British Petroleum +$ SCALE Scale indicator for plotting of locations on map +$ Point will only be plotted if SCALE =< DX in our +$ GrADS scripts, DX is width of plot in logitude +$ +$ Notes: +$ +$ - The '$' at the first position identifies comments for WAVEWATCH III +$ input. +$ - The first three data columns are used by the forecats code, the other +$ are used by postprocessing scripts. +$ +$ LON LAT NAME AH TYPE SOURCE SCALE +$ --------------------------------------------------------- +$ +$ AWIPS Data section (most actual observational sites) +$ AWIPS code indicated prior and after each AWIPS section +$ +$AGGA48 +$ Gulf of Alaska (AG) Spectral data (4) near S/SW Alaska Anchorage (8) + -148.02 56.31 '46001 ' 5.0 DAT NDBC 360 + -154.98 52.70 '46066 ' 5.0 DAT NDBC 360 + -146.83 60.22 '46061 ' 5.0 DAT NDBC 90 + -160.81 53.93 '46075 ' 5.0 DAT NDBC 360 + -148.00 59.50 '46076 ' 5.0 DAT NDBC 360 + -152.45 56.05 '46078 ' 5.0 DAT NDBC 360 + -152.09 59.76 '46106 ' 999 DAT NDBC 75 + -150.00 58.00 '46080 ' 5.0 DAT NDBC 360 + -151.829 59.597 '46108 ' 5.0 DAT NDBC 45 + -160.000 57.700 '46021 ' 999.0 DAT NDBC 45 + -146.805 60.584 '46060 ' 5.0 DAT NDBC 45 + -154.175 57.910 '46077 ' 5.0 DAT NDBC 45 + -152.230 59.050 '46079 ' 4.9 DAT NDBC 45 + -152.233 59.049 '46105 ' 2.0 DAT NDBC 45 + -147.992 59.925 '46107 ' 2.0 DAT NDBC 45 + -165.475 64.473 '46265 ' 2.0 DAT NDBC 45 +$AGGA48 +$ +$AGGA47 +$ Gulf of Alaska (AG) Spectral data (4) near Alaska Panhandle and NBC (7) + -136.10 50.93 '46004 ' 5.0 DAT ENCAN 360 + -138.85 53.91 '46184 ' 5.0 DAT ENCAN 360 + -143.42 59.69 '46082 ' 5.0 DAT NDBC 360 + -138.00 58.25 '46083 ' 5.0 DAT NDBC 360 + -136.16 56.59 '46084 ' 5.0 DAT NDBC 360 + -142.56 56.85 '46085 ' 5.0 DAT NDBC 360 + -134.28 54.16 '46205 ' 5.0 DAT ENCAN 45 + -132.45 54.38 '46145 ' 5.0 DAT ENCAN 45 + -131.22 51.83 '46147 ' 5.0 DAT ENCAN 90 + -131.10 53.62 '46183 ' 5.0 DAT ENCAN 45 + -129.81 52.42 '46185 ' 5.0 DAT ENCAN 45 + -128.75 51.37 '46204 ' 5.0 DAT ENCAN 45 + -129.92 50.87 '46207 ' 5.0 DAT ENCAN 45 + -132.68 52.52 '46208 ' 5.0 DAT ENCAN 45 + -129.795 52.437 '46138 ' 999.0 DAT NDBC 45 +$AGGA47 +$ +$AGPZ46 +$ Eastern Pacific (PZ) spectral data (4) near Pacific states and SBC (6) + -130.27 42.60 '46002 ' 5.0 DAT NDBC 360 + -137.48 40.80 '46006 ' 5.0 DAT NDBC 360 + -130.00 37.98 '46059 ' 5.0 DAT NDBC 360 + -120.87 34.88 '46011 ' 5.0 DAT NDBC 15 + -122.88 37.36 '46012 ' 5.0 DAT NDBC 45 + -123.32 38.23 '46013 ' 5.0 DAT NDBC 25 + -123.97 39.22 '46014 ' 5.0 DAT NDBC 45 + -124.54 40.78 '46022 ' 5.0 DAT NDBC 25 + -120.97 34.71 '46023 ' 10.0 DAT NDBC 45 + -122.82 37.75 '46026 ' 5.0 DAT NDBC 25 + -124.38 41.85 '46027 ' 5.0 DAT NDBC 45 + -124.85 42.75 '46015 ' 5.0 DAT NDBC 45 + -119.08 33.75 '46025 ' 5.0 DAT NDBC 45 + -121.89 35.74 '46028 ' 5.0 DAT NDBC 45 + -124.53 40.42 '46030 ' 5.0 DAT NDBC 15 + -122.42 36.75 '46042 ' 5.0 DAT NDBC 45 + -119.53 32.43 '46047 ' 5.0 DAT NDBC 45 + -124.53 44.62 '46050 ' 5.0 DAT NDBC 45 + -119.85 34.24 '46053 ' 5.0 DAT NDBC 45 + -120.45 34.27 '46054 ' 10.0 DAT NDBC 25 + -121.01 35.10 '46062 ' 5.0 DAT NDBC 45 + -120.70 34.27 '46063 ' 5.0 DAT NDBC 45 + -120.20 33.65 '46069 ' 5.0 DAT NDBC 45 + -118.00 32.50 '46086 ' 5.0 DAT NDBC 45 + -125.77 45.88 '46089 ' 5.0 DAT NDBC 45 + -124.74 40.29 '46213 ' 999. DAT SCRIPPS 25 + -123.465 37.9403 '46214 ' 999. DAT SCRIPPS 45 + -119.80 34.33 '46216 ' 999. DAT SCRIPPS 15 + -119.43 34.17 '46217 ' 999. DAT SCRIPPS 15 + -120.78 34.45 '46218 ' 999. DAT SCRIPPS 25 + -119.88 33.22 '46219 ' 999. DAT SCRIPPS 45 + -118.641 33.8599 '46221 ' 999. DAT SCRIPPS 15 + -118.32 33.62 '46222 ' 999. DAT SCRIPPS 15 + -117.77 33.46 '46223 ' 999. DAT SCRIPPS 15 + -117.47 33.18 '46224 ' 999. DAT SCRIPPS 15 + -117.39 32.93 '46225 ' 999. DAT SCRIPPS 15 + -117.44 32.63 '46227 ' 999. DAT SCRIPPS 15 + -124.55 43.77 '46229 ' 999. DAT SCRIPPS 25 + -117.37 32.75 '46231 ' 999. DAT SCRIPPS 15 + -117.425 32.517 '46232 ' 999. DAT SCRIPPS 15 + -120.86 35.20 '46215 ' 999. DAT SCRIPPS 45 + -121.95 36.76 '46236 ' 999. DAT SCRIPPS 15 + -122.634 37.787 '46237 ' 999. DAT SCRIPPS 15 + -119.47 33.40 '46238 ' 999. DAT SCRIPPS 15 + -122.10 36.34 '46239 ' 999. DAT SCRIPPS 15 + -121.91 36.62 '46240 ' 999. DAT SCRIPPS 15 + -124.13 46.22 '46243 ' 999. DAT SCRIPPS 45 + -124.36 40.89 '46244 ' 999. DAT SCRIPPS 45 + -145.20 50.033 '46246 ' 999. DAT SCRIPPS 45 + -124.644 46.133 '46248 ' 999. DAT SCRIPPS 45 + -119.200 33.000 '46024 ' 10.0 DAT NDBC 45 + -121.899 36.835 '46091 ' 4.0 DAT NDBC 45 + -122.030 36.750 '46092 ' 4.0 DAT NDBC 45 + -122.410 36.690 '46093 ' 4.0 DAT NDBC 45 + -124.300 44.642 '46094 ' 3.0 DAT NDBC 45 + -124.304 44.639 '46097 ' 4.5 DAT NDBC 45 + -124.956 44.381 '46098 ' 4.5 DAT NDBC 45 + -122.33 36.685 '46114 ' 999.0 DAT NDBC 45 + -124.313 40.753 '46212 ' 999.0 DAT NDBC 45 + -117.353 32.848 '46226 ' 999.0 DAT NDBC 45 + -117.320 32.936 '46233 ' 3.0 DAT NDBC 45 + -117.167 32.572 '46235 ' 999.0 DAT NDBC 45 + -117.439 33.220 '46242 ' 999.0 DAT NDBC 45 + -122.833 37.753 '46247 ' 999.0 DAT NDBC 45 + -119.708 33.821 '46249 ' 999.0 DAT NDBC 45 + -119.090 34.034 '46250 ' 999.0 DAT NDBC 45 + -119.564 33.769 '46251 ' 999.0 DAT NDBC 45 + -119.257 33.953 '46252 ' 999.0 DAT NDBC 45 + -118.181 33.576 '46253 ' 999.0 DAT NDBC 45 + -117.267 32.868 '46254 ' 999.0 DAT NDBC 45 + -119.651 33.400 '46255 ' 999.0 DAT NDBC 45 + -118.201 33.700 '46256 ' 999.0 DAT NDBC 45 + -120.766 34.439 '46257 ' 999.0 DAT NDBC 45 + -117.500 32.750 '46258 ' 999.0 DAT NDBC 45 + -121.497 34.767 '46259 ' 999.0 DAT NDBC 45 + -119.004 33.704 '46262 ' 999.0 DAT NDBC 45 +$AGPZ46 +$ +$AGPZ47 +$ Eastern Pacific (PZ) spectral data (4) near Alaska Panhandle and NBC (7) + -131.02 46.05 '46005 ' 5.0 DAT NDBC 360 + -133.94 48.35 '46036 ' 5.0 DAT ENCAN 360 + -127.93 49.74 '46132 ' 5.0 DAT ENCAN 90 + -126.00 48.84 '46206 ' 5.0 DAT ENCAN 45 + -124.51 46.12 '46029 ' 5.0 DAT NDBC 45 + -124.75 47.34 '46041 ' 5.0 DAT NDBC 45 + -124.73 48.49 '46087 ' 5.0 DAT NDBC 45 + -124.24 46.86 '46211 ' 999. DAT SCRIPPS 25 + -123.165 48.334 '46088 ' 5.0 DAT NDBC 45 + -124.127 46.173 '46096 ' 3.0 DAT NDBC 45 + -124.566 46.986 '46099 ' 4.5 DAT NDBC 45 + -124.972 46.851 '46100 ' 4.5 DAT NDBC 45 + -124.950 47.967 '46119 ' 3.7 DAT NDBC 45 + -124.063 46.215 '46127 ' 3.0 DAT NDBC 45 + -126.010 48.844 '46139 ' 999.0 DAT NDBC 45 + -151.700 57.480 '46264 ' 999.0 DAT NDBC 45 +$AGPZ47 +$ +$AGPN48 +$ North Pacific and Behring Sea (PN) spectra (4) near S/SW Alaska Anchorage (8) + -177.58 57.05 '46035 ' 10.0 DAT NDBC 360 + 175.28 55.00 '46070 ' 5.0 DAT NDBC 360 + -172.03 54.94 '46073 ' 10.0 DAT NDBC 360 + 179.05 51.16 '46071 ' 5.0 DAT NDBC 360 + -171.73 52.25 '46072 ' 5.0 DAT NDBC 360 + -168.000 55.883 '46020 ' 999.0 DAT NDBC 360 +$AGPN48 +$ +$AGHW40 +$ Hawaiian waters (HW) spectra (4) in Pacific Ocean and Pacific Isles (0) + -162.21 23.43 '51001 ' 5.0 DAT NDBC 360 + -157.78 17.19 '51002 ' 5.0 DAT NDBC 360 + -160.82 19.22 '51003 ' 5.0 DAT NDBC 360 + -152.48 17.52 '51004 ' 5.0 DAT NDBC 360 + -158.12 21.67 '51201 ' 999. DAT SCRIPPS 11 + -157.68 21.42 '51202 ' 999. DAT SCRIPPS 11 + -154.06 23.55 '51000 ' 5.0 DAT NDBC 11 + -153.90 23.56 '51100 ' 5.0 DAT NDBC 11 + -162.06 24.32 '51101 ' 5.0 DAT NDBC 11 + -157.00 20.79 '51203 ' 999. DAT SCRIPPS 11 + -158.12 21.28 '51204 ' 999. DAT SCRIPPS 11 + -156.42 21.02 '51205 ' 999. DAT SCRIPPS 11 + -154.97 19.78 '51206 ' 999. DAT SCRIPPS 11 + -157.75 21.48 '51207 ' 999. DAT SCRIPPS 11 + -153.87 0.02 '51028 ' 5.0 DAT NDBC 11 + -158.303 21.096 '51200 ' 999.0 DAT NDBC 11 + -159.574 22.285 '51208 ' 999. DAT SCRIPPS 11 + -170.5 -14.273 '51209 ' 999.0 DAT NDBC 360 + -157.756 21.477 '51210 ' 999.0 DAT NDBC 11 + 134.670 7.692 '52212 ' 999.0 DAT NDBC 360 + -157.959 21.297 '51211 ' 999.0 DAT NDBC 360 + -158.150 21.323 '51212 ' 999.0 DAT NDBC 360 + -157.003 20.750 '51213 ' 999.0 DAT NDBC 360 +$AGHW40 +$ +$AGPW40 +$ Western Pacific (PW) spectra (4) in Pacific Ocean and Pacific Isles (0) + 144.79 13.35 '52200 ' 999. DAT SCRIPPS 360 + 126.02 37.23 '22101 ' 999. DAT SKOREA 100 + 125.77 34.80 '22102 ' 999. DAT SKOREA 100 + 127.50 34.00 '22103 ' 999. DAT SKOREA 100 + 128.90 34.77 '22104 ' 999. DAT SKOREA 100 + 130.00 37.53 '22105 ' 999. DAT SKOREA 100 + 171.391 7.038 '52201 ' 999. DAT SCRIPPS 360 + 144.80 13.68 '52202 ' 999. DAT SCRIPPS 360 + 145.66 15.27 '52211 ' 999. DAT SCRIPPS 360 + 133.62 33.19 '21178 ' 999. DAT WMO 360 + 131.11 37.46 '21229 ' 999. DAT WMO 360 + 125.75 36.25 '22108 ' 999. DAT WMO 360 + 126.14 33.79 '22184 ' 999. DAT WMO 360 + 125.43 37.09 '22185 ' 999. DAT WMO 360 + 125.81 35.66 '22186 ' 999. DAT WMO 360 + 127.02 33.13 '22187 ' 999. DAT WMO 360 + 128.23 34.39 '22188 ' 999. DAT WMO 360 + 129.84 35.35 '22189 ' 999. DAT WMO 360 + 129.87 36.91 '22190 ' 999. DAT WMO 360 +$AGPW40 +$ +$AGPS40 +$ South Pacific (PS) in Pacific Ocean and Pacific Isles (0) + 150.18 -37.29 '55020 ' 999. DAT UNKNOWN 50 + 151.07 -23.31 '55033 ' 999. DAT UNKNOWN 50 + 153.63 -27.49 '55035 ' 999. DAT UNKNOWN 50 + 148.19 -38.60 '55039 ' 999. DAT UNKNOWN 50 +$AGPS40 +$ +$AGGX42 +$ Gulf of Mexico (GX) spectra (4) south from NC and Puerto Rico (2) + -89.67 25.90 '42001 ' 10.0 DAT NDBC 360 + -94.42 25.17 '42002 ' 10.0 DAT NDBC 360 + -85.94 26.07 '42003 ' 10.0 DAT NDBC 360 + -88.77 30.09 '42007 ' 5.0 DAT NDBC 90 + -95.36 27.91 '42019 ' 5.0 DAT NDBC 90 + -96.70 26.94 '42020 ' 5.0 DAT NDBC 90 + -94.40 29.22 '42035 ' 5.0 DAT NDBC 90 + -84.52 28.50 '42036 ' 5.0 DAT NDBC 90 + -86.02 28.79 '42039 ' 5.0 DAT NDBC 90 + -88.21 29.18 '42040 ' 5.0 DAT NDBC 90 + -90.46 27.50 '42041 ' 5.0 DAT NDBC 90 + -92.55 27.42 '42038 ' 5.0 DAT NDBC 90 + -94.05 22.01 '42055 ' 10.0 DAT NDBC 360 + -84.275 27.348 '42099 ' 999. DAT SCRIPPS 100 + -87.55 30.06 '42012 ' 5.0 DAT NDBC 90 + -88.49 28.19 '42887 ' 48.2 DAT BP 90 + -82.924 27.173 '42013 ' 3.1 DAT NDBC 90 + -82.220 25.254 '42014 ' 2.8 DAT NDBC 90 + -83.306 28.311 '42021 ' 2.8 DAT NDBC 90 + -83.741 27.504 '42022 ' 3.1 DAT NDBC 90 + -83.086 26.010 '42023 ' 3.1 DAT NDBC 90 + -94.899 28.982 '42043 ' 3.4 DAT NDBC 90 + -97.051 26.191 '42044 ' 3.4 DAT NDBC 90 + -96.500 26.217 '42045 ' 3.4 DAT NDBC 90 + -94.037 27.890 '42046 ' 3.4 DAT NDBC 90 + -93.597 27.896 '42047 ' 3.4 DAT NDBC 90 + -88.647 30.042 '42067 ' 5.0 DAT NDBC 90 + -83.650 25.700 '42097 ' 999.0 DAT NDBC 90 + -82.931 27.589 '42098 ' 999.0 DAT NDBC 90 + -90.471 26.672 '42360 ' 3.0 DAT NDBC 90 + -92.490 27.550 '42361 ' 122.0 DAT NDBC 90 + -90.648 27.795 '42362 ' 122.0 DAT NDBC 90 + -89.220 28.160 '42363 ' 122.0 DAT NDBC 90 + -88.090 29.060 '42364 ' 122.0 DAT NDBC 90 + -89.120 28.200 '42365 ' 122.0 DAT NDBC 90 + -90.283 27.207 '42369 ' 60.4 DAT NDBC 90 + -90.536 27.322 '42370 ' 78.7 DAT NDBC 90 + -88.056 28.866 '42374 ' 61.0 DAT NDBC 90 + -88.289 28.521 '42375 ' 61.0 DAT NDBC 90 + -87.944 29.108 '42376 ' 61.0 DAT NDBC 90 + -94.898 26.129 '42390 ' 61.0 DAT NDBC 90 + -90.027 27.196 '42392 ' 100.0 DAT NDBC 90 + -89.240 28.157 '42394 ' 100.0 DAT NDBC 90 + -90.792 26.404 '42395 ' 3.0 DAT NDBC 90 +$AGGX42 +$ +$AGCA42 +$ Caribbean Sea (CA) spectra (4) south from NC and Puerto Rico (2) + -85.06 19.87 '42056 ' 10.0 DAT NDBC 360 + -81.50 16.83 '42057 ' 10.0 DAT NDBC 360 + -75.06 15.09 '42058 ' 10.0 DAT NDBC 360 + -81.95 24.39 '42080 ' 999. DAT NDBC 45 + -67.50 15.01 '42059 ' 5.0 DAT NDBC 360 + -85.38 -19.62 '32012' 999. DAT WHOI 360 + -63.50 16.50 '42060 ' 5.0 DAT NDBC 360 + -74.681 11.161 '41194 ' 999.0 DAT NDBC 90 + -66.524 17.860 '42085 ' 4.0 DAT NDBC 90 + -80.061 19.699 '42089 ' 3.4 DAT NDBC 90 + -64.763 18.251 '41052 ' 4.0 DAT NDBC 90 + -65.004 18.257 '41051 ' 4.0 DAT NDBC 90 + -65.457 18.260 '41056 ' 4.0 DAT NDBC 90 + -67.280 18.379 '41115 ' 999.0 DAT NDBC 90 + -81.080 30.000 '41117 ' 999.0 DAT NDBC 90 + -81.244 24.535 '42079 ' 999.0 DAT NDBC 90 + -75.042 36.000 '42086 ' 999.0 DAT NDBC 90 + -81.967 24.407 '42095 ' 999.0 DAT NDBC 90 +$AGCA42 +$ +$AGNT42 +$ Western Atlantic (NT) spectra (4) south from NC and Puerto Rico (2) + -72.66 34.68 '41001 ' 5.0 DAT NDBC 360 + -75.36 32.32 '41002 ' 5.0 DAT NDBC 360 + -79.09 32.50 '41004 ' 5.0 DAT NDBC 360 + -80.87 31.40 '41008 ' 5.0 DAT NDBC 360 + -80.17 28.50 '41009 ' 5.0 DAT NDBC 80 + -78.47 28.95 '41010 ' 5.0 DAT NDBC 80 + -80.60 30.00 '41012 ' 5.0 DAT NDBC 80 + -77.74 33.44 '41013 ' 5.0 DAT NDBC 80 + -75.40 35.01 '41025 ' 5.0 DAT NDBC 80 + -77.28 34.48 '41035 ' 5.0 DAT NDBC 80 + -76.95 34.21 '41036 ' 5.0 DAT NDBC 80 + -65.01 20.99 '41043 ' 5.0 DAT NDBC 90 + -70.99 24.00 '41046 ' 5.0 DAT NDBC 90 + -71.49 27.47 '41047 ' 10.0 DAT NDBC 90 + -69.65 31.98 '41048 ' 10.0 DAT NDBC 90 + -81.292 30.709 '41112 ' 999. DAT SCRIPPS 30 + -80.53 28.40 '41113 ' 999. DAT SCRIPPS 30 + -80.22 27.55 '41114 ' 999. DAT SCRIPPS 30 + -74.84 36.61 '44014 ' 5.0 DAT NDBC 90 + -77.36 33.99 '41037 ' 3.0 DAT CORMP 80 + -77.72 34.14 '41038 ' 3.0 DAT CORMP 80 + -63.00 27.50 '41049 ' 5.0 DAT NDBC 90 + -58.69 21.65 '41044 ' 5.0 DAT NDBC 90 + -77.30 34.48 '41109 ' 3.0 DAT CORMP 80 + -77.71 34.14 '41110 ' 3.0 DAT CORMP 80 + -67.28 18.38 '41111 ' 3.0 DAT CORMP 80 + -66.099 18.474 '41053 ' 5.0 DAT NDBC 80 + -65.157 18.476 '41058 ' 5.0 DAT NDBC 80 + -78.484 33.837 '41024 ' 3.0 DAT NDBC 80 + -78.137 33.302 '41027 ' 3.0 DAT NDBC 80 + -79.624 32.803 '41029 ' 3.0 DAT NDBC 80 + -79.340 32.520 '41030 ' 3.0 DAT NDBC 80 + -80.410 32.279 '41033 ' 3.0 DAT NDBC 80 + -38.000 24.581 '41061 ' 2.7 DAT NDBC 80 + -75.095 35.778 '41062 ' 3.5 DAT NDBC 80 + -75.941 34.782 '41063 ' 3.5 DAT NDBC 80 + -76.949 34.207 '41064 ' 3.0 DAT NDBC 80 + -78.015 33.721 '41108 ' 999.0 DAT NDBC 80 + -76.948 34.210 '41159 ' 999.0 DAT NDBC 80 + -75.714 36.200 '44056 ' 999.0 DAT NDBC 80 +$AGNT42 +$ +$AGNT41 +$ Western Atlantic (NT) spectra (4) NE states north of VA (1) + -53.62 44.26 '44138 ' 5.0 DAT ENCAN 360 + -66.58 41.11 '44011 ' 5.0 DAT NDBC 360 + -58.00 43.00 '44141 ' 5.0 DAT ENCAN 360 + -64.02 42.50 '44142 ' 5.0 DAT ENCAN 360 + -48.01 46.77 'WRB07 ' 10.0 DAT PRIV 360 + -62.00 42.26 '44137 ' 5.0 DAT ENCAN 360 + -57.08 44.26 '44139 ' 5.0 DAT ENCAN 360 + -51.74 43.75 '44140 ' 5.0 DAT ENCAN 360 + -64.01 42.50 '44150 ' 5.0 DAT ENCAN 360 + -70.43 38.48 '44004 ' 5.0 DAT NDBC 90 + -69.16 43.19 '44005 ' 5.0 DAT NDBC 90 + -69.43 40.50 '44008 ' 5.0 DAT NDBC 90 + -74.70 38.46 '44009 ' 5.0 DAT NDBC 90 + -72.10 40.70 '44017 ' 5.0 DAT NDBC 80 + -69.29 41.26 '44018 ' 5.0 DAT NDBC 80 + -73.17 40.25 '44025 ' 5.0 DAT NDBC 80 + -71.01 41.38 '44070 ' 999. DAT NDBC 60 + -65.93 42.31 '44024 ' 4.0 DAT GOMOOS 80 + -67.31 44.27 '44027 ' 5.0 DAT NDBC 80 + -67.88 43.49 '44037 ' 4.0 DAT GOMOOS 80 + -66.55 43.62 '44038 ' 4.0 DAT GOMOOS 80 + -53.39 46.44 '44251 ' 5.0 DAT ENCAN 80 + -57.35 47.28 '44255 ' 5.0 DAT ENCAN 80 + -75.720 36.915 '44099 ' 999. DAT SCRIPPS 90 + -75.59 36.26 '44100 ' 999. DAT SCRIPPS 90 + -72.60 39.58 '44066 ' 5.0 DAT NDBC 80 + -75.492 36.872 '44093 ' 999. DAT SCRIPPS 80 + -75.33 35.75 '44095 ' 999. DAT SCRIPPS 80 + -75.809 37.023 '44096 ' 999. DAT SCRIPPS 80 + -71.126 40.967 '44097 ' 999. DAT SCRIPPS 80 + -70.17 42.80 '44098 ' 999. DAT SCRIPPS 80 + -70.141 43.525 '44007 ' 5.0 DAT NDBC 80 + -70.651 42.346 '44013 ' 5.0 DAT NDBC 80 + -70.186 41.439 '44020 ' 5.0 DAT NDBC 80 + -70.566 42.523 '44029 ' 4.0 DAT NDBC 80 + -70.428 43.181 '44030 ' 4.0 DAT NDBC 80 + -70.060 43.570 '44031 ' 4.0 DAT NDBC 80 + -69.355 43.716 '44032 ' 4.0 DAT NDBC 80 + -68.998 44.055 '44033 ' 4.0 DAT NDBC 80 + -68.109 44.106 '44034 ' 4.0 DAT NDBC 80 + -72.655 41.138 '44039 ' 3.5 DAT NDBC 80 + -73.580 40.956 '44040 ' 3.5 DAT NDBC 80 + -76.391 39.152 '44043 ' 3.0 DAT NDBC 80 + -75.183 38.883 '44054 ' 999.0 DAT NDBC 80 + -75.256 39.122 '44055 ' 999.0 DAT NDBC 80 + -76.257 37.567 '44058 ' 3.0 DAT NDBC 80 + -72.067 41.263 '44060 ' 3.5 DAT NDBC 80 + -77.036 38.788 '44061 ' 2.0 DAT NDBC 80 + -76.415 38.556 '44062 ' 3.0 DAT NDBC 80 + -76.448 38.963 '44063 ' 3.0 DAT NDBC 80 + -76.087 36.998 '44064 ' 3.0 DAT NDBC 80 + -73.703 40.369 '44065 ' 5.0 DAT NDBC 80 + -76.266 37.201 '44072 ' 3.0 DAT NDBC 80 + -75.334 37.757 '44089 ' 999.0 DAT NDBC 80 + -70.329 41.840 '44090 ' 999.0 DAT NDBC 80 + -73.77 39.77 '44091 ' 999.0 DAT NDBC 80 + -70.632 42.942 '44092 ' 999.0 DAT NDBC 80 + -73.106 40.585 '44094 ' 999.0 DAT NDBC 80 + -63.408 44.500 '44172 ' 999.0 DAT NDBC 360 + -57.341 47.263 '44235 ' 999.0 DAT NDBC 360 + -76.149 37.024 '44087 ' 999.0 DAT NDBC 360 +$AGNT41 +$ +$AGNT43 +$ Western Atlantic (NT) spectra (4) near South America (3) + -48.13 -27.70 '31201 ' 999. DAT SCRIPPS 180 + -34.567 -8.15 '31052 ' 999. DAT PNBOIA 180 + -43.088 -23.031 '31260 ' 999. DAT PNBOIA 180 + -47.367 -28.5 '31374 ' 999. DAT PNBOIA 180 + -44.933 -25.283 '31051 ' 999. DAT PNBOIA 180 + -51.353 -32.595 '31053 ' 999. DAT PNBOIA 180 + -49.81 -31.52 '31375 ' 999. DAT WMO 360 +$AGNT43 +$ +$AGXT43 +$ Tropical Belt (XT) spectra (4) near South America (3) + -53.08 14.55 '41040 ' 5.0 DAT NDBC 360 + -46.00 14.53 '41041 ' 5.0 DAT NDBC 360 + -57.90 15.90 '41100 ' 5.0 DAT METFR 360 + -56.20 14.60 '41101 ' 5.0 DAT METFR 360 + -50.949 14.754 '41060 ' 2.7 DAT NDBC 360 + -60.848 11.185 '42087 ' 3.4 DAT NDBC 360 + -60.521 11.301 '42088 ' 3.4 DAT NDBC 360 +$AGXT43 +$ +$AGXT40 +$ Tropical Belt (XT) spectra (4) in Pacific Ocean and Pacific Isles (0) + -125.032 10.051 '43010 ' 3.5 DAT NDBC 360 + -144.668 13.729 '52009 ' 5.0 DAT NDBC 360 +$AGXT40 +$ +$AGET43 +$ Eastern Atlantic (ET) spectra (3) near Europe (3) + -5.00 45.20 '62001 ' 3.0 DAT UKMO 360 + -20.00 41.60 '62002 ' 999. DAT UNKNOWN 360 + -12.40 48.70 '62029 ' 3.0 DAT UKMO 360 + -7.90 51.40 '62023 ' 999. DAT UNKNOWN 360 + -5.60 48.50 '62052 ' 999. DAT METFR 100 + -13.30 51.00 '62081 ' 3.0 DAT UKMO 360 + -11.20 53.13 '62090 ' 4.5 DAT IDT 100 + -5.42 53.47 '62091 ' 4.5 DAT IDT 60 + -10.55 51.22 '62092 ' 4.5 DAT IDT 100 + -9.07 54.67 '62093 ' 4.5 DAT IDT 60 + -6.70 51.69 '62094 ' 4.5 DAT IDT 60 + -15.92 53.06 '62095 ' 4.5 DAT IDT 100 + -2.90 49.90 '62103 ' 14.0 DAT UKMO 360 + -12.36 54.54 '62105 ' 3.0 DAT UKMO 360 + -9.90 57.00 '62106 ' 4.5 DAT UKMO 360 + -6.10 50.10 '62107 ' 14.0 DAT UKMO 360 + -19.50 53.50 '62108 ' 3.0 DAT UKMO 360 + -8.50 47.50 '62163 ' 3.0 DAT UKMO 360 + -4.70 52.30 '62301 ' 3.0 DAT UKMO 25 + -5.10 51.60 '62303 ' 3.0 DAT UKMO 25 + 0.00 50.40 '62305 ' 14.0 DAT UKMO 25 + 2.00 51.40 '62170 ' 999.0 DAT UKMO 25 + -11.40 59.10 '64045 ' 3.0 DAT UKMO 360 + -4.50 60.70 '64046 ' 3.0 DAT UKMO 360 + -23.10 64.05 'TFGSK ' 999. DAT UNKNOWN 60 + -15.20 64.00 'TFHFN ' 999. DAT UNKNOWN 60 + -20.35 63.00 'TFSRT ' 999. DAT UNKNOWN 60 + 7.80 64.30 'LF3F ' 999. DAT UNKNOWN 360 + 1.10 55.30 '62026 ' 999. DAT UNKNOWN 360 + 0.00 57.00 '62109 ' 999. DAT UNKNOWN 25 + 0.40 58.10 '62111 ' 999. DAT UNKNOWN 25 + 1.30 58.70 '62112 ' 999. DAT UNKNOWN 25 + 1.40 57.70 '62116 ' 999. DAT UNKNOWN 360 + 0.00 57.90 '62117 ' 999. DAT UNKNOWN 15 + 2.00 57.00 '62119 ' 999. DAT UNKNOWN 25 + 1.40 58.70 '62128 ' 999. DAT UNKNOWN 25 + 2.00 56.40 '62132 ' 999. DAT UNKNOWN 25 + 1.00 57.10 '62133 ' 999. DAT UNKNOWN 15 + 2.10 53.00 '62142 ' 999. DAT PRIV 30 + 1.80 57.70 '62143 ' 999. DAT UNKNOWN 25 + 1.70 53.40 '62144 ' 999. DAT PRIV 45 + 2.80 53.10 '62145 ' 999. DAT PRIV 360 + 1.80 57.00 '62152 ' 999. DAT UNKNOWN 25 + 0.50 57.40 '62162 ' 999. DAT UNKNOWN 25 + 0.50 57.20 '62164 ' 999. DAT PRIV 15 + 1.90 51.10 '62304 ' 14.0 DAT UKMO 25 + 1.70 60.60 '63055 ' 999. DAT UNKNOWN 25 + 1.60 59.50 '63056 ' 999. DAT UNKNOWN 25 + 1.50 59.20 '63057 ' 999. DAT UNKNOWN 360 + 1.10 61.20 '63103 ' 999. DAT UNKNOWN 15 + 1.70 60.80 '63108 ' 999. DAT UNKNOWN 15 + 1.50 59.50 '63110 ' 999. DAT PRIV 15 + 1.00 61.10 '63112 ' 999. DAT PRIV 360 + 1.70 61.00 '63113 ' 999. DAT PRIV 100 + 1.30 61.60 '63115 ' 999. DAT PRIV 25 + 2.30 61.20 'LF3J ' 999. DAT UNKNOWN 25 + 3.70 60.60 'LF4B ' 999. DAT UNKNOWN 360 + 2.20 59.60 'LF4H ' 999. DAT UNKNOWN 25 + 1.90 58.40 'LF4C ' 999. DAT UNKNOWN 25 + 3.20 56.50 'LF5U ' 999. DAT UNKNOWN 60 + 3.28 51.99 'EURO ' 999. DAT MVEW 60 + 3.22 53.22 'K13 ' 999. DAT MVEW 25 + -3.03 43.63 '62024 ' 999. DAT PDES 25 + -7.62 44.07 '62082 ' 999. DAT PDES 25 + -9.40 42.12 '62084 ' 999. DAT PDES 25 + -6.97 36.48 '62085 ' 999. DAT PDES 25 + -15.82 28.18 '13130 ' 999. DAT PDES 25 + -16.58 28.00 '13131 ' 999. DAT PDES 25 + 0.90 57.70 '62118 ' 999. DAT UNKNOWN 15 + 2.10 57.10 '62146 ' 999. DAT UNKNOWN 25 + 6.33 55.00 'BSH01 ' 999. DAT UNKNOWN 60 + 7.89 54.16 'BSH02 ' 999. DAT UNKNOWN 60 + 8.12 54.00 'BSH03 ' 999. DAT UNKNOWN 60 + 6.58 54.00 'BSH04 ' 999. DAT UNKNOWN 60 + 8.22 54.92 'BSH05 ' 999. DAT UNKNOWN 60 +$AGET43 +$ +$AGAC43 +$ Arctic Ocean (AC) spectra (4) non-descript (3) + -25.00 65.69 'TFBLK ' 999. DAT UNKNOWN 60 + -18.20 66.50 'TFGRS ' 999. DAT UNKNOWN 60 + -13.50 65.65 'TFKGR ' 999. DAT UNKNOWN 60 + 7.30 65.30 'LF3N ' 999. DAT UNKNOWN 60 + 8.10 66.00 'LF5T ' 999. DAT UNKNOWN 360 + 2.00 66.00 'LDWR ' 999. DAT UNKNOWN 360 + 21.10 71.60 '3FYT ' 999. DAT UNKNOWN 360 + 15.50 73.50 'LFB1 ' 999. DAT OCNOR 360 + 30.00 74.00 'LFB2 ' 999. DAT OCNOR 360 + -9.26 68.48 '64071 ' 999. DAT UNKNOWN 60 + -166.071 70.025 '48012 ' 3.0 DAT NDBC 360 + -169.454 65.011 '48114 ' 999.0 DAT NDBC 360 + -146.040 70.370 '48211 ' 999.0 DAT NDBC 360 + -150.279 70.874 '48212 ' 999.0 DAT NDBC 360 + -164.133 71.502 '48213 ' 999.0 DAT NDBC 360 + -165.248 70.872 '48214 ' 999.0 DAT NDBC 360 + -167.952 71.758 '48216 ' 999.0 DAT NDBC 360 +$AGAC43 +$ +$AGIO45 +$ Indian Ocean (I) spectra (4) non-descript (5) + 72.49 17.02 '23092 ' 999. DAT UNKNOWN 20 + 73.75 15.40 '23093 ' 999. DAT UNKNOWN 120 + 74.50 12.94 '23094 ' 999. DAT UNKNOWN 120 + 80.39 13.19 '23096 ' 999. DAT UNKNOWN 120 + 69.24 15.47 '23097 ' 999. DAT UNKNOWN 360 + 72.51 10.65 '23098 ' 999. DAT UNKNOWN 360 + 90.74 12.14 '23099 ' 999. DAT UNKNOWN 360 + 87.56 18.35 '23100 ' 999. DAT UNKNOWN 120 + 83.27 13.97 '23101 ' 999. DAT UNKNOWN 360 + 87.50 15.00 '23168 ' 999. DAT UNKNOWN 360 + 90.14 18.13 '23169 ' 999. DAT UNKNOWN 360 + 72.66 8.33 '23170 ' 999. DAT UNKNOWN 360 + 72.00 12.50 '23172 ' 999. DAT UNKNOWN 360 + 78.57 8.21 '23173 ' 999. DAT UNKNOWN 120 + 81.53 11.57 '23174 ' 999. DAT UNKNOWN 360 + 116.14 -19.59 '56002 ' 999. DAT UNKNOWN 120 + 115.40 -32.11 '56005 ' 999. DAT UNKNOWN 50 + 114.78 -33.36 '56006 ' 999. DAT UNKNOWN 120 + 114.94 -21.41 '56007 ' 999. DAT UNKNOWN 50 + 22.17 -34.97 'AGULHAS_FA' 10.0 DAT PRIV 360 + 121.90 -34.00 '56010 ' 999. DAT UNKNOWN 50 + 114.10 -21.70 '56012 ' 999. DAT UNKNOWN 50 + 85.00 12.60 '23167 ' 999. DAT UNKNOWN 360 + 70.00 11.02 '23171 ' 999. DAT UNKNOWN 360 + 91.66 10.52 '23451 ' 999. DAT UNKNOWN 120 + 89.04 10.97 '23455 ' 999. DAT UNKNOWN 120 + 86.98 9.99 '23456 ' 999. DAT UNKNOWN 120 + 70.10 5.16 '23491 ' 999. DAT UNKNOWN 120 + 68.08 13.89 '23492 ' 999. DAT UNKNOWN 120 + 66.98 11.12 '23493 ' 999. DAT UNKNOWN 120 + 75.00 6.46 '23494 ' 999. DAT UNKNOWN 120 + 68.97 7.13 '23495 ' 999. DAT UNKNOWN 120 +$AGIO45 +$ +$ END of AWIPS Section +$ +$ South America DAT + -77.50 6.26 '32488 ' 999. DAT DIMAR 45 + -77.74 3.52 '32487 ' 999. DAT DIMAR 45 + -72.22 12.35 '41193 ' 999. DAT DIMAR 120 +$ Japanese buoys DAT +$ South Korean buoys DAT + 129.78 36.35 '22106 ' 999. DAT SKOREA 100 + 126.33 33.00 '22107 ' 999. DAT SKOREA 100 +$ Africa DAT + 57.70 -20.45 'MAUR01 ' 999. DAT WMO 360 + 57.75 -20.10 'MAUR02 ' 999. DAT WMO 360 +$ End of multi_1 buoy file +$ + 0.00 0.00 'STOPSTRING' 999. XXX NCEP 0 From 95377127845abb6725feea77b95cb62b30e12714 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Wed, 13 Sep 2023 02:58:57 +0000 Subject: [PATCH 10/13] Add EP4A restart settings for waves --- parm/config/gefs/config.fcst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/parm/config/gefs/config.fcst b/parm/config/gefs/config.fcst index 0276f144b1..6150d25d33 100644 --- a/parm/config/gefs/config.fcst +++ b/parm/config/gefs/config.fcst @@ -313,6 +313,10 @@ case "${PROTO}" in AERO_DIAG_TABLE=${AERO_CONFIG_DIR}/diag_table.aero AERO_FIELD_TABLE=${AERO_CONFIG_DIR}/field_table.aero aero_conv_scav_factors="'*:0.3','so2:0.0','msa:0.0','dms:0.0','bc1:0.6','bc2:0.6','oc1:0.4','oc2:0.4','dust1:0.6','dust2:0.6', 'dust3:0.6','dust4:0.6','dust5:0.6','seas1:0.5','seas2:0.5','seas3:0.5','seas4:0.5','seas5:0.5'" + rst_wav=$(( restart_interval_gfs > 0 ? restart_interval_gfs : FHMAX_WAV )) + export DT_1_RST_WAV=0 + export DT_2_RST_WAV=$(( 3600 * rst_wav )) + export RSTIOFF_WAV=0 ;; *) ;; From 5e07f9aacd055902c1dd2f365c5e0ccbbe80430b Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Wed, 13 Sep 2023 03:04:55 +0000 Subject: [PATCH 11/13] Temporarily disable the ability to continue from a previous run attempt for EP4A --- ush/forecast_det.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ush/forecast_det.sh b/ush/forecast_det.sh index bf1b94ca8c..65961c1111 100755 --- a/ush/forecast_det.sh +++ b/ush/forecast_det.sh @@ -40,10 +40,21 @@ FV3_det(){ tcyc=${scyc} fi + + RERUN=${RERUN:-"NO"} + #------------------------------------------------------- + # prototype-specific settings + case "${PROTO}" in + EP4A) + return + ;; + *) + ;; + esac + # #------------------------------------------------------- # determine if restart IC exists to continue from a previous forecast run attempt - RERUN=${RERUN:-"NO"} # Get a list of all YYYYMMDD.HH0000.coupler.res files from the atmos restart directory mapfile -t file_array < <(find "${COM_ATMOS_RESTART:-/dev/null}" -name "????????.??0000.coupler.res") if [[ ( "${RUN}" = "gfs" || "${RUN}" = "gefs" ) \ From b48906fd65fe7a1e76fa8ec4a33203a64153a6fd Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Fri, 15 Sep 2023 16:44:07 +0000 Subject: [PATCH 12/13] Adjust gfs_physics_nml namelist in input.nml for EP4A --- ush/parsing_namelists_FV3.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index 765a760da6..c6517ee2ae 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -345,7 +345,19 @@ cat >> input.nml <> input.nml << EOF iopt_diag = ${iopt_diag:-"3"} +EOF + ;; +esac + +cat >> input.nml << EOF debug = ${gfs_phys_debug:-".false."} nstf_name = ${nstf_name} nst_anl = ${nst_anl} From 4435762e82b6e03c4d1b93fccc991708cf07dc95 Mon Sep 17 00:00:00 2001 From: Raffaele Montuoro Date: Fri, 15 Sep 2023 20:26:24 +0000 Subject: [PATCH 13/13] Properly set FV3 output filetype to 'netcdf_parallel' for EP4A --- parm/config/gefs/config.efcs | 12 ++++++++---- parm/config/gefs/config.ufs | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/parm/config/gefs/config.efcs b/parm/config/gefs/config.efcs index 12714592f0..0ace476c8a 100644 --- a/parm/config/gefs/config.efcs +++ b/parm/config/gefs/config.efcs @@ -31,8 +31,14 @@ source "${EXPDIR}/config.ufs" ${string} source "${EXPDIR}/config.resources" efcs # Use serial I/O for ensemble (lustre?) -export OUTPUT_FILETYPE_ATM="netcdf" -export OUTPUT_FILETYPE_SFC="netcdf" +case "${PROTO:-}" in + EP4A) + ;; + *) + export OUTPUT_FILETYPE_ATM="netcdf" + export OUTPUT_FILETYPE_SFC="netcdf" + ;; +esac # Number of enkf members per fcst job export NMEM_EFCSGRP=1 @@ -44,8 +50,6 @@ export WRITE_DOPOST=".true." # Stochastic physics parameters (only for ensemble forecasts) case "${PROTO:-}" in EP4A) - export OUTPUT_FILETYPE_ATM="netcdf_parallel" - export OUTPUT_FILETYPE_ATM="netcdf_parallel" export MOM6_RESTART_SETTING=n export IEMS_ENKF=2 export FHCYC_ENKF=24 diff --git a/parm/config/gefs/config.ufs b/parm/config/gefs/config.ufs index d21e4cd6d9..f4f8c5f350 100644 --- a/parm/config/gefs/config.ufs +++ b/parm/config/gefs/config.ufs @@ -403,6 +403,8 @@ case "${PROTO}" in export nthreads_mom6=1 export ntasks_ww3=262 export nthreads_ww3=1 + export OUTPUT_FILETYPE_ATM="netcdf_parallel" + export OUTPUT_FILETYPE_SFC="netcdf_parallel" ;; *) ;;