Skip to content

Refine the vector level matching logic when reading NetCDF output generated by other MET tools #3087

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Enhancement

This issue arose via the dtcenter/METplus#2898 discussion. The task is to enhance the vx_data2d_nc_met library to better support computing VL1L2/VAL1L2/VCNT vector statistics at multiple levels when reading data from MET NetCDF files.

Demonstrate the issue to be addressed by running the following commands:

cp $MET_TEST_INPUT/model_data/grib2/gfs/gfs.0p25.2022092400.f012.grib2 .

# Run Regrid-Data-Plane to create a MET NetCDF file with U/V records at multiple pressure levels
regrid_data_plane \
gfs.0p25.2022092400.f012.grib2 \
gfs.0p25.2022092400.f012.grib2 \
regrid_UV.nc \
-field 'name="UGRD"; level="P250";' \
-field 'name="VGRD"; level="P250";' \
-field 'name="UGRD"; level="P500";' \
-field 'name="VGRD"; level="P500";'

# Run Grid-Stat to compute VL1L2 at multiple pressure levels
grid_stat regrid_UV.nc regrid_UV.nc GridStatConfig_UV -v 3

Where GridStatConfig_UV includes:

fcst = {
   field = [
      { name = "UGRD_P250"; level = "P250"; is_u_wind = true; },
      { name = "VGRD_P250"; level = "P250"; is_v_wind = true; },
      { name = "UGRD_P500"; level = "P500"; is_u_wind = true; },
      { name = "VGRD_P500"; level = "P500"; is_v_wind = true; }
   ];
}
obs = fcst;

And generates the following warning messages:

DEBUG 3: U-wind field array entry 1 matches V-wind field array entry 2.
DEBUG 3: U-wind field array entry 1 matches V-wind field array entry 4.
WARNING: 
WARNING: GridStatConfInfo::process_config() -> For U-wind, found multiple matching V-wind field array entries! Using the first match found. Set the "level" strings to differentiate between them.
WARNING: 
DEBUG 3: V-wind field array entry 2 matches U-wind field array entry 1.
DEBUG 3: V-wind field array entry 2 matches U-wind field array entry 3.
WARNING: 
WARNING: GridStatConfInfo::process_config() -> For V-wind, found multiple matching U-wind field array entries! Using the first match found. Set the "level" strings to differentiate between them.
WARNING: 
DEBUG 3: U-wind field array entry 3 matches V-wind field array entry 2.
DEBUG 3: U-wind field array entry 3 matches V-wind field array entry 4.
  • Fix the logic to actually use the specified level string when determining the U/V matches.

In addition:

  • Be sure to add a new unit test to demonstrate this usage in grid_stat or point_stat.
  • Unrelated, but also remove line 68 of temp_file.cc (int errno;) since it is NOT needed and may cause a compilation error as described in the Error when installing METplus--12.0.2 METplus#2897 discussion.

Time Estimate

< 1 day

Sub-Issues

Consider breaking the enhancement down into sub-issues.
None needed.

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

Spend up to 2 h of NCAR base (2702701)

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • 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

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions