metrust 0.4.1__tar.gz → 0.4.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.
- {metrust-0.4.1 → metrust-0.4.2}/Cargo.lock +1 -1
- {metrust-0.4.1 → metrust-0.4.2}/Cargo.toml +1 -1
- {metrust-0.4.1 → metrust-0.4.2}/PKG-INFO +3 -3
- {metrust-0.4.1 → metrust-0.4.2}/README.md +2 -2
- {metrust-0.4.1 → metrust-0.4.2}/docs/compatibility.md +3 -3
- {metrust-0.4.1 → metrust-0.4.2}/docs/guides/migration.md +1 -1
- {metrust-0.4.1 → metrust-0.4.2}/docs/index.md +4 -4
- {metrust-0.4.1 → metrust-0.4.2}/pyproject.toml +1 -1
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/calc/__init__.py +2959 -949
- {metrust-0.4.1 → metrust-0.4.2}/tests/test_metpy_dropin_compat.py +2 -2
- metrust-0.4.2/tests/test_runtime_parity.py +442 -0
- metrust-0.4.2/tests/test_runtime_parity_interp_dataset.py +242 -0
- metrust-0.4.2/tests/test_runtime_parity_kinematics_extra.py +248 -0
- metrust-0.4.2/tests/test_runtime_parity_remaining.py +93 -0
- metrust-0.4.2/tests/test_runtime_parity_sounding_core.py +204 -0
- metrust-0.4.2/tests/test_runtime_parity_thermo_layers.py +251 -0
- metrust-0.4.2/tests/test_runtime_parity_utils_misc.py +226 -0
- metrust-0.4.2/tests/test_runtime_parity_wind_profiles.py +277 -0
- metrust-0.4.2/tests/test_signature_parity.py +53 -0
- {metrust-0.4.1 → metrust-0.4.2}/.github/workflows/ci.yml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/.github/workflows/docs.yml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/.github/workflows/release.yml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/.gitignore +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/BENCHMARKS.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/VERIFICATION.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/benches/bench_hrrr.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/benches/bench_hrrr_vs_metpy.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/benches/bench_python.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/Cargo.toml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/benches/calc_bench.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/atmo.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/kinematics.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/severe.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/smooth.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/thermo.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/utils.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/calc/wind.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/constants.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/interpolate/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/gempak.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/gempak_dm.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/gempak_sounding.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/gempak_surface.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/gini.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/level3.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/metar.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/station.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/io/wpc.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/lib.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/plots/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/projections.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/src/units.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/tests/test_gempak.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/metrust/tests/test_new_functions.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/Cargo.toml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/composite.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/cache.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/catalog.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/client.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/fallback.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/idx.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/sources.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/download/streaming.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/dynamics.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/error.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/grid.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/ops.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/parser.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/search.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/streaming.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/tables.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/tests.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/unpack.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/grib2/writer.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/gridmath.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/lib.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/metfuncs.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/cfs.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/ecmwf.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/era5.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/gefs.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/gfs.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/href.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/hrrr.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/hrrr_ak.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/latest.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/mrms.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/nam.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/nbm.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/rap.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/rrfs.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/rtma.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/sref.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/urma.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/models/wpc.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/products.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/projection.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/regrid.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/ansi.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/colormap.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/contour.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/cross_section.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/encode.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/filled_contour.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/hodograph.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/mod.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/overlay.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/raster.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/skewt.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-core/src/render/station.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/Cargo.toml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/error.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/field.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/lib.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/meta.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/projection.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/radial.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/site.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/sounding.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-field/src/time.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/Cargo.toml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/composite.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/dynamics.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/gridmath.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/interpolate.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/lib.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/regrid.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-math/src/thermo.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/Cargo.toml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/cells.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/color_table.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/derived.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/detection.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/level2.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/lib.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/products.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/render.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/crates/wx-radar/src/sites.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/demos/hrrr_diffusion_training.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/atmospheric.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/grid-composites.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/io.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/kinematics.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/moisture.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/severe.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/smoothing.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/thermodynamics.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/units.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/api/wind.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/guides/arrays.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/guides/installation.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/architecture.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/grid-kinematics.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/index.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/interpolation.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/io-formats.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/metpy-compatibility.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/moisture.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/parallelism.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/severe-weather.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/smoothing.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/thermodynamics.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/units-and-pint.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/methodology/wind.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/performance.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/tutorials/first-grid.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/tutorials/first-sounding.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/tutorials/reading-the-numbers.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/tutorials/recipes.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/docs/tutorials/weather-101.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/examples/cookbook_500hpa_grid.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/examples/cookbook_sounding.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/examples/sounderpy_dropin.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/mkdocs.yml +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/__init__.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/constants/__init__.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/interpolate/__init__.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/io/__init__.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/plots/__init__.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/units.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/python/metrust/xarray.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/lib.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_atmo.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_constants.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_interpolate.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_io.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_kinematics.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_severe.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_smooth.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_thermo.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_utils.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/src/py_wind.rs +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/api_audit_calc.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/api_audit_other.md +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmark.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmark_gpu.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_01_hrrr_severe.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_02_gfs_upper_air.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_03_rap_warm_front.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_04_nam_winter.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_05_hrrr_supercell.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_06_gfs_jet.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_07_hrrr_fire.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_08_era5_tropical.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_09_rap_aviation.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_10_hrrr_squall.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_11_gfs_cold_air.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/benchmarks/bench_12_hrrr_pbl.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/sounding_3way.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/sounding_comparison.png +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/test_gpu_backend.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/test_python_compat.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_constants.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_edge_cases.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_kinematics.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_severe_atmo.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_smooth_interp.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_thermo.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_units.py +0 -0
- {metrust-0.4.1 → metrust-0.4.2}/tests/verify_wind.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metrust
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Intended Audience :: Science/Research
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -54,7 +54,7 @@ pip install metrust metpy
|
|
|
54
54
|
|
|
55
55
|
## What It Does
|
|
56
56
|
|
|
57
|
-
metrust implements every function in `metpy.calc` with a Rust backend compiled via PyO3. The Python API is designed for MetPy-compatible units, return types, and
|
|
57
|
+
metrust implements every function in `metpy.calc` with a Rust backend compiled via PyO3. The Python API now matches MetPy's public `metpy.calc` signatures and is designed for MetPy-compatible units, return types, and runtime behavior on the shared calculation surface:
|
|
58
58
|
|
|
59
59
|
```python
|
|
60
60
|
import numpy as np
|
|
@@ -231,7 +231,7 @@ These forward to MetPy when installed:
|
|
|
231
231
|
- `metrust.xarray` (xarray accessor)
|
|
232
232
|
- `metrust.io.Level2File` (NEXRAD Level II)
|
|
233
233
|
|
|
234
|
-
Core `metrust.calc`
|
|
234
|
+
Core `metrust.calc` stays native Rust by default with no required MetPy dependency. A small parity-sensitive subset may delegate to MetPy when it is installed; otherwise those paths still fall back to local metrust implementations. The optional `met-cu` backend is an explicit accelerator, not a requirement.
|
|
235
235
|
|
|
236
236
|
## Examples
|
|
237
237
|
|
|
@@ -30,7 +30,7 @@ pip install metrust metpy
|
|
|
30
30
|
|
|
31
31
|
## What It Does
|
|
32
32
|
|
|
33
|
-
metrust implements every function in `metpy.calc` with a Rust backend compiled via PyO3. The Python API is designed for MetPy-compatible units, return types, and
|
|
33
|
+
metrust implements every function in `metpy.calc` with a Rust backend compiled via PyO3. The Python API now matches MetPy's public `metpy.calc` signatures and is designed for MetPy-compatible units, return types, and runtime behavior on the shared calculation surface:
|
|
34
34
|
|
|
35
35
|
```python
|
|
36
36
|
import numpy as np
|
|
@@ -207,7 +207,7 @@ These forward to MetPy when installed:
|
|
|
207
207
|
- `metrust.xarray` (xarray accessor)
|
|
208
208
|
- `metrust.io.Level2File` (NEXRAD Level II)
|
|
209
209
|
|
|
210
|
-
Core `metrust.calc`
|
|
210
|
+
Core `metrust.calc` stays native Rust by default with no required MetPy dependency. A small parity-sensitive subset may delegate to MetPy when it is installed; otherwise those paths still fall back to local metrust implementations. The optional `met-cu` backend is an explicit accelerator, not a requirement.
|
|
211
211
|
|
|
212
212
|
## Examples
|
|
213
213
|
|
|
@@ -10,9 +10,9 @@ in Rust versus what it delegates to MetPy.
|
|
|
10
10
|
metrust is a MetPy-compatible calculation layer for `metpy.calc`, backed by a compiled Rust
|
|
11
11
|
engine (`_metrust`). The compatibility model has three tiers:
|
|
12
12
|
|
|
13
|
-
Function coverage in the tables below is a functionality matrix
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
Function coverage in the tables below is a functionality matrix. Public `metpy.calc` signatures now
|
|
14
|
+
match MetPy, and the compatibility tests cover explicit runtime regression cases on the shared
|
|
15
|
+
calculation surface.
|
|
16
16
|
|
|
17
17
|
| Tier | Description |
|
|
18
18
|
|------|-------------|
|
|
@@ -19,7 +19,7 @@ from metrust.units import units
|
|
|
19
19
|
|
|
20
20
|
That is the entire change for most code. Every function in `metrust.calc`
|
|
21
21
|
accepts the same Pint Quantity inputs and returns Pint Quantity outputs, using
|
|
22
|
-
the same function names and the same positional/keyword signatures as MetPy.
|
|
22
|
+
the same function names and the same public positional/keyword signatures as MetPy.
|
|
23
23
|
|
|
24
24
|
A project-wide find-and-replace from `metpy.` to `metrust.` is usually
|
|
25
25
|
sufficient. The table below shows the namespace mapping:
|
|
@@ -53,7 +53,7 @@ The surface is identical. Under the hood, every calculation runs through compile
|
|
|
53
53
|
|
|
54
54
|
### 150/150 MetPy Calc Functions (Plus 36 Extras)
|
|
55
55
|
|
|
56
|
-
Every function in `metpy.calc` has a metrust equivalent -- 100% API coverage. Plus 36 additional functions MetPy doesn't have (grid composites, fire weather indices, and more). The
|
|
56
|
+
Every function in `metpy.calc` has a metrust equivalent -- 100% API coverage. Plus 36 additional functions MetPy doesn't have (grid composites, fire weather indices, and more). The calculation layer is Rust-backed by default, with a small parity-sensitive subset optionally delegating to MetPy when it is installed.
|
|
57
57
|
Coverage spans the core of operational meteorology:
|
|
58
58
|
|
|
59
59
|
- **Thermodynamics** -- potential temperature, equivalent potential temperature, virtual temperature, wet-bulb temperature, LCL, LFC, EL, CAPE/CIN, parcel profiles, precipitable water, thickness hydrostatic, stability indices
|
|
@@ -149,8 +149,8 @@ All `metrust.calc` functions compile to native machine code through the Rust too
|
|
|
149
149
|
|
|
150
150
|
### No MetPy Dependency for Calculations
|
|
151
151
|
|
|
152
|
-
`pip install metrust` pulls in **only** NumPy and Pint. The
|
|
153
|
-
MetPy
|
|
152
|
+
`pip install metrust` pulls in **only** NumPy and Pint. The calculation layer stays self-contained by default.
|
|
153
|
+
A small parity-sensitive subset of `metrust.calc` can delegate to MetPy when MetPy is installed, but the default path remains the Rust backend.
|
|
154
154
|
|
|
155
155
|
### Optional MetPy for Plots, xarray, and Level 2
|
|
156
156
|
|
|
@@ -158,7 +158,7 @@ A handful of surfaces intentionally delegate to MetPy when it is installed:
|
|
|
158
158
|
|
|
159
159
|
| Surface | Behavior |
|
|
160
160
|
|---|---|
|
|
161
|
-
| `metrust.calc` |
|
|
161
|
+
| `metrust.calc` | Native Rust by default, with limited optional MetPy delegation on a few parity-sensitive paths. |
|
|
162
162
|
| `metrust.io.Level2File` | Forwards to MetPy's Level 2 reader when available. |
|
|
163
163
|
| `metrust.plots` | Forwards to `metpy.plots`. |
|
|
164
164
|
| `metrust.xarray` | Forwards to `metpy.xarray`. |
|