pycontrails 0.51.1__cp39-cp39-win_amd64.whl → 0.52.0__cp39-cp39-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/__init__.py +1 -1
- pycontrails/_version.py +2 -2
- pycontrails/core/__init__.py +1 -1
- pycontrails/core/cache.py +1 -1
- pycontrails/core/flight.py +32 -28
- pycontrails/core/polygon.py +1 -1
- pycontrails/core/rgi_cython.cp39-win_amd64.pyd +0 -0
- pycontrails/datalib/__init__.py +4 -1
- pycontrails/datalib/_leo_utils/search.py +250 -0
- pycontrails/datalib/_leo_utils/static/bq_roi_query.sql +6 -0
- pycontrails/datalib/_leo_utils/vis.py +60 -0
- pycontrails/{core/datalib.py → datalib/_met_utils/metsource.py} +1 -1
- pycontrails/datalib/ecmwf/arco_era5.py +8 -7
- pycontrails/datalib/ecmwf/common.py +3 -2
- pycontrails/datalib/ecmwf/era5.py +12 -11
- pycontrails/datalib/ecmwf/era5_model_level.py +12 -11
- pycontrails/datalib/ecmwf/hres.py +14 -13
- pycontrails/datalib/ecmwf/hres_model_level.py +15 -14
- pycontrails/datalib/ecmwf/ifs.py +14 -13
- pycontrails/datalib/gfs/gfs.py +15 -14
- pycontrails/datalib/goes.py +2 -2
- pycontrails/datalib/landsat.py +567 -0
- pycontrails/datalib/sentinel.py +512 -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 +2 -0
- pycontrails/models/cocip/output_formats.py +165 -0
- pycontrails/models/cocipgrid/cocip_grid.py +7 -6
- pycontrails/models/dry_advection.py +14 -5
- {pycontrails-0.51.1.dist-info → pycontrails-0.52.0.dist-info}/METADATA +20 -11
- {pycontrails-0.51.1.dist-info → pycontrails-0.52.0.dist-info}/RECORD +39 -30
- pycontrails/datalib/spire/__init__.py +0 -19
- /pycontrails/datalib/{spire/spire.py → spire.py} +0 -0
- {pycontrails-0.51.1.dist-info → pycontrails-0.52.0.dist-info}/LICENSE +0 -0
- {pycontrails-0.51.1.dist-info → pycontrails-0.52.0.dist-info}/NOTICE +0 -0
- {pycontrails-0.51.1.dist-info → pycontrails-0.52.0.dist-info}/WHEEL +0 -0
- {pycontrails-0.51.1.dist-info → pycontrails-0.52.0.dist-info}/top_level.txt +0 -0
|
@@ -27,6 +27,9 @@ class DryAdvectionParams(models.ModelParams):
|
|
|
27
27
|
#: Max age of plume evolution.
|
|
28
28
|
max_age: np.timedelta64 = np.timedelta64(20, "h")
|
|
29
29
|
|
|
30
|
+
#: Rate of change of pressure due to sedimentation [:math:`Pa/s`]
|
|
31
|
+
sedimentation_rate: float = 0.0
|
|
32
|
+
|
|
30
33
|
#: Difference in altitude between top and bottom layer for stratification calculations,
|
|
31
34
|
#: [:math:`m`]. Used to approximate derivative of "lagrangian_tendency_of_air_pressure"
|
|
32
35
|
#: (upward component of air velocity) with respect to altitude.
|
|
@@ -124,6 +127,7 @@ class DryAdvection(models.Model):
|
|
|
124
127
|
|
|
125
128
|
dt_integration = self.params["dt_integration"]
|
|
126
129
|
max_age = self.params["max_age"]
|
|
130
|
+
sedimentation_rate = self.params["sedimentation_rate"]
|
|
127
131
|
dz_m = self.params["dz_m"]
|
|
128
132
|
max_depth = self.params["max_depth"]
|
|
129
133
|
|
|
@@ -142,6 +146,7 @@ class DryAdvection(models.Model):
|
|
|
142
146
|
self.met,
|
|
143
147
|
vector,
|
|
144
148
|
t,
|
|
149
|
+
sedimentation_rate=sedimentation_rate,
|
|
145
150
|
dz_m=dz_m,
|
|
146
151
|
max_depth=max_depth,
|
|
147
152
|
**interp_kwargs,
|
|
@@ -171,9 +176,11 @@ class DryAdvection(models.Model):
|
|
|
171
176
|
"""
|
|
172
177
|
|
|
173
178
|
self.source.setdefault("level", self.source.level)
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
179
|
+
|
|
180
|
+
columns: tuple[str, ...] = ("longitude", "latitude", "level", "time")
|
|
181
|
+
if "azimuth" in self.source:
|
|
182
|
+
columns += ("azimuth",)
|
|
183
|
+
self.source = GeoVectorDataset(self.source.select(columns, copy=False))
|
|
177
184
|
|
|
178
185
|
# Get waypoint index if not already set
|
|
179
186
|
self.source.setdefault("waypoint", np.arange(self.source.size))
|
|
@@ -212,7 +219,8 @@ class DryAdvection(models.Model):
|
|
|
212
219
|
if val is not None and pointwise_only:
|
|
213
220
|
raise ValueError(f"Cannot specify '{key}' without specifying 'azimuth'.")
|
|
214
221
|
|
|
215
|
-
|
|
222
|
+
if not pointwise_only:
|
|
223
|
+
self.source[key] = np.full_like(self.source["longitude"], val)
|
|
216
224
|
|
|
217
225
|
if pointwise_only:
|
|
218
226
|
return
|
|
@@ -428,6 +436,7 @@ def _evolve_one_step(
|
|
|
428
436
|
vector: GeoVectorDataset,
|
|
429
437
|
t: np.datetime64,
|
|
430
438
|
*,
|
|
439
|
+
sedimentation_rate: float,
|
|
431
440
|
dz_m: float,
|
|
432
441
|
max_depth: float | None,
|
|
433
442
|
**interp_kwargs: Any,
|
|
@@ -437,7 +446,7 @@ def _evolve_one_step(
|
|
|
437
446
|
_perform_interp_for_step(met, vector, dz_m, **interp_kwargs)
|
|
438
447
|
u_wind = vector["u_wind"]
|
|
439
448
|
v_wind = vector["v_wind"]
|
|
440
|
-
vertical_velocity = vector["vertical_velocity"]
|
|
449
|
+
vertical_velocity = vector["vertical_velocity"] + sedimentation_rate
|
|
441
450
|
|
|
442
451
|
latitude = vector["latitude"]
|
|
443
452
|
longitude = vector["longitude"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pycontrails
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.52.0
|
|
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
|
|
@@ -28,21 +28,21 @@ Description-Content-Type: text/markdown
|
|
|
28
28
|
License-File: LICENSE
|
|
29
29
|
License-File: NOTICE
|
|
30
30
|
Requires-Dist: dask >=2022.3
|
|
31
|
-
Requires-Dist: numpy
|
|
31
|
+
Requires-Dist: numpy <2.0.0,>=1.22
|
|
32
32
|
Requires-Dist: overrides >=6.1
|
|
33
|
-
Requires-Dist: pandas >=
|
|
33
|
+
Requires-Dist: pandas >=2.2
|
|
34
34
|
Requires-Dist: scipy >=1.10
|
|
35
35
|
Requires-Dist: xarray >=2022.3
|
|
36
36
|
Provides-Extra: complete
|
|
37
|
-
Requires-Dist: pycontrails[ecmwf,gcp,gfs,
|
|
37
|
+
Requires-Dist: pycontrails[ecmwf,gcp,gfs,jupyter,pyproj,sat,vis,zarr] ; extra == 'complete'
|
|
38
38
|
Provides-Extra: dev
|
|
39
39
|
Requires-Dist: black[jupyter] ==24.4.1 ; extra == 'dev'
|
|
40
40
|
Requires-Dist: dep-license ; extra == 'dev'
|
|
41
41
|
Requires-Dist: fastparquet >=0.8 ; extra == 'dev'
|
|
42
42
|
Requires-Dist: ipdb >=0.13 ; extra == 'dev'
|
|
43
43
|
Requires-Dist: memory-profiler ; extra == 'dev'
|
|
44
|
-
Requires-Dist: mypy >=
|
|
45
|
-
Requires-Dist: mypy-extensions >=0
|
|
44
|
+
Requires-Dist: mypy >=1.8 ; extra == 'dev'
|
|
45
|
+
Requires-Dist: mypy-extensions >=1.0 ; extra == 'dev'
|
|
46
46
|
Requires-Dist: platformdirs >=3.0 ; extra == 'dev'
|
|
47
47
|
Requires-Dist: pre-commit >=2.10 ; extra == 'dev'
|
|
48
48
|
Requires-Dist: psutil ; extra == 'dev'
|
|
@@ -51,6 +51,7 @@ Requires-Dist: pytest >=8.2 ; extra == 'dev'
|
|
|
51
51
|
Requires-Dist: pytest-cov >=2.11 ; extra == 'dev'
|
|
52
52
|
Requires-Dist: requests >=2.25 ; extra == 'dev'
|
|
53
53
|
Requires-Dist: ruff ==0.4.1 ; extra == 'dev'
|
|
54
|
+
Requires-Dist: setuptools ; extra == 'dev'
|
|
54
55
|
Provides-Extra: docs
|
|
55
56
|
Requires-Dist: doc8 >=1.1 ; extra == 'docs'
|
|
56
57
|
Requires-Dist: furo >=2023.3 ; extra == 'docs'
|
|
@@ -69,7 +70,7 @@ Requires-Dist: cdsapi >=0.4 ; extra == 'ecmwf'
|
|
|
69
70
|
Requires-Dist: cfgrib >=0.9 ; extra == 'ecmwf'
|
|
70
71
|
Requires-Dist: eccodes >=1.4 ; extra == 'ecmwf'
|
|
71
72
|
Requires-Dist: ecmwf-api-client >=1.6 ; extra == 'ecmwf'
|
|
72
|
-
Requires-Dist: netcdf4
|
|
73
|
+
Requires-Dist: netcdf4 <1.7.0,>=1.6.1 ; extra == 'ecmwf'
|
|
73
74
|
Requires-Dist: platformdirs >=3.0 ; extra == 'ecmwf'
|
|
74
75
|
Requires-Dist: requests >=2.25 ; extra == 'ecmwf'
|
|
75
76
|
Requires-Dist: lxml >=5.1.0 ; extra == 'ecmwf'
|
|
@@ -83,10 +84,6 @@ Requires-Dist: cfgrib >=0.9 ; extra == 'gfs'
|
|
|
83
84
|
Requires-Dist: eccodes >=1.4 ; extra == 'gfs'
|
|
84
85
|
Requires-Dist: platformdirs >=3.0 ; extra == 'gfs'
|
|
85
86
|
Requires-Dist: tqdm >=4.61 ; extra == 'gfs'
|
|
86
|
-
Provides-Extra: goes
|
|
87
|
-
Requires-Dist: cartopy >=0.22 ; extra == 'goes'
|
|
88
|
-
Requires-Dist: gcsfs >=2022.3 ; extra == 'goes'
|
|
89
|
-
Requires-Dist: h5netcdf >=1.2 ; extra == 'goes'
|
|
90
87
|
Provides-Extra: jupyter
|
|
91
88
|
Requires-Dist: ipywidgets >=7.6 ; extra == 'jupyter'
|
|
92
89
|
Requires-Dist: jupyterlab >=2.2 ; extra == 'jupyter'
|
|
@@ -94,6 +91,18 @@ Provides-Extra: open3d
|
|
|
94
91
|
Requires-Dist: open3d >=0.14 ; extra == 'open3d'
|
|
95
92
|
Provides-Extra: pyproj
|
|
96
93
|
Requires-Dist: pyproj >=3.5 ; extra == 'pyproj'
|
|
94
|
+
Provides-Extra: sat
|
|
95
|
+
Requires-Dist: cartopy >=0.22 ; extra == 'sat'
|
|
96
|
+
Requires-Dist: db-dtypes >=1.2 ; extra == 'sat'
|
|
97
|
+
Requires-Dist: gcsfs >=2022.3 ; extra == 'sat'
|
|
98
|
+
Requires-Dist: geojson >=3.1 ; extra == 'sat'
|
|
99
|
+
Requires-Dist: google-cloud-bigquery >=3.23 ; extra == 'sat'
|
|
100
|
+
Requires-Dist: google-cloud-bigquery-storage >=2.25 ; extra == 'sat'
|
|
101
|
+
Requires-Dist: h5netcdf >=1.2 ; extra == 'sat'
|
|
102
|
+
Requires-Dist: pillow >=10.3 ; extra == 'sat'
|
|
103
|
+
Requires-Dist: pyproj >=3.5 ; extra == 'sat'
|
|
104
|
+
Requires-Dist: rasterio >=1.3 ; extra == 'sat'
|
|
105
|
+
Requires-Dist: scikit-image >=0.18 ; extra == 'sat'
|
|
97
106
|
Provides-Extra: vis
|
|
98
107
|
Requires-Dist: matplotlib >=3.3 ; extra == 'vis'
|
|
99
108
|
Requires-Dist: opencv-python-headless >=4.5 ; extra == 'vis'
|
|
@@ -1,66 +1,75 @@
|
|
|
1
|
-
pycontrails/__init__.py,sha256=
|
|
2
|
-
pycontrails/_version.py,sha256=
|
|
1
|
+
pycontrails/__init__.py,sha256=EpPulx2dBYpqZNsyh6HTwGGnFsvBVHBXabG5VInwSg4,2071
|
|
2
|
+
pycontrails/_version.py,sha256=4ifLhkKoDFiaXL1n-ptlNl4WrJFDK9SUsh55U37ctSc,429
|
|
3
3
|
pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
pycontrails/core/__init__.py,sha256=
|
|
4
|
+
pycontrails/core/__init__.py,sha256=X0DX2FGboPN_svwN2xiBzoPpHhDtg0oKFjXQfmCqMWU,886
|
|
5
5
|
pycontrails/core/aircraft_performance.py,sha256=ikeJmdvFRDa1RdfR-JKfhQbiiIzL0c2vzcBmobmoxMs,22511
|
|
6
6
|
pycontrails/core/airports.py,sha256=nGKXN3jOtzsDCaJZVFNO3e3w-U3lqMTz5Ww5jALiRJY,6984
|
|
7
|
-
pycontrails/core/cache.py,sha256=
|
|
7
|
+
pycontrails/core/cache.py,sha256=5B8h6gqhn5Sy_pQR0wGn7QX-Cou8GdjwDUM59SRuDns,28852
|
|
8
8
|
pycontrails/core/coordinates.py,sha256=cb8RprpoSgRTFbAXTPNfuUHVnOxyV3zZ0Ac88P5YbBw,5465
|
|
9
|
-
pycontrails/core/datalib.py,sha256=j7fGMAIdvcg4caq_t2SHvHphgk_yfVM2lQVjBrdnhuA,24716
|
|
10
9
|
pycontrails/core/fleet.py,sha256=WKF_s_gRXHmB9b1OW7RUkM1TzfvVD8Ab0Md-qKRwkzs,16544
|
|
11
|
-
pycontrails/core/flight.py,sha256=
|
|
10
|
+
pycontrails/core/flight.py,sha256=V0SrkhXzBSnDydP4s4AJQMkNpPz1R90Vbtan4rxNFJ8,85867
|
|
12
11
|
pycontrails/core/flightplan.py,sha256=cpMZ6VCYbfwh3vnew2XgVEHnqBx1NzeAhrTVCvlbbss,7569
|
|
13
12
|
pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
|
|
14
13
|
pycontrails/core/interpolation.py,sha256=Sp9s17i1QQx3jZwnwvt3vo6enWwlkYwTVKCE27N2Wdk,26214
|
|
15
14
|
pycontrails/core/met.py,sha256=l0A1MEFrOUtYWO_ZHoHzYgqa1rmIh7fxA8PiwE26yT8,96251
|
|
16
15
|
pycontrails/core/met_var.py,sha256=JzB7UhBLQyU4TuKZqemhpBHA6Dbt89BPYO2sYBLMkL4,9504
|
|
17
16
|
pycontrails/core/models.py,sha256=VS-ct4xkojJIuqdPpT1ke1ZetNzv10nNx_Z_XalZyeo,40175
|
|
18
|
-
pycontrails/core/polygon.py,sha256=
|
|
19
|
-
pycontrails/core/rgi_cython.cp39-win_amd64.pyd,sha256
|
|
17
|
+
pycontrails/core/polygon.py,sha256=IwKnTRfKCgcOqbvKSsm-iJwd1HheS8sgsxAb6ufJy7c,18565
|
|
18
|
+
pycontrails/core/rgi_cython.cp39-win_amd64.pyd,sha256=ZrRj6g_P8d7crMQ88usCerhLmaKKdZF7FXM_Lv-0hdQ,260608
|
|
20
19
|
pycontrails/core/vector.py,sha256=MF0oWX0Ghp_G41A712VbU1GEKRNU_Pj9PtzMREPG5Z8,73916
|
|
21
|
-
pycontrails/datalib/__init__.py,sha256=
|
|
22
|
-
pycontrails/datalib/goes.py,sha256=
|
|
20
|
+
pycontrails/datalib/__init__.py,sha256=Q2RrnjwtFzfsmJ2tEojDCzDMkd8R0MYw4mQz3YwUsqI,381
|
|
21
|
+
pycontrails/datalib/goes.py,sha256=xURMK5tJaJXas0lHQxdr1OC5VX7l-Ahsxl_dZDyQX8s,27122
|
|
22
|
+
pycontrails/datalib/landsat.py,sha256=ptcI5d7Hk7KM-LUuZUaUxnQMwb_8z70ezTx1ErKfBhU,20212
|
|
23
|
+
pycontrails/datalib/sentinel.py,sha256=I8-NzxJenESosMUeGTt8ESiJ_kFEUSLsKdA6pZGNrEM,17734
|
|
24
|
+
pycontrails/datalib/spire.py,sha256=aW0wh5GDrszFb20ZMzmWKQ4uHbOCmHvVt9Sf4U3AyTI,26070
|
|
25
|
+
pycontrails/datalib/_leo_utils/search.py,sha256=8JzT56ps3SH1W-5rwL8BWuxLLljwxa_5fjLAuZdL_Vg,8937
|
|
26
|
+
pycontrails/datalib/_leo_utils/vis.py,sha256=qViw9OxwMN2hqG8Qpm4SV7ShyI5nTjaYkNWSptAD9Lo,1819
|
|
27
|
+
pycontrails/datalib/_leo_utils/static/bq_roi_query.sql,sha256=r_gVjpoEvCcAJP56QlXaXzgfWPZdf-kYo3D316glJLU,266
|
|
28
|
+
pycontrails/datalib/_met_utils/metsource.py,sha256=HZ9bIaaCYDCBwzKW_1zUbItpP5If7HNBl7GX--_fDV8,24736
|
|
23
29
|
pycontrails/datalib/ecmwf/__init__.py,sha256=a3prI136k2NCxCicLMWznvr52cTx6JjHpmV6ts4OGxI,1508
|
|
24
|
-
pycontrails/datalib/ecmwf/arco_era5.py,sha256=
|
|
25
|
-
pycontrails/datalib/ecmwf/common.py,sha256=
|
|
26
|
-
pycontrails/datalib/ecmwf/era5.py,sha256=
|
|
27
|
-
pycontrails/datalib/ecmwf/era5_model_level.py,sha256=
|
|
28
|
-
pycontrails/datalib/ecmwf/hres.py,sha256=
|
|
29
|
-
pycontrails/datalib/ecmwf/hres_model_level.py,sha256=
|
|
30
|
-
pycontrails/datalib/ecmwf/ifs.py,sha256=
|
|
30
|
+
pycontrails/datalib/ecmwf/arco_era5.py,sha256=gBQTK-pCQkwp0nsiewbnsnWjcpziekBvl1Lon27N43A,19151
|
|
31
|
+
pycontrails/datalib/ecmwf/common.py,sha256=OMCfeujF4sRxCpZl2q9ykgyg64AOBREJyU-sCO01V7g,3987
|
|
32
|
+
pycontrails/datalib/ecmwf/era5.py,sha256=fqnxfFYtLBGlln7zGNrrTWrrMb9jxMCMk1ZqS18xYsY,18780
|
|
33
|
+
pycontrails/datalib/ecmwf/era5_model_level.py,sha256=Qmt3dWyWlPu5pgS43IslMMlZTYTqgi28McnYhxbq8fk,19427
|
|
34
|
+
pycontrails/datalib/ecmwf/hres.py,sha256=NnpwQartFGxd6n3wIkSzZQiqHtimq5d9zUYxf7SDhiQ,29022
|
|
35
|
+
pycontrails/datalib/ecmwf/hres_model_level.py,sha256=CWNcu19Leybg-WTf6FPOIMDbEAebWrA07we9kn01rpk,19630
|
|
36
|
+
pycontrails/datalib/ecmwf/ifs.py,sha256=XzRZFutdf8TaHCAq1H7dmlC-hym8X-p8uluOwN1ToCw,10946
|
|
31
37
|
pycontrails/datalib/ecmwf/model_levels.py,sha256=ZqgGmCDp_vcYNsTqPqUmYz6pPtILBEglWU7lMfynlO8,2791
|
|
32
38
|
pycontrails/datalib/ecmwf/variables.py,sha256=vJIaxDM1Yg0-2hCR9BbD3NcJENk-Mh81NCnkzCh58tA,9861
|
|
33
39
|
pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv,sha256=9u7CVA3QnPUmNLIWUkF5b9wFunczkvx1zSudwGmtOv8,9927
|
|
34
40
|
pycontrails/datalib/gfs/__init__.py,sha256=VcE2j62ITbY7F3tEtgaLrfyjHWci-4mvLtnVg3SVgtE,712
|
|
35
|
-
pycontrails/datalib/gfs/gfs.py,sha256=
|
|
41
|
+
pycontrails/datalib/gfs/gfs.py,sha256=NWNgnI_t5cFjWE3bO9qQl4FE-RL4IkbOnBr7aBYefPU,22284
|
|
36
42
|
pycontrails/datalib/gfs/variables.py,sha256=u2rAsjCJTehB6MhQj9YhlZYovdwoscqAH33T5aBDzSw,2961
|
|
37
|
-
pycontrails/datalib/spire/__init__.py,sha256=YiS2SMSNU0bLHfbh41nQuKB8MnQNU8o3MldreM1nrM0,362
|
|
38
|
-
pycontrails/datalib/spire/spire.py,sha256=aW0wh5GDrszFb20ZMzmWKQ4uHbOCmHvVt9Sf4U3AyTI,26070
|
|
39
43
|
pycontrails/ext/bada.py,sha256=S0qfNYsp1cGqkHGPu-IkAwk66lD79yikRlrq9uwgPpI,1104
|
|
40
44
|
pycontrails/ext/cirium.py,sha256=zRPVBBWwocZKkX3XhonSBf54x7P_xnjRcA7psI0Kqnw,429
|
|
41
45
|
pycontrails/ext/empirical_grid.py,sha256=1WHyt1VOWEr7bMlnXo1tEKJgePvLKjKsCCee2w22gf8,4502
|
|
42
46
|
pycontrails/ext/synthetic_flight.py,sha256=CxKDAX8Jao9VXuy_eRksS8zqIaMYgiv9az5DWBwRWJw,17105
|
|
43
47
|
pycontrails/models/__init__.py,sha256=TKhrXe1Pu1-mV1gctx8cUAMrVxCCAtBkbZi9olfWq8s,34
|
|
44
48
|
pycontrails/models/accf.py,sha256=72-2oRCSM98cwHxmKmO5ECaRPbiRE010jX5nTQDfHCs,12965
|
|
45
|
-
pycontrails/models/dry_advection.py,sha256=
|
|
49
|
+
pycontrails/models/dry_advection.py,sha256=ES4NBxmnStxkz2hmCRVGaQj77cnvmg5H-yiZppaSxsg,17042
|
|
46
50
|
pycontrails/models/issr.py,sha256=mqRKm106kz8um1cbRblxLRZDJanvqa5Q1BI2sqK5pkQ,7561
|
|
47
51
|
pycontrails/models/pcc.py,sha256=M5KhtRgdCP9pfDFgui7ibbijtRBTjx3QOJL_m1tQYfs,11443
|
|
48
52
|
pycontrails/models/pcr.py,sha256=G_0yR5PsCMeJBP6tZFi3M7A6Wcq8s71UvosdA7ozUkI,5502
|
|
49
53
|
pycontrails/models/sac.py,sha256=Cj4Hi3324wjqLQ7I2CPVkrIh2Fq5W5pKpGrwhYADoHI,16420
|
|
50
54
|
pycontrails/models/tau_cirrus.py,sha256=eXt3yRrcFBaZNNeH6ZOuU4XEZU2rOfrLKEOC7f0_Ywo,5194
|
|
51
|
-
pycontrails/models/
|
|
55
|
+
pycontrails/models/apcemm/__init__.py,sha256=dDsRW3V6jjzKDd43Yoyc74m_Om1fccvftZgp3OFdAYE,183
|
|
56
|
+
pycontrails/models/apcemm/apcemm.py,sha256=ijk04YApZf4EAPPLH-RLEZJRfDt2E6SfgPYKyrroaj4,40877
|
|
57
|
+
pycontrails/models/apcemm/inputs.py,sha256=zHRSWVVlwYw6ms7PpC0p0I-xFsRDUVY9eDZ1g95Uf8U,6811
|
|
58
|
+
pycontrails/models/apcemm/utils.py,sha256=6pKQbS5EAzTnI_edVtUvGrzM0xwNq1t9MBGgCRJtg_0,17531
|
|
59
|
+
pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=A3H_FWVOtqkZhG91TWLdblMKaLWIcjRMsKqkfTN6mB4,6928
|
|
60
|
+
pycontrails/models/cocip/__init__.py,sha256=miDxSFxN9PzL_ieSJb3BYeHmbKqZwGicCz1scNB5eW0,991
|
|
52
61
|
pycontrails/models/cocip/cocip.py,sha256=s9j5UhPCaaxiJZDXUvQ2KnEgvQz2pMrRHlWKZijwRIw,100140
|
|
53
62
|
pycontrails/models/cocip/cocip_params.py,sha256=T4IseK6KtY4hG3BuGZBtFgM90HCYecUXsb_QVEK6uGo,11670
|
|
54
63
|
pycontrails/models/cocip/cocip_uncertainty.py,sha256=lksROIRLt-jxEdjJTiLP9Da-FYt1GjZKaIxwDaH2Ytg,12069
|
|
55
64
|
pycontrails/models/cocip/contrail_properties.py,sha256=u6SvucHC6VtF2kujfSVFTfv0263t5uYpNOUJZAroEzc,57111
|
|
56
|
-
pycontrails/models/cocip/output_formats.py,sha256=
|
|
65
|
+
pycontrails/models/cocip/output_formats.py,sha256=VFWXGIDcWg98aQhMdstOhWlfhmHEUP582eHtyfcaFvw,85473
|
|
57
66
|
pycontrails/models/cocip/radiative_forcing.py,sha256=SYmQ8lL8gpWbf6he2C9mKSjODtytbFcdnMdBM-LtBKE,46206
|
|
58
67
|
pycontrails/models/cocip/radiative_heating.py,sha256=N7FTR20luERmokprdqMOl-d8-cTYZZ2ZSsTdxZnLHfs,19368
|
|
59
68
|
pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=Ymz-uO9vVhLIFwT9yuF5g1g3hcT-XWdryLsebSBqoVU,14976
|
|
60
69
|
pycontrails/models/cocip/wake_vortex.py,sha256=r3FM4egyGohRF0qGD3pFWBJppUQ_3GhtO_g7L74HmjU,14817
|
|
61
70
|
pycontrails/models/cocip/wind_shear.py,sha256=Dm181EsiCBJWTnRTZ3ZI3YXscBRnhA6ANnKer004b2Q,3980
|
|
62
71
|
pycontrails/models/cocipgrid/__init__.py,sha256=OYSdZ1Htbr_IP7N_HuOAj1Pa_KLHtdEeJfXP-cN-gnU,271
|
|
63
|
-
pycontrails/models/cocipgrid/cocip_grid.py,sha256=
|
|
72
|
+
pycontrails/models/cocipgrid/cocip_grid.py,sha256=GKBXMGcUXB_I8ssXHOQEQQzlrAec2TTVaWewzVlbhIM,96906
|
|
64
73
|
pycontrails/models/cocipgrid/cocip_grid_params.py,sha256=ZpN00VEmeRYaeZhvSfVjnEjrgn6XdClf1eqJC8Ytcuw,6013
|
|
65
74
|
pycontrails/models/emissions/__init__.py,sha256=BXzV2pBps8j3xbaF1n9uPdVVLI5MBIGYx8xqDJezYIE,499
|
|
66
75
|
pycontrails/models/emissions/black_carbon.py,sha256=9DRqB487pH8Iq83FXggA5mPLYEAA8NpsKx24f8uTEF4,20828
|
|
@@ -92,9 +101,9 @@ pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy
|
|
|
92
101
|
pycontrails/utils/json.py,sha256=xCv71CKVZNHk4MyoYC-hl7dXObXXbI7P8gcNCn3AUoU,6172
|
|
93
102
|
pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
|
|
94
103
|
pycontrails/utils/types.py,sha256=gNG9cSZ3djW7jufg0h1fXM3kD24sBY6ENE6wsxY_Q6o,4937
|
|
95
|
-
pycontrails-0.
|
|
96
|
-
pycontrails-0.
|
|
97
|
-
pycontrails-0.
|
|
98
|
-
pycontrails-0.
|
|
99
|
-
pycontrails-0.
|
|
100
|
-
pycontrails-0.
|
|
104
|
+
pycontrails-0.52.0.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
|
|
105
|
+
pycontrails-0.52.0.dist-info/METADATA,sha256=H3dxmqQMQaqGUUx0vLTP0ffLxKf1kVyYj0wM2sKbzck,9001
|
|
106
|
+
pycontrails-0.52.0.dist-info/NOTICE,sha256=qYeNEp8OjDK5jSW3hTlr9LQRjZeEhXQm0zDei5UFaYs,1969
|
|
107
|
+
pycontrails-0.52.0.dist-info/WHEEL,sha256=Z6c-bE0pUM47a70GvqO_SvH_XXU0lm62gEAKtoNJ08A,100
|
|
108
|
+
pycontrails-0.52.0.dist-info/top_level.txt,sha256=dwaYXVcMhF92QWtAYcLvL0k02vyBqwhsv92lYs2V6zQ,23
|
|
109
|
+
pycontrails-0.52.0.dist-info/RECORD,,
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"""ECMWF Data Access."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
from pycontrails.datalib.spire.spire import (
|
|
6
|
-
clean,
|
|
7
|
-
generate_flight_id,
|
|
8
|
-
identify_flights,
|
|
9
|
-
is_valid_trajectory,
|
|
10
|
-
validate_flights,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
__all__ = [
|
|
14
|
-
"clean",
|
|
15
|
-
"generate_flight_id",
|
|
16
|
-
"identify_flights",
|
|
17
|
-
"is_valid_trajectory",
|
|
18
|
-
"validate_flights",
|
|
19
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|