Skip to content

Update ndbc_stations.xml after 7-character buoy ids are introduced in Aug/Sept 2023 #2631

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Task

The ndbc_stations.xml file is a static file defining (lat, lon) NDBC buoy locations. Unfortunately, the NDBC file format is not self-describing and ascii2nc performs a lookup from a static table file to retrieve the (lat, lon) location for each buoy based on its ID. The issue is that these locations change relatively frequently. For example, in the 18 days between July 10, 2023 and July 28, 2023, differences emerged for 30 of the 2626 lines in that file.

The huge problem here is that NDBC buoy data can only be trusted if...

  1. The ndbc_stations.xml locations file has been updated very recently.
  2. You are processing near realtime buoy data.

Processing "old" buoy data creates low confidence in the accuracy of the (lat, lon) locations.

This issue is to update the locations in that file after a relatively large change occurs in mid to late August 2023. Some of the stations ids will be modified from 5 characters to 7 characters. Since ascii2nc parses this data based on whitespace rather than using a fixed-width-format, no code changes should be required. But we should test with 7 character buoy ids to confirm they are processed as expected.

Please see this change description:
https://www.weather.gov/media/notification/pdf_2023_24/scn23-85_ndbc_web_file_format_change.pdf

Here are sample commands you can use to regenerate this file:

cd MET/scripts/python/utility
./build_ndbc_stations_from_web.py
mv merged.txt ndbc_stations.xml

Please coordinate with alicia.bentley@noaa.gov on these updates.

Time Estimate

2 hours.

Sub-Issues

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

Relevant Deadlines

Do this between mid-August and mid-September, 2023 after the changes have taken effect.

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

  • 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.

Task 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

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions