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

GAHM parameter convergence issue #165

Open
SorooshMani-NOAA opened this issue Nov 1, 2024 · 2 comments · May be fixed by #166
Open

GAHM parameter convergence issue #165

SorooshMani-NOAA opened this issue Nov 1, 2024 · 2 comments · May be fixed by #166
Assignees

Comments

@SorooshMani-NOAA
Copy link
Collaborator

@WPringle when trying the persistent fill with uniform error and GAHM I noticed a convergence error again! I didn't see this issue with Laura 2020 and Florence 2018. Please see the added test in the dev branch at:

def test_perturb_converge():
with tempfile.TemporaryDirectory() as tdir:
track_path = Path(tdir) / 'track.dat'
pert_path = Path(tdir) / 'track_perturb_dir'
if not track_path.exists():
track = VortexTrack.from_storm_name(
'irma',
2017,
file_deck='a',
advisories=['OFCL'],
rmw_fill=RMWFillMethod.persistent,
)
track.to_file(track_path)
perturb_tracks(
40,
variables=[
"cross_track",
"along_track",
"radius_of_maximum_winds_persistent",
"max_sustained_wind_speed",
],
directory=pert_path,
storm=track_path,
sample_from_distribution=True,
sample_rule='korobov',
file_deck='a',
advisories=['OFCL'],
start_date=datetime(2017, 9, 8, 18),
end_date=datetime(2017, 9, 13, 12),
parallel=True,
features=PerturberFeatures.ISOTACH_ADJUSTMENT,
)

@SorooshMani-NOAA SorooshMani-NOAA self-assigned this Nov 1, 2024
@WPringle
Copy link
Contributor

WPringle commented Nov 1, 2024

@SorooshMani-NOAA Interesting, OK will take a look

@WPringle
Copy link
Contributor

WPringle commented Nov 5, 2024

@SorooshMani-NOAA It looks like this is happening in the persistent because the Rmax value becomes unreasonably small compared to the 64-kt isotach, which forces the B/Bg parameters to be extremely large to compensate. When this occurs it is really tricky to converge as it is so sensitive to small changes in the radial distance.
Previously I had set the limit of Rrat = Rmax/isotach_rad to be 0.999 which can cause Bg/B to be O(1e3). If we set this limit lower to 0.99 then Bg/B is O(1e2) and can converge.
This value of Bg/B is still rather high, if I further limit to say 0.95 it seems to always be below 100, and maximum of ~40. I think it's practically reasonable to limit Bg\B to O(10), so will go with 0.95..

@WPringle WPringle linked a pull request Nov 5, 2024 that will close this issue
@SorooshMani-NOAA SorooshMani-NOAA linked a pull request Nov 6, 2024 that will close this issue
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 a pull request may close this issue.

2 participants