dubfi.fluxes.localization¶
Localization utilities.
Added in version 0.1.1.
Changed in version 0.1.2: (renamed some methods)
Attributes¶
Cutoff scale of |
|
Cutoff scale of |
|
Access localization functions by (lower case) name. |
Classes¶
Localization class for in-situ observations. |
Functions¶
|
Gaspari-Cohn function. |
|
Gaspari-Cohn with scale adjusted to match Gaussian. |
|
Gaussian, \(\exp(-\tfrac{1}{2} x^2)\). |
Module Contents¶
- dubfi.fluxes.localization.gaspari_cohn(x: numpy.ndarray) numpy.ndarray¶
Gaspari-Cohn function.
This function has compact support on [-2, 2].
See also
- dubfi.fluxes.localization.GASPARI_COHN_CUTOFF = 2.0¶
Cutoff scale of
gaspari_cohn().gaspari_cohn(x) == 0forabs(x) > GASPARI_COHN_CUTOFF.
- dubfi.fluxes.localization.gaspari_cohn_gauss(x: numpy.ndarray) numpy.ndarray¶
Gaspari-Cohn with scale adjusted to match Gaussian.
This function has compact support on [-2/sqrt(0.3), 2/sqrt(0.3)] and is guaranteed to be zero for |x| >= 3.6515.
See also
- dubfi.fluxes.localization.GASPARI_COHN_GAUSS_CUTOFF = 3.6514837167011076¶
Cutoff scale of
gaspari_cohn_gauss().gaspari_cohn_gauss(x) == 0forabs(x) > GASPARI_COHN_GAUSS_CUTOFF.
- dubfi.fluxes.localization.gauss(x: numpy.ndarray) numpy.ndarray¶
Gaussian, \(\exp(-\tfrac{1}{2} x^2)\).
- dubfi.fluxes.localization.LOCALIZATION_FUNCTIONS¶
Access localization functions by (lower case) name.
- class dubfi.fluxes.localization.Localization(func: Callable | str, hscale: float, vscale: float, tscale: numpy.timedelta64)¶
Localization class for in-situ observations.
Localization object allows creating localization matrices.
- Parameters:
func (callable | {"Gauss", "Gaspari-Cohn", "Gaspari-Cohn-scaled"}) – localization function. This must take an array as argument and describe a positive, symmetric function f(x) that decreases monotonically from |x| from f(0)=1 to f(x)=0 (at least asymptotically) for large x. Names for known localization functions are allowed. Note that “Gaspari-Cohn-scaled” is an approximation of a Gaussian with compact support, see
gaspari_cohn_gauss().hscale (float) – horizontal scale in meters
vscale (float) – vertical scale in meters
tscale (np.timedelta64) – temporal scale
- classmethod from_config(config: dict)¶
Construct Localization from configuration.
- property function¶
Localization function, requires normalized input.
- rel_dist_horizontal(lon: numpy.ndarray, lat: numpy.ndarray, lon2: numpy.ndarray | None = None, lat2: numpy.ndarray | None = None) numpy.ndarray¶
Matrix of normalized horizontal distances.
Changed in version 0.1.2: (renamed, added optional variables)
- weights_spatial(lon: numpy.ndarray, lat: numpy.ndarray, height: numpy.ndarray, lon2: numpy.ndarray | None = None, lat2: numpy.ndarray | None = None, height2: numpy.ndarray | None = None) numpy.ndarray¶
Spatial weights (localization) matrix.
Changed in version 0.1.2: (added optional variables)
- weights_time(time: numpy.ndarray, time2: numpy.ndarray | numpy.datetime64 | None = None) numpy.ndarray¶
Temporal weights (localization) matrix.
Changed in version 0.1.2: (added optional variables)
- rel_dist_horizontal_unique(lon: numpy.ndarray, lat: numpy.ndarray) tuple[numpy.ndarray, numpy.ndarray]¶
Return normalized horizontal distance matrix for unique coordinates.
- Returns:
dist (np.ndarray) – distance matrix
indices (np.ndarray) – indices into dist along lon, lat coordinates
.. versionchanged:: 0.1.2 (renamed)
- matrix(lon: numpy.ndarray, lat: numpy.ndarray, height: numpy.ndarray, time: numpy.ndarray) numpy.ndarray¶
Construct localization matrix based on coordinates.
All input arrays must be one-dimensional and aligned.
- Parameters:
lon (np.ndarray) – longitude (degrees east)
lat (np.ndarray) – latitude (degrees east)
height (np.ndarray) – vertical coordinate in meters
time (np.ndarray) – time relative to localization time scale with arbitrary offset
- Returns:
localization_weights – localization matrix specifying weights between each combination of coordiniates
- Return type:
np.ndarray