-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Describe the Enhancement
This issue arose via GitHub discussion dtcenter/METplus#2273 from @robdarvell and is demonstrated by running the plot_data_plane tool. Use this file to demonstrate the issue:
percentile_extract_20230729T1200Z-B20230725T0030Z-visibility_at_screen_level.nc.gz
The goal is to retrieve 2D fields from this variable:
float visibility_in_air(percentile, projection_y_coordinate, projection_x_coordinate) ;
Plotting the 0-th percentile index works as expected:
plot_data_plane percentile_extract_20230729T1200Z-B20230725T0030Z-visibility_at_screen_level.nc plot.ps 'name="visibility_in_air"; level="(0,*,*)";'
Plotting the VALUE of the first percentile also works fine:
plot_data_plane percentile_extract_20230729T1200Z-B20230725T0030Z-visibility_at_screen_level.nc plot.ps 'name="visibility_in_air"; level="(@5,*,*)";'
However, plotting ANY OTHER index or percentile value produces a runtime error:
name="visibility_in_air"; level="(1,*,*)";'
name="visibility_in_air"; level="(@10,*,*)";'
name="visibility_in_air"; level="(6,*,*)";'
name="visibility_in_air"; level="(@50,*,*)";'
Here's the error:
ERROR :
ERROR : MetNcCFDataFile::data_plane(VarInfo &, DataPlane &) -> the requested vertical value 50 for "visibility_in_air" variable does not exist (data size = 1).
ERROR :
I assumed that the changes for #1815 included in MET version 11.0.0 would enable this logic to work. In general, for an N-dimensional NetCDF variable, exactly 2 of those dimensions should define the X/Y dimensions. The remaining dimensions should be settable by specifying their index as an integer. Additionally, for coordinate variables (i.e. dimension and 1-d variable of the same name), MET should support the @
syntax to specify the value for that dimension.
This issue is to refine the logic to support the processing of this data.
Please fix this in the main_v11.1 branch to be included in an 11.1.1 bugfix release. Please also fix this in the develop branch to be included in the 12.0.0 official release.
Recommend adding a unit test using the input file.
Time Estimate
2 days?
Sub-Issues
Consider breaking the enhancement down into sub-issues.
None needed.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
2799991
Define the Metadata
Assignee
- Select engineer(s) or no engineer required
- Select scientist(s) or no scientist required
Labels
- Select component(s)
- Select priority
- Select requestor(s)
Projects and Milestone
- Select Repository and/or Organization level Project(s) or add alert: NEED CYCLE ASSIGNMENT label
- Select Milestone as the next official version or Future Versions
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 issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Close this issue.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status