pycontrails 0.52.1__cp310-cp310-win_amd64.whl → 0.52.3__cp310-cp310-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.

@@ -84,6 +84,27 @@ class CocipParams(ModelParams):
84
84
  #: Humidity scaling
85
85
  humidity_scaling: HumidityScaling | None = None
86
86
 
87
+ #: Experimental. If ``True``, attempt to reduce memory consumption during
88
+ #: aircraft performance and initial contrail formation/persistent calculations
89
+ #: by calling :meth:`MetDataArray.interpolate` with ``lowmem=True``.
90
+ #:
91
+ #: **IMPORTANT**:
92
+ #:
93
+ #: * Memory optimizations used when ``proprocess_lowmem=True`` are designed for
94
+ #: meteorology backed by dask arrays with a chunk size of 1 along
95
+ #: the time dimension. This option may degrade performance if dask if not used
96
+ #: or if chunks contain more than a single time step.
97
+ #: * The impact on runtime of setting ``preprocess_lowmem=True`` depends on how
98
+ #: meteorology data is chunked. Runtime is likely to increase if meteorology
99
+ #: data is chunked in time only, but may decrease if meteorology data is also
100
+ #: chunked in longitude, latitude, and level.
101
+ #: * Changes to data access patterns with ``preprocess_lowmem=True`` alter locations
102
+ #: where interpolation is in- vs out-of-bounds. As a consequence,
103
+ #: Cocip output with ``preprocess_lowmem=True`` is only guaranteed to match output
104
+ #: with ``preprocess_lowmem=False`` when run with ``interpolation_bounds_error=True``
105
+ #: to ensure no out-of-bounds interpolation occurs.
106
+ preprocess_lowmem: bool = False
107
+
87
108
  # --------------
88
109
  # Downselect met
89
110
  # --------------
@@ -24,7 +24,6 @@ import pathlib
24
24
  import warnings
25
25
  from collections.abc import Hashable
26
26
 
27
- import matplotlib.pyplot as plt
28
27
  import numpy as np
29
28
  import numpy.typing as npt
30
29
  import pandas as pd
