Skip to content

Add tracker#101

Draft
SamuelTrahanNOAA wants to merge 37 commits intoNOAA-GSL:mainfrom
SamuelTrahanNOAA:feature/archiving-scrubbing-tracker
Draft

Add tracker#101
SamuelTrahanNOAA wants to merge 37 commits intoNOAA-GSL:mainfrom
SamuelTrahanNOAA:feature/archiving-scrubbing-tracker

Conversation

@SamuelTrahanNOAA
Copy link
Contributor

@SamuelTrahanNOAA SamuelTrahanNOAA commented Nov 25, 2025

Synopsis

This is the second of several PRs to merge improvements from the MPAS HFIP 2025 parallel.

It adds jobs to interpolate to a regular lat-lon grid, a job to run the tracker on that grid, and a job to archive the tracker. (The GFDL Vortex Tracker requires a regular lat-lon grid.)

This is a draft because

  • There's no documentation.
  • It must be beautified by making it more uwtools-ish.

Type

  • Documentation
  • Enhancement (adds new functionality)

Impact

  • This is a non-breaking change (existing functionality continues to work as expected)

Issues

Dependencies

Checklist

  • I have added myself and any co-authors to the PR's Assignees list. I cannot edit the Assignees list
  • I have reviewed the documentation and have made any updates necessitated by this change. Documentation changes are needed, but this branch does not yet have them.

Copy link
Collaborator

@christinaholtNOAA christinaholtNOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm concerned about the tracker pointing to a commit on a feature branch in a repo that we do not control. We cannot ensure the hash will be available indefinitely as opposed to say a hash on a main or develop branch. Perhaps we should keep a fork for GSL and point to the hash there instead.

@@ -0,0 +1,268 @@
#! /bin/bash
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

During the 2024 HFIP experiment, the tracker was added using a driver supported in the MPAS App (here). I don't mind having the grib2 pieces in the bash, but I do think that configuring and running the tracker should use the UW Driver framework that was already established for this task.

MPICMD="{{ tracker.execution.mpicmd }}
FHOUR_STEP="{{ tracker.execution.fhour_step }}"
FORECAST_LENGTH="{{ forecast.mpas.length }}"
&MPAS_APP;/scripts/run_tracker.sh @Y@m@d@H'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We generally do not use environment variables to define the interface for run scripts in the app. Command line arguments are used for the run-time specific information (cycle and lead time, for example), while the experiment invariant values are pulled explicitly from the experiment YAML. This is preferred for testing and documentation purposes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The environment variables have been removed.

I haven't switched to the uw tools tracker driver yet. It's in the PR's "to do" list.

@SamuelTrahanNOAA
Copy link
Contributor Author

Status update.

This PR is up to date with main.

It doesn't use the uwtools tracker yet since that script is missing two features. From my reading of the scripts, the uwtools tracker lacks two features:

  1. Filter storms from tcvitals by basin.
  2. Skip running the tracker and produce an empty track file if there are no storms. (This is because the tracker failed with cryptic messages, which made debugging impossible. It's easier to explicitly log that there's nothing to track and make an empty track.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add GFDL Vortex Tracker

2 participants