Skip to content

jgfs_wave_postpnt ecf (v17) Analysis

Terry McGuinness edited this page Jun 11, 2026 · 2 revisions

jgfs_wave_postpnt.ecf (GFS v17)

Branch / tenant: dev/gfs.v17 (gw_v17) Path: ecf/scripts/gfs/product/wave/station/jgfs_wave_postpnt.ecf Analysis date: 2026-06-11 Method: AWS Bedrock AgentCore agentcore-mcp-rag MCP cross-checked against the on-disk v17 worktree.


Summary

jgfs_wave_postpnt.ecf is the NCO production ecFlow task that generates wave station/point output — both spectral data and text bulletins — from WaveWatch III model output at configured buoy and coastal observation locations. It is a single-instance task per cycle calling JGLOBAL_WAVE_POST_PNT, which drives the shared exglobal_wave_post_pnt.sh in full spectral + bulletin mode (but NOT boundary points).


1. The script itself

#PBS -S /bin/bash
#PBS -N gfs_wave_postpnt_%CYC%
#PBS -j oe
#PBS -q %QUEUE%
#PBS -A %PROJ%-%PROJENVIR%
#PBS -l walltime=00:35:00
#PBS -l select=1:mpiprocs=40:ompthreads=1:ncpus=40
#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 ufswm

module list
############################################################
# CALL executable job script here
############################################################
export CDATE=${PDY}${cyc}
export HOMEglobal=${HOMEgfs}

#### ${HOMEgfs}/dev/job_cards/rocoto/wavepostpnt.sh
${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_PNT
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, 40 mpiprocs/cpus, 35-min wall, shared placement.
load_modules.sh ufswm Loads UFS Weather Model modules (needed for WW3 post tools).
No WGF/FHR exports Single-instance per cycle.
${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_PNT The J-Job.

2. Execution chain

ecf/defs/gfs_prod.def : task jgfs_wave_postpnt
  +-- jgfs_wave_postpnt.ecf                      (PBS submit)
       +-- ${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_PNT  (J-Job)
            +-- ${SCRglobal}/exglobal_wave_post_pnt.sh   (shared ex-script)
                 +-- ww3_outp (spectral + bulletin output)

3. What the J-Job actually produces

The J-Job runs the shared wave point post-processing script in full station mode:

Flag Value Effect
DOSPC_WAV YES Generate spectral output at stations
DOBLL_WAV YES Generate bulletin text output
DOBNDPNT_WAV NO Do NOT process boundary points (that's a separate task)
FHMAX_WAV_PNT FHMAX_WAV - OFFSET_START_HOUR Full forecast hour range

Output:

  • Wave spectral data at all configured buoy/station locations
  • Wave bulletin text products at stations
  • All output to ${COMOUT_WAVE_STATION}/

This is the primary wave point output task — it feeds downstream bulletin and AWIPS tasks.

Error handling

Uses the EE2-correct pattern: && true + err_exit.


4. Key environment variables

Variable Origin Meaning
COMIN_WAVE_INIT J-Job (declare -rx) Wave initialization (mod_def files).
COMIN_WAVE_HISTORY J-Job (declare -rx) Wave model history output.
COMOUT_WAVE_STATION J-Job (declare -rx) Output: wave station products.
FHMAX_WAV config.wave Max forecast hour for wave model.
OFFSET_START_HOUR config.wavepostpnt Hour offset for point output start.
DOSPC_WAV / DOBLL_WAV / DOBNDPNT_WAV J-Job Processing mode flags.

Configuration

Sources jjob_header.sh -e "wavepostpnt" -c "base wave wavepostgridded wavepostpnt".


5. v17-specific notes

  • Shared ex-script: uses exglobal_wave_post_pnt.sh (same as postbndpntbll and postbndpnt), differentiated by DOSPC/DOBLL/DOBNDPNT flags.
  • Primary station output task: feeds downstream jgfs_wave_awips_bulls.
  • UFS modules required for WW3 point output tools.
  • 40 cpus, 35-min wall — longer than postbndpntbll because it processes all stations (not just boundary points) with full spectral output.
  • Centralized module loading via load_modules.sh ufswm.

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

Symbol Change type Risk Direct dependents
JGLOBAL_WAVE_POST_PNT behavior LOW (per graph) Feeds jgfs_wave_awips_bulls downstream
exglobal_wave_post_pnt.sh signature MEDIUM Shared by 3 wave post tasks

Sources

  • On-disk v17 worktree: ecf/scripts/gfs/product/wave/station/jgfs_wave_postpnt.ecf, dev/jobs/JGLOBAL_WAVE_POST_PNT.
  • agentcore-mcp-rag MCP (tenant gw_v17): on-disk analysis.

Clone this wiki locally