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

Bugfix: PointStat w/Python Embedding met_tool_wrapper use cases produces zero matched pairs #2680

Open
24 tasks
DanielAdriaansen opened this issue Sep 6, 2024 · 0 comments
Assignees
Labels
alert: NEED ACCOUNT KEY Need to assign an account key to this issue alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle alert: NEED MORE DEFINITION Not yet actionable, additional definition required type: bug Fix something that is not working

Comments

@DanielAdriaansen
Copy link
Contributor

Describe the Problem

I was searching of an example of Python embedding for forecast data with PointStat, so I downloaded the GHA output from a recent run of this use case:
https://metplus.readthedocs.io/en/latest/generated/met_tool_wrapper/PointStat/PointStat_python_embedding.html#sphx-glr-generated-met-tool-wrapper-pointstat-pointstat-python-embedding-py

I noticed in the log file from GHA, it says this:

DEBUG 2: Processing vvwind/zht_0010.0 versus VGRD/Z0, for observation type ADPUPA, over region FULL, for interpolation method BILIN(4), using 0 matched pairs.
DEBUG 2: Number of matched pairs   = 0
DEBUG 2: Observations processed    = 1005485
DEBUG 2: Rejected: station id      = 0
DEBUG 2: Rejected: obs var name    = 642416
DEBUG 2: Rejected: valid time      = 0
DEBUG 2: Rejected: bad obs value   = 0
DEBUG 2: Rejected: off the grid    = 0
DEBUG 2: Rejected: topography      = 0
DEBUG 2: Rejected: level mismatch  = 358657
DEBUG 2: Rejected: quality marker  = 0
DEBUG 2: Rejected: message type    = 4412
DEBUG 2: Rejected: masking region  = 0
DEBUG 2: Rejected: bad fcst value  = 0
DEBUG 2: Rejected: bad climo mean  = 0
DEBUG 2: Rejected: bad climo stdev = 0
DEBUG 2: Rejected: mpr filter      = 0
DEBUG 2: Rejected: duplicates      = 0
DEBUG 2:

An OBS_VAR1_LEVELS value of Z0 would imply that we are looking for the V-component of the wind at the surface. However, I noticed that the POINT_STAT_MESSAGE_TYPE is set to ADPUPA, which are messages NOT at the surface.

I changed POINT_STAT_MESSAGE_TYPE to ADPSFC, but that also produced zero matched pairs. Using POINT_STAT_LOG_VERBOSITY=10, I was able to see all of the rejected message types and indeed, there are no GDAS observations of VGRD with a message type of ADPSFC.

The forecast data appear to be the V-component of the wind at 10m (Z10). So I tried again with:

OBS_VAR1_LEVELS=Z10
POINT_STAT_MESSAGE_TYPE=ADPSFC

But there are still no matched pairs:

DEBUG 2: Processing vvwind/zht_0010.0 versus VGRD/Z10, for observation type ADPSFC, over region FULL, for interpolation method BILIN(4), using 0 matched pairs.
DEBUG 2: Number of matched pairs   = 0
DEBUG 2: Observations processed    = 1005485
DEBUG 2: Rejected: station id      = 0
DEBUG 2: Rejected: obs var name    = 642416
DEBUG 2: Rejected: valid time      = 0
DEBUG 2: Rejected: bad obs value   = 0
DEBUG 2: Rejected: off the grid    = 0
DEBUG 2: Rejected: topography      = 0
DEBUG 2: Rejected: level mismatch  = 358658
DEBUG 2: Rejected: quality marker  = 0
DEBUG 2: Rejected: message type    = 4411
DEBUG 2: Rejected: masking region  = 0
DEBUG 2: Rejected: bad fcst value  = 0
DEBUG 2: Rejected: bad climo mean  = 0
DEBUG 2: Rejected: bad climo stdev = 0
DEBUG 2: Rejected: mpr filter      = 0
DEBUG 2: Rejected: duplicates      = 0

Thus, I propose we try and change the observations being used so that they contain the v-component of the 10m wind. These should have a message type of ADPSFC, but it appears the GDAS data being used do not have these observations.

The alternative is to just "fake it", and get some VGRD data from ADPUPA and set OBS_VAR1_LEVELS=P850, but that is V-wind from 850 hPa, and not 10m so isn't really appropriate in my opinion.

Does anyone know what obs we might have or where to get some for this time and domain with VGRD at Z10?

Expected Behavior

Provide a clear and concise description of what you expected to happen here.

Environment

Describe your runtime environment:
1. Machine: (e.g. HPC name, Linux Workstation, Mac Laptop)
2. OS: (e.g. RedHat Linux, MacOS)
3. Software version number(s)

To Reproduce

Describe the steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
Post relevant sample data following these instructions:
https://dtcenter.org/community-code/model-evaluation-tools-met/met-help-desk#ftp

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

Define the source of funding and account keys here or state NONE.

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 the next bugfix version
  • Select Coordinated METplus-X.Y Support project for support of the current coordinated release
  • Select METplus-Wrappers-X.Y.Z Development project for development toward the next official release

Define Related Issue(s)

Consider the impact to the other METplus components.

Bugfix 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 main_<Version>.
    Branch name: bugfix_<Issue Number>_main_<Version>_<Description>

  • Fix the bug and test your changes.

  • Add/update log messages for easier debugging.

  • Add/update unit tests.

  • Add/update documentation.

  • Add any new Python packages to the METplus Components Python Requirements table.

  • Push local changes to GitHub.

  • Submit a pull request to merge into main_<Version>.
    Pull request: bugfix <Issue Number> main_<Version> <Description>

  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next bugfix version
    Select: Coordinated METplus-X.Y Support project for support of the current coordinated release

  • Iterate until the reviewer(s) accept and merge your changes.

  • Delete your fork or branch.

  • Complete the steps above to fix the bug on the develop branch.
    Branch name: bugfix_<Issue Number>_develop_<Description>
    Pull request: bugfix <Issue Number> develop <Description>
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next official version
    Select: METplus-Wrappers-X.Y.Z Development project for development toward the next official release

  • Close this issue.

@DanielAdriaansen DanielAdriaansen added type: bug Fix something that is not working alert: NEED MORE DEFINITION Not yet actionable, additional definition required alert: NEED ACCOUNT KEY Need to assign an account key to this issue alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle labels Sep 6, 2024
@DanielAdriaansen DanielAdriaansen self-assigned this Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
alert: NEED ACCOUNT KEY Need to assign an account key to this issue alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle alert: NEED MORE DEFINITION Not yet actionable, additional definition required type: bug Fix something that is not working
Projects
None yet
Development

No branches or pull requests

1 participant