pycontrails 0.57.0__cp312-cp312-win_amd64.whl → 0.59.0__cp312-cp312-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 (40) hide show
  1. pycontrails/_version.py +3 -3
  2. pycontrails/core/aircraft_performance.py +1 -1
  3. pycontrails/core/cache.py +2 -2
  4. pycontrails/core/fleet.py +2 -7
  5. pycontrails/core/flight.py +2 -7
  6. pycontrails/core/interpolation.py +45 -67
  7. pycontrails/core/met.py +62 -37
  8. pycontrails/core/polygon.py +3 -3
  9. pycontrails/core/rgi_cython.cp312-win_amd64.pyd +0 -0
  10. pycontrails/core/vector.py +3 -8
  11. pycontrails/datalib/_met_utils/metsource.py +4 -7
  12. pycontrails/datalib/ecmwf/common.py +2 -2
  13. pycontrails/datalib/ecmwf/hres.py +2 -2
  14. pycontrails/datalib/ecmwf/ifs.py +1 -1
  15. pycontrails/datalib/ecmwf/model_levels.py +1 -1
  16. pycontrails/datalib/gfs/gfs.py +1 -1
  17. pycontrails/datalib/goes.py +10 -3
  18. pycontrails/datalib/gruan.py +343 -0
  19. pycontrails/datalib/himawari/header_struct.py +1 -1
  20. pycontrails/datalib/himawari/himawari.py +24 -7
  21. pycontrails/datalib/leo_utils/sentinel_metadata.py +9 -9
  22. pycontrails/ext/synthetic_flight.py +2 -2
  23. pycontrails/models/cocip/cocip_uncertainty.py +1 -1
  24. pycontrails/models/cocip/contrail_properties.py +1 -1
  25. pycontrails/models/cocip/output_formats.py +1 -1
  26. pycontrails/models/cocipgrid/cocip_grid.py +3 -3
  27. pycontrails/models/dry_advection.py +1 -1
  28. pycontrails/models/extended_k15.py +4 -4
  29. pycontrails/models/humidity_scaling/humidity_scaling.py +2 -2
  30. pycontrails/models/ps_model/ps_grid.py +2 -2
  31. pycontrails/models/sac.py +1 -1
  32. pycontrails/models/tau_cirrus.py +1 -1
  33. pycontrails/physics/thermo.py +4 -4
  34. pycontrails/utils/iteration.py +1 -1
  35. {pycontrails-0.57.0.dist-info → pycontrails-0.59.0.dist-info}/METADATA +5 -6
  36. {pycontrails-0.57.0.dist-info → pycontrails-0.59.0.dist-info}/RECORD +40 -39
  37. {pycontrails-0.57.0.dist-info → pycontrails-0.59.0.dist-info}/WHEEL +0 -0
  38. {pycontrails-0.57.0.dist-info → pycontrails-0.59.0.dist-info}/licenses/LICENSE +0 -0
  39. {pycontrails-0.57.0.dist-info → pycontrails-0.59.0.dist-info}/licenses/NOTICE +0 -0
  40. {pycontrails-0.57.0.dist-info → pycontrails-0.59.0.dist-info}/top_level.txt +0 -0
@@ -442,7 +442,7 @@ class ExponentialBoostLatitudeCorrectionHumidityScaling(HumidityScaling):
442
442
  met: MetDataset | None = None,
443
443
  params: dict[str, Any] | None = None,
444
444
  **params_kwargs: Any,
445
- ):
445
+ ) -> None:
446
446
  if (params is None or "level_type" not in params) and ("level_type" not in params_kwargs):
447
447
  msg = (
448
448
  "The default level_type will change from 'pressure' to 'model' "
@@ -863,7 +863,7 @@ class HistogramMatching(HumidityScaling):
863
863
  met: MetDataset | None = None,
864
864
  params: dict[str, Any] | None = None,
865
865
  **params_kwargs: Any,
866
- ):
866
+ ) -> None:
867
867
  if (params is None or "level_type" not in params) and (
868
868
  params_kwargs is None or "level_type" not in params_kwargs
869
869
  ):
