Skip to main content

Rust-powered WRF post-processing with corrected effective severe diagnostics, ECAPE support, raw staggered support, and 96 diagnostic variables

Project description

wrf-rust

Rust-powered WRF post-processing with Python bindings. 96 diagnostic variables, built-in plotting, and parallel computation.

Install

python -m pip install --force-reinstall "wrf-rust==0.2.37"

Pre-built wheels for Python 3.10-3.13 on Linux, macOS, and Windows. No Rust toolchain, no system libraries, no conda required.

0.2.37 is the conservative compatibility release for applications built against 0.2.35 and 0.2.36, including WRF-Runner's New-PC-Updates branch. Because PyPI already contains numerically higher 0.4.x releases, an unpinned pip install -U wrf-rust will not select 0.2.37; pin the version exactly as shown above.

0.2.37 Compatibility, Formula Lab, and Readers

This release starts from v0.2.36, preserving its Python API and numerical diagnostics. It adds the standalone Rust wrf-formula crate, restores the all-Rust classic NetCDF reader for CDF-1/2/5 WRF files, and repairs decoding of fixed-width scalar HDF5 string attributes such as START_DATE. Formula Lab has no Python bindings on this compatibility line, and numerical science files are unchanged from v0.2.36.

The underlying v0.2.36 release starts from the v0.2.35 source and backports only output-preserving performance work: effective-inflow caching, parallel depth-limited CAPE and EL columns, cached CAPE reuse in severe composites, parallel HDF5 chunk decoding, reduced CAPE allocations, and removal of full rotated-wind volume copies. It does not include the later science-formula, diagnostic-registry, ECAPE-dependency, or Python return-contract changes.

Validation on a real 2.39 GB, 800 x 800 x 79 WRF file found byte-identical results for all 96 registered diagnostics versus v0.2.35. A representative WRF-Runner batch with 18 plot workloads and six process workers improved from 48.27 s to 35.25 s on a 24-thread Linux system (1.37x), while sampled aggregate peak RSS fell from 23.38 GB to 22.68 GB. The larger approximately 3.25x result measured elsewhere is a single-process, shared-WrfFile diagnostic benchmark; it is not an end-to-end WRF-Runner claim.

Community Guide

The repo now includes a full WRF community setup guide for Windows, WSL 2, real-data initialization, domain sizing, and troubleshooting:

Scientific Notes

Recent correctness work tightened the severe-weather diagnostics without changing the basic getvar() workflow:

  • effective_inflow now returns the actual effective inflow base/top heights, not the MU parcel EL.
  • Effective stp and scp now use effective SRH plus effective bulk wind difference (EBWD).
  • bri now uses BRN shear instead of plain 0-6 km bulk shear.
  • Raw staggered fields (U, V, W) keep their native WRF shapes, and ALL_TIMES stacking now runs in Rust.

Usage

import numpy as np
from wrf import WrfFile, getvar

f = WrfFile("wrfout_d01_2024-06-01_00:00:00")

# Basic fields
temp = getvar(f, "temp", units="degC")
slp  = getvar(f, "slp",  units="hPa")
wspd = getvar(f, "wspd", units="knots")

# CAPE with parcel selection
sbcape = getvar(f, "sbcape")
mlcape = getvar(f, "mlcape")
mucape = getvar(f, "mucape")
sb3cap = getvar(f, "sbcape", top_m=3000)           # 0-3 km CAPE

# Custom parcel
cape = getvar(f, "cape", parcel_pressure=850,
              parcel_temperature=20, parcel_dewpoint=15)

# ECAPE family
ecape = getvar(f, "ecape", storm_motion_type="bunkers_rm",
               entrainment_rate=0.0005, pseudoadiabatic=False)
ecin  = getvar(f, "ecin", storm_motion_type="mean_wind")

# SRH with Bunkers storm motion
srh1 = getvar(f, "srh1")                            # 0-1 km
srh3 = getvar(f, "srh3")                            # 0-3 km
srh  = getvar(f, "srh", depth_m=1500, storm_motion=(12, 8))
srh_pw = getvar(f, "srh1", storm_motion_method="pressure_weighted")

