pycontrails 0.59.0__cp314-cp314-macosx_10_15_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pycontrails might be problematic. Click here for more details.
- pycontrails/__init__.py +70 -0
- pycontrails/_version.py +34 -0
- pycontrails/core/__init__.py +30 -0
- pycontrails/core/aircraft_performance.py +679 -0
- pycontrails/core/airports.py +228 -0
- pycontrails/core/cache.py +889 -0
- pycontrails/core/coordinates.py +174 -0
- pycontrails/core/fleet.py +483 -0
- pycontrails/core/flight.py +2185 -0
- pycontrails/core/flightplan.py +228 -0
- pycontrails/core/fuel.py +140 -0
- pycontrails/core/interpolation.py +702 -0
- pycontrails/core/met.py +2936 -0
- pycontrails/core/met_var.py +387 -0
- pycontrails/core/models.py +1321 -0
- pycontrails/core/polygon.py +549 -0
- pycontrails/core/rgi_cython.cpython-314-darwin.so +0 -0
- pycontrails/core/vector.py +2249 -0
- pycontrails/datalib/__init__.py +12 -0
- pycontrails/datalib/_met_utils/metsource.py +746 -0
- pycontrails/datalib/ecmwf/__init__.py +73 -0
- pycontrails/datalib/ecmwf/arco_era5.py +345 -0
- pycontrails/datalib/ecmwf/common.py +114 -0
- pycontrails/datalib/ecmwf/era5.py +554 -0
- pycontrails/datalib/ecmwf/era5_model_level.py +490 -0
- pycontrails/datalib/ecmwf/hres.py +804 -0
- pycontrails/datalib/ecmwf/hres_model_level.py +466 -0
- pycontrails/datalib/ecmwf/ifs.py +287 -0
- pycontrails/datalib/ecmwf/model_levels.py +435 -0
- pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv +139 -0
- pycontrails/datalib/ecmwf/variables.py +268 -0
- pycontrails/datalib/geo_utils.py +261 -0
- pycontrails/datalib/gfs/__init__.py +28 -0
- pycontrails/datalib/gfs/gfs.py +656 -0
- pycontrails/datalib/gfs/variables.py +104 -0
- pycontrails/datalib/goes.py +764 -0
- pycontrails/datalib/gruan.py +343 -0
- pycontrails/datalib/himawari/__init__.py +27 -0
- pycontrails/datalib/himawari/header_struct.py +266 -0
- pycontrails/datalib/himawari/himawari.py +671 -0
- pycontrails/datalib/landsat.py +589 -0
- pycontrails/datalib/leo_utils/__init__.py +5 -0
- pycontrails/datalib/leo_utils/correction.py +266 -0
- pycontrails/datalib/leo_utils/landsat_metadata.py +300 -0
- pycontrails/datalib/leo_utils/search.py +250 -0
- pycontrails/datalib/leo_utils/sentinel_metadata.py +748 -0
- pycontrails/datalib/leo_utils/static/bq_roi_query.sql +6 -0
- pycontrails/datalib/leo_utils/vis.py +59 -0
- pycontrails/datalib/sentinel.py +650 -0
- pycontrails/datalib/spire/__init__.py +5 -0
- pycontrails/datalib/spire/exceptions.py +62 -0
- pycontrails/datalib/spire/spire.py +604 -0
- pycontrails/ext/bada.py +42 -0
- pycontrails/ext/cirium.py +14 -0
- pycontrails/ext/empirical_grid.py +140 -0
- pycontrails/ext/synthetic_flight.py +431 -0
- pycontrails/models/__init__.py +1 -0
- pycontrails/models/accf.py +425 -0
- pycontrails/models/apcemm/__init__.py +8 -0
- pycontrails/models/apcemm/apcemm.py +983 -0
- pycontrails/models/apcemm/inputs.py +226 -0
- pycontrails/models/apcemm/static/apcemm_yaml_template.yaml +183 -0
- pycontrails/models/apcemm/utils.py +437 -0
- pycontrails/models/cocip/__init__.py +29 -0
- pycontrails/models/cocip/cocip.py +2742 -0
- pycontrails/models/cocip/cocip_params.py +305 -0
- pycontrails/models/cocip/cocip_uncertainty.py +291 -0
- pycontrails/models/cocip/contrail_properties.py +1530 -0
- pycontrails/models/cocip/output_formats.py +2270 -0
- pycontrails/models/cocip/radiative_forcing.py +1260 -0
- pycontrails/models/cocip/radiative_heating.py +520 -0
- pycontrails/models/cocip/unterstrasser_wake_vortex.py +508 -0
- pycontrails/models/cocip/wake_vortex.py +396 -0
- pycontrails/models/cocip/wind_shear.py +120 -0
- pycontrails/models/cocipgrid/__init__.py +9 -0
- pycontrails/models/cocipgrid/cocip_grid.py +2552 -0
- pycontrails/models/cocipgrid/cocip_grid_params.py +138 -0
- pycontrails/models/dry_advection.py +602 -0
- pycontrails/models/emissions/__init__.py +21 -0
- pycontrails/models/emissions/black_carbon.py +599 -0
- pycontrails/models/emissions/emissions.py +1353 -0
- pycontrails/models/emissions/ffm2.py +336 -0
- pycontrails/models/emissions/static/default-engine-uids.csv +239 -0
- pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv +596 -0
- pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv +215 -0
- pycontrails/models/extended_k15.py +1327 -0
- pycontrails/models/humidity_scaling/__init__.py +37 -0
- pycontrails/models/humidity_scaling/humidity_scaling.py +1075 -0
- pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq +0 -0
- pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq +0 -0
- pycontrails/models/issr.py +210 -0
- pycontrails/models/pcc.py +326 -0
- pycontrails/models/pcr.py +154 -0
- pycontrails/models/ps_model/__init__.py +18 -0
- pycontrails/models/ps_model/ps_aircraft_params.py +381 -0
- pycontrails/models/ps_model/ps_grid.py +701 -0
- pycontrails/models/ps_model/ps_model.py +1000 -0
- pycontrails/models/ps_model/ps_operational_limits.py +525 -0
- pycontrails/models/ps_model/static/ps-aircraft-params-20250328.csv +69 -0
- pycontrails/models/ps_model/static/ps-synonym-list-20250328.csv +104 -0
- pycontrails/models/sac.py +442 -0
- pycontrails/models/tau_cirrus.py +183 -0
- pycontrails/physics/__init__.py +1 -0
- pycontrails/physics/constants.py +117 -0
- pycontrails/physics/geo.py +1138 -0
- pycontrails/physics/jet.py +968 -0
- pycontrails/physics/static/iata-cargo-load-factors-20250221.csv +74 -0
- pycontrails/physics/static/iata-passenger-load-factors-20250221.csv +74 -0
- pycontrails/physics/thermo.py +551 -0
- pycontrails/physics/units.py +472 -0
- pycontrails/py.typed +0 -0
- pycontrails/utils/__init__.py +1 -0
- pycontrails/utils/dependencies.py +66 -0
- pycontrails/utils/iteration.py +13 -0
- pycontrails/utils/json.py +187 -0
- pycontrails/utils/temp.py +50 -0
- pycontrails/utils/types.py +163 -0
- pycontrails-0.59.0.dist-info/METADATA +179 -0
- pycontrails-0.59.0.dist-info/RECORD +123 -0
- pycontrails-0.59.0.dist-info/WHEEL +6 -0
- pycontrails-0.59.0.dist-info/licenses/LICENSE +178 -0
- pycontrails-0.59.0.dist-info/licenses/NOTICE +43 -0
- pycontrails-0.59.0.dist-info/top_level.txt +3 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"""Default :class:`CocipGrid` parameters."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import dataclasses
|
|
6
|
+
|
|
7
|
+
from pycontrails.core.aircraft_performance import AircraftPerformanceGrid
|
|
8
|
+
from pycontrails.core.fuel import Fuel, JetA
|
|
9
|
+
from pycontrails.models.cocip.cocip_params import CocipParams
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@dataclasses.dataclass
|
|
13
|
+
class CocipGridParams(CocipParams):
|
|
14
|
+
"""Default parameters for :class:`CocipGrid`."""
|
|
15
|
+
|
|
16
|
+
# ---------
|
|
17
|
+
# Algorithm
|
|
18
|
+
# ---------
|
|
19
|
+
|
|
20
|
+
#: Approximate size of a typical :class:`numpy.ndarray` used with in CoCiP calculations.
|
|
21
|
+
#: The 4-dimensional array defining the waypoint is raveled and split into
|
|
22
|
+
#: batches of this size.
|
|
23
|
+
#: A smaller number for this parameter will reduce memory footprint at the
|
|
24
|
+
#: expense of a longer compute time.
|
|
25
|
+
target_split_size: int = 100_000
|
|
26
|
+
|
|
27
|
+
#: Additional boost to target split size before SAC is computed. For typical meshes, only
|
|
28
|
+
#: 10% of waypoints will survive SAC and initial downwash filtering. Accordingly, this parameter
|
|
29
|
+
#: magnifies mesh split size before SAC is computed. See :attr:`target_split_size`.
|
|
30
|
+
target_split_size_pre_SAC_boost: float = 3.0
|
|
31
|
+
|
|
32
|
+
#: Display ``tqdm`` progress bar showing batch evaluation progress.
|
|
33
|
+
show_progress: bool = True
|
|
34
|
+
|
|
35
|
+
# ------------------
|
|
36
|
+
# Simulated Aircraft
|
|
37
|
+
# ------------------
|
|
38
|
+
|
|
39
|
+
#: Nominal segment length to place at each grid point [:math:`m`]. Round-off error
|
|
40
|
+
#: can be problematic with a small nominal segment length and a large
|
|
41
|
+
#: :attr:`dt_integration` parameter. On the other hand,
|
|
42
|
+
#: too large of a nominal segment length diminishes the "locality" of the grid point.
|
|
43
|
+
#:
|
|
44
|
+
#: .. versionadded:: 0.32.2
|
|
45
|
+
#:
|
|
46
|
+
#: EXPERIMENTAL: If None, run CoCiP in "segment-free"
|
|
47
|
+
#: mode. This mode does not include any terms involving segments (wind shear,
|
|
48
|
+
#: segment length, any derived terms). See :attr:`azimuth`
|
|
49
|
+
#: and :attr:`dsn_dz_factor` for more details.
|
|
50
|
+
segment_length: float | None = 1000.0
|
|
51
|
+
|
|
52
|
+
#: Fuel type
|
|
53
|
+
fuel: Fuel = dataclasses.field(default_factory=JetA)
|
|
54
|
+
|
|
55
|
+
#: ICAO code designating simulated aircraft type. Needed for the
|
|
56
|
+
#: :attr:`aircraft_performance` and :class:`Emissions` models.
|
|
57
|
+
aircraft_type: str = "B737"
|
|
58
|
+
|
|
59
|
+
#: Engine unique identification number for the ICAO Aircraft Emissions Databank (EDB)
|
|
60
|
+
#: If None, an assumed engine_uid is used in :class:`Emissions`.
|
|
61
|
+
engine_uid: str | None = None
|
|
62
|
+
|
|
63
|
+
#: Navigation bearing [:math:`\deg`] measured in clockwise direction from
|
|
64
|
+
#: true north, by default 0.0.
|
|
65
|
+
#:
|
|
66
|
+
#: .. versionadded:: 0.32.2
|
|
67
|
+
#:
|
|
68
|
+
#: EXPERIMENTAL: If None, run CoCiP in "segment-free"
|
|
69
|
+
#: mode. This mode does not include any terms involving segments (wind shear,
|
|
70
|
+
#: segment_length, any derived terms), unless :attr:`dsn_dz_factor`
|
|
71
|
+
#: is non-zero.
|
|
72
|
+
azimuth: float | None = 0.0
|
|
73
|
+
|
|
74
|
+
#: Experimental parameter used to approximate ``dsn_dz`` from ``ds_dz`` via
|
|
75
|
+
#: ``dsn_dz = ds_dz * dsn_dz_factor``.
|
|
76
|
+
#: A value of 0.0 disables any normal wind shear effects.
|
|
77
|
+
#: An initial unpublished experiment suggests that
|
|
78
|
+
#: ``dsn_dz_factor = 0.665`` adequately approximates the mean EF predictions
|
|
79
|
+
#: of :class:`CocipGrid` over all azimuths.
|
|
80
|
+
#:
|
|
81
|
+
#: .. versionadded:: 0.32.2
|
|
82
|
+
dsn_dz_factor: float = 0.0
|
|
83
|
+
|
|
84
|
+
#: --------------------
|
|
85
|
+
#: Aircraft Performance
|
|
86
|
+
#: --------------------
|
|
87
|
+
|
|
88
|
+
#: Aircraft wingspan, [:math:`m`]. If included in :attr:`CocipGrid.source`,
|
|
89
|
+
#: this parameter is unused. Otherwise, if this parameter is None, the
|
|
90
|
+
#: :attr:`aircraft_performance` model is used to estimate the wingspan.
|
|
91
|
+
wingspan: float | None = None
|
|
92
|
+
|
|
93
|
+
#: Nominal aircraft mass, [:math:`kg`]. If included in :attr:`CocipGrid.source`,
|
|
94
|
+
#: this parameter is unused. Otherwise, if this parameter is None, the
|
|
95
|
+
#: :attr:`aircraft_performance` model is used to estimate the aircraft mass.
|
|
96
|
+
aircraft_mass: float | None = None
|
|
97
|
+
|
|
98
|
+
#: Cruising true airspeed, [:math:`m \ s^{-1}`]. If included in :attr:`CocipGrid.source`,
|
|
99
|
+
#: this parameter is unused. Otherwise, if this parameter is None, the
|
|
100
|
+
#: :attr:`aircraft_performance` model is used to estimate the true airspeed.
|
|
101
|
+
true_airspeed: float | None = None
|
|
102
|
+
|
|
103
|
+
#: Nominal engine efficiency, [:math:`0 - 1`]. If included in :attr:`CocipGrid.source`,
|
|
104
|
+
#: this parameter is unused. Otherwise, if this parameter is None, the
|
|
105
|
+
#: :attr:`aircraft_performance` model is used to estimate the engine efficiency.
|
|
106
|
+
engine_efficiency: float | None = None
|
|
107
|
+
|
|
108
|
+
#: Nominal fuel flow, [:math:`kg \ s^{-1}`]. If included in :attr:`CocipGrid.source`,
|
|
109
|
+
#: this parameter is unused. Otherwise, if this parameter is None, the
|
|
110
|
+
#: :attr:`aircraft_performance` model is used to estimate the fuel flow.
|
|
111
|
+
fuel_flow: float | None = None
|
|
112
|
+
|
|
113
|
+
#: Aircraft performance model. Required unless ``source`` or ``params``
|
|
114
|
+
#: provide all of the following variables:
|
|
115
|
+
#:
|
|
116
|
+
#: - wingspan
|
|
117
|
+
#: - true_airspeed (or mach_number)
|
|
118
|
+
#: - fuel_flow
|
|
119
|
+
#: - engine_efficiency
|
|
120
|
+
#: - aircraft_mass
|
|
121
|
+
#:
|
|
122
|
+
#: If None and :attr:`CocipGrid.source` or :class:`CocipGridParams` do not provide
|
|
123
|
+
#: the above variables, a ValueError is raised. See :class:`PSGrid` for an open-source
|
|
124
|
+
#: implementation of a :class:`AircraftPerformanceGrid` model.
|
|
125
|
+
aircraft_performance: AircraftPerformanceGrid | None = None
|
|
126
|
+
|
|
127
|
+
# ------------
|
|
128
|
+
# Model output
|
|
129
|
+
# ------------
|
|
130
|
+
|
|
131
|
+
#: Attach additional formation specific data to the output. If True, attach
|
|
132
|
+
#: all possible formation data. See :mod:`pycontrails.models.cocipgrid.cocip_grid`
|
|
133
|
+
#: for a list of supported formation data.
|
|
134
|
+
verbose_outputs_formation: bool | set[str] = False
|
|
135
|
+
|
|
136
|
+
#: Attach contrail evolution data to :attr:`CocipGrid.contrail_list`. Requires
|
|
137
|
+
#: substantial memory overhead.
|
|
138
|
+
verbose_outputs_evolution: bool = False
|