pycontrails 0.55.0__cp310-cp310-macosx_10_9_x86_64.whl → 0.57.0__cp310-cp310-macosx_10_9_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pycontrails might be problematic. Click here for more details.
- pycontrails/_version.py +3 -3
- pycontrails/core/airports.py +1 -1
- pycontrails/core/cache.py +3 -3
- pycontrails/core/fleet.py +1 -1
- pycontrails/core/flight.py +47 -43
- pycontrails/core/met_var.py +1 -1
- pycontrails/core/rgi_cython.cpython-310-darwin.so +0 -0
- pycontrails/core/vector.py +28 -30
- pycontrails/datalib/geo_utils.py +261 -0
- pycontrails/datalib/gfs/gfs.py +58 -64
- pycontrails/datalib/goes.py +193 -399
- pycontrails/datalib/himawari/__init__.py +27 -0
- pycontrails/datalib/himawari/header_struct.py +266 -0
- pycontrails/datalib/himawari/himawari.py +654 -0
- pycontrails/datalib/landsat.py +49 -26
- pycontrails/datalib/leo_utils/__init__.py +5 -0
- pycontrails/datalib/leo_utils/correction.py +266 -0
- pycontrails/datalib/leo_utils/landsat_metadata.py +300 -0
- pycontrails/datalib/{_leo_utils → leo_utils}/search.py +1 -1
- pycontrails/datalib/leo_utils/sentinel_metadata.py +748 -0
- pycontrails/datalib/sentinel.py +236 -93
- pycontrails/models/dry_advection.py +1 -1
- pycontrails/models/extended_k15.py +8 -8
- {pycontrails-0.55.0.dist-info → pycontrails-0.57.0.dist-info}/METADATA +4 -2
- {pycontrails-0.55.0.dist-info → pycontrails-0.57.0.dist-info}/RECORD +31 -23
- /pycontrails/datalib/{_leo_utils → leo_utils}/static/bq_roi_query.sql +0 -0
- /pycontrails/datalib/{_leo_utils → leo_utils}/vis.py +0 -0
- {pycontrails-0.55.0.dist-info → pycontrails-0.57.0.dist-info}/WHEEL +0 -0
- {pycontrails-0.55.0.dist-info → pycontrails-0.57.0.dist-info}/licenses/LICENSE +0 -0
- {pycontrails-0.55.0.dist-info → pycontrails-0.57.0.dist-info}/licenses/NOTICE +0 -0
- {pycontrails-0.55.0.dist-info → pycontrails-0.57.0.dist-info}/top_level.txt +0 -0
pycontrails/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.57.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 57, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g7b8b60b87'
|
pycontrails/core/airports.py
CHANGED
pycontrails/core/cache.py
CHANGED
|
@@ -168,12 +168,12 @@ class DiskCacheStore(CacheStore):
|
|
|
168
168
|
|
|
169
169
|
Parameters
|
|
170
170
|
----------
|
|
171
|
-
|
|
172
|
-
Allow this cache to be cleared using :meth:`clear()`. Defaults to False.
|
|
173
|
-
cache_dir : str | pathlib.Path, optional
|
|
171
|
+
cache_dir : str | pathlib.Path | None, optional
|
|
174
172
|
Root cache directory.
|
|
175
173
|
By default, looks first for ``PYCONTRAILS_CACHE_DIR`` environment variable,
|
|
176
174
|
then uses the OS specific :func:`platformdirs.user_cache_dir` function.
|
|
175
|
+
allow_clear : bool, optional
|
|
176
|
+
Allow this cache to be cleared using :meth:`clear()`. Defaults to False.
|
|
177
177
|
|
|
178
178
|
Examples
|
|
179
179
|
--------
|
pycontrails/core/fleet.py
CHANGED
pycontrails/core/flight.py
CHANGED
|
@@ -25,7 +25,7 @@ import pandas as pd
|
|
|
25
25
|
import scipy.signal
|
|
26
26
|
|
|
27
27
|
from pycontrails.core.fuel import Fuel, JetA
|
|
28
|
-
from pycontrails.core.vector import
|
|
28
|
+
from pycontrails.core.vector import GeoVectorDataset, VectorDataDict, VectorDataset
|
|
29
29
|
from pycontrails.physics import constants, geo, units
|
|
30
30
|
from pycontrails.utils import dependencies
|
|
31
31
|
from pycontrails.utils.types import ArrayOrFloat
|
|
@@ -86,31 +86,31 @@ class Flight(GeoVectorDataset):
|
|
|
86
86
|
|
|
87
87
|
Parameters
|
|
88
88
|
----------
|
|
89
|
-
data : dict[str,
|
|
89
|
+
data : dict[str, npt.ArrayLike] | pd.DataFrame | VectorDataDict | VectorDataset | None
|
|
90
90
|
Flight trajectory waypoints as data dictionary or :class:`pandas.DataFrame`.
|
|
91
91
|
Must include columns ``time``, ``latitude``, ``longitude``, ``altitude`` or ``level``.
|
|
92
92
|
Keyword arguments for ``time``, ``latitude``, ``longitude``, ``altitude`` or ``level``
|
|
93
93
|
will override ``data`` inputs. Expects ``altitude`` in meters and ``time`` as a
|
|
94
94
|
DatetimeLike (or array that can processed with :func:`pd.to_datetime`).
|
|
95
95
|
Additional waypoint-specific data can be included as additional keys/columns.
|
|
96
|
-
longitude : npt.ArrayLike, optional
|
|
96
|
+
longitude : npt.ArrayLike | None, optional
|
|
97
97
|
Flight trajectory waypoint longitude.
|
|
98
98
|
Defaults to None.
|
|
99
|
-
latitude : npt.ArrayLike, optional
|
|
99
|
+
latitude : npt.ArrayLike | None, optional
|
|
100
100
|
Flight trajectory waypoint latitude.
|
|
101
101
|
Defaults to None.
|
|
102
|
-
altitude : npt.ArrayLike, optional
|
|
102
|
+
altitude : npt.ArrayLike | None, optional
|
|
103
103
|
Flight trajectory waypoint altitude, [:math:`m`].
|
|
104
104
|
Defaults to None.
|
|
105
|
-
altitude_ft : npt.ArrayLike, optional
|
|
105
|
+
altitude_ft : npt.ArrayLike | None, optional
|
|
106
106
|
Flight trajectory waypoint altitude, [:math:`ft`].
|
|
107
|
-
level : npt.ArrayLike, optional
|
|
107
|
+
level : npt.ArrayLike | None, optional
|
|
108
108
|
Flight trajectory waypoint pressure level, [:math:`hPa`].
|
|
109
109
|
Defaults to None.
|
|
110
|
-
time : npt.ArrayLike, optional
|
|
110
|
+
time : npt.ArrayLike | None, optional
|
|
111
111
|
Flight trajectory waypoint time.
|
|
112
112
|
Defaults to None.
|
|
113
|
-
attrs : dict[str, Any], optional
|
|
113
|
+
attrs : dict[str, Any] | None, optional
|
|
114
114
|
Additional flight properties as a dictionary.
|
|
115
115
|
While different models may utilize Flight attributes differently,
|
|
116
116
|
pycontrails applies the following conventions:
|
|
@@ -132,7 +132,7 @@ class Flight(GeoVectorDataset):
|
|
|
132
132
|
copy : bool, optional
|
|
133
133
|
Copy data on Flight creation.
|
|
134
134
|
Defaults to True.
|
|
135
|
-
fuel : Fuel, optional
|
|
135
|
+
fuel : Fuel | None, optional
|
|
136
136
|
Fuel used in flight trajectory. Defaults to :class:`JetA`.
|
|
137
137
|
drop_duplicated_times : bool, optional
|
|
138
138
|
Drop duplicate times in flight trajectory. Defaults to False.
|
|
@@ -219,7 +219,7 @@ class Flight(GeoVectorDataset):
|
|
|
219
219
|
altitude_ft: npt.ArrayLike | None = None,
|
|
220
220
|
level: npt.ArrayLike | None = None,
|
|
221
221
|
time: npt.ArrayLike | None = None,
|
|
222
|
-
attrs: dict[str, Any] |
|
|
222
|
+
attrs: dict[str, Any] | None = None,
|
|
223
223
|
copy: bool = True,
|
|
224
224
|
fuel: Fuel | None = None,
|
|
225
225
|
drop_duplicated_times: bool = False,
|
|
@@ -422,9 +422,9 @@ class Flight(GeoVectorDataset):
|
|
|
422
422
|
|
|
423
423
|
Parameters
|
|
424
424
|
----------
|
|
425
|
-
dtype :
|
|
425
|
+
dtype : npt.DTypeLike, optional
|
|
426
426
|
Numpy dtype for time difference.
|
|
427
|
-
Defaults to ``np.
|
|
427
|
+
Defaults to ``np.float32``
|
|
428
428
|
|
|
429
429
|
Returns
|
|
430
430
|
-------
|
|
@@ -519,7 +519,7 @@ class Flight(GeoVectorDataset):
|
|
|
519
519
|
|
|
520
520
|
Returns
|
|
521
521
|
-------
|
|
522
|
-
npt.NDArray[np.floating], npt.NDArray[np.floating]
|
|
522
|
+
tuple[npt.NDArray[np.floating], npt.NDArray[np.floating]]
|
|
523
523
|
Returns ``sin(a), cos(a)``, where ``a`` is the angle between the segment and the
|
|
524
524
|
longitudinal axis. The final values are of both arrays are ``np.nan``.
|
|
525
525
|
|
|
@@ -774,7 +774,7 @@ class Flight(GeoVectorDataset):
|
|
|
774
774
|
|
|
775
775
|
Returns
|
|
776
776
|
-------
|
|
777
|
-
|
|
777
|
+
Self
|
|
778
778
|
Filtered Flight instance
|
|
779
779
|
|
|
780
780
|
Examples
|
|
@@ -828,7 +828,7 @@ class Flight(GeoVectorDataset):
|
|
|
828
828
|
----------
|
|
829
829
|
freq : str, optional
|
|
830
830
|
Resampling frequency, by default "1min"
|
|
831
|
-
fill_method :
|
|
831
|
+
fill_method : str, optional
|
|
832
832
|
Choose between ``"geodesic"`` and ``"linear"``, by default ``"geodesic"``.
|
|
833
833
|
In geodesic mode, large gaps between waypoints are filled with geodesic
|
|
834
834
|
interpolation and small gaps are filled with linear interpolation. In linear
|
|
@@ -837,7 +837,7 @@ class Flight(GeoVectorDataset):
|
|
|
837
837
|
Threshold for geodesic interpolation, [:math:`m`].
|
|
838
838
|
If the distance between consecutive waypoints is under this threshold,
|
|
839
839
|
values are interpolated linearly.
|
|
840
|
-
nominal_rocd : float
|
|
840
|
+
nominal_rocd : float, optional
|
|
841
841
|
Nominal rate of climb / descent for aircraft type.
|
|
842
842
|
Defaults to :attr:`constants.nominal_rocd`.
|
|
843
843
|
drop : bool, optional
|
|
@@ -849,13 +849,13 @@ class Flight(GeoVectorDataset):
|
|
|
849
849
|
Keep the original index of the :class:`Flight` in addition to the new
|
|
850
850
|
resampled index. Defaults to ``False``.
|
|
851
851
|
.. versionadded:: 0.45.2
|
|
852
|
-
time : npt.NDArray[np.datetime64], optional
|
|
852
|
+
time : npt.NDArray[np.datetime64] | None, optional
|
|
853
853
|
Times to resample to. Will override ``freq`` if provided.
|
|
854
854
|
.. versionadded:: 0.54.11
|
|
855
855
|
|
|
856
856
|
Returns
|
|
857
857
|
-------
|
|
858
|
-
|
|
858
|
+
Self
|
|
859
859
|
Filled Flight
|
|
860
860
|
|
|
861
861
|
Raises
|
|
@@ -995,7 +995,7 @@ class Flight(GeoVectorDataset):
|
|
|
995
995
|
----------
|
|
996
996
|
freq : str, optional
|
|
997
997
|
Resampling frequency, by default "1min"
|
|
998
|
-
fill_method :
|
|
998
|
+
fill_method : str, optional
|
|
999
999
|
Choose between ``"geodesic"`` and ``"linear"``, by default ``"geodesic"``.
|
|
1000
1000
|
In geodesic mode, large gaps between waypoints are filled with geodesic
|
|
1001
1001
|
interpolation and small gaps are filled with linear interpolation. In linear
|
|
@@ -1010,7 +1010,7 @@ class Flight(GeoVectorDataset):
|
|
|
1010
1010
|
kernel_size : int, optional
|
|
1011
1011
|
Passed directly to :func:`scipy.signal.medfilt`, by default 11.
|
|
1012
1012
|
Passed also to :func:`scipy.signal.medfilt`
|
|
1013
|
-
|
|
1013
|
+
cruise_threshold : float, optional
|
|
1014
1014
|
Minimal length of time, in seconds, for a flight to be in cruise to apply median filter
|
|
1015
1015
|
force_filter: bool, optional
|
|
1016
1016
|
If set to true, meth:`filter_altitude` will always be called. otherwise, it will only
|
|
@@ -1027,7 +1027,7 @@ class Flight(GeoVectorDataset):
|
|
|
1027
1027
|
|
|
1028
1028
|
Returns
|
|
1029
1029
|
-------
|
|
1030
|
-
|
|
1030
|
+
Self
|
|
1031
1031
|
Filled Flight
|
|
1032
1032
|
"""
|
|
1033
1033
|
clean_flight: Flight
|
|
@@ -1089,12 +1089,12 @@ class Flight(GeoVectorDataset):
|
|
|
1089
1089
|
kernel_size : int, optional
|
|
1090
1090
|
Passed directly to :func:`scipy.signal.medfilt`, by default 11.
|
|
1091
1091
|
Passed also to :func:`scipy.signal.medfilt`
|
|
1092
|
-
|
|
1092
|
+
cruise_threshold : float, optional
|
|
1093
1093
|
Minimal length of time, in seconds, for a flight to be in cruise to apply median filter
|
|
1094
1094
|
|
|
1095
1095
|
Returns
|
|
1096
1096
|
-------
|
|
1097
|
-
|
|
1097
|
+
Self
|
|
1098
1098
|
Filtered Flight
|
|
1099
1099
|
|
|
1100
1100
|
Notes
|
|
@@ -1142,8 +1142,8 @@ class Flight(GeoVectorDataset):
|
|
|
1142
1142
|
|
|
1143
1143
|
Returns
|
|
1144
1144
|
-------
|
|
1145
|
-
|
|
1146
|
-
latitude, longitude, and segment index
|
|
1145
|
+
tuple[ArrayOrFloat, ArrayOrFloat, np.intp | npt.NDArray[np.intp]]
|
|
1146
|
+
latitude, longitude, and segment index corresponding to distance.
|
|
1147
1147
|
"""
|
|
1148
1148
|
|
|
1149
1149
|
# Check if flight crosses antimeridian line
|
|
@@ -1376,7 +1376,7 @@ class Flight(GeoVectorDataset):
|
|
|
1376
1376
|
|
|
1377
1377
|
Parameters
|
|
1378
1378
|
----------
|
|
1379
|
-
key : str, optional
|
|
1379
|
+
key : str | None, optional
|
|
1380
1380
|
If provided, name of :attr:`data` column to group by.
|
|
1381
1381
|
split_antimeridian : bool, optional
|
|
1382
1382
|
Split linestrings that cross the antimeridian. Defaults to True.
|
|
@@ -1391,12 +1391,9 @@ class Flight(GeoVectorDataset):
|
|
|
1391
1391
|
KeyError
|
|
1392
1392
|
``key`` is provided but :attr:`data` does not contain column ``key``
|
|
1393
1393
|
"""
|
|
1394
|
-
if key is not None and key not in self.dataframe.columns:
|
|
1395
|
-
raise KeyError(f"Column {key} does not exist in data.")
|
|
1396
|
-
|
|
1397
1394
|
jump_indices = _antimeridian_index(pd.Series(self["longitude"]))
|
|
1398
1395
|
|
|
1399
|
-
def _group_to_feature(name:
|
|
1396
|
+
def _group_to_feature(name: Any, group: pd.DataFrame) -> dict[str, str | dict[str, Any]]:
|
|
1400
1397
|
# assigns a different value to each group of consecutive indices
|
|
1401
1398
|
subgrouping = group.index.to_series().diff().ne(1).cumsum()
|
|
1402
1399
|
|
|
@@ -1417,13 +1414,20 @@ class Flight(GeoVectorDataset):
|
|
|
1417
1414
|
properties.update(self.constants)
|
|
1418
1415
|
return {"type": "Feature", "geometry": geometry, "properties": properties}
|
|
1419
1416
|
|
|
1417
|
+
# Add altitude (needed in _return_linestring) without mutating self
|
|
1418
|
+
df = self.dataframe
|
|
1419
|
+
if "altitude" not in self:
|
|
1420
|
+
df["altitude"] = self.altitude
|
|
1421
|
+
|
|
1420
1422
|
if key is not None:
|
|
1421
|
-
|
|
1423
|
+
if key not in self:
|
|
1424
|
+
raise KeyError(f"Column {key} does not exist in data.")
|
|
1425
|
+
groups = df.groupby(key)
|
|
1422
1426
|
else:
|
|
1423
1427
|
# create a single group containing all rows of dataframe
|
|
1424
|
-
groups =
|
|
1428
|
+
groups = [(None, df)] # name is ignored in this case
|
|
1425
1429
|
|
|
1426
|
-
features = [_group_to_feature(
|
|
1430
|
+
features = [_group_to_feature(name, group) for name, group in groups]
|
|
1427
1431
|
return {"type": "FeatureCollection", "features": features}
|
|
1428
1432
|
|
|
1429
1433
|
def to_traffic(self) -> traffic.core.Flight:
|
|
@@ -1578,7 +1582,7 @@ class Flight(GeoVectorDataset):
|
|
|
1578
1582
|
|
|
1579
1583
|
Returns
|
|
1580
1584
|
-------
|
|
1581
|
-
|
|
1585
|
+
matplotlib.axes.Axes
|
|
1582
1586
|
Plot
|
|
1583
1587
|
"""
|
|
1584
1588
|
kwargs.setdefault("legend", False)
|
|
@@ -1596,7 +1600,7 @@ class Flight(GeoVectorDataset):
|
|
|
1596
1600
|
|
|
1597
1601
|
Returns
|
|
1598
1602
|
-------
|
|
1599
|
-
|
|
1603
|
+
matplotlib.axes.Axes
|
|
1600
1604
|
Plot
|
|
1601
1605
|
"""
|
|
1602
1606
|
kwargs.setdefault("legend", False)
|
|
@@ -1881,8 +1885,8 @@ def filter_altitude(
|
|
|
1881
1885
|
time: npt.NDArray[np.datetime64],
|
|
1882
1886
|
altitude_ft: npt.NDArray[np.floating],
|
|
1883
1887
|
kernel_size: int = 17,
|
|
1884
|
-
cruise_threshold: float = 120,
|
|
1885
|
-
air_temperature:
|
|
1888
|
+
cruise_threshold: float = 120.0,
|
|
1889
|
+
air_temperature: npt.NDArray[np.floating] | None = None,
|
|
1886
1890
|
) -> npt.NDArray[np.floating]:
|
|
1887
1891
|
"""
|
|
1888
1892
|
Filter noisy altitude on a single flight.
|
|
@@ -1900,9 +1904,9 @@ def filter_altitude(
|
|
|
1900
1904
|
kernel_size : int, optional
|
|
1901
1905
|
Passed directly to :func:`scipy.signal.medfilt`, by default 11.
|
|
1902
1906
|
Passed also to :func:`scipy.signal.medfilt`
|
|
1903
|
-
|
|
1907
|
+
cruise_threshold : float, optional
|
|
1904
1908
|
Minimal length of time, in seconds, for a flight to be in cruise to apply median filter
|
|
1905
|
-
air_temperature:
|
|
1909
|
+
air_temperature: npt.NDArray[np.floating] | None, optional
|
|
1906
1910
|
Air temperature of each flight waypoint, [:math:`K`]
|
|
1907
1911
|
|
|
1908
1912
|
Returns
|
|
@@ -2004,7 +2008,7 @@ def segment_duration(
|
|
|
2004
2008
|
----------
|
|
2005
2009
|
time : npt.NDArray[np.datetime64]
|
|
2006
2010
|
Waypoint time in ``np.datetime64`` format.
|
|
2007
|
-
dtype :
|
|
2011
|
+
dtype : npt.DTypeLike, optional
|
|
2008
2012
|
Numpy dtype for time difference.
|
|
2009
2013
|
Defaults to ``np.float32``
|
|
2010
2014
|
|
|
@@ -2031,7 +2035,7 @@ def segment_phase(
|
|
|
2031
2035
|
|
|
2032
2036
|
Parameters
|
|
2033
2037
|
----------
|
|
2034
|
-
rocd:
|
|
2038
|
+
rocd: npt.NDArray[np.floating]
|
|
2035
2039
|
Rate of climb and descent across segment, [:math:`ft min^{-1}`].
|
|
2036
2040
|
See output from :func:`segment_rocd`.
|
|
2037
2041
|
altitude_ft: npt.NDArray[np.floating]
|
|
@@ -2154,7 +2158,7 @@ def _resample_to_freq_or_time(
|
|
|
2154
2158
|
freq : str
|
|
2155
2159
|
Frequency to resample to. See :func:`pd.DataFrame.resample` for
|
|
2156
2160
|
valid frequency strings.
|
|
2157
|
-
time :
|
|
2161
|
+
time : npt.NDArray[np.datetime64] | None
|
|
2158
2162
|
Times to resample to. Overrides ``freq`` if not ``None``.
|
|
2159
2163
|
|
|
2160
2164
|
Returns
|
pycontrails/core/met_var.py
CHANGED
|
Binary file
|
pycontrails/core/vector.py
CHANGED
|
@@ -86,7 +86,7 @@ class VectorDataDict(dict[str, np.ndarray]):
|
|
|
86
86
|
|
|
87
87
|
Parameters
|
|
88
88
|
----------
|
|
89
|
-
data : dict[str, np.ndarray], optional
|
|
89
|
+
data : dict[str, np.ndarray] | None, optional
|
|
90
90
|
Dictionary input. A shallow copy is always made.
|
|
91
91
|
"""
|
|
92
92
|
|
|
@@ -112,7 +112,7 @@ class VectorDataDict(dict[str, np.ndarray]):
|
|
|
112
112
|
----------
|
|
113
113
|
k : str
|
|
114
114
|
Key
|
|
115
|
-
v :
|
|
115
|
+
v : npt.ArrayLike
|
|
116
116
|
Values
|
|
117
117
|
|
|
118
118
|
See Also
|
|
@@ -145,12 +145,12 @@ class VectorDataDict(dict[str, np.ndarray]):
|
|
|
145
145
|
----------
|
|
146
146
|
k : str
|
|
147
147
|
Key
|
|
148
|
-
default : npt.ArrayLike, optional
|
|
148
|
+
default : npt.ArrayLike | None, optional
|
|
149
149
|
Default value for key ``k``
|
|
150
150
|
|
|
151
151
|
Returns
|
|
152
152
|
-------
|
|
153
|
-
|
|
153
|
+
np.ndarray
|
|
154
154
|
Value at ``k``
|
|
155
155
|
"""
|
|
156
156
|
ret = self.get(k, None)
|
|
@@ -647,13 +647,13 @@ class VectorDataset: # noqa: PLW1641
|
|
|
647
647
|
List of :class:`VectorDataset` instances to concatenate.
|
|
648
648
|
infer_attrs : bool, optional
|
|
649
649
|
If True, infer attributes from the first element in the sequence.
|
|
650
|
-
fill_value : float, optional
|
|
650
|
+
fill_value : float | None, optional
|
|
651
651
|
Fill value to use when concatenating arrays. By default None, which raises
|
|
652
652
|
an error if incompatible keys are found.
|
|
653
653
|
|
|
654
654
|
Returns
|
|
655
655
|
-------
|
|
656
|
-
|
|
656
|
+
Self
|
|
657
657
|
Sum of all instances in ``vectors``.
|
|
658
658
|
|
|
659
659
|
Raises
|
|
@@ -997,7 +997,7 @@ class VectorDataset: # noqa: PLW1641
|
|
|
997
997
|
|
|
998
998
|
Parameters
|
|
999
999
|
----------
|
|
1000
|
-
ignore_keys: str | Iterable[str], optional
|
|
1000
|
+
ignore_keys: str | Iterable[str] | None, optional
|
|
1001
1001
|
Do not broadcast selected keys.
|
|
1002
1002
|
Defaults to None.
|
|
1003
1003
|
overwrite : bool, optional
|
|
@@ -1281,9 +1281,9 @@ class VectorDataset: # noqa: PLW1641
|
|
|
1281
1281
|
Passed into :meth:`filter`. Defaults to True. Recommend to keep as True
|
|
1282
1282
|
based on `numpy best practices <https://numpy.org/doc/stable/user/basics.indexing.html#slicing-and-striding>`_.
|
|
1283
1283
|
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1284
|
+
Yields
|
|
1285
|
+
------
|
|
1286
|
+
Self
|
|
1287
1287
|
Generator of split vectors.
|
|
1288
1288
|
|
|
1289
1289
|
See Also
|
|
@@ -1320,27 +1320,27 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1320
1320
|
override ``data`` inputs. Expects ``altitude`` in meters and ``time``
|
|
1321
1321
|
as a DatetimeLike (or array that can processed with :meth:`pd.to_datetime`).
|
|
1322
1322
|
Additional waypoint-specific data can be included as additional keys/columns.
|
|
1323
|
-
longitude : npt.ArrayLike, optional
|
|
1323
|
+
longitude : npt.ArrayLike | None, optional
|
|
1324
1324
|
Longitude data.
|
|
1325
1325
|
Defaults to None.
|
|
1326
|
-
latitude : npt.ArrayLike, optional
|
|
1326
|
+
latitude : npt.ArrayLike | None, optional
|
|
1327
1327
|
Latitude data.
|
|
1328
1328
|
Defaults to None.
|
|
1329
|
-
altitude : npt.ArrayLike, optional
|
|
1329
|
+
altitude : npt.ArrayLike | None, optional
|
|
1330
1330
|
Altitude data, [:math:`m`].
|
|
1331
1331
|
Defaults to None.
|
|
1332
|
-
altitude_ft : npt.ArrayLike, optional
|
|
1332
|
+
altitude_ft : npt.ArrayLike | None, optional
|
|
1333
1333
|
Altitude data, [:math:`ft`].
|
|
1334
1334
|
Defaults to None.
|
|
1335
|
-
level : npt.ArrayLike, optional
|
|
1335
|
+
level : npt.ArrayLike | None, optional
|
|
1336
1336
|
Level data, [:math:`hPa`].
|
|
1337
1337
|
Defaults to None.
|
|
1338
|
-
time : npt.ArrayLike, optional
|
|
1338
|
+
time : npt.ArrayLike | None, optional
|
|
1339
1339
|
Time data.
|
|
1340
1340
|
Expects an array of DatetimeLike values,
|
|
1341
1341
|
or array that can processed with :meth:`pd.to_datetime`.
|
|
1342
1342
|
Defaults to None.
|
|
1343
|
-
attrs : dict[
|
|
1343
|
+
attrs : dict[str, Any] | None, optional
|
|
1344
1344
|
Additional properties as a dictionary.
|
|
1345
1345
|
Defaults to {}.
|
|
1346
1346
|
copy : bool, optional
|
|
@@ -1606,8 +1606,8 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1606
1606
|
|
|
1607
1607
|
Returns
|
|
1608
1608
|
-------
|
|
1609
|
-
|
|
1610
|
-
|
|
1609
|
+
dict[str, np.ndarray]
|
|
1610
|
+
A dictionary with fields `longitude`, `latitude`, `level`, and `time`.
|
|
1611
1611
|
"""
|
|
1612
1612
|
return {
|
|
1613
1613
|
"longitude": self["longitude"],
|
|
@@ -1628,8 +1628,6 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1628
1628
|
crs : str
|
|
1629
1629
|
Target CRS. Passed into to :class:`pyproj.Transformer`. The source CRS
|
|
1630
1630
|
is assumed to be EPSG:4326.
|
|
1631
|
-
copy : bool, optional
|
|
1632
|
-
Copy data on transformation. Defaults to True.
|
|
1633
1631
|
|
|
1634
1632
|
Returns
|
|
1635
1633
|
-------
|
|
@@ -1675,7 +1673,7 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1675
1673
|
|
|
1676
1674
|
Parameters
|
|
1677
1675
|
----------
|
|
1678
|
-
met : MetDataset | MetDataArray
|
|
1676
|
+
met : met_module.MetDataset | met_module.MetDataArray
|
|
1679
1677
|
MetDataset or MetDataArray to compare.
|
|
1680
1678
|
|
|
1681
1679
|
Returns
|
|
@@ -1719,15 +1717,15 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1719
1717
|
|
|
1720
1718
|
Parameters
|
|
1721
1719
|
----------
|
|
1722
|
-
mda : MetDataArray
|
|
1720
|
+
mda : met_module.MetDataArray
|
|
1723
1721
|
MetDataArray containing a meteorological variable at spatio-temporal coordinates.
|
|
1724
|
-
longitude : npt.NDArray[np.floating], optional
|
|
1722
|
+
longitude : npt.NDArray[np.floating] | None, optional
|
|
1725
1723
|
Override existing coordinates for met interpolation
|
|
1726
|
-
latitude : npt.NDArray[np.floating], optional
|
|
1724
|
+
latitude : npt.NDArray[np.floating] | None, optional
|
|
1727
1725
|
Override existing coordinates for met interpolation
|
|
1728
|
-
level : npt.NDArray[np.floating], optional
|
|
1726
|
+
level : npt.NDArray[np.floating] | None, optional
|
|
1729
1727
|
Override existing coordinates for met interpolation
|
|
1730
|
-
time : npt.NDArray[np.datetime64], optional
|
|
1728
|
+
time : npt.NDArray[np.datetime64] | None, optional
|
|
1731
1729
|
Override existing coordinates for met interpolation
|
|
1732
1730
|
use_indices : bool, optional
|
|
1733
1731
|
Experimental.
|
|
@@ -1870,7 +1868,7 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1870
1868
|
|
|
1871
1869
|
Returns
|
|
1872
1870
|
-------
|
|
1873
|
-
|
|
1871
|
+
interpolation.RGIArtifacts | None
|
|
1874
1872
|
Previously cached output of
|
|
1875
1873
|
:meth:`scipy.interpolate.RegularGridInterpolator._find_indices`,
|
|
1876
1874
|
or None if cached output is not present on instance.
|
|
@@ -1950,7 +1948,7 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1950
1948
|
|
|
1951
1949
|
Parameters
|
|
1952
1950
|
----------
|
|
1953
|
-
met :
|
|
1951
|
+
met : met_module.MetDataType
|
|
1954
1952
|
MetDataset or MetDataArray to downselect.
|
|
1955
1953
|
longitude_buffer : tuple[float, float], optional
|
|
1956
1954
|
Extend longitude domain past by ``longitude_buffer[0]`` on the low side
|
|
@@ -1975,7 +1973,7 @@ class GeoVectorDataset(VectorDataset):
|
|
|
1975
1973
|
|
|
1976
1974
|
Returns
|
|
1977
1975
|
-------
|
|
1978
|
-
|
|
1976
|
+
met_module.MetDataType
|
|
1979
1977
|
Copy of downselected MetDataset or MetDataArray.
|
|
1980
1978
|
"""
|
|
1981
1979
|
indexes = met.indexes
|