pycontrails 0.52.1__tar.gz → 0.52.2__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 (272) hide show
  1. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/workflows/scorecard.yaml +1 -1
  2. {pycontrails-0.52.1 → pycontrails-0.52.2}/CHANGELOG.md +28 -2
  3. {pycontrails-0.52.1/pycontrails.egg-info → pycontrails-0.52.2}/PKG-INFO +4 -4
  4. {pycontrails-0.52.1 → pycontrails-0.52.2}/README.md +1 -1
  5. pycontrails-0.52.2/docs/notebooks/AircraftPerformance.ipynb +256 -0
  6. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/_version.py +2 -2
  7. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/aircraft_performance.py +115 -19
  8. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/fleet.py +11 -10
  9. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/flight.py +98 -57
  10. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/models.py +25 -16
  11. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/rgi_cython.c +155 -155
  12. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/vector.py +25 -28
  13. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/cocip.py +20 -26
  14. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/output_formats.py +11 -4
  15. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/static/edb-gaseous-v29b-engines.csv +1 -1
  16. {pycontrails-0.52.1 → pycontrails-0.52.2/pycontrails.egg-info}/PKG-INFO +4 -4
  17. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails.egg-info/requires.txt +2 -2
  18. {pycontrails-0.52.1 → pycontrails-0.52.2}/pyproject.toml +3 -3
  19. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_airports.py +4 -4
  20. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_fleet.py +7 -1
  21. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_flight.py +156 -1
  22. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_leo.py +16 -10
  23. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_models.py +13 -12
  24. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_ps_model.py +45 -1
  25. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_vector.py +2 -2
  26. pycontrails-0.52.1/docs/notebooks/AircraftPerformance.ipynb +0 -281
  27. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  28. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  29. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/dependabot.yaml +0 -0
  30. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/pull_request_template.md +0 -0
  31. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/workflows/docs.yaml +0 -0
  32. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/workflows/doctest.yaml +0 -0
  33. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/workflows/release.yaml +0 -0
  34. {pycontrails-0.52.1 → pycontrails-0.52.2}/.github/workflows/test.yaml +0 -0
  35. {pycontrails-0.52.1 → pycontrails-0.52.2}/.gitignore +0 -0
  36. {pycontrails-0.52.1 → pycontrails-0.52.2}/.pre-commit-config.yaml +0 -0
  37. {pycontrails-0.52.1 → pycontrails-0.52.2}/.zenodo.json +0 -0
  38. {pycontrails-0.52.1 → pycontrails-0.52.2}/CONTRIBUTING.md +0 -0
  39. {pycontrails-0.52.1 → pycontrails-0.52.2}/LICENSE +0 -0
  40. {pycontrails-0.52.1 → pycontrails-0.52.2}/Makefile +0 -0
  41. {pycontrails-0.52.1 → pycontrails-0.52.2}/NOTICE +0 -0
  42. {pycontrails-0.52.1 → pycontrails-0.52.2}/RELEASE.md +0 -0
  43. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/_static/css/style.css +0 -0
  44. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/_static/img/colab.png +0 -0
  45. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/_static/img/favicon.png +0 -0
  46. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/_static/img/logo-dark.png +0 -0
  47. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/_static/img/logo.png +0 -0
  48. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/_static/pycontrails.bib +0 -0
  49. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/api.rst +0 -0
  50. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/changelog.rst +0 -0
  51. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/conf.py +0 -0
  52. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/contributing.rst +0 -0
  53. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/develop.rst +0 -0
  54. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/flight.rst +0 -0
  55. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/index.rst +0 -0
  56. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/install.rst +0 -0
  57. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/integrations/ACCF.ipynb +0 -0
  58. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/integrations/APCEMM.ipynb +0 -0
  59. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/literature.rst +0 -0
  60. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/meteorology.rst +0 -0
  61. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/models.rst +0 -0
  62. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/ARCO-ERA5.ipynb +0 -0
  63. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/Cache.ipynb +0 -0
  64. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/CoCiP.ipynb +0 -0
  65. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/ECMWF.ipynb +0 -0
  66. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/Flight.ipynb +0 -0
  67. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/GFS.ipynb +0 -0
  68. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/GOES.ipynb +0 -0
  69. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/ISSR.ipynb +0 -0
  70. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/Landsat.ipynb +0 -0
  71. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/Meteorology.ipynb +0 -0
  72. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/SAC.ipynb +0 -0
  73. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/Sentinel.ipynb +0 -0
  74. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/advection.ipynb +0 -0
  75. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/airports.ipynb +0 -0
  76. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/.gitignore +0 -0
  77. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/flight-ap.csv +0 -0
  78. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/flight-cocip.csv +0 -0
  79. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/flight-fdr.csv +0 -0
  80. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/flight-noisy.csv +0 -0
  81. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/flight.csv +0 -0
  82. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/iagos-flight-landsat.csv +0 -0
  83. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/data/iagos-flight-sentinel.csv +0 -0
  84. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/flightplan.ipynb +0 -0
  85. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/model-levels.ipynb +0 -0
  86. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/run-cocip-on-flight.ipynb +0 -0
  87. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/run-cocip-with-fdr.ipynb +0 -0
  88. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks/specific-humidity-interpolation.ipynb +0 -0
  89. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/notebooks.rst +0 -0
  90. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/observations.rst +0 -0
  91. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/tutorials.rst +0 -0
  92. {pycontrails-0.52.1 → pycontrails-0.52.2}/docs/utilities.rst +0 -0
  93. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/__init__.py +0 -0
  94. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/__init__.py +0 -0
  95. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/airports.py +0 -0
  96. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/cache.py +0 -0
  97. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/coordinates.py +0 -0
  98. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/flightplan.py +0 -0
  99. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/fuel.py +0 -0
  100. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/interpolation.py +0 -0
  101. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/met.py +0 -0
  102. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/met_var.py +0 -0
  103. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/polygon.py +0 -0
  104. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/core/rgi_cython.pyx +0 -0
  105. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/__init__.py +0 -0
  106. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/_leo_utils/search.py +0 -0
  107. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/_leo_utils/static/bq_roi_query.sql +0 -0
  108. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/_leo_utils/vis.py +0 -0
  109. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/_met_utils/metsource.py +0 -0
  110. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/__init__.py +0 -0
  111. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/arco_era5.py +0 -0
  112. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/common.py +0 -0
  113. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/era5.py +0 -0
  114. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/era5_model_level.py +0 -0
  115. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/hres.py +0 -0
  116. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/hres_model_level.py +0 -0
  117. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/ifs.py +0 -0
  118. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/model_levels.py +0 -0
  119. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/static/model_level_dataframe_v20240418.csv +0 -0
  120. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/ecmwf/variables.py +0 -0
  121. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/gfs/__init__.py +0 -0
  122. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/gfs/gfs.py +0 -0
  123. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/gfs/variables.py +0 -0
  124. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/goes.py +0 -0
  125. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/landsat.py +0 -0
  126. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/sentinel.py +0 -0
  127. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/datalib/spire.py +0 -0
  128. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/ext/bada.py +0 -0
  129. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/ext/cirium.py +0 -0
  130. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/ext/empirical_grid.py +0 -0
  131. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/ext/synthetic_flight.py +0 -0
  132. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/__init__.py +0 -0
  133. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/accf.py +0 -0
  134. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/apcemm/__init__.py +0 -0
  135. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/apcemm/apcemm.py +0 -0
  136. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/apcemm/inputs.py +0 -0
  137. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/apcemm/static/apcemm_yaml_template.yaml +0 -0
  138. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/apcemm/utils.py +0 -0
  139. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/__init__.py +0 -0
  140. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/cocip_params.py +0 -0
  141. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/cocip_uncertainty.py +0 -0
  142. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/contrail_properties.py +0 -0
  143. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/radiative_forcing.py +0 -0
  144. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/radiative_heating.py +0 -0
  145. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/unterstrasser_wake_vortex.py +0 -0
  146. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/wake_vortex.py +0 -0
  147. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocip/wind_shear.py +0 -0
  148. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocipgrid/__init__.py +0 -0
  149. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocipgrid/cocip_grid.py +0 -0
  150. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/cocipgrid/cocip_grid_params.py +0 -0
  151. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/dry_advection.py +0 -0
  152. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/__init__.py +0 -0
  153. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/black_carbon.py +0 -0
  154. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/emissions.py +0 -0
  155. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/ffm2.py +0 -0
  156. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/static/default-engine-uids.csv +0 -0
  157. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/emissions/static/edb-nvpm-v29b-engines.csv +0 -0
  158. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/humidity_scaling/__init__.py +0 -0
  159. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/humidity_scaling/humidity_scaling.py +0 -0
  160. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/humidity_scaling/quantiles/era5-model-level-quantiles.pq +0 -0
  161. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/humidity_scaling/quantiles/era5-pressure-level-quantiles.pq +0 -0
  162. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/issr.py +0 -0
  163. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/pcc.py +0 -0
  164. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/pcr.py +0 -0
  165. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/__init__.py +0 -0
  166. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/ps_aircraft_params.py +0 -0
  167. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/ps_grid.py +0 -0
  168. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/ps_model.py +0 -0
  169. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/ps_operational_limits.py +0 -0
  170. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/static/ps-aircraft-params-20240524.csv +0 -0
  171. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/ps_model/static/ps-synonym-list-20240524.csv +0 -0
  172. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/sac.py +0 -0
  173. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/models/tau_cirrus.py +0 -0
  174. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/physics/__init__.py +0 -0
  175. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/physics/constants.py +0 -0
  176. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/physics/geo.py +0 -0
  177. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/physics/jet.py +0 -0
  178. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/physics/thermo.py +0 -0
  179. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/physics/units.py +0 -0
  180. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/py.typed +0 -0
  181. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/utils/__init__.py +0 -0
  182. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/utils/dependencies.py +0 -0
  183. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/utils/iteration.py +0 -0
  184. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/utils/json.py +0 -0
  185. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/utils/temp.py +0 -0
  186. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails/utils/types.py +0 -0
  187. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails.egg-info/SOURCES.txt +0 -0
  188. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails.egg-info/dependency_links.txt +0 -0
  189. {pycontrails-0.52.1 → pycontrails-0.52.2}/pycontrails.egg-info/top_level.txt +0 -0
  190. {pycontrails-0.52.1 → pycontrails-0.52.2}/setup.cfg +0 -0
  191. {pycontrails-0.52.1 → pycontrails-0.52.2}/setup.py +0 -0
  192. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/__init__.py +0 -0
  193. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/_deprecated.py +0 -0
  194. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/Makefile +0 -0
  195. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/README.md +0 -0
  196. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/benchmark.py +0 -0
  197. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/compare.py +0 -0
  198. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/data.md +0 -0
  199. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/output.py +0 -0
  200. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip/review.ipynb +0 -0
  201. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/cocip-fortran/README.md +0 -0
  202. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/north-atlantic-study/.gcloudignore +0 -0
  203. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/north-atlantic-study/README.md +0 -0
  204. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/north-atlantic-study/support.py +0 -0
  205. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/benchmark/north-atlantic-study/validate.py +0 -0
  206. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/fixtures/cocip-met.py +0 -0
  207. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/fixtures/cocip-met2.py +0 -0
  208. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/fixtures/ecmwf-met.py +0 -0
  209. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/fixtures/gfs-met.py +0 -0
  210. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/__init__.py +0 -0
  211. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/conftest.py +0 -0
  212. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/NOAA_Solar_Calculations_day.csv +0 -0
  213. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/cocip-contrail-output.json +0 -0
  214. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/cocip-contrail-output2.json +0 -0
  215. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/cocip-flight-output.json +0 -0
  216. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/cocip-flight-output2.json +0 -0
  217. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/cocip-output-contrail-edges.json +0 -0
  218. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/cocip-output-flts-20190101-eu.pq +0 -0
  219. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/flight-cocip2.csv +0 -0
  220. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/flight-meridian.csv +0 -0
  221. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/flight-metadata.json +0 -0
  222. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/flight-spire-data-cleaning.pq +0 -0
  223. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/flight.csv +0 -0
  224. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/flt-wypts-20190101-eu.pq +0 -0
  225. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-20190101-eu.nc +0 -0
  226. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-accf-pl.nc +0 -0
  227. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-accf-sl.nc +0 -0
  228. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-ecmwf-pl.nc +0 -0
  229. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-ecmwf-sl.nc +0 -0
  230. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-era5-cocip1.nc +0 -0
  231. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-era5-cocip2.nc +0 -0
  232. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/met-gfs.nc +0 -0
  233. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/polygon-bug.nc +0 -0
  234. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/rad-20190101-eu.nc +0 -0
  235. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/rad-era5-cocip1.nc +0 -0
  236. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/rad-era5-cocip2.nc +0 -0
  237. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/static/rad-gfs.nc +0 -0
  238. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_accf.py +0 -0
  239. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_apcemm.py +0 -0
  240. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_cache.py +0 -0
  241. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_cocip.py +0 -0
  242. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_cocip_grid.py +0 -0
  243. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_cocip_grid_parity.py +0 -0
  244. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_cocip_radiative_forcing.py +0 -0
  245. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_cocip_uncertainty.py +0 -0
  246. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_coordinates.py +0 -0
  247. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_datalib_metsource.py +0 -0
  248. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_dry_advection.py +0 -0
  249. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_dtypes.py +0 -0
  250. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_ecmwf.py +0 -0
  251. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_emissions.py +0 -0
  252. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_flightplan.py +0 -0
  253. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_fuel.py +0 -0
  254. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_geo.py +0 -0
  255. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_gfs.py +0 -0
  256. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_goes.py +0 -0
  257. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_grid_to_netcdf.py +0 -0
  258. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_humidity_scaling.py +0 -0
  259. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_init.py +0 -0
  260. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_interpolation.py +0 -0
  261. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_met.py +0 -0
  262. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_met_cache.py +0 -0
  263. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_pcc.py +0 -0
  264. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_polygons.py +0 -0
  265. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_sac_issr.py +0 -0
  266. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_spire.py +0 -0
  267. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_tau_cirrus.py +0 -0
  268. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_thermo_sac.py +0 -0
  269. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_units.py +0 -0
  270. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_unterstrasser_wake_vortex.py +0 -0
  271. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_utils.py +0 -0
  272. {pycontrails-0.52.1 → pycontrails-0.52.2}/tests/unit/test_zarr.py +0 -0
