Source code for huracanpy.diags.track_density

"""
Module containing function to compute track densities
"""

import numpy as np
import xarray as xr


[docs] def simple_global_histogram(lon, lat, bin_size=5, N_seasons=1): """ Function to compute the track density, based on a simple 2D histogram. Parameters ---------- lon : xarray.DataArray longitude series lat : xarray.DataArray latitude series bin_size : int or float, optional The size in degree of the bins. The default is 5. N_seasons : int, optional Number of season (will be used to divide the final results, so that is represents points/year). The default is 1. Returns ------- xarray.DataArray Histogram representing number of point per bin per season. """ # compute 2D histogram x = np.arange(0, 360 + bin_size, bin_size) y = np.arange(-90, 90 + bin_size, bin_size) H, X, Y = np.histogram2d(lon, lat, bins=[x, y]) # Turn into xarray da = xr.DataArray( H, dims=["lon", "lat"], coords={"lon": (X[:-1] + X[1:]) / 2, "lat": (Y[:-1] + Y[1:]) / 2}, ) # Format da = da.where(da > 0).transpose() / N_seasons return da