pycontrails 0.54.2__cp310-cp310-win_amd64.whl → 0.54.4__cp310-cp310-win_amd64.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.cp310-win_amd64.pyd +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/__init__.py,sha256=NOLObVatChUoklxD_qM8rjDtzrYu1gpmurNWqBhPpUM,2074
2
+ pycontrails/_version.py,sha256=xKxgcTEdq0NjYH6Hbq4pY-EOXx3T98XpNxO1vgFDJqU,429
3
+ pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ pycontrails/core/__init__.py,sha256=kOAehIZBbvksSW3MuU2DfzsyeE4PaFnOTpYMeq2ZDPE,886
5
+ pycontrails/core/aircraft_performance.py,sha256=nSIrsWsrP5muWtI805kR_shv6Um8QJMHVLCAMa1ycvk,27902
6
+ pycontrails/core/airports.py,sha256=nGKXN3jOtzsDCaJZVFNO3e3w-U3lqMTz5Ww5jALiRJY,6984
7
+ pycontrails/core/cache.py,sha256=NnlElV4ejshgyU2LMf5BtZGqmr1kZOxwz1hAT2Lq1ok,28953
8
+ pycontrails/core/coordinates.py,sha256=J5qjGuXgbLUw_U9_qREdgOaHl0ngK6Hbbjj3uw7FwNE,5565
9
+ pycontrails/core/fleet.py,sha256=FHvyikLV0o4d0OXw4AQGXNK24v4ybS1gYSBae4FF_cg,16431
10
+ pycontrails/core/flight.py,sha256=pZJy0N1EJZCqXFjZLfCMuFqGaA9mK4IUtaC-JvodS8I,82540
11
+ pycontrails/core/flightplan.py,sha256=0ozSt3jqa62PZBjXnEDQLbZO1YORg3r2552RpRtkKZA,7555
12
+ pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
13
+ pycontrails/core/interpolation.py,sha256=CDuOi1wXUT0L_LhPthiptoPsTAcXV7OuQW9FHsWXutQ,26400
14
+ pycontrails/core/met.py,sha256=9xAqkEGg4wKn6lBisvBl0AnMzr_xjG2Jx7-WMaTb0DQ,104252
15
+ pycontrails/core/met_var.py,sha256=iLk8R2Yq2MCnc7_XJLUULqojBwe1seFp3jdaTm8T-BY,9490
16
+ pycontrails/core/models.py,sha256=BVNsBL5vSKzJPZCN57v7BOfLtXufVlIBN8jFJHCuwM4,40984
17
+ pycontrails/core/polygon.py,sha256=NZ4YBhdALidXYOPsSX1cwGQ022j-AXgbWIQg7LA-f-I,18593
18
+ pycontrails/core/rgi_cython.cp310-win_amd64.pyd,sha256=XvWkW6tGK0APEng_hkHO183kPsyLlvu4diC0ygzaJvg,256000
19
+ pycontrails/core/vector.py,sha256=SPG96XDzm3WLUsL-pbQFx3w8YPo-CVp6IgGIWgy5sl8,72239
20
+ pycontrails/datalib/__init__.py,sha256=Q2RrnjwtFzfsmJ2tEojDCzDMkd8R0MYw4mQz3YwUsqI,381
21
+ pycontrails/datalib/goes.py,sha256=eMo_A_Kxii3dTItp6_j6obvyT1NiGAr06RyYMuHZzd0,27327
22
+ pycontrails/datalib/landsat.py,sha256=YrDpngF5HtvWFVwxN0FLFxCfZIEmeBMiifdkbH7fQTk,20263
23
+ pycontrails/datalib/sentinel.py,sha256=ukzdSeHKC1UBWEYzehS2LqtKoCpKpaPobLfbZDGy6KU,17679
24
+ pycontrails/datalib/spire.py,sha256=aW0wh5GDrszFb20ZMzmWKQ4uHbOCmHvVt9Sf4U3AyTI,26070
25
+ pycontrails/datalib/_leo_utils/search.py,sha256=8JzT56ps3SH1W-5rwL8BWuxLLljwxa_5fjLAuZdL_Vg,8937
26
+ pycontrails/datalib/_leo_utils/vis.py,sha256=0UDVcqMRqHmAORDV4Xyk-HVnTAjbOCf7KCpWm2ilTLE,1861
27
+ pycontrails/datalib/_leo_utils/static/bq_roi_query.sql,sha256=r_gVjpoEvCcAJP56QlXaXzgfWPZdf-kYo3D316glJLU,266
28
+ pycontrails/datalib/_met_utils/metsource.py,sha256=-Jhv02bUtqaB52Fy5w1O3AGStils1Qa9aDxRG57qwTQ,24867
29
+ pycontrails/datalib/ecmwf/__init__.py,sha256=9EkfWlGki8LYt7ySKf87gS8RzZjAOxK2w87_Sok3CCo,2094
30
+ pycontrails/datalib/ecmwf/arco_era5.py,sha256=PojAfT0N12SLcgiecZtHiN96sbRWwFx3PThrXIwSX5M,12782
31
+ pycontrails/datalib/ecmwf/common.py,sha256=6fcZC_-3FvWJ3vtlZX89PiiS7-DSQhAOgxrLjwU4iW4,4138
32
+ pycontrails/datalib/ecmwf/era5.py,sha256=W4qA-9UPIMXHZ86FymC5irgfx9l7a8Age3FbE2x6D40,19601
33
+ pycontrails/datalib/ecmwf/era5_model_level.py,sha256=0uZiRFgj4dTvx4f92butomAof2yuMM-VY-SFnIovyNY,19919
34
+ pycontrails/datalib/ecmwf/hres.py,sha256=k7VK1KUOopzTd0TrO5FYwFSSagArKq4q8oAyK3hNPso,29168
35
+ pycontrails/datalib/ecmwf/hres_model_level.py,sha256=ghrN-z5bjV-ztv6L5KlGiCLlGR9ABbAe5k38CaARmLU,18121
36
+ pycontrails/datalib/ecmwf/ifs.py,sha256=qCZHJPWs0Kxnmk--SX-ozNZf53Y3-NmbusX0olfsEjE,11067
37
+ pycontrails/datalib/ecmwf/model_levels.py,sha256=noLSx45AHZ0rFPiUh3aK3iaEueHgsg6mG_AplHqHeU8,17431
38
+ pycontrails/datalib/ecmwf/variables.py,sha256=49uzpkk9YV5OGBnq-Po5e3ig2JXi2i1ZtsOOEC-AQFI,10181
39
+ pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=9u7CVA3QnPUmNLIWUkF5b9wFunczkvx1zSudwGmtOv8,9927
40
+ pycontrails/datalib/gfs/__init__.py,sha256=DGd8twOXwRZZhHx5muc9SJT-YET1KB599kS45_x3IbY,712
41
+ pycontrails/datalib/gfs/gfs.py,sha256=Maxz7n8IbOWjTWWBQ-UTuRiN_25DGiKzIPTfMdNPFjY,23074
42
+ pycontrails/datalib/gfs/variables.py,sha256=gmw5cs8RAeB-s9kCbnuKFp1K2SqNbc0lNR-JqhcenZY,3239
43
+ pycontrails/ext/bada.py,sha256=RmLDMaZQody8XUR-1I_5rPJqoz6eIq63IpDTcuJweoc,1133
44
+ pycontrails/ext/cirium.py,sha256=zRPVBBWwocZKkX3XhonSBf54x7P_xnjRcA7psI0Kqnw,429
45
+ pycontrails/ext/empirical_grid.py,sha256=mveQltokaGeQcxxbdMSLQ6wQ14oh3XX5dfzjWaFpxbk,4503
46
+ pycontrails/ext/synthetic_flight.py,sha256=6w2pC7DpbdHi3J1w5BL-8j3xCzYdP8N7FQ8dsMfDBpw,17226
47
+ pycontrails/models/__init__.py,sha256=TKhrXe1Pu1-mV1gctx8cUAMrVxCCAtBkbZi9olfWq8s,34
48
+ pycontrails/models/accf.py,sha256=YlRo5aDeHSSYE7IRHbNW4dsWTACCkVaYsqGbgM-AqlI,14090
49
+ pycontrails/models/dry_advection.py,sha256=rjjd7-KjC98JVbB-ne13o41TuxvJeQ9d6IrrQI2XBuI,17377
50
+ pycontrails/models/issr.py,sha256=QXkTIpj13u9qG5BeAaMVdtWbN8hNSsnGLL5hIzU5ZMM,7550
51
+ pycontrails/models/pcc.py,sha256=M5KhtRgdCP9pfDFgui7ibbijtRBTjx3QOJL_m1tQYfs,11443
52
+ pycontrails/models/pcr.py,sha256=G_0yR5PsCMeJBP6tZFi3M7A6Wcq8s71UvosdA7ozUkI,5502
53
+ pycontrails/models/sac.py,sha256=LhEwexJZnkxitj-x5eNVSCDGdkoCdj8Zh_I0WB8FWOY,16405
54
+ pycontrails/models/tau_cirrus.py,sha256=7wvZrgT9Da8A4SzIlLsE1zIRoJRNglmR2yKsMCAjxaQ,5556
55
+ pycontrails/models/apcemm/__init__.py,sha256=dDsRW3V6jjzKDd43Yoyc74m_Om1fccvftZgp3OFdAYE,183
56
+ pycontrails/models/apcemm/apcemm.py,sha256=WpJ6TwteIBnYXq5QwoklBEQZBK4Ot7It993JWQQl7JY,40982
57
+ pycontrails/models/apcemm/inputs.py,sha256=zHRSWVVlwYw6ms7PpC0p0I-xFsRDUVY9eDZ1g95Uf8U,6811
58
+ pycontrails/models/apcemm/utils.py,sha256=6pKQbS5EAzTnI_edVtUvGrzM0xwNq1t9MBGgCRJtg_0,17531
59
+ pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=A3H_FWVOtqkZhG91TWLdblMKaLWIcjRMsKqkfTN6mB4,6928
60
+ pycontrails/models/cocip/__init__.py,sha256=v8JJN_Jx3_tOHaqGaQG-Es7srEAtSCHI7-gCEnM-n-s,991
61
+ pycontrails/models/cocip/cocip.py,sha256=IEinGyJ8yV2-BGNv6zJp0Txcps2kO3GlFGmeFgE8mL8,102758
62
+ pycontrails/models/cocip/cocip_params.py,sha256=9q6teJgXKxEqWLhA_itMG-A8OeLIFb7XvEUUf7eTjdE,12631
63
+ pycontrails/models/cocip/cocip_uncertainty.py,sha256=fKQVAg-HyviegwNauxLgX9wdA0cRpK8XAOCNjZZIRWI,12528
64
+ pycontrails/models/cocip/contrail_properties.py,sha256=jF7iXFmMQEpyI3DNkRa7NFs-unx5a3HmmX6xs9FSJDQ,57734
65
+ pycontrails/models/cocip/output_formats.py,sha256=JwEpcagVSoyKihTR6pgPEBB0WJAwRwHxVkL2_xeQJLY,85958
66
+ pycontrails/models/cocip/radiative_forcing.py,sha256=Zx7amTmIQHozuYyxfkryBJZVFDJws6a--By71TIMMIk,46297
67
+ pycontrails/models/cocip/radiative_heating.py,sha256=PcOEkqRtQJNq7bxOoz1baBbVV2ku1UQRMrrQXXsRBwc,19504
68
+ pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=GBFtwCPslStlgJU81WgE7nkWHVfSJkxFrPgJ2nq4PJc,15081
69
+ pycontrails/models/cocip/wake_vortex.py,sha256=i6P1UDxde_WPP8SAliPdiaVCdeFMRxCFR7_zKaoNlno,14911
70
+ pycontrails/models/cocip/wind_shear.py,sha256=qhmP3RJ9SEjd-qnXcgRiYis9-apKGF-1d78z6N__tq8,3988
71
+ pycontrails/models/cocipgrid/__init__.py,sha256=OYSdZ1Htbr_IP7N_HuOAj1Pa_KLHtdEeJfXP-cN-gnU,271
72
+ pycontrails/models/cocipgrid/cocip_grid.py,sha256=ovBUx81oaeMzTqKlZGJUXwHRdm3q8iX3tofTWyKfuhA,96045
73
+ pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=ZpN00VEmeRYaeZhvSfVjnEjrgn6XdClf1eqJC8Ytcuw,6013
74
+ pycontrails/models/emissions/__init__.py,sha256=phai3wH5VuUyfyVpu5vHOFI0jXSyoYSWvLTknS78xs0,499
75
+ pycontrails/models/emissions/black_carbon.py,sha256=oIi-SxnRKdVDewyzqpA5eE4kzq5CJCtPcNcqrUh4Ito,20940
76
+ pycontrails/models/emissions/emissions.py,sha256=0vvVtR5T3Hk5E5g5ORLgr1wsYgAutlAKXDB-Rhoq3JE,49006
77
+ pycontrails/models/emissions/ffm2.py,sha256=sWWzaV-5N2nNQlS0RxgKFwPzja5dehc99mfifTHW6pQ,12404
78
+ pycontrails/models/emissions/static/default-engine-uids.csv,sha256=6e-0Fjbka1www4o2CNtw2pW-g0s_E7hZQ6vOaR84Q5Y,6456
79
+ pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=s-3_KGQyVoypXCHeQgsTDwdri-e3JVJn5SDxZo60m_s,128119
80
+ pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=MwLLrcATd38KPddTpHpMGBrZuA4I7he-1B5otTp4ar8,77533
81
+ pycontrails/models/humidity_scaling/__init__.py,sha256=-xqDCJzKJx2nX6yl-gglHheQHWDhkvb8X7atbMJT2LA,1156
82
+ pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=NT0VtkrCAiQwaQMBqfHskNPDmCpEX2Qpm1faMDsiOmI,37800
83
+ pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq,sha256=pShCvNUo0NYtAHhT9IBRuj38X9jejdlKfv-ZoOKmtKI,35943
84
+ pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq,sha256=tfYhbafF9Z-gGCg6VQ1YBlOaK_01e65Dc6s9b-hQ6Zo,286375
85
+ pycontrails/models/ps_model/__init__.py,sha256=fCGfdrJjK4K_EOODU8exmOFzedbABb3bMbuFi0gbrgc,571
86
+ pycontrails/models/ps_model/ps_aircraft_params.py,sha256=xs6-bCAhhOgN-LRDa7rUuuJdYM-bjDAMABLRayVhYwo,13731
87
+ pycontrails/models/ps_model/ps_grid.py,sha256=UUc7ena69z7h5PISa3a9-fyU074U7vgWWQF-aC_9WE8,26734
88
+ pycontrails/models/ps_model/ps_model.py,sha256=quKoYFhfXjnUQQx-ePcNVmOmN6G_o91g6_Sobz3Hndw,34255
89
+ pycontrails/models/ps_model/ps_operational_limits.py,sha256=qGT6_EP0v5Zn9_V5fnB309eyifZRzQFE1G5qmJiw4gU,17006
90
+ pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv,sha256=2RtIHwXRuMVAEfsefopm1m6ozHi8YciYUN3WTMpfoo4,25852
91
+ pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv,sha256=MLXOeVjC5FQULGNc6rn-_BdSURJAkJLMSDzPhC7OpDY,1141
92
+ pycontrails/physics/__init__.py,sha256=AScCMSMSZjKxfL6mssdSLwcja1ml7MzREThQp5PLr9U,45
93
+ pycontrails/physics/constants.py,sha256=SWG7H7eJCvQXfUR3qS6_fYzNvEeRZga50qT2RuaHoYU,3262
94
+ pycontrails/physics/geo.py,sha256=k7fuEhWsV-qGn37wZklnlQpmoalhBN12Ygm_kN6dUFo,37371
95
+ pycontrails/physics/jet.py,sha256=z_MNEU7BVcy0sTtRbpKooS0Ynf4Ah5kVMDoLIeO-4Fg,31274
96
+ pycontrails/physics/thermo.py,sha256=HAcg2wmNXW-vJbOF2kOXBoUyJiAosPY0nRWeM37otdY,13238
97
+ pycontrails/physics/units.py,sha256=P6j9v2-29TDoy2JE_FQlcXH-2mlihVulSP1wBLqZY44,12765
98
+ pycontrails/physics/static/iata-cargo-load-factors-20241115.csv,sha256=fd54t1cJMpR0jshWhpZxzfglQ9wmDL3I1D3mifqtkqw,3757
99
+ pycontrails/physics/static/iata-passenger-load-factors-20241115.csv,sha256=EwTFMGkvHXI2W5sbsAmQ82kZ6nb7bpP9JZKg2PY-M00,3752
100
+ pycontrails/utils/__init__.py,sha256=VmklFC-5I5lGFQEzuomlPk_bM6CoM9XDljfjCovG3vw,33
101
+ pycontrails/utils/dependencies.py,sha256=SjEdbDDKfGmmYResWZndMCUySO0W0ptWAeY1aA_kcx8,2625
102
+ pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy4,332
103
+ pycontrails/utils/json.py,sha256=Pqashwoupuf_GfrrSfHclwug9Hg-kYQ4WNxEqay_0Rc,6083
104
+ pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
105
+ pycontrails/utils/types.py,sha256=hPqUwaeRLgga69nj7LVbPojPg1k7pUSvYzFlGAiPKIM,5154
106
+ pycontrails-0.54.4.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
107
+ pycontrails-0.54.4.dist-info/METADATA,sha256=lSgEm44TBaerh5-wlgcdIVWvGv7EN1QSc6Fm2mmUCb0,9335
108
+ pycontrails-0.54.4.dist-info/NOTICE,sha256=QG0F9avpssHcmlEMlLbndVRGqmB7ATPIk16uDVmTlVE,1972
109
+ pycontrails-0.54.4.dist-info/WHEEL,sha256=tcd-HDpskugT8GYYKyyid0lOlzoZtZdWwcrj5ormtfo,101
110
+ pycontrails-0.54.4.dist-info/top_level.txt,sha256=dwaYXVcMhF92QWtAYcLvL0k02vyBqwhsv92lYs2V6zQ,23
111
+ pycontrails-0.54.4.dist-info/RECORD,,
@@ -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-win_amd64
5
5
 
