6  Combine IMERG and IBTrACS

Code
%load_ext jupyter_black
%load_ext autoreload
%autoreload 2
Code
import ocha_stratus as stratus
import matplotlib.pyplot as plt

from src.datasources import ibtracs
from src.constants import *
Code
df_storms = ibtracs.load_storms()
Code
df_storms
storm_id sid atcf_id season number name provisional created_at
Code
blob_name = f"{PROJECT_PREFIX}/processed/storm_stats/zma_stats.parquet"
Code
df_stats = stratus.load_parquet_from_blob(blob_name)
Code
df_stats = df_stats.merge(df_storms)
df_stats
sid valid_time_min valid_time_max wind_speed_max max_roll2_mean storm_id atcf_id season number name provisional created_at
Code
fig, ax = plt.subplots(dpi=200, figsize=(7, 7))

df_stats.plot(
    x="wind_speed_max", y="max_roll2_mean", linewidth=0, ax=ax, legend=False
)

for _, row in df_stats.iterrows():
    ax.annotate(
        row["name"].capitalize() + "\n" + str(row["season"]),
        (row["wind_speed_max"], row["max_roll2_mean"]),
        ha="center",
        va="center",
    )

ax.set_xlabel("Max. wind speed while in ZMA (knots)")
ax.set_ylabel("Total 2-day precipitation, average over whole country (mm)")
Text(0, 0.5, 'Total 2-day precipitation, average over whole country (mm)')