# Per-grid custom storm motion
sm_u = np.full((f.ny, f.nx), 12.0)
sm_v = np.full((f.ny, f.nx), 8.0)
srh_custom = getvar(f, "srh", depth_m=1500, storm_motion=(sm_u, sm_v))

# Effective inflow layer
eff_srh  = getvar(f, "effective_srh")
eff_cape = getvar(f, "effective_cape")

# Severe composites
stp     = getvar(f, "stp")                           # fixed-layer
stp_eff = getvar(f, "stp", layer_type="effective")   # effective-layer
scp     = getvar(f, "scp")
ehi     = getvar(f, "ehi", depth_m=3000)             # 0-3 km EHI

# Configurable layers
shear = getvar(f, "bulk_shear", bottom_m=1000, top_m=6000)
mw    = getvar(f, "mean_wind",  bottom_m=0, top_m=6000)
lr    = getvar(f, "lapse_rate", bottom_p=700, top_p=500)
lr_v  = getvar(f, "lapse_rate", bottom_m=0, top_m=3000, use_virtual=True)

# Lake interpolation (removes 2m artifacts over water bodies)
cape = getvar(f, "sbcape", lake_interp=1000)         # interp lakes < 1000 km2

# All timesteps
slp_all = getvar(f, "slp", timeidx=None)             # shape (nt, ny, nx)

Also accepts netCDF4.Dataset directly:

from netCDF4 import Dataset
slp = getvar(Dataset("wrfout_d01..."), "slp")

Note: dataset inputs are reopened by filepath under the hood. On Windows, do not keep a netCDF4.Dataset open while calling wrf-rust on that same file, especially in subprocesses. Close the dataset first or pass a file path / WrfFile instead.

Plotting

from wrf import plot_field, plot_wind, plot_skewt, panel

plot_field(f, "sbcape")                               # auto colormap + cartopy
plot_field(f, "sbcape", style="solar7")               # Solarpower07 colormaps
plot_wind(f)                                           # wind barbs
plot_skewt(f, point=(35.0, -97.5))                    # Skew-T with hodograph
panel(f, ["sbcape", "srh1", "stp", "shear_0_6km"])   # multi-panel

# Multi-timestep with consistent scale + GIF
from wrf.plot import render_timesteps
render_timesteps(f, "sbcape", timesteps=[0,1,2,3],
                 gif=True, fixed_scale=True)

CLI

python -m wrf info  wrfout_d01_2024-06-01_00:00:00
python -m wrf stats wrfout_d01_2024-06-01_00:00:00 sbcape slp temp
python -m wrf plot  wrfout_d01_2024-06-01_00:00:00 slp -o slp.png
python -m wrf panel wrfout_d01_2024-06-01_00:00:00 sbcape srh1 stp -o severe.png

Benchmark vs wrf-python

Benchmarked on a 199x199x79 WRF grid. The fields below matched wrf-python on that case, but broader scientific equivalence still depends on variable and workflow.

Variable wrf-python wrf-rust Speedup
Temperature 0.268s 0.004s 76x
Potential temp 0.088s 0.003s 26x
Abs. vorticity 0.173s 0.015s 11x
Relative humidity 0.353s 0.097s 4x
Precipitable water 0.224s 0.077s 3x
Reflectivity 0.494s 0.234s 2x
SLP 0.517s 0.497s 1x
Wind destagger 0.089s 0.081s 1x

Plus 23 variables wrf-python doesn't have (STP, SCP, EHI, critical angle, ECAPE, shear, Bunkers, lapse rates, fire indices, effective inflow layer).

Variables

96 diagnostic variables. All support units= parameter.

Thermodynamics

temp tc theta theta_e theta_w tv twb td rh

Pressure & height

pressure slp height height_agl terrain geopt omega

pressure defaults to hPa for wrf-python compatibility. Use pres / p or units="Pa" when you want Pascals.

Moisture

pw rh2m dp2m mixing_ratio specific_humidity

CAPE & convection

sbcape sbcin mlcape mlcin mucape mucin cape cin lcl lfc el effective_cape effective_inflow cape2d cape3d

All CAPE variables support top_m for truncated integration (e.g. top_m=3000 for 3CAPE). Generic cape/cin accept parcel_type or custom parcel (parcel_pressure, parcel_temperature, parcel_dewpoint). effective_inflow returns a two-plane output: effective layer base followed by effective layer top, both in meters AGL.

