-
Notifications
You must be signed in to change notification settings - Fork 179
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
Setup the snow DA analysis to update to the enkf ensemble members #2033
Changes from 4 commits
027916a
229d6cc
fb9629f
057814b
73d748b
2c90836
27660fe
dbe75a7
6e65049
85311c6
ffd6c59
67313b7
9dc7d53
ea58de5
8a20d1a
b82dfd7
d808429
089f3bf
ede3f9f
b9b2922
d30517d
5cc3d1b
9886210
ed5963b
6394992
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,48 @@ | ||||||
#! /usr/bin/env bash | ||||||
|
||||||
source "${HOMEgfs}/ush/preamble.sh" | ||||||
export WIPE_DATA="NO" | ||||||
export DATA=${DATA:-${DATAROOT}/${RUN}landensanl_${cyc}} | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These are only needed if the job is using the working directory of a previous job. It appears this job is doing initialize/run/finalize all in one job.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Removed as you suggested. Thanks. |
||||||
source "${HOMEgfs}/ush/jjob_header.sh" -e "landensanl" -c "base landensanl" | ||||||
|
||||||
############################################## | ||||||
# Set variables used in the script | ||||||
############################################## | ||||||
# Ignore possible spelling error (nothing is misspelled) | ||||||
# shellcheck disable=SC2153 | ||||||
GDATE=$(date --utc +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours") | ||||||
gPDY=${GDATE:0:8} | ||||||
gcyc=${GDATE:8:2} | ||||||
GDUMP="enkfgdas" | ||||||
|
||||||
############################################## | ||||||
# Begin JOB SPECIFIC work | ||||||
############################################## | ||||||
# Generate COM variables from templates | ||||||
YMD=${PDY} HH=${cyc} generate_com -rx COM_LANDENS_ANALYSIS | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
( I also don't see a MEMDIR definition, which this will need if it is part of RUN=enkf. What There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks @WalterKolczynski-NOAA I removed the whole sections because the COM directories for the ensemble members will be defined at the runtime and the MEMDIR is part of RUN=enkf. |
||||||
|
||||||
RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \ | ||||||
COM_ATMOS_RESTART_PREV:COM_ATMOS_RESTART_TMPL | ||||||
|
||||||
mkdir -m 775 -p "${COM_LANDENS_ANALYSIS}" | ||||||
|
||||||
############################################################### | ||||||
# Run relevant script | ||||||
|
||||||
EXSCRIPT=${LANDENSANLPY:-${HOMEgfs}/scripts/exglobal_landens_analysis.py} | ||||||
${EXSCRIPT} | ||||||
status=$? | ||||||
[[ ${status} -ne 0 ]] && exit "${status}" | ||||||
|
||||||
############################################## | ||||||
# End JOB SPECIFIC work | ||||||
############################################## | ||||||
|
||||||
############################################## | ||||||
# Final processing | ||||||
############################################## | ||||||
if [[ -e "${pgmout}" ]] ; then | ||||||
cat "${pgmout}" | ||||||
fi | ||||||
|
||||||
exit 0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#! /usr/bin/env bash | ||
|
||
source "${HOMEgfs}/ush/preamble.sh" | ||
|
||
############################################################### | ||
# Source UFSDA workflow modules | ||
. "${HOMEgfs}/ush/load_ufsda_modules.sh" | ||
status=$? | ||
[[ ${status} -ne 0 ]] && exit "${status}" | ||
|
||
export job="landensanl" | ||
export jobid="${job}.$$" | ||
|
||
############################################################### | ||
# setup python path for workflow utilities and tasks | ||
wxflowPATH="${HOMEgfs}/ush/python:${HOMEgfs}/ush/python/wxflow/src" | ||
PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${wxflowPATH}" | ||
export PYTHONPATH | ||
|
||
############################################################### | ||
# Execute the JJOB | ||
"${HOMEgfs}/jobs/JGLOBAL_LANDENS_ANALYSIS" | ||
status=$? | ||
exit "${status}" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
#! /usr/bin/env bash | ||
WalterKolczynski-NOAA marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
########## config.landensanl ########## | ||
# Land Ens Analysis specific | ||
|
||
echo "BEGIN: config.landensanl" | ||
|
||
# Get task specific resources | ||
. "${EXPDIR}/config.resources" landensanl | ||
|
||
obs_list_name=gdas_land_gts_only.yaml | ||
if [[ "${cyc}" = "18" ]]; then | ||
obs_list_name=gdas_land_prototype.yaml | ||
fi | ||
|
||
export OBS_YAML_DIR=${HOMEgfs}/sorc/gdas.cd/parm/land/obs/config/ | ||
export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/land/obs/lists/${obs_list_name} | ||
|
||
# Name of the JEDI executable and its yaml template | ||
export JEDIEXE="${HOMEgfs}/exec/fv3jedi_letkf.x" | ||
export JEDIYAML="${HOMEgfs}/sorc/gdas.cd/parm/land/letkfoi/letkfoi.yaml" | ||
|
||
# Ensemble member properties | ||
export SNOWDEPTHVAR="snodl" | ||
export BESTDDEV="30." # Background Error Std. Dev. for LETKFOI | ||
|
||
# Name of the executable that applies increment to bkg and its namelist template | ||
export APPLY_INCR_EXE="${HOMEgfs}/exec/apply_incr.exe" | ||
export APPLY_INCR_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/land/letkfoi/apply_incr_nml.j2" | ||
|
||
export io_layout_x=@IO_LAYOUT_X@ | ||
export io_layout_y=@IO_LAYOUT_Y@ | ||
|
||
echo "END: config.landensanl" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/usr/bin/env python3 | ||
# exglobal_landens_analysis.py | ||
# This script creates an LandEnsAnalysis object | ||
# and runs the initialize, execute and finalize methods | ||
# which executes the global land enkf ensemble analysis | ||
import os | ||
|
||
from wxflow import Logger, cast_strdict_as_dtypedict | ||
from pygfs.task.landens_analysis import LandEnsAnalysis | ||
|
||
# Initialize root logger | ||
logger = Logger(level=os.environ.get("LOGGING_LEVEL", "DEBUG"), colored_log=True) | ||
|
||
|
||
if __name__ == '__main__': | ||
|
||
# Take configuration from environment and cast it as python dictionary | ||
config = cast_strdict_as_dtypedict(os.environ) | ||
|
||
# Instantiate the landens analysis task | ||
LandEnsAnl = LandEnsAnalysis(config) | ||
LandEnsAnl.initialize() | ||
LandEnsAnl.execute() | ||
LandEnsAnl.finalize() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is
vrfy
being added back in?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed
vrfy
.