pycontrails 0.58.0__cp314-cp314-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pycontrails might be problematic. Click here for more details.

Files changed (122) hide show
  1. pycontrails/__init__.py +70 -0
  2. pycontrails/_version.py +34 -0
  3. pycontrails/core/__init__.py +30 -0
  4. pycontrails/core/aircraft_performance.py +679 -0
  5. pycontrails/core/airports.py +228 -0
  6. pycontrails/core/cache.py +889 -0
  7. pycontrails/core/coordinates.py +174 -0
  8. pycontrails/core/fleet.py +483 -0
  9. pycontrails/core/flight.py +2185 -0
  10. pycontrails/core/flightplan.py +228 -0
  11. pycontrails/core/fuel.py +140 -0
  12. pycontrails/core/interpolation.py +702 -0
  13. pycontrails/core/met.py +2931 -0
  14. pycontrails/core/met_var.py +387 -0
  15. pycontrails/core/models.py +1321 -0
  16. pycontrails/core/polygon.py +549 -0
  17. pycontrails/core/rgi_cython.cpython-314-darwin.so +0 -0
  18. pycontrails/core/vector.py +2249 -0
  19. pycontrails/datalib/__init__.py +12 -0
  20. pycontrails/datalib/_met_utils/metsource.py +746 -0
  21. pycontrails/datalib/ecmwf/__init__.py +73 -0
  22. pycontrails/datalib/ecmwf/arco_era5.py +345 -0
  23. pycontrails/datalib/ecmwf/common.py +114 -0
  24. pycontrails/datalib/ecmwf/era5.py +554 -0
  25. pycontrails/datalib/ecmwf/era5_model_level.py +490 -0
  26. pycontrails/datalib/ecmwf/hres.py +804 -0
  27. pycontrails/datalib/ecmwf/hres_model_level.py +466 -0
  28. pycontrails/datalib/ecmwf/ifs.py +287 -0
  29. pycontrails/datalib/ecmwf/model_levels.py +435 -0
  30. pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv +139 -0
  31. pycontrails/datalib/ecmwf/variables.py +268 -0
  32. pycontrails/datalib/geo_utils.py +261 -0
  33. pycontrails/datalib/gfs/__init__.py +28 -0
  34. pycontrails/datalib/gfs/gfs.py +656 -0
  35. pycontrails/datalib/gfs/variables.py +104 -0
  36. pycontrails/datalib/goes.py +757 -0
  37. pycontrails/datalib/himawari/__init__.py +27 -0
  38. pycontrails/datalib/himawari/header_struct.py +266 -0
  39. pycontrails/datalib/himawari/himawari.py +667 -0
  40. pycontrails/datalib/landsat.py +589 -0
  41. pycontrails/datalib/leo_utils/__init__.py +5 -0
  42. pycontrails/datalib/leo_utils/correction.py +266 -0
  43. pycontrails/datalib/leo_utils/landsat_metadata.py +300 -0
  44. pycontrails/datalib/leo_utils/search.py +250 -0
  45. pycontrails/datalib/leo_utils/sentinel_metadata.py +748 -0
  46. pycontrails/datalib/leo_utils/static/bq_roi_query.sql +6 -0
  47. pycontrails/datalib/leo_utils/vis.py +59 -0
  48. pycontrails/datalib/sentinel.py +650 -0
  49. pycontrails/datalib/spire/__init__.py +5 -0
  50. pycontrails/datalib/spire/exceptions.py +62 -0
  51. pycontrails/datalib/spire/spire.py +604 -0
  52. pycontrails/ext/bada.py +42 -0
  53. pycontrails/ext/cirium.py +14 -0
  54. pycontrails/ext/empirical_grid.py +140 -0
  55. pycontrails/ext/synthetic_flight.py +431 -0
  56. pycontrails/models/__init__.py +1 -0
  57. pycontrails/models/accf.py +425 -0
  58. pycontrails/models/apcemm/__init__.py +8 -0
  59. pycontrails/models/apcemm/apcemm.py +983 -0
  60. pycontrails/models/apcemm/inputs.py +226 -0
  61. pycontrails/models/apcemm/static/apcemm_yaml_template.yaml +183 -0
  62. pycontrails/models/apcemm/utils.py +437 -0
  63. pycontrails/models/cocip/__init__.py +29 -0
  64. pycontrails/models/cocip/cocip.py +2742 -0
  65. pycontrails/models/cocip/cocip_params.py +305 -0
  66. pycontrails/models/cocip/cocip_uncertainty.py +291 -0
  67. pycontrails/models/cocip/contrail_properties.py +1530 -0
  68. pycontrails/models/cocip/output_formats.py +2270 -0
  69. pycontrails/models/cocip/radiative_forcing.py +1260 -0
  70. pycontrails/models/cocip/radiative_heating.py +520 -0
  71. pycontrails/models/cocip/unterstrasser_wake_vortex.py +508 -0
  72. pycontrails/models/cocip/wake_vortex.py +396 -0
  73. pycontrails/models/cocip/wind_shear.py +120 -0
  74. pycontrails/models/cocipgrid/__init__.py +9 -0
  75. pycontrails/models/cocipgrid/cocip_grid.py +2552 -0
  76. pycontrails/models/cocipgrid/cocip_grid_params.py +138 -0
  77. pycontrails/models/dry_advection.py +602 -0
  78. pycontrails/models/emissions/__init__.py +21 -0
  79. pycontrails/models/emissions/black_carbon.py +599 -0
  80. pycontrails/models/emissions/emissions.py +1353 -0
  81. pycontrails/models/emissions/ffm2.py +336 -0
  82. pycontrails/models/emissions/static/default-engine-uids.csv +239 -0
  83. pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv +596 -0
  84. pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv +215 -0
  85. pycontrails/models/extended_k15.py +1327 -0
  86. pycontrails/models/humidity_scaling/__init__.py +37 -0
  87. pycontrails/models/humidity_scaling/humidity_scaling.py +1075 -0
  88. pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq +0 -0
  89. pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq +0 -0
  90. pycontrails/models/issr.py +210 -0
  91. pycontrails/models/pcc.py +326 -0
  92. pycontrails/models/pcr.py +154 -0
  93. pycontrails/models/ps_model/__init__.py +18 -0
  94. pycontrails/models/ps_model/ps_aircraft_params.py +381 -0
  95. pycontrails/models/ps_model/ps_grid.py +701 -0
  96. pycontrails/models/ps_model/ps_model.py +1000 -0
  97. pycontrails/models/ps_model/ps_operational_limits.py +525 -0
  98. pycontrails/models/ps_model/static/ps-aircraft-params-20250328.csv +69 -0
  99. pycontrails/models/ps_model/static/ps-synonym-list-20250328.csv +104 -0
  100. pycontrails/models/sac.py +442 -0
  101. pycontrails/models/tau_cirrus.py +183 -0
  102. pycontrails/physics/__init__.py +1 -0
  103. pycontrails/physics/constants.py +117 -0
  104. pycontrails/physics/geo.py +1138 -0
  105. pycontrails/physics/jet.py +968 -0
  106. pycontrails/physics/static/iata-cargo-load-factors-20250221.csv +74 -0
  107. pycontrails/physics/static/iata-passenger-load-factors-20250221.csv +74 -0
  108. pycontrails/physics/thermo.py +551 -0
  109. pycontrails/physics/units.py +472 -0
  110. pycontrails/py.typed +0 -0
  111. pycontrails/utils/__init__.py +1 -0
  112. pycontrails/utils/dependencies.py +66 -0
  113. pycontrails/utils/iteration.py +13 -0
  114. pycontrails/utils/json.py +187 -0
  115. pycontrails/utils/temp.py +50 -0
  116. pycontrails/utils/types.py +163 -0
  117. pycontrails-0.58.0.dist-info/METADATA +180 -0
  118. pycontrails-0.58.0.dist-info/RECORD +122 -0
  119. pycontrails-0.58.0.dist-info/WHEEL +6 -0
  120. pycontrails-0.58.0.dist-info/licenses/LICENSE +178 -0
  121. pycontrails-0.58.0.dist-info/licenses/NOTICE +43 -0
  122. pycontrails-0.58.0.dist-info/top_level.txt +3 -0
