Skip to content

v0.54.3

Compare
Choose a tag to compare
@zebengberg zebengberg released this 21 Nov 21:43
· 113 commits to main since this release

Breaking changes

  • Update the default load factor from 70% to 83% to be consistent with historical data. This is used whenever an aircraft performance model is run without a specified load factor.
  • By default, the CocipGrid.create_source static method will return latitude values from -90 to 90 degrees. This change is motivated by the new advection scheme used near the poles. Previously, this method returned latitude values from -80 to 80 degrees.

Features

  • Create new function ps_grid.ps_nominal_optimize_mach which computes the optimal mach number given a set of operating conditions.
  • Add a new jet.aircraft_load_factor function to estimate aircraft (passenger/cargo) load factor based on historical monthly and regional load factors provided by IATA. This improves upon the default load factor assumption. Historical load factor databases will be continuously updated as new data is released.
  • Use a 2D Cartesian-like plane to advect particles near the poles (>80° in latitude) to avoid numerical instabilities and singularities caused by convergence of meridians. This new advection scheme is used for contrail advection in the Cocip, CocipGrid, and DryAdvection models. See the geo.advect_horizontal function for more details.

Fixes

  • Ensure the fuel type is preserved when calling Flight.resample_and_fill.
  • Update the CLIMaCCF dependency to pull the head of the main branch in CLIMaCCF. Update the installation instructions.
  • Update the ACCFParams.forecast_step to None, which allows CLIMaCCF to automatically determine the forecast step based on the met data.
  • Update the ACCF NOx parameter for the latest CLIMaCCF version.
  • Ensure a custom "horizontal_resolution" param passed into ACCF is not overwritten.
  • Remove duplicated variable in ACCF.met_variables.
  • Allow the ACCF model to accept relative humidity as a percentage or as a proportion.
  • Include ecmwf.RelativeHumidity in ACCF.met_variables so that ERA5(..., variables=ACCF.met_variables) no longer raises an error.

Internals

  • Improve computation of mach limits to accept vectorized input/output.
  • Test against python 3.13 in the GitHub Actions CI. Use python 3.13 in the docs and doctest workflows.
  • Publish to PyPI using trusted publishing.
  • Update pycontrails-bada installation instructions. Install pycontrails-bada from GCP artifact repository in the test workflow.
  • Floor the pycontrails version when running the docs workflow. This ensures that the hosted documentation references the last stable release.
  • Update literature and bibliography in the documentation.
  • Move the engine_deterioration_factor from PSFlightParams to AircraftPerformanceParams so it can be used by both the PS model and BADA.
  • Include engine_deterioration_factor in AircraftPerformanceGridParams.