v17 ecf script reconciliation - TerrenceMcGuinness-NOAA/global-workflow GitHub Wiki

ECF Script Reconciliation: Original List vs dev/gfs.v17 On-Disk

Generated: 2026-06-16 Branch: dev/gfs.v17 in supported_repos/dev-v17/ Total on-disk .ecf files: 84 (including cycle_end.ecf)

Summary

Category Count
Unchanged (same path) 25
Moved (same filename different directory) 23
Removed from v17 (no longer exists) 5
Renamed in v17 (similar script new name) 27
Brand new in v17 (no predecessor) 9

Section 1: Scripts at the Same Path (no action needed)

# Path (relative to ecf/scripts/)
1 gfs/forecast/jgfs_fcst.ecf
2 gfs/forecast/jgfs_fcst_fsm.ecf
3 gfs/init/wave/jgfs_wave_init.ecf
4 gfs/verf/atmos/jgfs_vminmon.ecf
5 gfs/analysis/atmos/jgfs_atmos_anal.ecf
6 gfs/prep/atmos/jgfs_atmos_prep.ecf
7 gfs/prep/atmos/jgfs_atmos_prep_fsm.ecf
8 gfs/prep/marine/jgfs_marine_prepoceanobs.ecf
9 gfs/prep/marine/jgfs_marine_prep_fsm.ecf
10 gfs/product/ice/jgfs_ice_product_master.ecf
11 gfs/product/atmos/awips_20km_1p0/jgfs_atmos_awips_20km_1p0_master.ecf
12 gfs/product/ocean/jgfs_ocean_product_master.ecf
13 gdas/forecast/jgdas_fcst_fsm.ecf
14 gdas/forecast/jgdas_fcst.ecf
15 gdas/init/wave/jgdas_wave_init.ecf
16 gdas/verf/atmos/jgdas_vminmon.ecf
17 gdas/verf/atmos/jgdas_verfozn.ecf
18 gdas/verf/atmos/jgdas_verfrad.ecf
19 gdas/analysis/atmos/jgdas_atmos_anal.ecf
20 gdas/analysis/atmos/jgdas_atmos_analdiag.ecf
21 gdas/prep/atmos/jgdas_atmos_prep.ecf
22 gdas/prep/atmos/jgdas_atmos_prep_fsm.ecf
23 gdas/prep/marine/jgdas_marine_prep_fsm.ecf
24 gdas/prep/marine/jgdas_marine_prepoceanobs.ecf
25 enkfgdas/forecast/jenkfgdas_fcst_master.ecf

Section 2: Scripts Moved (same filename -- directory changed)

# Old Path (original list) New Path (v17 on-disk)
1 gfs/gempak/atmos/gempak/jgfs_atmos_gempak_master.ecf gfs/product/atmos/gempak/gempak/jgfs_atmos_gempak_master.ecf
2 gfs/gempak/atmos/grb2spec/jgfs_atmos_grb2spec_master.ecf gfs/product/atmos/gempak/grb2spec/jgfs_atmos_grb2spec_master.ecf
3 gfs/gempak/atmos/goesupp/jgfs_atmos_goesupp_master.ecf gfs/product/atmos/gempak/goesupp/jgfs_atmos_goesupp_master.ecf
4 gfs/gempak/atmos/jgfs_atmos_npoess_pgrb2_0p5.ecf gfs/product/atmos/gempak/jgfs_atmos_npoess_pgrb2_0p5.ecf
5 gfs/gempak/atmos/jgfs_atmos_gempak_meta.ecf gfs/product/atmos/gempak/jgfs_atmos_gempak_meta.ecf
6 gfs/gempak/atmos/jgfs_atmos_gempak_ncdcupapgif.ecf gfs/product/atmos/gempak/jgfs_atmos_gempak_ncdcupapgif.ecf
7 gfs/gempak/wave/jgfs_wave_gempak_master.ecf gfs/product/wave/gempak/jgfs_wave_gempak_master.ecf
8 gfs/post/wave/jgfs_wave_awips_gridded.ecf gfs/product/wave/jgfs_wave_awips_gridded.ecf
9 gfs/post/wave/jgfs_wave_awips_bulls.ecf gfs/product/wave/jgfs_wave_awips_bulls.ecf
10 gfs/post/wave/jgfs_wave_postbndpntbll.ecf gfs/product/wave/station/jgfs_wave_postbndpntbll.ecf
11 gfs/post/wave/jgfs_wave_postpnt.ecf gfs/product/wave/station/jgfs_wave_postpnt.ecf
12 gfs/post/wave/jgfs_wave_postbndpnt.ecf gfs/product/wave/station/jgfs_wave_postbndpnt.ecf
13 gfs/init/marine/jgfs_marine_bmat.ecf gfs/analysis/marine/jgfs_marine_bmat.ecf
14 gfs/init/marine/jgfs_marine_bmat_init.ecf gfs/analysis/marine/jgfs_marine_bmat_init.ecf
15 gfs/product/atmos/bulletins/jgfs_atmos_fbwind.ecf gfs/product/atmos/jgfs_atmos_fbwind.ecf
16 gfs/product/atmos/jgfs_atmos_product_master.ecf gfs/product/atmos/product/jgfs_atmos_product_master.ecf
17 gfs/product/atmos/bufr_sounding/jgfs_atmos_postsnd.ecf gfs/product/atmos/jgfs_atmos_postsnd.ecf
18 gdas/gempak/atmos/gempak/jgdas_atmos_gempak_master.ecf gdas/product/atmos/gempak/gempak/jgdas_atmos_gempak_master.ecf
19 gdas/gempak/atmos/jgdas_atmos_gempak_meta_ncdc.ecf gdas/product/atmos/gempak/jgdas_atmos_gempak_meta_ncdc.ecf
20 gdas/post/wave/jgdas_wave_postpnt.ecf gdas/product/wave/jgdas_wave_postpnt.ecf
21 gdas/init/marine/jgdas_marine_bmat.ecf gdas/analysis/marine/jgdas_marine_bmat.ecf
22 gdas/init/marine/jgdas_marine_bmat_init.ecf gdas/analysis/marine/jgdas_marine_bmat_init.ecf
23 gdas/product/atmos/jgdas_atmos_product_master.ecf gdas/product/atmos/product/jgdas_atmos_product_master.ecf