@@ -639,9 +639,9 @@ def ps_nominal_optimize_mach(
639
639
  if sin_a is None or cos_a is None:
640
640
  msg = "Segment angles must be provide if wind data is specified"
641
641
  raise ValueError(msg)
642
- headwind = -(northward_wind * cos_a + eastward_wind * sin_a) # type: ignore[misc]
642
+ headwind = -(northward_wind * cos_a + eastward_wind * sin_a)
643
643
  else:
644
- headwind = 0.0 # type: ignore
644
+ headwind = 0.0
645
645
 
646
646
  min_mach = ps_operational_limits.minimum_mach_num(
647
647
  air_pressure=level * 100.0,
pycontrails/models/sac.py CHANGED
@@ -133,7 +133,7 @@ class SAC(Model):
133
133
 
134
134
  G = slope_mixing_line(specific_humidity, air_pressure, engine_efficiency, ei_h2o, q_fuel)
135
135
  T_sat_liquid_ = T_sat_liquid(G)
136
- rh_crit_sac = rh_critical_sac(air_temperature, T_sat_liquid_, G) # type: ignore[type-var]
136
+ rh_crit_sac = rh_critical_sac(air_temperature, T_sat_liquid_, G)
137
137
  rh = thermo.rh(specific_humidity, air_temperature, air_pressure) # type: ignore[type-var]
138
138
  sac_ = sac(rh, rh_crit_sac)
139
139
 
@@ -91,7 +91,7 @@ def tau_cirrus(met: MetDataset) -> xr.DataArray:
91
91
  # dask.array.gradient expects at least 2 elements in each chunk
92
92
  level_axis = geopotential_height.get_axis_num("level")
93
93
  if geopotential_height.chunks:
94
- level_chunks = geopotential_height.chunks[level_axis] # type: ignore[call-overload, index]
94
+ level_chunks = geopotential_height.chunks[level_axis]
95
95
  if any(chunk < 2 for chunk in level_chunks):
96
96
  geopotential_height = geopotential_height.chunk(level=-1)
97
97
 
@@ -84,7 +84,7 @@ def p_vapor(q: ArrayScalarLike, p: ArrayScalarLike) -> ArrayScalarLike:
84
84
  ArrayScalarTypeVar
85
85
  Vapor pressure, [:math:`Pa`]
86
86
  """
87
- return q * p * (constants.R_v / constants.R_d)
87
+ return q * p / constants.epsilon
88
88
 
89
89
 
90
90
  def water_vapor_partial_pressure_along_mixing_line(
@@ -269,7 +269,7 @@ def mk05_e_sat_liquid_prime(T: ArrayScalarLike) -> ArrayScalarLike:
269
269
  Derivative of :func:`mk05_e_sat_liquid`
270
270
  """
271
271
  tanh_term = np.tanh(0.0415 * (T - 218.8))
272
- return mk05_e_sat_liquid(T) * ( # type: ignore[return-value]
272
+ return mk05_e_sat_liquid(T) * (
273
273
  6763.22 / T**2
274
274
  - 4.21 / T
275
275
  + 0.000367
@@ -399,7 +399,7 @@ def rh(q: ArrayScalarLike, T: ArrayScalarLike, p: ArrayScalarLike) -> ArrayScala
399
399
  ArrayScalarLike
400
400
  Relative Humidity, :math:`[0 - 1]`
401
401
  """
402
- return (q * p * (constants.R_v / constants.R_d)) / e_sat_liquid(T)
402
+ return (q * p) / (constants.epsilon * e_sat_liquid(T))
403
403
 
404
404
 
405
405
  def rhi(q: ArrayScalarLike, T: ArrayScalarLike, p: ArrayScalarLike) -> ArrayScalarLike:
@@ -419,7 +419,7 @@ def rhi(q: ArrayScalarLike, T: ArrayScalarLike, p: ArrayScalarLike) -> ArrayScal
419
419
  ArrayScalarLike
420
420
  Relative Humidity over ice, :math:`[0 - 1]`
421
421
  """
422
- return (q * p * (constants.R_v / constants.R_d)) / e_sat_ice(T)
422
+ return (q * p) / (constants.epsilon * e_sat_ice(T))
423
423
 
424
424
 
425
425
  # --------------
@@ -6,7 +6,7 @@ from collections.abc import Iterator
6
6
  from typing import Any
7
7
 
8
8
 
9
- def chunk_list(lst: list, n: int) -> Iterator[list[Any]]:
9
+ def chunk_list(lst: list[Any], n: int) -> Iterator[list[Any]]:
10
10
  """Yield successive n-sized chunks from list."""
11
11
 
12
12
  for i in range(0, len(lst), n):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycontrails
3
- Version: 0.57.0
3
+ Version: 0.59.0
4
4
  Summary: Python library for modeling aviation climate impacts
5
5
  Author-email: "Contrails.org" <py@contrails.org>
6
6
  License-Expression: Apache-2.0
@@ -13,29 +13,28 @@ Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Science/Research
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
20
  Classifier: Programming Language :: Python :: 3 :: Only
21
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
22
  Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
23
23
  Classifier: Topic :: Scientific/Engineering :: GIS
24
24
  Classifier: Typing :: Typed
25
- Requires-Python: >=3.10
25
+ Requires-Python: >=3.11
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
28
  License-File: NOTICE
29
29
  Requires-Dist: dask>=2022.3
30
30
  Requires-Dist: numpy>=1.22
31
31
  Requires-Dist: pandas>=2.0
32
- Requires-Dist: scipy>=1.10
32
+ Requires-Dist: scipy>=1.12
33
33
  Requires-Dist: typing-extensions>=4.5; python_version < "3.12"
34
34
  Requires-Dist: xarray>=2022.3
35
35
  Provides-Extra: complete
36
36
  Requires-Dist: pycontrails[ecmwf,gcp,gfs,jupyter,pyproj,sat,vis,zarr]; extra == "complete"
37
37
  Provides-Extra: dev
38
- Requires-Dist: fastparquet>=0.8; extra == "dev"
39
38
  Requires-Dist: ipdb>=0.13; extra == "dev"
40
39
  Requires-Dist: memory_profiler; extra == "dev"
41
40
  Requires-Dist: mypy>=1.8; extra == "dev"
@@ -140,7 +139,7 @@ Documentation and examples available at [py.contrails.org](https://py.contrails.
140
139
 
141
140
  ### Install with pip
142
141
 
143
- You can install pycontrails from PyPI with `pip` (Python 3.10 or later required):
142
+ You can install pycontrails from PyPI with `pip` (Python 3.11 or later required):
144
143
 
145
144
  ```bash
146
145
  $ pip install pycontrails
@@ -1,50 +1,51 @@
1
1
  pycontrails/__init__.py,sha256=mKNmGUS5wW1n1PukeaOkmLwQVN24i1__mk0odjBzwEE,2107
2
- pycontrails/_version.py,sha256=6rWhGmVJwPjf-oZfw3ROmL18OF--1CQAiYA6E7J__wA,748
2
+ pycontrails/_version.py,sha256=pFoB2x_FqllKKXPZm8R4D97lXBUmYjAB9idjOL_cA3E,748
3
3
  pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  pycontrails/core/__init__.py,sha256=kOAehIZBbvksSW3MuU2DfzsyeE4PaFnOTpYMeq2ZDPE,886
5
- pycontrails/core/aircraft_performance.py,sha256=dasanaqfm5eP9XUDhgoKGj-eQHTWwMZ_mN6_ZdFulT0,28911
5
+ pycontrails/core/aircraft_performance.py,sha256=gGS0s3gq3bWkOahP3pbLAVX8Rbjx_TvdwQkxCPn0DtQ,28883
6
6
  pycontrails/core/airports.py,sha256=muZZ9XkZHi486nbGAYUYILoz_ZH51rU6oWpJPdQYSMc,7010
7
- pycontrails/core/cache.py,sha256=aQZGS_2SHRV1y_4OfD3Qfq5aCvaXk6SIwdx3aCsqX6I,29050
7
+ pycontrails/core/cache.py,sha256=h5j1VX3qHGeIKwCHWQh8r0axqZvaFxu5rSWnajd3zyU,29066
8
8
  pycontrails/core/coordinates.py,sha256=J5qjGuXgbLUw_U9_qREdgOaHl0ngK6Hbbjj3uw7FwNE,5565
9
- pycontrails/core/fleet.py,sha256=acqsZ1OPnwgGjROPnboPO5JWLGHAi-h6B4Eql73h10Y,17191
10
- pycontrails/core/flight.py,sha256=Av81Ikr8J4kdG4HcdCaXIu4kY3oX8EenL6QF0B-iTeU,83780
9
+ pycontrails/core/fleet.py,sha256=USpBSCFFkqepLGSflWkMTlVmWYB0KqGLpg_Sust-8C0,17055
10
+ pycontrails/core/flight.py,sha256=hMdE1XObFs-I88N_gQbIlUzVW12_NXaJATR1uTUJJOg,83645
11
11
  pycontrails/core/flightplan.py,sha256=9_o_kGQm-yG7MibCgfDCJK8mym2BYgENrizIKl1zzgM,7749
12
12
  pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
13
- pycontrails/core/interpolation.py,sha256=-GC3T6yh3nMtt7JCawoYeCUnDNRY9GHhxhkRhhnntxE,26437
14
- pycontrails/core/met.py,sha256=NBboBTRKNt5WFSnKUdm2R_9N68EQTYii4P5A_hs79YQ,106898
13
+ pycontrails/core/interpolation.py,sha256=MSObfU0Qdvtbw2qmDH2qJ5mFGESubzJGZkqJfiA2lqo,25538
14
+ pycontrails/core/met.py,sha256=_-DVvHgcGLGV2u-hiP-vTXwtsEBGtvY2lMlwDbsvAiA,107795
15
15
  pycontrails/core/met_var.py,sha256=xGkhIy_uelGo6gKM9rwh6QiUA0_7D0hBgO0Xa0IFi8k,12414
16
16
  pycontrails/core/models.py,sha256=MRDNYVr8WMTF5EJrwZ8zxPHKKMcU09apBcqycimCWwk,45236
17
- pycontrails/core/polygon.py,sha256=3_vYmlQoP3x3lmgwFyqQVgl9ziAQ5e160MCm2fwFou0,18619
18
- pycontrails/core/rgi_cython.cp312-win_amd64.pyd,sha256=6Kp2CnWKuNAmZZif3rKcImew712_2kToeyX-K2NO80U,243200
19
- pycontrails/core/vector.py,sha256=aF1Ni9ANZkBtoA9gfESWv9fM5fGtkmY-uQjF1Zx3Z3Q,75904
17
+ pycontrails/core/polygon.py,sha256=PUK-LwpreeuwDQ2qrBiKzAfJgDe9_M9ocpMoavAa4LU,18544
18
+ pycontrails/core/rgi_cython.cp312-win_amd64.pyd,sha256=FMVLjU6nlcK-fAEJ1Tn9PKmWTRBn7EqBdEHY19yKSAs,233472
19
+ pycontrails/core/vector.py,sha256=IqevQQMdrc_ffwd5AcxsngecARfKv3DcgzA544jwl74,75747
20
20
  pycontrails/datalib/__init__.py,sha256=Q2RrnjwtFzfsmJ2tEojDCzDMkd8R0MYw4mQz3YwUsqI,381
21
21
  pycontrails/datalib/geo_utils.py,sha256=qB_kOu0JGnlP00fquqTFDNslo1LLkbybu11oZwqKTeE,9331
22
- pycontrails/datalib/goes.py,sha256=BjsgiUBTCgkjql30_-3eZkLt6iPMdB4UJ3qkI7OHpDU,28238
22
+ pycontrails/datalib/goes.py,sha256=K9BdHmaMCtGbgmWM3ckOW9pvgnz4LMnXuS8DbZVxpp4,28396
23
+ pycontrails/datalib/gruan.py,sha256=Z7MWFs8gPUgdKs8BDa-uupakpgiqfwBJ-ls46PxLHRU,12016
23
24
  pycontrails/datalib/landsat.py,sha256=VUJ3BN3NXRIONWH2HMfTEZeHWUGO7ItAXVsGF0ZdWm8,21504
24
25
  pycontrails/datalib/sentinel.py,sha256=-aV8TW9cyeX6mrfyuQE6YXDRkqhxy9XYQ84A3q2jPIQ,24182
25
- pycontrails/datalib/_met_utils/metsource.py,sha256=fCObXHCKo1--v22SRayZDzWlnz0lxTMdGVNhhUyywlM,24900
26
+ pycontrails/datalib/_met_utils/metsource.py,sha256=hwG8uL-mSaCSsDAbYSX_HUB7sgumM_pbfPT7yP9Q2_A,24745
26
27
  pycontrails/datalib/ecmwf/__init__.py,sha256=9EkfWlGki8LYt7ySKf87gS8RzZjAOxK2w87_Sok3CCo,2094
27
28
  pycontrails/datalib/ecmwf/arco_era5.py,sha256=PojAfT0N12SLcgiecZtHiN96sbRWwFx3PThrXIwSX5M,12782
28
- pycontrails/datalib/ecmwf/common.py,sha256=6fcZC_-3FvWJ3vtlZX89PiiS7-DSQhAOgxrLjwU4iW4,4138
29
+ pycontrails/datalib/ecmwf/common.py,sha256=jix1ZMtIPzS97-KTrhtcr-hpbMUQF8loGNaLJM4ObZ8,4084
29
30
  pycontrails/datalib/ecmwf/era5.py,sha256=TbZlOqn3fPmfvCUR1XrVBWxNgIBpSXgRx0S4M49TSeY,19506
30
31
  pycontrails/datalib/ecmwf/era5_model_level.py,sha256=NVquyG_3SzdmfoQl25Wvp4oB_pOe7K_AQOfNv7no14E,19844
31
- pycontrails/datalib/ecmwf/hres.py,sha256=3RHmikpMj0BXHyD6m6iqz56x7R8zN0METezISG_sNic,30484
32
+ pycontrails/datalib/ecmwf/hres.py,sha256=AHUlemItpbxYtyPdpmQpcP5jf_s_dvAeMrd8He6Islo,30428
32
33
  pycontrails/datalib/ecmwf/hres_model_level.py,sha256=EfKbCLyib2aMfeeTFuop4dutB7FiVFhX7UWW_hKtESE,18245
33
- pycontrails/datalib/ecmwf/ifs.py,sha256=a5QmXuihBNGx1eNN7EJGjR5dL9dO142nqkDSkPYGGlc,11048
34
- pycontrails/datalib/ecmwf/model_levels.py,sha256=noLSx45AHZ0rFPiUh3aK3iaEueHgsg6mG_AplHqHeU8,17431
34
+ pycontrails/datalib/ecmwf/ifs.py,sha256=hdYI0HamDmbzmVGskDCfiSj4-fD5-UEOjAfi-9Pe5-M,11020
35
+ pycontrails/datalib/ecmwf/model_levels.py,sha256=8YkY00kmiJbQgmR2iW_A_QXRNHRj0ivTAglLE5SCzOw,17431
35
36
  pycontrails/datalib/ecmwf/variables.py,sha256=49uzpkk9YV5OGBnq-Po5e3ig2JXi2i1ZtsOOEC-AQFI,10181
36
37
  pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=9u7CVA3QnPUmNLIWUkF5b9wFunczkvx1zSudwGmtOv8,9927
37
38
  pycontrails/datalib/gfs/__init__.py,sha256=DGd8twOXwRZZhHx5muc9SJT-YET1KB599kS45_x3IbY,712
38
- pycontrails/datalib/gfs/gfs.py,sha256=_cCPlbI3alPSo9Zf1JrKX9RV-toa-c6QHP5njqXsL_k,22922
39
+ pycontrails/datalib/gfs/gfs.py,sha256=Sn-072e4ZWDi5dtOffHfCKnsFslRKPZASOHCiZ-cj2E,22894
39
40
  pycontrails/datalib/gfs/variables.py,sha256=gmw5cs8RAeB-s9kCbnuKFp1K2SqNbc0lNR-JqhcenZY,3239
40
41
  pycontrails/datalib/himawari/__init__.py,sha256=SCA_fNj6DTy2F5i73gL2cF3NuFAuvn2OdGYuRL6FU5g,646
41
- pycontrails/datalib/himawari/header_struct.py,sha256=8fVZdkKffznXk0CYqs9jngEXdSalRmJhPabzC3-MYy0,10220
42
- pycontrails/datalib/himawari/himawari.py,sha256=bu9rSa2lpnOM2iO29vOc5rHpDxjR1Bf5XZ0zlnuGofw,23774
42
+ pycontrails/datalib/himawari/header_struct.py,sha256=YYypTSCH_kiAO-YpRpU60lecXCoVDGQBO6lmFimDOyY,10241
43
+ pycontrails/datalib/himawari/himawari.py,sha256=oqnC291XXg6aX5VQjvr7ooVseoKpTTNlTADjgdXOs0w,24095
43
44
  pycontrails/datalib/leo_utils/__init__.py,sha256=7MgrgpWmlr71fIn6pQIEaRffuvfavlhLz-gQnfUBxIY,218
44
45
  pycontrails/datalib/leo_utils/correction.py,sha256=cOceA702SXtmBvUsG2JJx0MKnsoGWng6469fpfMJjFQ,9830
45
46
  pycontrails/datalib/leo_utils/landsat_metadata.py,sha256=lQ34ARIRFIhN5lU5MRhg9s_GpmZ_OkjJWs5_0hYFYok,10928
46
47
  pycontrails/datalib/leo_utils/search.py,sha256=f4CjKbkGVZ7frc4GAb3rsKPukmEeBbaYVY_S4uCjQjQ,8936
47
- pycontrails/datalib/leo_utils/sentinel_metadata.py,sha256=vVJMIubmR9V_bNG9kiTygMHo8-Ehds7spMaOzkpSgds,26254
48
+ pycontrails/datalib/leo_utils/sentinel_metadata.py,sha256=rMGJ2oWifrEgCI0oQ0qpgBBfTtlREv96CqsV8P-vgz4,26300
48
49
  pycontrails/datalib/leo_utils/vis.py,sha256=0UDVcqMRqHmAORDV4Xyk-HVnTAjbOCf7KCpWm2ilTLE,1861
49
50
  pycontrails/datalib/leo_utils/static/bq_roi_query.sql,sha256=r_gVjpoEvCcAJP56QlXaXzgfWPZdf-kYo3D316glJLU,266
50
51
  pycontrails/datalib/spire/__init__.py,sha256=HTeQFjMc1BJ189fALx5NDGX2IVZ0AUWC_Xu6LCsZduk,191
@@ -53,16 +54,16 @@ pycontrails/datalib/spire/spire.py,sha256=u9nq4LCKi_itL6vvjlcte-wKrx9h_b62yQDkw3
53
54
  pycontrails/ext/bada.py,sha256=RmLDMaZQody8XUR-1I_5rPJqoz6eIq63IpDTcuJweoc,1133
54
55
  pycontrails/ext/cirium.py,sha256=zRPVBBWwocZKkX3XhonSBf54x7P_xnjRcA7psI0Kqnw,429
55
56
  pycontrails/ext/empirical_grid.py,sha256=mveQltokaGeQcxxbdMSLQ6wQ14oh3XX5dfzjWaFpxbk,4503
56
- pycontrails/ext/synthetic_flight.py,sha256=dEWm9vrg6SAWieh6GLAE0m1orTrApav8HHP42-4bIHg,17233
57
+ pycontrails/ext/synthetic_flight.py,sha256=C_-iAKwqgpJtVSBBK5VvNLldCegjUeoIUA3oz3utX9U,17201
57
58
  pycontrails/models/__init__.py,sha256=TKhrXe1Pu1-mV1gctx8cUAMrVxCCAtBkbZi9olfWq8s,34
58
59
  pycontrails/models/accf.py,sha256=rbEn6oTqXsgDPA3Ky0y-bADHWTxGXixa8OwpHH_pXag,13991
59
- pycontrails/models/dry_advection.py,sha256=UhpeSApTN03IRmnWhBKF-rPjy0DiUJQ8M-ngg1Ix5cc,21098
60
- pycontrails/models/extended_k15.py,sha256=lOD0qLJM8LTFCe2UtZAxFBUm7FIXZeX8CdRDdTXH-l8,49305
60
+ pycontrails/models/dry_advection.py,sha256=9LW62U7KutJ37dFurz0JINwzatmvP6ZUSrRbHOgcMlg,21072
61
+ pycontrails/models/extended_k15.py,sha256=CIbpbQAR5wsM5gcuthyLdm7TsRKX1jGMf7kON6PA4iA,49321
61
62
  pycontrails/models/issr.py,sha256=1pqijM2ecEHhmclSRodyZNnj1f-rCn2H_d44SQYo25I,7614
62
63
  pycontrails/models/pcc.py,sha256=7k8kICqDeZ99O2n2Zpnu7EFNGjEpPka_9cu9nrmP44s,11394
63
64
  pycontrails/models/pcr.py,sha256=YI7kd7BRdkHt970LCg0DhAOj-Bfukw0jclfvXGNo1jE,5528
64
- pycontrails/models/sac.py,sha256=5DZWCkHtJXpifWc0ltzecdPLVr1XgjctRuyn3w4zcQc,15958
65
- pycontrails/models/tau_cirrus.py,sha256=6hVeOahKX2MV8NNED7f5yej_2-z3ENPuTl3gjpKxzzI,5961
65
+ pycontrails/models/sac.py,sha256=OYRgJjwldzPUYmCPwhLPYIj1NEKOjxYHF7tPJvpKjvg,15932
66
+ pycontrails/models/tau_cirrus.py,sha256=EZzacrRZ3rZmOwCz3MwdqvAk-gBkIfciGPurvortZ7w,5923
66
67
  pycontrails/models/apcemm/__init__.py,sha256=dDsRW3V6jjzKDd43Yoyc74m_Om1fccvftZgp3OFdAYE,183
67
68
  pycontrails/models/apcemm/apcemm.py,sha256=tbG57Vro7_vXwqE0YpXrimPTtvAXsurti2eBAVWGe-Y,40958
68
69
  pycontrails/models/apcemm/inputs.py,sha256=zHRSWVVlwYw6ms7PpC0p0I-xFsRDUVY9eDZ1g95Uf8U,6811
@@ -71,16 +72,16 @@ pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=A3H_FWVOtqkZhG
71
72
  pycontrails/models/cocip/__init__.py,sha256=v8JJN_Jx3_tOHaqGaQG-Es7srEAtSCHI7-gCEnM-n-s,991
72
73
  pycontrails/models/cocip/cocip.py,sha256=wbsCjrqU07CuyIYh2CmbrIeRRKftwS9MrQR0id_yuw8,107589
73
74
  pycontrails/models/cocip/cocip_params.py,sha256=SLrK6N1KfadD6bd7f5sVcK-ifZfbYWVe3u8YnPKS55g,13113
74
- pycontrails/models/cocip/cocip_uncertainty.py,sha256=l7zfcMUw47uZ8vNhFeqF03DBXG67GFOH2tbegAPWBmw,12540
75
- pycontrails/models/cocip/contrail_properties.py,sha256=p1JBGFCn2wsxmnZAdoUKK_fy7F5FH3phUl6Fxs80oHM,57271
76
- pycontrails/models/cocip/output_formats.py,sha256=pffbcl9-7HpcJRWDCABHg7yGxjjX_-90uVyt3rIpLHc,86250
75
+ pycontrails/models/cocip/cocip_uncertainty.py,sha256=xeyOIC2fjMrUn0TMvSbpPRU3LP3pu_5Iz3uNiDnNzHk,12548
76
+ pycontrails/models/cocip/contrail_properties.py,sha256=0nQgze0dtj144g0ptitN3oWamvhev-Y0Q-xU4DGzjKo,57233
77
+ pycontrails/models/cocip/output_formats.py,sha256=lQGa7N0G-9XUWXlApCPugOJg0_LMf49Av5BGUERb2T8,86220
77
78
  pycontrails/models/cocip/radiative_forcing.py,sha256=ypgnYi4v3gCQMm_-OQ6rfNocSXyryGxvwLGRgazO1YE,45946
78
79
  pycontrails/models/cocip/radiative_heating.py,sha256=PcOEkqRtQJNq7bxOoz1baBbVV2ku1UQRMrrQXXsRBwc,19504
79
80
  pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=wnkzJlm9L-QXZ4gZD4Pdq_XQEL3odXnvmOYPGCLyidA,19439
80
81
  pycontrails/models/cocip/wake_vortex.py,sha256=71bNGy95DYSXjEjDo0jDLGR41XMgia8zrFO7IuAHW6M,14951
81
82
  pycontrails/models/cocip/wind_shear.py,sha256=qhmP3RJ9SEjd-qnXcgRiYis9-apKGF-1d78z6N__tq8,3988
82
83
  pycontrails/models/cocipgrid/__init__.py,sha256=OYSdZ1Htbr_IP7N_HuOAj1Pa_KLHtdEeJfXP-cN-gnU,271
83
- pycontrails/models/cocipgrid/cocip_grid.py,sha256=X1ssHAHmqFcQLdybA8D5TETUnj1nfewBtZbVs--Ppbg,95230
84
+ pycontrails/models/cocipgrid/cocip_grid.py,sha256=3JxG1TdpYlfPRntoFW4UVi1USDdYOUCB8_7RtWKC_ec,95185
84
85
  pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=ZpN00VEmeRYaeZhvSfVjnEjrgn6XdClf1eqJC8Ytcuw,6013
85
86
  pycontrails/models/emissions/__init__.py,sha256=phai3wH5VuUyfyVpu5vHOFI0jXSyoYSWvLTknS78xs0,499
86
87
  pycontrails/models/emissions/black_carbon.py,sha256=o8mVfDZLnNlfnvsqk8O-ljXrMn4Y_ApFuPROAQWHaQY,21294
@@ -90,12 +91,12 @@ pycontrails/models/emissions/static/default-engine-uids.csv,sha256=6e-0Fjbka1www
90
91
  pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=s-3_KGQyVoypXCHeQgsTDwdri-e3JVJn5SDxZo60m_s,128119
91
92
  pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=MwLLrcATd38KPddTpHpMGBrZuA4I7he-1B5otTp4ar8,77533
92
93
  pycontrails/models/humidity_scaling/__init__.py,sha256=-xqDCJzKJx2nX6yl-gglHheQHWDhkvb8X7atbMJT2LA,1156
93
- pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=rhq3hCs96Gx7LXHbgdlOVduOAxjmbqyNkjJzraPdQXM,39654
94
+ pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=fodIuzdbGG9Ri7CnltPRbXLV2PpyWaaBS6RvacRtVw8,39670
94
95
  pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq,sha256=pShCvNUo0NYtAHhT9IBRuj38X9jejdlKfv-ZoOKmtKI,35943
95
96
  pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq,sha256=tfYhbafF9Z-gGCg6VQ1YBlOaK_01e65Dc6s9b-hQ6Zo,286375
96
97
  pycontrails/models/ps_model/__init__.py,sha256=fCGfdrJjK4K_EOODU8exmOFzedbABb3bMbuFi0gbrgc,571
97
98
  pycontrails/models/ps_model/ps_aircraft_params.py,sha256=LBPMxivbXMrE3s-5Dp8eWGb9qQycf4PRVU-aJL9elrw,13731
98
- pycontrails/models/ps_model/ps_grid.py,sha256=aFI6lnMoYLlbKqucliWFT2weDi1DPEnS7120KNjpNNM,26908
99
+ pycontrails/models/ps_model/ps_grid.py,sha256=vJfC4uT2PvcfBXtvlcUo1_bDt4HGfCr4GW897nATKXQ,26870
99
100
  pycontrails/models/ps_model/ps_model.py,sha256=fGZdkg2kudqUKNVPPszhNIw26lM50p7EzrpvJtgJbZs,32925
100
101
  pycontrails/models/ps_model/ps_operational_limits.py,sha256=95evggmtPbnr3kqNgqfOEJhbupK_D_ksONPmTm0k2B8,16966
101
102
  pycontrails/models/ps_model/static/ps-aircraft-params-20250328.csv,sha256=TKeDak9DHVFByYo3yoEwDZLqOYCJcE32P7lWNm14TnA,26254
@@ -104,19 +105,19 @@ pycontrails/physics/__init__.py,sha256=AScCMSMSZjKxfL6mssdSLwcja1ml7MzREThQp5PLr
104
105
  pycontrails/physics/constants.py,sha256=QninjsmBvmKNj8uHWTuEGKKq9biNh6KmSRkj2SGQHuw,3318
105
106
  pycontrails/physics/geo.py,sha256=ceaOy9ffCRb8eu6LlOAvM04mVMKbmqNh1dvw6iXq5bI,37435
106
107
  pycontrails/physics/jet.py,sha256=nUJY-TVowCPYlhrTkEncDocoVKCeN2IAhvP-6vWP2dQ,31326
107
- pycontrails/physics/thermo.py,sha256=Bm1ERIEYxRwdhkAVzO-xdsmEInp9WZAJNT1TLV0WTVQ,15957
108
+ pycontrails/physics/thermo.py,sha256=kyKGeyPeJFrYQVIZxuCCyOz0Eksx41YP5K_GTju8Tyc,15889
108
109
  pycontrails/physics/units.py,sha256=r6ncLqhFi9Roi73SfGvfjuB_jpwtsjJ39L3yxr8ndIc,12753
109
110
  pycontrails/physics/static/iata-cargo-load-factors-20250221.csv,sha256=ePGCUak5noyY63aL1a8T7EJf8sWzIpeY95-sbaYKF5w,3915
110
111
  pycontrails/physics/static/iata-passenger-load-factors-20250221.csv,sha256=sK9caPg9MvRYBHm_HVvXGA90x4j4OVIxkxFHF1HOKnA,3909
111
112
  pycontrails/utils/__init__.py,sha256=VmklFC-5I5lGFQEzuomlPk_bM6CoM9XDljfjCovG3vw,33
112
113
  pycontrails/utils/dependencies.py,sha256=SjEdbDDKfGmmYResWZndMCUySO0W0ptWAeY1aA_kcx8,2625
113
- pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy4,332
114
+ pycontrails/utils/iteration.py,sha256=nZAvhQFvPtHMZqq_yDtfiMYL5y2zvzJVPocgK_hvTPM,337
114
115
  pycontrails/utils/json.py,sha256=Pqashwoupuf_GfrrSfHclwug9Hg-kYQ4WNxEqay_0Rc,6083
115
116
  pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
116
117
  pycontrails/utils/types.py,sha256=WJS3rnYxU4l8eEJuJVWGBRD7-zvEBlRD8TQx-fxKbic,5032
117
- pycontrails-0.57.0.dist-info/licenses/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
118
- pycontrails-0.57.0.dist-info/licenses/NOTICE,sha256=VIhzKNYi4lQx6fpZyqiY6eMHpLuwp-_G0JQkmYYa7h0,2005
119
- pycontrails-0.57.0.dist-info/METADATA,sha256=JZB_AJaj8zp6qR3Vrt3_W7ntsPZGwnlFZuT4WaH_ZtQ,9309
120
- pycontrails-0.57.0.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
121
- pycontrails-0.57.0.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
122
- pycontrails-0.57.0.dist-info/RECORD,,
118
+ pycontrails-0.59.0.dist-info/licenses/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
119
+ pycontrails-0.59.0.dist-info/licenses/NOTICE,sha256=VIhzKNYi4lQx6fpZyqiY6eMHpLuwp-_G0JQkmYYa7h0,2005
120
+ pycontrails-0.59.0.dist-info/METADATA,sha256=sn-IA5PCBnGbZ2UNpiENPtWh1opk3ci1_DbmHNSIA4Q,9260
121
+ pycontrails-0.59.0.dist-info/WHEEL,sha256=8UP9x9puWI0P1V_d7K2oMTBqfeLNm21CTzZ_Ptr0NXU,101
122
+ pycontrails-0.59.0.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
123
+ pycontrails-0.59.0.dist-info/RECORD,,