cirrus serving bundle
Everything the cirrus inference
service needs: a TorchScript precipitation model and the statistics it was
trained with.
The model maps two timesteps of normalised ERA5 fields to the parameters of a
censored shifted gamma per grid cell β Y = max(0, Gamma(shape, scale) + shift) β from which expected rainfall, exceedance probabilities and
arbitrary quantiles follow in closed form.
| file | what it is |
|---|---|
twcrps_p90.pt |
TorchScript predictor, verified bit-identical to the PyTorch original |
twcrps_p90.onnx |
The same model in ONNX, for runtimes without PyTorch |
normalisation.json |
Per-channel statistics from the 1979β2014 training years |
thresholds.json |
Per-cell exceedance thresholds, 2% of 6-hourly steps |
bundle.json |
Which run produced this, and the channel order the model expects |
Why the statistics ship with the model
Inputs must be normalised with the same statistics used in training. Different ones produce plausible-looking nonsense rather than an error, so they travel together rather than being left to the caller.
Use
The service in the repository loads this bundle directly:
pip install "cirrus[serve] @ git+https://github.com/John-Amal/cirrus"
cirrus serve --arm twcrps_p90
Trained on ERA5 via WeatherBench 2. Contains modified Copernicus Climate Change Service information (1979β2022).
The encoder these heads were trained on: cirrus-mae-5625. Live service: cirrus-3s24.onrender.com/docs.