Section 3: Scripts Renamed in v17 (functionality preserved -- new filename)

# Old Name (original list) New Name (v17) Change
1 gfs/init/marine/jgfs_marine_anl_init.ecf gfs/analysis/marine/jgfs_marine_anal_init.ecf anl_init -> anal_init + moved to analysis/
2 gfs/analysis/snow/jgfs_atmos_snowanl.ecf gfs/analysis/snow/jgfs_atmos_analsnow.ecf snowanl -> analsnow
3 gfs/analysis/atmos/jgfs_atmos_analcalc.ecf gfs/analysis/atmos/jgfs_atmos_anal_calc.ecf analcalc -> anal_calc
4 gfs/analysis/atmos/jgfs_atmos_atmanlupp.ecf gfs/analysis/atmos/jgfs_atmos_analupp.ecf atmanlupp -> analupp
5 gfs/analysis/atmos/jgfs_atmos_sfcanl.ecf gfs/analysis/atmos/jgfs_atmos_anal_sfc_gcycle.ecf sfcanl -> anal_sfc_gcycle
6 gfs/analysis/atmos/jgfs_atmos_atmanlprod.ecf gfs/product/atmos/jgfs_atmos_analprod.ecf atmanlprod -> analprod + moved to product/
7 gfs/analysis/marine/jgfs_marine_anlchkpt.ecf gfs/analysis/marine/jgfs_marine_analchkpt.ecf anlchkpt -> analchkpt
8 gfs/analysis/marine/jgfs_marine_anlvar.ecf gfs/analysis/marine/jgfs_marine_analvar.ecf anlvar -> analvar
9 gfs/analysis/marine/jgfs_marine_anlfinal.ecf gfs/analysis/marine/jgfs_marine_analfinal.ecf anlfinal -> analfinal
10 gfs/post/wave/jgfs_wave_postsbs_master.ecf gfs/product/wave/gridded/jgfs_wave_post_gridded_master.ecf postsbs -> post_gridded + moved
11 gdas/init/marine/jgdas_marine_anl_init.ecf gdas/analysis/marine/jgdas_marine_anal_init.ecf anl_init -> anal_init + moved
12 gdas/analysis/snow/jgdas_atmos_snowanl.ecf gdas/analysis/snow/jgdas_atmos_analsnow.ecf snowanl -> analsnow
13 gdas/analysis/atmos/jgdas_atmos_analcalc.ecf gdas/analysis/atmos/jgdas_atmos_anal_calc.ecf analcalc -> anal_calc
14 gdas/analysis/atmos/jgdas_atmos_atmanlupp.ecf gdas/analysis/atmos/jgdas_atmos_analupp.ecf atmanlupp -> analupp
15 gdas/analysis/atmos/jgdas_atmos_sfcanl.ecf gdas/analysis/atmos/jgdas_atmos_anal_sfc_gcycle.ecf sfcanl -> anal_sfc_gcycle
16 gdas/analysis/atmos/jgdas_atmos_atmanlprod.ecf gdas/product/atmos/jgdas_atmos_analprod.ecf atmanlprod -> analprod + moved
17 gdas/analysis/marine/jgdas_marine_anlfinal.ecf gdas/analysis/marine/jgdas_marine_analfinal.ecf anlfinal -> analfinal
18 gdas/analysis/marine/jgdas_marine_anlchkpt.ecf gdas/analysis/marine/jgdas_marine_analchkpt.ecf anlchkpt -> analchkpt
19 gdas/analysis/marine/jgdas_marine_anlvar.ecf gdas/analysis/marine/jgdas_marine_analvar.ecf anlvar -> analvar
20 gdas/post/wave/jgdas_wave_postsbs_master.ecf gdas/product/wave/gridded/jgdas_wave_post_gridded_master.ecf postsbs -> post_gridded + moved
21 enkfgdas/post/jenkfgdas_epos_master.ecf enkfgdas/ensstat/jenkfgdas_ens_post_master.ecf epos -> ens_post + moved to ensstat/
22 enkfgdas/analysis/recenter/ecen/jenkfgdas_ecen_master.ecf enkfgdas/analysis/recenter/jenkfgdas_atmos_ens_recenter_master.ecf ecen -> atmos_ens_recenter
23 enkfgdas/analysis/recenter/ecen/jenkfgdas_ediag.ecf enkfgdas/analysis/recenter/jenkfgdas_atmos_diag_ens.ecf ediag -> atmos_diag_ens
24 enkfgdas/analysis/recenter/ecen/jenkfgdas_echgres.ecf enkfgdas/analysis/create/jenkfgdas_change_res_ens.ecf echgres -> change_res_ens + moved to create/
25 enkfgdas/analysis/recenter/ecen/jenkfgdas_esnowanl.ecf enkfgdas/analysis/create/jenkfgdas_snow_anal_ens.ecf esnowanl -> snow_anal_ens + moved to create/
26 enkfgdas/analysis/recenter/ecen/jenkfgdas_marineanlecen.ecf enkfgdas/analysis/recenter/jenkfgdas_marine_ens_recenter.ecf marineanlecen -> marine_ens_recenter
27 enkfgdas/analysis/recenter/jenkfgdas_esfc.ecf enkfgdas/analysis/create/jenkfgdas_atmos_ens_anal_sfc_gcycle.ecf esfc -> atmos_ens_anal_sfc_gcycle + moved

