jgfs_atmos_gempak_ncdcupapgif ecf (v17) Analysis - TerrenceMcGuinness-NOAA/global-workflow GitHub Wiki
Branch / tenant: dev/gfs.v17 (gw_v17)
Path: ecf/scripts/gfs/product/atmos/gempak/jgfs_atmos_gempak_ncdcupapgif.ecf
Analysis date: 2026-06-11
Method: AWS Bedrock AgentCore agentcore-mcp-rag MCP (graph traversal, GraphRAG,
code-context) cross-checked against the on-disk v17 worktree.
jgfs_atmos_gempak_ncdcupapgif.ecf is the NCO production ecFlow task that generates
NCDC upper-air GIF images (Skew-T/Log-P diagrams) from GFS GEMPAK grids. These are
archival-quality sounding plots produced for the National Climatic Data Center. It is a
single-instance task per cycle that processes forecast hours from f000 to f384 (or
FHMAX_GFS). It calls JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF, which drives
exgfs_atmos_gempak_gif_ncdc_skew_t.sh.
#PBS -S /bin/bash
#PBS -N gfs_atmos_gempak_ncdcupapgif_%CYC%
#PBS -j oe
#PBS -q %QUEUE%
#PBS -A %PROJ%-%PROJENVIR%
#PBS -l walltime=00:05:00
#PBS -l select=1:mpiprocs=28:ompthreads=1:ncpus=28:mem=6GB
#PBS -l place=vscatter:shared
#PBS -l debug=true
model=gfs
export cyc="%CYC%"
%include <head.h>
%include <envir-p1.h>
############################################################
# Load modules
############################################################
source ${HOMEgfs}/dev/ush/load_modules.sh run
module list
############################################################
# CALL executable job script here
############################################################
export CDATE=${PDY}${cyc}
export HOMEglobal=${HOMEgfs}
#### ${HOMEgfs}/dev/job_cards/rocoto/gempakncdcupapgif.sh
${HOMEgfs}/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
if [ $? -ne 0 ]; then
ecflow_client --msg="***JOB ${ECF_NAME} ERROR RUNNING J-SCRIPT ***"
ecflow_client --abort
exit
fi
%include <tail.h>
%manual
%end| Section | Role |
|---|---|
#PBS directives |
PBS Pro: 1 node, 28 mpiprocs/cpus, 6 GB, 5-min wall — short because the script runs NCDC GIF processing appended to the GEMPAK GIF workflow completion. |
%include <head.h> / <envir-p1.h>
|
NCO boilerplate. |
load_modules.sh run |
v17 centralized module loading. |
No WGF/FHR3 exports |
Single-instance per cycle (not a _master). |
${HOMEgfs}/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF |
The J-Job. |
ecf/defs/gfs_prod.def : task jgfs_atmos_gempak_ncdcupapgif
+-- jgfs_atmos_gempak_ncdcupapgif.ecf (PBS submit)
+-- ${HOMEgfs}/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF (J-Job)
+-- ${SCRglobal}/exgfs_atmos_gempak_gif_ncdc_skew_t.sh (ex-script)
+-- GEMPAK plotting programs (snprof, snmap, gdplot2_nc)
Confirmed via MCP graph (tenant gw_v17): suite leaf with 0 direct dependents.
The J-Job generates NCDC archival products from GFS upper-air data:
| Product | Description | Output location |
|---|---|---|
| Skew-T/Log-P GIF images | Upper-air sounding diagrams for NCDC archive | ${COMOUT_ATMOS_GEMPAK_GIF}/ |
| Upper-air products | Upper-air analysis plots | ${COMOUT_ATMOS_GEMPAK_UPPER_AIR}/ |
| WMO bulletins | WMO-formatted upper-air data | ${COMOUT_ATMOS_WMO}/ |
Processing range: f000 to f384 (or FHMAX_GFS), every 6 hours.
Input: 1.00-degree GEMPAK grids (${COMIN_ATMOS_GEMPAK_1p00}/) and observation
data (${COMIN_OBS}/).
Uses err_exit on non-zero return from ex-script (EE2-correct pattern).
| Variable | Origin | Meaning |
|---|---|---|
COMIN_ATMOS_GEMPAK_1p00 |
J-Job (declare -rx) |
Input: 1.00-degree GEMPAK grids. |
COMIN_OBS |
J-Job (declare -rx) |
Input: observation data for Skew-T overlays. |
COMOUT_ATMOS_GEMPAK_GIF |
J-Job (declare -rx) |
Output: GIF images. |
COMOUT_ATMOS_GEMPAK_UPPER_AIR |
J-Job (declare -rx) |
Output: upper-air products. |
COMOUT_ATMOS_WMO |
J-Job (declare -rx) |
Output: WMO bulletins. |
fstart / fend / finc
|
J-Job | Forecast hour range: 0 to 384, increment 6. |
MODEL |
J-Job (GFS) |
Model identifier for GEMPAK lookups. |
FHMAX_GFS |
config.base | Max forecast hour; caps fend. |
The J-Job sources jjob_header.sh -e "gempak_gif" -c "base gempak", loading:
-
config.base— fundamental paths and settings. -
config.gempak— GEMPAK-specific settings.
- Single-instance per cycle — processes all forecast hours internally.
- Archival purpose: NCDC Skew-T GIF images are required for national climate data archive, distinct from operational forecaster products.
- Short walltime (5 min): designed to run after GEMPAK grids are already complete (triggered by upstream task completion).
-
Centralized module loading via
load_modules.sh run. -
HOMEglobalshim bridges v17 naming to NCO. - Multiple output directories: dynamically declares GIF and upper_air COMOUT paths using a loop construct.
| Symbol | Change type | Risk | Direct dependents |
|---|---|---|---|
JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF |
behavior | LOW (0.10) | 0 (suite leaf) |
exgfs_atmos_gempak_gif_ncdc_skew_t.sh |
signature | LOW | Single caller |
Isolated suite leaf. No downstream tasks depend on its output within the operational workflow.
- On-disk v17 worktree:
ecf/scripts/gfs/product/atmos/gempak/jgfs_atmos_gempak_ncdcupapgif.ecf,dev/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF. -
agentcore-mcp-ragMCP (tenantgw_v17):get_change_impact.