pycontrails 0.40.0__tar.gz → 0.40.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.
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/workflows/release.yaml +2 -2
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/workflows/test.yaml +1 -1
- {pycontrails-0.40.0 → pycontrails-0.40.1}/CHANGELOG.md +7 -0
- {pycontrails-0.40.0/pycontrails.egg-info → pycontrails-0.40.1}/PKG-INFO +1 -1
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/_static/pycontrails.bib +63 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/ECMWF.ipynb +33 -8
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/Flight.ipynb +1 -1
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/_version.py +2 -2
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/met.py +14 -6
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/models.py +5 -4
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/rgi_cython.c +140 -140
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/ecmwf/era5.py +24 -5
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/ecmwf/hres.py +29 -5
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/cocip.py +68 -6
- {pycontrails-0.40.0 → pycontrails-0.40.1/pycontrails.egg-info}/PKG-INFO +1 -1
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pyproject.toml +1 -1
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_dtypes.py +6 -1
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/pull_request_template.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/workflows/benchmark.yaml +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/workflows/docs.yaml +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.github/workflows/doctest.yaml +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.gitignore +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.pre-commit-config.yaml +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/.zenodo.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/CONTRIBUTING.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/LICENSE +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/Makefile +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/NOTICE +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/README.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/RELEASE.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/_static/css/style.css +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/_static/img/favicon.png +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/api.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/changelog.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/conf.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/contributing.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/develop.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/ACCF.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/Cache.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/CoCiP.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/ISSR.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/Meteorology.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/SAC.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples/flight.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/examples.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/index.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/install.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/literature.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/tutorials/CoCiP.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/tutorials/flight.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/docs/tutorials.rst +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/cache.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/coordinates.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/datalib.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/fleet.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/flight.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/fuel.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/interpolation.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/met_var.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/polygon.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/rgi_cython.pyx +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/core/vector.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/ecmwf/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/ecmwf/common.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/ecmwf/ifs.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/ecmwf/variables.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/gfs/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/gfs/gfs.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/datalib/gfs/variables.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/ext/bada/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/ext/cirium/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/accf.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/aircraft_performance.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/cocip_params.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/cocip_uncertainty.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/contrail_properties.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/output/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/output/flight_summary.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/output/grid_cirrus.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/radiative_forcing.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/radiative_heating.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/wake_vortex.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocip/wind_shear.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocipgrid/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocipgrid/cocip_grid.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocipgrid/cocip_grid_params.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/cocipgrid/cocip_time_handling.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/emissions/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/emissions/black_carbon.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/emissions/emissions.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/emissions/ffm2.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/emissions/static/edb-gaseous-v28c-engines.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/emissions/static/edb-nvpm-v28c-engines.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/humidity_scaling.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/issr.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/pcc.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/pcr.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/sac.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/models/tau_cirrus.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/physics/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/physics/constants.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/physics/geo.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/physics/jet.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/physics/thermo.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/physics/units.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/py.typed +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/utils/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/utils/iteration.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/utils/json.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/utils/synthetic_flight.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/utils/temp.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails/utils/types.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails.egg-info/SOURCES.txt +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails.egg-info/dependency_links.txt +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails.egg-info/requires.txt +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/pycontrails.egg-info/top_level.txt +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/setup.cfg +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/setup.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/_deprecated.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/Makefile +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/README.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/benchmark.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/compare.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/data.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/output.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip/review.ipynb +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/cocip-fortran/README.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/north-atlantic-study/.gcloudignore +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/north-atlantic-study/README.md +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/north-atlantic-study/support.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/benchmark/north-atlantic-study/validate.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/fixtures/cocip-met.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/fixtures/cocip-met2.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/fixtures/ecmwf-met.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/fixtures/gfs-met.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/__init__.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/conftest.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/NOAA_Solar_Calculations_day.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-contrail-output.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-contrail-output2.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-flight-output.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-flight-output2.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-flight-statistics.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-output-contrail-edges.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/cocip-output-grid-cirrus-summary.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/flight-cocip2.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/flight-meridian.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/flight-metadata.json +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/flight.csv +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-accf-pl.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-accf-sl.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-ecmwf-pl.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-ecmwf-sl.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-era5-cocip1.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-era5-cocip2.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/met-gfs.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/polygon-bug.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/rad-era5-cocip1.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/rad-era5-cocip2.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/static/rad-gfs.nc +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_accf.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_cache.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_cocip.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_cocip_grid.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_cocip_grid_parity.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_cocip_radiative_forcing.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_cocip_uncertainty.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_coordinates.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_datalib.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_ecmwf.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_emissions.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_fleet.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_flight.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_fuel.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_geo.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_gfs.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_grid_to_netcdf.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_humidity_scaling.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_init.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_interpolation.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_met.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_met_cache.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_models.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_pcc.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_polygons.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_sac_issr.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_tau_cirrus.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_thermo_sac.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_units.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_utils.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_vector.py +0 -0
- {pycontrails-0.40.0 → pycontrails-0.40.1}/tests/unit/test_zarr.py +0 -0
|
@@ -50,7 +50,7 @@ jobs:
|
|
|
50
50
|
CIBW_TEST_EXTRAS: "complete,dev"
|
|
51
51
|
CIBW_TEST_COMMAND: >
|
|
52
52
|
mv {project}/pycontrails {project}/pycontrails-bak &&
|
|
53
|
-
python -m pytest {project}/tests &&
|
|
53
|
+
python -m pytest {project}/tests -vv &&
|
|
54
54
|
mv {project}/pycontrails-bak {project}/pycontrails
|
|
55
55
|
|
|
56
56
|
- uses: actions/upload-artifact@v3
|
|
@@ -91,6 +91,7 @@ jobs:
|
|
|
91
91
|
verify-metadata: true
|
|
92
92
|
|
|
93
93
|
upload_pypi:
|
|
94
|
+
if: ${{ github.event_name == 'release' }}
|
|
94
95
|
needs: [build_wheels, build_sdist, check-main-test-status]
|
|
95
96
|
runs-on: ubuntu-latest
|
|
96
97
|
steps:
|
|
@@ -101,7 +102,6 @@ jobs:
|
|
|
101
102
|
|
|
102
103
|
- name: Publish distribution 📦 to PyPI
|
|
103
104
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
104
|
-
if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'release' }}
|
|
105
105
|
with:
|
|
106
106
|
user: __token__
|
|
107
107
|
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
# Changelog
|
|
3
3
|
|
|
4
|
+
## v0.40.1
|
|
5
|
+
|
|
6
|
+
#### Fixes
|
|
7
|
+
|
|
8
|
+
- Use [oldest-supported-numpy](https://pypi.org/project/oldest-supported-numpy/) for building pycontrails wheels. This allows pycontrails to be compatible with environments that use old versions of numpy. The [pycontrails v0.40.0 wheels](https://pypi.org/project/pycontrails/0.40.0/#files) are not compatible with numpy 1.22.
|
|
9
|
+
- Fix a unit test (`test_dtypes.py::test_issr_sac_grid_output`) that occasionally hangs.
|
|
10
|
+
|
|
4
11
|
## v0.40.0
|
|
5
12
|
|
|
6
13
|
Support scipy 1.10, improve interpolation performance, and fix many windows issues.
|
|
@@ -382,6 +382,22 @@
|
|
|
382
382
|
langid = {english}
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
+
@inproceedings{schumannContrailCirrusPrediction2010,
|
|
386
|
+
title = {A Contrail Cirrus Prediction Tool},
|
|
387
|
+
booktitle = {Proceedings of the 2nd {{International Conference}} on {{Transport}}, {{Atmosphere}} and {{Climate}} ({{TAC-2}})},
|
|
388
|
+
author = {Schumann, Ulrich},
|
|
389
|
+
editor = {Sausen, Robert and van Velthoven, Peter F. J. and Br{\"u}ning, Claus and Blum, Anja},
|
|
390
|
+
year = {2010},
|
|
391
|
+
volume = {2010--10},
|
|
392
|
+
pages = {69--74},
|
|
393
|
+
publisher = {{DLR}},
|
|
394
|
+
address = {{Aachen, Germany and Maastricht, The Netherlands}},
|
|
395
|
+
issn = {1434-8454},
|
|
396
|
+
urldate = {2023-04-16},
|
|
397
|
+
abstract = {An new ``Contrail Cirrus Prediction Tool'' (CoCiP) has been developed to simulate contrail cirrus resulting from a single flight as well as from a fleet of cruising aircraft, flight by flight, regionally or globally. The method predicts contrail cirrus for given air traffic and weather prediction data. The method describes the life cycle of each contrail individually using a Lagrangian Gaussian plume model with simple bulk contrail ice properties, without feedback to meteorology. Contrails are initiated when the Schmidt-Appleman criterion is satisfied and when the ambient atmosphere is humid enough to allow for contrail persistence. The initial plume properties reflect properties of the originating aircraft. The evolution of individual contrails of cruising aircraft is computed using wind, temperature, humidity, and ice water content from numerical weather prediction (NWP) output. The plume trajectory follows horizontal and vertical wind. The model simulates shear and turbulence driven spreading, ice water content as a function of ice supersaturation, and some ice particle loss processes (turbulent mixing, aggregation and sedimentation). Radiative cloud forcing is estimated for the sum of all contrails using radiative fluxes without contrails from NWP output. The tool is kept simple to allow for efficient contrail simulations. The method has been tested for case studies with some comparisons to observations. The most critical input parameter is the NWP humidity field. The results compare favourably with observations and support interpretations of insitu, satellite and lidar observed aviation impact on cirrus clouds. CoCiP can be used to predict and minimize the climate impact of contrails.},
|
|
398
|
+
langid = {english}
|
|
399
|
+
}
|
|
400
|
+
|
|
385
401
|
@article{schumannContrailCirrusPrediction2012,
|
|
386
402
|
title = {A Contrail Cirrus Prediction Model},
|
|
387
403
|
author = {Schumann, U.},
|
|
@@ -431,6 +447,23 @@
|
|
|
431
447
|
langid = {english}
|
|
432
448
|
}
|
|
433
449
|
|
|
450
|
+
@inproceedings{schumannDeterminationContrailsSatellite1990,
|
|
451
|
+
title = {Determination of {{Contrails}} from {{Satellite Data}} and {{Observational Results}}},
|
|
452
|
+
booktitle = {Air {{Traffic}} and the {{Environment}} \textemdash{} {{Background}}, {{Tendencies}} and {{Potential Global Atmospheric Effects}}},
|
|
453
|
+
author = {Schumann, U. and Wendling, P.},
|
|
454
|
+
editor = {Schumann, U.},
|
|
455
|
+
year = {1990},
|
|
456
|
+
series = {Lecture {{Notes}} in {{Engineering}}},
|
|
457
|
+
pages = {138--153},
|
|
458
|
+
publisher = {{Springer}},
|
|
459
|
+
address = {{Berlin, Heidelberg}},
|
|
460
|
+
doi = {10.1007/978-3-642-51686-3_9},
|
|
461
|
+
abstract = {Condensation trails (contrails) from air traffic in the upper troposphere may have an effect on the earth's climate. We first discuss the state of knowledge. Then some results of radiation transfer calculations are reported which help to estimate the order of magnitude of the effects of cirrus clouds and water vapour in comparison to doubling of the concentration of CO2. The main part of the paper describes the analysis of contrails from satellite data. Based on NOAA-AVHRR data we present results for a specific case where contrails covered a few percent of a region including southern Germany and the Alps. Preliminary results are reported for 99 further cases. A pattern recognition method is described to identify contrails and the related cloud cover automatically. Laser observations reflect contrail cross-sections which are several km in width and about 700 m thick. The optical thickness reaches values up to 1.},
|
|
462
|
+
isbn = {978-3-642-51686-3},
|
|
463
|
+
langid = {english},
|
|
464
|
+
keywords = {Advanced Very High Resolution Radiometer,Cloud Cover,Optical Thickness,Sunshine Duration}
|
|
465
|
+
}
|
|
466
|
+
|
|
434
467
|
@article{schumannEffectiveRadiusIce2011,
|
|
435
468
|
title = {Effective {{Radius}} of {{Ice Particles}} in {{Cirrus}} and {{Contrails}}},
|
|
436
469
|
author = {Schumann, U. and Mayer, B. and Gierens, K. and Unterstrasser, S. and Jessberger, P. and Petzold, A. and Voigt, C. and Gayet, J.-F.},
|
|
@@ -496,6 +529,19 @@
|
|
|
496
529
|
langid = {english}
|
|
497
530
|
}
|
|
498
531
|
|
|
532
|
+
@incollection{schumannPotentialReduceClimate2011a,
|
|
533
|
+
title = {Potential to Reduce the Climate Impact of Aviation by Flight Level Changes},
|
|
534
|
+
booktitle = {3rd {{AIAA Atmospheric Space Environments Conference}}},
|
|
535
|
+
author = {Schumann, Ulrich and Graf, Kaspar and Mannstein, Hermann},
|
|
536
|
+
year = {2011},
|
|
537
|
+
month = jun,
|
|
538
|
+
series = {Fluid {{Dynamics}} and {{Co-located Conferences}}},
|
|
539
|
+
publisher = {{American Institute of Aeronautics and Astronautics}},
|
|
540
|
+
doi = {10.2514/6.2011-3376},
|
|
541
|
+
urldate = {2023-04-16},
|
|
542
|
+
keywords = {Aviation,Base of Aircraft Data,Contrails,Cruise Altitude,Earth,Earth Atmosphere,Fuel Consumption,Greenhouse Effect,Numerical Weather Prediction,Optical Depth}
|
|
543
|
+
}
|
|
544
|
+
|
|
499
545
|
@article{schumannPropertiesIndividualContrails2017,
|
|
500
546
|
title = {Properties of Individual Contrails: A Compilation of Observations and Some Comparisons},
|
|
501
547
|
shorttitle = {Properties of Individual Contrails},
|
|
@@ -678,6 +724,23 @@
|
|
|
678
724
|
howpublished = {http://solardat.uoregon.edu/SolarRadiationBasics.html}
|
|
679
725
|
}
|
|
680
726
|
|
|
727
|
+
@article{voigtInsituObservationsYoung2010,
|
|
728
|
+
title = {In-Situ Observations of Young Contrails \textendash{} Overview and Selected Results from the {{CONCERT}} Campaign},
|
|
729
|
+
author = {Voigt, C. and Schumann, U. and Jurkat, T. and Sch{\"a}uble, D. and Schlager, H. and Petzold, A. and Gayet, J.-F. and Kr{\"a}mer, M. and Schneider, J. and Borrmann, S. and Schmale, J. and Jessberger, P. and Hamburger, T. and Lichtenstern, M. and Scheibe, M. and Gourbeyre, C. and Meyer, J. and K{\"u}bbeler, M. and Frey, W. and Kalesse, H. and Butler, T. and Lawrence, M. G. and Holz{\"a}pfel, F. and Arnold, F. and Wendisch, M. and D{\"o}pelheuer, A. and Gottschaldt, K. and Baumann, R. and Z{\"o}ger, M. and S{\"o}lch, I. and Rautenhaus, M. and D{\"o}rnbrack, A.},
|
|
730
|
+
year = {2010},
|
|
731
|
+
month = sep,
|
|
732
|
+
journal = {Atmospheric Chemistry and Physics},
|
|
733
|
+
volume = {10},
|
|
734
|
+
number = {18},
|
|
735
|
+
pages = {9039--9056},
|
|
736
|
+
publisher = {{Copernicus GmbH}},
|
|
737
|
+
issn = {1680-7316},
|
|
738
|
+
doi = {10.5194/acp-10-9039-2010},
|
|
739
|
+
urldate = {2023-04-16},
|
|
740
|
+
abstract = {Lineshaped contrails were detected with the research aircraft Falcon during the CONCERT \textendash{} CONtrail and Cirrus ExpeRimenT \textendash{} campaign in October/November 2008. The Falcon was equipped with a set of instruments to measure the particle size distribution, shape, extinction and chemical composition as well as trace gas mixing ratios of sulfur dioxide (SO2), reactive nitrogen and halogen species (NO, NOy, HNO3, HONO, HCl), ozone (O3) and carbon monoxide (CO). During 12 mission flights over Europe, numerous contrails, cirrus clouds and a volcanic aerosol layer were probed at altitudes between 8.5 and 11.6 km and at temperatures above 213 K. 22 contrails from 11 different aircraft were observed near and below ice saturation. The observed NO mixing ratios, ice crystal and soot number densities are compared to a process based contrail model. On 19 November 2008 the contrail from a CRJ-2 aircraft was penetrated in 10.1 km altitude at a temperature of 221 K. The contrail had mean ice crystal number densities of 125 cm-3 with effective radii reff of 2.6 {$\mu$}m. The presence of particles with r{$>$}50 {$\mu$}m in the less than 2 min old contrail suggests that natural cirrus crystals were entrained in the contrail. Mean HONO/NO (HONO/NOy) ratios of 0.037 (0.024) and the fuel sulfur conversion efficiency to H2SO4 (\εS{$\downarrow$}) of 2.9 \% observed in the CRJ-2 contrail are in the range of previous measurements in the gaseous aircraft exhaust. On 31 October 2010 aviation NO emissions could have contributed by more than 40\% to the regional scale NO levels in the mid-latitude lowest stratosphere. The CONCERT observations help to better quantify the climate impact from contrails and will be used to investigate the chemical processing of trace gases on contrails.},
|
|
741
|
+
langid = {english}
|
|
742
|
+
}
|
|
743
|
+
|
|
681
744
|
@article{wasiukAircraftPerformanceModel2015,
|
|
682
745
|
title = {An Aircraft Performance Model Implementation for the Estimation of Global and Regional Commercial Aviation Fuel Burn and Emissions},
|
|
683
746
|
author = {Wasiuk, D. K. and Lowenberg, M. H. and Shallcross, D. E.},
|
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
"\n",
|
|
15
15
|
"Support provided for:\n",
|
|
16
16
|
"\n",
|
|
17
|
-
"- [ERA5](https://www.ecmwf.int/en/forecasts/dataset/ecmwf-reanalysis-v5) via the [Copernicus Data Store (CDS)](https://cds.climate.copernicus.eu/)
|
|
18
|
-
"- [HRES](https://confluence.ecmwf.int/display/FUG/HRES+-+High-Resolution+Forecast) and [ENS](https://confluence.ecmwf.int/display/FUG/ENS+-+Ensemble+Forecasts?src=contextnavpagetreemode) via [MARS](https://confluence.ecmwf.int/display/UDOC/MARS+user+documentation)
|
|
19
|
-
"- [IFS](https://www.ecmwf.int/en/publications/ifs-documentation) for locally downloaded files\n"
|
|
17
|
+
"- [ERA5](https://www.ecmwf.int/en/forecasts/dataset/ecmwf-reanalysis-v5) via the [Copernicus Data Store (CDS)](https://cds.climate.copernicus.eu/) using [cdsapi](https://github.com/ecmwf/cdsapi) or user provided files\n",
|
|
18
|
+
"- [HRES](https://confluence.ecmwf.int/display/FUG/HRES+-+High-Resolution+Forecast) and [ENS](https://confluence.ecmwf.int/display/FUG/ENS+-+Ensemble+Forecasts?src=contextnavpagetreemode) via [MARS](https://confluence.ecmwf.int/display/UDOC/MARS+user+documentation) using [ecmwf-api-client](https://github.com/ecmwf/ecmwf-api-client) or user provided files"
|
|
20
19
|
]
|
|
21
20
|
},
|
|
22
21
|
{
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
"### Access\n",
|
|
29
28
|
"\n",
|
|
30
29
|
"- Requires account with [Copernicus Data Portal](https://cds.climate.copernicus.eu/cdsapp#!/home)\n",
|
|
31
|
-
"-
|
|
30
|
+
"- Provide `url` and `key` credentials on input, or refer to the [CDS API Documentation](https://github.com/ecmwf/cdsapi#configure) for how to create `~/.cdsapirc` file to configure access.\n",
|
|
32
31
|
"\n",
|
|
33
32
|
"### Reference\n",
|
|
34
33
|
"\n",
|
|
@@ -82,6 +81,8 @@
|
|
|
82
81
|
" time=\"2022-03-01 00:00:00\",\n",
|
|
83
82
|
" variables=[\"t\", \"q\", \"u\", \"v\", \"w\", \"ciwc\", \"z\", \"cc\"], # supports CF name or short names\n",
|
|
84
83
|
" pressure_levels=[300, 250, 200],\n",
|
|
84
|
+
" # url=\"https://cds.climate.copernicus.eu/api/v2\",\n",
|
|
85
|
+
" # key=\"<key>\"\n",
|
|
85
86
|
")\n",
|
|
86
87
|
"era5"
|
|
87
88
|
]
|
|
@@ -123,6 +124,8 @@
|
|
|
123
124
|
" \"cc\",\n",
|
|
124
125
|
" ], # supports CF name or short names\n",
|
|
125
126
|
" pressure_levels=[300, 250, 200],\n",
|
|
127
|
+
" # url=\"https://cds.climate.copernicus.eu/api/v2\",\n",
|
|
128
|
+
" # key=\"<key>\"\n",
|
|
126
129
|
")\n",
|
|
127
130
|
"era5"
|
|
128
131
|
]
|
|
@@ -1412,7 +1415,12 @@
|
|
|
1412
1415
|
}
|
|
1413
1416
|
],
|
|
1414
1417
|
"source": [
|
|
1415
|
-
"era5 = ERA5(
|
|
1418
|
+
"era5 = ERA5(\n",
|
|
1419
|
+
" time=(\"2022-03-01 00:00:00\", \"2022-03-01 03:00:00\"),\n",
|
|
1420
|
+
" variables=[\"tsr\", \"ttr\"],\n",
|
|
1421
|
+
" # url=\"https://cds.climate.copernicus.eu/api/v2\",\n",
|
|
1422
|
+
" # key=\"<key>\"\n",
|
|
1423
|
+
")\n",
|
|
1416
1424
|
"era5"
|
|
1417
1425
|
]
|
|
1418
1426
|
},
|
|
@@ -2061,7 +2069,7 @@
|
|
|
2061
2069
|
"Users within ECMWF Member and Co-operating States may contact their Computing Representative to obtain access to MARS. \n",
|
|
2062
2070
|
"All other users may [request a username and password](https://accounts.ecmwf.int/auth/realms/ecmwf/protocol/openid-connect/registrations?client_id=apps&response_type=code&scope=openid%20email&redirect_uri=https://www.ecmwf.int) and then [get an api key](https://api.ecmwf.int/v1/key/).\n",
|
|
2063
2071
|
"\n",
|
|
2064
|
-
"
|
|
2072
|
+
"Provide `url`, `key`, and `email` credentials on input, or see [ECMWF API Client documentation](https://github.com/ecmwf/ecmwf-api-client#configure) to configure local `~/.ecmwfapirc` file:\n",
|
|
2065
2073
|
"\n",
|
|
2066
2074
|
"```json\n",
|
|
2067
2075
|
"{\n",
|
|
@@ -2073,7 +2081,7 @@
|
|
|
2073
2081
|
"\n",
|
|
2074
2082
|
"### Reference\n",
|
|
2075
2083
|
"\n",
|
|
2076
|
-
"- [HRES](https://confluence.ecmwf.int/display/FUG/HRES+-+High-Resolution+Forecast)
|
|
2084
|
+
"- [HRES](https://confluence.ecmwf.int/display/FUG/HRES+-+High-Resolution+Forecast) High resolution forecast\n",
|
|
2077
2085
|
"- [ENS](https://confluence.ecmwf.int/display/FUG/ENS+-+Ensemble+Forecasts?src=contextnavpagetreemode) Ensemble forecast"
|
|
2078
2086
|
]
|
|
2079
2087
|
},
|
|
@@ -2127,6 +2135,9 @@
|
|
|
2127
2135
|
" variables=[\"t\", \"q\", \"u\", \"v\", \"w\", \"z\"],\n",
|
|
2128
2136
|
" pressure_levels=[300, 250, 200],\n",
|
|
2129
2137
|
" grid=1,\n",
|
|
2138
|
+
" # url=\"https://api.ecmwf.int/v1\",\n",
|
|
2139
|
+
" # key=\"<key>\"\n",
|
|
2140
|
+
" # email=\"<email>\"\n",
|
|
2130
2141
|
")\n",
|
|
2131
2142
|
"hres"
|
|
2132
2143
|
]
|
|
@@ -3240,7 +3251,14 @@
|
|
|
3240
3251
|
"metadata": {},
|
|
3241
3252
|
"outputs": [],
|
|
3242
3253
|
"source": [
|
|
3243
|
-
"hres = HRES(
|
|
3254
|
+
"hres = HRES(\n",
|
|
3255
|
+
" time=time,\n",
|
|
3256
|
+
" variables=[\"tsr\", \"ttr\"],\n",
|
|
3257
|
+
" grid=1,\n",
|
|
3258
|
+
" # url=\"https://api.ecmwf.int/v1\",\n",
|
|
3259
|
+
" # key=\"<key>\"\n",
|
|
3260
|
+
" # email=\"<email>\"\n",
|
|
3261
|
+
")"
|
|
3244
3262
|
]
|
|
3245
3263
|
},
|
|
3246
3264
|
{
|
|
@@ -3934,6 +3952,9 @@
|
|
|
3934
3952
|
" variables=[\"t\", \"q\"],\n",
|
|
3935
3953
|
" pressure_levels=[300, 250, 200],\n",
|
|
3936
3954
|
" forecast_time=\"2022-03-25 12:00:00\",\n",
|
|
3955
|
+
" # url=\"https://api.ecmwf.int/v1\",\n",
|
|
3956
|
+
" # key=\"<key>\"\n",
|
|
3957
|
+
" # email=\"<email>\"\n",
|
|
3937
3958
|
")\n",
|
|
3938
3959
|
"hres"
|
|
3939
3960
|
]
|
|
@@ -3944,6 +3965,8 @@
|
|
|
3944
3965
|
"source": [
|
|
3945
3966
|
"## IFS\n",
|
|
3946
3967
|
"\n",
|
|
3968
|
+
"> In development\n",
|
|
3969
|
+
"\n",
|
|
3947
3970
|
"Integrated Forecasting System from ECMWF\n",
|
|
3948
3971
|
"\n",
|
|
3949
3972
|
"- [IFS Documentation](https://www.ecmwf.int/en/publications/ifs-documentation)\n",
|
|
@@ -4118,6 +4141,8 @@
|
|
|
4118
4141
|
" variables=variables,\n",
|
|
4119
4142
|
" pressure_levels=[300, 250, 150],\n",
|
|
4120
4143
|
" cachestore=gcp,\n",
|
|
4144
|
+
" # url=\"https://cds.climate.copernicus.eu/api/v2\",\n",
|
|
4145
|
+
" # key=\"<key>\"\n",
|
|
4121
4146
|
")"
|
|
4122
4147
|
]
|
|
4123
4148
|
},
|
|
@@ -94,7 +94,14 @@ class MetBase(ABC, Generic[XArrayType]):
|
|
|
94
94
|
"""
|
|
95
95
|
for dim in self.dim_order:
|
|
96
96
|
if dim not in self.data.dims:
|
|
97
|
-
|
|
97
|
+
if dim == "level":
|
|
98
|
+
raise ValueError(
|
|
99
|
+
f"Meteorology data must contain dimension '{dim}'. "
|
|
100
|
+
"For single level data, set 'level' coordinate to constant -1 "
|
|
101
|
+
"using `ds = ds.expand_dims({'level': [-1]})`"
|
|
102
|
+
)
|
|
103
|
+
else:
|
|
104
|
+
raise ValueError(f"Meteorology data must contain dimension '{dim}'.")
|
|
98
105
|
|
|
99
106
|
def _validate_longitude(self) -> None:
|
|
100
107
|
"""Check longitude bounds.
|
|
@@ -220,11 +227,12 @@ class MetBase(ABC, Generic[XArrayType]):
|
|
|
220
227
|
def _preprocess_dims(self, wrap_longitude: bool) -> None:
|
|
221
228
|
"""Confirm DataArray or Dataset include required dimension in a consistent format.
|
|
222
229
|
|
|
223
|
-
Expects DataArray or Dataset to contain dimensions
|
|
224
|
-
and
|
|
225
|
-
and ``altitude`` coordinates
|
|
230
|
+
Expects DataArray or Dataset to contain dimensions ``latitude`, ``longitude``, ``time``,
|
|
231
|
+
and ``level`` (in hPa/mbar).
|
|
232
|
+
Adds additional coordinate variables ``air_pressure`` and ``altitude`` coordinates
|
|
233
|
+
mapped to "level" dimension if "level" > 0.
|
|
226
234
|
|
|
227
|
-
Set
|
|
235
|
+
Set ``level`` to -1 to signify single level.
|
|
228
236
|
|
|
229
237
|
.. versionchanged:: 0.40.0
|
|
230
238
|
|
|
@@ -280,7 +288,7 @@ class MetBase(ABC, Generic[XArrayType]):
|
|
|
280
288
|
dim_order = self.dim_order + [d for d in self.data.dims if d not in self.dim_order]
|
|
281
289
|
self.data = self.data.transpose(*dim_order)
|
|
282
290
|
|
|
283
|
-
#
|
|
291
|
+
# single level data
|
|
284
292
|
if self.is_single_level:
|
|
285
293
|
# add level attributes to reflect surface level
|
|
286
294
|
self.data["level"].attrs.update(units="", long_name="Single Level")
|
|
@@ -147,12 +147,13 @@ class Model(ABC):
|
|
|
147
147
|
#: Require meteorology is not None on __init__()
|
|
148
148
|
met_required: bool = False
|
|
149
149
|
|
|
150
|
-
#: Required meteorology variables
|
|
151
|
-
#: Each element in the list is a MetVariable or a
|
|
152
|
-
#: If a
|
|
150
|
+
#: Required meteorology pressure level variables.
|
|
151
|
+
#: Each element in the list is a :class:`MetVariable` or a ``tuple[MetVariable]``.
|
|
152
|
+
#: If element is a ``tuple[MetVariable]``, the variable depends on the data source.
|
|
153
|
+
#: Only one variable in the tuple is required.
|
|
153
154
|
met_variables: tuple[MetVariable | tuple[MetVariable, ...], ...]
|
|
154
155
|
|
|
155
|
-
#:
|
|
156
|
+
#: Set of required parameters if processing already complete on ``met`` input.
|
|
156
157
|
processed_met_variables: tuple[MetVariable, ...]
|
|
157
158
|
|
|
158
159
|
#: Optional meteorology variables
|