Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add GEFS ENS Atmos options #2392

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
5cf91e9
GEFS stage ICs for C384 and with ocean perturbations
NeilBarton-NOAA Feb 29, 2024
1c670b0
edits for option to stage ocean perturbation files
NeilBarton-NOAA Feb 29, 2024
cb09d61
Update exglobal_stage_ic.sh
aerorahul Feb 29, 2024
a975e79
Update scripts/exglobal_stage_ic.sh
NeilBarton-NOAA Mar 1, 2024
03ed0ca
Update scripts/exglobal_stage_ic.sh
NeilBarton-NOAA Mar 1, 2024
622683d
Merge remote-tracking branch 'origin/develop' into EP5d_OCEANPERT
NeilBarton-NOAA Mar 5, 2024
267db5e
Ocean Ensmemble Options
NeilBarton-NOAA Mar 7, 2024
418e2e3
add some defaults to YAML
NeilBarton-NOAA Mar 8, 2024
cb537b3
Update ush/parsing_namelists_FV3.sh
NeilBarton-NOAA Mar 11, 2024
a15b3cd
Update ush/parsing_namelists_FV3.sh
NeilBarton-NOAA Mar 11, 2024
0a49463
moving variables to config files
NeilBarton-NOAA Mar 11, 2024
2639d86
Merge branch 'EP5d_OCEANPERT' of https://github.com/NeilBarton-NOAA/g…
NeilBarton-NOAA Mar 11, 2024
245b2a0
Merge remote-tracking branch 'origin/EP5d_OCEANPERT' into EP5d_GEFS_A…
NeilBarton-NOAA Mar 11, 2024
53e29f5
Atmos ensemble pertubation options
NeilBarton-NOAA Mar 12, 2024
47ed894
Merge remote-tracking branch 'origin/develop' into EP5d_OCEANPERT
NeilBarton-NOAA Mar 12, 2024
094c0b0
Merge remote-tracking branch 'origin/EP5d_OCEANPERT' into EP5d_GEFS_A…
NeilBarton-NOAA Mar 12, 2024
e2dd1ea
Update scripts/exglobal_stage_ic.sh
NeilBarton-NOAA Mar 13, 2024
8b90841
Update ush/forecast_postdet.sh
NeilBarton-NOAA Mar 13, 2024
2a2d523
Merge branch 'develop' into EP5d_OCEANPERT
aerorahul Mar 14, 2024
de5eb47
Merge remote-tracking branch 'origin/develop' into EP5d_GEFS_ATMOS
NeilBarton-NOAA Mar 14, 2024
1b50a39
Update scripts/exglobal_stage_ic.sh
aerorahul Mar 14, 2024
539b3ba
Merge branch 'develop' into EP5d_OCEANPERT
aerorahul Mar 14, 2024
8255a99
Merge branch 'develop' into EP5d_OCEANPERT
aerorahul Mar 14, 2024
1b8b0f3
Merge remote-tracking branch 'origin/EP5d_GEFS_ATMOS' into develop
NeilBarton-NOAA Mar 14, 2024
cd30876
Merge remote-tracking branch 'origin/develop' into EP5d_GEFS_ATMOS
NeilBarton-NOAA Mar 20, 2024
5770f28
IAER bug fix
NeilBarton-NOAA Mar 20, 2024
8dece6b
remove overwrite from fcst options
NeilBarton-NOAA Mar 21, 2024
0663b46
files needed when running 2011
NeilBarton-NOAA Mar 21, 2024
19e2cf1
change location cdmbgwd is set
NeilBarton-NOAA Mar 21, 2024
d0816c5
fixing bash errors and addressing PR comments
NeilBarton-NOAA Mar 22, 2024
3cd0998
Update ush/forecast_postdet.sh
NeilBarton-NOAA Mar 22, 2024
bd2a241
Update parm/config/gefs/config.fcst
NeilBarton-NOAA Mar 22, 2024
393a280
Update ush/parsing_namelists_FV3.sh
NeilBarton-NOAA Mar 22, 2024
d84f0fa
Update parm/config/gfs/config.fcst
NeilBarton-NOAA Mar 22, 2024
dbf84bf
new variable defined in config.base
NeilBarton-NOAA Mar 22, 2024
79b1d40
Merge branch 'EP5d_GEFS_ATMOS' of https://github.com/NeilBarton-NOAA/…
NeilBarton-NOAA Mar 22, 2024
041b2d2
ISEED_SKEB now is the same as ISEED_SPPT
NeilBarton-NOAA Mar 22, 2024
59f3038
Update ush/parsing_namelists_FV3.sh
NeilBarton-NOAA Mar 22, 2024
c9cc290
setting SEEDS based on DO command as defined in config.efcs
NeilBarton-NOAA Mar 22, 2024
662e006
Update ush/forecast_postdet.sh
NeilBarton-NOAA Mar 22, 2024
8fe2bc1
Merge branch 'NOAA-EMC:develop' into EP5d_GEFS_ATMOS
NeilBarton-NOAA Mar 28, 2024
32bc55d
addressing CI failure
NeilBarton-NOAA Mar 28, 2024
3003f38
Merge branch 'NOAA-EMC:develop' into EP5d_GEFS_ATMOS
NeilBarton-NOAA Mar 28, 2024
2436ac1
Merge branch 'develop' into EP5d_GEFS_ATMOS
aerorahul Mar 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions env/WCOSS2.env
Original file line number Diff line number Diff line change
Expand Up @@ -173,14 +173,11 @@ elif [[ "${step}" = "fcst" ]] || [[ "${step}" = "efcs" ]]; then
# https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/fv3_conf/fv3_qsub.IN_wcoss2
export FI_OFI_RXM_RX_SIZE=40000
export FI_OFI_RXM_TX_SIZE=40000
if [[ "${step}" = "fcst" ]]; then
if [[ "${step}" = "fcst" ]] || [[ "${step}" = "efcs" ]]; then
export OMP_PLACES=cores
export OMP_STACKSIZE=2048M
export MPICH_MPIIO_HINTS="*:romio_cb_write=disable"
export FI_OFI_RXM_SAR_LIMIT=3145728
elif [[ "${step}" = "efcs" ]]; then
export MPICH_MPIIO_HINTS="*:romio_cb_write=disable"
export FI_OFI_RXM_SAR_LIMIT=3145728
fi

