Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename vx tasks so they follow METplus-tool based convention #619

Closed
gsketefian opened this issue Feb 17, 2023 · 2 comments · Fixed by #618
Closed

Rename vx tasks so they follow METplus-tool based convention #619

gsketefian opened this issue Feb 17, 2023 · 2 comments · Fixed by #618
Labels
enhancement New feature or request

Comments

@gsketefian
Copy link
Collaborator

gsketefian commented Feb 17, 2023

Description

To avoid various sorts of file conflicts (e.g. multiple workflow tasks writing to the same output file), the eventual goal for the verification (vx) tasks in the ROCOTO workflow is for each task to only call one METplus tool (e.g. GridStat, PointStat, EnsembleStat, etc) and operate on one field or group of fields (see Issue #620 ). For clarity, we would like the task names along with the corresponding j-job, ex-script, and log file names to reflect this.

Solution

In this issue, I propose that each item (task or file name) be renamed so that it contains the name of the METplus tool the task runs as well as the name of the field or group of fields on which it is run (e.g. 1-hour precip (APCP01h), reflectivity (REFC), etc).

I propose to rename the j-job scripts as follows (note that NCO requires that all j-job names be in upper case):

JREGIONAL_RUN_VX_GRIDSTAT       --->  JREGIONAL_RUN_MET_GRIDSTAT_VX
JREGIONAL_RUN_VX_POINTSTAT      --->  JREGIONAL_RUN_MET_POINTSTAT_VX
JREGIONAL_RUN_VX_ENSGRID        --->  JREGIONAL_RUN_MET_ENSEMBLESTAT_VX_GRID
JREGIONAL_RUN_VX_ENSPOINT       --->  JREGIONAL_RUN_MET_ENSEMBLESTAT_VX_POINT
JREGIONAL_RUN_VX_ENSGRID_MEAN   --->  JREGIONAL_RUN_MET_GRIDSTAT_VX_ENSMEAN
JREGIONAL_RUN_VX_ENSPOINT_MEAN  --->  JREGIONAL_RUN_MET_POINTSTAT_VX_ENSMEAN
JREGIONAL_RUN_VX_ENSGRID_PROB   --->  JREGIONAL_RUN_MET_GRIDSTAT_VX_ENSPROB
JREGIONAL_RUN_VX_ENSPOINT_PROB  --->  JREGIONAL_RUN_MET_POINTSTAT_VX_ENSPROB

I propose to rename the ex-scripts as follows (note that NCO requires that all ex-script names be in lower case):

exregional_run_vx_ensgrid.sh        --->  exregional_run_met_ensemblestat_vx_grid.sh
exregional_run_vx_enspoint.sh       --->  exregional_run_met_ensemblestat_vx_point.sh
exregional_run_vx_gridstat.sh       --->  exregional_run_met_gridstat_vx.sh
exregional_run_vx_pointstat.sh      --->  exregional_run_met_pointstat_vx.sh
exregional_run_vx_ensgrid_mean.sh   --->  exregional_run_met_gridstat_vx_ensmean.sh
exregional_run_vx_enspoint_mean.sh  --->  exregional_run_met_pointstat_vx_ensmean.sh
exregional_run_vx_ensgrid_prob.sh   --->  exregional_run_met_gridstat_vx_ensprob.sh
exregional_run_vx_enspoint_prob.sh  --->  exregional_run_met_pointstat_vx_ensprob.sh

I propose to rename the METplus configuration files as follows (some aren't renamed):

EnsembleStat_APCP01h.conf      -->  EnsembleStat_APCP01h.conf      (no change)
EnsembleStat_APCP03h.conf      -->  EnsembleStat_APCP03h.conf      (no change)
EnsembleStat_APCP06h.conf      -->  EnsembleStat_APCP06h.conf      (no change)
EnsembleStat_APCP24h.conf      -->  EnsembleStat_APCP24h.conf      (no change)
EnsembleStat_REFC.conf         -->  EnsembleStat_REFC.conf         (no change)
EnsembleStat_RETOP.conf        -->  EnsembleStat_RETOP.conf        (no change)
EnsembleStat_conus_sfc.conf    -->  EnsembleStat_SFC.conf
EnsembleStat_upper_air.conf    -->  EnsembleStat_UPA.conf
GridStat_APCP01h.conf          -->  GridStat_APCP01h.conf          (no change)
GridStat_APCP03h.conf          -->  GridStat_APCP03h.conf          (no change)
GridStat_APCP06h.conf          -->  GridStat_APCP06h.conf          (no change)
GridStat_APCP24h.conf          -->  GridStat_APCP24h.conf          (no change)
GridStat_REFC.conf             -->  GridStat_REFC.conf             (no change)
GridStat_RETOP.conf            -->  GridStat_RETOP.conf            (no change)
PointStat_conus_sfc.conf       -->  PointStat_SFC.conf
PointStat_upper_air.conf       -->  PointStat_UPA.conf
GridStat_APCP01h_mean.conf     -->  GridStat_ensmean_APCP01h.conf
GridStat_APCP03h_mean.conf     -->  GridStat_ensmean_APCP03h.conf
GridStat_APCP06h_mean.conf     -->  GridStat_ensmean_APCP06h.conf
GridStat_APCP24h_mean.conf     -->  GridStat_ensmean_APCP24h.conf
GridStat_REFC_mean.conf        -->  GridStat_ensmean_REFC.conf
GridStat_RETOP_mean.conf       -->  GridStat_ensmean_RETOP.conf
PointStat_conus_sfc_mean.conf  -->  PointStat_ensmean_SFC.conf
PointStat_upper_air_mean.conf  -->  PointStat_ensmean_UPA.conf
GridStat_APCP01h_prob.conf     -->  GridStat_ensprob_APCP01h.conf
GridStat_APCP03h_prob.conf     -->  GridStat_ensprob_APCP03h.conf
GridStat_APCP06h_prob.conf     -->  GridStat_ensprob_APCP06h.conf
GridStat_APCP24h_prob.conf     -->  GridStat_ensprob_APCP24h.conf
GridStat_REFC_prob.conf        -->  GridStat_ensprob_REFC.conf
GridStat_RETOP_prob.conf       -->  GridStat_ensprob_RETOP.conf
PointStat_conus_sfc_prob.conf  -->  PointStat_ensprob_SFC.conf
PointStat_upper_air_prob.conf  -->  PointStat_ensprob_UPA.conf

Finally, I propose to rename the tasks and log file names for each of deterministic and ensemble verification as follows (e.g. for the 2019061500 cycle):

Deterministic Verification

Rename the ROCOTO tasks as follows:

run_gridstatvx        --->  run_MET_GridStat_vx_APCP01h
run_gridstatvx_03h    --->  run_MET_GridStat_vx_APCP03h
run_gridstatvx_06h    --->  run_MET_GridStat_vx_APCP06h
run_gridstatvx_24h    --->  run_MET_GridStat_vx_APCP24h
run_gridstatvx_refc   --->  run_MET_GridStat_vx_REFC
run_gridstatvx_retop  --->  run_MET_GridStat_vx_RETOP
run_pointstatvx       --->  run_MET_PointStat_vx_SFC
                            + run_MET_PointStat_vx_UPA (split into two tasks)

Rename the corresponding log file for each task as follows:

run_gridstatvx_2019061500.log        --->  run_MET_GridStat_vx_APCP01h_2019061500.log
run_gridstatvx_03h_2019061500.log    --->  run_MET_GridStat_vx_APCP03h_2019061500.log
run_gridstatvx_06h_2019061500.log    --->  run_MET_GridStat_vx_APCP06h_2019061500.log
run_gridstatvx_24h_2019061500.log    --->  run_MET_GridStat_vx_APCP24h_2019061500.log
run_gridstatvx_refc_2019061500.log   --->  run_MET_GridStat_vx_REFC_2019061500.log
run_gridstatvx_retop_2019061500.log  --->  run_MET_GridStat_vx_RETOP_2019061500.log
run_pointstatvx_2019061500.log       --->  run_MET_PointStat_vx_SFC_2019061500.log
                                           + run_MET_PointStat_vx_UPA_2019061500.log (split into two files)

Rename the corresponding METplus log files as follows:

metplus.log.gridstat_2019061500_APCP_01h  --->  metplus.log.GridStat_APCP01h_2019061500
metplus.log.gridstat_2019061500_APCP_03h  --->  metplus.log.GridStat_APCP03h_2019061500
metplus.log.gridstat_2019061500_APCP_06h  --->  metplus.log.GridStat_APCP06h_2019061500
metplus.log.gridstat_2019061500_APCP_24h  --->  metplus.log.GridStat_APCP24h_2019061500
metplus.log.gridstat_2019061500_REFC      --->  metplus.log.GridStat_REFC_2019061500
metplus.log.gridstat_2019061500_RETOP     --->  metplus.log.GridStat_RETOP_2019061500
metplus.log.pointstat_2019061500_sfc      --->  metplus.log.PointStat_SFC_2019061500
metplus.log.pointstat_2019061500_upa      --->  metplus.log.PointStat_UPA_2019061500

Ensemble Verification

Rename the ROCOTO tasks as follows:

run_gridstatvx_mem001        --->  run_MET_GridStat_vx_APCP01h_mem001
run_gridstatvx_03h_mem001    --->  run_MET_GridStat_vx_APCP03h_mem001
run_gridstatvx_06h_mem001    --->  run_MET_GridStat_vx_APCP06h_mem001
run_gridstatvx_24h_mem001    --->  run_MET_GridStat_vx_APCP24h_mem001
run_gridstatvx_refc_mem001   --->  run_MET_GridStat_vx_REFC_mem001
run_gridstatvx_retop_mem001  --->  run_MET_GridStat_vx_RETOP_mem001
run_pointstatvx_mem001       --->  run_MET_PointStat_vx_SFC_mem001
                                   + run_MET_PointStat_vx_UPA_mem001 (split into two tasks)

run_gridstatvx_mem002        --->  run_MET_GridStat_vx_APCP01h_mem002 
run_gridstatvx_03h_mem002    --->  run_MET_GridStat_vx_APCP03h_mem002
run_gridstatvx_06h_mem002    --->  run_MET_GridStat_vx_APCP06h_mem002
run_gridstatvx_24h_mem002    --->  run_MET_GridStat_vx_APCP24h_mem002
run_gridstatvx_refc_mem002   --->  run_MET_GridStat_vx_REFC_mem002
run_gridstatvx_retop_mem002  --->  run_MET_GridStat_vx_RETOP_mem002
run_pointstatvx_mem002       --->  run_MET_PointStat_vx_SFC_mem002
                                   + run_MET_PointStat_vx_UPA_mem002 (split into two tasks)

run_ensgridvx        --->  run_MET_EnsembleStat_vx_APCP01h
run_ensgridvx_03h    --->  run_MET_EnsembleStat_vx_APCP03h
run_ensgridvx_06h    --->  run_MET_EnsembleStat_vx_APCP06h
run_ensgridvx_24h    --->  run_MET_EnsembleStat_vx_APCP24h
run_ensgridvx_refc   --->  run_MET_EnsembleStat_vx_REFC
run_ensgridvx_retop  --->  run_MET_EnsembleStat_vx_RETOP
run_enspointvx       --->  run_MET_EnsembleStat_vx_SFC
                           + run_MET_EnsembleStat_vx_UPA (split into two tasks)

run_ensgridvx_mean      --->  run_MET_GridStat_vx_ensmean_APCP01h
run_ensgridvx_mean_03h  --->  run_MET_GridStat_vx_ensmean_APCP03h
run_ensgridvx_mean_06h  --->  run_MET_GridStat_vx_ensmean_APCP06h
run_ensgridvx_mean_24h  --->  run_MET_GridStat_vx_ensmean_APCP24h
run_enspointvx_mean     --->  run_MET_PointStat_vx_ensmean_SFC
                              + run_MET_PointStat_vx_ensmean_UPA (split into two tasks)

run_ensgridvx_prob        --->  run_MET_GridStat_vx_ensprob_APCP01h
run_ensgridvx_prob_03h    --->  run_MET_GridStat_vx_ensprob_APCP03h
run_ensgridvx_prob_06h    --->  run_MET_GridStat_vx_ensprob_APCP06h
run_ensgridvx_prob_24h    --->  run_MET_GridStat_vx_ensprob_APCP24h
run_ensgridvx_prob_refc   --->  run_MET_GridStat_vx_ensprob_REFC
run_ensgridvx_prob_retop  --->  run_MET_GridStat_vx_ensprob_RETOP
run_enspointvx_prob       --->  run_MET_PointStat_vx_ensprob_SFC
                                + run_MET_PointStat_vx_ensprob_UPA (split into two tasks)

Rename the corresponding log file for each task as follows:

run_gridstatvx_mem001_2019061500.log        --->  run_MET_GridStat_vx_APCP01h_mem001_2019061500.log
run_gridstatvx_03h_mem001_2019061500.log    --->  run_MET_GridStat_vx_APCP03h_mem001_2019061500.log
run_gridstatvx_06h_mem001_2019061500.log    --->  run_MET_GridStat_vx_APCP06h_mem001_2019061500.log
run_gridstatvx_24h_mem001_2019061500.log    --->  run_MET_GridStat_vx_APCP24h_mem001_2019061500.log
run_gridstatvx_refc_mem001_2019061500.log   --->  run_MET_GridStat_vx_REFC_mem001_2019061500.log
run_gridstatvx_retop_mem001_2019061500.log  --->  run_MET_GridStat_vx_RETOP_mem001_2019061500.log
run_pointstatvx_mem001_2019061500.log       --->  run_MET_PointStat_vx_SFC_mem001_2019061500.log
                                                  + run_MET_PointStat_vx_UPA_mem001_2019061500.log (split into two files)

run_gridstatvx_mem002_2019061500.log        --->  run_MET_GridStat_vx_APCP01h_mem002_2019061500.log
run_gridstatvx_03h_mem002_2019061500.log    --->  run_MET_GridStat_vx_APCP03h_mem002_2019061500.log
run_gridstatvx_06h_mem002_2019061500.log    --->  run_MET_GridStat_vx_APCP06h_mem002_2019061500.log
run_gridstatvx_24h_mem002_2019061500.log    --->  run_MET_GridStat_vx_APCP24h_mem002_2019061500.log
run_gridstatvx_refc_mem002_2019061500.log   --->  run_MET_GridStat_vx_REFC_mem002_2019061500.log
run_gridstatvx_retop_mem002_2019061500.log  --->  run_MET_GridStat_vx_RETOP_mem002_2019061500.log
run_pointstatvx_mem002_2019061500.log       --->  run_MET_PointStat_vx_SFC_mem002_2019061500.log
                                                  + run_MET_PointStat_vx_UPA_mem002_2019061500.log (split into two files)

run_ensgridvx_2019061500.log        --->  run_MET_EnsembleStat_vx_APCP01h_2019061500.log
run_ensgridvx_03h_2019061500.log    --->  run_MET_EnsembleStat_vx_APCP03h_2019061500.log
run_ensgridvx_06h_2019061500.log    --->  run_MET_EnsembleStat_vx_APCP06h_2019061500.log
run_ensgridvx_24h_2019061500.log    --->  run_MET_EnsembleStat_vx_APCP24h_2019061500.log
run_ensgridvx_refc_2019061500.log   --->  run_MET_EnsembleStat_vx_REFC_2019061500.log
run_ensgridvx_retop_2019061500.log  --->  run_MET_EnsembleStat_vx_RETOP_2019061500.log
run_enspointvx_2019061500.log       --->  run_MET_EnsembleStat_vx_SFC_2019061500.log
                                          + run_MET_EnsembleStat_vx_UPA_2019061500.log (split into two files)

run_ensgridvx_mean_2019061500.log      --->  run_MET_GridStat_vx_ensmean_APCP01h_2019061500.log
run_ensgridvx_mean_03h_2019061500.log  --->  run_MET_GridStat_vx_ensmean_APCP03h_2019061500.log
run_ensgridvx_mean_06h_2019061500.log  --->  run_MET_GridStat_vx_ensmean_APCP06h_2019061500.log
run_ensgridvx_mean_24h_2019061500.log  --->  run_MET_GridStat_vx_ensmean_APCP24h_2019061500.log
run_enspointvx_mean_2019061500.log     --->  run_MET_PointStat_vx_ensmean_SFC_2019061500.log
                                             + run_MET_PointStat_vx_ensmean_UPA_2019061500.log (split into two files)

run_ensgridvx_prob_2019061500.log        --->  run_MET_GridStat_vx_ensprob_APCP01h_2019061500.log
run_ensgridvx_prob_03h_2019061500.log    --->  run_MET_GridStat_vx_ensprob_APCP03h_2019061500.log
run_ensgridvx_prob_06h_2019061500.log    --->  run_MET_GridStat_vx_ensprob_APCP06h_2019061500.log
run_ensgridvx_prob_24h_2019061500.log    --->  run_MET_GridStat_vx_ensprob_APCP24h_2019061500.log
run_ensgridvx_prob_refc_2019061500.log   --->  run_MET_GridStat_vx_ensprob_REFC_2019061500.log
run_ensgridvx_prob_retop_2019061500.log  --->  run_MET_GridStat_vx_ensprob_RETOP_2019061500.log
run_enspointvx_prob_2019061500.log       --->  run_MET_PointStat_vx_ensprob_SFC_2019061500.log
                                               + run_MET_PointStat_vx_ensprob_UPA_2019061500.log (split into two files)

Rename the corresponding METplus log files as follows:

metplus.log.gridstat_2019061500_mem001_APCP_01h  --->  metplus.log.GridStat_APCP01h_mem001_2019061500
metplus.log.gridstat_2019061500_mem001_APCP_03h  --->  metplus.log.GridStat_APCP03h_mem001_2019061500
metplus.log.gridstat_2019061500_mem001_APCP_06h  --->  metplus.log.GridStat_APCP06h_mem001_2019061500
metplus.log.gridstat_2019061500_mem001_APCP_24h  --->  metplus.log.GridStat_APCP24h_mem001_2019061500
metplus.log.gridstat_2019061500_mem001_REFC      --->  metplus.log.GridStat_REFC_mem001_2019061500
metplus.log.gridstat_2019061500_mem001_RETOP     --->  metplus.log.GridStat_RETOP_mem001_2019061500
metplus.log.pointstat_2019061500_mem001_sfc      --->  metplus.log.PointStat_SFC_mem001_2019061500
metplus.log.pointstat_2019061500_mem001_upa      --->  metplus.log.PointStat_UPA_mem001_2019061500

metplus.log.gridstat_2019061500_mem002_APCP_01h  --->  metplus.log.GridStat_APCP01h_mem002_2019061500
metplus.log.gridstat_2019061500_mem002_APCP_03h  --->  metplus.log.GridStat_APCP03h_mem002_2019061500
metplus.log.gridstat_2019061500_mem002_APCP_06h  --->  metplus.log.GridStat_APCP06h_mem002_2019061500
metplus.log.gridstat_2019061500_mem002_APCP_24h  --->  metplus.log.GridStat_APCP24h_mem002_2019061500
metplus.log.gridstat_2019061500_mem002_REFC      --->  metplus.log.GridStat_REFC_mem002_2019061500
metplus.log.gridstat_2019061500_mem002_RETOP     --->  metplus.log.GridStat_RETOP_mem002_2019061500
metplus.log.pointstat_2019061500_mem002_sfc      --->  metplus.log.PointStat_SFC_mem002_2019061500
metplus.log.pointstat_2019061500_mem002_upa      --->  metplus.log.PointStat_UPA_mem002_2019061500

metplus.log.ensgrid_2019061500_APCP_01h  --->  metplus.log.EnsembleStat_APCP01h_2019061500
metplus.log.ensgrid_2019061500_APCP_03h  --->  metplus.log.EnsembleStat_APCP03h_2019061500
metplus.log.ensgrid_2019061500_APCP_06h  --->  metplus.log.EnsembleStat_APCP06h_2019061500
metplus.log.ensgrid_2019061500_APCP_24h  --->  metplus.log.EnsembleStat_APCP24h_2019061500
metplus.log.ensgrid_2019061500_REFC      --->  metplus.log.EnsembleStat_REFC_2019061500
metplus.log.ensgrid_2019061500_RETOP     --->  metplus.log.EnsembleStat_RETOP_2019061500
metplus.log.enspoint_2019061500_sfc      --->  metplus.log.EnsembleStat_SFC_2019061500
metplus.log.enspoint_2019061500_upa      --->  metplus.log.EnsembleStat_UPA_2019061500

metplus.log.ensgrid_mean_2019061500_APCP_01h  --->  metplus.log.GridStat_ensmean_APCP01h_2019061500
metplus.log.ensgrid_mean_2019061500_APCP_03h  --->  metplus.log.GridStat_ensmean_APCP03h_2019061500
metplus.log.ensgrid_mean_2019061500_APCP_06h  --->  metplus.log.GridStat_ensmean_APCP06h_2019061500
metplus.log.enspoint_mean_2019061500_sfc      --->  metplus.log.PointStat_ensmean_SFC_2019061500
metplus.log.enspoint_mean_2019061500_upa      --->  metplus.log.PointStat_ensmean_UPA_2019061500

metplus.log.ensgrid_prob_2019061500_APCP_01h  --->  metplus.log.GridStat_ensprob_APCP01h_2019061500
metplus.log.ensgrid_prob_2019061500_APCP_03h  --->  metplus.log.GridStat_ensprob_APCP03h_2019061500
metplus.log.ensgrid_prob_2019061500_APCP_06h  --->  metplus.log.GridStat_ensprob_APCP06h_2019061500
metplus.log.ensgrid_prob_2019061500_REFC      --->  metplus.log.GridStat_ensprob_REFC_2019061500
metplus.log.ensgrid_prob_2019061500_RETOP     --->  metplus.log.GridStat_ensprob_RETOP_2019061500
metplus.log.enspoint_prob_2019061500_sfc      --->  metplus.log.PointStat_ensprob_SFC_2019061500
metplus.log.enspoint_prob_2019061500_upa      --->  metplus.log.PointStat_ensprob_UPA_2019061500

Acceptance Criteria (Definition of Done)

WE2E verification tests run without changing results.

Alternative Solutions (optional)

If you have other ideas for a naming convention, please suggest in the discussion below.

@gsketefian gsketefian added the enhancement New feature or request label Feb 17, 2023
@gsketefian gsketefian changed the title Rename vx tasks so they follow METplus-tool based convention Rename vx tasks so they follow METplus-tool based convention (in progress) Feb 17, 2023
@gsketefian gsketefian changed the title Rename vx tasks so they follow METplus-tool based convention (in progress) Rename vx tasks so they follow METplus-tool based convention Feb 17, 2023
@gsketefian
Copy link
Collaborator Author

@michelleharrold @JeffBeck-NOAA @willmayfield @mkavulich Couple of questions:

  1. Could at least a couple of you take a look at this issue and let me know what you think?
  2. Do you prefer task names and log file names to be a mix of upper and lower case (e.g. run_MET_GridStat_vx_APCP01h_mem001 and metplus.log.EnsembleStat_APCP01h_2019061500) or all lower case (e.g. run_met_gridstat_vx_apcp01h_mem001 and metplus.log.ensemblestat_apcp01h_2019061500)? NCO requires that the names of the ex-scripts be lower case, but there is no such requirement on task names and log file names. I thought these are easier to read as a mix of upper and lower case, so I'm proposing that convention, but if you prefer all lower case, please let me know.

Thanks.

@JeffBeck-NOAA
Copy link
Collaborator

@gsketefian, I would prefer capitalized acronyms when possible for ease of comprehension, so long as it doesn't interfere with NCO requirements.

MichaelLueken pushed a commit that referenced this issue Mar 1, 2023
…t tasks into two) (#618)

1. Rename verification tasks and corresponding j-jobs, ex-scripts, and log files as described in issue #619.

2. Separate combined METplus vx tasks for surface and upper air into separate tasks. This is so that there is only one call to a METplus tool per ROCOTO task and helps simplify the workflow and debugging.

3. Ensure that each vx task has a separate section in config_defaults.yaml with its own resource variables (WTIME_..., PPN_..., etc).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
2 participants