pycontrails 0.54.12__cp311-cp311-macosx_10_9_x86_64.whl → 0.56.0__cp311-cp311-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.

Files changed (34) hide show
  1. pycontrails/_version.py +3 -3
  2. pycontrails/core/airports.py +1 -1
  3. pycontrails/core/cache.py +3 -3
  4. pycontrails/core/fleet.py +1 -1
  5. pycontrails/core/flight.py +47 -43
  6. pycontrails/core/met_var.py +1 -1
  7. pycontrails/core/rgi_cython.cpython-311-darwin.so +0 -0
  8. pycontrails/core/vector.py +28 -30
  9. pycontrails/datalib/landsat.py +49 -26
  10. pycontrails/datalib/leo_utils/__init__.py +5 -0
  11. pycontrails/datalib/leo_utils/correction.py +266 -0
  12. pycontrails/datalib/leo_utils/landsat_metadata.py +300 -0
  13. pycontrails/datalib/{_leo_utils → leo_utils}/search.py +1 -1
  14. pycontrails/datalib/leo_utils/sentinel_metadata.py +748 -0
  15. pycontrails/datalib/sentinel.py +236 -93
  16. pycontrails/models/cocip/cocip.py +30 -13
  17. pycontrails/models/cocip/cocip_params.py +9 -3
  18. pycontrails/models/cocip/cocip_uncertainty.py +4 -4
  19. pycontrails/models/cocip/contrail_properties.py +27 -27
  20. pycontrails/models/cocip/radiative_forcing.py +4 -4
  21. pycontrails/models/cocip/unterstrasser_wake_vortex.py +5 -5
  22. pycontrails/models/cocip/wake_vortex.py +6 -6
  23. pycontrails/models/cocipgrid/cocip_grid.py +60 -32
  24. pycontrails/models/dry_advection.py +3 -3
  25. pycontrails/models/extended_k15.py +1327 -0
  26. pycontrails/physics/constants.py +1 -1
  27. {pycontrails-0.54.12.dist-info → pycontrails-0.56.0.dist-info}/METADATA +3 -1
  28. {pycontrails-0.54.12.dist-info → pycontrails-0.56.0.dist-info}/RECORD +34 -29
  29. /pycontrails/datalib/{_leo_utils → leo_utils}/static/bq_roi_query.sql +0 -0
  30. /pycontrails/datalib/{_leo_utils → leo_utils}/vis.py +0 -0
  31. {pycontrails-0.54.12.dist-info → pycontrails-0.56.0.dist-info}/WHEEL +0 -0
  32. {pycontrails-0.54.12.dist-info → pycontrails-0.56.0.dist-info}/licenses/LICENSE +0 -0
  33. {pycontrails-0.54.12.dist-info → pycontrails-0.56.0.dist-info}/licenses/NOTICE +0 -0
  34. {pycontrails-0.54.12.dist-info → pycontrails-0.56.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.54.12'
32
- __version_tuple__ = version_tuple = (0, 54, 12)
31
+ __version__ = version = '0.56.0'
32
+ __version_tuple__ = version_tuple = (0, 56, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g5920a0c98'
34
+ __commit_id__ = commit_id = 'gec7f244f4'
@@ -142,7 +142,7 @@ def find_nearest_airport(
142
142
 
143
143
  Returns
144
144
  -------
145
- str
145
+ str | None
146
146
  ICAO code of nearest airport.
147
147
  Returns None if no airport is found within ``bbox``.
148
148
 
pycontrails/core/cache.py CHANGED
@@ -168,12 +168,12 @@ class DiskCacheStore(CacheStore):
168
168
 
169
169
  Parameters
170
170
  ----------
171
- allow_clear : bool, optional
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
@@ -182,7 +182,7 @@ class Fleet(Flight):
182
182
 
183
183
  Returns
184
184
  -------
185
- Fleet
185
+ Self
186
186
  A `Fleet` instance made from concatenating the :class:`Flight`
187
187
  instances in ``seq``. The fuel type is taken from the first :class:`Flight`
188
188
  in ``seq``.
@@ -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 AttrDict, GeoVectorDataset, VectorDataDict, VectorDataset
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, np.ndarray] | pd.DataFrame | VectorDataDict | VectorDataset | None
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] | AttrDict | None = None,
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 : np.dtype
425
+ dtype : npt.DTypeLike, optional
426
426
  Numpy dtype for time difference.
427
- Defaults to ``np.float64``
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
- Flight
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 : {"geodesic", "linear"}, optional
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 | None, optional
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
- Flight
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 : {"geodesic", "linear"}, optional
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
- cruise_theshold : float, optional
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
- Flight
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
- cruise_theshold : float, optional
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
- Flight
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
- (ArrayOrFloat, ArrayOrFloat, int | npt.NDArray[int])
1146
- latitude, longitude, and segment index cooresponding to distance.
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: str, group: pd.DataFrame) -> dict[str, str | dict[str, Any]]:
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
- groups = self.dataframe.groupby(key)
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 = self.dataframe.groupby(lambda _: 0)
1428
+ groups = [(None, df)] # name is ignored in this case
1425
1429
 
1426
- features = [_group_to_feature(*name_group) for name_group in groups]
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
- :class:`matplotlib.axes.Axes`
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
- :class:`matplotlib.axes.Axes`
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: None | npt.NDArray[np.floating] = None,
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
- cruise_theshold : int, optional
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: None | npt.NDArray[np.floating]
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 : np.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: pt.NDArray[np.float64]
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 : pd.DatetimeIndex | None
2161
+ time : npt.NDArray[np.datetime64] | None
2158
2162
  Times to resample to. Overrides ``freq`` if not ``None``.
2159
2163
 
2160
2164
  Returns
@@ -80,7 +80,7 @@ class MetVariable:
80
80
 
81
81
  Returns
82
82
  -------
83
- str
83
+ str | None
84
84
  Database link in the ECMWF Parameter Database
85
85
  """
86
86
  return (
@@ -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 : np.ndarray
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
- Any
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
- VectorDataset
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
- Returns
1285
- -------
1286
- Generator[Self, None, None]
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[Hashable, Any] | AttrDict, optional
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
- pd.DataFrame
1610
- :class:`pd.DataFrame` with columns `longitude`, `latitude`, `level`, and `time`.
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
- tuple | None
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 : MetDataset | MetDataArray
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
- MetDataset | MetDataArray
1976
+ met_module.MetDataType
1979
1977
  Copy of downselected MetDataset or MetDataArray.
1980
1978
  """
1981
1979
  indexes = met.indexes