@@ -1191,6 +1190,7 @@ def meteorological_time_slice_statistics(
1191
1190
  # ISSR: Volume of airspace with RHi > 100% between FL300 and FL450
1192
1191
  met = humidity_scaling.eval(met)
1193
1192
  rhi = met["rhi"].data.sel(level=slice(150, 300))
1193
+ rhi = rhi.interp(time=time)
1194
1194
  is_issr = rhi > 1
1195
1195
 
1196
1196
  # Cirrus in a longitude-latitude grid
@@ -1245,9 +1245,15 @@ def radiation_time_slice_statistics(
1245
1245
  surface_area = geo.grid_surface_area(rad["longitude"].values, rad["latitude"].values)
1246
1246
  weights = surface_area.values / np.nansum(surface_area)
1247
1247
  stats = {
1248
- "mean_sdr_domain": np.nansum(rad["sdr"].data.sel(level=-1, time=time).values * weights),
1249
- "mean_rsr_domain": np.nansum(rad["rsr"].data.sel(level=-1, time=time).values * weights),
1250
- "mean_olr_domain": np.nansum(rad["olr"].data.sel(level=-1, time=time).values * weights),
1248
+ "mean_sdr_domain": np.nansum(
1249
+ np.squeeze(rad["sdr"].data.interp(time=time).values) * weights
1250
+ ),
1251
+ "mean_rsr_domain": np.nansum(
1252
+ np.squeeze(rad["rsr"].data.interp(time=time).values) * weights
1253
+ ),
1254
+ "mean_olr_domain": np.nansum(
1255
+ np.squeeze(rad["olr"].data.interp(time=time).values) * weights
1256
+ ),
1251
1257
  }
1252
1258
  return pd.Series(stats)
1253
1259
 
@@ -1598,7 +1604,7 @@ def contrails_to_hi_res_grid(
1598
1604
  module_not_found_error=exc,
1599
1605
  )
1600
1606
 
1601
- for i in tqdm(heads_t.index[:2000]):
1607
+ for i in tqdm(heads_t.index):
1602
1608
  contrail_segment = GeoVectorDataset(
1603
1609
  pd.concat([heads_t[cols_req].loc[i], tails_t[cols_req].loc[i]], axis=1).T, copy=True
1604
1610
  )
@@ -2134,7 +2140,17 @@ def compare_cocip_with_goes(
2134
2140
  name="compare_cocip_with_goes function",
2135
2141
  package_name="cartopy",
2136
2142
  module_not_found_error=e,
2137
- pycontrails_optional_package="goes",
2143
+ pycontrails_optional_package="sat",
2144
+ )
2145
+
2146
+ try:
2147
+ import matplotlib.pyplot as plt
2148
+ except ModuleNotFoundError as e:
2149
+ dependencies.raise_module_not_found_error(
2150
+ name="compare_cocip_with_goes function",
2151
+ package_name="matplotlib",
2152
+ module_not_found_error=e,
2153
+ pycontrails_optional_package="vis",
2138
2154
  )
2139
2155
 
2140
2156
  # Round `time` to nearest GOES image time slice
@@ -561,7 +561,7 @@ UID No,Manufacturer,Engine Identification,Combustor Description,Eng Type,B/P Rat
561
561
  1TL002,Textron Lycoming,ALF 502R-3,,TF,5.7,11.4,29.8,0.3476,0.288,0.1027,0.0432,11.2,9.94,6.15,3.3,0.433,0.5,8.43,44.67,0.056,0.053,0.287,6.51,12.63,12,5.47,2.133,13,101.3,102.4,288,293,0.0088,0.0108
562
562
  1TL003,Textron Lycoming,ALF 502R-5,,TF,5.6,12,31,0.3581,0.2955,0.1034,0.0408,13.35,10.56,6.6,3.78,0.3,0.25,7.1,40.93,0.06,0.053,0.217,5.39,13.5,12.7,5.7,2.3,15.4,101.3,102.4,288,293,0.0088,0.0108
563
563
  1TL004,Textron Lycoming,"LF507-1F, -1H",,TF,5.1,13,31,0.3578,0.2961,0.1083,0.0453,14.52,12.02,6.39,3.28,0.2,0.3,4.43,37.83,0.01,0.01,0.12,4.72,10.3,10.2,6.9,6.8,10.6,101.3,102.4,276,280,0.0023,0.0038
564
- 1ZM001,IVCHENKO PROGRESS ZMBK,D-36,,TF,5,19.9,63.765,0.634,0.533,0.211,,26,22,9,5.5,0.5,0.4,2.7,20.7,0,0,0,5.4,14.8,,,,14.8,99.9,101.5,268,295,0.0017,0.0083
564
+ 1ZM001,IVCHENKO PROGRESS ZMBK,D-36,,TF,5,19.9,63.765,0.634,0.533,0.211,0.092,26,22,9,5.5,0.5,0.4,2.7,20.7,0,0,0,5.4,14.8,,,,14.8,99.9,101.5,268,295,0.0017,0.0083
565
565
  13ZM002,IVCHENKO PROGRESS ZMBK,D-36 ser. 4A,,TF,5,19.9,63.77,0.634,0.533,0.211,0.092,26,22,9,5.5,0.5,0.4,2.7,20.7,0,0,0,5.4,14.8,,,,14.8,99.9,101.5,268,295,0.0017,0.0083
566
566
  13ZM003,IVCHENKO PROGRESS ZMBK,D-436-148 F1,,TF,4.9,19.8,64.43,0.548,0.468,0.218,0.093,18.93,16,7.26,3.64,0.54,0.54,2.99,23.46,0.1,0.04,0.07,2.26,6.7,,,,6.7,99.02,102.66,266,301,0.00248,0.01624
567
567
  13ZM004,IVCHENKO PROGRESS ZMBK,D-436-148 F2,,TF,4.9,20.73,68.72,0.581,0.493,0.225,0.099,19.76,16.64,7.31,3.78,0.48,0.4,2.71,19.56,0.09,0.05,0.08,1.39,6.7,,,,6.9,99.02,102.66,266,301,0.00248,0.01624
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycontrails
3
- Version: 0.52.1
3
+ Version: 0.52.3
4
4
  Summary: Python library for modeling aviation climate impacts
5
5
  Author-email: Breakthrough Energy <py@contrails.org>
6
6
  License: Apache-2.0
@@ -27,92 +27,92 @@ Requires-Python: >=3.9
27
27
  Description-Content-Type: text/markdown
28
28
  License-File: LICENSE
29
29
  License-File: NOTICE
30
- Requires-Dist: dask >=2022.3
31
- Requires-Dist: numpy >=1.22
32
- Requires-Dist: overrides >=6.1
33
- Requires-Dist: pandas >=2.2
34
- Requires-Dist: scipy >=1.10
35
- Requires-Dist: xarray >=2022.3
30
+ Requires-Dist: dask>=2022.3
31
+ Requires-Dist: numpy>=1.22
32
+ Requires-Dist: overrides>=6.1
33
+ Requires-Dist: pandas>=2.2
34
+ Requires-Dist: scipy>=1.10
35
+ Requires-Dist: xarray>=2022.3
36
36
  Provides-Extra: complete
37
- Requires-Dist: pycontrails[ecmwf,gcp,gfs,jupyter,pyproj,sat,vis,zarr] ; extra == 'complete'
37
+ Requires-Dist: pycontrails[ecmwf,gcp,gfs,jupyter,pyproj,sat,vis,zarr]; extra == "complete"
38
38
  Provides-Extra: dev
39
- Requires-Dist: black[jupyter] ==24.4.1 ; extra == 'dev'
40
- Requires-Dist: dep-license ; extra == 'dev'
41
- Requires-Dist: fastparquet >=0.8 ; extra == 'dev'
42
- Requires-Dist: ipdb >=0.13 ; extra == 'dev'
43
- Requires-Dist: memory-profiler ; extra == 'dev'
44
- Requires-Dist: mypy >=1.8 ; extra == 'dev'
45
- Requires-Dist: mypy-extensions >=1.0 ; extra == 'dev'
46
- Requires-Dist: platformdirs >=3.0 ; extra == 'dev'
47
- Requires-Dist: pre-commit >=2.10 ; extra == 'dev'
48
- Requires-Dist: psutil ; extra == 'dev'
49
- Requires-Dist: pyarrow >=5.0 ; extra == 'dev'
50
- Requires-Dist: pytest >=8.2 ; extra == 'dev'
51
- Requires-Dist: pytest-cov >=2.11 ; extra == 'dev'
52
- Requires-Dist: requests >=2.25 ; extra == 'dev'
53
- Requires-Dist: ruff ==0.4.1 ; extra == 'dev'
54
- Requires-Dist: setuptools ; extra == 'dev'
39
+ Requires-Dist: black[jupyter]==24.4.2; extra == "dev"
40
+ Requires-Dist: dep-license; extra == "dev"
41
+ Requires-Dist: fastparquet>=0.8; extra == "dev"
42
+ Requires-Dist: ipdb>=0.13; extra == "dev"
43
+ Requires-Dist: memory-profiler; extra == "dev"
44
+ Requires-Dist: mypy>=1.8; extra == "dev"
45
+ Requires-Dist: mypy-extensions>=1.0; extra == "dev"
46
+ Requires-Dist: platformdirs>=3.0; extra == "dev"
47
+ Requires-Dist: pre-commit>=2.10; extra == "dev"
48
+ Requires-Dist: psutil; extra == "dev"
49
+ Requires-Dist: pyarrow>=5.0; extra == "dev"
50
+ Requires-Dist: pytest>=8.2; extra == "dev"
51
+ Requires-Dist: pytest-cov>=2.11; extra == "dev"
52
+ Requires-Dist: requests>=2.25; extra == "dev"
53
+ Requires-Dist: ruff==0.5.3; extra == "dev"
54
+ Requires-Dist: setuptools; extra == "dev"
55
55
  Provides-Extra: docs
56
- Requires-Dist: doc8 >=1.1 ; extra == 'docs'
57
- Requires-Dist: furo >=2023.3 ; extra == 'docs'
58
- Requires-Dist: myst-parser >=1.0 ; extra == 'docs'
59
- Requires-Dist: nb-clean >=3.2 ; extra == 'docs'
60
- Requires-Dist: nbsphinx >=0.9 ; extra == 'docs'
61
- Requires-Dist: nbval !=0.10.0,>=0.9.6 ; extra == 'docs'
62
- Requires-Dist: pytest-check-links >=0.8.0 ; extra == 'docs'
63
- Requires-Dist: sphinx >=4.2 ; extra == 'docs'
64
- Requires-Dist: sphinx-autobuild >=0.7 ; extra == 'docs'
65
- Requires-Dist: sphinxcontrib-bibtex >=2.2 ; extra == 'docs'
66
- Requires-Dist: sphinx-copybutton >=0.5 ; extra == 'docs'
67
- Requires-Dist: sphinxext.opengraph >=0.8 ; extra == 'docs'
56
+ Requires-Dist: doc8>=1.1; extra == "docs"
57
+ Requires-Dist: furo>=2023.3; extra == "docs"
58
+ Requires-Dist: myst-parser>=1.0; extra == "docs"
59
+ Requires-Dist: nb-clean>=3.2; extra == "docs"
60
+ Requires-Dist: nbsphinx>=0.9; extra == "docs"
61
+ Requires-Dist: nbval!=0.10.0,>=0.9.6; extra == "docs"
62
+ Requires-Dist: pytest-check-links>=0.8.0; extra == "docs"
63
+ Requires-Dist: sphinx>=4.2; extra == "docs"
64
+ Requires-Dist: sphinx-autobuild>=0.7; extra == "docs"
65
+ Requires-Dist: sphinxcontrib-bibtex>=2.2; extra == "docs"
66
+ Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
67
+ Requires-Dist: sphinxext.opengraph>=0.8; extra == "docs"
68
68
  Provides-Extra: ecmwf
69
- Requires-Dist: cdsapi >=0.4 ; extra == 'ecmwf'
70
- Requires-Dist: cfgrib >=0.9 ; extra == 'ecmwf'
71
- Requires-Dist: eccodes >=1.4 ; extra == 'ecmwf'
72
- Requires-Dist: ecmwf-api-client >=1.6 ; extra == 'ecmwf'
73
- Requires-Dist: netcdf4 >=1.6.1 ; extra == 'ecmwf'
74
- Requires-Dist: platformdirs >=3.0 ; extra == 'ecmwf'
75
- Requires-Dist: requests >=2.25 ; extra == 'ecmwf'
76
- Requires-Dist: lxml >=5.1.0 ; extra == 'ecmwf'
69
+ Requires-Dist: cdsapi>=0.4; extra == "ecmwf"
70
+ Requires-Dist: cfgrib>=0.9; extra == "ecmwf"
71
+ Requires-Dist: eccodes>=1.4; extra == "ecmwf"
72
+ Requires-Dist: ecmwf-api-client>=1.6; extra == "ecmwf"
73
+ Requires-Dist: netcdf4>=1.6.1; extra == "ecmwf"
74
+ Requires-Dist: platformdirs>=3.0; extra == "ecmwf"
75
+ Requires-Dist: requests>=2.25; extra == "ecmwf"
76
+ Requires-Dist: lxml>=5.1.0; extra == "ecmwf"
77
77
  Provides-Extra: gcp
78
- Requires-Dist: google-cloud-storage >=2.1 ; extra == 'gcp'
79
- Requires-Dist: platformdirs >=3.0 ; extra == 'gcp'
80
- Requires-Dist: tqdm >=4.61 ; extra == 'gcp'
78
+ Requires-Dist: google-cloud-storage>=2.1; extra == "gcp"
79
+ Requires-Dist: platformdirs>=3.0; extra == "gcp"
80
+ Requires-Dist: tqdm>=4.61; extra == "gcp"
81
81
  Provides-Extra: gfs
82
- Requires-Dist: boto3 >=1.20 ; extra == 'gfs'
83
- Requires-Dist: cfgrib >=0.9 ; extra == 'gfs'
84
- Requires-Dist: eccodes >=1.4 ; extra == 'gfs'
85
- Requires-Dist: platformdirs >=3.0 ; extra == 'gfs'
86
- Requires-Dist: tqdm >=4.61 ; extra == 'gfs'
82
+ Requires-Dist: boto3>=1.20; extra == "gfs"
83
+ Requires-Dist: cfgrib>=0.9; extra == "gfs"
84
+ Requires-Dist: eccodes>=1.4; extra == "gfs"
85
+ Requires-Dist: platformdirs>=3.0; extra == "gfs"
86
+ Requires-Dist: tqdm>=4.61; extra == "gfs"
87
87
  Provides-Extra: jupyter
88
- Requires-Dist: ipywidgets >=7.6 ; extra == 'jupyter'
89
- Requires-Dist: jupyterlab >=2.2 ; extra == 'jupyter'
88
+ Requires-Dist: ipywidgets>=7.6; extra == "jupyter"
89
+ Requires-Dist: jupyterlab>=2.2; extra == "jupyter"
90
90
  Provides-Extra: open3d
91
- Requires-Dist: open3d >=0.14 ; extra == 'open3d'
91
+ Requires-Dist: open3d>=0.14; extra == "open3d"
92
92
  Provides-Extra: pyproj
93
- Requires-Dist: pyproj >=3.5 ; extra == 'pyproj'
93
+ Requires-Dist: pyproj>=3.5; extra == "pyproj"
94
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: pillow >=10.3 ; extra == 'sat'
102
- Requires-Dist: pyproj >=3.5 ; extra == 'sat'
103
- Requires-Dist: rasterio >=1.3 ; extra == 'sat'
104
- Requires-Dist: scikit-image >=0.18 ; 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: pillow>=10.3; extra == "sat"
102
+ Requires-Dist: pyproj>=3.5; extra == "sat"
103
+ Requires-Dist: rasterio>=1.3; extra == "sat"
104
+ Requires-Dist: scikit-image>=0.18; extra == "sat"
105
105
  Provides-Extra: vis
106
- Requires-Dist: matplotlib >=3.3 ; extra == 'vis'
107
- Requires-Dist: opencv-python-headless >=4.5 ; extra == 'vis'
108
- Requires-Dist: scikit-learn >=0.23 ; extra == 'vis'
109
- Requires-Dist: scikit-image >=0.18 ; extra == 'vis'
110
- Requires-Dist: seaborn >=0.11 ; extra == 'vis'
111
- Requires-Dist: shapely >=2.0 ; extra == 'vis'
106
+ Requires-Dist: matplotlib>=3.3; extra == "vis"
107
+ Requires-Dist: opencv-python-headless>=4.5; extra == "vis"
108
+ Requires-Dist: scikit-learn>=0.23; extra == "vis"
109
+ Requires-Dist: scikit-image>=0.18; extra == "vis"
110
+ Requires-Dist: seaborn>=0.11; extra == "vis"
111
+ Requires-Dist: shapely>=2.0; extra == "vis"
112
112
  Provides-Extra: zarr
113
- Requires-Dist: fsspec >=2022.7.1 ; extra == 'zarr'
114
- Requires-Dist: gcsfs >=2022.7.1 ; extra == 'zarr'
115
- Requires-Dist: zarr >=2.12 ; extra == 'zarr'
113
+ Requires-Dist: fsspec>=2022.7.1; extra == "zarr"
114
+ Requires-Dist: gcsfs>=2022.7.1; extra == "zarr"
115
+ Requires-Dist: zarr>=2.12; extra == "zarr"
116
116
 
117
117
  # pycontrails
118
118
 
@@ -122,7 +122,7 @@ Requires-Dist: zarr >=2.12 ; extra == 'zarr'
122
122
  |---------------|-------------------------------------------------------------------|
123
123
  | **Version** | [![PyPI version](https://img.shields.io/pypi/v/pycontrails.svg)](https://pypi.python.org/pypi/pycontrails) [![conda-forge version](https://anaconda.org/conda-forge/pycontrails/badges/version.svg)](https://anaconda.org/conda-forge/pycontrails) [![Supported python versions](https://img.shields.io/pypi/pyversions/pycontrails.svg)](https://pypi.python.org/pypi/pycontrails) |
124
124
  | **Citation** | [![DOI](https://zenodo.org/badge/617248930.svg)](https://zenodo.org/badge/latestdoi/617248930) |
125
- | **Tests** | [![Unit test](https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml) [![Docs](https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml) [![Release](https://github.com/contrailcirrus/pycontrails/actions/workflows/release.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/release.yaml) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/contrailcirrus/pycontrails/badge)](https://securityscorecards.dev/viewer?uri=github.com/contrailcirrus/pycontrails)|
125
+ | **Tests** | [![Unit test](https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml) [![Docs](https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml/badge.svg?event=push)](https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml) [![Release](https://github.com/contrailcirrus/pycontrails/actions/workflows/release.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/release.yaml) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/contrailcirrus/pycontrails/badge)](https://securityscorecards.dev/viewer?uri=github.com/contrailcirrus/pycontrails)|
126
126
  | **License** | [![Apache License 2.0](https://img.shields.io/pypi/l/pycontrails.svg)](https://github.com/contrailcirrus/pycontrails/blob/main/LICENSE) |
127
127
  | **Community** | [![Github Discussions](https://img.shields.io/github/discussions/contrailcirrus/pycontrails)](https://github.com/contrailcirrus/pycontrails/discussions) [![Github Issues](https://img.shields.io/github/issues/contrailcirrus/pycontrails)](https://github.com/contrailcirrus/pycontrails/issues) [![Github PRs](https://img.shields.io/github/issues-pr/contrailcirrus/pycontrails)](https://github.com/contrailcirrus/pycontrails/pulls) |
128
128
 
@@ -1,22 +1,22 @@
1
1
  pycontrails/__init__.py,sha256=EpPulx2dBYpqZNsyh6HTwGGnFsvBVHBXabG5VInwSg4,2071
2
- pycontrails/_version.py,sha256=OgPKMeVk5BhpBhwqypLdg843dA-09mBdlcfYz7wrIM8,429
2
+ pycontrails/_version.py,sha256=DwcfPcd9EyaZVcBfypzp-ZYnJMP7npcKts9iUv9NVh0,429
3
3
  pycontrails/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  pycontrails/core/__init__.py,sha256=X0DX2FGboPN_svwN2xiBzoPpHhDtg0oKFjXQfmCqMWU,886
5
- pycontrails/core/aircraft_performance.py,sha256=ikeJmdvFRDa1RdfR-JKfhQbiiIzL0c2vzcBmobmoxMs,22511
5
+ pycontrails/core/aircraft_performance.py,sha256=osV68kKLpvnzBX8fqZcBefbKoYqTxhAf2EWLRdTA7Ec,26748
6
6
  pycontrails/core/airports.py,sha256=nGKXN3jOtzsDCaJZVFNO3e3w-U3lqMTz5Ww5jALiRJY,6984
7
7
  pycontrails/core/cache.py,sha256=5B8h6gqhn5Sy_pQR0wGn7QX-Cou8GdjwDUM59SRuDns,28852
8
8
  pycontrails/core/coordinates.py,sha256=J5qjGuXgbLUw_U9_qREdgOaHl0ngK6Hbbjj3uw7FwNE,5565
9
- pycontrails/core/fleet.py,sha256=WKF_s_gRXHmB9b1OW7RUkM1TzfvVD8Ab0Md-qKRwkzs,16544
10
- pycontrails/core/flight.py,sha256=f4yD4UdKl955IXMckBx5RNSiJxDS5wkUcESYsSfARWs,85915
9
+ pycontrails/core/fleet.py,sha256=vB1XHcajtTLlelY_u72SAYUCt3h2smzqZIpeLFJaW0M,16610
10
+ pycontrails/core/flight.py,sha256=lLqS0lWLCaN8YPusi1AzPZqtyHr4dZTYJ9SC3rosd7Q,87453
11
11
  pycontrails/core/flightplan.py,sha256=cpMZ6VCYbfwh3vnew2XgVEHnqBx1NzeAhrTVCvlbbss,7569
12
12
  pycontrails/core/fuel.py,sha256=06YUDhvC8Rx6KbUXRB9qLTsJX2V7tLbzjwAfDH0R6l8,4472
13
- pycontrails/core/interpolation.py,sha256=JY97IkHIgLRExxHN0B28R2CM5xXRYB1n4xT3gr4xPgU,26238
14
- pycontrails/core/met.py,sha256=ihIP3kxat_OpgsUwVtol-esctzoaWtTCbHCFkMa3RB8,96625
13
+ pycontrails/core/interpolation.py,sha256=FnaVFT9OQXNLTx3FjUgqkgXVohn1JL0fdQTgEAPBgag,26309
14
+ pycontrails/core/met.py,sha256=WOaIOZkLI7ocqK0pzEv01zhQ7-l0G_t39dppj4Iqfvw,104160
15
15
  pycontrails/core/met_var.py,sha256=JzB7UhBLQyU4TuKZqemhpBHA6Dbt89BPYO2sYBLMkL4,9504
16
- pycontrails/core/models.py,sha256=VS-ct4xkojJIuqdPpT1ke1ZetNzv10nNx_Z_XalZyeo,40175
16
+ pycontrails/core/models.py,sha256=D5pnAxejpDbHfh_wszxTA4cq6dr2L0Sn3OBmSL4zSsA,40491
17
17
  pycontrails/core/polygon.py,sha256=F403uzql_c47MPM2Qdmec6WwtFaXZyb48h-4gK-K4EU,18577
18
- pycontrails/core/rgi_cython.cp310-win_amd64.pyd,sha256=LZCoeuKptNVy4h2rMxbtxZVzkUJt9owlB5Vw7Dn7aKE,259584
19
- pycontrails/core/vector.py,sha256=bTPDQNQnw89ZIi4IauJBkPOrNnYikBk24NppA2vx9T8,73920
18
+ pycontrails/core/rgi_cython.cp310-win_amd64.pyd,sha256=AWilndH586awDsdt-XqAqseCRX07tddDdAq33E6mlJc,259072
19
+ pycontrails/core/vector.py,sha256=YdzU47DSilECjYAvqZb2M_Lgs7OP7JvrDceneq4cKCU,73762
20
20
  pycontrails/datalib/__init__.py,sha256=Q2RrnjwtFzfsmJ2tEojDCzDMkd8R0MYw4mQz3YwUsqI,381
21
21
  pycontrails/datalib/goes.py,sha256=UMxXXCiRL6SHY5_3cXs8GmG19eeKOOi3gKCimkyZSuc,27305
22
22
  pycontrails/datalib/landsat.py,sha256=ptcI5d7Hk7KM-LUuZUaUxnQMwb_8z70ezTx1ErKfBhU,20212
@@ -58,11 +58,11 @@ pycontrails/models/apcemm/inputs.py,sha256=zHRSWVVlwYw6ms7PpC0p0I-xFsRDUVY9eDZ1g
58
58
  pycontrails/models/apcemm/utils.py,sha256=6pKQbS5EAzTnI_edVtUvGrzM0xwNq1t9MBGgCRJtg_0,17531
59
59
  pycontrails/models/apcemm/static/apcemm_yaml_template.yaml,sha256=A3H_FWVOtqkZhG91TWLdblMKaLWIcjRMsKqkfTN6mB4,6928
60
60
  pycontrails/models/cocip/__init__.py,sha256=miDxSFxN9PzL_ieSJb3BYeHmbKqZwGicCz1scNB5eW0,991
61
- pycontrails/models/cocip/cocip.py,sha256=s9j5UhPCaaxiJZDXUvQ2KnEgvQz2pMrRHlWKZijwRIw,100140
62
- pycontrails/models/cocip/cocip_params.py,sha256=T4IseK6KtY4hG3BuGZBtFgM90HCYecUXsb_QVEK6uGo,11670
61
+ pycontrails/models/cocip/cocip.py,sha256=BpHdEw3T9lICO9AvxpWO9tAU73APvUfMqKR4QakdSlo,102726
62
+ pycontrails/models/cocip/cocip_params.py,sha256=JwQl8FLcp4l5-MLiMQhPsxHL8jKXg2ymWXD7Jbn3zTQ,13002
63
63
  pycontrails/models/cocip/cocip_uncertainty.py,sha256=7W586BJEAY_wpSpfVdcdX-HpZG4twk3cMLhUR2ELTMA,12176
64
64
  pycontrails/models/cocip/contrail_properties.py,sha256=u6SvucHC6VtF2kujfSVFTfv0263t5uYpNOUJZAroEzc,57111
65
- pycontrails/models/cocip/output_formats.py,sha256=rQeSn-gnerw1LGRYpWdubCc3k_ec93_Fl1u_iXoSk-w,85491
65
+ pycontrails/models/cocip/output_formats.py,sha256=cmkFDo66K-2cZuH1uutJSIw0EqcOPD9Dj5bXSoyXsh4,85906
66
66
  pycontrails/models/cocip/radiative_forcing.py,sha256=SYmQ8lL8gpWbf6he2C9mKSjODtytbFcdnMdBM-LtBKE,46206
67
67
  pycontrails/models/cocip/radiative_heating.py,sha256=N7FTR20luERmokprdqMOl-d8-cTYZZ2ZSsTdxZnLHfs,19368
68
68
  pycontrails/models/cocip/unterstrasser_wake_vortex.py,sha256=Ymz-uO9vVhLIFwT9yuF5g1g3hcT-XWdryLsebSBqoVU,14976
@@ -76,7 +76,7 @@ pycontrails/models/emissions/black_carbon.py,sha256=9DRqB487pH8Iq83FXggA5mPLYEAA
76
76
  pycontrails/models/emissions/emissions.py,sha256=TqRPC15hC0gvL4-D4jDBgCOzOiSij6h0vvo7_GDkjI8,48917
77
77
  pycontrails/models/emissions/ffm2.py,sha256=wtiWk00_Rby2_xJN-pMY6Ays0CZwFhvqDRFmIIkwunU,12368
78
78
  pycontrails/models/emissions/static/default-engine-uids.csv,sha256=6e-0Fjbka1www4o2CNtw2pW-g0s_E7hZQ6vOaR84Q5Y,6456
79
- pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=Np_ej6WYFo7PGYtvIt_IAcEVCwTTbNNImKSYQ3Lhcpg,128114
79
+ pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv,sha256=s-3_KGQyVoypXCHeQgsTDwdri-e3JVJn5SDxZo60m_s,128119
80
80
  pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv,sha256=MwLLrcATd38KPddTpHpMGBrZuA4I7he-1B5otTp4ar8,77533
81
81
  pycontrails/models/humidity_scaling/__init__.py,sha256=-xqDCJzKJx2nX6yl-gglHheQHWDhkvb8X7atbMJT2LA,1156
82
82
  pycontrails/models/humidity_scaling/humidity_scaling.py,sha256=WEe-0rMTJFPzbsXuHVHLeUCHr552C73TlxIUhdKCOmA,37683
@@ -101,9 +101,9 @@ pycontrails/utils/iteration.py,sha256=En2YY4NiNwCNtAVO8HL6tv9byBGKs8MKSI7R8P-gZy
101
101
  pycontrails/utils/json.py,sha256=xCv71CKVZNHk4MyoYC-hl7dXObXXbI7P8gcNCn3AUoU,6172
102
102
  pycontrails/utils/temp.py,sha256=5XXqQoEfWjz1OrhoOBZD5vkkCFeuq9LpZkyhc38gIeY,1159
103
103
  pycontrails/utils/types.py,sha256=gNG9cSZ3djW7jufg0h1fXM3kD24sBY6ENE6wsxY_Q6o,4937
104
- pycontrails-0.52.1.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
105
- pycontrails-0.52.1.dist-info/METADATA,sha256=8Hq3tH_bn4RsRLUmaqCnordAtV5JS0gOVJmPRFesMFo,9477
106
- pycontrails-0.52.1.dist-info/NOTICE,sha256=qYeNEp8OjDK5jSW3hTlr9LQRjZeEhXQm0zDei5UFaYs,1969
107
- pycontrails-0.52.1.dist-info/WHEEL,sha256=UZYoTfvcH9CL8oQkujTAI06MiAXK9kd09pSK3OpCC7k,101
108
- pycontrails-0.52.1.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
109
- pycontrails-0.52.1.dist-info/RECORD,,
104
+ pycontrails-0.52.3.dist-info/LICENSE,sha256=HVr8JnZfTaA-12BfKUQZi5hdrB3awOwLWs5X_ga5QzA,10353
105
+ pycontrails-0.52.3.dist-info/METADATA,sha256=WcCq_h2VOQZQdue96yM1vAEvn9KRdxl3siBcaS9bGrI,9351
106
+ pycontrails-0.52.3.dist-info/NOTICE,sha256=qYeNEp8OjDK5jSW3hTlr9LQRjZeEhXQm0zDei5UFaYs,1969
107
+ pycontrails-0.52.3.dist-info/WHEEL,sha256=fsW6--WFfuzX2scefE6JfcSZ5dXg5h59u8lqlpL5uuo,101
108
+ pycontrails-0.52.3.dist-info/top_level.txt,sha256=Z8J1R_AiBAyCVjNw6jYLdrA68PrQqTg0t3_Yek_IZ0Q,29
109
+ pycontrails-0.52.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.2.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-win_amd64
5
5