Skip to content

jgfs_wave_postbndpnt ecf (v17) Analysis

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

jgfs_wave_postbndpnt.ecf (GFS v17)

Branch / tenant: dev/gfs.v17 (gw_v17) Path: ecf/scripts/gfs/product/wave/station/jgfs_wave_postbndpnt.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_postbndpnt.ecf is the NCO production ecFlow task that generates wave boundary-point spectral data from WaveWatch III model output. These are spectral output files at boundary forcing locations used by nested regional wave models (e.g., NAH, NAO regional WW3 domains). It is a single-instance task per cycle calling JGLOBAL_WAVE_POST_BNDPNT, which drives the shared exglobal_wave_post_pnt.sh in boundary-point spectral mode (no bulletins).


1. The script itself

#PBS -S /bin/bash
#PBS -N gfs_wave_postbndpnt_%CYC%
#PBS -j oe
#PBS -q %QUEUE%
#PBS -A %PROJ%-%PROJENVIR%
#PBS -l walltime=00:30: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/wavepostbndpnt.sh
${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNT
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, 30-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_BNDPNT The J-Job.

2. Execution chain

ecf/defs/gfs_prod.def : task jgfs_wave_postbndpnt
  +-- jgfs_wave_postbndpnt.ecf                      (PBS submit)
       +-- ${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNT  (J-Job)
            +-- ${SCRglobal}/exglobal_wave_post_pnt.sh   (shared ex-script)
                 +-- ww3_outp (boundary-point spectral extraction)

3. What the J-Job actually produces

The J-Job runs the shared wave point post-processing script in boundary-point spectral mode:

Flag Value Effect
DOSPC_WAV YES Generate spectral output at boundary points
DOBLL_WAV NO Do NOT generate bulletin text
DOBNDPNT_WAV YES Process boundary points specifically
FHMAX_WAV_PNT ${FHMAX_WAV_IBP} Max forecast hour for boundary points

Output: Wave spectral boundary-condition files at forcing locations, used by regional/nested wave models. Output to ${COMOUT_WAVE_STATION}/.

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/boundary products.
FHMAX_WAV_IBP config.wavepostbndpnt Max forecast hour for boundary points.
DOSPC_WAV / DOBLL_WAV / DOBNDPNT_WAV J-Job Processing mode flags.

Configuration

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


5. v17-specific notes

  • Shared ex-script: third variant of exglobal_wave_post_pnt.sh alongside postpnt (DOSPC+DOBLL) and postbndpntbll (DOBLL+DOBNDPNT). This one does spectral-only for boundary points (DOSPC+DOBNDPNT, no bulletins).
  • Purpose: provides boundary spectral data for regional wave model nesting, distinct from station bulletins (which are for forecasters).
  • UFS modules required for WW3 point output tools.
  • 40 cpus, 30-min wall — moderate for boundary point extraction.
  • Centralized module loading via load_modules.sh ufswm.

6. Summary of the three wave point post tasks

Task DOSPC DOBLL DOBNDPNT Purpose
jgfs_wave_postpnt YES YES NO Station spectral + bulletins
jgfs_wave_postbndpnt YES NO YES Boundary-point spectral (nesting)
jgfs_wave_postbndpntbll NO YES YES Boundary-point bulletins

All three use the same exglobal_wave_post_pnt.sh ex-script, differentiated by flags.


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

Symbol Change type Risk Direct dependents
JGLOBAL_WAVE_POST_BNDPNT behavior LOW 0 (suite leaf)
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_postbndpnt.ecf, dev/jobs/JGLOBAL_WAVE_POST_BNDPNT.
  • agentcore-mcp-rag MCP (tenant gw_v17): on-disk analysis.

Clone this wiki locally