Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
aa7db2e
start of an ecflow def
CoryMartin-NOAA Nov 14, 2025
d370bba
touch a lot of empty ecflow scripts
CoryMartin-NOAA Nov 14, 2025
dbb6ceb
load modules in ecflow scripts
CoryMartin-NOAA Nov 14, 2025
e84b9f3
add prepare obs placeholder
CoryMartin-NOAA Nov 14, 2025
564fc2e
Add gcdas post and other cycles to suite definition file
CoryMartin-NOAA Nov 14, 2025
279030f
End of day commit
CoryMartin-NOAA Nov 14, 2025
48b8553
add gcdas post
CoryMartin-NOAA Nov 17, 2025
4c3ed57
Add in gcafs cycles
CoryMartin-NOAA Nov 17, 2025
c9d5fd8
fix bugs
CoryMartin-NOAA Nov 17, 2025
82ec40c
Merge remote-tracking branch 'origin/develop' into feature/gcafs-ecflow
CoryMartin-NOAA Nov 17, 2025
4171f5c
checkout release branch of gdas
CoryMartin-NOAA Nov 17, 2025
560774d
add obs processing stuff to workflow; still needs work
CoryMartin-NOAA Nov 17, 2025
8dba0c2
update hash
CoryMartin-NOAA Nov 18, 2025
187b63b
update to try on cactus
CoryMartin-NOAA Nov 18, 2025
913581b
fix link_workflow
CoryMartin-NOAA Nov 18, 2025
5383ed6
Add expdir
CoryMartin-NOAA Nov 18, 2025
ab5f856
Merge branch 'NOAA-EMC:develop' into release/gcafs.v0.0.1
CoryMartin-NOAA Nov 19, 2025
b1a9845
Merge branch 'NOAA-EMC:develop' into feature/gcafs-ecflow
CoryMartin-NOAA Nov 19, 2025
87e333f
add some things
CoryMartin-NOAA Nov 19, 2025
20d1501
Merge branch 'feature/gcafs-ecflow' into release/gcafs.v0.0.1
CoryMartin-NOAA Nov 19, 2025
27455f5
Add EOL
CoryMartin-NOAA Nov 19, 2025
40f8bd0
More ecflow changes
CoryMartin-NOAA Nov 21, 2025
f724aaa
more ecflow
CoryMartin-NOAA Nov 21, 2025
03fa9ed
Merge branch 'NOAA-EMC:develop' into feature/gcafs-ecflow
CoryMartin-NOAA Nov 21, 2025
0b89f40
More ecflow changes
CoryMartin-NOAA Nov 21, 2025
fc1624e
more ecflow
CoryMartin-NOAA Nov 21, 2025
c3a9fa4
Merge branch 'feature/gcafs-ecflow' of https://github.com/corymartin-…
CoryMartin-NOAA Nov 21, 2025
45014cb
Merge branch 'develop' into release/gcafs.v0.0.1
CoryMartin-NOAA Nov 21, 2025
e440de0
remove script with annoying code norms
CoryMartin-NOAA Nov 21, 2025
4b8013d
fix issues in suite def file
Nov 21, 2025
eb0da6c
fix issues in suite def file
Nov 21, 2025
2632a3f
update gdas hash
CoryMartin-NOAA Nov 24, 2025
72f403e
add start to setup script
CoryMartin-NOAA Nov 24, 2025
6c1bfa1
save before meetings
CoryMartin-NOAA Nov 24, 2025
955f4ed
commit progress
CoryMartin-NOAA Nov 25, 2025
a97531a
Merge branch 'develop' into feature/gcafs-ecflow
CoryMartin-NOAA Dec 1, 2025
639e7f1
Merge branch 'develop' into release/gcafs.v0.0.1
CoryMartin-NOAA Dec 1, 2025
c8c6e40
Merge branch 'feature/gcafs-ecflow' into release/gcafs.v0.0.1
CoryMartin-NOAA Dec 1, 2025
db4aa13
Merge branch 'develop' into feature/gcafs-ecflow
CoryMartin-NOAA Dec 9, 2025
6416270
Script copies jobs and scripts
CoryMartin-NOAA Dec 9, 2025
537d6ea
Save script
CoryMartin-NOAA Dec 9, 2025
95602fb
Merge branch 'feature/gcafs-ecflow' into release/gcafs.v0.0.1
CoryMartin-NOAA Dec 10, 2025
8c6a176
Merge branch 'dev/gcafs.v1' into release/gcafs.v0.0.1
CoryMartin-NOAA Jan 26, 2026
27bb94d
Update dev/jobs/JGCDAS_PREPARE_OBS
CoryMartin-NOAA Jan 26, 2026
8083a05
Update dev/jobs/JGCDAS_PREPARE_OBS
CoryMartin-NOAA Jan 26, 2026
5e892c7
Update dev/jobs/JGCDAS_PREPARE_OBS
CoryMartin-NOAA Jan 26, 2026
dcb20fb
remove module loads
CoryMartin-NOAA Jan 26, 2026
3e1c671
Merge branch 'feature/more-ecflow' of https://github.com/corymartin-n…
CoryMartin-NOAA Jan 26, 2026
c1bbb8b
remove modules from prepare obs
Jan 26, 2026
7b8ef54
modify ush directory
CoryMartin-NOAA Jan 26, 2026
e0d2bdf
smarter script
CoryMartin-NOAA Jan 26, 2026
862aff7
add support for new job
CoryMartin-NOAA Jan 26, 2026
52bb5f4
change parm config too
CoryMartin-NOAA Jan 26, 2026
5e80bd3
change dev scripts
CoryMartin-NOAA Jan 26, 2026
f201195
more changes
CoryMartin-NOAA Jan 26, 2026
e308073
add parm/config/gcafs
Jan 26, 2026
ba266af
update sdf
Jan 26, 2026
f4c117a
changes for ecf
CoryMartin-NOAA Jan 27, 2026
de1feb6
para not prod
Jan 27, 2026
90adcdc
commit some things
Jan 27, 2026
a95080a
copy ex script
CoryMartin-NOAA Jan 27, 2026
2aaa2fd
load python modules
CoryMartin-NOAA Jan 27, 2026
1dcf75a
more changes
CoryMartin-NOAA Jan 27, 2026
231c04e
more changes again
CoryMartin-NOAA Jan 27, 2026
e543ab7
modify ecf scripts
CoryMartin-NOAA Jan 27, 2026
ff140ee
more modulefile changes
Jan 27, 2026
79d8fc9
more replacements
CoryMartin-NOAA Jan 27, 2026
b1f7975
more fault tolerant on replacements
CoryMartin-NOAA Jan 27, 2026
86a516a
fix more modules
Jan 27, 2026
fcb76be
end of day commit
CoryMartin-NOAA Jan 27, 2026
07f2536
Add more functionality to the script
CoryMartin-NOAA Jan 28, 2026
d45bbfa
add EXPDIR
CoryMartin-NOAA Jan 28, 2026
2d3b8b2
sh to py
CoryMartin-NOAA Jan 28, 2026
cc5ae0c
update resources
CoryMartin-NOAA Jan 28, 2026
a281f63
add some scripts
Jan 28, 2026
c91a6ca
Merge branch 'feature/more-ecflow' of https://github.com/corymartin-n…
Jan 28, 2026
8e9e320
Merge branch 'feature/more-ecflow' of https://github.com/corymartin-n…
CoryMartin-NOAA Jan 28, 2026
73c5f18
more ecf module changes
CoryMartin-NOAA Jan 28, 2026
bdb8923
more hacks
CoryMartin-NOAA Jan 28, 2026
f07a7b2
rename j-job
CoryMartin-NOAA Jan 28, 2026
464dc14
rename back to gdas.cd
CoryMartin-NOAA Jan 29, 2026
54ff3d2
gcdas back to gdas
Jan 29, 2026
676c44c
update hash
CoryMartin-NOAA Jan 29, 2026
80478e1
Merge branch 'feature/more-ecflow' of https://github.com/corymartin-n…
CoryMartin-NOAA Jan 29, 2026
c7863e5
update setup script
CoryMartin-NOAA Jan 30, 2026
b5bc5b7
more small changes
CoryMartin-NOAA Jan 30, 2026
231d08c
some aod prep obs changes
CoryMartin-NOAA Jan 30, 2026
b7c96de
fix regex
CoryMartin-NOAA Jan 30, 2026
4046113
changes for more jobs to run
CoryMartin-NOAA Jan 30, 2026
5cc3b53
fix style
CoryMartin-NOAA Feb 2, 2026
a488fe1
actually fix style
CoryMartin-NOAA Feb 2, 2026
0f20d5c
Apply suggestions from code review
CoryMartin-NOAA Feb 2, 2026
ed62a68
change to using wxflow executable
CoryMartin-NOAA Feb 2, 2026
0e88c37
Merge branch 'feature/more-ecflow' of https://github.com/corymartin-n…
CoryMartin-NOAA Feb 2, 2026
27e4f4f
Addressed comments, STILL NEEDS TESTED, USER BEWARE
CoryMartin-NOAA Feb 3, 2026
9b94a19
Update dev/jobs/JGLOBAL_OFFLINE_ATMOS_ANALYSIS
CoryMartin-NOAA Feb 3, 2026
bbc0b75
fixed a typo
CoryMartin-NOAA Feb 3, 2026
bad8284
fixes for prep_emissions NRT (#12)
bbakernoaa Feb 3, 2026
076bc71
Fix typo in logger usage
CoryMartin-NOAA Feb 4, 2026
a9d52b5
Update GFS template path in config.com
CoryMartin-NOAA Feb 4, 2026
21cb379
Update environment variable declarations in JGLOBAL_OFFLINE_ATMOS_ANA…
CoryMartin-NOAA Feb 4, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/ci_unit_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
sudo chmod -R a+w /scratch3/NCEPDEV
source rocoto-${{ env.ROCOTO_VERSION }}/rocoto_path.sh
cd global-workflow/sorc
git submodule update --init -j 2 ufs_model.fd gsi_monitor.fd wxflow
git submodule update --init -j 2 ufs_model.fd wxflow
./link_workflow.sh
export PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${PWD}/wxflow/src"
# Create test data directory for unit tests
Expand Down
7 changes: 3 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@
[submodule "sorc/gfs_utils.fd"]
path = sorc/gfs_utils.fd
url = https://github.com/NOAA-EMC/gfs-utils
[submodule "sorc/gdas.cd"]
path = sorc/gdas.cd
url = https://github.com/NOAA-EMC/GDASApp.git
[submodule "sorc/ufs_utils.fd"]
path = sorc/ufs_utils.fd
url = https://github.com/ufs-community/UFS_UTILS.git
[submodule "sorc/gdas.cd"]
path = sorc/gcdas.cd
url = https://github.com/NOAA-EMC/GDASApp.git
ignore = dirty
[submodule "sorc/gsi_utils.fd"]
path = sorc/gsi_utils.fd
url = https://github.com/NOAA-EMC/GSI-Utils.git
Expand Down
44 changes: 44 additions & 0 deletions dev/jobs/JGCDAS_PREPARE_OBS
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#! /usr/bin/env bash

source "${HOMEgcafs}/ush/preamble.sh"
source "${HOMEgcafs}/ush/jjob_header.sh" -e "prepareobs" -c "base prepareobs"

##############################################
# Set variables used in the script
##############################################
export COMOUT_OBS="${COMROOT}/${RUN}.${PDY}/${cyc}/obs/chem"

##############################################
# Begin JOB SPECIFIC work
##############################################

###############################################################
# Run relevant script

EXSCRIPT=${DUMPAODPY:-${HOMEgcafs}/scripts/exgcdas_prepare_obs.py}
${EXSCRIPT}
status=$?
if [[ ${status} -ne 0 ]]; then
exit "${status}"
fi

##############################################
# End JOB SPECIFIC work
##############################################

##############################################
# Final processing
##############################################
if [[ -e "${pgmout}" ]]; then
cat "${pgmout}"
fi

##########################################
# Remove the Temporary working directory
##########################################
cd "${DATAROOT}" || exit
if [[ "${KEEPDATA}" == "NO" ]]; then
rm -rf "${DATA}"
fi

exit 0
3 changes: 2 additions & 1 deletion dev/jobs/JGLOBAL_OFFLINE_ATMOS_ANALYSIS
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ export GPREFIX="${GDUMP}.t${gcyc}z."

RUN="gdas" DUMP="gdas" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_OBSPROC:COM_OBSPROC_TMPL \
COMIN_ATMOS_ANALYSIS:COM_ATMOS_ANALYSIS_TMPL
COMINgfs:COM_GFS_TMPL
export COMINgfs_ATMOS_ANALYSIS=${COMINgfs}/atmos/

YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMOUT_OBS:COM_OBS_TMPL \
Expand Down
9 changes: 9 additions & 0 deletions dev/parm/config/gcafs/config.prepareobs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash -x

########## config.prepareobs ##########

echo "BEGIN: config.prepareobs"

# Get task specific resources
source "${EXPDIR}/config.resources" prepareobs
echo "END: config.prepareobs"
10 changes: 10 additions & 0 deletions dev/parm/config/gcafs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ if (( $# != 1 )); then
echo "snowanl esnowanl"
echo "prep_emissions"
echo "aeroanlinit aeroanlvar aeroanlfinal aeroanlgenb"
echo "prepareobs"
echo "offlineanl"
echo "anal sfcanl analcalc analdiag anlstat fcst echgres"
echo "upp atmos_products"
Expand Down Expand Up @@ -363,6 +364,15 @@ case ${step} in
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
;;

"prepareobs")
ntasks=80
walltime="00:20:00"
threads_per_task=1
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
memory="3072M"
;;


"aeroanlinit")
# below lines are for creating JEDI YAML
case "${CASE}" in
Expand Down
27 changes: 27 additions & 0 deletions dev/scripts/exgcdas_prepare_obs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env python3
# exgcdas_prepare_obs.py
# This script will collect and preprocess
# aerosol optical depth observations for
# global aerosol assimilation
import os

from wxflow import AttrDict, Logger, cast_strdict_as_dtypedict, parse_j2yaml
from pyobsforge.task.aero_prepobs import AerosolObsPrep

# Initialize root logger
logger = Logger(level='DEBUG', colored_log=True)


if __name__ == '__main__':

# Take configuration from environment and cast it as python dictionary
config_env = cast_strdict_as_dtypedict(os.environ)
# Take configuration from YAML file to augment/append config dict
config_yaml = parse_j2yaml(os.path.join(config_env['HOMEgcafs'], 'parm', 'chem', 'prepare_obs.yaml'), config_env)
# Combine configs together
config = AttrDict(**config_env, **config_yaml['aoddump'])

aeroObs = AerosolObsPrep(config)
aeroObs.initialize()
aeroObs.execute()
aeroObs.finalize()
Loading
Loading