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 |