StormScope MeteoSat Europe - #981
Conversation
Greptile SummaryThis PR adds
|
| Filename | Overview |
|---|---|
| earth2studio/models/px/stormscope_meteosat.py | New StormScopeMeteosatEU diffusion nowcasting model; rolling loop for solar angles in create_generator uses range(L-1) instead of range(L), leaving slot L-1 stale after the first autoregressive step. Minor: docstring default for num_diffusion_steps says 18 but code defaults to 48; a comment refers to StormCastMTG. |
| earth2studio/data/meteosat_fci.py | Adds available_variables() helper and pixel_bbox support to projection_extent(); logic is correct and the east-west axis sign swap in projection_extent is intentional. |
| examples/04_nowcasting/05_stormcast_meteosat_example.py | Example file is named stormcast instead of stormscope, and references Package.default_cache(stormcast-conus) — copy-paste leftovers from the StormCast example that point to the wrong cache directory. |
| test/models/px/test_stormscope_meteosat.py | Comprehensive unit tests covering coords, forward pass, batching, AMP, autoregressive iterator, sub-region slicing, raw/physical/normalized conversions, ir_38 warm scaling, off-earth masking, and solar angle computation. |
| earth2studio/models/px/init.py | Adds StormScopeMeteosatEU to the public px model exports; straightforward one-line change. |
| test/conftest.py | Registers stormscope-meteosat optional-dependency gate for the new test file; correct and minimal. |
| docs/modules/models_px.rst | Adds StormScopeMeteosatEU to the documentation toctree in alphabetical order. |
Comments Outside Diff (1)
-
examples/04_nowcasting/05_stormcast_meteosat_example.py, line 1021-1026 (link)Wrong cache key and file naming
The example file is named
05_stormcast_meteosat_example.py(and references "stormcast" in the saved output filename and cache key) but should use "stormscope-meteosat" throughout. ThePackage.default_cache("stormcast-conus")call will resolve to the StormCast cache directory rather than one appropriate for this model, which could cause checkpoints to be stored or read from the wrong location.
Reviews (1): Last reviewed commit: "Add model to __init__.py" | Re-trigger Greptile
Earth2Studio Pull Request
Description
Adds the European StormScope MeteoSat model.
earth2studio.models.px.stormscope_meteosat.StormScopeMeteosatEUexamples/04_nowcasting/05_stormscope_meteosat_example.pyMeteosatFCIdata source:projection_extentto account for FCI coordinate conventionavailable_variablesto list the variables available at the selected resolutionDepends on NVIDIA/physicsnemo#1848.
Checklist
Dependencies