Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Wind Modeling

Wind Modeling

The wind model in erad is built using typical hurricane data. The model can be imported using the command below

Williams et al. (2020) Bennett et al. (2021)

from IPython.display import display, HTML
import plotly.graph_objects as go
import plotly.io as pio

pio.renderers.default = "plotly_mimetype"
/opt/homebrew/Caskroom/miniconda/base/envs/erad/lib/python3.12/site-packages/kaleido/__init__.py:14: UserWarning:



Warning: You have Plotly version 6.0.1, which is not compatible with this version of Kaleido (1.0.0).

This means that static image generation (e.g. `fig.write_image()`) will not work.

Please upgrade Plotly to version 6.1.1 or greater, or downgrade Kaleido to version 0.2.1.


from erad.models.hazard import WindModel

An instance of WindModel requires the following pieces of information,

  • timestamp: The timestamp for the hurricane event

  • center: Center of the hurricane in lat / long format

  • max_wind_speed: Maximum wind speed

  • air_pressure: Air pressuse of the hurricame

  • radius_of_max_wind: Radius of the maximum wind speed

  • radius_of_closest_isobar: Radius of closest isobar

from datetime import datetime

from gdm.quantities import Distance
from shapely.geometry import Point

from erad.quantities import Speed, Pressure

hurricane = WindModel(
    name="hurricane 1",
    timestamp=datetime.now(),
    center=Point(87, 20),
    max_wind_speed=Speed(20, "miles/hour"),
    air_pressure=Pressure(10000, "hPa"),
    radius_of_max_wind=Distance(30, "miles"),
    radius_of_closest_isobar=Distance(100, "miles"),
)
hurricane.pprint()
Loading...

An example of the WindModel can be built using the example() methods for testing purposes.

earthquake = WindModel.example()
earthquake.pprint()
Loading...

Building from historical events

Erad allows users to build wind models from historic hurricane events as well. The from_hurricane_sid class method can be used to build wind models representing historic events.

hurricane_track = WindModel.from_hurricane_sid("2017228N14314")
for h in hurricane_track:
    h.pprint()
    break
print(f"number of hurricane points : {len(hurricane_track)}")
Loading...
number of hurricane points : 141

Plotting the Wind Model



fig = go.Figure()
for track in hurricane_track:
    track.plot(figure=fig)
fig.show()
Loading...
References
  1. Williams, J. H., Paulik, R., Wilson, T. M., Wotherspoon, L., Rusdin, A., & Pratama, G. M. (2020). Tsunami fragility functions for road and utility pole assets using field survey and remotely sensed data from the 2018 Sulawesi tsunami, Palu, Indonesia. Pure and Applied Geophysics, 177, 3545–3562.
  2. Bennett, J. A., Trevisan, C. N., DeCarolis, J. F., Ortiz-Garcı́a, C., Pérez-Lugo, M., Etienne, B. T., & Clarens, A. F. (2021). Extending energy system modelling to include extreme weather risks and application to hurricane events in Puerto Rico. Nature Energy, 6(3), 240–249.