elif [[ "${step}" = "upp" ]]; then
Expand Down
2 changes: 1 addition & 1 deletion parm/config/gefs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ export MEMDIR="mem${ENSMEM}"

# initialize ocean ensemble members with perturbations
# if true, only occurs for members greater than zero
export USE_OCN_PERTURB_FILES=@STAGE_OCN_PERTURB_FILES@
export USE_OCN_PERTURB_FILES=@USE_OCN_PERTURB_FILES@

export DOIAU="NO" # While we are not doing IAU, we may want to warm start w/ IAU in the future
# Check if cycle is cold starting
Expand Down
19 changes: 8 additions & 11 deletions parm/config/gefs/config.efcs
Original file line number Diff line number Diff line change
Expand Up @@ -38,28 +38,25 @@ if [[ "${RUN}" == "enkfgfs" ]]; then
export FHMAX=${FHMAX_ENKF_GFS:-${FHMAX}}
fi

# Use serial I/O for ensemble (lustre?)
export OUTPUT_FILETYPE_ATM="netcdf"
export OUTPUT_FILETYPE_SFC="netcdf"

# 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="0.8,-999,-999,-999,-999"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure what stochastic physics setting GDAS will use? as this efcs will also be used by GDAS, it will be better to ask Cathy about this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As of now, we won't be changing the stochastic physics settings for the GDAS. This config file won't be shared by GDAS though. Our config files are in parm/config/gfs, so you can change this one without affecting us.

export SKEB_TAU="2.16E4,2.592E5,2.592E6,7.776E6,3.1536E7"
export SKEB_LSCALE="500.E3,1000.E3,2000.E3,2000.E3,2000.E3"
export SKEBNORM=1
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="0.56,0.28,0.14,0.056,0.028"
export SPPT_TAU="2.16E4,2.592E5,2.592E6,7.776E6,3.1536E7"
export SPPT_LSCALE="500.E3,1000.E3,2000.E3,2000.E3,2000.E3"
export SPPT_LOGIT=".true."
export SPPT_SFCLIMIT=".true."
export DO_CA="YES"
# OCN options
export DO_OCN_SPPT="YES"
export OCNSPPT="0.8,0.4,0.2,0.08,0.04"
Expand Down
9 changes: 5 additions & 4 deletions parm/config/gefs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,6 @@ if (( gwd_opt == 2 )); then
export do_ugwp_v1_orog_only=".false."
launch_level=$(echo "${LEVS}/2.35" |bc)
export launch_level
if [[ ${do_gsl_drag_ls_bl} == ".true." ]]; then
export cdmbgwd=${cdmbgwd_gsl}
fi
fi

# Sponge layer settings
Expand Down Expand Up @@ -137,7 +134,11 @@ tbp=""
if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi

# Radiation options
export IAER=1011 ; #spectral band mapping method for aerosol optical properties
if [[ "${DO_AERO}" == "YES" ]]; then
export IAER=2011 # spectral band mapping method for aerosol optical properties
else
export IAER=1011
fi
export iovr_lw=3 ; #de-correlation length cloud overlap method (Barker, 2008)
export iovr_sw=3 ; #de-correlation length cloud overlap method (Barker, 2008)
export iovr=3 ; #de-correlation length cloud overlap method (Barker, 2008)
Expand Down
2 changes: 0 additions & 2 deletions parm/config/gefs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,5 @@ base:
DO_MERGENSST: "NO"
KEEPDATA: "NO"
FHMAX_GFS: 120

