-
Notifications
You must be signed in to change notification settings - Fork 0
jgfs_atmos_gempak_meta ecf (v17) Analysis
Branch / tenant: dev/gfs.v17 (gw_v17)
Path: ecf/scripts/gfs/product/atmos/gempak/jgfs_atmos_gempak_meta.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_meta.ecf is the NCO production ecFlow task that generates
GEMPAK metafiles — pre-rendered meteorological chart products (jet stream analyses,
thickness charts, precipitation panels, etc.) from GFS GEMPAK grids. It is a
single-instance task per cycle (not a _master template) that loops internally
through forecast hours, spawning MPI-parallel GEMPAK plotting processes. It calls
JGFS_ATMOS_GEMPAK_META, which drives exgfs_atmos_gempak_meta.sh.
#PBS -S /bin/bash
#PBS -N gfs_atmos_gempak_meta_%CYC%
#PBS -j oe
#PBS -q %QUEUE%
#PBS -A %PROJ%-%PROJENVIR%
#PBS -l walltime=06:00:00
#PBS -l select=1:mpiprocs=28:ompthreads=1:ncpus=28:mem=40GB
#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/gempakmeta.sh
${HOMEgfs}/jobs/JGFS_ATMOS_GEMPAK_META
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, 28 cpus, 40 GB, 6-hour wall — long runtime because it loops over all hours and generates many meta-chart products via parallel GEMPAK scripting. |
%include <head.h> / <envir-p1.h>
|
NCO boilerplate. |
load_modules.sh run |
v17 centralized module loading (general run set). |
No WGF/FHR3 exports |
Single-instance per cycle (not a _master). |
${HOMEgfs}/jobs/JGFS_ATMOS_GEMPAK_META |
The J-Job. Non-zero exit triggers abort. |
Like jgfs_atmos_npoess_pgrb2_0p5.ecf, this is a single task per cycle. The ex-script
loops from fhbeg to fhend (from config.gempakmeta), waiting for upstream GEMPAK grid
files via wait_for_file, then spawning parallel GEMPAK plotting processes via POE scripts.
The TODO comment in the J-Job notes: "This job is not part of the rocoto suite" — NCO ecFlow only.
ecf/defs/gfs_prod.def : task jgfs_atmos_gempak_meta
+-- jgfs_atmos_gempak_meta.ecf (PBS submit)
+-- ${HOMEgfs}/jobs/JGFS_ATMOS_GEMPAK_META (J-Job)
+-- ${SCRglobal}/exgfs_atmos_gempak_meta.sh (ex-script)
+-- GEMPAK programs (gdplot2_nc, etc.) via POE parallel
+-- wait_for_file (polling for upstream GEMPAK grids)
Confirmed via MCP graph (tenant gw_v17): JGFS_ATMOS_GEMPAK_META is a suite leaf
with 0 direct dependents.
The ex-script generates GEMPAK metafiles — pre-rendered chart products for NWS forecasters and external distribution:
| Product type | Description | Output location |
|---|---|---|
Metafiles (.meta) |
Pre-rendered weather charts (jet stream, thickness, precip panels, etc.) | ${COMOUT_ATMOS_GEMPAK_META}/ |
The script runs 23 parallel GEMPAK processes (via POE) per forecast hour block, each
producing a different chart type. Input comes from the 1.00-degree GEMPAK grids
(${COMIN_ATMOS_GEMPAK_1p00}/) and optionally NAM verification data (${COMINnam}).
DBN alert type: GFS_METAFILE
Uses the EE2-correct pattern: "${SCRglobal}/exgfs_atmos_gempak_meta.sh" && true
followed by err_exit on non-zero.
| Variable | Origin | Meaning |
|---|---|---|
COMIN_ATMOS_GEMPAK_1p00 |
J-Job (declare -rx) |
Input: 1.00-degree GEMPAK grid files. |
COMOUT_ATMOS_GEMPAK_META |
J-Job (declare -rx) |
Output: GEMPAK metafile products. |
COMINnam |
J-Job | NAM COM directory for verification overlay. |
DBN_ALERT_TYPE |
J-Job (GFS_METAFILE) |
DBNet alert type. |
numproc |
ex-script (23) | Number of parallel GEMPAK plotting processes. |
fhbeg / fhend / fhinc
|
config.gempakmeta | Forecast hour range and increment. |
LAUNCH_MODE |
J-Job (MPI) |
Parallel launch mode for GEMPAK. |
The J-Job sources jjob_header.sh -e "gempak_meta" -c "base gempakmeta", loading:
-
config.base— fundamental paths and settings. -
config.gempakmeta— meta-specific settings (forecast hour range, process count).
- Single-instance, internally-looping: long walltime (6 hours) accommodates waiting for upstream GEMPAK grid completion across all forecast hours.
- Not in Rocoto suite: NCO ecFlow only.
- MPI-parallel GEMPAK: uses 28 cpus to run 23 parallel GEMPAK plotting processes per forecast hour block, maximizing throughput.
-
Centralized module loading via
load_modules.sh run. -
HOMEglobalshim bridges v17 naming to NCO. - Heavy memory (40 GB) for parallel GEMPAK chart generation.
| Symbol | Change type | Risk | Direct dependents |
|---|---|---|---|
JGFS_ATMOS_GEMPAK_META |
behavior | LOW (0.10) | 0 (suite leaf) |
exgfs_atmos_gempak_meta.sh |
signature | LOW | Single caller |
Isolated suite leaf. The GEMPAK metafile scripts are self-contained; changes do not propagate to other jobs.
- On-disk v17 worktree:
ecf/scripts/gfs/product/atmos/gempak/jgfs_atmos_gempak_meta.ecf,dev/jobs/JGFS_ATMOS_GEMPAK_META,dev/scripts/exgfs_atmos_gempak_meta.sh. -
agentcore-mcp-ragMCP (tenantgw_v17):get_change_impact.