-
Notifications
You must be signed in to change notification settings - Fork 3
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
add python script for ensemble vortex generation #21
Conversation
Great, I am happy with this here. Maybe it will be easy enough just to have this as part of this repository for good. Do you want to keep working on this to develop different options and modularize this in a single PR? |
For starters I think I would like to extract "best_track_forcing" class from adcircy and make into some kind of "ATCF" or "vortex" class here. |
yes, that's a good idea. Lets continue working on this branch and make it a full-fledged perturber |
variables = [ | ||
MaximumSustainedWindSpeed, | ||
RadiusOfMaximumWinds, | ||
AlongTrack, | ||
CrossTrack, | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use class-based variable system to store all the per-variable data (for instance, AlongTrack
contains the column name, lower and upper bounds, perturbation randomness type, and historical errors)
class BestTrackPerturbedVariable(ABC): | ||
name: str | ||
random_type: RandomType = None | ||
lower_bound: float = None | ||
upper_bound: float = None | ||
historical_forecast_errors: {str: float} = None | ||
default: float = None # [mbar] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
implement new variables by extending this abstract class (see CentralPressure
, below, for example)
class CentralPressure(BestTrackPerturbedVariable): | ||
name = 'central_pressure' | ||
|
||
|
||
class BackgroundPressure(BestTrackPerturbedVariable): | ||
name = 'background_pressure' | ||
default = 1013.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
examples of variable implementations
@WPringle I've also started using |
Yeah that's pretty cool, thanks! |
@zacharyburnettNOAA I have a commit where I copied over besttrackforcing from adcircpy into own module in this repository and removed some adcirc related things. The test seemed to go through ok (amazingly). |
Yes, for now make a fork + PR, until we can add you to the organization |
* Removing dependence on adcircpy - [for now] copying over besttrackforcing from adcircpy into tropicalcyclone.atcf module - removed NWS, BLAdh, geo, and time interval properties as they are related to adcirc inputs - add test/output folders to .gitignore * adding some help info for atcf tracks and adding __init__.py to subdirectories to find them
draft pull request; put discussion about besttrack perturbation here