stage_ic:
USE_OCN_PERTURB_FILES: "false"

9 changes: 5 additions & 4 deletions parm/config/gfs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,6 @@ if (( gwd_opt == 2 )); then
export do_ugwp_v1_orog_only=".false."
launch_level=$(echo "${LEVS}/2.35" |bc)
export launch_level
if [[ ${do_gsl_drag_ls_bl} == ".true." ]]; then
export cdmbgwd=${cdmbgwd_gsl}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NeilBarton-NOAA is there a reason this was removed?

fi
fi

# Sponge layer settings
Expand Down Expand Up @@ -149,7 +146,11 @@ tbp=""
if [[ "${progsigma}" == ".true." ]]; then tbp="_progsigma" ; fi

# Radiation options
export IAER=1011 ; #spectral band mapping method for aerosol optical properties
if [[ "${DO_AERO}" == "YES" ]]; then
export IAER=2011 # spectral band mapping method for aerosol optical properties
else
export IAER=1011
fi
export iovr_lw=3 ; #de-correlation length cloud overlap method (Barker, 2008)
export iovr_sw=3 ; #de-correlation length cloud overlap method (Barker, 2008)
export iovr=3 ; #de-correlation length cloud overlap method (Barker, 2008)
Expand Down
30 changes: 15 additions & 15 deletions ush/forecast_postdet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -242,12 +242,13 @@ EOF
MM=$(printf %02d "${month}")
${NLN} "${FIXgfs}/aer/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc"
done
${NLN} "${FIXgfs}/lut/optics_BC.v1_3.dat" "${DATA}/optics_BC.dat"
${NLN} "${FIXgfs}/lut/optics_OC.v1_3.dat" "${DATA}/optics_OC.dat"
${NLN} "${FIXgfs}/lut/optics_DU.v15_3.dat" "${DATA}/optics_DU.dat"
${NLN} "${FIXgfs}/lut/optics_SS.v3_3.dat" "${DATA}/optics_SS.dat"
${NLN} "${FIXgfs}/lut/optics_SU.v1_3.dat" "${DATA}/optics_SU.dat"
fi

WalterKolczynski-NOAA marked this conversation as resolved.
Show resolved Hide resolved
${NLN} "${FIXgfs}/lut/optics_BC.v1_3.dat" "${DATA}/optics_BC.dat"
${NLN} "${FIXgfs}/lut/optics_OC.v1_3.dat" "${DATA}/optics_OC.dat"
${NLN} "${FIXgfs}/lut/optics_DU.v15_3.dat" "${DATA}/optics_DU.dat"
${NLN} "${FIXgfs}/lut/optics_SS.v3_3.dat" "${DATA}/optics_SS.dat"
${NLN} "${FIXgfs}/lut/optics_SU.v1_3.dat" "${DATA}/optics_SU.dat"

${NLN} "${FIXgfs}/am/global_co2historicaldata_glob.txt" "${DATA}/co2historicaldata_glob.txt"
${NLN} "${FIXgfs}/am/co2monthlycyc.txt" "${DATA}/co2monthlycyc.txt"
Expand Down Expand Up @@ -439,26 +440,26 @@ EOF
fi

