pycontrails 0.54.2__cp310-cp310-macosx_11_0_arm64.whl → 0.54.4__cp310-cp310-macosx_11_0_arm64.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 (68) hide show
  1. pycontrails/__init__.py +2 -2
  2. pycontrails/_version.py +2 -2
  3. pycontrails/core/__init__.py +1 -1
  4. pycontrails/core/aircraft_performance.py +75 -61
  5. pycontrails/core/cache.py +7 -7
  6. pycontrails/core/fleet.py +25 -21
  7. pycontrails/core/flight.py +215 -301
  8. pycontrails/core/interpolation.py +56 -56
  9. pycontrails/core/met.py +48 -39
  10. pycontrails/core/models.py +25 -11
  11. pycontrails/core/polygon.py +15 -15
  12. pycontrails/core/rgi_cython.cpython-310-darwin.so +0 -0
  13. pycontrails/core/vector.py +22 -22
  14. pycontrails/datalib/_met_utils/metsource.py +8 -5
  15. pycontrails/datalib/ecmwf/__init__.py +14 -14
  16. pycontrails/datalib/ecmwf/common.py +1 -1
  17. pycontrails/datalib/ecmwf/era5.py +7 -7
  18. pycontrails/datalib/ecmwf/hres.py +3 -3
  19. pycontrails/datalib/ecmwf/ifs.py +1 -1
  20. pycontrails/datalib/ecmwf/variables.py +1 -0
  21. pycontrails/datalib/gfs/__init__.py +6 -6
  22. pycontrails/datalib/gfs/gfs.py +2 -2
  23. pycontrails/datalib/goes.py +5 -5
  24. pycontrails/datalib/landsat.py +5 -8
  25. pycontrails/datalib/sentinel.py +7 -11
  26. pycontrails/ext/bada.py +3 -2
  27. pycontrails/ext/empirical_grid.py +1 -1
  28. pycontrails/ext/synthetic_flight.py +3 -2
  29. pycontrails/models/accf.py +40 -19
  30. pycontrails/models/apcemm/apcemm.py +5 -4
  31. pycontrails/models/cocip/__init__.py +2 -2
  32. pycontrails/models/cocip/cocip.py +16 -17
  33. pycontrails/models/cocip/cocip_params.py +2 -11
  34. pycontrails/models/cocip/cocip_uncertainty.py +24 -18
  35. pycontrails/models/cocip/contrail_properties.py +331 -316
  36. pycontrails/models/cocip/output_formats.py +53 -53
  37. pycontrails/models/cocip/radiative_forcing.py +135 -131
  38. pycontrails/models/cocip/radiative_heating.py +135 -135
  39. pycontrails/models/cocip/unterstrasser_wake_vortex.py +90 -87
  40. pycontrails/models/cocip/wake_vortex.py +92 -92
  41. pycontrails/models/cocip/wind_shear.py +8 -8
  42. pycontrails/models/cocipgrid/cocip_grid.py +118 -107
  43. pycontrails/models/dry_advection.py +59 -58
  44. pycontrails/models/emissions/__init__.py +2 -2
  45. pycontrails/models/emissions/black_carbon.py +108 -108
  46. pycontrails/models/emissions/emissions.py +85 -85
  47. pycontrails/models/emissions/ffm2.py +35 -35
  48. pycontrails/models/humidity_scaling/humidity_scaling.py +23 -23
  49. pycontrails/models/ps_model/__init__.py +3 -2
  50. pycontrails/models/ps_model/ps_aircraft_params.py +11 -6
  51. pycontrails/models/ps_model/ps_grid.py +256 -60
  52. pycontrails/models/ps_model/ps_model.py +18 -21
  53. pycontrails/models/ps_model/ps_operational_limits.py +58 -69
  54. pycontrails/models/tau_cirrus.py +8 -1
  55. pycontrails/physics/geo.py +216 -67
  56. pycontrails/physics/jet.py +220 -90
  57. pycontrails/physics/static/iata-cargo-load-factors-20241115.csv +71 -0
  58. pycontrails/physics/static/iata-passenger-load-factors-20241115.csv +71 -0
  59. pycontrails/physics/units.py +14 -14
  60. pycontrails/utils/json.py +1 -2
  61. pycontrails/utils/types.py +12 -7
  62. {pycontrails-0.54.2.dist-info → pycontrails-0.54.4.dist-info}/METADATA +10 -10
  63. {pycontrails-0.54.2.dist-info → pycontrails-0.54.4.dist-info}/NOTICE +1 -1
  64. pycontrails-0.54.4.dist-info/RECORD +111 -0
  65. {pycontrails-0.54.2.dist-info → pycontrails-0.54.4.dist-info}/WHEEL +1 -1
  66. pycontrails-0.54.2.dist-info/RECORD +0 -109
  67. {pycontrails-0.54.2.dist-info → pycontrails-0.54.4.dist-info}/LICENSE +0 -0
  68. {pycontrails-0.54.2.dist-info → pycontrails-0.54.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,71 @@
1
+ Date,Global,Africa,Asia Pacific,Europe,Latin America,Middle East,North America
2
+ 15/12/2018,0.804,0.724,0.81,0.81,0.818,0.736,0.825
3
+ 15/1/2019,0.796,0.709,0.81,0.796,0.825,0.76,0.795
4
+ 15/2/2019,0.806,0.704,0.826,0.815,0.813,0.726,0.808
5
+ 15/3/2019,0.817,0.72,0.812,0.837,0.815,0.739,0.85
6
+ 15/4/2019,0.828,0.733,0.817,0.851,0.822,0.803,0.839
7
+ 15/5/2019,0.815,0.676,0.802,0.837,0.832,0.732,0.851
8
+ 15/6/2019,0.844,0.706,0.821,0.875,0.832,0.767,0.887
9
+ 15/7/2019,0.857,0.735,0.831,0.89,0.853,0.812,0.888
10
+ 15/8/2019,0.857,0.755,0.839,0.889,0.833,0.821,0.875
11
+ 15/9/2019,0.819,0.721,0.801,0.866,0.819,0.75,0.828
12
+ 15/10/2019,0.82,0.697,0.815,0.855,0.819,0.734,0.841
13
+ 15/11/2019,0.818,0.708,0.813,0.833,0.822,0.732,0.828
14
+ 15/12/2019,0.823,0.724,0.816,0.828,0.825,0.78,0.859
15
+ 15/1/2020,0.803,0.702,0.799,0.816,0.826,0.785,0.812
16
+ 15/2/2020,0.759,0.668,0.678,0.813,0.812,0.725,0.811
17
+ 15/3/2020,0.606,0.609,0.589,0.67,0.681,0.599,0.557
18
+ 15/4/2020,0.366,0.111,0.538,0.32,0.55,0.284,0.15
19
+ 15/5/2020,0.507,0.071,0.62,0.427,0.623,0.255,0.381
20
+ 15/6/2020,0.576,0.162,0.638,0.555,0.666,0.357,0.524
21
+ 15/7/2020,0.579,0.296,0.657,0.609,0.631,0.396,0.476
22
+ 15/8/2020,0.585,0.39,0.65,0.635,0.639,0.372,0.477
23
+ 15/9/2020,0.601,0.378,0.692,0.586,0.706,0.365,0.525
24
+ 15/10/2020,0.602,0.482,0.687,0.552,0.721,0.387,0.558
25
+ 15/11/2020,0.58,0.474,0.664,0.523,0.74,0.372,0.518
26
+ 15/12/2020,0.575,0.549,0.616,0.578,0.73,0.44,0.516
27
+ 15/1/2021,0.541,0.544,0.566,0.576,0.685,0.422,0.484
28
+ 15/2/2021,0.554,0.516,0.591,0.563,0.683,0.398,0.527
29
+ 15/3/2021,0.623,0.53,0.669,0.593,0.708,0.422,0.624
30
+ 15/4/2021,0.633,0.476,0.678,0.563,0.723,0.404,0.668
31
+ 15/5/2021,0.658,0.53,0.678,0.593,0.768,0.389,0.728
32
+ 15/6/2021,0.696,0.587,0.657,0.658,0.784,0.459,0.806
33
+ 15/7/2021,0.731,0.614,0.675,0.725,0.793,0.513,0.841
34
+ 15/8/2021,0.7,0.64,0.545,0.746,0.774,0.56,0.786
35
+ 15/9/2021,0.676,0.56,0.605,0.719,0.773,0.524,0.727
36
+ 15/10/2021,0.706,0.558,0.629,0.741,0.809,0.577,0.769
37
+ 15/11/2021,0.713,0.616,0.597,0.752,0.822,0.616,0.786
38
+ 15/12/2021,0.723,0.647,0.625,0.745,0.816,0.663,0.793
39
+ 15/1/2022,0.645,0.623,0.576,0.682,0.782,0.591,0.663
40
+ 15/2/2022,0.698,0.648,0.629,0.721,0.795,0.648,0.745
41
+ 15/3/2022,0.747,0.657,0.642,0.739,0.808,0.718,0.839
42
+ 15/4/2022,0.778,0.68,0.67,0.795,0.809,0.713,0.858
43
+ 15/5/2022,0.794,0.696,0.696,0.807,0.807,0.762,0.86
44
+ 15/6/2022,0.824,0.743,0.729,0.86,0.817,0.772,0.891
45
+ 15/7/2022,0.835,0.753,0.764,0.87,0.831,0.812,0.882
46
+ 15/8/2022,0.818,0.757,0.74,0.862,0.824,0.796,0.856
47
+ 15/9/2022,0.816,0.743,0.747,0.847,0.823,0.795,0.855
48
+ 15/10/2022,0.82,0.726,0.755,0.848,0.833,0.791,0.864
49
+ 15/11/2022,0.808,0.748,0.77,0.838,0.82,0.775,0.832
50
+ 15/12/2022,0.811,0.769,0.772,0.836,0.785,0.8,0.842
51
+ 15/1/2023,0.777,0.742,0.774,0.762,0.813,0.791,0.784
52
+ 15/2/2023,0.778,0.756,0.792,0.752,0.811,0.798,0.771
53
+ 15/3/2023,0.807,0.739,0.792,0.805,0.812,0.794,0.837
54
+ 15/4/2023,0.813,0.708,0.784,0.838,0.814,0.76,0.856
55
+ 15/5/2023,0.818,0.699,0.773,0.848,0.811,0.799,0.863
56
+ 15/6/2023,0.842,0.689,0.804,0.877,0.825,0.794,0.887
57
+ 15/7/2023,0.852,0.746,0.816,0.877,0.867,0.821,0.897
58
+ 15/8/2023,0.846,0.764,0.822,0.876,0.851,0.83,0.858
59
+ 15/9/2023,0.826,0.731,0.8,0.86,0.839,0.816,0.83
60
+ 15/10/2023,0.831,0.707,0.821,0.856,0.848,0.806,0.836
61
+ 15/11/2023,0.818,0.704,0.814,0.837,0.844,0.777,0.827
62
+ 15/12/2023,0.821,0.732,0.812,0.851,0.827,0.782,0.829
63
+ 15/1/2024,0.799,0.731,0.808,0.782,0.85,0.799,0.799
64
+ 15/2/2024,0.806,0.744,0.844,0.761,0.827,0.808,0.795
65
+ 15/3/2024,0.82,0.721,0.835,0.809,0.831,0.775,0.837
66
+ 15/4/2024,0.824,0.734,0.824,0.838,0.822,0.792,0.83
67
+ 15/5/2024,0.834,0.729,0.818,0.852,0.834,0.808,0.858
68
+ 15/6/2024,0.85,0.771,0.829,0.877,0.842,0.795,0.876
69
+ 15/7/2024,0.86,0.75,0.834,0.882,0.862,0.84,0.889
70
+ 15/8/2024,0.862,0.779,0.86,0.879,0.84,0.823,0.871
71
+ 15/9/2024,0.836,0.765,0.831,0.865,0.834,0.814,0.824
@@ -106,13 +106,13 @@ def m_to_T_isa(h: ArrayScalarLike) -> ArrayScalarLike:
106
106
  return constants.T_msl + h_min * constants.T_lapse_rate # type: ignore[return-value]
107
107
 
108
108
 
109
- def _low_altitude_m_to_pl(h: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
109
+ def _low_altitude_m_to_pl(h: npt.NDArray[np.floating]) -> npt.NDArray[np.floating]:
110
110
  T_isa: np.ndarray = m_to_T_isa(h)
111
111
  power_term = -constants.g / (constants.T_lapse_rate * constants.R_d)
112
112
  return (constants.p_surface * (T_isa / constants.T_msl) ** power_term) / 100.0
113
113
 
114
114
 
115
- def _high_altitude_m_to_pl(h: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
115
+ def _high_altitude_m_to_pl(h: npt.NDArray[np.floating]) -> npt.NDArray[np.floating]:
116
116
  T_tropopause_isa = m_to_T_isa(np.asarray(constants.h_tropopause))
117
117
  power_term = -constants.g / (constants.T_lapse_rate * constants.R_d)
118
118
  p_tropopause_isa = constants.p_surface * (T_tropopause_isa / constants.T_msl) ** power_term
@@ -121,17 +121,17 @@ def _high_altitude_m_to_pl(h: npt.NDArray[np.float64]) -> npt.NDArray[np.float64
121
121
 
122
122
 
123
123
  @support_arraylike
124
- def m_to_pl(h: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
124
+ def m_to_pl(h: npt.NDArray[np.floating]) -> npt.NDArray[np.floating]:
125
125
  r"""Convert from altitude (m) to pressure level (hPa).
126
126
 
127
127
  Parameters
128
128
  ----------
129
- h : npt.NDArray[np.float64]
129
+ h : npt.NDArray[np.floating]
130
130
  altitude, [:math:`m`]
131
131
 
132
132
  Returns
133
133
  -------
134
- npt.NDArray[np.float64]
134
+ npt.NDArray[np.floating]
135
135
  pressure level, [:math:`hPa`], [:math:`mbar`]
136
136
 
137
137
  References
@@ -152,14 +152,14 @@ def m_to_pl(h: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
152
152
  return np.piecewise(h, condlist, funclist)
153
153
 
154
154
 
155
- def _low_altitude_pl_to_m(pl: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
155
+ def _low_altitude_pl_to_m(pl: npt.NDArray[np.floating]) -> npt.NDArray[np.floating]:
156
156
  base = 100.0 * pl / constants.p_surface
157
157
  exponent = -constants.T_lapse_rate * constants.R_d / constants.g
158
158
  T_isa = constants.T_msl * base**exponent
159
159
  return (T_isa - constants.T_msl) / constants.T_lapse_rate
160
160
 
161
161
 
162
- def _high_altitude_pl_to_m(pl: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
162
+ def _high_altitude_pl_to_m(pl: npt.NDArray[np.floating]) -> npt.NDArray[np.floating]:
163
163
  T_tropopause_isa = m_to_T_isa(np.asarray(constants.h_tropopause))
164
164
  power_term = -constants.g / (constants.T_lapse_rate * constants.R_d)
165
165
  p_tropopause_isa = constants.p_surface * (T_tropopause_isa / constants.T_msl) ** power_term
@@ -168,7 +168,7 @@ def _high_altitude_pl_to_m(pl: npt.NDArray[np.float64]) -> npt.NDArray[np.float6
168
168
 
169
169
 
170
170
  @support_arraylike
171
- def pl_to_m(pl: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
171
+ def pl_to_m(pl: npt.NDArray[np.floating]) -> npt.NDArray[np.floating]:
172
172
  r"""Convert from pressure level (hPa) to altitude (m).
173
173
 
174
174
  Function is slightly different from the classical formula:
@@ -410,20 +410,20 @@ def tas_to_mach_number(true_airspeed: ArrayScalarLike, T: ArrayScalarLike) -> Ar
410
410
 
411
411
 
412
412
  def mach_number_to_tas(
413
- mach_number: float | npt.NDArray[np.float64], T: float | npt.NDArray[np.float64]
414
- ) -> float | npt.NDArray[np.float64]:
413
+ mach_number: float | npt.NDArray[np.floating], T: float | npt.NDArray[np.floating]
414
+ ) -> float | npt.NDArray[np.floating]:
415
415
  r"""Calculate true airspeed from the Mach number at a specified ambient temperature.
416
416
 
417
417
  Parameters
418
418
  ----------
419
- mach_number : float | npt.NDArray[np.float64]
419
+ mach_number : float | npt.NDArray[np.floating]
420
420
  Mach number, [:math: `Ma`]
421
- T : npt.NDArray[np.float64]
421
+ T : npt.NDArray[np.floating]
422
422
  Ambient temperature, [:math:`K`]
423
423
 
424
424
  Returns
425
425
  -------
426
- npt.NDArray[np.float64]
426
+ npt.NDArray[np.floating]
427
427
  True airspeed, [:math:`m \ s^{-1}`]
428
428
 
429
429
  References
@@ -452,7 +452,7 @@ def lbs_to_kg(lbs: ArrayScalarLike) -> ArrayScalarLike:
452
452
  def dt_to_seconds(
453
453
  dt: npt.NDArray[np.timedelta64] | np.timedelta64,
454
454
  dtype: npt.DTypeLike = np.float64,
455
- ) -> npt.NDArray[np.float64]:
455
+ ) -> npt.NDArray[np.floating]:
456
456
  """Convert a time delta to seconds as a float with specified ``dtype`` precision.
457
457
 
458
458
  Parameters
pycontrails/utils/json.py CHANGED
@@ -172,8 +172,7 @@ def dataframe_to_geojson_points(
172
172
  k: (
173
173
  row[k]
174
174
  if not isinstance(row[k], float)
175
- or isinstance(row[k], float)
176
- and not np.isnan(row[k])
175
+ or (isinstance(row[k], float) and not np.isnan(row[k]))
177
176
  else None
178
177
  )
179
178
  for k in unused_keys
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import functools
6
+ import sys
6
7
  from collections.abc import Callable
7
8
  from datetime import datetime
8
9
  from typing import Any, TypeVar
@@ -16,16 +17,13 @@ import xarray as xr
16
17
  ArrayLike = TypeVar("ArrayLike", np.ndarray, xr.DataArray, xr.DataArray | np.ndarray)
17
18
 
18
19
  #: Array or Float (np.ndarray, float)
19
- ArrayOrFloat = TypeVar(
20
- "ArrayOrFloat", npt.NDArray[np.float64], float, float | npt.NDArray[np.float64]
21
- )
20
+ ArrayOrFloat = TypeVar("ArrayOrFloat", npt.NDArray[np.floating], float)
22
21
 
23
- #: Array like input (np.ndarray, xr.DataArray, np.float64, float)
22
+ #: Array like input (np.ndarray, xr.DataArray, float)
24
23
  ArrayScalarLike = TypeVar(
25
24
  "ArrayScalarLike",
26
25
  np.ndarray,
27
26
  xr.DataArray,
28
- np.float64,
29
27
  float,
30
28
  np.ndarray | float,
31
29
  xr.DataArray | np.ndarray,
@@ -34,9 +32,16 @@ ArrayScalarLike = TypeVar(
34
32
  #: Datetime like input (datetime, pd.Timestamp, np.datetime64)
35
33
  DatetimeLike = TypeVar("DatetimeLike", datetime, pd.Timestamp, np.datetime64, str)
36
34
 
35
+ # Crude fix for autodoc issue calling TypeVar.__dict__ on Python 3.13
36
+ if "sphinx" in sys.modules and sys.version_info >= (3, 13):
37
+ ArrayLike.__dict__ = {}
38
+ ArrayOrFloat.__dict__ = {}
39
+ ArrayScalarLike.__dict__ = {}
40
+ DatetimeLike.__dict__ = {}
41
+
37
42
 
38
43
  def support_arraylike(
39
- func: Callable[[np.ndarray], np.ndarray],
44
+ func: Callable[[npt.NDArray[np.floating]], npt.NDArray[np.floating]],
40
45
  ) -> Callable[[ArrayScalarLike], ArrayScalarLike]:
41
46
  """Extend a numpy universal function operating on arrays of floats.
42
47
 
@@ -72,7 +77,7 @@ def support_arraylike(
72
77
  return ret
73
78
 
74
79
  # Keep python native numeric types native
75
- if isinstance(arr, float | int | np.float64):
80
+ if isinstance(arr, float | int):
76
81
  return ret.item()
77
82
 
78
83
  # Recreate pd.Series
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycontrails
3
- Version: 0.54.2
3
+ Version: 0.54.4
4
4
  Summary: Python library for modeling aviation climate impacts
5
5
  Author-email: Breakthrough Energy <py@contrails.org>
6
6
  License: Apache-2.0
@@ -31,15 +31,15 @@ Requires-Dist: dask>=2022.3
31
31
  Requires-Dist: numpy>=1.22
32
32
  Requires-Dist: pandas>=2.2
33
33
  Requires-Dist: scipy>=1.10
34
- Requires-Dist: xarray>=2022.3
35
34
  Requires-Dist: typing-extensions>=4.5; python_version < "3.12"
35
+ Requires-Dist: xarray>=2022.3
36
36
  Provides-Extra: complete
37
37
  Requires-Dist: pycontrails[ecmwf,gcp,gfs,jupyter,pyproj,sat,vis,zarr]; extra == "complete"
38
38
  Provides-Extra: dev
39
- Requires-Dist: dep-license; extra == "dev"
39
+ Requires-Dist: dep_license; extra == "dev"
40
40
  Requires-Dist: fastparquet>=0.8; extra == "dev"
41
41
  Requires-Dist: ipdb>=0.13; extra == "dev"
42
- Requires-Dist: memory-profiler; extra == "dev"
42
+ Requires-Dist: memory_profiler; extra == "dev"
43
43
  Requires-Dist: mypy>=1.8; extra == "dev"
44
44
  Requires-Dist: mypy-extensions>=1.0; extra == "dev"
45
45
  Requires-Dist: platformdirs>=3.0; extra == "dev"
@@ -49,7 +49,7 @@ Requires-Dist: pyarrow>=5.0; extra == "dev"
49
49
  Requires-Dist: pytest>=8.2; extra == "dev"
50
50
  Requires-Dist: pytest-cov>=2.11; extra == "dev"
51
51
  Requires-Dist: requests>=2.25; extra == "dev"
52
- Requires-Dist: ruff==0.6.2; extra == "dev"
52
+ Requires-Dist: ruff==0.8.0; extra == "dev"
53
53
  Requires-Dist: setuptools; extra == "dev"
54
54
  Provides-Extra: docs
55
55
  Requires-Dist: doc8>=1.1; extra == "docs"
@@ -62,7 +62,7 @@ Requires-Dist: pytest-check-links>=0.8.0; extra == "docs"
62
62
  Requires-Dist: sphinx>=4.2; extra == "docs"
63
63
  Requires-Dist: sphinx-autobuild>=0.7; extra == "docs"
64
64
  Requires-Dist: sphinxcontrib-bibtex>=2.2; extra == "docs"
65
- Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
65
+ Requires-Dist: sphinx_copybutton>=0.5; extra == "docs"
66
66
  Requires-Dist: sphinxext.opengraph>=0.8; extra == "docs"
67
67
  Provides-Extra: ecmwf
68
68
  Requires-Dist: cdsapi>=0.4; extra == "ecmwf"
@@ -86,10 +86,6 @@ Requires-Dist: tqdm>=4.61; extra == "gfs"
86
86
  Provides-Extra: jupyter
87
87
  Requires-Dist: ipywidgets>=7.6; extra == "jupyter"
88
88
  Requires-Dist: jupyterlab>=2.2; extra == "jupyter"
89
- Provides-Extra: open3d
90
- Requires-Dist: open3d>=0.14; extra == "open3d"
91
- Provides-Extra: pyproj
92
- Requires-Dist: pyproj>=3.5; extra == "pyproj"
93
89
  Provides-Extra: sat
94
90
  Requires-Dist: cartopy>=0.22; extra == "sat"
95
91
  Requires-Dist: db-dtypes>=1.2; extra == "sat"
@@ -101,6 +97,10 @@ Requires-Dist: pillow>=10.3; extra == "sat"
101
97
  Requires-Dist: pyproj>=3.5; extra == "sat"
102
98
  Requires-Dist: rasterio>=1.3; extra == "sat"
103
99
  Requires-Dist: scikit-image>=0.18; extra == "sat"
100
+ Provides-Extra: open3d
101
+ Requires-Dist: open3d>=0.14; extra == "open3d"
102
+ Provides-Extra: pyproj
103
+ Requires-Dist: pyproj>=3.5; extra == "pyproj"
104
104
  Provides-Extra: vis
105
105
  Requires-Dist: matplotlib>=3.3; extra == "vis"
106
106
  Requires-Dist: opencv-python-headless>=4.5; extra == "vis"
@@ -1,4 +1,4 @@
1
- Copyright (c) 2021-2023 Breakthrough Energy
1
+ Copyright (c) 2021-present Breakthrough Energy
2
2
 
3
3
 
4
4
  Attribution
@@ -0,0 +1,111 @@
1
+ pycontrails-0.54.4.dist-info/RECORD,,
2
+ pycontrails-0.54.4.dist-info/LICENSE,sha256=gJ-h7SFFD1mCfR6a7HILvEtodDT6Iig8bLXdgqR6ucA,10175
3
+ pycontrails-0.54.4.dist-info/WHEEL,sha256=HYqjRdli_HnmdRYswLM91KP1v-KILRKMRXsFGStbfQs,109
4
+ pycontrails-0.54.4.dist-info/NOTICE,sha256=TeY5lUhEbf5ouzABkrRUsUDJzS5v9jDEYADpwku4mgA,1929
5
+ pycontrails-0.54.4.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
6
+ pycontrails-0.54.4.dist-info/METADATA,sha256=284mIuqMUJd3IbNlLAQcXyoHHlXDfDVTA1XXj1FFTXg,9155
7
+ pycontrails/_version.py,sha256=K1krGB4lhzC1Jsut-7Vsyk3SU0xYvsCQSVsvbKXz2pE,413
8
+ pycontrails/__init__.py,sha256=vomSUHQ1d7ru2-3LgnmczzuPJw0kHmBSaCSVOpqvEtQ,2004
9
+ pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ pycontrails/core/vector.py,sha256=GaxOJSDd5t2GzHFpUBCoF7qi-KcWrxIJ_Y1PwRejWQo,70080
11
+ pycontrails/core/models.py,sha256=ZFyZWK378sex9uk5yKPMWBuMublYhUEOqjlNqicw5os,39789
12
+ pycontrails/core/interpolation.py,sha256=Ifs0tdNe03N-OmoPK1mNB3i8vNXbmIfc3i26AdnRkyE,25679
13
+ pycontrails/core/fleet.py,sha256=PD2psa6LHhbH-T9XvVY2CQihsaksGnSgZilddzX1ktU,15964
14
+ pycontrails/core/rgi_cython.cpython-310-darwin.so,sha256=eBmX5lllTWyE-mEnUvpL1Koj6j9Yxh7W9wtlbbBnQDc,310832
15
+ pycontrails/core/flight.py,sha256=vV9cjKg_XtSn0aVulfoYojVC7xm4TsSqzua7JhDYlJE,80372
16
+ pycontrails/core/fuel.py,sha256=kJZ3P1lPm1L6rdPREM55XQ-VfJ_pt35cP4sO2Nnvmjs,4332
17
+ pycontrails/core/polygon.py,sha256=EmfHPj0e58whsHvR-3YvDgMWkvMFgp_BgwaoG8IZ4n0,18044
18
+ pycontrails/core/cache.py,sha256=XG_RCIemv1xatDBmaVyxnoYdi8gD2gkUvjfvRi9RsJA,28068
19
+ pycontrails/core/__init__.py,sha256=p0O09HxdeXU0X5Z3zrHMlTfXa92YumT3fJ8wJBI5ido,856
20
+ pycontrails/core/flightplan.py,sha256=UO4vL087d5TZMlU984-FxfotGTxFbqK78w2fLDRiel4,7335
21
+ pycontrails/core/met.py,sha256=KPby1dgsjrQ1rHK7JcSCnh_I5TFmqyqyL0KEOc1JPbs,101413
22
+ pycontrails/core/aircraft_performance.py,sha256=P3_StjXJJqtBOYWbyHyVNuxdOZzuVZDfeRxtNQmSpFY,27236
23
+ pycontrails/core/airports.py,sha256=aeyAXVkioIRomrP79UtNrxindL4f1DJyXFaojZCuBBw,6758
24
+ pycontrails/core/met_var.py,sha256=GC5ijw4oGuIefmFOSz4vmxMEBj_SVs5Z75IMhDP56Cw,9183
25
+ pycontrails/core/coordinates.py,sha256=0ySsHtqTon7GMbuwmmxMbI92j3ueMteJZh4xxNm5zto,5391
26
+ pycontrails/datalib/goes.py,sha256=mCEuDYdt1GIBA-sbDq5LdC6ZRvWJ28uaaBTnsXE4syc,26555
27
+ pycontrails/datalib/landsat.py,sha256=r6366rEF7fOA7mT5KySCPGJplgGE5LvBw5fMqk-U1oM,19697
28
+ pycontrails/datalib/spire.py,sha256=66SnMdA8KOS69USjKmqrJmTKPK08Ehih9tnlsCt-AJw,25331
29
+ pycontrails/datalib/__init__.py,sha256=hW9NWdFPC3y_2vHMteQ7GgQdop3917MkDaf5ZhU2RBY,369
30
+ pycontrails/datalib/sentinel.py,sha256=hYSxIlQnyJHqtHWlKn73HOK_1pm-_IbGebmkHnh4UcA,17172
31
+ pycontrails/datalib/_met_utils/metsource.py,sha256=5t2hjSmEG4jg-n8BD5tJy1Fp_SSgRsqYJdOGtuctRNY,24118
32
+ pycontrails/datalib/ecmwf/arco_era5.py,sha256=7HXQU5S02PzX9Ew2ZrDKSp0tDEG1eeVAvbP3decmm20,12437
33
+ pycontrails/datalib/ecmwf/era5.py,sha256=wTXjQ3pkrKg5qFlu8n8Zy6HUU4JuhywK_BgKNN4jnYI,19046
34
+ pycontrails/datalib/ecmwf/era5_model_level.py,sha256=KP4a9l2YbEhBPraN1LDx_I_OsOaJemAheW3gICqe5uA,19428
35
+ pycontrails/datalib/ecmwf/hres.py,sha256=9QHYxMLK7zyQEOFpbVrZfIht9WqVXnhhyOd7YKEgAe0,28381
36
+ pycontrails/datalib/ecmwf/variables.py,sha256=lU3BNe265XVhCXvdMwZqfkWQwtsetZxVRLSfPqHFKAE,9913
37
+ pycontrails/datalib/ecmwf/hres_model_level.py,sha256=EjBDYbbPZotTsveFlEiAAWJhhPYiao1DQrLyS4kVCrA,17657
38
+ pycontrails/datalib/ecmwf/__init__.py,sha256=wdfhplEaW2UKTItIoshTtVEjbPyfDYoprTJNxbKZuvA,2021
39
+ pycontrails/datalib/ecmwf/common.py,sha256=qRMSzDQikGMi3uqvz-Y57e3biHPzSoVMfUwOu9iTxHc,4024
40
+ pycontrails/datalib/ecmwf/model_levels.py,sha256=_kgpnogaS6MlfvTX9dB5ASTHFUlZuQ_DRb-VADwEa0k,16996
41
+ pycontrails/datalib/ecmwf/ifs.py,sha256=bAxkHXIMUXP8T8JmGp1PXdm24hoJoIHyJ3IDLLHl8ho,10778
42
+ pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=PmvGLRzn6uuCKSwiasSuVcehvvmSaqP7cnLuN6hhCQQ,9788
43
+ pycontrails/datalib/_leo_utils/vis.py,sha256=-fLcm1D5cP6lThVHovV3MJSiadWyTUAvYDMvr4drMU4,1802
44
+ pycontrails/datalib/_leo_utils/search.py,sha256=r87T2OV4qH1pYI2YznvsBL042f4RKxD3OA2snd3-kDI,8687
45
+ pycontrails/datalib/_leo_utils/static/bq_roi_query.sql,sha256=xq6-tJyz0-bUwW0KjQymqygjH3WlQBmyBtP7Ci7SBe8,260
46
+ pycontrails/datalib/gfs/gfs.py,sha256=kGRcmolxbl_5R13N_SOvXr2wAcaqFCb-PUIFhP5whBM,22410
47
+ pycontrails/datalib/gfs/variables.py,sha256=4ALR4zhYW8tQVlNVHrd0CK8oRNSe_2OkW3ELeaImtAI,3135
48
+ pycontrails/datalib/gfs/__init__.py,sha256=pXNjb9cJC6ngpuCnoHnmVZ2RHzbHZ0AlsyGvgcdcl2E,684
49
+ pycontrails/ext/synthetic_flight.py,sha256=ByuJDfpuK5WaGMj41wflfzH6zwI1nejVcQXC4JoMvSI,16795
50
+ pycontrails/ext/cirium.py,sha256=DFPfRwLDwddpucAPRQhyT4bDGh0VvvoViMUd3pidam8,415
51
+ pycontrails/ext/empirical_grid.py,sha256=FPNQA0x4nVwBXFlbs3DgIapSrXFYhoc8b8IX0M4xhBc,4363
52
+ pycontrails/ext/bada.py,sha256=YlQq4nnFyWza1Am2e2ZucpaICHDuUFRTrtVzIKMzf9s,1091
53
+ pycontrails/utils/iteration.py,sha256=q_vb39VjxRr4hqTyPYko3gK4sboJOJf_Evq6m_2DL-g,319
54
+ pycontrails/utils/__init__.py,sha256=Gt_57sBgfliFSxx9sDpuchykFDxmM11Wg9xAeSqPcnI,32
55
+ pycontrails/utils/types.py,sha256=dN2oYVNNbekqvM89Lfs0FmmhavRQGC7NgGhi_7m6UBU,4984
56
+ pycontrails/utils/temp.py,sha256=lGU0b_R8ze4yKlsOusHIIBaoNFBrmrB3vBjgHRlfcXk,1109
57
+ pycontrails/utils/json.py,sha256=oTiO8xh603esfBGaGVmA5eUzR0NhAqNpQCegMMgnSbg,5896
58
+ pycontrails/utils/dependencies.py,sha256=ATP45xYdUbIyGFzgbOe5SbokMytvB84TcexUEFnEUZE,2559
59
+ pycontrails/models/pcc.py,sha256=7hIlg_4-F6Ce7KVFyuIZBZY6uDr1h4KRMqBDlpGkzHE,11116
60
+ pycontrails/models/tau_cirrus.py,sha256=GjCkGMf6_zRyzdWRSpO7WieNjY8b-RpPmss0WO3e1HM,5381
61
+ pycontrails/models/__init__.py,sha256=dQTOLQb7RdUdUwslt5se__5y_ymbInBexQmNrmAeOdE,33
62
+ pycontrails/models/issr.py,sha256=Ts1rFr8XKqvq-hWTLzp285PDEt9J_kIR8V3XGCDqoxY,7340
63
+ pycontrails/models/sac.py,sha256=lV1Or0AaLxuS1Zo5V8h5c1fkSKC-hKEgiFm7bmmusWw,15946
64
+ pycontrails/models/accf.py,sha256=meIcgojYvHgm3de9iro2Bv0M4y9ta5VPwcqGAMEbBp8,13663
65
+ pycontrails/models/dry_advection.py,sha256=k7jEibAjrdt42he0QqDckZ0VLfSwKPKeTc2qOa5ciEg,16882
66
+ pycontrails/models/pcr.py,sha256=ZzbEuTOuDdUmmL5T3Wk3HL-O8XzX3HMnn98WcPbASaU,5348
67
+ pycontrails/models/emissions/__init__.py,sha256=CZB2zIkLUI3NGNmq2ddvRYjEtiboY6PWJjiEiXj_zII,478
68
+ pycontrails/models/emissions/ffm2.py,sha256=mAvBHnp-p3hIn2fjKGq50eaMHi0jcb5hA5uXbJGeE9I,12068
69
+ pycontrails/models/emissions/emissions.py,sha256=jJlK2zPygyz57SQK-DofJUvimD49fRxHA3hiU5REPCQ,47653
70
+ pycontrails/models/emissions/black_carbon.py,sha256=HV56zz5-9nrIxDqL2-F6aa7XQYZyv26IDkLHo_Jop9A,20346
71
+ pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=NatpVI1D2tTDLK7uVvlanm9DhfFB44nmFA4aocUcXco,77318
72
+ pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=jCjt7cP6sqLdbDp5NUoaqllVkZNE7NJtSnbB3rX_zQI,127523
73
+ pycontrails/models/emissions/static/default-engine-uids.csv,sha256=3blb0aqtM8YRsyT1WDo0UYTBtv1h4BwXRIC_Ll9fhnI,6217
74
+ pycontrails/models/apcemm/__init__.py,sha256=M-hrJklbSgBckclm526MiBAhpKPLHgJbB58ArbJuGIk,175
75
+ pycontrails/models/apcemm/inputs.py,sha256=88GylkiaymEW_XZeFxLsICI9wV6kl8wVYsuyTe8zIQ8,6585
76
+ pycontrails/models/apcemm/utils.py,sha256=xlEVe0RKFXrqDr4V77mbb2HxY8IK42EX4K86tN1sLQs,17094
77
+ pycontrails/models/apcemm/apcemm.py,sha256=ow50xVVS1QcRc_RXGZY0h5fOZQ_TETITkujvSx86Sp0,39999
78
+ pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=uAZkc57OUvDMjgX6F5f6hgDh3Hgg1NbHWRUFSiv0DEI,6745
79
+ pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=Mpy6Jd0UNta4nUhS01kkm6uCg0Yo5EhHIrP656lLpnI,36770
80
+ pycontrails/models/humidity_scaling/__init__.py,sha256=nqsab_j9BCwMbTfCn4BjXMdhItlvNKkgUJ9-lb8RyIo,1119
81
+ pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq,sha256=tfYhbafF9Z-gGCg6VQ1YBlOaK_01e65Dc6s9b-hQ6Zo,286375
82
+ pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq,sha256=pShCvNUo0NYtAHhT9IBRuj38X9jejdlKfv-ZoOKmtKI,35943
83
+ pycontrails/models/cocip/radiative_forcing.py,sha256=0zTXQXANYC3oIDyYEUHkaJxuwTe0-GojxBipEutWGxU,45031
84
+ pycontrails/models/cocip/wind_shear.py,sha256=m6ZlWjORfI-lI-D74Z_dIMOHnK4FDYmkb0S6vSpKTO8,3868
85
+ pycontrails/models/cocip/cocip.py,sha256=jLipDqA832VVerYj7F8rdNcG7vxyRvdT5tUwrsnA-eY,100138
86
+ pycontrails/models/cocip/output_formats.py,sha256=Tyu4080PO5tqZuXjZ0XIxoFF2Nik-stttEMBpu33b-s,83697
87
+ pycontrails/models/cocip/__init__.py,sha256=CWrkNd6S3ZJq04pjTc2W22sVAJeJD3bJJRy_zLW8Kkc,962
88
+ pycontrails/models/cocip/cocip_params.py,sha256=rwVW1SnjKnzztlxcxxaCztgzRbIPkMJqC2GefUKQZ6w,12341
89
+ pycontrails/models/cocip/wake_vortex.py,sha256=YmOuv_oWJ9-fmTx9PVHr6gsXwex0qzLhvoZIJNB9rsk,14515
90
+ pycontrails/models/cocip/cocip_uncertainty.py,sha256=XFWYIEVcmbOO9bP7BMdQXbCiQa0OSvfyr71CWtNON6E,12237
91
+ pycontrails/models/cocip/radiative_heating.py,sha256=1U4SQWwogtyQ2u6J996kAHP0OfpZ3hH2_x4Cyt3Cy8U,18984
92
+ pycontrails/models/cocip/contrail_properties.py,sha256=H0D2FQodX6jW3EmAxQNxGS8erOU0EW2MSAAOLB0LyQc,56202
93
+ pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=M6tdl5ZfNDtiLwJOrXg3sBesf6Larg-5JchsVlJNsG4,14675
94
+ pycontrails/models/ps_model/__init__.py,sha256=Fuum5Rq8ya8qkvbeq2wh6NDo-42RCRnK1Y-2syYy0Ck,553
95
+ pycontrails/models/ps_model/ps_model.py,sha256=l2FPbMi1N_KXuG8YXctdT6b1x-Kp55PDQcnVk5t7U8k,33221
96
+ pycontrails/models/ps_model/ps_aircraft_params.py,sha256=pD1xpTBX6ML2Pie78kypNibzE5AkvqnAIaTyEMfciuY,13350
97
+ pycontrails/models/ps_model/ps_operational_limits.py,sha256=jPjzjwOENOHdcS2yU_UhAKABlyJ0_kDcHqj-egN3gTc,16477
98
+ pycontrails/models/ps_model/ps_grid.py,sha256=ybrHM8IfVuOE_lBQN6z35CVguMyHsCVzA0CKJmydKMQ,26033
99
+ pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv,sha256=ksrpQTHkxSt1Va_R0rHdenEz6DlIs-Sfk1KFBzHKjhk,1038
100
+ pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv,sha256=3eNhSwzut0gon04k2EYKKaXRvQSUlau3yBAbHS0EBao,25784
101
+ pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=l4vBPrOKCJDz5Y1uMjmOGVyUcSWgfZtFWbjW968OPz8,5875
102
+ pycontrails/models/cocipgrid/__init__.py,sha256=ar6bF_8Pusbb-myujz_q5ntFylQTNH8yiM8fxP7Zk30,262
103
+ pycontrails/models/cocipgrid/cocip_grid.py,sha256=3lytIYCiTSZSSRvtDCCISM_0oOx3BH50Z-Y04-6v0Uk,93459
104
+ pycontrails/physics/geo.py,sha256=Br0w1-Yfzin1a_IZDeKDT21YtYqoQC8FQGRxcPyoPcU,36233
105
+ pycontrails/physics/units.py,sha256=BC0e0l_pDeijqN179tXl8eX_Qpw8d17MVujBu1SV3IE,12293
106
+ pycontrails/physics/constants.py,sha256=pHQQmccMUwuNnY4hFtm3L8G2rnUQcfJnroyQr8HAVeM,3146
107
+ pycontrails/physics/__init__.py,sha256=_1eWbEy6evEWdfJCEkwDiSdpiDNzNWEPVqaPekHyhwU,44
108
+ pycontrails/physics/thermo.py,sha256=sWGpKa12daSpqZYNgyXd8Ii5nfA_1Mm5mMbnM5GsW-E,12787
109
+ pycontrails/physics/jet.py,sha256=RoHns04wi2EGYWQqYxnr6LUAV-CqsgLhXdrUCrBHAGk,30307
110
+ pycontrails/physics/static/iata-cargo-load-factors-20241115.csv,sha256=lbTsVjgXqdB9FTuaYQsLnmfPZX0vWS6kuKmiqiQYa0c,3686
111
+ pycontrails/physics/static/iata-passenger-load-factors-20241115.csv,sha256=uKtz6JNvgEhOlSRkWCLBeOTja6C3lI2Gkz2HmB-B0m4,3681
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-macosx_11_0_arm64
5
5
 
@@ -1,109 +0,0 @@
1
- pycontrails-0.54.2.dist-info/RECORD,,
2
- pycontrails-0.54.2.dist-info/LICENSE,sha256=gJ-h7SFFD1mCfR6a7HILvEtodDT6Iig8bLXdgqR6ucA,10175
3
- pycontrails-0.54.2.dist-info/WHEEL,sha256=lXrF9eVJm7UF3ZOBaBu2Y-RekBGubHbC1Bvbd4BEjAQ,109
4
- pycontrails-0.54.2.dist-info/NOTICE,sha256=gKI8DcN1WhiXB2SFRKDogcjONldGubTvBxiOYdC4CXU,1926
5
- pycontrails-0.54.2.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
6
- pycontrails-0.54.2.dist-info/METADATA,sha256=Fm8kdIUhPRgD-eRj7pBLueySnBEN_UFAdNVOG0SbVMs,9155
7
- pycontrails/_version.py,sha256=33yLgIixdFTAGWrLITOqgOcd0-lN-NKDJoFWt4PSyGE,413
8
- pycontrails/__init__.py,sha256=O2T9kXCMhcELcMZz7HEnwiBhh4Gfcj-yG1HtrotOKHQ,2001
9
- pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- pycontrails/core/vector.py,sha256=d0nzDeMFHzPjxqU4nbeb8i6a7hNCJr8qZU6CXEXtxCw,70042
11
- pycontrails/core/models.py,sha256=mB3fhmBorFxt7uEhBFcuu0PIMWmBRB4KBRsPiFpPcvo,39282
12
- pycontrails/core/interpolation.py,sha256=yxVLO9lzNcNFeLwDyrQ7yfz4JEHLHTpgIRBrcOezsXg,25617
13
- pycontrails/core/fleet.py,sha256=s-4v3QtUIyIxdFc-f7sAaDGgmWqugR8H5uWsdnszYTI,15739
14
- pycontrails/core/rgi_cython.cpython-310-darwin.so,sha256=s2iTOboEDI2LVha5-eI3oIxNpYdoKq40q0-FA7VOrdU,310832
15
- pycontrails/core/flight.py,sha256=VL2vi3YYW6TaUeBFf0TKTiCsaDmltN8c31WCKGWwjE8,82937
16
- pycontrails/core/fuel.py,sha256=kJZ3P1lPm1L6rdPREM55XQ-VfJ_pt35cP4sO2Nnvmjs,4332
17
- pycontrails/core/polygon.py,sha256=gosyZBX1XBKD2EcHycIZb7uM-xGs8rCfdpiSZlhc2Hc,18028
18
- pycontrails/core/cache.py,sha256=7kGStSlHgF1JzU8piRCHVKuWHRECvsyTBemBs0jxplk,28068
19
- pycontrails/core/__init__.py,sha256=x1z6x8w3sYmEqYcNWyWHuNkS9lPUPbHUoYJZs1K0q98,856
20
- pycontrails/core/flightplan.py,sha256=UO4vL087d5TZMlU984-FxfotGTxFbqK78w2fLDRiel4,7335
21
- pycontrails/core/met.py,sha256=eCM4qJlNZNWLQt0USWIZBaDxxayHhta1tpRx37rBPY4,100821
22
- pycontrails/core/aircraft_performance.py,sha256=uyT26bBYgQHOf3U3YVhR91BkSLCpaW6DBGmwmogDRB0,26417
23
- pycontrails/core/airports.py,sha256=aeyAXVkioIRomrP79UtNrxindL4f1DJyXFaojZCuBBw,6758
24
- pycontrails/core/met_var.py,sha256=GC5ijw4oGuIefmFOSz4vmxMEBj_SVs5Z75IMhDP56Cw,9183
25
- pycontrails/core/coordinates.py,sha256=0ySsHtqTon7GMbuwmmxMbI92j3ueMteJZh4xxNm5zto,5391
26
- pycontrails/datalib/goes.py,sha256=Muh_pqAXSqUlM4ssStUT9QmPxGPEKK21LHFroaqTq7k,26533
27
- pycontrails/datalib/landsat.py,sha256=wgQrc0sF-OqtCLbMINjes0hRFMUYJRYU0K6aV0gVJvg,19721
28
- pycontrails/datalib/spire.py,sha256=66SnMdA8KOS69USjKmqrJmTKPK08Ehih9tnlsCt-AJw,25331
29
- pycontrails/datalib/__init__.py,sha256=hW9NWdFPC3y_2vHMteQ7GgQdop3917MkDaf5ZhU2RBY,369
30
- pycontrails/datalib/sentinel.py,sha256=pKB92KzKjvNOKnuxolXoz2ZnpXQ50iQ8g-EHDVMsnoA,17221
31
- pycontrails/datalib/_met_utils/metsource.py,sha256=BGActBGApWb4yI97nBS9ui5j-PzIQotFMUtbMEBkvm8,23966
32
- pycontrails/datalib/ecmwf/arco_era5.py,sha256=7HXQU5S02PzX9Ew2ZrDKSp0tDEG1eeVAvbP3decmm20,12437
33
- pycontrails/datalib/ecmwf/era5.py,sha256=QPkb5a8qW7yWpEq9wMiitql6V6kCHwdk9XNki_dlnZ4,19104
34
- pycontrails/datalib/ecmwf/era5_model_level.py,sha256=KP4a9l2YbEhBPraN1LDx_I_OsOaJemAheW3gICqe5uA,19428
35
- pycontrails/datalib/ecmwf/hres.py,sha256=7oGNi6FnLFIA5rCVVX5lRv_maXVMa2oqVPlT-sgFHsM,28325
36
- pycontrails/datalib/ecmwf/variables.py,sha256=G6LlGTrlzdn819F-7kjEMXT-Ystp1gc79LOmQTZKrtQ,9865
37
- pycontrails/datalib/ecmwf/hres_model_level.py,sha256=EjBDYbbPZotTsveFlEiAAWJhhPYiao1DQrLyS4kVCrA,17657
38
- pycontrails/datalib/ecmwf/__init__.py,sha256=7OovwVTCo2DVH10NioUAc18evZkgb9b7Tn42S7tsJfU,2021
39
- pycontrails/datalib/ecmwf/common.py,sha256=MCnOYb7Whz5M7s9iy91P6nNAu8in9x20-C8p_UQnuas,3996
40
- pycontrails/datalib/ecmwf/model_levels.py,sha256=_kgpnogaS6MlfvTX9dB5ASTHFUlZuQ_DRb-VADwEa0k,16996
41
- pycontrails/datalib/ecmwf/ifs.py,sha256=Azs3vnSaXK65wblHgX88a4Hkmx1uy2NLERtJdoC1x_I,10750
42
- pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=PmvGLRzn6uuCKSwiasSuVcehvvmSaqP7cnLuN6hhCQQ,9788
43
- pycontrails/datalib/_leo_utils/vis.py,sha256=-fLcm1D5cP6lThVHovV3MJSiadWyTUAvYDMvr4drMU4,1802
44
- pycontrails/datalib/_leo_utils/search.py,sha256=r87T2OV4qH1pYI2YznvsBL042f4RKxD3OA2snd3-kDI,8687
45
- pycontrails/datalib/_leo_utils/static/bq_roi_query.sql,sha256=xq6-tJyz0-bUwW0KjQymqygjH3WlQBmyBtP7Ci7SBe8,260
46
- pycontrails/datalib/gfs/gfs.py,sha256=v7LZ1cdY3H3Las2PoVAdlW3CuMgzlOf7WW6SyD3Qt1c,22382
47
- pycontrails/datalib/gfs/variables.py,sha256=4ALR4zhYW8tQVlNVHrd0CK8oRNSe_2OkW3ELeaImtAI,3135
48
- pycontrails/datalib/gfs/__init__.py,sha256=tWxgqmlW8Uo07J-3fBTXPrteatzTka9mSXomhWy3NVA,684
49
- pycontrails/ext/synthetic_flight.py,sha256=0mgS6DuwY2ZTzQBswRqh_CsqkUV8K4vGH1leynoz05U,16757
50
- pycontrails/ext/cirium.py,sha256=DFPfRwLDwddpucAPRQhyT4bDGh0VvvoViMUd3pidam8,415
51
- pycontrails/ext/empirical_grid.py,sha256=WSC266aKsQLzCmtrZJCpLdDBykZ9rlFE9xEXmZjbgHo,4362
52
- pycontrails/ext/bada.py,sha256=j4Tj7oWSV_6UxYYa9_OjC1yTVzJMQdNRDI4aUQam_xM,1063
53
- pycontrails/utils/iteration.py,sha256=q_vb39VjxRr4hqTyPYko3gK4sboJOJf_Evq6m_2DL-g,319
54
- pycontrails/utils/__init__.py,sha256=Gt_57sBgfliFSxx9sDpuchykFDxmM11Wg9xAeSqPcnI,32
55
- pycontrails/utils/types.py,sha256=QeJQwpdyjd3OGU9bz86mIuZvvqgV3WoF0QpAZenD6u8,4769
56
- pycontrails/utils/temp.py,sha256=lGU0b_R8ze4yKlsOusHIIBaoNFBrmrB3vBjgHRlfcXk,1109
57
- pycontrails/utils/json.py,sha256=b3JQ6cZ4Uy4-5e-uVAXr8t-KXC_bj_a1qHmXM0Nof58,5914
58
- pycontrails/utils/dependencies.py,sha256=ATP45xYdUbIyGFzgbOe5SbokMytvB84TcexUEFnEUZE,2559
59
- pycontrails/models/pcc.py,sha256=7hIlg_4-F6Ce7KVFyuIZBZY6uDr1h4KRMqBDlpGkzHE,11116
60
- pycontrails/models/tau_cirrus.py,sha256=yNYw4ukT68w2ATGFZr3p8AZxB6A2xufXQq7XP2U51y0,5026
61
- pycontrails/models/__init__.py,sha256=dQTOLQb7RdUdUwslt5se__5y_ymbInBexQmNrmAeOdE,33
62
- pycontrails/models/issr.py,sha256=Ts1rFr8XKqvq-hWTLzp285PDEt9J_kIR8V3XGCDqoxY,7340
63
- pycontrails/models/sac.py,sha256=lV1Or0AaLxuS1Zo5V8h5c1fkSKC-hKEgiFm7bmmusWw,15946
64
- pycontrails/models/accf.py,sha256=uPu8EB30Zbd3kd-3BuTnJkFNzpFqQ4u0HftFOJOX51s,12568
65
- pycontrails/models/dry_advection.py,sha256=V3_oEYexGaeBnuOgmuj8a3FaxMVnMRvHIX_AVXXtWTg,16697
66
- pycontrails/models/pcr.py,sha256=ZzbEuTOuDdUmmL5T3Wk3HL-O8XzX3HMnn98WcPbASaU,5348
67
- pycontrails/models/emissions/__init__.py,sha256=N_EE768TNRDbdmXaxly2Pwun7UmVBTVPc4k89VBz5ys,478
68
- pycontrails/models/emissions/ffm2.py,sha256=h_bmB4pxxvC1ptqz5jB_rpf9QgaAv9J7Lu-6QpMiFtk,12032
69
- pycontrails/models/emissions/emissions.py,sha256=MSyCMHdB-OXf9__CTHtAi85sCflqvifk4HT_1Qp_q4A,47564
70
- pycontrails/models/emissions/black_carbon.py,sha256=F2SCUiV39zg2mUxbWsct6vvr_JgHdyB59DVWkw40eX0,20234
71
- pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=NatpVI1D2tTDLK7uVvlanm9DhfFB44nmFA4aocUcXco,77318
72
- pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=jCjt7cP6sqLdbDp5NUoaqllVkZNE7NJtSnbB3rX_zQI,127523
73
- pycontrails/models/emissions/static/default-engine-uids.csv,sha256=3blb0aqtM8YRsyT1WDo0UYTBtv1h4BwXRIC_Ll9fhnI,6217
74
- pycontrails/models/apcemm/__init__.py,sha256=M-hrJklbSgBckclm526MiBAhpKPLHgJbB58ArbJuGIk,175
75
- pycontrails/models/apcemm/inputs.py,sha256=88GylkiaymEW_XZeFxLsICI9wV6kl8wVYsuyTe8zIQ8,6585
76
- pycontrails/models/apcemm/utils.py,sha256=xlEVe0RKFXrqDr4V77mbb2HxY8IK42EX4K86tN1sLQs,17094
77
- pycontrails/models/apcemm/apcemm.py,sha256=Qo3CdpQ5JULUit7Oi2l2_Mu8JXcW0QOYfQOyaL66ldM,39936
78
- pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=uAZkc57OUvDMjgX6F5f6hgDh3Hgg1NbHWRUFSiv0DEI,6745
79
- pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=7o2jTRfOqTkqAQPYQ-CdZAm5V5IZsp_RrVbTCQCdvZY,36745
80
- pycontrails/models/humidity_scaling/__init__.py,sha256=nqsab_j9BCwMbTfCn4BjXMdhItlvNKkgUJ9-lb8RyIo,1119
81
- pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq,sha256=tfYhbafF9Z-gGCg6VQ1YBlOaK_01e65Dc6s9b-hQ6Zo,286375
82
- pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq,sha256=pShCvNUo0NYtAHhT9IBRuj38X9jejdlKfv-ZoOKmtKI,35943
83
- pycontrails/models/cocip/radiative_forcing.py,sha256=aA4ZHaVOsg0lro04LwwKaBf3mXljRAzbwQpDLaxk4qU,44873
84
- pycontrails/models/cocip/wind_shear.py,sha256=p8d3iaNzxPA3MoxFEM1ZDKt0aticoD6U9cv0QmbuBzs,3860
85
- pycontrails/models/cocip/cocip.py,sha256=hd5v3LtKomVGz2vUGHDIbffrip975utSun5iZKwRWA8,100180
86
- pycontrails/models/cocip/output_formats.py,sha256=7P0j-UX4NNw56Gkd3ZsWDt0ctorJTZ4aPmUiibAh1FM,83641
87
- pycontrails/models/cocip/__init__.py,sha256=jd-9Tq20s1kwQBlxsYfZLi3hlT5MnWOY2XsPazq1fgE,962
88
- pycontrails/models/cocip/cocip_params.py,sha256=kKTeF1vVQr361XBR79q4mQHYI7UUQ6C5Ik5Z5pJDtag,12703
89
- pycontrails/models/cocip/wake_vortex.py,sha256=i_OF193KK5BCMdVCgK0_4Aqn55f6rnL4WDWEac8um-w,14421
90
- pycontrails/models/cocip/cocip_uncertainty.py,sha256=-3ICEbrhB6eQiYIqpEahzhf12AwV7ge-yvj_NaOqW3g,11891
91
- pycontrails/models/cocip/radiative_heating.py,sha256=YRpwfXgFnf89iuJiIM96q-jbdcMAwlX8QLsADTKMABE,18848
92
- pycontrails/models/cocip/contrail_properties.py,sha256=tycCxKf8j9GvVYDQBPxjtp6xLll-r00C0XW-w1jGbMI,55594
93
- pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=kDxFpAIkcqqhGmwXoxv3_cSESj1Ur45GbLJF56IACJs,14573
94
- pycontrails/models/ps_model/__init__.py,sha256=5L-HympF1gJaZ6xiNkIQJygJhkDxM3-ejS_T2z-83hQ,495
95
- pycontrails/models/ps_model/ps_model.py,sha256=l9ukna7amMvdq03Mk1wqw9JmBUWhpEGAqLoWWutg_4I,33502
96
- pycontrails/models/ps_model/ps_aircraft_params.py,sha256=-PfT2JC6RckVi_zTDVTqAMyaS-id6I2klUoXoEXreAc,13077
97
- pycontrails/models/ps_model/ps_operational_limits.py,sha256=_vFJiPqGuZJRzwuY10-z07-7eEyomnpxPm_Js1Cd5So,16832
98
- pycontrails/models/ps_model/ps_grid.py,sha256=AqZCEytWhrNbyujlJTufI4cxDonkPchGnrB3IvtRID4,18667
99
- pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv,sha256=ksrpQTHkxSt1Va_R0rHdenEz6DlIs-Sfk1KFBzHKjhk,1038
100
- pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv,sha256=3eNhSwzut0gon04k2EYKKaXRvQSUlau3yBAbHS0EBao,25784
101
- pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=l4vBPrOKCJDz5Y1uMjmOGVyUcSWgfZtFWbjW968OPz8,5875
102
- pycontrails/models/cocipgrid/__init__.py,sha256=ar6bF_8Pusbb-myujz_q5ntFylQTNH8yiM8fxP7Zk30,262
103
- pycontrails/models/cocipgrid/cocip_grid.py,sha256=JV-arscdjzvUWbtaOoDuo_87VlKIwID7Vbw-KwCurzI,94337
104
- pycontrails/physics/geo.py,sha256=9ZWIXyEEgrBNqsoeBBlYLTA-8GUTgyc-jgeVgchxXa8,30288
105
- pycontrails/physics/units.py,sha256=j-G5AC9eWIvv2MTOq9lUOoOQKFNJJuHzWLanHRji2tE,12272
106
- pycontrails/physics/constants.py,sha256=pHQQmccMUwuNnY4hFtm3L8G2rnUQcfJnroyQr8HAVeM,3146
107
- pycontrails/physics/__init__.py,sha256=_1eWbEy6evEWdfJCEkwDiSdpiDNzNWEPVqaPekHyhwU,44
108
- pycontrails/physics/thermo.py,sha256=sWGpKa12daSpqZYNgyXd8Ii5nfA_1Mm5mMbnM5GsW-E,12787
109
- pycontrails/physics/jet.py,sha256=JX-o5dDjyITMNUIOcD_7UBt_4ldc9v-5gI6bmwf0wQ4,25624