@@ -30,7 +30,7 @@ jobs:
30
30
  - uses: actions/checkout@v4
31
31
 
32
32
  - name: Run OpenSSF Security Scorecard
33
- uses: ossf/scorecard-action@v2.3.3
33
+ uses: ossf/scorecard-action@v2.4.0
34
34
  with:
35
35
  results_file: results.sarif
36
36
  results_format: sarif
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.52.2
4
+
5
+ ### Breaking changes
6
+
7
+ - Flight antimeridian crossings are now detected based on individual flight segments rather than minimum and maximum longitude values. This allows for correct detection of antimeridian crossings for flights that span more than 180 degrees longitude, and may change the output of `Flight.resample_and_fill` for such flights.
8
+
9
+ ### Features
10
+
11
+ - Add experimental `fill_low_alt_with_isa_temperature` parameter on the `AircraftPerformance` base class. When set to `True`, aircraft performance models with `Flight` sources will fill points below the lowest altitude in the ``met["air_temperature]`` data with the ISA temperature. This is useful when the met data does not extend to the surface. In this case, we can still estimate fuel flow and other performance metrics through the entire climb phase. By default, this parameter is set to `False`.
12
+ - Add experimental `fill_low_altitude_with_zero_wind` parameter on the `AircraftPerformance` base class. When set to `True`, aircraft performance models will estimate the true airspeed at low altitudes by assuming the wind speed is zero.
13
+ - Add convenience `Flight.plot_profile` method.
14
+
15
+ ### Fixes
16
+
17
+ - Fix missing `Fuel Flow Idle (kg/sec)` value in the `1ZM001` engine in the `edb-gaseous-v29b-engines.csv`.
18
+ - Fix the `step_threshold` in `Flight._altitude_interpolation`. This correction is only relevant when passing in a non-default value for `freq` in `Flight.resample_and_fill`.
19
+ - Fix the `VectorDataset.__eq__` method to check for the same keys. Previously, if the other dataset had a superset of the instance keys, the method may still return `True`.
20
+ - Fix minor bug in `cocip.output_formats.radiation_time_slice_statistics` in which the function previously threw an error if `t_end` did not directly align with the time index in the `rad` dataset.
21
+ - Remove the residual constraint in `cocip.output_formats.contrails_to_hi_res_grid` used during debugging.
22
+ - Improve detection of antimeridian crossings for flights that span more than 180 degrees longitude.
23
+
24
+ ### Internals
25
+
26
+ - Improve the runtime performance of `Fleet.to_flight_list`. For a large `Fleet`, this method is now 5x faster.
27
+ - Improve the runtime performance and memory footprint of `Cocip._bundle_results`. When running `Cocip` with a large `Fleet` source, `Cocip.eval` is now slightly faster and uses much less memory.
28
+
3
29
  ## v0.52.1
4
30
 
5
31
  ### Breaking changes
@@ -157,7 +183,7 @@ The Unterstrasser (2016) parameterization can be used in CoCiP by setting a new
157
183
  - Update flight resampling logic to align with expected behavior for very short flights, which is now detailed in the `Flight.resample_and_fill` docstring.
158
184
 
159
185
  ### Internals
160
-
186
+
161
187
  - Adds a parameter to `CoCipParams`, `unterstrasser_ice_survival_fraction`, that activates the Unterstrasser (2016) survival parameterization when set to `True`. This is disabled by default, and only implemented for `CoCiP`. `CoCiPGrid` will produce an error if run with `unterstrasser_ice_surival_fraction=True`.
162
188
  - Modifies `CoCiPGrid` so that setting `compute_atr_20` (defined in `CoCipParams`) to `True` adds `global_yearly_mean_rf` and `atr20` to CoCiP-grid output.
163
189
  - Replaces `pycontrails.datalib.GOES` ash convention label "MIT" with "SEVIRI"
@@ -188,7 +214,7 @@ The Unterstrasser (2016) parameterization can be used in CoCiP by setting a new
188
214
  - Add new `MetDataSource.is_single_level` property.
189
215
  - Add `ecmwf.Divergence` (a subclass of `MetVariable`) for accessing ERA5 divergence data.
190
216
  - Update the [specific humidity interpolation notebook](https://py.contrails.org/notebooks/specific-humidity-interpolation.html) to use the new `ARCOERA5` interface.
191
- - Adds two parameters to `CoCipParams`, `compute_atr20` and `global_rf_to_atr20_factor`. Setting the former to `True` will add both `global_yearly_mean_rf` and `atr20` to the CoCiP output.
217
+ - Adds two parameters to `CoCipParams`, `compute_atr20` and `global_rf_to_atr20_factor`. Setting the former to `True` will add both `global_yearly_mean_rf` and `atr20` to the CoCiP output.
192
218
  - Bump minimum pytest version to 8.1 to avoid failures in release workflow.
193
219
 
194
220
  ## v0.49.5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycontrails
3
- Version: 0.52.1
3
+ Version: 0.52.2
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
@@ -36,7 +36,7 @@ Requires-Dist: xarray>=2022.3
36
36
  Provides-Extra: complete
37
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"
39
+ Requires-Dist: black[jupyter]==24.4.2; 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"
@@ -50,7 +50,7 @@ Requires-Dist: pyarrow>=5.0; extra == "dev"
50
50
  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
- Requires-Dist: ruff==0.4.1; extra == "dev"
53
+ Requires-Dist: ruff==0.5.3; extra == "dev"
54
54
  Requires-Dist: setuptools; extra == "dev"
55
55
  Provides-Extra: docs
56
56
  Requires-Dist: doc8>=1.1; extra == "docs"
@@ -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
 
@@ -6,7 +6,7 @@
6
6
  |---------------|-------------------------------------------------------------------|
7
7
  | **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) |
8
8
  | **Citation** | [![DOI](https://zenodo.org/badge/617248930.svg)](https://zenodo.org/badge/latestdoi/617248930) |
9
- | **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)|
9
+ | **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)|
10
10
  | **License** | [![Apache License 2.0](https://img.shields.io/pypi/l/pycontrails.svg)](https://github.com/contrailcirrus/pycontrails/blob/main/LICENSE) |
11
11
  | **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) |
12
12