# Stochastic Physics Options
if [[ ${SET_STP_SEED:-"YES"} = "YES" ]]; then
ISEED_SKEB=$((current_cycle*1000 + MEMBER*10 + 1))
ISEED_SHUM=$((current_cycle*1000 + MEMBER*10 + 2))
ISEED_SPPT=$((current_cycle*1000 + MEMBER*10 + 3))
ISEED_CA=$(( (current_cycle*1000 + MEMBER*10 + 4) % 2147483647 ))
ISEED_LNDP=$(( (current_cycle*1000 + MEMBER*10 + 5) % 2147483647 ))
if [[ ${DO_SPPT:-"NO"} = "YES" ]]; then
WalterKolczynski-NOAA marked this conversation as resolved.
Show resolved Hide resolved
do_sppt=".true."
ISEED_SPPT=$((current_cycle*10000 + ${MEMBER#0}*100 + 3)),$((current_cycle*10000 + ${MEMBER#0}*100 + 4)),$((current_cycle*10000 + ${MEMBER#0}*100 + 5)),$((current_cycle*10000 + ${MEMBER#0}*100 + 6)),$((current_cycle*10000 + ${MEMBER#0}*100 + 7))
WalterKolczynski-NOAA marked this conversation as resolved.
Show resolved Hide resolved
else
ISEED=${ISEED:-0}
fi
if (( MEMBER > 0 )) && [[ ${DO_CA:-"NO"} = "YES" ]]; then
ISEED_CA=$(( (current_cycle*10000 + ${MEMBER#0}*100 + 18) % 2147483647 ))
fi
if [[ ${DO_SKEB} = "YES" ]]; then
do_skeb=".true."
fi
if [[ ${DO_SPPT} = "YES" ]]; then
do_sppt=".true."
ISEED_SKEB=$((current_cycle*10000 + ${MEMBER#0}*100 + 1))
fi
if [[ ${DO_SHUM} = "YES" ]]; then
do_shum=".true."
ISEED_SHUM=$((current_cycle*1000 + MEMBER*10 + 2))
fi
if [[ ${DO_LAND_PERT} = "YES" ]]; then
lndp_type=${lndp_type:-2}
ISEED_LNDP=$(( (current_cycle*1000 + MEMBER*10 + 5) % 2147483647 ))
LNDP_TAU=${LNDP_TAU:-21600}
LNDP_SCALE=${LNDP_SCALE:-500000}
ISEED_LNDP=${ISEED_LNDP:-${ISEED}}
Expand Down Expand Up @@ -708,7 +709,6 @@ MOM6_postdet() {
if (( MEMBER > 0 )) && [[ "${ODA_INCUPD:-False}" == "True" ]]; then
${NLN} "${COM_OCEAN_RESTART_PREV}/${sPDY}.${scyc}0000.mom6_increment.nc" "${DATA}/INPUT/mom6_increment.nc"
fi

# Copy MOM6 fixed files
${NCP} "${FIXgfs}/mom6/${OCNRES}/"* "${DATA}/INPUT/" # TODO: These need to be explicit

Expand Down
34 changes: 33 additions & 1 deletion ush/parsing_namelists_FV3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ DIAG_TABLE_APPEND=${DIAG_TABLE_APPEND:-${PARMgfs}/ufs/fv3/diag_table_aod}
DATA_TABLE=${DATA_TABLE:-${PARMgfs}/ufs/MOM6_data_table.IN}
FIELD_TABLE=${FIELD_TABLE:-${PARMgfs}/ufs/fv3/field_table}

# set cdmbgwd
if (( gwd_opt == 2 )) && [[ ${do_gsl_drag_ls_bl} == ".true." ]]; then
cdmbgwd=${cdmbgwd_gsl}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason this is no longer in the config file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This if statement was moved to parsing_namelists_FV3.sh because the ensemble forecasts was not getting the correct value. This value is set in config.ufs, and over-set in config.fcst. Since config.ufs is sourced in config.efcs after the config.fcst source, the value was reset to the config.ufs value

fi

# ensure non-prognostic tracers are set
dnats=${dnats:-0}

Expand Down Expand Up @@ -393,6 +398,14 @@ cat >> input.nml <<EOF
cplwav2atm = ${cplwav2atm:-".false."}
EOF

if [[ ${DO_SPPT} = "YES" ]]; then
cat >> input.nml <<EOF
pert_mp = .false.
pert_radtend = .false.
pert_clds = .true.
EOF
fi

# Add namelist for IAU
if [[ ${DOIAU} = "YES" ]]; then
cat >> input.nml << EOF
Expand Down Expand Up @@ -606,7 +619,7 @@ EOF
skeb_tau = ${SKEB_TAU:-"-999."}
skeb_lscale = ${SKEB_LSCALE:-"-999."}
skebnorm = ${SKEBNORM:-"1"}
skeb_npass = ${SKEB_nPASS:-"30"}
skeb_npass = ${SKEB_NPASS:-"30"}
skeb_vdof = ${SKEB_VDOF:-"5"}
EOF
fi
Expand All @@ -629,6 +642,25 @@ EOF
sppt_logit = ${SPPT_LOGIT:-".true."}
sppt_sfclimit = ${SPPT_SFCLIMIT:-".true."}
use_zmtnblck = ${use_zmtnblck:-".true."}
pbl_taper = ${pbl_taper:-"0,0,0,0.125,0.25,0.5,0.75"}
EOF
fi

if [[ "${DO_OCN_SPPT:-NO}" == "YES" ]]; then
cat >> input.nml <<EOF
OCNSPPT=${OCNSPPT}
OCNSPPT_LSCALE=${OCNSPPT_LSCALE}
OCNSPPT_TAU=${OCNSPPT_TAU}
ISEED_OCNSPPT=${ISEED_OCNSPPT:-${ISEED}}
EOF
fi

if [[ "${DO_OCN_PERT_EPBL:-NO}" == "YES" ]]; then
cat >> input.nml <<EOF
EPBL=${EPBL}
EPBL_LSCALE=${EPBL_LSCALE}
EPBL_TAU=${EPBL_TAU}
ISEED_EPBL=${ISEED_EPBL:-${ISEED}}
EOF
fi

Expand Down
Loading