ECAPE-family variables use the same getvar() entry point but also accept storm_motion_type, entrainment_rate, and pseudoadiabatic. They support parcel_type="sb", "ml", or "mu", but they do not currently support the generic custom parcel thermodynamics (parcel_pressure, parcel_temperature, parcel_dewpoint).

Wind

ua va wa wspd wdir wspd10 wdir10 uvmet uvmet10

SRH & shear

srh1 srh3 srh effective_srh shear_0_1km shear_0_6km bulk_shear mean_wind bunkers_rm bunkers_lm mean_wind_0_6km

SRH/Bunkers diagnostics default to pressure-weighted Bunkers layer means when pressure is available. Set storm_motion_method="non_pressure_weighted" (or "classic") to force the non-pressure-weighted path. storm_motion=(u, v) accepts either scalar components or (ny, nx) component grids.

Severe composites

stp stp_fixed stp_effective scp ehi tehi tts vtp_mod critical_angle ship bri

STP supports layer_type="effective" for the 5-term formula with MLCIN. Effective stp uses ESRH + EBWD, and scp uses MUCAPE + effective SRH + EBWD. tehi and tts mirror the SPC beta Tornadic 0-1 km EHI and Tornadic Tilting and Stretching products. vtp_mod is the modified violent tornado parameter using MLCAPE, ESRH, EBWD, MLLCL, MLCIN, 0-3 km MLCAPE, and 700-500 hPa lapse rate.

ECAPE

ecape ncape ecape_cape ecape_cin ecape_lfc ecape_el

ECAPE diagnostics accept parcel_type, storm_motion or storm_motion_type, entrainment_rate, and pseudoadiabatic.

Radar & cloud

dbz maxdbz ctt cloudfrac uhel

Vorticity

avo pvo

Lapse rates & levels

lapse_rate_700_500 lapse_rate_0_3km lapse_rate freezing_level wet_bulb_0

Generic lapse_rate accepts bottom_m/top_m or bottom_p/top_p, plus use_virtual=True.

Fire weather

fosberg haines hdw

Parameters

Parameter Description
units Output unit conversion (every variable)
parcel_type "sb", "ml", "mu" for CAPE
parcel_pressure/temperature/dewpoint Custom parcel (hPa, degC, degC)
top_m / bottom_m Layer bounds in m AGL
top_p / bottom_p Layer bounds in hPa
depth_m SRH/EHI depth (m AGL)
storm_motion Custom storm motion (u, v) in m/s; each component may be a scalar or (ny, nx) grid
storm_motion_method Default Bunkers method: "pressure_weighted" (default) or "non_pressure_weighted" / "classic"
storm_motion_type ECAPE storm-motion type: "bunkers_rm", "bunkers_lm", or "mean_wind"
entrainment_rate ECAPE entrainment rate passed through to the core implementation
pseudoadiabatic ECAPE pseudoadiabatic toggle
layer_type "fixed" or "effective" for STP
use_virtual Virtual temperature for lapse rates
lake_interp Interpolate 2m fields over lakes < N km2

Unit strings

Every registered variable supports units=. Raw WRF variables (RAINNC, T2, PSFC, etc.) also support conversion when their default unit is known. Case-insensitive.

Category Strings Example
Temperature K, degC, C, celsius, degF, F, fahrenheit units="degF"
Pressure Pa, hPa, mb, mbar, inHg units="hPa"
Speed m/s, knots, kt, kts, mph, kph, km/h units="knots"
Length/Height m, ft, km, mi, dam units="dam"
Depth mm, in, inches units="in"
Moisture kg/kg, g/kg units="g/kg"

Raw WRF variables

Any variable name not in the computed registry is read directly from the file. Common ones:

