-
Notifications
You must be signed in to change notification settings - Fork 207
Enable EnKF-only for atmosphere #4345
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
Merged
DavidHuber-NOAA
merged 62 commits into
NOAA-EMC:develop
from
bhuang95:feature/enkf_only_dev
Feb 20, 2026
Merged
Changes from 36 commits
Commits
Show all changes
62 commits
Select commit
Hold shift + click to select a range
6db4fe9
Copy from feature/enkf_only
bhuang95 e694072
GSI and JEDI test passed after EE name change. csg in JEDI file names…
bhuang95 86ccf0d
Merge branch 'develop' into feature/enkf_only_dev
bhuang95 bed26ea
add fetch and prepatmopeanlbc tasks and need to test them
bhuang95 f32d59c
Pass JEDI and GSI test
bhuang95 b04c54a
Cleanup but gsi eobs fauled due to recent create_gsi_info.sh change
bhuang95 fc6005c
Minor change with failure of gsi jobs (create_gsi_info.sh) and UFS mo…
bhuang95 db790b1
Merge branch 'develop' into feature/enkf_only_dev
bhuang95 22c0c53
Update submodules
bhuang95 9b2eaa6
Fix model and gsi oeobs failure and rename satbias to bias
bhuang95 85ed17b
Fix python coding norm error
bhuang95 e8806e4
1st clean/ready version that pass JEDI and GSI test
bhuang95 4f5806d
Git shellcheck change to 1st clean version
bhuang95 be8c479
Git shellcheck change 2 to 1st clean version
bhuang95 fa9ff54
Address David's comments and need to update to recent NOAA EMC develop
bhuang95 7b8065c
define letkf obs_distribution_localizations in jcb
bhuang95 8fd40d6
remove temporary files
bhuang95 2c15560
Issue #4339: Enable EnKF-only for atmosphere (1st try)
bhuang95 84731f3
Issue #4339: Enable EnKF-only for atmosphere (2nd try): remove tempor…
bhuang95 6a70bc2
Issue #4339: Enable EnKF-only for atmosphere (3rd try): remove tempor…
bhuang95 49c8139
Merge develop and fix code norm failure
bhuang95 e52d039
Fix shfmt failure (try 1)
bhuang95 d2f7005
Fix shfmt failure (try 2)
bhuang95 6d09219
Fix shfmt failure (try 3)
bhuang95 7a75ad8
Merge branch 'develop' into feature/enkf_only_dev
CoryMartin-NOAA b7df0e5
Merge branch 'develop' into feature/enkf_only_dev
aerorahul ce5ff04
Merge branch 'develop' into feature/enkf_only_dev
aerorahul 59755de
Fix shfmt failure (try 4)
bhuang95 aa45fe9
Fix shellcheck failure (try 1)
bhuang95 cf2b82b
Merge branch 'develop' into feature/enkf_only_dev
bhuang95 95ae053
Update sorc/gdas.cd
bhuang95 26a993d
use parm/jcb-gdas develop in sorc/gdas.cd
bhuang95 965a396
Use sorc/gdas.cd hash 326262a
bhuang95 8187104
Merge branch 'develop' into feature/enkf_only_dev
bhuang95 7230de6
Merge branch 'develop' into feature/enkf_only_dev
bhuang95 59cf4a6
Update sorc/gdas.cd hash to 1f35e78
bhuang95 7dfda99
add g-w CI case C48_gsienkf_atmDA (#4339)
RussTreadon-NOAA 954c47f
enable C48_gsienkf_atmDA on gaeac6, orion, hercules (#4339)
RussTreadon-NOAA ccc4b3c
adjust half cycle logic in gfs_tasks.py for enkf only ci #(#4339)
RussTreadon-NOAA 03fd7e2
initial commit of g-w CI case C48_ufsenkf_atmDA along with adjustment…
RussTreadon-NOAA 6727340
fix pynorms (#4339)
RussTreadon-NOAA 7178d46
Update dev/jobs/JGLOBAL_ATM_PREP_ANL_BIAS
RussTreadon-NOAA 31df3d8
Update ush/forecast_postdet.sh
RussTreadon-NOAA aca4bbd
Update ush/forecast_postdet.sh
RussTreadon-NOAA 05ae683
Update ush/forecast_postdet.sh
RussTreadon-NOAA 323b68e
Merge remote-tracking branch 'upstream/develop' into feature/enkf_onl…
RussTreadon-NOAA 79d55d5
update sorc/gdas.cd hash (#4339)
RussTreadon-NOAA fe02936
Merge remote-tracking branch 'upstream/develop' into feature/enkf_onl…
RussTreadon-NOAA 4b3084f
Merge remote-tracking branch 'upstream/develop' into feature/enkf_onl…
RussTreadon-NOAA cfe8df4
replace atmf009 depdendency with atm.f009 (#4349)
RussTreadon-NOAA 4184146
Merge remote-tracking branch 'upstream/develop' into feature/enkf_onl…
RussTreadon-NOAA dbafa1e
remove csg_ prefix from tiled atmospheric jedi ensemble analysis incr…
RussTreadon-NOAA 5253073
update sorc/gdas.cd hash (#4339)
RussTreadon-NOAA da71d32
Remove OBS_DIST_LOCALIZATIONS_YAML export
RussTreadon-NOAA 78dba3e
disable C48_gsienkf_atmDA and C48_ufsenkf_atmDA on MSU (#4339)
RussTreadon-NOAA 5156f6e
remove C48_gsienkf_atmDA and 48_ufsenkf_atmDA from gitlib-ci-host lis…
RussTreadon-NOAA 184ea20
Merge remote-tracking branch 'upstream/develop' into feature/enkf_onl…
RussTreadon-NOAA 3340d68
update sorc/gdas.cd hash (#4339)
RussTreadon-NOAA cf94c43
Apply suggestion from @TravisElless-NOAA
bhuang95 6cb7981
remove blank line
bhuang95 f5aba40
Apply suggestion from @DavidHuber-NOAA
bhuang95 f9482a1
Merge remote-tracking branch 'upstream/develop' into feature/enkf_onl…
RussTreadon-NOAA File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| #! /usr/bin/env bash | ||
|
|
||
| ############################################################### | ||
| # Source UFSDA workflow modules | ||
| source "${HOMEgfs}/dev/ush/load_modules.sh" ufsda | ||
| status=$? | ||
| if [[ ${status} -ne 0 ]]; then | ||
| exit "${status}" | ||
| fi | ||
|
|
||
| export job="prepatmanlbias" | ||
| export jobid="${job}.$$" | ||
|
|
||
| ############################################################### | ||
| # Execute the JJOB | ||
| "${HOMEgfs}/dev/jobs/JGLOBAL_ATM_PREP_ANL_BIAS" | ||
| status=$? | ||
| exit "${status}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,132 @@ | ||
| #! /usr/bin/env bash | ||
| export WIPE_DATA="NO" | ||
| export DATA=${DATA:-${DATAROOT}/${RUN}fetch_${cyc}} | ||
| source "${HOMEgfs}/ush/jjob_header.sh" -e "prepatmanlbias" -c "base prepatmanlbias" | ||
|
|
||
| ############################################## | ||
| # Set variables used in the script | ||
| ############################################## | ||
|
|
||
| ############################################## | ||
| # Begin JOB SPECIFIC work | ||
| ############################################## | ||
| # Ignore possible spelling error (nothing is misspelled) | ||
| # shellcheck disable=SC2153 | ||
| GDATE=$(date --utc +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours") | ||
| export gPDY=${GDATE:0:8} | ||
| export gcyc=${GDATE:8:2} | ||
| export gyy=${GDATE:0:4} | ||
| export gmm=${GDATE:4:2} | ||
| export gdd=${GDATE:6:2} | ||
| export GDUMP="gdas" | ||
|
|
||
| # Generate COM variables from templates | ||
| MEMDIR="ensstat" RUN="enkf${GDUMP}" YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \ | ||
| COMOUT_ATMOS_ANALYSIS_PREV:COM_ATMOS_ANALYSIS_TMPL | ||
|
|
||
| # Process bias corrections files grabbed from HPSS in task gdas_fetchatmanlbias | ||
| BIASDIR=${DATA}/${GDUMP}.${gPDY}/${gcyc}/atmos | ||
| BIASFILES="${GDUMP}.t${gcyc}z.abias ${GDUMP}.t${gcyc}z.abias_air ${GDUMP}.t${gcyc}z.abias_int ${GDUMP}.t${gcyc}z.abias_pc ${GDUMP}.t${gcyc}z.radstat" | ||
|
|
||
| ABIAS_SAT=${BIASDIR}/${GDUMP}.t${gcyc}z.abias | ||
| ABIASPC_SAT=${BIASDIR}/${GDUMP}.t${gcyc}z.abias_pc | ||
| ABIAS_SAT_JEDI_TAR=${COMOUT_ATMOS_ANALYSIS_PREV}/${GDUMP}.t${gcyc}z.rad_varbc_params.tar | ||
| ABIAS_AIR_JEDI_TAR=${COMOUT_ATMOS_ANALYSIS_PREV}/${GDUMP}.t${gcyc}z.air_varbc_params.tar | ||
|
|
||
| SATBIAS2IODAX=${SATBIAS2IODAX:-${EXECgfs}/satbias2ioda.x} | ||
| SATBIAS2IODAY=${HOMEgfs}/sorc/gdas.cd/ush/satbias_converter.yaml.tmpl | ||
| OUTPUT=${DATA}/output | ||
|
|
||
| mkdir -p "${COMOUT_ATMOS_ANALYSIS_PREV}" | ||
| mkdir -p "${OUTPUT}" | ||
|
|
||
| if [[ ${DO_JEDIATMENS} == "YES" ]]; then | ||
| # JEDI run | ||
| cd "${DATA}" || exit 1 | ||
| mkdir -p "testrun/varbc" | ||
| ln -sf "${ABIAS_SAT}" "./satbias_in" | ||
| ln -sf "${ABIASPC_SAT}" "./satbias_pc" | ||
| if grep -i "NaN" satbias_in > /dev/null 2>&1; then | ||
| export err=1 | ||
| err_chk "FATAL ERROR There are NaN in satbias_in." | ||
| fi | ||
|
|
||
| # Get instruments from satbias_in | ||
| obsclass=$(grep "_" satbias_in | awk '{print $2}' | uniq) | ||
|
|
||
| # Loop over instruments. Covert GSI abias to JEDI format | ||
| for instrument in ${obsclass}; do | ||
| echo "${instrument}" | ||
| cp -f "${SATBIAS2IODAY}" satbias_converter.yaml | ||
| sed -i -e "s/INSTRUMENT/${instrument}/g" satbias_converter.yaml | ||
|
|
||
| ${SATBIAS2IODAX} satbias_converter.yaml | ||
|
|
||
| export err=$? | ||
| if [[ ${err} -ne 0 ]]; then | ||
| err_exit "FATAL ERROR satbias2iodas.x failed for ${instrument}, ABORT!" | ||
| fi | ||
|
|
||
| rm -f testrun/varbc/*nc | ||
| rm -f testrun/varbc/*txt | ||
|
|
||
| cd ./testrun/varbc/ | ||
| grep "${instrument}" ../../satbias_in | awk '{print $2" "$3" "$4}' > \ | ||
| "${OUTPUT}"/gdas.t"${gcyc}"z."${instrument}".tlapse.txt | ||
| cpreq -p satbias_"${instrument}".nc4 "${OUTPUT}"/gdas.t"${gcyc}"z."${instrument}".satbias.nc | ||
| mv satbias_"${instrument}".nc4 "${OUTPUT}"/gdas.t"${gcyc}"z."${instrument}".satbias_cov.nc | ||
| cd "${DATA}" | ||
| rm -f satbias_converter.yaml | ||
| done | ||
|
|
||
| if [[ ${err} -eq 0 ]]; then | ||
| cd "${OUTPUT}" || exit | ||
| for file in ${BIASFILES}; do | ||
| cpreq "${BIASDIR}/${file}" "./enkf${file}.txt" | ||
| export err=$? | ||
| if [[ ${err} -ne 0 ]]; then | ||
| err_exit "Error copying operational anl bias correction files" | ||
| fi | ||
| done | ||
| # TODO: Temporary solution and need to process abias_air for JEDI when ready | ||
| tar -cvf "${ABIAS_AIR_JEDI_TAR}" "./enkf${GDUMP}.t${gcyc}z.abias_air.txt" | ||
| rm -f "./enkf${GDUMP}.t${gcyc}z.abias_air.txt" | ||
| tar -cvf "${ABIAS_SAT_JEDI_TAR}" ./*.nc ./*.txt | ||
| export err=$? | ||
| fi | ||
|
|
||
| else | ||
| # GSI run | ||
| for file in ${BIASFILES}; do | ||
| cpreq "${BIASDIR}/${file}" "${COMOUT_ATMOS_ANALYSIS_PREV}/enkf${file}.txt" | ||
| export err=$? | ||
| if [[ ${err} -ne 0 ]]; then | ||
| err_exit "FATAL ERROR copying operational anl bias correction files" | ||
| fi | ||
| done | ||
| fi | ||
|
|
||
| if [[ ${err} -ne 0 ]]; then | ||
| err_exit "FATAL ERROR executing ${EXSCRIPT}" | ||
| fi | ||
| set_trace | ||
|
|
||
| ############################################## | ||
| # End JOB SPECIFIC work | ||
| ############################################## | ||
|
|
||
| ############################################## | ||
| # Final processing | ||
| ############################################## | ||
| if [[ -e "${pgmout}" ]]; then | ||
| cat "${pgmout}" | ||
| fi | ||
|
|
||
| ################################### | ||
| # Remove temp directories | ||
| ################################### | ||
| if [[ "${KEEPDATA}" != "YES" ]]; then | ||
| rm -rf "${DATA}" | ||
| fi | ||
|
|
||
| exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| #! /usr/bin/env bash | ||
|
|
||
| ########## config.prepatmiodaobs ########## | ||
| # Atm Operational Anl Bias Correction specific | ||
|
|
||
| echo "BEGIN: config.prepatmanlbias" | ||
|
|
||
| # Get task specific resources | ||
| . "${EXPDIR}/config.resources" prepatmanlbias | ||
|
|
||
| echo "END: config.prepatmanlbias" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
@aerorahul I wonder if this would be better to have in
dev/workflow/applications/gfs_*.py. What do you think?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.
I think these can stay here for now.