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

Central pressure & radius of maximal winds #12

Open
NicolasColombi opened this issue Dec 6, 2024 · 7 comments
Open

Central pressure & radius of maximal winds #12

NicolasColombi opened this issue Dec 6, 2024 · 7 comments

Comments

@NicolasColombi
Copy link

Hi @linjonathan,

Congratulations for this great work.
Is there a way to get the central pressure and the radius of maximum winds for the tracks ?

Also, where do you define the decay factor over land in your model ? tracks extend quite a bit over land.
image

PS: To run the model on my machine I had to fix a few minor bugs, essentially only about calendar and units incompatibilities with CMIP6, shall I make a pull request for you to decide whether you want to include these changes ?
Thanks!

Cheers,
Nicolas

@linjonathan
Copy link
Owner

We currently do not provide the central pressure or radius of maximum wind. The former can be defined using parametric pressure-wind relationships, while the latter needs to be defined by assuming something about the wind structure of the storms. For now, I would recommend applying your own parametric radial wind function.

You bring up a good point about the decay factor over land. The tracks definitely extend too far over land. In reality the surface drag coefficient is much larger over land (and mountainous regions). In the near future, I will add a variable drag coefficient file that will be used to define the decay over land.

@NicolasColombi
Copy link
Author

I see, great to hear that!

@linjonathan
Copy link
Owner

Nicolas,

Please see this pull request for a variable drag coefficient. When you have time, please incorporate the changes and let me know if it fixes your issues of the tracks extending too far over land.

@linjonathan linjonathan reopened this Dec 10, 2024
@NicolasColombi
Copy link
Author

Hi Jonathan,
Thanks for the PR, it indeed solves the issue! (see photos below) But there are still a few other issues. I think the easiest would be for me to push a commit to the branch variable_drag with my proposed fix and a detailed explanation of what it solves (but for that I would need write access). Alternatively I can detail in this issue the solutions to the bugs i encountered and you would have to address them, but it would be a bit less straightforward. In which way do you want to proceed ?
image
image

@linjonathan
Copy link
Owner

Before we do anything, what are the issues you refer to?

@NicolasColombi
Copy link
Author

  • TypeError: cannot compare cftime.DatetimeNoLeap and TimeStamp in util/compute.py line 114.
    I solved the issue by adding:
    ds_dt_month_fn_wnd = input.convert_from_datetime(ds_wnd,[dt_month]) [0]
    and changing the argument from ds_dt_month to ds_dt_month_fn_wnd at line 124 :
  cpl_fast[i] = coupled_fast.Coupled_FAST(fn_wnd_stat, b, ds_dt_month_fn_wnd,
                                                  namelist.output_interval_s, T_s)
  • ValueError: all components of the initial state y0 must be finite in intensity/coupled_fast.py line 283. The issue was with m_init not being initialize.
    Fixed by adding in coupled_fast.py line 273:
    if m is None or np.isnan(m): instead of if m is None:

  • AttributeError: Coupeld_FAST object has no attribute Cd in coupled_fast.py line 173.
    line with the error: numer = 2 * self.h_bl / self.Cd * dvdt + (y[2] ** 2)
    I haven't looked at it in detail yet, but it seems to me that you define the variable drag coefficient as self.f_Cd in the beginning of the class and not self.Cd, would a simple substitution of self.f_Cd in the line with the error be correct ?

  • In the main branch, in calc_thermo.py line 59, lvl_mid get defined only if lvl.units are millibars or hPa, if the units are in Pa the definition of lvl_mid was skipped, so I had to add an if statement to still define lvl_mid if the original units are Pa. For some reason, this is not an issue in the branch variable_drag, which works fine without any additional if statement.

@NicolasColombi
Copy link
Author

NicolasColombi commented Jan 29, 2025

  • AttributeError: Coupeld_FAST object has no attribute Cd in coupled_fast.py line 173.
    line with the error: numer = 2 * self.h_bl / self.Cd * dvdt + (y[2] ** 2)
    I haven't looked at it in detail yet, but it seems to me that you define the variable drag coefficient as self.f_Cd in the beginning of the class and not self.Cd, would a simple substitution of self.f_Cd in the line with the error be correct ?

@linjonathan Did you have similar issues, or do you have a solution for this in particular ? Also note, this error only occurs in the SI basin, an therefore GL also.

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

No branches or pull requests

2 participants