Section 4: Scripts Removed from v17 (no replacement found)

# Old Path Likely Reason
1 gfs/verf/atmos/jgfs_genesis.ecf Tropical cyclone genesis tracker removed/deferred
2 gfs/verf/atmos/jgfs_tracker.ecf GFDL Vortex Tracker removed/deferred
3 gdas/verf/atmos/jgdas_anlstat.ecf GDAS analysis statistics not run in operations
4 enkfgdas/analysis/create/jenkfgdas_eupd.ecf Replaced by jenkfgdas_atmos_ens_update.ecf
5 enkfgdas/analysis/create/jenkfgdas_eobs.ecf Replaced by jenkfgdas_atmos_ens_observer.ecf

Section 5: Brand New Scripts in v17 (no predecessor in original list)

# v17 Path Purpose (to be documented)
1 gfs/forecast/jgfs_fcst_manager.ecf Forecast manager (new coordination role)
2 gdas/analysis/atmos/jgdas_atmos_anal_sfc_regrid.ecf Surface analysis regrid step
3 gdas/analysis/atmos/jgdas_atmos_anal_wdqms.ecf WDQMS quality monitoring analysis
4 gdas/atmos/analysis/jgdas_atmos_analysis_wdqms.ecf WDQMS (duplicate path -- likely a symlink target)
5 enkfgdas/analysis/create/jenkfgdas_atmos_ens_update.ecf EnKF ensemble update (replaces eupd)
6 enkfgdas/analysis/create/jenkfgdas_atmos_ens_observer.ecf EnKF ensemble observer (replaces eobs)
7 enkfgdas/analysis/create/jenkfgdas_atmos_ens_anal_sfc_regrid.ecf Ensemble surface analysis regrid
8 cycle_end.ecf Suite cycle completion marker
9 gfs/product/atmos/grb2spec/jgfs_atmos_grb2spec_master.ecf GRB2 to spectral (product-level copy)

Directory Reorganization Patterns

Old structure New structure Rationale
gfs/gempak/ gfs/product/atmos/gempak/ All products consolidated under product/
gfs/post/wave/ gfs/product/wave/ Wave products consolidated under product/
gfs/init/marine/ (bmat jobs) gfs/analysis/marine/ B-matrix is part of analysis not init
gfs/product/atmos/bulletins/ gfs/product/atmos/ (flat) Bulletins flattened
gfs/product/atmos/bufr_sounding/ gfs/product/atmos/ (flat) Sounding flattened
enkfgdas/analysis/recenter/ecen/ enkfgdas/analysis/recenter/ (flat) ecen/ subdirectory removed
enkfgdas/post/ enkfgdas/ensstat/ Post renamed to ensemble statistics

Naming Convention Changes

Old pattern New pattern Examples
*_anl* *_anal* anlchkpt -> analchkpt; anl_init -> anal_init
*_snowanl *_analsnow jgfs_atmos_snowanl -> jgfs_atmos_analsnow
*_sfcanl *_anal_sfc_gcycle jgfs_atmos_sfcanl -> jgfs_atmos_anal_sfc_gcycle
*_atmanlupp *_analupp jgfs_atmos_atmanlupp -> jgfs_atmos_analupp
*_analcalc *_anal_calc underscore added for readability
*_atmanlprod *_analprod prefix simplified
*_postsbs* *_post_gridded* descriptive rename
jenkfgdas_e* jenkfgdas_*_ens_* short abbreviations expanded