@@ -0,0 +1,104 @@
1
+ """GFS Parameter Support.
2
+
3
+ Parameter definitions:
4
+
5
+ - `Reanalysis <https://www.nco.ncep.noaa.gov/pmb/products/gfs/gfs.t00z.pgrb2.0p25.anl.shtml>`_
6
+ - `Surface <https://www.nco.ncep.noaa.gov/pmb/products/gfs/gfs.t00z.pgrb2.0p25.f000.shtml>`_
7
+ - `Pressure Levels <https://www.nco.ncep.noaa.gov/pmb/products/gfs/gfs.t00z.pgrb2.0p25.f003.shtml>`_
8
+
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ from pycontrails.core import met_var
14
+ from pycontrails.core.met import MetVariable
15
+
16
+ TotalCloudCoverIsobaric = MetVariable(
17
+ short_name="tcc",
18
+ standard_name="total_cloud_cover_isobaric",
19
+ long_name="Total cloud cover at isobaric surface",
20
+ level_type="isobaricInhPa",
21
+ ecmwf_id=228164,
22
+ grib2_id=(0, 6, 1),
23
+ units="%",
24
+ description=(
25
+ "This parameter is the percentage of a grid box covered by cloud (liquid or ice) at a"
26
+ " specific pressure level."
27
+ ),
28
+ )
29
+
30
+ CloudIceWaterMixingRatio = MetVariable(
31
+ short_name="icmr",
32
+ standard_name="ice_water_mixing_ratio",
33
+ long_name="Cloud ice water mixing ratio",
34
+ units="kg kg**-1",
35
+ level_type="isobaricInhPa",
36
+ ecmwf_id=260019,
37
+ grib2_id=(0, 1, 23),
38
+ description=(
39
+ "This parameter is the mass of cloud ice particles per kilogram of the total mass of dry"
40
+ " air. "
41
+ ),
42
+ )
43
+
44
+
45
+ TOAUpwardShortwaveRadiation = MetVariable(
46
+ # Note the variable in the GFS Grib file is "uswrf" for the "nominalTop" level
47
+ # eccodes > 2.38 rewrites to `suswrf` on loading
48
+ short_name="suswrf",
49
+ standard_name="toa_upward_shortwave_flux",
50
+ long_name="Top of atmosphere upward shortwave radiation",
51
+ units="W m**-2",
52
+ level_type="nominalTop",
53
+ grib2_id=(0, 4, 193),
54
+ description=(
55
+ "This parameter is the outgoing shortwave (solar) radiation at the nominal top of the"
56
+ " atmosphere."
57
+ ),
58
+ )
59
+
60
+ TOAUpwardLongwaveRadiation = MetVariable(
61
+ # Note the variable in the GFS Grib file is "ulwrf" for the "nominalTop" level
62
+ # eccodes > 2.38 rewrites to `sulwrf` on loading
63
+ short_name="sulwrf",
64
+ standard_name="toa_upward_longwave_flux",
65
+ long_name="Top of atmosphere upward longwave radiation",
66
+ units="W m**-2",
67
+ level_type="nominalTop",
68
+ grib2_id=(0, 5, 193),
69
+ description=(
70
+ "This parameter is the outgoing longwave (thermal) radiation at the nominal top of the"
71
+ " atmosphere."
72
+ ),
73
+ )
74
+
75
+ Visibility = MetVariable(
76
+ short_name="vis",
77
+ standard_name="visibility",
78
+ long_name="Visibility at ground or water surface",
79
+ units="m",
80
+ level_type="surface",
81
+ grib2_id=(0, 19, 0),
82
+ description="This parameter is the visibility at the ground or water surface, in meters.",
83
+ )
84
+
85
+
86
+ PRESSURE_LEVEL_VARIABLES = [
87
+ met_var.AirTemperature,
88
+ met_var.SpecificHumidity,
89
+ met_var.RelativeHumidity,
90
+ met_var.GeopotentialHeight,
91
+ met_var.EastwardWind,
92
+ met_var.NorthwardWind,
93
+ met_var.VerticalVelocity,
94
+ CloudIceWaterMixingRatio,
95
+ TotalCloudCoverIsobaric,
96
+ ]
97
+ SURFACE_VARIABLES = [
98
+ met_var.SurfacePressure,
99
+ Visibility,
100
+ TOAUpwardShortwaveRadiation,
101
+ TOAUpwardLongwaveRadiation,
102
+ ]
103
+
104
+ GFS_VARIABLES = PRESSURE_LEVEL_VARIABLES + SURFACE_VARIABLES