Variable Default unit Description
RAINNC mm Grid-scale accumulated precipitation
RAINC mm Convective accumulated precipitation
T2 K 2-m temperature (also available as t2)
PSFC Pa Surface pressure
TSK K Skin temperature
SST K Sea surface temperature
PBLH m PBL height
HFX W/m2 Sensible heat flux
LH W/m2 Latent heat flux
SWDOWN W/m2 Downwelling shortwave
GLW W/m2 Downwelling longwave
OLR W/m2 Outgoing longwave
UST m/s Friction velocity
SNOWH m Snow depth
LU_INDEX -- Land use category
U10 / V10 m/s 10-m wind components
# These all work:
rain = getvar(f, "RAINNC", units="in")     # accumulated precip in inches
tsk  = getvar(f, "TSK", units="degF")      # skin temp in Fahrenheit
pblh = getvar(f, "PBLH", units="ft")       # PBL height in feet

Building from source

Only needed for development. Users should pip install wrf-rust.

git clone https://github.com/FahrenheitResearch/wrf-rust.git
cd wrf-rust
pip install maturin
maturin develop --release

Acknowledgments

Special thanks to Solarpower07 for the underlying Solar7 colormaps and product definitions, and for substantial guidance on severe-weather diagnostics, storm motion, SRH, and ECAPE. A lot of the recent correctness work in wrf-rust is better because of that help.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wrf_rust-0.2.37.tar.gz (209.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

wrf_rust-0.2.37-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

wrf_rust-0.2.37-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.37-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.37-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wrf_rust-0.2.37-cp313-cp313-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

wrf_rust-0.2.37-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

wrf_rust-0.2.37-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.37-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.37-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wrf_rust-0.2.37-cp312-cp312-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

wrf_rust-0.2.37-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

wrf_rust-0.2.37-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.37-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.37-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wrf_rust-0.2.37-cp311-cp311-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

wrf_rust-0.2.37-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

wrf_rust-0.2.37-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.37-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.37-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

wrf_rust-0.2.37-cp310-cp310-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file wrf_rust-0.2.37.tar.gz.

File metadata

  • Download URL: wrf_rust-0.2.37.tar.gz
  • Upload date:
  • Size: 209.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for wrf_rust-0.2.37.tar.gz
Algorithm Hash digest
SHA256 c730a12afcdb83e40114cf272a1381f2de441b81653936330936173dfa52012a
MD5 aca3aa63778bf075eb4122a23948f39a
BLAKE2b-256 16d87db41bd6090dedd6d8f1e19692a745ee09eeb0ae202e0959e74688a04948

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 159b03979d09ad21e80a017c7a2a59a98de96bd3a83aca2dfd3188f24b7e4225
MD5 8a159995d0409350e8a61955d2a41602
BLAKE2b-256 1a169496e2a86937fa3464aa801f30f8f76818381c6de9ffe8aaf0ee1d4bee01

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e99e7b09d5320a46da53dfbe164389480deadee7e7c1be764b82608f1783765c
MD5 a17d05065556c6713d961e00d1c0a70a
BLAKE2b-256 ef58655660397b5f7acd07a14df88c2acd81f012bfd7f666aef98d0102d8a7f0

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22487aff97dc60a25ceccdb713576b1be1a99a4ba664eb07f7bd0138e65ac029
MD5 75384108d5dfd44e3e588438c6df558f
BLAKE2b-256 5870858c488a29fb1dac345841d90729385a3b46878fd2b1d9bccd303edf5b1a

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd17db0b6c0490cf389902c2ddf8b2e113fb3b1b3140d158ad7adce46fdf264e
MD5 1f97770024edf60a1fa07101c03a316c
BLAKE2b-256 3a1bdccd19deba477e8ab7c57f80b312f4d2f1f94b7022b4ce75fa1f3012ab7c

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8c3381bd262f19c958bcb82f8e0173098a1ad002030b6cc72a0dcdfaecd2c921
MD5 f7dc74f26eafe4bd3a145bc8b39afc23
BLAKE2b-256 a643e292d1ab4a01f1b2e52a99d9a47609d0bf2326cde7dae8bf71abba65bfae

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 672dce6d2e7a8ab7da2a7314454399f983b7f1e3554443402e2e56fffc72d734
MD5 247e49bbda89a908fb93220290149694
BLAKE2b-256 8963488309d3a8b324c63cc9f3cb93bc0f856749f70f11b27365efca653425be

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f432decc75521e73fa3625f5962215ad8a636e1fd7d93773eab5e2854bed2c08
MD5 35092db399f55bfbe04e58886c0c4992
BLAKE2b-256 040106352164c86e771ee4cae6515aeb33a6b46c4ef1a10e0238b509298ff5f8

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5717fd1db55bec9297209e78a9d23d6fc1e47461f196434254c3c1a9df6ed748
MD5 06433b857ccf42fc82ff791132224028
BLAKE2b-256 b4980c17d0b7b3663864d770fdce91d9a8f75eda738e0a5ff2d9730e4c622c88

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dbdde0eb9644c5785ac3f98174d8a02dd4f8bca618f8e307865053bdd13ea858
MD5 15579dcd9a30566e91401da0e1f5c565
BLAKE2b-256 6ec896f42116980f9f7e4fd56e6f174e904665e98b002d9840fb198170eba472

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cbcb6e4416ed5da381ac8e941ab3ea64762327b0cd60e0ccef95d3f438371923
MD5 52cc61584d788cc7e77deb00bfa38f67
BLAKE2b-256 6dcb42f1d1d58d163494185437271aa63e7032b54393e58e077bf4af349a0cdf

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d42cfc418622f61d6f7e37b5e28160e47f032b4c8e252258c14c475dbb9a2d54
MD5 b8acd6dcc03a039ab1d97f343b3d7b4b
BLAKE2b-256 550b06b4a5a680233650b0441b484e8445c53ff152eb0f4bf2a5eeafae6baac4

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7100bb352a9b78230815561815b1f4d6a3589456ab7cce809edb143014e93cf
MD5 75f4cddbb2e568fc06e0a74c31ac053f
BLAKE2b-256 8cd04794050fe92bb7b036d5364bb3202da51fca2ae246d871db2a62a00d4799

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dfa90c6dc082065d54d3ed0b488426f0f0f3d3f87c186bf160a311b4daf4fb7d
MD5 ceac33fc463cd9aeb9ceedde2628121b
BLAKE2b-256 9cfb2826e56dfefc072be489e007b651fc8f6562dafc99c8456f61062608215f

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b27d9695dcdd874dcd775b66521b35a940fbd1a21242f11c48af58016d19159
MD5 f7e0338b6a1127216126cf2d666901f6
BLAKE2b-256 601cab2dbc495227bdecc548469f88d0668c6d80978026d59700188de4515712

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 923053ec285568e26acae0ee2dedab13659acc72d533b4e51c82c50cf20228f3
MD5 f602b12b6f97375dfcb0590f9a77ccba
BLAKE2b-256 ff1822d1a7ab0662834748f36c89e697839c8a8db0d3326235cbe83b68da6e83

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fe87165aaee6458c45387aa790c18ea262ab9793c54266d5e8461c0f267adf3c
MD5 afddd6e40fe25b29497bde3186f5614f
BLAKE2b-256 2e09dd0fb385499d2fc9d1ddbc65d8ce912fdebbe577e3972da71a5064e183bb

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 847692a877a323f54d441aaa5018aca0882b4569f092f30401dbe1eef730f3fb
MD5 ec251960f03a3e6e4a77753752a42334
BLAKE2b-256 9810d26dbd6b2833f0844605d5ef81d4110381e2320a31b41b96e30a1db7242e

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b76d7b1136c357d92ecdaa2c45a0cc137bdc5a1df9ce6066dd15566ff7bf77d2
MD5 b47c1478417295ba7d78bbf4d218c095
BLAKE2b-256 69730d1249926ca006e59f78289bafb3b59e118d74959b491b97b9168d5e4eb6

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55e0e98a697260b907c364b2b76bbff9395dd88d12dd4241a961ec157a1ce977
MD5 da26bae5275bf16aa708cd61685347d3
BLAKE2b-256 23bb57d3153424b7aba9f137944376454da03301cb9470192ed71325901a52f3

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.37-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.37-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b01ae30100ea7d40cbc2d03b9152e81ac22de2cf8e7f9ca6ec5bd05e123432ef
MD5 ad12a5fd6f0cbfb6ab0eb4b070dc4a6e
BLAKE2b-256 ed0582ca7ef2db80d5b2aa5ade5688e73ac7da8cc15405cec4641591d6e36b38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page