@@ -1,109 +0,0 @@
1
- pycontrails/__init__.py,sha256=EpPulx2dBYpqZNsyh6HTwGGnFsvBVHBXabG5VInwSg4,2071
2
- pycontrails/_version.py,sha256=mC3vkpyLEZ07amX98qZXKhkK9brNZvIS9DOK52GQrNw,429
3
- pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- pycontrails/core/__init__.py,sha256=X0DX2FGboPN_svwN2xiBzoPpHhDtg0oKFjXQfmCqMWU,886
5
- pycontrails/core/aircraft_performance.py,sha256=ZXw0asXC0SV0xc6Ks8e_ZLQCWxQlfVlL0T9xwnkXtwQ,27069
6
- pycontrails/core/airports.py,sha256=nGKXN3jOtzsDCaJZVFNO3e3w-U3lqMTz5Ww5jALiRJY,6984
7
- pycontrails/core/cache.py,sha256=W4N-bsw_6mkzcFiMfAmArMtlEP9OHVipjTeoniToQ3M,28953
8
- pycontrails/core/coordinates.py,sha256=J5qjGuXgbLUw_U9_qREdgOaHl0ngK6Hbbjj3uw7FwNE,5565
9
- pycontrails/core/fleet.py,sha256=X2gDpK9d_IedzkLQdPhtT9sKu7n05kLSFpXpTfPmuPE,16202
10
- pycontrails/core/flight.py,sha256=bwUiGPCnIOcHD4S-kLcfrG29qQfiptf3pAvY3uheyQs,85191
11
- pycontrails/core/flightplan.py,sha256=0ozSt3jqa62PZBjXnEDQLbZO1YORg3r2552RpRtkKZA,7555
12
- pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
13
- pycontrails/core/interpolation.py,sha256=AYG5PKkBKlCZpje7HNi8P7wlbikds76QMlJnlRrCKFs,26338
14
- pycontrails/core/met.py,sha256=fdLHJXjyazaZ75UQXBPg3ZVZjhNGUS_tjp0x4v5hVPk,103651
15
- pycontrails/core/met_var.py,sha256=iLk8R2Yq2MCnc7_XJLUULqojBwe1seFp3jdaTm8T-BY,9490
16
- pycontrails/core/models.py,sha256=KWDCVzpg-0pfp7075XtLlNm-ALuthPm4KSowr9Wn21Y,40463
17
- pycontrails/core/polygon.py,sha256=F403uzql_c47MPM2Qdmec6WwtFaXZyb48h-4gK-K4EU,18577
18
- pycontrails/core/rgi_cython.cp310-win_amd64.pyd,sha256=EDPS0j5-rSqPGOPBTN7miEz96cwWmPFJXQuOiNuXUNs,256512
19
- pycontrails/core/vector.py,sha256=VZi7sSjgchJN6vu7Xabf-OC_J85-DwbeOCC7SM8M9IY,72201
20
- pycontrails/datalib/__init__.py,sha256=Q2RrnjwtFzfsmJ2tEojDCzDMkd8R0MYw4mQz3YwUsqI,381
21
- pycontrails/datalib/goes.py,sha256=UMxXXCiRL6SHY5_3cXs8GmG19eeKOOi3gKCimkyZSuc,27305
22
- pycontrails/datalib/landsat.py,sha256=bxk_3cOLndOguYkzyg9dLU2YNhGHYwrAOaQY_NkdPq8,20290
23
- pycontrails/datalib/sentinel.py,sha256=BSoRcRldulWw1jHpm6rszeZdgUO7P6MMMYBwXAjLb1g,17732
24
- pycontrails/datalib/spire.py,sha256=aW0wh5GDrszFb20ZMzmWKQ4uHbOCmHvVt9Sf4U3AyTI,26070
25
- pycontrails/datalib/_leo_utils/search.py,sha256=8JzT56ps3SH1W-5rwL8BWuxLLljwxa_5fjLAuZdL_Vg,8937
26
- pycontrails/datalib/_leo_utils/vis.py,sha256=0UDVcqMRqHmAORDV4Xyk-HVnTAjbOCf7KCpWm2ilTLE,1861
27
- pycontrails/datalib/_leo_utils/static/bq_roi_query.sql,sha256=r_gVjpoEvCcAJP56QlXaXzgfWPZdf-kYo3D316glJLU,266
28
- pycontrails/datalib/_met_utils/metsource.py,sha256=8-f6Aee9wAG3RlVc2rnK-b1LKrtwABiPBd_1uEgM3dg,24712
29
- pycontrails/datalib/ecmwf/__init__.py,sha256=l5AXK1UEt7OG7H-VTfEE-fvtesEqVagHM8ZqkElF1m0,2094
30
- pycontrails/datalib/ecmwf/arco_era5.py,sha256=PojAfT0N12SLcgiecZtHiN96sbRWwFx3PThrXIwSX5M,12782
31
- pycontrails/datalib/ecmwf/common.py,sha256=1RCMZEYjSB83iGvEc5d3a8ShyZlc0EIAtE38XSC98UA,4110
32
- pycontrails/datalib/ecmwf/era5.py,sha256=Z44my_mS5WARp6BFwuvnGZp-sI8Z8v8Sf_5KdpTPaq0,19659
33
- pycontrails/datalib/ecmwf/era5_model_level.py,sha256=0uZiRFgj4dTvx4f92butomAof2yuMM-VY-SFnIovyNY,19919
34
- pycontrails/datalib/ecmwf/hres.py,sha256=PMos1_JlqlLdmus0yz4ZR1257hKRnl0uRqRaH9oht_g,29112
35
- pycontrails/datalib/ecmwf/hres_model_level.py,sha256=ghrN-z5bjV-ztv6L5KlGiCLlGR9ABbAe5k38CaARmLU,18121
36
- pycontrails/datalib/ecmwf/ifs.py,sha256=_JM2s5UvPDQu7Rdmx2dcxBIyZrKC7gvHqurR3sSqWxw,11039
37
- pycontrails/datalib/ecmwf/model_levels.py,sha256=noLSx45AHZ0rFPiUh3aK3iaEueHgsg6mG_AplHqHeU8,17431
38
- pycontrails/datalib/ecmwf/variables.py,sha256=nWHVbTsvGShjxJIrbgE0NgXNPlsefyU4ebSYY2tDTlY,10132
39
- pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=9u7CVA3QnPUmNLIWUkF5b9wFunczkvx1zSudwGmtOv8,9927
40
- pycontrails/datalib/gfs/__init__.py,sha256=VcE2j62ITbY7F3tEtgaLrfyjHWci-4mvLtnVg3SVgtE,712
41
- pycontrails/datalib/gfs/gfs.py,sha256=8HjxUebIhO6xA94-Nu9o8BAXiccpYrpJJ7SODbQ0Cko,23046
42
- pycontrails/datalib/gfs/variables.py,sha256=gmw5cs8RAeB-s9kCbnuKFp1K2SqNbc0lNR-JqhcenZY,3239
43
- pycontrails/ext/bada.py,sha256=S0qfNYsp1cGqkHGPu-IkAwk66lD79yikRlrq9uwgPpI,1104
44
- pycontrails/ext/cirium.py,sha256=zRPVBBWwocZKkX3XhonSBf54x7P_xnjRcA7psI0Kqnw,429
45
- pycontrails/ext/empirical_grid.py,sha256=1WHyt1VOWEr7bMlnXo1tEKJgePvLKjKsCCee2w22gf8,4502
46
- pycontrails/ext/synthetic_flight.py,sha256=1aaTTfNk0IP8ZhuUSqBLCNRmO-2oI7vv9FZKpA9HXLU,17187
47
- pycontrails/models/__init__.py,sha256=TKhrXe1Pu1-mV1gctx8cUAMrVxCCAtBkbZi9olfWq8s,34
48
- pycontrails/models/accf.py,sha256=Mncb82HZWbFerPBCQqZGs5P781JsqAuRxosXG-E-i6c,12974
49
- pycontrails/models/dry_advection.py,sha256=YurECAbB0J8w9M0JKTm4FzX1VcwzYoyAhnxGXB7HWgM,17191
50
- pycontrails/models/issr.py,sha256=QXkTIpj13u9qG5BeAaMVdtWbN8hNSsnGLL5hIzU5ZMM,7550
51
- pycontrails/models/pcc.py,sha256=M5KhtRgdCP9pfDFgui7ibbijtRBTjx3QOJL_m1tQYfs,11443
52
- pycontrails/models/pcr.py,sha256=G_0yR5PsCMeJBP6tZFi3M7A6Wcq8s71UvosdA7ozUkI,5502
53
- pycontrails/models/sac.py,sha256=LhEwexJZnkxitj-x5eNVSCDGdkoCdj8Zh_I0WB8FWOY,16405
54
- pycontrails/models/tau_cirrus.py,sha256=eXt3yRrcFBaZNNeH6ZOuU4XEZU2rOfrLKEOC7f0_Ywo,5194
55
- pycontrails/models/apcemm/__init__.py,sha256=dDsRW3V6jjzKDd43Yoyc74m_Om1fccvftZgp3OFdAYE,183
56
- pycontrails/models/apcemm/apcemm.py,sha256=0zsQBvuqJTgdD3DF3yw3qzSipoNMIliHfuTr5bhh744,40918
57
- pycontrails/models/apcemm/inputs.py,sha256=zHRSWVVlwYw6ms7PpC0p0I-xFsRDUVY9eDZ1g95Uf8U,6811
58
- pycontrails/models/apcemm/utils.py,sha256=6pKQbS5EAzTnI_edVtUvGrzM0xwNq1t9MBGgCRJtg_0,17531
59
- pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=A3H_FWVOtqkZhG91TWLdblMKaLWIcjRMsKqkfTN6mB4,6928
60
- pycontrails/models/cocip/__init__.py,sha256=miDxSFxN9PzL_ieSJb3BYeHmbKqZwGicCz1scNB5eW0,991
61
- pycontrails/models/cocip/cocip.py,sha256=qDjRhFmBR6ggj0yqF9uoKbdkFw7nwKMKiQn92gnsiT4,102801
62
- pycontrails/models/cocip/cocip_params.py,sha256=JwQl8FLcp4l5-MLiMQhPsxHL8jKXg2ymWXD7Jbn3zTQ,13002
63
- pycontrails/models/cocip/cocip_uncertainty.py,sha256=7W586BJEAY_wpSpfVdcdX-HpZG4twk3cMLhUR2ELTMA,12176
64
- pycontrails/models/cocip/contrail_properties.py,sha256=u6SvucHC6VtF2kujfSVFTfv0263t5uYpNOUJZAroEzc,57111
65
- pycontrails/models/cocip/output_formats.py,sha256=0x1oRTU-7r_dgRfpHkPw7JgqheoFnYfuZ3ienrobe4g,85902
66
- pycontrails/models/cocip/radiative_forcing.py,sha256=ZXYZm6Ux5mAb_1rFbYRXm8U6Ywq8FJFAqJnX1x0i97Q,46135
67
- pycontrails/models/cocip/radiative_heating.py,sha256=N7FTR20luERmokprdqMOl-d8-cTYZZ2ZSsTdxZnLHfs,19368
68
- pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=Ymz-uO9vVhLIFwT9yuF5g1g3hcT-XWdryLsebSBqoVU,14976
69
- pycontrails/models/cocip/wake_vortex.py,sha256=r3FM4egyGohRF0qGD3pFWBJppUQ_3GhtO_g7L74HmjU,14817
70
- pycontrails/models/cocip/wind_shear.py,sha256=Dm181EsiCBJWTnRTZ3ZI3YXscBRnhA6ANnKer004b2Q,3980
71
- pycontrails/models/cocipgrid/__init__.py,sha256=OYSdZ1Htbr_IP7N_HuOAj1Pa_KLHtdEeJfXP-cN-gnU,271
72
- pycontrails/models/cocipgrid/cocip_grid.py,sha256=j-lFzr48Vir9yU1hT0w6RtGSbfv3tYozlmfWubPi-9Q,96912
73
- pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=ZpN00VEmeRYaeZhvSfVjnEjrgn6XdClf1eqJC8Ytcuw,6013
74
- pycontrails/models/emissions/__init__.py,sha256=BXzV2pBps8j3xbaF1n9uPdVVLI5MBIGYx8xqDJezYIE,499
75
- pycontrails/models/emissions/black_carbon.py,sha256=9DRqB487pH8Iq83FXggA5mPLYEAA8NpsKx24f8uTEF4,20828
76
- pycontrails/models/emissions/emissions.py,sha256=TqRPC15hC0gvL4-D4jDBgCOzOiSij6h0vvo7_GDkjI8,48917
77
- pycontrails/models/emissions/ffm2.py,sha256=wtiWk00_Rby2_xJN-pMY6Ays0CZwFhvqDRFmIIkwunU,12368
78
- pycontrails/models/emissions/static/default-engine-uids.csv,sha256=6e-0Fjbka1www4o2CNtw2pW-g0s_E7hZQ6vOaR84Q5Y,6456
79
- pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=s-3_KGQyVoypXCHeQgsTDwdri-e3JVJn5SDxZo60m_s,128119
80
- pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=MwLLrcATd38KPddTpHpMGBrZuA4I7he-1B5otTp4ar8,77533
81
- pycontrails/models/humidity_scaling/__init__.py,sha256=-xqDCJzKJx2nX6yl-gglHheQHWDhkvb8X7atbMJT2LA,1156
82
- pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=CdOmWLPEd__wpGt8EMXT3PAM8W_iLUw9njG-N-w9Urw,37775
83
- pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq,sha256=pShCvNUo0NYtAHhT9IBRuj38X9jejdlKfv-ZoOKmtKI,35943
84
- pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq,sha256=tfYhbafF9Z-gGCg6VQ1YBlOaK_01e65Dc6s9b-hQ6Zo,286375
85
- pycontrails/models/ps_model/__init__.py,sha256=QggqLRpqUh6imcn7GFPcKFSU4s3WjgfdvO8hH_OO8NY,512
86
- pycontrails/models/ps_model/ps_aircraft_params.py,sha256=ZqY9VEnFmYQ10ZMHBUfcIE4RF3iml9ctp0YF2v4Lg0I,13453
87
- pycontrails/models/ps_model/ps_grid.py,sha256=DIUItUslzJARa_Ly_SUGur8_D3Ph6_qBX1BNcL2g4mI,19172
88
- pycontrails/models/ps_model/ps_model.py,sha256=f_wwvVMmuNDRohCjYf9mUzLtugKEfzU-zbZgbYle0fo,34539
89
- pycontrails/models/ps_model/ps_operational_limits.py,sha256=hpgNkS1Xx7mjTSoNzfGoy50Yv9LNWfBDAVgPfa1c31k,17372
90
- pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv,sha256=2RtIHwXRuMVAEfsefopm1m6ozHi8YciYUN3WTMpfoo4,25852
91
- pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv,sha256=MLXOeVjC5FQULGNc6rn-_BdSURJAkJLMSDzPhC7OpDY,1141
92
- pycontrails/physics/__init__.py,sha256=AScCMSMSZjKxfL6mssdSLwcja1ml7MzREThQp5PLr9U,45
93
- pycontrails/physics/constants.py,sha256=SWG7H7eJCvQXfUR3qS6_fYzNvEeRZga50qT2RuaHoYU,3262
94
- pycontrails/physics/geo.py,sha256=GlrGgFI26hsc04o6QLN6rY6Q1mgXuZkLXkNh1juXxuc,31277
95
- pycontrails/physics/jet.py,sha256=iQ0g5cocj6j0JZPSxpTF3LLypSZGx3QQc6UyXsFfJGc,26461
96
- pycontrails/physics/thermo.py,sha256=HAcg2wmNXW-vJbOF2kOXBoUyJiAosPY0nRWeM37otdY,13238
97
- pycontrails/physics/units.py,sha256=GnCJCKz25jcEYGcQVWfuYViVha6mukf08Eo4pK_3iYo,12744
98
- pycontrails/utils/__init__.py,sha256=VmklFC-5I5lGFQEzuomlPk_bM6CoM9XDljfjCovG3vw,33
99
- pycontrails/utils/dependencies.py,sha256=SjEdbDDKfGmmYResWZndMCUySO0W0ptWAeY1aA_kcx8,2625
100
- pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy4,332
101
- pycontrails/utils/json.py,sha256=OHfKm4b9VeToxNBJM6gh3eI1xkTPDbvmXvWhHtsNr94,6102
102
- pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
103
- pycontrails/utils/types.py,sha256=pqyqz8oXE4cfsx0z2ctWrNnIQavpF8uVZaH2a5fqNak,4934
104
- pycontrails-0.54.2.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
105
- pycontrails-0.54.2.dist-info/METADATA,sha256=3F18VHx2UQSxtomFOEDYFMjMqWWGDZFX5e3ZOBQqAm0,9335
106
- pycontrails-0.54.2.dist-info/NOTICE,sha256=qYeNEp8OjDK5jSW3hTlr9LQRjZeEhXQm0zDei5UFaYs,1969
107
- pycontrails-0.54.2.dist-info/WHEEL,sha256=IqiWNwTSPPvorR7mTezuRY2eqj__44JKKkjOiewDX64,101
108
- pycontrails-0.54.2.dist-info/top_level.txt,sha256=dwaYXVcMhF92QWtAYcLvL0k02vyBqwhsv92lYs2V6zQ,23
109
- pycontrails-0.54.2.dist-info/RECORD,,