jgfs_atmos_gempak_ncdcupapgif ecf (v17) Analysis - TerrenceMcGuinness-NOAA/global-workflow GitHub Wiki

jgfs_atmos_gempak_ncdcupapgif.ecf (GFS v17)

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.


Summary

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.


1. The script itself

#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

What each part does

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.

2. Execution chain

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.


3. What the J-Job actually produces

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}/).

Error handling

Uses err_exit on non-zero return from ex-script (EE2-correct pattern).


4. Key environment variables

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.

Configuration

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.

5. v17-specific notes

  • 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.
  • HOMEglobal shim bridges v17 naming to NCO.
  • Multiple output directories: dynamically declares GIF and upper_air COMOUT paths using a loop construct.

6. Change-impact snapshot (from MCP, gw_v17)

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.


Sources

  • On-disk v17 worktree: ecf/scripts/gfs/product/atmos/gempak/jgfs_atmos_gempak_ncdcupapgif.ecf, dev/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF.
  • agentcore-mcp-rag MCP (tenant gw_v17): get_change_impact.
⚠️ **GitHub.com Fallback** ⚠️