pycontrails 0.54.0__tar.gz → 0.54.1__tar.gz

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 (276) hide show
  1. {pycontrails-0.54.0 → pycontrails-0.54.1}/CHANGELOG.md +21 -0
  2. {pycontrails-0.54.0 → pycontrails-0.54.1}/Makefile +1 -0
  3. {pycontrails-0.54.0/pycontrails.egg-info → pycontrails-0.54.1}/PKG-INFO +1 -1
  4. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/index.rst +1 -1
  5. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/integrations/ACCF.ipynb +1 -1
  6. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/integrations/APCEMM.ipynb +2 -2
  7. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/models.rst +3 -2
  8. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/ARCO-ERA5.ipynb +4 -4
  9. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/CoCiP.ipynb +1 -1
  10. pycontrails-0.54.1/docs/notebooks/CoCiPGrid.ipynb +731 -0
  11. pycontrails-0.54.1/docs/notebooks/Flight.ipynb +1208 -0
  12. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/ISSR.ipynb +1 -1
  13. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/SAC.ipynb +1 -1
  14. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/specific-humidity-interpolation.ipynb +4 -4
  15. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/_version.py +2 -2
  16. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/aircraft_performance.py +9 -3
  17. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/fleet.py +5 -22
  18. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/flight.py +9 -77
  19. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/met.py +30 -45
  20. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/rgi_cython.c +155 -155
  21. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/vector.py +13 -44
  22. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/__init__.py +2 -2
  23. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/arco_era5.py +1 -1
  24. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/era5.py +1 -1
  25. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/era5_model_level.py +3 -3
  26. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/model_levels.py +3 -2
  27. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocipgrid/cocip_grid.py +5 -3
  28. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/ps_model.py +39 -24
  29. {pycontrails-0.54.0 → pycontrails-0.54.1/pycontrails.egg-info}/PKG-INFO +1 -1
  30. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails.egg-info/SOURCES.txt +1 -0
  31. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/fixtures/cocip-met.py +1 -1
  32. pycontrails-0.54.1/tests/unit/__init__.py +19 -0
  33. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/conftest.py +1 -43
  34. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_accf.py +31 -2
  35. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_cocip_grid.py +7 -5
  36. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_cocip_grid_parity.py +1 -1
  37. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_fleet.py +2 -2
  38. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_flight.py +0 -45
  39. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_met.py +18 -1
  40. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_ps_model.py +46 -5
  41. pycontrails-0.54.0/docs/notebooks/Flight.ipynb +0 -1205
  42. pycontrails-0.54.0/tests/unit/__init__.py +0 -0
  43. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  44. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  45. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/dependabot.yaml +0 -0
  46. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/pull_request_template.md +0 -0
  47. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/workflows/docs.yaml +0 -0
  48. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/workflows/doctest.yaml +0 -0
  49. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/workflows/release.yaml +0 -0
  50. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/workflows/scorecard.yaml +0 -0
  51. {pycontrails-0.54.0 → pycontrails-0.54.1}/.github/workflows/test.yaml +0 -0
  52. {pycontrails-0.54.0 → pycontrails-0.54.1}/.gitignore +0 -0
  53. {pycontrails-0.54.0 → pycontrails-0.54.1}/.pre-commit-config.yaml +0 -0
  54. {pycontrails-0.54.0 → pycontrails-0.54.1}/.zenodo.json +0 -0
  55. {pycontrails-0.54.0 → pycontrails-0.54.1}/CONTRIBUTING.md +0 -0
  56. {pycontrails-0.54.0 → pycontrails-0.54.1}/LICENSE +0 -0
  57. {pycontrails-0.54.0 → pycontrails-0.54.1}/NOTICE +0 -0
  58. {pycontrails-0.54.0 → pycontrails-0.54.1}/README.md +0 -0
  59. {pycontrails-0.54.0 → pycontrails-0.54.1}/RELEASE.md +0 -0
  60. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/_static/css/style.css +0 -0
  61. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/_static/img/colab.png +0 -0
  62. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/_static/img/favicon.png +0 -0
  63. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/_static/img/logo-dark.png +0 -0
  64. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/_static/img/logo.png +0 -0
  65. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/_static/pycontrails.bib +0 -0
  66. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/api.rst +0 -0
  67. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/changelog.rst +0 -0
  68. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/conf.py +0 -0
  69. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/contributing.rst +0 -0
  70. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/develop.rst +0 -0
  71. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/flight.rst +0 -0
  72. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/install.rst +0 -0
  73. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/literature.rst +0 -0
  74. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/meteorology.rst +0 -0
  75. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/AircraftPerformance.ipynb +0 -0
  76. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/Cache.ipynb +0 -0
  77. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/ECMWF.ipynb +0 -0
  78. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/GFS.ipynb +0 -0
  79. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/GOES.ipynb +0 -0
  80. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/Landsat.ipynb +0 -0
  81. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/Meteorology.ipynb +0 -0
  82. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/Sentinel.ipynb +0 -0
  83. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/advection.ipynb +0 -0
  84. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/airports.ipynb +0 -0
  85. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/.gitignore +0 -0
  86. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/flight-ap.csv +0 -0
  87. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/flight-cocip.csv +0 -0
  88. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/flight-fdr.csv +0 -0
  89. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/flight-noisy.csv +0 -0
  90. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/flight.csv +0 -0
  91. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/iagos-flight-landsat.csv +0 -0
  92. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/data/iagos-flight-sentinel.csv +0 -0
  93. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/flightplan.ipynb +0 -0
  94. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/model-levels.ipynb +0 -0
  95. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/run-cocip-on-flight.ipynb +0 -0
  96. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks/run-cocip-with-fdr.ipynb +0 -0
  97. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/notebooks.rst +0 -0
  98. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/observations.rst +0 -0
  99. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/tutorials.rst +0 -0
  100. {pycontrails-0.54.0 → pycontrails-0.54.1}/docs/utilities.rst +0 -0
  101. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/__init__.py +0 -0
  102. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/__init__.py +0 -0
  103. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/airports.py +0 -0
  104. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/cache.py +0 -0
  105. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/coordinates.py +0 -0
  106. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/flightplan.py +0 -0
  107. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/fuel.py +0 -0
  108. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/interpolation.py +0 -0
  109. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/met_var.py +0 -0
  110. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/models.py +0 -0
  111. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/polygon.py +0 -0
  112. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/core/rgi_cython.pyx +0 -0
  113. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/__init__.py +0 -0
  114. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/_leo_utils/search.py +0 -0
  115. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/_leo_utils/static/bq_roi_query.sql +0 -0
  116. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/_leo_utils/vis.py +0 -0
  117. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/_met_utils/metsource.py +0 -0
  118. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/common.py +0 -0
  119. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/hres.py +0 -0
  120. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/hres_model_level.py +0 -0
  121. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/ifs.py +0 -0
  122. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv +0 -0
  123. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/ecmwf/variables.py +0 -0
  124. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/gfs/__init__.py +0 -0
  125. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/gfs/gfs.py +0 -0
  126. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/gfs/variables.py +0 -0
  127. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/goes.py +0 -0
  128. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/landsat.py +0 -0
  129. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/sentinel.py +0 -0
  130. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/datalib/spire.py +0 -0
  131. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/ext/bada.py +0 -0
  132. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/ext/cirium.py +0 -0
  133. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/ext/empirical_grid.py +0 -0
  134. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/ext/synthetic_flight.py +0 -0
  135. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/__init__.py +0 -0
  136. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/accf.py +0 -0
  137. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/apcemm/__init__.py +0 -0
  138. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/apcemm/apcemm.py +0 -0
  139. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/apcemm/inputs.py +0 -0
  140. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/apcemm/static/apcemm_yaml_template.yaml +0 -0
  141. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/apcemm/utils.py +0 -0
  142. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/__init__.py +0 -0
  143. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/cocip.py +0 -0
  144. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/cocip_params.py +0 -0
  145. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/cocip_uncertainty.py +0 -0
  146. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/contrail_properties.py +0 -0
  147. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/output_formats.py +0 -0
  148. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/radiative_forcing.py +0 -0
  149. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/radiative_heating.py +0 -0
  150. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/unterstrasser_wake_vortex.py +0 -0
  151. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/wake_vortex.py +0 -0
  152. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocip/wind_shear.py +0 -0
  153. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocipgrid/__init__.py +0 -0
  154. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/cocipgrid/cocip_grid_params.py +0 -0
  155. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/dry_advection.py +0 -0
  156. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/__init__.py +0 -0
  157. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/black_carbon.py +0 -0
  158. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/emissions.py +0 -0
  159. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/ffm2.py +0 -0
  160. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/static/default-engine-uids.csv +0 -0
  161. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv +0 -0
  162. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv +0 -0
  163. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/humidity_scaling/__init__.py +0 -0
  164. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/humidity_scaling/humidity_scaling.py +0 -0
  165. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq +0 -0
  166. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq +0 -0
  167. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/issr.py +0 -0
  168. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/pcc.py +0 -0
  169. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/pcr.py +0 -0
  170. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/__init__.py +0 -0
  171. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/ps_aircraft_params.py +0 -0
  172. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/ps_grid.py +0 -0
  173. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/ps_operational_limits.py +0 -0
  174. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv +0 -0
  175. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv +0 -0
  176. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/sac.py +0 -0
  177. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/models/tau_cirrus.py +0 -0
  178. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/physics/__init__.py +0 -0
  179. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/physics/constants.py +0 -0
  180. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/physics/geo.py +0 -0
  181. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/physics/jet.py +0 -0
  182. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/physics/thermo.py +0 -0
  183. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/physics/units.py +0 -0
  184. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/py.typed +0 -0
  185. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/utils/__init__.py +0 -0
  186. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/utils/dependencies.py +0 -0
  187. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/utils/iteration.py +0 -0
  188. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/utils/json.py +0 -0
  189. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/utils/temp.py +0 -0
  190. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails/utils/types.py +0 -0
  191. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails.egg-info/dependency_links.txt +0 -0
  192. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails.egg-info/requires.txt +0 -0
  193. {pycontrails-0.54.0 → pycontrails-0.54.1}/pycontrails.egg-info/top_level.txt +0 -0
  194. {pycontrails-0.54.0 → pycontrails-0.54.1}/pyproject.toml +0 -0
  195. {pycontrails-0.54.0 → pycontrails-0.54.1}/setup.cfg +0 -0
  196. {pycontrails-0.54.0 → pycontrails-0.54.1}/setup.py +0 -0
  197. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/__init__.py +0 -0
  198. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/_deprecated.py +0 -0
  199. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/Makefile +0 -0
  200. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/README.md +0 -0
  201. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/benchmark.py +0 -0
  202. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/compare.py +0 -0
  203. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/data.md +0 -0
  204. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/output.py +0 -0
  205. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip/review.ipynb +0 -0
  206. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/cocip-fortran/README.md +0 -0
  207. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/north-atlantic-study/.gcloudignore +0 -0
  208. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/north-atlantic-study/README.md +0 -0
  209. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/north-atlantic-study/support.py +0 -0
  210. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/benchmark/north-atlantic-study/validate.py +0 -0
  211. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/fixtures/cocip-met2.py +0 -0
  212. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/fixtures/ecmwf-met.py +0 -0
  213. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/fixtures/gfs-met.py +0 -0
  214. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/NOAA_Solar_Calculations_day.csv +0 -0
  215. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/cocip-contrail-output.json +0 -0
  216. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/cocip-contrail-output2.json +0 -0
  217. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/cocip-flight-output.json +0 -0
  218. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/cocip-flight-output2.json +0 -0
  219. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/cocip-output-contrail-edges.json +0 -0
  220. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/cocip-output-flts-20190101-eu.pq +0 -0
  221. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/flight-cocip2.csv +0 -0
  222. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/flight-meridian.csv +0 -0
  223. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/flight-metadata.json +0 -0
  224. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/flight-spire-data-cleaning.pq +0 -0
  225. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/flight.csv +0 -0
  226. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/flt-wypts-20190101-eu.pq +0 -0
  227. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-20190101-eu.nc +0 -0
  228. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-accf-pl.nc +0 -0
  229. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-accf-sl.nc +0 -0
  230. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-ecmwf-lnsp.nc +0 -0
  231. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-ecmwf-ml.nc +0 -0
  232. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-ecmwf-pl.nc +0 -0
  233. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-ecmwf-sl.nc +0 -0
  234. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-era5-cocip1.nc +0 -0
  235. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-era5-cocip2.nc +0 -0
  236. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/met-gfs.nc +0 -0
  237. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/polygon-bug.nc +0 -0
  238. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/rad-20190101-eu.nc +0 -0
  239. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/rad-era5-cocip1.nc +0 -0
  240. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/rad-era5-cocip2.nc +0 -0
  241. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/static/rad-gfs.nc +0 -0
  242. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_airports.py +0 -0
  243. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_apcemm.py +0 -0
  244. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_cache.py +0 -0
  245. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_cocip.py +0 -0
  246. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_cocip_radiative_forcing.py +0 -0
  247. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_cocip_uncertainty.py +0 -0
  248. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_coordinates.py +0 -0
  249. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_datalib_metsource.py +0 -0
  250. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_dry_advection.py +0 -0
  251. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_dtypes.py +0 -0
  252. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_ecmwf.py +0 -0
  253. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_emissions.py +0 -0
  254. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_flightplan.py +0 -0
  255. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_fuel.py +0 -0
  256. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_geo.py +0 -0
  257. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_gfs.py +0 -0
  258. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_goes.py +0 -0
  259. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_grid_to_netcdf.py +0 -0
  260. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_humidity_scaling.py +0 -0
  261. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_init.py +0 -0
  262. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_interpolation.py +0 -0
  263. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_leo.py +0 -0
  264. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_met_cache.py +0 -0
  265. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_models.py +0 -0
  266. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_pcc.py +0 -0
  267. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_polygons.py +0 -0
  268. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_sac_issr.py +0 -0
  269. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_spire.py +0 -0
  270. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_tau_cirrus.py +0 -0
  271. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_thermo_sac.py +0 -0
  272. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_units.py +0 -0
  273. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_unterstrasser_wake_vortex.py +0 -0
  274. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_utils.py +0 -0
  275. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_vector.py +0 -0
  276. {pycontrails-0.54.0 → pycontrails-0.54.1}/tests/unit/test_zarr.py +0 -0
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.54.1
4
+
5
+ ### Features
6
+
7
+ - Add [CoCiP Grid notebook](https://py.contrails.org/notebooks/CoCiPGrid.html) example to documentation.
8
+ - Implement `PSFlight.eval` on a `Fleet` source.
9
+
10
+ ### Breaking changes
11
+
12
+ - Remove `attrs["crs"]` usage from `GeoVectorDataset` and child classes (`Flight`, `Fleet`). All spatial data is assumed to be EPSG:4326 (WGS84). This was previously assumed implicitly, but now the `crs` attribute is removed from the `attrs` dictionary.
13
+ - Change the return type of `GeoVectorDataset.transform_crs` to a pair of numpy arrays representing `x` and `y` coordinates in the target CRS.
14
+ - Remove deprecated `MetDataset.variables` property in favor of `MetDataset.indexes`.
15
+ - Remove `**kwargs` in `MetDataArray` constructor.
16
+ - Rename `ARCOERA5` to `ERA5ARCO` for consistency with the `ERA5` and `ERA5ModelLevel` interfaces.
17
+
18
+ ### Fixes
19
+
20
+ - Fix the integration time step in `CocipGrid.calc_evolve_one_step`. The previous implementation assumed a time interval of `params["dt_integration"]`. This may not be the case for all `source` parameters (for example, this could occur if running `CocipGrid` over a collection of ADS-B waypoints).
21
+ - Raise an exception in constructing `MetDataset(ds, copy=False)` when `ds["level"]` has float32 dtype. Per interpolation conventions, all coordinate variables must have float64 dtype. (This was previously enforced in longitude and latitude, but was overlooked in the level coordinate.)
22
+ - Allow `AircraftPerformance.ensure_true_airspeed_on_source` to use `eastward_wind` and `northward_wind` fields on the `source` if available. This is useful when the `source` has already been interpolated to met data.
23
+
3
24
  ## v0.54.0
4
25
 
5
26
  ### Features
@@ -220,6 +220,7 @@ nb-check-links:
220
220
  --check-links-ignore "https://doi.org/10.1021/acs.est.2c05781" \
221
221
  --check-links-ignore "https://github.com/contrailcirrus/pycontrails-bada" \
222
222
  --check-links-ignore "https://ourairports.com" \
223
+ --check-links-ignore "https://www.ncei.noaa.gov/products/weather-climate-models/global-forecast" \
223
224
  docs/notebooks/*.ipynb
224
225
 
225
226
  # Execute all notebooks in docs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycontrails
3
- Version: 0.54.0
3
+ Version: 0.54.1
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
@@ -92,7 +92,7 @@ Learn more on `contrails.org <https://contrails.org>`_.
92
92
  :alt: Unit test
93
93
  :target: https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml
94
94
 
95
- .. |Docs| image:: https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml/badge.svg
95
+ .. |Docs| image:: https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml/badge.svg?event=push
96
96
  :alt: Docs
97
97
  :target: https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml
98
98
 
@@ -65,7 +65,7 @@
65
65
  "## Download meteorology data from ECMWF\n",
66
66
  "\n",
67
67
  "This demo uses [ERA5](https://www.ecmwf.int/en/forecasts/dataset/ecmwf-reanalysis-v5) via the [Copernicus Data Store (CDS)](https://cds.climate.copernicus.eu/) for met data.\n",
68
- "This requires account with [Copernicus Data Portal](https://cds.climate.copernicus.eu/cdsapp#!/home) and local `~/.cdsapirc` file with credentials."
68
+ "This requires account with [Copernicus Data Portal](https://cds.climate.copernicus.eu/how-to-api) and local `~/.cdsapirc` file with credentials."
69
69
  ]
70
70
  },
71
71
  {
@@ -34,7 +34,7 @@
34
34
  "\n",
35
35
  "from pycontrails import Flight, MetVariable\n",
36
36
  "from pycontrails.core.met_var import Geopotential\n",
37
- "from pycontrails.datalib.ecmwf import ARCOERA5\n",
37
+ "from pycontrails.datalib.ecmwf import ERA5ARCO\n",
38
38
  "from pycontrails.models.apcemm.apcemm import APCEMM\n",
39
39
  "from pycontrails.models.humidity_scaling import HistogramMatching\n",
40
40
  "from pycontrails.models.issr import ISSR\n",
@@ -74,7 +74,7 @@
74
74
  "outputs": [],
75
75
  "source": [
76
76
  "variables = (v if isinstance(v, MetVariable) else Geopotential for v in APCEMM.met_variables)\n",
77
- "era5ml = ARCOERA5(time=time_bounds, variables=APCEMM.met_variables, n_jobs=4)"
77
+ "era5ml = ERA5ARCO(time=time_bounds, variables=APCEMM.met_variables)"
78
78
  ]
79
79
  },
80
80
  {
@@ -12,6 +12,7 @@ Models
12
12
  notebooks/SAC
13
13
  notebooks/AircraftPerformance
14
14
  notebooks/CoCiP
15
+ notebooks/CoCiPGrid
15
16
  notebooks/advection
16
- integrations/ACCF.ipynb
17
- integrations/APCEMM.ipynb
17
+ integrations/ACCF
18
+ integrations/APCEMM
@@ -6,7 +6,7 @@
6
6
  "source": [
7
7
  "# ARCO ERA5\n",
8
8
  "\n",
9
- "This notebook demonstrates how to load [ARCO ERA5](https://cloud.google.com/storage/docs/public-datasets/era5) data from [Google Cloud Storage](https://cloud.google.com/storage) through the pycontrails `ARCOERA5` interface."
9
+ "This notebook demonstrates how to load [ARCO ERA5](https://cloud.google.com/storage/docs/public-datasets/era5) data from [Google Cloud Storage](https://cloud.google.com/storage) through the pycontrails `ERA5ARCO` interface."
10
10
  ]
11
11
  },
12
12
  {
@@ -22,7 +22,7 @@
22
22
  "import xarray as xr\n",
23
23
  "\n",
24
24
  "from pycontrails import Flight, MetDataset\n",
25
- "from pycontrails.datalib.ecmwf import ARCOERA5\n",
25
+ "from pycontrails.datalib.ecmwf import ERA5ARCO\n",
26
26
  "from pycontrails.models.cocip import Cocip\n",
27
27
  "from pycontrails.models.humidity_scaling import ConstantHumidityScaling\n",
28
28
  "from pycontrails.models.issr import ISSR\n",
@@ -47,7 +47,7 @@
47
47
  "source": [
48
48
  "time = (\"2019-01-01T00\", \"2019-01-01T12\")\n",
49
49
  "\n",
50
- "era5_pl = ARCOERA5(\n",
50
+ "era5_pl = ERA5ARCO(\n",
51
51
  " time=time,\n",
52
52
  " variables=(*Cocip.met_variables, *Cocip.optional_met_variables),\n",
53
53
  " cachestore=None,\n",
@@ -55,7 +55,7 @@
55
55
  "met = era5_pl.open_metdataset()\n",
56
56
  "\n",
57
57
  "\n",
58
- "era5_sl = ARCOERA5(\n",
58
+ "era5_sl = ERA5ARCO(\n",
59
59
  " time=time,\n",
60
60
  " variables=Cocip.rad_variables,\n",
61
61
  " pressure_levels=-1,\n",
@@ -44,7 +44,7 @@
44
44
  "## Download meteorology data from ECMWF\n",
45
45
  "\n",
46
46
  "This demo uses [ERA5](https://www.ecmwf.int/en/forecasts/dataset/ecmwf-reanalysis-v5) via the [Copernicus Data Store (CDS)](https://cds.climate.copernicus.eu/) for met data.\n",
47
- "This requires account with [Copernicus Data Portal](https://cds.climate.copernicus.eu/cdsapp#!/home) and local `~/.cdsapirc` file with credentials.\n",
47
+ "This requires account with [Copernicus Data Portal](https://cds.climate.copernicus.eu/how-to-api) and local `~/.cdsapirc` file with credentials.\n",
48
48
  "\n",
49
49
  "> Note this will download ~1 GB of meteorology data to your computer"
50
50
  ]