pycontrails 0.50.1__cp312-cp312-win_amd64.whl → 0.50.2__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.
- pycontrails/_version.py +2 -2
- pycontrails/core/flight.py +97 -0
- pycontrails/core/rgi_cython.cp312-win_amd64.pyd +0 -0
- pycontrails/models/emissions/emissions.py +2 -2
- pycontrails/models/emissions/static/default-engine-uids.csv +1 -1
- pycontrails/models/emissions/static/{edb-gaseous-v28c-engines.csv → edb-gaseous-v29b-engines.csv} +49 -11
- pycontrails/models/emissions/static/{edb-nvpm-v28c-engines.csv → edb-nvpm-v29b-engines.csv} +90 -54
- pycontrails/models/ps_model/ps_aircraft_params.py +13 -1
- pycontrails/models/ps_model/ps_grid.py +20 -20
- pycontrails/models/ps_model/ps_model.py +1 -1
- pycontrails/models/ps_model/ps_operational_limits.py +202 -1
- pycontrails/models/ps_model/static/ps-aircraft-params-20240417.csv +64 -0
- pycontrails/physics/units.py +2 -2
- pycontrails/utils/types.py +3 -1
- {pycontrails-0.50.1.dist-info → pycontrails-0.50.2.dist-info}/METADATA +1 -1
- {pycontrails-0.50.1.dist-info → pycontrails-0.50.2.dist-info}/RECORD +20 -20
- pycontrails/models/ps_model/static/ps-aircraft-params-20240209.csv +0 -63
- {pycontrails-0.50.1.dist-info → pycontrails-0.50.2.dist-info}/LICENSE +0 -0
- {pycontrails-0.50.1.dist-info → pycontrails-0.50.2.dist-info}/NOTICE +0 -0
- {pycontrails-0.50.1.dist-info → pycontrails-0.50.2.dist-info}/WHEEL +0 -0
- {pycontrails-0.50.1.dist-info → pycontrails-0.50.2.dist-info}/top_level.txt +0 -0
|
@@ -14,7 +14,7 @@ import pandas as pd
|
|
|
14
14
|
from pycontrails.physics import constants as c
|
|
15
15
|
|
|
16
16
|
#: Path to the Poll-Schumann aircraft parameters CSV file.
|
|
17
|
-
PS_FILE_PATH = pathlib.Path(__file__).parent / "static" / "ps-aircraft-params-
|
|
17
|
+
PS_FILE_PATH = pathlib.Path(__file__).parent / "static" / "ps-aircraft-params-20240417.csv"
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
@dataclasses.dataclass(frozen=True)
|
|
@@ -80,6 +80,9 @@ class PSAircraftEngineParams:
|
|
|
80
80
|
- ``m_ec`` Engine characteristic Mach number associated with `tr_ec`.
|
|
81
81
|
- ``tet_mto`` Turbine entry temperature at maximum take-off rating, [:math:`K`]
|
|
82
82
|
- ``tet_mcc`` Turbine entry temperature at maximum continuous climb rating, [:math:`K`]
|
|
83
|
+
- ``nominal_opr`` Nominal engine operating pressure ratio.
|
|
84
|
+
- ``nominal_bpr`` Nominal engine bypass ratio.
|
|
85
|
+
- ``nominal_fpr`` Nominal engine fan pressure ratio.
|
|
83
86
|
|
|
84
87
|
-------------------------------------
|
|
85
88
|
HEIGHT AND SPEED LIMITS
|
|
@@ -127,6 +130,9 @@ class PSAircraftEngineParams:
|
|
|
127
130
|
m_ec: float
|
|
128
131
|
tet_mto: float
|
|
129
132
|
tet_mcc: float
|
|
133
|
+
nominal_opr: float
|
|
134
|
+
nominal_bpr: float
|
|
135
|
+
nominal_fpr: float
|
|
130
136
|
|
|
131
137
|
fl_max: float
|
|
132
138
|
max_mach_num: float
|
|
@@ -174,6 +180,9 @@ def _row_to_aircraft_engine_params(tup: Any) -> tuple[str, PSAircraftEngineParam
|
|
|
174
180
|
m_ec=tup.Mec,
|
|
175
181
|
tet_mto=tet_mto,
|
|
176
182
|
tet_mcc=turbine_entry_temperature_at_max_continuous_climb(tet_mto),
|
|
183
|
+
nominal_opr=tup.nominal_opr,
|
|
184
|
+
nominal_bpr=tup.nominal_bpr,
|
|
185
|
+
nominal_fpr=tup.nominal_fpr,
|
|
177
186
|
fl_max=tup.FL_max,
|
|
178
187
|
max_mach_num=tup.MMO,
|
|
179
188
|
p_i_max=p_i_max,
|
|
@@ -224,6 +233,9 @@ def load_aircraft_engine_params() -> Mapping[str, PSAircraftEngineParams]:
|
|
|
224
233
|
"Tec": float,
|
|
225
234
|
"FL_max": float,
|
|
226
235
|
"MMO": float,
|
|
236
|
+
"nominal_opr": float,
|
|
237
|
+
"nominal_bpr": float,
|
|
238
|
+
"nominal_fpr": float,
|
|
227
239
|
}
|
|
228
240
|
|
|
229
241
|
df = pd.read_csv(PS_FILE_PATH, dtype=dtypes)
|
|
@@ -389,32 +389,32 @@ def ps_nominal_grid(
|
|
|
389
389
|
>>> perf.to_dataframe()
|
|
390
390
|
aircraft_mass engine_efficiency fuel_flow
|
|
391
391
|
level
|
|
392
|
-
200.0
|
|
393
|
-
210.0
|
|
394
|
-
220.0
|
|
395
|
-
230.0
|
|
396
|
-
240.0
|
|
397
|
-
250.0
|
|
398
|
-
260.0
|
|
399
|
-
270.0
|
|
400
|
-
280.0
|
|
401
|
-
290.0
|
|
392
|
+
200.0 58416.230844 0.308675 0.561244
|
|
393
|
+
210.0 61617.676623 0.308675 0.589307
|
|
394
|
+
220.0 64829.702583 0.308675 0.617369
|
|
395
|
+
230.0 68026.415693 0.308675 0.646423
|
|
396
|
+
240.0 71187.897058 0.308675 0.677265
|
|
397
|
+
250.0 71818.514829 0.308542 0.686129
|
|
398
|
+
260.0 71809.073819 0.308073 0.690896
|
|
399
|
+
270.0 71796.095265 0.307367 0.696978
|
|
400
|
+
280.0 71780.225852 0.306500 0.704144
|
|
401
|
+
290.0 71761.957365 0.305529 0.712217
|
|
402
402
|
|
|
403
403
|
>>> # Now compute it for a higher Mach number
|
|
404
404
|
>>> perf = ps_nominal_grid("A320", level=level, mach_number=0.78)
|
|
405
405
|
>>> perf.to_dataframe()
|
|
406
406
|
aircraft_mass engine_efficiency fuel_flow
|
|
407
407
|
level
|
|
408
|
-
200.0
|
|
409
|
-
210.0
|
|
410
|
-
220.0
|
|
411
|
-
230.0
|
|
412
|
-
240.0
|
|
413
|
-
250.0
|
|
414
|
-
260.0
|
|
415
|
-
270.0
|
|
416
|
-
280.0
|
|
417
|
-
290.0
|
|
408
|
+
200.0 57857.463750 0.314462 0.580472
|
|
409
|
+
210.0 60626.062062 0.314467 0.605797
|
|
410
|
+
220.0 63818.498305 0.314467 0.634645
|
|
411
|
+
230.0 66993.691515 0.314467 0.664512
|
|
412
|
+
240.0 70129.930503 0.314467 0.696217
|
|
413
|
+
250.0 71747.933832 0.314423 0.714997
|
|
414
|
+
260.0 71735.433936 0.314098 0.721147
|
|
415
|
+
270.0 71719.057287 0.313542 0.728711
|
|
416
|
+
280.0 71699.595538 0.312830 0.737412
|
|
417
|
+
290.0 71677.628782 0.312016 0.747045
|
|
418
418
|
"""
|
|
419
419
|
coords: dict[str, Any] | xrcc.DataArrayCoordinates
|
|
420
420
|
if isinstance(air_temperature, xr.DataArray):
|
|
@@ -534,7 +534,7 @@ def oswald_efficiency_factor(
|
|
|
534
534
|
"""
|
|
535
535
|
numer = 1.075 if atyp_param.winglets else 1.0
|
|
536
536
|
k_1 = _non_vortex_lift_dependent_drag_factor(c_drag_0, atyp_param.cos_sweep)
|
|
537
|
-
denom = 1.0 + 0.03 + atyp_param.delta_2 + (k_1 *
|
|
537
|
+
denom = 1.0 + 0.03 + atyp_param.delta_2 + (k_1 * np.pi * atyp_param.wing_aspect_ratio)
|
|
538
538
|
return numer / denom
|
|
539
539
|
|
|
540
540
|
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import numpy as np
|
|
6
6
|
import numpy.typing as npt
|
|
7
|
+
import scipy.optimize
|
|
7
8
|
|
|
8
9
|
from pycontrails.core import flight
|
|
9
10
|
from pycontrails.models.ps_model.ps_aircraft_params import PSAircraftEngineParams
|
|
@@ -117,7 +118,7 @@ def max_available_thrust_coefficient(
|
|
|
117
118
|
c_t_eta_b: ArrayOrFloat,
|
|
118
119
|
atyp_param: PSAircraftEngineParams,
|
|
119
120
|
*,
|
|
120
|
-
buffer: float = 0.
|
|
121
|
+
buffer: float = 0.10,
|
|
121
122
|
) -> ArrayOrFloat:
|
|
122
123
|
"""
|
|
123
124
|
Calculate maximum available thrust coefficient.
|
|
@@ -152,6 +153,81 @@ def max_available_thrust_coefficient(
|
|
|
152
153
|
return c_t_max_over_c_t_eta_b * c_t_eta_b * (1.0 + buffer)
|
|
153
154
|
|
|
154
155
|
|
|
156
|
+
def get_excess_thrust_available(
|
|
157
|
+
mach_number: float | npt.NDArray[np.float64],
|
|
158
|
+
air_temperature: float | npt.NDArray[np.float64],
|
|
159
|
+
air_pressure: float | npt.NDArray[np.float64],
|
|
160
|
+
aircraft_mass: float | npt.NDArray[np.float64],
|
|
161
|
+
theta: float | npt.NDArray[np.float64],
|
|
162
|
+
atyp_param: PSAircraftEngineParams,
|
|
163
|
+
) -> float | npt.NDArray[np.float64]:
|
|
164
|
+
r"""
|
|
165
|
+
Calculate the excess thrust coefficient available at specified operation condition.
|
|
166
|
+
|
|
167
|
+
Parameters
|
|
168
|
+
----------
|
|
169
|
+
mach_number : float | npt.NDArray[np.float64]
|
|
170
|
+
Mach number at each waypoint
|
|
171
|
+
air_temperature : float | npt.NDArray[np.float64]
|
|
172
|
+
Ambient temperature at each waypoint, [:math:`K`]
|
|
173
|
+
air_pressure : float | npt.NDArray[np.float64]
|
|
174
|
+
Ambient pressure, [:math:`Pa`]
|
|
175
|
+
aircraft_mass : float | npt.NDArray[np.float64]
|
|
176
|
+
Aircraft mass at each waypoint, [:math:`kg`]
|
|
177
|
+
theta : float | npt.NDArray[np.float64]
|
|
178
|
+
Climb (positive value) or descent (negative value) angle, [:math:`\deg`]
|
|
179
|
+
atyp_param : PSAircraftEngineParams
|
|
180
|
+
Extracted aircraft and engine parameters.
|
|
181
|
+
|
|
182
|
+
Returns
|
|
183
|
+
-------
|
|
184
|
+
float | npt.NDArray[np.float64]
|
|
185
|
+
The difference between the maximum rated thrust coefficient and the thrust coefficient
|
|
186
|
+
required to maintain the current mach_number.
|
|
187
|
+
"""
|
|
188
|
+
from pycontrails.models.ps_model.ps_model import (
|
|
189
|
+
airframe_drag_coefficient,
|
|
190
|
+
lift_coefficient,
|
|
191
|
+
oswald_efficiency_factor,
|
|
192
|
+
reynolds_number,
|
|
193
|
+
skin_friction_coefficient,
|
|
194
|
+
thrust_coefficient_at_max_efficiency,
|
|
195
|
+
wave_drag_coefficient,
|
|
196
|
+
zero_lift_drag_coefficient,
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
rn = reynolds_number(atyp_param.wing_surface_area, mach_number, air_temperature, air_pressure)
|
|
200
|
+
if isinstance(rn, float):
|
|
201
|
+
if rn <= 0.0:
|
|
202
|
+
return np.nan
|
|
203
|
+
else:
|
|
204
|
+
rn[rn <= 0.0] = np.nan
|
|
205
|
+
|
|
206
|
+
c_lift = lift_coefficient(
|
|
207
|
+
atyp_param.wing_surface_area, aircraft_mass, air_pressure, mach_number, theta
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
c_f = skin_friction_coefficient(rn)
|
|
211
|
+
c_drag_0 = zero_lift_drag_coefficient(c_f, atyp_param.psi_0)
|
|
212
|
+
e_ls = oswald_efficiency_factor(c_drag_0, atyp_param)
|
|
213
|
+
c_drag_w = wave_drag_coefficient(mach_number, c_lift, atyp_param)
|
|
214
|
+
c_drag = airframe_drag_coefficient(
|
|
215
|
+
c_drag_0, c_drag_w, c_lift, e_ls, atyp_param.wing_aspect_ratio
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
tas = units.mach_number_to_tas(mach_number, air_temperature)
|
|
219
|
+
req_thrust_coeff = required_thrust_coefficient(c_lift, c_drag, tas)
|
|
220
|
+
|
|
221
|
+
c_t_eta_b = thrust_coefficient_at_max_efficiency(
|
|
222
|
+
mach_number, atyp_param.m_des, atyp_param.c_t_des
|
|
223
|
+
)
|
|
224
|
+
max_thrust_coeff = max_available_thrust_coefficient(
|
|
225
|
+
air_temperature, mach_number, c_t_eta_b, atyp_param
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
return max_thrust_coeff - req_thrust_coeff
|
|
229
|
+
|
|
230
|
+
|
|
155
231
|
def _normalised_max_throttle_parameter(
|
|
156
232
|
air_temperature: ArrayOrFloat,
|
|
157
233
|
mach_number: ArrayOrFloat,
|
|
@@ -264,6 +340,131 @@ def max_usable_lift_coefficient(
|
|
|
264
340
|
return c_l_maxu_over_c_l_do * c_l_do # type: ignore[return-value]
|
|
265
341
|
|
|
266
342
|
|
|
343
|
+
def minimum_mach_num(
|
|
344
|
+
air_pressure: float,
|
|
345
|
+
aircraft_mass: float,
|
|
346
|
+
atyp_param: PSAircraftEngineParams,
|
|
347
|
+
) -> float:
|
|
348
|
+
"""
|
|
349
|
+
Calculate minimum mach number to avoid stall.
|
|
350
|
+
|
|
351
|
+
Parameters
|
|
352
|
+
----------
|
|
353
|
+
air_pressure : float
|
|
354
|
+
Ambient pressure, [:math:`Pa`]
|
|
355
|
+
aircraft_mass : float
|
|
356
|
+
Aircraft mass at each waypoint, [:math:`kg`]
|
|
357
|
+
atyp_param : PSAircraftEngineParams
|
|
358
|
+
Extracted aircraft and engine parameters.
|
|
359
|
+
|
|
360
|
+
Returns
|
|
361
|
+
-------
|
|
362
|
+
float
|
|
363
|
+
Maximum usable lift coefficient.
|
|
364
|
+
"""
|
|
365
|
+
|
|
366
|
+
def excess_mass(
|
|
367
|
+
mach_number: float,
|
|
368
|
+
air_pressure: float,
|
|
369
|
+
aircraft_mass: float,
|
|
370
|
+
mach_num_des: float,
|
|
371
|
+
c_l_do: float,
|
|
372
|
+
wing_surface_area: float,
|
|
373
|
+
) -> float:
|
|
374
|
+
amass_max = max_allowable_aircraft_mass(
|
|
375
|
+
air_pressure,
|
|
376
|
+
mach_number,
|
|
377
|
+
mach_num_des,
|
|
378
|
+
c_l_do,
|
|
379
|
+
wing_surface_area,
|
|
380
|
+
1e10,
|
|
381
|
+
)
|
|
382
|
+
if amass_max < 0:
|
|
383
|
+
return np.nan
|
|
384
|
+
return amass_max - aircraft_mass
|
|
385
|
+
|
|
386
|
+
m = scipy.optimize.root_scalar(
|
|
387
|
+
excess_mass,
|
|
388
|
+
args=(
|
|
389
|
+
air_pressure,
|
|
390
|
+
aircraft_mass,
|
|
391
|
+
atyp_param.m_des,
|
|
392
|
+
atyp_param.c_l_do,
|
|
393
|
+
atyp_param.wing_surface_area,
|
|
394
|
+
),
|
|
395
|
+
x0=0.5,
|
|
396
|
+
x1=0.6,
|
|
397
|
+
).root
|
|
398
|
+
|
|
399
|
+
return m
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
def maximum_mach_num(
|
|
403
|
+
altitude_ft: float,
|
|
404
|
+
air_pressure: float,
|
|
405
|
+
aircraft_mass: float,
|
|
406
|
+
air_temperature: float,
|
|
407
|
+
theta: float,
|
|
408
|
+
atyp_param: PSAircraftEngineParams,
|
|
409
|
+
) -> float:
|
|
410
|
+
r"""
|
|
411
|
+
Return the maximum mach number at the current operating conditions.
|
|
412
|
+
|
|
413
|
+
The value returned will be the lesser of the maximum operational mach
|
|
414
|
+
number of the aircraft or the mach number obtainable at maximum thrust
|
|
415
|
+
|
|
416
|
+
Parameters
|
|
417
|
+
----------
|
|
418
|
+
altitude_ft : float
|
|
419
|
+
Altitude, [:math:`ft`]
|
|
420
|
+
air_pressure : float
|
|
421
|
+
Ambient pressure, [:math:`Pa`]
|
|
422
|
+
aircraft_mass : float
|
|
423
|
+
Aircraft mass at each waypoint, [:math:`kg`]
|
|
424
|
+
air_temperature : npt.NDArray[np.float64]
|
|
425
|
+
Array of ambient temperature, [:math: `K`]
|
|
426
|
+
theta : float | npt.NDArray[np.float64]
|
|
427
|
+
Climb (positive value) or descent (negative value) angle, [:math:`\deg`]
|
|
428
|
+
atyp_param : PSAircraftEngineParams
|
|
429
|
+
Extracted aircraft and engine parameters.
|
|
430
|
+
|
|
431
|
+
Returns
|
|
432
|
+
-------
|
|
433
|
+
float
|
|
434
|
+
Maximum usable lift coefficient.
|
|
435
|
+
"""
|
|
436
|
+
# Max speed ignoring thrust limits
|
|
437
|
+
mach_num_op_lim = max_mach_number_by_altitude(
|
|
438
|
+
altitude_ft,
|
|
439
|
+
air_pressure,
|
|
440
|
+
atyp_param.max_mach_num,
|
|
441
|
+
atyp_param.p_i_max,
|
|
442
|
+
atyp_param.p_inf_co,
|
|
443
|
+
)
|
|
444
|
+
|
|
445
|
+
# If the max mach number ignoring thrust limits is possible, return that value
|
|
446
|
+
if (
|
|
447
|
+
get_excess_thrust_available(
|
|
448
|
+
mach_num_op_lim, air_temperature, air_pressure, aircraft_mass, theta, atyp_param
|
|
449
|
+
)
|
|
450
|
+
> 0
|
|
451
|
+
):
|
|
452
|
+
return mach_num_op_lim
|
|
453
|
+
|
|
454
|
+
# Numerically solve for the speed where drag == max thrust
|
|
455
|
+
try:
|
|
456
|
+
m_max = scipy.optimize.root_scalar(
|
|
457
|
+
get_excess_thrust_available,
|
|
458
|
+
args=(air_temperature, air_pressure, aircraft_mass, theta, atyp_param),
|
|
459
|
+
x0=mach_num_op_lim,
|
|
460
|
+
x1=mach_num_op_lim - 0.05,
|
|
461
|
+
).root
|
|
462
|
+
except ValueError:
|
|
463
|
+
return np.nan
|
|
464
|
+
|
|
465
|
+
return m_max
|
|
466
|
+
|
|
467
|
+
|
|
267
468
|
# ----------------
|
|
268
469
|
# Fuel flow limits
|
|
269
470
|
# ----------------
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
ICAO,Manufacturer,Type,Year_of_first_flight,n_engine,winglets,WV,MTOM_kg,MLM_kg,MZFM_kg,OEM_i_kg,MPM_i_kg,MZFM_MTOM,OEM_i_MTOM,MPM_i_MTOM,Sref_m2,span_m,bf_m,delta_2,cos_sweep,AR,psi_0,Xo,wing_constant,j_2,j_1,CL_do,etaL_D_do,nominal_F00_ISA_kn,mf_max_T_O_SLS_kg_s,mf_idle_SLS_kg_s,M_des,CT_des,eta_1,eta_2,Mec,Tec,FL_max,MMO,pi_max_pa,pinf_co_pa,nominal_opr,nominal_bpr,nominal_fpr
|
|
2
|
+
A30B,Airbus,A300B4-200,1973,2,no,6,165000,134000,124000,88505,35495,0.751515152,0.536393939,0.215121212,260,44.83,5.64,0.031655613,0.882947568,7.729726538,8.774193537,1.036099444,0.711780698,0.86836702,0.07391802,0.548381029,4.318482734,466.2,4.8029,0.4,0.7527,0.034997635,0.321789379,0.54535,0.674344,4.93205278,390,0.82,20882.78822,37618.41516,26.47,4.6,1.65
|
|
3
|
+
A306,Airbus,A300B4-600R,1983,2,no,0,170500,140000,130000,86220,43780,0.762463343,0.50568915,0.256774194,260,44.84,5.64,0.031641495,0.882947568,7.733175385,7.803846371,1.014875092,0.721487903,0.871400617,0.076160146,0.519478424,5.296827535,524.8533333,5.078666667,0.424,0.7527,0.030658862,0.364210924,0.537766667,0.683259556,5.336387723,410,0.82,20882.78822,37618.41516,31.52666667,4.933333333,1.65
|
|
4
|
+
A310,Airbus,A310-200,1982,2,no,8,138600,122000,112000,79207,32793,0.808080808,0.571479076,0.236601732,219,43.89,5.64,0.033026081,0.882947568,8.796036986,8.375562451,1.013898087,0.743809599,0.868659927,0.073287068,0.557549017,5.65582168,443.525,4.2895,0.3842,0.772,0.032940786,0.383837958,0.53568125,0.685649,5.373550789,410,0.84,21865.62405,37237.40235,26.3725,5.025,1.65
|
|
5
|
+
A313,Airbus,A310-300,1982,2,no,0,150000,123000,113000,77397,35603,0.753333333,0.51598,0.237353333,219,43.89,5.64,0.033026081,0.882947568,8.796036986,8.212622174,1.024582936,0.737571745,0.869516104,0.074562862,0.563576336,5.602548625,480.258,4.5104,0.3946,0.772,0.032853327,0.375278919,0.5369325,0.68421856,5.364267817,410,0.84,21865.62405,37237.40235,28.184,4.97,1.65
|
|
6
|
+
A318,Airbus,A318-100,2002,2,no,5,68000,57500,53000,38818,14182,0.779411765,0.570852941,0.208558824,122.4,34.1,3.95,0.026835855,0.906307767,9.500081699,7.471444005,0.995441823,0.753958954,0.870956053,0.075008678,0.563947374,5.333478382,199.2533333,2.060666667,0.211333333,0.7527,0.030936248,0.340355901,0.532458333,0.689288889,6.031933509,410,0.82,20882.78822,37618.41516,25.43333333,5.166666667,1.65
|
|
7
|
+
A319,Airbus,A319-100,1995,2,no,6,73500,62500,58500,39725,18775,0.795918367,0.54047619,0.255442177,122.4,34.1,3.95,0.026835855,0.906307767,9.500081699,7.700920319,0.995030706,0.754823537,0.870775437,0.074774133,0.568723265,5.098135499,212.4783333,1.987166667,0.212,0.7527,0.031550436,0.328,0.521633125,0.70104451,5.849202578,410,0.82,20882.78822,37618.41516,25.33833333,5.6425,1.65
|
|
8
|
+
A320,Airbus,A320-200,1987,2,no,0,73500,64500,60500,41244,19256,0.823129252,0.561142857,0.261986395,122.4,34.1,3.95,0.026835855,0.906307767,9.500081699,8.395287612,1.006597506,0.749584382,0.868903458,0.073191605,0.59039895,5.259100576,224.638,2.1462,0.2239,0.7527,0.034652548,0.358,0.5218265,0.70084087,5.588929572,410,0.82,20882.78822,37618.41516,26.909,5.634,1.65
|
|
9
|
+
A321,Airbus,A321-100,1993,2,no,8,89000,75500,71500,46856,24644,0.803370787,0.52647191,0.276898876,122.4,34.15,3.95,0.02675733,0.906307767,9.527961601,8.631216449,1.023748365,0.740171309,0.869023229,0.074059188,0.606338494,4.98823425,269.3142857,2.690571429,0.246285714,0.7527,0.0358593,0.342780897,0.52832,0.693868454,5.741120348,391.0006562,0.82,20882.78822,37618.41516,31.16285714,5.348571429,1.65
|
|
10
|
+
A332,Airbus,A330-200,1992,2,no,52,233000,182000,170000,116840,53160,0.729613734,0.501459227,0.228154506,361.6,60.3,5.64,0.017496597,0.868631486,10.05555863,6.691783708,0.986539447,0.762475042,0.872047153,0.076050268,0.528141489,6.875896605,609.465,5.93725,0.4895,0.786475,0.02499242,0.37,0.535055625,0.68636059,5.728484511,410,0.86,22875.41229,36864.52979,34.20375,5.0525,1.65
|
|
11
|
+
A333,Airbus,A330-300,1992,2,no,52,233000,187000,175000,120132,54868,0.751072961,0.515587983,0.235484979,361.6,60.3,5.64,0.017496597,0.868631486,10.05555863,6.899510103,0.989985236,0.76102049,0.871552208,0.075532661,0.535352593,7.128484765,604.4625,5.839875,0.49225,0.786475,0.025831756,0.391045891,0.534117188,0.687423438,5.727838461,410,0.86,22875.41229,36864.52979,33.67251837,5.09375,1.65
|
|
12
|
+
A338,Airbus,A330-800,2018,2,no,,242000,186000,174000,132000,42000,0.719008264,0.545454545,0.173553719,374,64,5.64,0.015532031,0.866025375,10.95187166,6.212990529,0.958877916,0.780583541,0.873631599,0.077578309,0.530216374,8.328327417,655.6,4.956,0.482,0.786,0.022900369,0.400414909,0.44525,0.7634,6.246060604,414.5,0.86,22875.41229,36864.52979,45.4,9,1.65
|
|
13
|
+
A339,Airbus,A330-900,2017,2,no,,242000,191000,181000,135000,46000,0.747933884,0.55785124,0.190082645,374,64,5.64,0.015532031,0.866025375,10.95187166,6.46325095,0.96246813,0.779169206,0.873192286,0.076918011,0.539469135,8.110705591,655.6,4.956,0.482,0.786,0.023887738,0.399788387,0.44525,0.7634,6.232485988,414.5,0.86,22875.41229,36864.52979,45.4,9,1.65
|
|
14
|
+
A342,Airbus,A340-200,1991,4,no,1,257000,181000,169000,125242,43758,0.657587549,0.487322957,0.170264591,361.6,60.3,5.64,0.017496597,0.868631486,10.05555863,7.076588203,0.994839196,0.759754196,0.872370296,0.076725978,0.551202388,6.689573974,579.4666667,5.516,0.4824,0.786475,0.026833302,0.367,0.497575,0.724576,5.643739289,415,0.86,22875.41229,36864.52979,29.95,6.7,1.65
|
|
15
|
+
A343,Airbus,A340-300,1991,4,no,1,257000,186000,174000,125242,48758,0.677042802,0.487322957,0.189719844,361.6,60.3,5.64,0.017496597,0.868631486,10.05555863,7.383954096,1.000285382,0.7573768,0.871649368,0.076010212,0.561474717,6.610070249,579.4666667,5.516,0.4824,0.786475,0.028082741,0.372580342,0.497575,0.724576,5.663601105,415,0.86,22875.41229,36864.52979,29.95,6.7,1.65
|
|
16
|
+
A345,Airbus,A340-500,2002,4,no,1,372000,243000,230000,170370,59630,0.61827957,0.457983871,0.160295699,437.3,63.45,5.64,0.015802469,0.856267054,9.206271438,6.730844314,0.984937415,0.761952208,0.873638932,0.078182371,0.511999654,6.777298015,1036.4,8.786666667,0.92,0.796125,0.024513506,0.361959064,0.479375,0.74,5.668646964,414.5013123,0.86,22875.41229,36864.52979,36.17666667,7.5,1.65
|
|
17
|
+
A346,Airbus,A340-600,2001,4,no,1,368000,259000,245000,176364,68636,0.66576087,0.47925,0.18651087,437.3,63.45,5.64,0.015802469,0.856267054,9.206271438,7.056855481,0.990652069,0.759481269,0.872973519,0.077394212,0.523156024,6.815977225,1050.8,8.96,0.92,0.796125,0.025814567,0.37517065,0.479375,0.74,5.68183304,415,0.86,22875.41229,36864.52979,36.67,7.5,1.65
|
|
18
|
+
A359,Airbus,A350-900,2013,2,no,9,275000,207000,195700,146600,49100,0.711636364,0.533090909,0.178545455,445,64.75,5.96,0.016945054,0.848048064,9.421488764,6.140290359,0.962361567,0.791413177,0.873943906,0.078227432,0.493332851,8.125436058,758,5.638,0.582,0.82025,0.022496843,0.404691496,0.4450225,0.76353184,6.122466226,431.0006562,0.89,24441.49186,36319.05391,41.095,9.01,1.65
|
|
19
|
+
A35K,Airbus,A350-1000,2016,2,yes,2,316000,236000,223000,156000,67000,0.705696203,0.493670886,0.212025316,465,64.75,5.96,0.016945054,0.848048064,9.016263441,6.183084792,0.966883665,0.788899107,0.87362679,0.077787748,0.499564827,8.147693431,873.4,7.014,0.65,0.82025,0.022347631,0.399824282,0.46709,0.74925344,6.172981137,414.5,0.89,24441.49186,36319.05391,48.57,8.04,1.65
|
|
20
|
+
A388,Airbus,A380-800,2005,4,no,2,569000,391000,366000,275000,91000,0.643233743,0.483304042,0.159929701,845,79.8,7.142,0.016020051,0.866025375,7.536142012,6.132045576,0.966638255,0.794400187,0.875962464,0.081840299,0.446446426,7.498481785,1350.653333,10.56933333,1.072,0.82025,0.021624953,0.398677354,0.470199167,0.746999716,5.869080111,431.0006562,0.89,24441.49186,36319.05391,38.07666667,7.903333333,1.65
|
|
21
|
+
B712,Boeing,B717-200,1998,2,no,HGW,54884,49898,45586,31071,14515,0.83058815,0.566121274,0.264466876,92.75,28.4,3.4,0.028664947,0.906307767,8.69606469,8.722339782,1.035797278,0.684750239,0.867306999,0.07298002,0.593541399,4.555779693,179.025,1.8155,0.201,0.7,0.037603724,0.350583851,0.545179375,0.67454851,5.998301413,370.9973753,0.82,20882.78822,37618.41516,30.4725,4.6075,1.65
|
|
22
|
+
B732,Boeing,B737-200,1967,2,no,5,52390,46720,43092,27125,15967,0.822523382,0.517751479,0.304771903,99,28.35,3.76,0.035180302,0.906307767,8.118409091,8.406144658,1.040134437,0.677684157,0.866573271,0.072538149,0.55647915,3.340772824,137.0738462,2.302092308,0.280215385,0.7,0.035879744,0.26934358,0.626585,0.556532787,4.655496203,370,0.82,20882.78822,37618.41516,16.59230769,1.029230769,1.65
|
|
23
|
+
B733,Boeing,B737-300,1984,2,no,3,61236,51710,48308,32904,15404,0.788882357,0.537330982,0.251551375,102,28.9,3.76,0.033854001,0.906307767,8.188333333,9.200303497,1.023913881,0.715234635,0.867001262,0.072169037,0.577795554,4.096979487,187.3,2.014,0.234,0.728575,0.038442568,0.322802793,0.533975,0.687584,5.504887402,390,0.82,20882.78822,37618.41516,23.335,5.1,1.65
|
|
24
|
+
B734,Boeing,B737-400,1988,2,no,6,68039,56246,53070,33643,19427,0.779993827,0.494466409,0.285527418,102.5,28.9,3.76,0.033854001,0.906307767,8.148390244,8.898192984,1.032441891,0.710077823,0.868386618,0.073800023,0.579192045,4.13010135,190.1266667,2.054666667,0.236,0.728575,0.037719014,0.318517837,0.533975,0.687584,5.587042978,370,0.82,20882.78822,37618.41516,23.63333333,5.1,1.65
|
|
25
|
+
B735,Boeing,B737-500,1989,2,no,3,60555,49895,46494,31312,15182,0.76779787,0.517083643,0.250714227,103.7,28.9,3.76,0.033854001,0.906307767,8.054098361,8.33451025,1.009337993,0.721164574,0.869653399,0.074113442,0.550008118,4.05463838,187.3,2.014,0.234,0.728575,0.034586216,0.301940508,0.533975,0.687584,5.694014409,370,0.82,20882.78822,37618.41516,23.335,5.1,1.65
|
|
26
|
+
B736,Boeing,B737-600,1997,2,no,3,65544,55112,51936,36378,15558,0.792383742,0.555016477,0.237367265,124.6,34.3,3.76,0.024033523,0.906307767,9.442134831,7.424658581,0.99420637,0.75916017,0.871081977,0.0751116,0.56354659,5.269028449,189.9709091,1.880909091,0.197454545,0.757525,0.030955608,0.335074122,0.527356818,0.69491914,5.900578607,410,0.82,20882.78822,37618.41516,23.16272727,5.390909091,1.65
|
|
27
|
+
B737,Boeing,B737-700,1997,2,no,3,70080,58604,55202,37648,17554,0.787699772,0.537214612,0.25048516,124.6,34.3,3.76,0.024033523,0.906307767,9.442134831,7.610623423,0.997092665,0.757625964,0.870727093,0.074802808,0.567363946,5.021956077,214.1278261,2.175826087,0.209652174,0.757525,0.031490511,0.323004185,0.530809783,0.691125898,5.90211253,410,0.82,20882.78822,37618.41516,25.6326087,5.239130435,1.65
|
|
28
|
+
B738,Boeing,B737-800,1997,2,no,3,79016,66361,61689,41413,20276,0.780715298,0.524109041,0.256606257,124.6,34.3,3.76,0.024033523,0.906307767,9.442134831,8.181516743,1.00523362,0.753742328,0.86950188,0.073769983,0.581267312,4.983308444,233.3695652,2.432434783,0.218695652,0.757525,0.033462541,0.332681166,0.533381522,0.688252824,5.90333496,410,0.82,20882.78822,37618.41516,27.74869565,5.126086957,1.65
|
|
29
|
+
B739,Boeing,B737-900ER,2006,2,no,2,85139,71350,67721,44676,23045,0.795416906,0.524741893,0.270675014,124.6,34.32,3.76,0.024005521,0.906307767,9.453149278,7.92834468,1.013309441,0.748758647,0.870784513,0.075460257,0.585041361,5.003070394,233.3695652,2.432434783,0.218695652,0.757525,0.032950004,0.326763054,0.533381522,0.688252824,6.102506148,410,0.82,20882.78822,37618.41516,27.74869565,5.126086957,1.65
|
|
30
|
+
B37M,Boeing,B737 MAX 7,2018,2,yes,,80285,66043,62913,42033,20880,0.783620851,0.523547363,0.260073488,121.875,33.26,3.76,0.02556002,0.906307767,9.076739282,7.585063721,0.975506932,0.778868312,0.872091922,0.075686978,0.572742665,6.295944315,247.6,2.0025,0.189,0.763285024,0.030537405,0.379940115,0.458445,0.75520576,6.283950827,410,0.82,20882.78822,37618.41516,40.14,8.42,1.65
|
|
31
|
+
B38M,Boeing,B737 MAX 8/8-200,2016,2,yes,,82644,69308,65952,45072,20880,0.798025265,0.545375345,0.25264992,121.875,33.26,3.76,0.02556002,0.906307767,9.076739282,7.869374698,0.97906074,0.77729995,0.871570728,0.075098953,0.581003295,6.209094863,247.6,2.0025,0.189,0.763285024,0.031631133,0.382601025,0.458445,0.75520576,6.256185757,410,0.82,20882.78822,37618.41516,40.14,8.42,1.65
|
|
32
|
+
B39M,Boeing,B737 MAX 9,2017,2,yes,,88314,74343,70987,50107,20880,0.803802342,0.567373236,0.236429105,121.875,33.26,3.76,0.02556002,0.906307767,9.076739282,8.05844544,0.994198601,0.76872365,0.87201018,0.076256786,0.598926212,6.239926908,247.6,2.0025,0.189,0.763285024,0.033089092,0.39018692,0.458445,0.75520576,6.236986266,410,0.82,20882.78822,37618.41516,40.14,8.42,1.65
|
|
33
|
+
B742,Boeing,B747-200B,1971,4,no,4,371900,285700,238780,175970,62810,0.642054316,0.473164829,0.168889486,511,59.64,6.5,0.023756444,0.793353296,6.960723288,7.019056156,1.038495569,0.69161267,0.867976442,0.073665148,0.45831945,5.337545419,882.3333333,9.1104,0.89784,0.81,0.025930712,0.338481202,0.541406667,0.679024462,4.612144185,450,0.9,24977.42649,36140.62533,24.73333333,4.773333333,1.65
|
|
34
|
+
B743,Boeing,B747-300,1980,4,no,0,377800,260320,242630,174820,67810,0.642218105,0.462731604,0.179486501,511,59.64,6.5,0.023756444,0.782608111,6.960723288,6.881751548,1.041627795,0.68253174,0.867287749,0.073197605,0.452943745,5.374951837,898.8126316,9.187157895,0.909452632,0.81,0.025344181,0.337122346,0.541757895,0.678611479,5.0506812,450,0.9,24977.42649,36140.62533,25.81736842,4.757894737,1.65
|
|
35
|
+
B744,Boeing,B747-400,1985,4,no,5,396894,285764,246075,178756,67319,0.620001814,0.450387257,0.169614557,547,64.44,6.5,0.020349121,0.793353296,7.591432541,6.688263979,1.029069691,0.698340832,0.868929586,0.074170378,0.464992693,6.027234116,1021.254118,9.786509804,0.822909804,0.81,0.024511914,0.355811516,0.537298284,0.683798564,5.296210572,450,0.92,26070.46918,35788.4714,30.57901961,4.953921569,1.65
|
|
36
|
+
B748,Boeing,B747-8F,2010,4,no,1,442253,345184,328854,197131,131723,0.743587946,0.445742595,0.297845351,594,68.4,6.5,0.018061113,0.793353296,7.876363636,6.248755182,0.997894651,0.732488325,0.872320594,0.076747175,0.457551278,7.386886339,1199.22,9.808,0.87,0.8299,0.022440249,0.395291631,0.46765875,0.74884564,5.888619001,421.0006562,0.9,24977.42649,36140.62533,42.975,8.015,1.65
|
|
37
|
+
B752,Boeing,B757-200,1982,2,no,4,113400,89800,83450,62100,21350,0.735890653,0.547619048,0.188271605,189,38.06,3.76,0.019519474,0.906307767,7.664357672,7.102482242,0.985678149,0.770287681,0.873576345,0.078107881,0.496548327,5.358463362,357.962,3.6404,0.3454,0.772,0.027960973,0.347178893,0.54209675,0.678212322,5.37738391,420,0.86,22875.41229,36864.52979,26.909,4.743,1.65
|
|
38
|
+
B753,Boeing,B757-300,1998,2,no,2,122470,101610,95270,64580,30690,0.777904793,0.527312811,0.250591982,189,38.06,3.76,0.019519474,0.906307767,7.664357672,7.593716886,1.005262025,0.759572707,0.87301803,0.077746352,0.522123205,5.260668861,357.962,3.6404,0.3454,0.772,0.030631737,0.355109179,0.54209675,0.678212322,5.884200369,430,0.86,22875.41229,36864.52979,26.909,4.743,1.65
|
|
39
|
+
B762,Boeing,B767-200ER,1984,2,no,6,179169,136078,117934,82377,35557,0.658227707,0.459772617,0.19845509,283.3,47.57,5.03,0.022361435,0.852640133,7.987662902,6.962665875,1.012922549,0.718636663,0.871373991,0.076077449,0.50014418,5.891145984,504.4066667,4.8587,0.407266667,0.772,0.027161252,0.367680713,0.537596042,0.683456066,5.407506184,430,0.86,22875.41229,36864.52979,30.22716667,4.940833333,1.65
|
|
40
|
+
B763,Boeing,B767-300,1995,2,no,2,158758,136078,126299,86069,40230,0.795544162,0.542139609,0.253404553,283.3,47.57,5.03,0.022361435,0.852640133,7.987662902,6.296852184,0.988567215,0.730450667,0.872804122,0.077119108,0.469638583,6.001519547,504.4066667,4.8587,0.407266667,0.772,0.02403592,0.353,0.537596042,0.683456066,5.537312075,431.0006562,0.86,22875.41229,36864.52979,30.22716667,4.940833333,1.65
|
|
41
|
+
B764,Boeing,B767-400ER,1999,2,no,1,204116,158757,149685,103147,46538,0.733333007,0.505335202,0.227997805,283.3,51.92,5.03,0.018771397,0.852640133,9.515306742,7.202171898,1.015950634,0.72271456,0.869996123,0.074730057,0.543871305,6.148190272,512.7957895,4.861157895,0.399794737,0.772,0.027844828,0.361414229,0.533975,0.687584,5.831334305,450,0.86,22875.41229,36864.52979,30.55605263,5.1,1.65
|
|
42
|
+
B77L,Boeing,B777-200LR,2005,2,no,1,347450,223168,209107,145150,63957,0.601833357,0.417757951,0.184075407,427.8,64.8,6.2,0.018308947,0.851726902,9.81542777,6.503715019,0.985544142,0.772137202,0.873492551,0.077988704,0.519417863,7.585117015,1006.5,9.01,0.75,0.8106,0.02389309,0.386398306,0.4859725,0.73464544,5.820183704,431.0006562,0.89,24441.49186,36319.05391,40.985,7.21,1.65
|
|
43
|
+
B772,Boeing,B777-200,1994,2,no,6,286900,206350,195030,135600,59430,0.679783897,0.47263855,0.207145347,427.8,60.93,6.2,0.020708613,0.851726902,8.678038569,6.461822217,0.987569999,0.767369197,0.873764241,0.078399473,0.495253823,6.781321287,781.2292857,6.885785714,0.5735,0.8106,0.024180523,0.367,0.490319375,0.730970427,5.71612393,431.0006562,0.89,24441.49186,36319.05391,37.69964286,7.018928571,1.65
|
|
44
|
+
B77W,Boeing,B777-300ER,2002,2,no,1,351530,251290,237673,167820,69853,0.676110147,0.4773988,0.198711348,427.8,64.8,6.2,0.018308947,0.851726902,9.81542777,7.159075436,0.997868415,0.76653828,0.872013573,0.076372489,0.541566421,7.183146325,1027.8,9.38,0.76,0.8106,0.026449404,0.388746118,0.48893,0.73215776,5.59316908,431.0006562,0.89,24441.49186,36319.05391,42.24,7.08,1.65
|
|
45
|
+
B773,Boeing,B777-300,1997,2,no,4,299370,237680,224530,159570,64960,0.750008351,0.533019341,0.21698901,427.8,60.93,6.2,0.020708613,0.851726902,8.678038569,7.06941142,1.002684301,0.759514113,0.872187708,0.076713703,0.51471757,6.864081938,744.7577778,6.869444444,0.561,0.8106,0.026557394,0.393961604,0.507218472,0.715573354,5.802646414,431.0006562,0.89,24441.49186,36319.05391,36.31444444,6.276111111,1.65
|
|
46
|
+
B788,Boeing,B787-8,2009,2,no,1,227930,172365,161025,117707,43318,0.706466898,0.516417321,0.190049577,377,60.12,5.77,0.018422293,0.846193133,9.587306101,6.382579903,0.968083144,0.783757191,0.873178246,0.077083447,0.508399177,8.025698576,633.0491892,4.822891892,0.453081081,0.815425,0.023810747,0.411614512,0.445062466,0.763508702,6.062664522,431.0006562,0.9,24977.42649,36140.62533,42.93635135,9.008243243,1.65
|
|
47
|
+
B789,Boeing,B787-9,2013,2,no,1,254011,192777,181437,128850,52587,0.714287964,0.507261497,0.207026467,377,60.12,5.77,0.018422293,0.846193133,9.587306101,6.477888019,0.968258434,0.783684365,0.873156144,0.077053182,0.508801657,8.027179776,633.0491892,4.822891892,0.453081081,0.815425,0.023856026,0.412147079,0.445062466,0.763508702,6.129298314,431.0334646,0.9,24977.42649,36140.62533,42.93635135,9.008243243,1.65
|
|
48
|
+
B78X,Boeing,B787-10,2017,2,no,,254011,201848,192776,135500,57276,0.758927763,0.533441465,0.225486298,377,60.12,5.77,0.018422293,0.846193133,9.587306101,6.607025807,0.970886833,0.78231171,0.872881338,0.076703182,0.512787007,7.704002339,688.56,5.332568421,0.474731579,0.815425,0.024318041,0.400356131,0.448435,0.76152064,6.188500149,411,0.9,24977.42649,36140.62533,46.44,8.86,1.65
|
|
49
|
+
BCS1,Airbus,A220-100,2013,2,yes,,60781,51029,48987,35222,13765,0.805959099,0.579490301,0.226468798,115,32.5,3.505,0.023261586,0.898794024,9.184782609,7.341279884,0.960595004,0.776436689,0.872616965,0.075848076,0.575972879,6.185990497,200.8,1.438,0.148,0.753623188,0.030392966,0.364818967,0.3931525,0.78523744,6.230436775,410,0.82,20882.78822,37618.41516,36.1,11.29,1.65
|
|
50
|
+
BCS3,Airbus,A220-200,2015,2,yes,,70896,61008,58060,37082,20978,0.818946062,0.523047845,0.295898217,115,32.5,3.505,0.023261586,0.898794024,9.184782609,7.724262518,0.963925925,0.775119863,0.872128778,0.075195994,0.585019236,6.055724131,200.8,1.438,0.148,0.753623188,0.031581624,0.365365479,0.3931525,0.78523744,6.261141077,410,0.82,20882.78822,37618.41516,36.1,11.29,1.65
|
|
51
|
+
E135,Embraer,EMB-135LR,1995,2,no,0,20000,18500,15999,11500,4499,0.79995,0.575,0.22495,51.18,20.04,2.25,0.025211553,0.923879516,7.846846424,8.018356069,1.012322431,0.708748302,0.869299248,0.073869708,0.562009635,3.431268437,66.1,0.7178,0.0898,0.70445,0.036968374,0.27276541,0.5405725,0.68000224,5.917521821,370,0.78,18996.45555,38407.92089,17.22,4.81,1.65
|
|
52
|
+
E145,Embraer,EMB-145LR,1995,2,no,0,22000,19300,17900,12114,5786,0.813636364,0.550636364,0.263,51.18,20.04,2.25,0.025211553,0.923879516,7.846846424,8.379769784,1.017505025,0.706378777,0.868482629,0.073274618,0.569734872,3.597812118,74.32,0.8244,0.095,0.70445,0.038245748,0.292084412,0.54262,0.67759456,5.917909369,370,0.78,18996.45555,38407.92089,19.06,4.72,1.65
|
|
53
|
+
E170,Embraer,EMB-170LR,2002,2,yes,0,37200,32800,29800,20700,9100,0.801075269,0.556451613,0.244623656,72.72,25.3,3.15,0.031003453,0.923879516,8.802117712,8.103,1.005217924,0.744171061,0.869283909,0.073532873,0.598468911,4.066065719,120.114,1.31516,0.12908,0.7334,0.035430036,0.283999174,0.5332925,0.68835296,6.056766771,410,0.82,20882.78822,37618.41516,23.314,5.13,1.65
|
|
54
|
+
E190,Embraer,EMB-190STD,2004,2,yes,,47790,43000,40800,27900,12900,0.853735091,0.583804143,0.269930948,86,27.71,2.74,0.019555011,0.923879516,8.928419767,7.898386381,0.99968373,0.769679725,0.870246567,0.074352897,0.594043088,4.6941615,167.4,1.74,0.176,0.757525,0.033846101,0.310223835,0.5342025,0.68732704,6.07089511,410,0.82,20882.78822,37618.41516,27.3,5.09,1.65
|
|
55
|
+
E195,Embraer,EMB-195STD,2004,2,yes,0,48790,45000,42500,28700,13800,0.871080139,0.588235294,0.282844845,92.53,27.73,3,0.023408456,0.923879516,8.310309089,8.12816248,1.003277121,0.765946572,0.870141166,0.074388188,0.583581105,4.471913613,161.9811765,1.671294118,0.172823529,0.757525,0.034908937,0.310281044,0.5342025,0.68732704,6.07089511,410,0.82,20882.78822,37618.41516,26.53529412,5.09,1.65
|
|
56
|
+
MD82,Boeing,MD-82,1981,2,no,0,67812,58967,55338,35369,19969,0.816050257,0.521574353,0.294475904,112.3,32.85,3.35,0.020799307,0.923879516,9.60928317,8.955934197,1.034594007,0.714688042,0.866072122,0.0718649,0.612313936,3.987672179,185.48,2.621,0.2743,0.72,0.037613802,0.299388919,0.610813125,0.58259779,5.437458322,370,0.84,21865.62405,37237.40235,19.5075,1.7225,1.65
|
|
57
|
+
MD83,Boeing,MD-83,1984,2,no,0,72575,63276,55338,36145,19193,0.762493972,0.498036514,0.264457458,112.3,32.85,3.35,0.020799307,0.923879516,9.60928317,8.85605389,1.046265541,0.708621624,0.866902498,0.073058432,0.62175399,3.897539841,193.04,2.708,0.2688,0.72,0.037907506,0.290478105,0.611325,0.581776,5.567055426,370,0.84,21865.62405,37237.40235,20.27,1.7,1.65
|
|
58
|
+
GLF5,Gulfstream,G-550,1995,2,no,0,41277,34155,23587,21909,1678,0.571432032,0.530779853,0.040652179,105.56,28.5,2.5,0.015389351,0.906307767,7.694676014,6.702319588,0.99471301,0.76525366,0.872752056,0.077203567,0.508157359,5.5011112,137.54,1.494,0.166,0.772,0.029344031,0.367,0.5578625,0.658856,5.849906518,510,0.885,24176.14834,36408.88368,24.95,4.05,1.65
|
|
59
|
+
CRJ9,Bombardier,CRJ-9,1999,2,yes,0,38329,34065,32092,21350,10742,0.837277257,0.557019489,0.280257768,69,22.62,2.69,0.028284555,0.898794024,7.415426087,7.940977915,1.011391814,0.736978861,0.869436756,0.073972647,0.549943744,4.185393752,120.9433333,1.326366667,0.129766667,0.7527,0.034336494,0.304067923,0.5332925,0.68835296,5.960740978,410,0.85,22367.12483,37049.99171,23.44833333,5.13,1.65
|
|
60
|
+
DC93,Boeing,DC-9-32,1967,2,no,0,48988,44906,39463,25789,13674,0.805564628,0.526435045,0.279129583,93,28.44,3.35,0.027749836,0.913545439,8.697135484,7.952009382,1.029517002,0.718504638,0.868319059,0.073625769,0.565164551,3.47919413,130.48,2.134,0.2732,0.7334,0.034308395,0.2565,0.626643333,0.556433529,4.641949038,370,0.84,21865.62405,37237.40235,16.31,1.026666667,1.65
|
|
61
|
+
RJ1H,BAESystems,RJ-100,1987,4,no,0,44225,40142,37421,25640,11781,0.846150367,0.579762578,0.26638779,77.3,26.34,3.5,0.035312994,0.965925819,8.975363519,9.769273679,1.023211827,0.681862045,0.868995494,0.074011851,0.636811428,3.247264845,124,1.4312,0.1812,0.65,0.042741457,0.274318931,0.533975,0.687584,5.677433606,350,0.734,16954.77401,39369.19067,13,5.1,1.65
|
|
62
|
+
B722,Boeing,727-200,1967,2,no,0,83820,70100,63560,44390,19170,0.758291577,0.529587211,0.228704366,157.9,32.92,3.76,0.026090718,0.848048064,6.863371754,7.901954881,1.057801221,0.686729187,0.86502235,0.07205027,0.499213735,3.689723246,203.75625,3.4058625,0.41835,0.77,0.03284992,0.286,0.626595938,0.556514178,4.631875613,420,0.9,24977.42649,36140.62533,16.539375,1.02875,1.65
|
|
63
|
+
A20N,Airbus,A320-NEO,2014,2,yes,54,79000,66300,62800,43600,19200,0.794936709,0.551898734,0.243037975,122.4,35.1,3.59,0.02092207,0.906307767,10.06544118,7.519168898,0.956139347,0.786244088,0.872610625,0.075611461,0.597752236,6.437505219,255.7834783,1.771291826,0.179714609,0.7527,0.030225318,0.363162533,0.38526913,0.787080092,6.248203519,410,0.82,20882.78822,37618.41516,34.13434783,11.63652174,1.65
|
|
64
|
+
A21N,Airbus,A321-NEO,2016,2,yes,52,93500,77300,73000,48000,25000,0.780748663,0.513368984,0.267379679,122.4,35.27,3.95,0.025084952,0.906307767,10.16317729,8.080988052,0.973612104,0.776932809,0.873049689,0.077052255,0.626442739,6.502543201,255.7834783,1.771291826,0.179714609,0.7527,0.032774858,0.379556514,0.38526913,0.787080092,6.202228431,391.0104987,0.82,20882.78822,37618.41516,34.13434783,11.63652174,1.65
|
pycontrails/physics/units.py
CHANGED
|
@@ -410,8 +410,8 @@ 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: npt.NDArray[np.float64]
|
|
414
|
-
) -> npt.NDArray[np.float64]:
|
|
413
|
+
mach_number: float | npt.NDArray[np.float64], T: float | npt.NDArray[np.float64]
|
|
414
|
+
) -> float | npt.NDArray[np.float64]:
|
|
415
415
|
r"""Calculate true airspeed from the Mach number at a specified ambient temperature.
|
|
416
416
|
|
|
417
417
|
Parameters
|
pycontrails/utils/types.py
CHANGED
|
@@ -15,7 +15,9 @@ import xarray as xr
|
|
|
15
15
|
ArrayLike = TypeVar("ArrayLike", np.ndarray, xr.DataArray, Union[xr.DataArray, np.ndarray])
|
|
16
16
|
|
|
17
17
|
#: Array or Float (np.ndarray, float)
|
|
18
|
-
ArrayOrFloat = TypeVar(
|
|
18
|
+
ArrayOrFloat = TypeVar(
|
|
19
|
+
"ArrayOrFloat", npt.NDArray[np.float64], float, Union[float, npt.NDArray[np.float64]]
|
|
20
|
+
)
|
|
19
21
|
|
|
20
22
|
#: Array like input (np.ndarray, xr.DataArray, np.float64, float)
|
|
21
23
|
ArrayScalarLike = TypeVar(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
pycontrails/__init__.py,sha256=8WUs6hZAAIH1yKfwYJ8UEqNsk5voRyLmmD3Dje9DZaE,2055
|
|
2
|
-
pycontrails/_version.py,sha256=
|
|
2
|
+
pycontrails/_version.py,sha256=Z3flk-6qKL4selVxji0mrZLN1YfKORVEfpHjsiUr8UQ,429
|
|
3
3
|
pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
pycontrails/core/__init__.py,sha256=eNypVTz1kHBSKAJX3CgfKw-VKrMRRkKTutmjSlrfeUs,870
|
|
5
5
|
pycontrails/core/aircraft_performance.py,sha256=ikeJmdvFRDa1RdfR-JKfhQbiiIzL0c2vzcBmobmoxMs,22511
|
|
@@ -8,7 +8,7 @@ pycontrails/core/cache.py,sha256=NNrFNUvmDEkeS0d1VpDNWmF225a8u2d-TGcpRgQd9Qs,288
|
|
|
8
8
|
pycontrails/core/coordinates.py,sha256=cb8RprpoSgRTFbAXTPNfuUHVnOxyV3zZ0Ac88P5YbBw,5465
|
|
9
9
|
pycontrails/core/datalib.py,sha256=u2dNc8HxkeJd1jMPTZsOTEagTI0wQkzF1ComctmxJO8,23993
|
|
10
10
|
pycontrails/core/fleet.py,sha256=WKF_s_gRXHmB9b1OW7RUkM1TzfvVD8Ab0Md-qKRwkzs,16544
|
|
11
|
-
pycontrails/core/flight.py,sha256=
|
|
11
|
+
pycontrails/core/flight.py,sha256=B7yOtmQgyu-8v5je4faWVh9XOm_2Yb9UvJJaQ-fpj9c,82183
|
|
12
12
|
pycontrails/core/flightplan.py,sha256=cpMZ6VCYbfwh3vnew2XgVEHnqBx1NzeAhrTVCvlbbss,7569
|
|
13
13
|
pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
|
|
14
14
|
pycontrails/core/interpolation.py,sha256=Sp9s17i1QQx3jZwnwvt3vo6enWwlkYwTVKCE27N2Wdk,26214
|
|
@@ -16,7 +16,7 @@ pycontrails/core/met.py,sha256=J7m0fJNJrFfcXP4d0ctf_ZK4eDa2kT9kWFHfwnEECo8,94924
|
|
|
16
16
|
pycontrails/core/met_var.py,sha256=JzB7UhBLQyU4TuKZqemhpBHA6Dbt89BPYO2sYBLMkL4,9504
|
|
17
17
|
pycontrails/core/models.py,sha256=VS-ct4xkojJIuqdPpT1ke1ZetNzv10nNx_Z_XalZyeo,40175
|
|
18
18
|
pycontrails/core/polygon.py,sha256=ukcYh4TzGxz-ggipYe1m6DR50aEBgQhxWkEtjoTqC3w,18227
|
|
19
|
-
pycontrails/core/rgi_cython.cp312-win_amd64.pyd,sha256=
|
|
19
|
+
pycontrails/core/rgi_cython.cp312-win_amd64.pyd,sha256=DGfxzri-C_BWh5eRvXDO4PNNSNfDzZvIPaO3C4oQ3po,264704
|
|
20
20
|
pycontrails/core/vector.py,sha256=MF0oWX0Ghp_G41A712VbU1GEKRNU_Pj9PtzMREPG5Z8,73916
|
|
21
21
|
pycontrails/datalib/__init__.py,sha256=WnXqgv20SrHZLjFZ9qpQEwRnf0QvfZU-YvMqh7PAUwg,246
|
|
22
22
|
pycontrails/datalib/goes.py,sha256=NVk6QFfHbGpOINlKlG6PR1Hn_LCmzP7k20VJQZXpVG8,27124
|
|
@@ -60,35 +60,35 @@ pycontrails/models/cocipgrid/cocip_grid.py,sha256=0KWf3Wm8GZOOIy-D86Y8bC-2MIjKbV
|
|
|
60
60
|
pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=ZpN00VEmeRYaeZhvSfVjnEjrgn6XdClf1eqJC8Ytcuw,6013
|
|
61
61
|
pycontrails/models/emissions/__init__.py,sha256=BXzV2pBps8j3xbaF1n9uPdVVLI5MBIGYx8xqDJezYIE,499
|
|
62
62
|
pycontrails/models/emissions/black_carbon.py,sha256=9DRqB487pH8Iq83FXggA5mPLYEAA8NpsKx24f8uTEF4,20828
|
|
63
|
-
pycontrails/models/emissions/emissions.py,sha256=
|
|
63
|
+
pycontrails/models/emissions/emissions.py,sha256=TqRPC15hC0gvL4-D4jDBgCOzOiSij6h0vvo7_GDkjI8,48917
|
|
64
64
|
pycontrails/models/emissions/ffm2.py,sha256=wtiWk00_Rby2_xJN-pMY6Ays0CZwFhvqDRFmIIkwunU,12368
|
|
65
|
-
pycontrails/models/emissions/static/default-engine-uids.csv,sha256=
|
|
66
|
-
pycontrails/models/emissions/static/edb-gaseous-
|
|
67
|
-
pycontrails/models/emissions/static/edb-nvpm-
|
|
65
|
+
pycontrails/models/emissions/static/default-engine-uids.csv,sha256=6e-0Fjbka1www4o2CNtw2pW-g0s_E7hZQ6vOaR84Q5Y,6456
|
|
66
|
+
pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=Np_ej6WYFo7PGYtvIt_IAcEVCwTTbNNImKSYQ3Lhcpg,128114
|
|
67
|
+
pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=MwLLrcATd38KPddTpHpMGBrZuA4I7he-1B5otTp4ar8,77533
|
|
68
68
|
pycontrails/models/humidity_scaling/__init__.py,sha256=-xqDCJzKJx2nX6yl-gglHheQHWDhkvb8X7atbMJT2LA,1156
|
|
69
69
|
pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=0e2hOpVDK36ghKqBNjJo19mSlkR1SJq1qtb48NX5Coo,35692
|
|
70
70
|
pycontrails/models/humidity_scaling/quantiles/era5-quantiles.pq,sha256=tfYhbafF9Z-gGCg6VQ1YBlOaK_01e65Dc6s9b-hQ6Zo,286375
|
|
71
71
|
pycontrails/models/ps_model/__init__.py,sha256=QggqLRpqUh6imcn7GFPcKFSU4s3WjgfdvO8hH_OO8NY,512
|
|
72
|
-
pycontrails/models/ps_model/ps_aircraft_params.py,sha256=
|
|
73
|
-
pycontrails/models/ps_model/ps_grid.py,sha256=
|
|
74
|
-
pycontrails/models/ps_model/ps_model.py,sha256=
|
|
75
|
-
pycontrails/models/ps_model/ps_operational_limits.py,sha256
|
|
76
|
-
pycontrails/models/ps_model/static/ps-aircraft-params-
|
|
72
|
+
pycontrails/models/ps_model/ps_aircraft_params.py,sha256=QP6jcK0L1X28GwuVKX8WS0kEaaB72MAS3kMFzcmaJao,12911
|
|
73
|
+
pycontrails/models/ps_model/ps_grid.py,sha256=oAjo_SY9R-vyDsaTAQpHl4yP1VLjQi5ApwaiNdFT_M4,19172
|
|
74
|
+
pycontrails/models/ps_model/ps_model.py,sha256=lX2EHh-hNpVike4G1-nEtNuyBmSQDrWNd6VVaTg61cE,32476
|
|
75
|
+
pycontrails/models/ps_model/ps_operational_limits.py,sha256=R6hmZ_VBng07l-DcaXmO8Cc2N5lSkozNnk7rhPnnxrM,16991
|
|
76
|
+
pycontrails/models/ps_model/static/ps-aircraft-params-20240417.csv,sha256=DVQEykoOapXhUQsQkZu6gtD-VMc5k2AuSU7dsxx3IYw,24406
|
|
77
77
|
pycontrails/physics/__init__.py,sha256=AScCMSMSZjKxfL6mssdSLwcja1ml7MzREThQp5PLr9U,45
|
|
78
78
|
pycontrails/physics/constants.py,sha256=SWG7H7eJCvQXfUR3qS6_fYzNvEeRZga50qT2RuaHoYU,3262
|
|
79
79
|
pycontrails/physics/geo.py,sha256=Dwc9dUzUlHGCDVqFdh492vJZsC5CB8J45cJnsHaMRF4,31229
|
|
80
80
|
pycontrails/physics/jet.py,sha256=iQ0g5cocj6j0JZPSxpTF3LLypSZGx3QQc6UyXsFfJGc,26461
|
|
81
81
|
pycontrails/physics/thermo.py,sha256=mwtsee1nzlIP6OUdPPMrlrLTHoWqhdm6Qxdb9xS50R0,13261
|
|
82
|
-
pycontrails/physics/units.py,sha256=
|
|
82
|
+
pycontrails/physics/units.py,sha256=GnCJCKz25jcEYGcQVWfuYViVha6mukf08Eo4pK_3iYo,12744
|
|
83
83
|
pycontrails/utils/__init__.py,sha256=VmklFC-5I5lGFQEzuomlPk_bM6CoM9XDljfjCovG3vw,33
|
|
84
84
|
pycontrails/utils/dependencies.py,sha256=SjEdbDDKfGmmYResWZndMCUySO0W0ptWAeY1aA_kcx8,2625
|
|
85
85
|
pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy4,332
|
|
86
86
|
pycontrails/utils/json.py,sha256=xCv71CKVZNHk4MyoYC-hl7dXObXXbI7P8gcNCn3AUoU,6172
|
|
87
87
|
pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
|
|
88
|
-
pycontrails/utils/types.py,sha256=
|
|
89
|
-
pycontrails-0.50.
|
|
90
|
-
pycontrails-0.50.
|
|
91
|
-
pycontrails-0.50.
|
|
92
|
-
pycontrails-0.50.
|
|
93
|
-
pycontrails-0.50.
|
|
94
|
-
pycontrails-0.50.
|
|
88
|
+
pycontrails/utils/types.py,sha256=gf374r1iY_DxjWITbllF9m4-6zP91uP4gLqYy7tbsGA,4772
|
|
89
|
+
pycontrails-0.50.2.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
|
|
90
|
+
pycontrails-0.50.2.dist-info/METADATA,sha256=uMuGB8pL2WBIsW3tSYNGSxUH_qlRxPHLi6NXk160ilY,8528
|
|
91
|
+
pycontrails-0.50.2.dist-info/NOTICE,sha256=qYeNEp8OjDK5jSW3hTlr9LQRjZeEhXQm0zDei5UFaYs,1969
|
|
92
|
+
pycontrails-0.50.2.dist-info/WHEEL,sha256=fZWyj_84lK0cA-ZNCsdwhbJl0OTrpWkxInEn424qrSs,102
|
|
93
|
+
pycontrails-0.50.2.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
|
|
94
|
+
pycontrails-0.50.2.dist-info/RECORD,,
|