pycontrails 0.54.2__cp311-cp311-win_amd64.whl → 0.54.3__cp311-cp311-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.
- pycontrails/_version.py +2 -2
- pycontrails/core/aircraft_performance.py +17 -3
- pycontrails/core/flight.py +3 -1
- pycontrails/core/rgi_cython.cp311-win_amd64.pyd +0 -0
- pycontrails/datalib/ecmwf/variables.py +1 -0
- pycontrails/datalib/landsat.py +5 -8
- pycontrails/datalib/sentinel.py +7 -11
- pycontrails/ext/bada.py +3 -2
- pycontrails/ext/synthetic_flight.py +3 -2
- pycontrails/models/accf.py +40 -19
- pycontrails/models/apcemm/apcemm.py +2 -1
- pycontrails/models/cocip/cocip.py +1 -2
- pycontrails/models/cocipgrid/cocip_grid.py +25 -20
- pycontrails/models/dry_advection.py +50 -54
- pycontrails/models/ps_model/__init__.py +2 -1
- pycontrails/models/ps_model/ps_aircraft_params.py +3 -2
- pycontrails/models/ps_model/ps_grid.py +187 -1
- pycontrails/models/ps_model/ps_model.py +4 -7
- pycontrails/models/ps_model/ps_operational_limits.py +39 -52
- pycontrails/physics/geo.py +149 -0
- pycontrails/physics/jet.py +141 -11
- pycontrails/physics/static/iata-cargo-load-factors-20241115.csv +71 -0
- pycontrails/physics/static/iata-passenger-load-factors-20241115.csv +71 -0
- {pycontrails-0.54.2.dist-info → pycontrails-0.54.3.dist-info}/METADATA +9 -9
- {pycontrails-0.54.2.dist-info → pycontrails-0.54.3.dist-info}/RECORD +29 -27
- {pycontrails-0.54.2.dist-info → pycontrails-0.54.3.dist-info}/WHEEL +1 -1
- {pycontrails-0.54.2.dist-info → pycontrails-0.54.3.dist-info}/LICENSE +0 -0
- {pycontrails-0.54.2.dist-info → pycontrails-0.54.3.dist-info}/NOTICE +0 -0
- {pycontrails-0.54.2.dist-info → pycontrails-0.54.3.dist-info}/top_level.txt +0 -0
pycontrails/physics/jet.py
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
"""Jet aircraft trajectory and performance parameters.
|
|
2
2
|
|
|
3
3
|
This module includes common functions to calculate jet aircraft trajectory
|
|
4
|
-
and performance parameters, including fuel quantities, mass, thrust setting
|
|
5
|
-
and
|
|
4
|
+
and performance parameters, including fuel quantities, mass, thrust setting,
|
|
5
|
+
propulsion efficiency and load factors.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
|
+
import functools
|
|
10
11
|
import logging
|
|
12
|
+
import pathlib
|
|
11
13
|
|
|
12
14
|
import numpy as np
|
|
13
15
|
import numpy.typing as npt
|
|
16
|
+
import pandas as pd
|
|
14
17
|
|
|
15
18
|
from pycontrails.core import flight
|
|
16
19
|
from pycontrails.physics import constants, units
|
|
17
20
|
from pycontrails.utils.types import ArrayOrFloat, ArrayScalarLike
|
|
18
21
|
|
|
19
22
|
logger = logging.getLogger(__name__)
|
|
23
|
+
_path_to_static = pathlib.Path(__file__).parent / "static"
|
|
24
|
+
PLF_PATH = _path_to_static / "iata-passenger-load-factors-20241115.csv"
|
|
25
|
+
CLF_PATH = _path_to_static / "iata-cargo-load-factors-20241115.csv"
|
|
20
26
|
|
|
21
27
|
|
|
22
28
|
# -------------------
|
|
@@ -43,7 +49,7 @@ def acceleration(
|
|
|
43
49
|
|
|
44
50
|
See Also
|
|
45
51
|
--------
|
|
46
|
-
|
|
52
|
+
pycontrails.Flight.segment_duration
|
|
47
53
|
"""
|
|
48
54
|
dv_dt = np.empty_like(true_airspeed)
|
|
49
55
|
dv_dt[:-1] = np.diff(true_airspeed) / segment_duration[:-1]
|
|
@@ -71,8 +77,8 @@ def climb_descent_angle(
|
|
|
71
77
|
|
|
72
78
|
See Also
|
|
73
79
|
--------
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
pycontrails.Flight.segment_rocd
|
|
81
|
+
pycontrails.Flight.segment_true_airspeed
|
|
76
82
|
"""
|
|
77
83
|
rocd_ms = units.ft_to_m(rocd) / 60.0
|
|
78
84
|
sin_theta = rocd_ms / true_airspeed
|
|
@@ -319,8 +325,8 @@ def reserve_fuel_requirements(
|
|
|
319
325
|
|
|
320
326
|
See Also
|
|
321
327
|
--------
|
|
322
|
-
|
|
323
|
-
|
|
328
|
+
pycontrails.Flight.segment_phase
|
|
329
|
+
fuel_burn
|
|
324
330
|
"""
|
|
325
331
|
segment_phase = flight.segment_phase(rocd, altitude_ft)
|
|
326
332
|
|
|
@@ -345,6 +351,128 @@ def reserve_fuel_requirements(
|
|
|
345
351
|
# -------------
|
|
346
352
|
|
|
347
353
|
|
|
354
|
+
@functools.cache
|
|
355
|
+
def _historical_regional_load_factor(path: pathlib.Path) -> pd.DataFrame:
|
|
356
|
+
"""Load the historical regional load factor database.
|
|
357
|
+
|
|
358
|
+
Daily load factors are estimated from linearly interpolating the monthly statistics.
|
|
359
|
+
|
|
360
|
+
Returns
|
|
361
|
+
-------
|
|
362
|
+
pd.DataFrame
|
|
363
|
+
Historical regional load factor for each day.
|
|
364
|
+
|
|
365
|
+
Notes
|
|
366
|
+
-----
|
|
367
|
+
The monthly **passenger load factor** for each region is compiled from IATA's monthly
|
|
368
|
+
publication of the Air Passenger Market Analysis, where the static file will be continuously
|
|
369
|
+
updated. The report estimates the regional passenger load factor by dividing the revenue
|
|
370
|
+
passenger-km (RPK) by the available seat-km (ASK).
|
|
371
|
+
|
|
372
|
+
The monthly **cargo load factor** for each region is compiled from IATA's monthly publication
|
|
373
|
+
of the Air Cargo Market Analysis, where the static file will be continuously updated.
|
|
374
|
+
The report estimates the regional cargo load factor by dividing the freight tonne-km (FTK)
|
|
375
|
+
by the available freight tonne-km (AFTK).
|
|
376
|
+
"""
|
|
377
|
+
df = pd.read_csv(path, index_col="Date", parse_dates=True, date_format="%d/%m/%Y")
|
|
378
|
+
return df.resample("D").interpolate()
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
AIRPORT_TO_REGION = {
|
|
382
|
+
"A": "Asia Pacific",
|
|
383
|
+
"B": "Europe",
|
|
384
|
+
"C": "North America",
|
|
385
|
+
"D": "Africa",
|
|
386
|
+
"E": "Europe",
|
|
387
|
+
"F": "Africa",
|
|
388
|
+
"G": "Africa",
|
|
389
|
+
"H": "Africa",
|
|
390
|
+
"K": "North America",
|
|
391
|
+
"L": "Europe",
|
|
392
|
+
"M": "Latin America",
|
|
393
|
+
"N": "Asia Pacific",
|
|
394
|
+
"O": "Middle East",
|
|
395
|
+
"P": "Asia Pacific",
|
|
396
|
+
"R": "Asia Pacific",
|
|
397
|
+
"S": "Latin America",
|
|
398
|
+
"T": "Latin America",
|
|
399
|
+
"U": "Asia Pacific",
|
|
400
|
+
"V": "Asia Pacific",
|
|
401
|
+
"W": "Asia Pacific",
|
|
402
|
+
"Y": "Asia Pacific",
|
|
403
|
+
"Z": "Asia Pacific",
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
def aircraft_load_factor(
|
|
408
|
+
origin_airport_icao: str | None = None,
|
|
409
|
+
first_waypoint_time: pd.Timestamp | None = None,
|
|
410
|
+
*,
|
|
411
|
+
freighter: bool = False,
|
|
412
|
+
) -> float:
|
|
413
|
+
"""
|
|
414
|
+
Estimate passenger/cargo load factor based on historical data.
|
|
415
|
+
|
|
416
|
+
Accounts for regional and seasonal differences.
|
|
417
|
+
|
|
418
|
+
Parameters
|
|
419
|
+
----------
|
|
420
|
+
origin_airport_icao : str | None
|
|
421
|
+
ICAO code of origin airport. If None is provided, then globally averaged values will be
|
|
422
|
+
assumed at `first_waypoint_time`.
|
|
423
|
+
first_waypoint_time : pd.Timestamp | None
|
|
424
|
+
First waypoint UTC time. If None is provided, then regionally or globally averaged values
|
|
425
|
+
from the trailing twelve months will be used.
|
|
426
|
+
freighter: bool
|
|
427
|
+
Historical cargo load factor will be used if true, otherwise use passenger load factor.
|
|
428
|
+
|
|
429
|
+
Returns
|
|
430
|
+
-------
|
|
431
|
+
float
|
|
432
|
+
Passenger/cargo load factor [0 - 1], unitless
|
|
433
|
+
"""
|
|
434
|
+
# If origin airport is provided, use regional load factor
|
|
435
|
+
if origin_airport_icao is not None:
|
|
436
|
+
first_letter = origin_airport_icao[0]
|
|
437
|
+
region = AIRPORT_TO_REGION.get(first_letter, "Global")
|
|
438
|
+
else:
|
|
439
|
+
region = "Global"
|
|
440
|
+
|
|
441
|
+
# Use passenger or cargo database
|
|
442
|
+
if freighter:
|
|
443
|
+
lf_database = _historical_regional_load_factor(CLF_PATH)
|
|
444
|
+
else:
|
|
445
|
+
lf_database = _historical_regional_load_factor(PLF_PATH)
|
|
446
|
+
|
|
447
|
+
# If `first_waypoint_time` is None, global/regional averages for the trailing twelve months
|
|
448
|
+
# will be assumed.
|
|
449
|
+
if first_waypoint_time is None:
|
|
450
|
+
t1 = lf_database.index[-1]
|
|
451
|
+
t0 = t1 - pd.DateOffset(months=12) + pd.DateOffset(days=1)
|
|
452
|
+
return lf_database.loc[t0:t1, region].mean().item()
|
|
453
|
+
|
|
454
|
+
date = first_waypoint_time.floor("D")
|
|
455
|
+
|
|
456
|
+
# If `date` is more recent than the historical data, then use most recent load factors
|
|
457
|
+
# from trailing twelve months as seasonal values are stable except in COVID years (2020-22).
|
|
458
|
+
if date > lf_database.index[-1]:
|
|
459
|
+
if date.month == 2 and date.day == 29: # remove any leap day
|
|
460
|
+
date = date.replace(day=28)
|
|
461
|
+
|
|
462
|
+
filt = (lf_database.index.month == date.month) & (lf_database.index.day == date.day)
|
|
463
|
+
date = lf_database.index[filt][-1]
|
|
464
|
+
|
|
465
|
+
# (2) If `date` is before the historical data, then use 2019 load factors.
|
|
466
|
+
elif date < lf_database.index[0]:
|
|
467
|
+
if date.month == 2 and date.day == 29: # remove any leap day
|
|
468
|
+
date = date.replace(day=28)
|
|
469
|
+
|
|
470
|
+
filt = (lf_database.index.month == date.month) & (lf_database.index.day == date.day)
|
|
471
|
+
date = lf_database.index[filt][0]
|
|
472
|
+
|
|
473
|
+
return lf_database.at[date, region].item()
|
|
474
|
+
|
|
475
|
+
|
|
348
476
|
def aircraft_weight(aircraft_mass: ArrayOrFloat) -> ArrayOrFloat:
|
|
349
477
|
"""Calculate the aircraft weight at each waypoint.
|
|
350
478
|
|
|
@@ -413,7 +541,8 @@ def initial_aircraft_mass(
|
|
|
413
541
|
|
|
414
542
|
See Also
|
|
415
543
|
--------
|
|
416
|
-
|
|
544
|
+
reserve_fuel_requirements
|
|
545
|
+
aircraft_load_factor
|
|
417
546
|
"""
|
|
418
547
|
tom = operating_empty_weight + load_factor * max_payload + total_fuel_burn + total_reserve_fuel
|
|
419
548
|
return min(tom, max_takeoff_weight)
|
|
@@ -463,9 +592,10 @@ def update_aircraft_mass(
|
|
|
463
592
|
|
|
464
593
|
See Also
|
|
465
594
|
--------
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
595
|
+
fuel_burn
|
|
596
|
+
reserve_fuel_requirements
|
|
597
|
+
initial_aircraft_mass
|
|
598
|
+
aircraft_load_factor
|
|
469
599
|
"""
|
|
470
600
|
if takeoff_mass is None:
|
|
471
601
|
takeoff_mass = initial_aircraft_mass(
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
Date,Global,Africa,Asia Pacific,Europe,Latin America,Middle East,North America
|
|
2
|
+
15/12/2018,0.488,0.381,0.54,0.567,0.291,0.488,0.414
|
|
3
|
+
15/1/2019,0.451,0.354,0.501,0.501,0.299,0.421,0.4
|
|
4
|
+
15/2/2019,0.447,0.363,0.473,0.53,0.297,0.466,0.379
|
|
5
|
+
15/3/2019,0.495,0.384,0.556,0.56,0.323,0.488,0.416
|
|
6
|
+
15/4/2019,0.463,0.374,0.518,0.496,0.325,0.458,0.405
|
|
7
|
+
15/5/2019,0.468,0.386,0.52,0.513,0.353,0.469,0.398
|
|
8
|
+
15/6/2019,0.454,0.324,0.522,0.498,0.337,0.44,0.382
|
|
9
|
+
15/7/2019,0.45,0.323,0.519,0.485,0.354,0.453,0.373
|
|
10
|
+
15/8/2019,0.446,0.302,0.516,0.477,0.372,0.435,0.377
|
|
11
|
+
15/9/2019,0.464,0.329,0.539,0.501,0.379,0.459,0.381
|
|
12
|
+
15/10/2019,0.477,0.361,0.539,0.533,0.364,0.477,0.394
|
|
13
|
+
15/11/2019,0.496,0.404,0.538,0.569,0.403,0.497,0.413
|
|
14
|
+
15/12/2019,0.467,0.368,0.519,0.53,0.3,0.47,0.395
|
|
15
|
+
15/1/2020,0.45,0.356,0.474,0.501,0.311,0.426,0.424
|
|
16
|
+
15/2/2020,0.464,0.368,0.543,0.531,0.342,0.461,0.372
|
|
17
|
+
15/3/2020,0.545,0.425,0.656,0.63,0.411,0.532,0.429
|
|
18
|
+
15/4/2020,0.58,0.486,0.691,0.648,0.554,0.525,0.487
|
|
19
|
+
15/5/2020,0.576,0.612,0.643,0.625,0.561,0.483,0.526
|
|
20
|
+
15/6/2020,0.573,0.547,0.645,0.62,0.512,0.494,0.521
|
|
21
|
+
15/7/2020,0.564,0.489,0.639,0.594,0.464,0.53,0.506
|
|
22
|
+
15/8/2020,0.548,0.502,0.616,0.568,0.478,0.535,0.489
|
|
23
|
+
15/9/2020,0.569,0.507,0.642,0.62,0.456,0.579,0.484
|
|
24
|
+
15/10/2020,0.576,0.502,0.617,0.651,0.443,0.606,0.496
|
|
25
|
+
15/11/2020,0.582,0.496,0.631,0.655,0.436,0.6,0.5
|
|
26
|
+
15/12/2020,0.573,0.51,0.639,0.653,0.367,0.597,0.482
|
|
27
|
+
15/1/2021,0.589,0.48,0.665,0.627,0.39,0.569,0.532
|
|
28
|
+
15/2/2021,0.575,0.476,0.692,0.641,0.429,0.598,0.453
|
|
29
|
+
15/3/2021,0.588,0.499,0.661,0.685,0.453,0.613,0.472
|
|
30
|
+
15/4/2021,0.578,0.504,0.633,0.681,0.457,0.598,0.473
|
|
31
|
+
15/5/2021,0.572,0.502,0.646,0.656,0.423,0.589,0.469
|
|
32
|
+
15/6/2021,0.565,0.48,0.676,0.626,0.381,0.581,0.458
|
|
33
|
+
15/7/2021,0.544,0.455,0.654,0.598,0.387,0.536,0.443
|
|
34
|
+
15/8/2021,0.542,0.43,0.698,0.575,0.404,0.529,0.437
|
|
35
|
+
15/9/2021,0.553,0.428,0.68,0.604,0.37,0.558,0.447
|
|
36
|
+
15/10/2021,0.561,0.45,0.661,0.626,0.421,0.572,0.449
|
|
37
|
+
15/11/2021,0.559,0.434,0.654,0.631,0.446,0.572,0.444
|
|
38
|
+
15/12/2021,0.542,0.502,0.634,0.623,0.413,0.556,0.43
|
|
39
|
+
15/1/2022,0.541,0.492,0.609,0.584,0.417,0.513,0.474
|
|
40
|
+
15/2/2022,0.532,0.502,0.592,0.636,0.476,0.529,0.429
|
|
41
|
+
15/3/2022,0.549,0.494,0.638,0.671,0.448,0.526,0.442
|
|
42
|
+
15/4/2022,0.516,0.49,0.631,0.578,0.419,0.504,0.419
|
|
43
|
+
15/5/2022,0.505,0.495,0.627,0.548,0.387,0.487,0.411
|
|
44
|
+
15/6/2022,0.492,0.447,0.608,0.507,0.383,0.488,0.404
|
|
45
|
+
15/7/2022,0.472,0.452,0.563,0.493,0.374,0.469,0.398
|
|
46
|
+
15/8/2022,0.467,0.418,0.547,0.502,0.374,0.466,0.393
|
|
47
|
+
15/9/2022,0.481,0.451,0.572,0.528,0.381,0.478,0.396
|
|
48
|
+
15/10/2022,0.487,0.437,0.561,0.558,0.384,0.48,0.401
|
|
49
|
+
15/11/2022,0.491,0.458,0.545,0.569,0.382,0.475,0.419
|
|
50
|
+
15/12/2022,0.472,0.432,0.528,0.559,0.322,0.454,0.406
|
|
51
|
+
15/1/2023,0.448,0.439,0.452,0.541,0.325,0.411,0.423
|
|
52
|
+
15/2/2023,0.456,0.468,0.464,0.574,0.361,0.445,0.4
|
|
53
|
+
15/3/2023,0.462,0.489,0.485,0.57,0.366,0.456,0.393
|
|
54
|
+
15/4/2023,0.427,0.482,0.442,0.497,0.364,0.431,0.373
|
|
55
|
+
15/5/2023,0.415,0.448,0.422,0.489,0.333,0.41,0.373
|
|
56
|
+
15/6/2023,0.432,0.446,0.468,0.476,0.337,0.446,0.374
|
|
57
|
+
15/7/2023,0.421,0.417,0.457,0.472,0.322,0.411,0.37
|
|
58
|
+
15/8/2023,0.42,0.388,0.443,0.484,0.326,0.407,0.377
|
|
59
|
+
15/9/2023,0.438,0.436,0.466,0.5,0.319,0.424,0.392
|
|
60
|
+
15/10/2023,0.452,0.416,0.472,0.53,0.354,0.46,0.392
|
|
61
|
+
15/11/2023,0.467,0.421,0.479,0.57,0.363,0.469,0.408
|
|
62
|
+
15/12/2023,0.459,0.41,0.479,0.562,0.316,0.455,0.403
|
|
63
|
+
15/1/2024,0.457,0.431,0.446,0.555,0.344,0.439,0.435
|
|
64
|
+
15/2/2024,0.451,0.451,0.432,0.584,0.376,0.463,0.396
|
|
65
|
+
15/3/2024,0.473,0.473,0.475,0.581,0.402,0.496,0.404
|
|
66
|
+
15/4/2024,0.439,0.429,0.445,0.515,0.387,0.447,0.387
|
|
67
|
+
15/5/2024,0.446,0.438,0.453,0.518,0.362,0.461,0.397
|
|
68
|
+
15/6/2024,0.458,0.385,0.496,0.507,0.336,0.473,0.388
|
|
69
|
+
15/7/2024,0.444,0.4,0.48,0.496,0.338,0.458,0.382
|
|
70
|
+
15/8/2024,0.44,0.378,0.466,0.501,0.359,0.445,0.387
|
|
71
|
+
15/9/2024,0.456,0.392,0.485,0.525,0.368,0.474,0.389
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pycontrails
|
|
3
|
-
Version: 0.54.
|
|
3
|
+
Version: 0.54.3
|
|
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:
|
|
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:
|
|
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"
|
|
@@ -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:
|
|
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,13 +1,13 @@
|
|
|
1
1
|
pycontrails/__init__.py,sha256=EpPulx2dBYpqZNsyh6HTwGGnFsvBVHBXabG5VInwSg4,2071
|
|
2
|
-
pycontrails/_version.py,sha256=
|
|
2
|
+
pycontrails/_version.py,sha256=n8sehSwoJPF0YqOLEWUVMMtHdRQ_L6UunLYrk7v5vi8,429
|
|
3
3
|
pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
pycontrails/core/__init__.py,sha256=X0DX2FGboPN_svwN2xiBzoPpHhDtg0oKFjXQfmCqMWU,886
|
|
5
|
-
pycontrails/core/aircraft_performance.py,sha256=
|
|
5
|
+
pycontrails/core/aircraft_performance.py,sha256=U2qD1VfGVM8k3kvYJtU5Pqa1ISKmIrMSzCm5uT19hp0,27844
|
|
6
6
|
pycontrails/core/airports.py,sha256=nGKXN3jOtzsDCaJZVFNO3e3w-U3lqMTz5Ww5jALiRJY,6984
|
|
7
7
|
pycontrails/core/cache.py,sha256=W4N-bsw_6mkzcFiMfAmArMtlEP9OHVipjTeoniToQ3M,28953
|
|
8
8
|
pycontrails/core/coordinates.py,sha256=J5qjGuXgbLUw_U9_qREdgOaHl0ngK6Hbbjj3uw7FwNE,5565
|
|
9
9
|
pycontrails/core/fleet.py,sha256=X2gDpK9d_IedzkLQdPhtT9sKu7n05kLSFpXpTfPmuPE,16202
|
|
10
|
-
pycontrails/core/flight.py,sha256=
|
|
10
|
+
pycontrails/core/flight.py,sha256=NQyqMJzC-_wXJDpviBWPez6NK33gARqRioQwhRJ_gUY,85356
|
|
11
11
|
pycontrails/core/flightplan.py,sha256=0ozSt3jqa62PZBjXnEDQLbZO1YORg3r2552RpRtkKZA,7555
|
|
12
12
|
pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
|
|
13
13
|
pycontrails/core/interpolation.py,sha256=AYG5PKkBKlCZpje7HNi8P7wlbikds76QMlJnlRrCKFs,26338
|
|
@@ -15,12 +15,12 @@ pycontrails/core/met.py,sha256=fdLHJXjyazaZ75UQXBPg3ZVZjhNGUS_tjp0x4v5hVPk,10365
|
|
|
15
15
|
pycontrails/core/met_var.py,sha256=iLk8R2Yq2MCnc7_XJLUULqojBwe1seFp3jdaTm8T-BY,9490
|
|
16
16
|
pycontrails/core/models.py,sha256=KWDCVzpg-0pfp7075XtLlNm-ALuthPm4KSowr9Wn21Y,40463
|
|
17
17
|
pycontrails/core/polygon.py,sha256=F403uzql_c47MPM2Qdmec6WwtFaXZyb48h-4gK-K4EU,18577
|
|
18
|
-
pycontrails/core/rgi_cython.cp311-win_amd64.pyd,sha256=
|
|
18
|
+
pycontrails/core/rgi_cython.cp311-win_amd64.pyd,sha256=JdxF0PNWj5gNTZXN_qD4XOEOHrO9Vby1b8t5UlSkz5U,258560
|
|
19
19
|
pycontrails/core/vector.py,sha256=VZi7sSjgchJN6vu7Xabf-OC_J85-DwbeOCC7SM8M9IY,72201
|
|
20
20
|
pycontrails/datalib/__init__.py,sha256=Q2RrnjwtFzfsmJ2tEojDCzDMkd8R0MYw4mQz3YwUsqI,381
|
|
21
21
|
pycontrails/datalib/goes.py,sha256=UMxXXCiRL6SHY5_3cXs8GmG19eeKOOi3gKCimkyZSuc,27305
|
|
22
|
-
pycontrails/datalib/landsat.py,sha256=
|
|
23
|
-
pycontrails/datalib/sentinel.py,sha256=
|
|
22
|
+
pycontrails/datalib/landsat.py,sha256=YrDpngF5HtvWFVwxN0FLFxCfZIEmeBMiifdkbH7fQTk,20263
|
|
23
|
+
pycontrails/datalib/sentinel.py,sha256=ukzdSeHKC1UBWEYzehS2LqtKoCpKpaPobLfbZDGy6KU,17679
|
|
24
24
|
pycontrails/datalib/spire.py,sha256=aW0wh5GDrszFb20ZMzmWKQ4uHbOCmHvVt9Sf4U3AyTI,26070
|
|
25
25
|
pycontrails/datalib/_leo_utils/search.py,sha256=8JzT56ps3SH1W-5rwL8BWuxLLljwxa_5fjLAuZdL_Vg,8937
|
|
26
26
|
pycontrails/datalib/_leo_utils/vis.py,sha256=0UDVcqMRqHmAORDV4Xyk-HVnTAjbOCf7KCpWm2ilTLE,1861
|
|
@@ -35,30 +35,30 @@ pycontrails/datalib/ecmwf/hres.py,sha256=PMos1_JlqlLdmus0yz4ZR1257hKRnl0uRqRaH9o
|
|
|
35
35
|
pycontrails/datalib/ecmwf/hres_model_level.py,sha256=ghrN-z5bjV-ztv6L5KlGiCLlGR9ABbAe5k38CaARmLU,18121
|
|
36
36
|
pycontrails/datalib/ecmwf/ifs.py,sha256=_JM2s5UvPDQu7Rdmx2dcxBIyZrKC7gvHqurR3sSqWxw,11039
|
|
37
37
|
pycontrails/datalib/ecmwf/model_levels.py,sha256=noLSx45AHZ0rFPiUh3aK3iaEueHgsg6mG_AplHqHeU8,17431
|
|
38
|
-
pycontrails/datalib/ecmwf/variables.py,sha256=
|
|
38
|
+
pycontrails/datalib/ecmwf/variables.py,sha256=49uzpkk9YV5OGBnq-Po5e3ig2JXi2i1ZtsOOEC-AQFI,10181
|
|
39
39
|
pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=9u7CVA3QnPUmNLIWUkF5b9wFunczkvx1zSudwGmtOv8,9927
|
|
40
40
|
pycontrails/datalib/gfs/__init__.py,sha256=VcE2j62ITbY7F3tEtgaLrfyjHWci-4mvLtnVg3SVgtE,712
|
|
41
41
|
pycontrails/datalib/gfs/gfs.py,sha256=8HjxUebIhO6xA94-Nu9o8BAXiccpYrpJJ7SODbQ0Cko,23046
|
|
42
42
|
pycontrails/datalib/gfs/variables.py,sha256=gmw5cs8RAeB-s9kCbnuKFp1K2SqNbc0lNR-JqhcenZY,3239
|
|
43
|
-
pycontrails/ext/bada.py,sha256=
|
|
43
|
+
pycontrails/ext/bada.py,sha256=RmLDMaZQody8XUR-1I_5rPJqoz6eIq63IpDTcuJweoc,1133
|
|
44
44
|
pycontrails/ext/cirium.py,sha256=zRPVBBWwocZKkX3XhonSBf54x7P_xnjRcA7psI0Kqnw,429
|
|
45
45
|
pycontrails/ext/empirical_grid.py,sha256=1WHyt1VOWEr7bMlnXo1tEKJgePvLKjKsCCee2w22gf8,4502
|
|
46
|
-
pycontrails/ext/synthetic_flight.py,sha256=
|
|
46
|
+
pycontrails/ext/synthetic_flight.py,sha256=6w2pC7DpbdHi3J1w5BL-8j3xCzYdP8N7FQ8dsMfDBpw,17226
|
|
47
47
|
pycontrails/models/__init__.py,sha256=TKhrXe1Pu1-mV1gctx8cUAMrVxCCAtBkbZi9olfWq8s,34
|
|
48
|
-
pycontrails/models/accf.py,sha256=
|
|
49
|
-
pycontrails/models/dry_advection.py,sha256=
|
|
48
|
+
pycontrails/models/accf.py,sha256=YlRo5aDeHSSYE7IRHbNW4dsWTACCkVaYsqGbgM-AqlI,14090
|
|
49
|
+
pycontrails/models/dry_advection.py,sha256=ly55oeYF7y8UeGqTvMFUcrO22QPIPBOaQD91wBvTfZ0,17332
|
|
50
50
|
pycontrails/models/issr.py,sha256=QXkTIpj13u9qG5BeAaMVdtWbN8hNSsnGLL5hIzU5ZMM,7550
|
|
51
51
|
pycontrails/models/pcc.py,sha256=M5KhtRgdCP9pfDFgui7ibbijtRBTjx3QOJL_m1tQYfs,11443
|
|
52
52
|
pycontrails/models/pcr.py,sha256=G_0yR5PsCMeJBP6tZFi3M7A6Wcq8s71UvosdA7ozUkI,5502
|
|
53
53
|
pycontrails/models/sac.py,sha256=LhEwexJZnkxitj-x5eNVSCDGdkoCdj8Zh_I0WB8FWOY,16405
|
|
54
54
|
pycontrails/models/tau_cirrus.py,sha256=eXt3yRrcFBaZNNeH6ZOuU4XEZU2rOfrLKEOC7f0_Ywo,5194
|
|
55
55
|
pycontrails/models/apcemm/__init__.py,sha256=dDsRW3V6jjzKDd43Yoyc74m_Om1fccvftZgp3OFdAYE,183
|
|
56
|
-
pycontrails/models/apcemm/apcemm.py,sha256=
|
|
56
|
+
pycontrails/models/apcemm/apcemm.py,sha256=wCCVBBwqe-XXg2ZJw3jLgoa176LLztr99rtG7ME3wJU,40982
|
|
57
57
|
pycontrails/models/apcemm/inputs.py,sha256=zHRSWVVlwYw6ms7PpC0p0I-xFsRDUVY9eDZ1g95Uf8U,6811
|
|
58
58
|
pycontrails/models/apcemm/utils.py,sha256=6pKQbS5EAzTnI_edVtUvGrzM0xwNq1t9MBGgCRJtg_0,17531
|
|
59
59
|
pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=A3H_FWVOtqkZhG91TWLdblMKaLWIcjRMsKqkfTN6mB4,6928
|
|
60
60
|
pycontrails/models/cocip/__init__.py,sha256=miDxSFxN9PzL_ieSJb3BYeHmbKqZwGicCz1scNB5eW0,991
|
|
61
|
-
pycontrails/models/cocip/cocip.py,sha256=
|
|
61
|
+
pycontrails/models/cocip/cocip.py,sha256=CcR8pHTbWVNwc3kOBSD9G9UcACxBvFypKTRn8psPmlk,102760
|
|
62
62
|
pycontrails/models/cocip/cocip_params.py,sha256=JwQl8FLcp4l5-MLiMQhPsxHL8jKXg2ymWXD7Jbn3zTQ,13002
|
|
63
63
|
pycontrails/models/cocip/cocip_uncertainty.py,sha256=7W586BJEAY_wpSpfVdcdX-HpZG4twk3cMLhUR2ELTMA,12176
|
|
64
64
|
pycontrails/models/cocip/contrail_properties.py,sha256=u6SvucHC6VtF2kujfSVFTfv0263t5uYpNOUJZAroEzc,57111
|
|
@@ -69,7 +69,7 @@ pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=Ymz-uO9vVhLIFwT9yuF
|
|
|
69
69
|
pycontrails/models/cocip/wake_vortex.py,sha256=r3FM4egyGohRF0qGD3pFWBJppUQ_3GhtO_g7L74HmjU,14817
|
|
70
70
|
pycontrails/models/cocip/wind_shear.py,sha256=Dm181EsiCBJWTnRTZ3ZI3YXscBRnhA6ANnKer004b2Q,3980
|
|
71
71
|
pycontrails/models/cocipgrid/__init__.py,sha256=OYSdZ1Htbr_IP7N_HuOAj1Pa_KLHtdEeJfXP-cN-gnU,271
|
|
72
|
-
pycontrails/models/cocipgrid/cocip_grid.py,sha256
|
|
72
|
+
pycontrails/models/cocipgrid/cocip_grid.py,sha256=-Rer9cFctWjjdHM6Zq1caYMgGYZWNortiZGG8ziSAtY,96642
|
|
73
73
|
pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=ZpN00VEmeRYaeZhvSfVjnEjrgn6XdClf1eqJC8Ytcuw,6013
|
|
74
74
|
pycontrails/models/emissions/__init__.py,sha256=BXzV2pBps8j3xbaF1n9uPdVVLI5MBIGYx8xqDJezYIE,499
|
|
75
75
|
pycontrails/models/emissions/black_carbon.py,sha256=9DRqB487pH8Iq83FXggA5mPLYEAA8NpsKx24f8uTEF4,20828
|
|
@@ -82,28 +82,30 @@ pycontrails/models/humidity_scaling/__init__.py,sha256=-xqDCJzKJx2nX6yl-gglHheQH
|
|
|
82
82
|
pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=CdOmWLPEd__wpGt8EMXT3PAM8W_iLUw9njG-N-w9Urw,37775
|
|
83
83
|
pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq,sha256=pShCvNUo0NYtAHhT9IBRuj38X9jejdlKfv-ZoOKmtKI,35943
|
|
84
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=
|
|
86
|
-
pycontrails/models/ps_model/ps_aircraft_params.py,sha256=
|
|
87
|
-
pycontrails/models/ps_model/ps_grid.py,sha256=
|
|
88
|
-
pycontrails/models/ps_model/ps_model.py,sha256=
|
|
89
|
-
pycontrails/models/ps_model/ps_operational_limits.py,sha256=
|
|
85
|
+
pycontrails/models/ps_model/__init__.py,sha256=UkHYhXqldQMNJ0gijp6Acpk4-04uqT1nPP5-8R0zTMA,571
|
|
86
|
+
pycontrails/models/ps_model/ps_aircraft_params.py,sha256=YbKsSSjBQD5CQpn0eCNxBUQ86YUj-YN3d5zR7tgkeg8,13563
|
|
87
|
+
pycontrails/models/ps_model/ps_grid.py,sha256=G4HntWZbAjuvy9BKsvoCcCg2Hmfpxz3ej5FE6SBIVvg,26285
|
|
88
|
+
pycontrails/models/ps_model/ps_model.py,sha256=qBMuSL1NHeCWvf9_T5LHG-_gzfCKeazAM7ZCVpyFsk8,34211
|
|
89
|
+
pycontrails/models/ps_model/ps_operational_limits.py,sha256=4nRRWAUydhbeam_NfLII2cMfv1PraGQMCVPj_OR_wXU,17166
|
|
90
90
|
pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv,sha256=2RtIHwXRuMVAEfsefopm1m6ozHi8YciYUN3WTMpfoo4,25852
|
|
91
91
|
pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv,sha256=MLXOeVjC5FQULGNc6rn-_BdSURJAkJLMSDzPhC7OpDY,1141
|
|
92
92
|
pycontrails/physics/__init__.py,sha256=AScCMSMSZjKxfL6mssdSLwcja1ml7MzREThQp5PLr9U,45
|
|
93
93
|
pycontrails/physics/constants.py,sha256=SWG7H7eJCvQXfUR3qS6_fYzNvEeRZga50qT2RuaHoYU,3262
|
|
94
|
-
pycontrails/physics/geo.py,sha256=
|
|
95
|
-
pycontrails/physics/jet.py,sha256=
|
|
94
|
+
pycontrails/physics/geo.py,sha256=J0eSha0GcUoMFnxAnPrpNZITT1cAhot2it96eyIauLs,37291
|
|
95
|
+
pycontrails/physics/jet.py,sha256=Zm6bj-g9ZasqV9DZ0bHIu4sy2SdZyNq2B6hEEhnbtG8,31188
|
|
96
96
|
pycontrails/physics/thermo.py,sha256=HAcg2wmNXW-vJbOF2kOXBoUyJiAosPY0nRWeM37otdY,13238
|
|
97
97
|
pycontrails/physics/units.py,sha256=GnCJCKz25jcEYGcQVWfuYViVha6mukf08Eo4pK_3iYo,12744
|
|
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
|
|
98
100
|
pycontrails/utils/__init__.py,sha256=VmklFC-5I5lGFQEzuomlPk_bM6CoM9XDljfjCovG3vw,33
|
|
99
101
|
pycontrails/utils/dependencies.py,sha256=SjEdbDDKfGmmYResWZndMCUySO0W0ptWAeY1aA_kcx8,2625
|
|
100
102
|
pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy4,332
|
|
101
103
|
pycontrails/utils/json.py,sha256=OHfKm4b9VeToxNBJM6gh3eI1xkTPDbvmXvWhHtsNr94,6102
|
|
102
104
|
pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
|
|
103
105
|
pycontrails/utils/types.py,sha256=pqyqz8oXE4cfsx0z2ctWrNnIQavpF8uVZaH2a5fqNak,4934
|
|
104
|
-
pycontrails-0.54.
|
|
105
|
-
pycontrails-0.54.
|
|
106
|
-
pycontrails-0.54.
|
|
107
|
-
pycontrails-0.54.
|
|
108
|
-
pycontrails-0.54.
|
|
109
|
-
pycontrails-0.54.
|
|
106
|
+
pycontrails-0.54.3.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
|
|
107
|
+
pycontrails-0.54.3.dist-info/METADATA,sha256=pGTowqmSX18OltaoWIX9OrqwKqHAAyhZFrdMxR0R95I,9335
|
|
108
|
+
pycontrails-0.54.3.dist-info/NOTICE,sha256=qYeNEp8OjDK5jSW3hTlr9LQRjZeEhXQm0zDei5UFaYs,1969
|
|
109
|
+
pycontrails-0.54.3.dist-info/WHEEL,sha256=nkBcd8Ko0v5sEcSagm2-x_RVrb8gBSkTa8VFFZ0Mr1o,101
|
|
110
|
+
pycontrails-0.54.3.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
|
|
111
|
+
pycontrails-0.54.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|