Skip to content

Enhance the benchmarking logic to support multiple runs and instrument the Grid-Diag tool to report metrics #3109

@bikegeek

Description

@bikegeek

Describe the Enhancement

Make the necessary enhancements to the benchmarking tool under the internal/scripts/benchmark directory to support measuring the Grid-Diag tool. Focus is for running via command line (vs use cases via METplus wrappers).

Sample commands:

seneca in /d1/personal/briannen/grid_diag_gfs and the command:
'''
/d1/projects/GRID_DIAG_OPTIMIZATION/MET/bin/grid_diag -data gfs.t00z.pgrb2.0p50.f012 -out grid_diag_gfs.nc -config GridDiagConfig_gfs
'''

The high-res case: at /d1/personal/briannen/grid_diag_hr

  • default case:
    '''
    /d1/projects/GRID_DIAG_OPTIMIZATION/MET/bin/grid_diag -data mpashn4nssl_2024051612f12.grib2 MergedReflectivityQCComposite_00.50_20240517-000000.grib2 -out grid_diag_hr.nc -config GridDiagConfig_hr
    '''
  • more bins case
    '''
    /d1/projects/GRID_DIAG_OPTIMIZATION/MET/bin/grid_diag -data mpashn4nssl_2024051612f12.grib2 MergedReflectivityQCComposite_00.50_20240517-000000.grib2 -out grid_diag_hr_morebins.nc -config GridDiagConfig_hr_morebins
    '''
  • less bins case:
    '''
    /d1/projects/GRID_DIAG_OPTIMIZATION/MET/bin/grid_diag -data mpashn4nssl_2024051612f12.grib2 MergedReflectivityQCComposite_00.50_20240517-000000.grib2 -out grid_diag_hr_lessbins.nc -config GridDiagConfig_hr_lessbins
    '''

gfs cases
/d1/personal/briannen/grid_diag_gfs

  • more bins case:
    '''
    /d1/projects/GRID_DIAG_OPTIMIZATION/MET/bin/grid_diag -data gfs.t00z.pgrb2.0p50.f012 -out grid_diag_gfs_morebins.nc -config GridDiagConfig_gfs_morebins
    '''
  • less bins case:
    '''
    /d1/projects/GRID_DIAG_OPTIMIZATION/MET/bin/grid_diag -data gfs.t00z.pgrb2.0p50.f012 -out grid_diag_gfs_lessbins.nc -config GridDiagConfig_gfs_lessbins
    '''

Time Estimate

Sub-Issues

Consider breaking the enhancement down into sub-issues.
using the ctrack.hpp employed in the ensemble-stat benchmarking:

  • Identify the functions to instrument for the Grid Diag tool
  • Build the MET tool with instrumented code
  • Run sample grid-diag examples as baseline
  • Make any necessary changes to support

Relevant Deadlines

PoP is July 2025

Funding Source

2784544

Define the Metadata

Assignee

  • Select engineer(s) Minna Win
  • Select scientist(s) or no scientist required

Labels

  • Review default alert labels
  • Select component(s)
  • Select priority
  • Select requestor(s)

Milestone and Projects

  • Select Milestone as a MET-X.Y.Z version, Consider for Next Release, or Backlog of Development Ideas
  • For a MET-X.Y.Z version, select the MET-X.Y.Z Development project

Define Related Issue(s)

Consider the impact to the other METplus components.

Enhancement Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of develop.
    Branch name: feature_<Issue Number>_<Description>
  • Complete the development and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Push local changes to GitHub.
  • Submit a pull request to merge into develop.
    Pull request: feature <Issue Number> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next official version
    Select: MET-X.Y.Z Development project for development toward the next official release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.

Metadata

Metadata

Assignees

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions