-
Notifications
You must be signed in to change notification settings - Fork 0
Status
Víctor Hernández edited this page Sep 15, 2026
·
2 revisions
English · Español
Last updated: September 2026
| Stage | Focus | Status |
|---|---|---|
| 0 | Safety net: regression tests, determinism checks, continuous integration | ✅ Done |
| 1 | Correctness fixes in the core and a security baseline for the portal | ✅ Done |
| 2 | Performance and hardening | ✅ Done |
| — | Consolidation before stage 3 | ✅ Done |
| 3 | Generalisation: both hemispheres, polar regime, configurable parameters, CF-NetCDF masks | 🔄 In progress |
| 4 | Temporal tracking of events (TempestExtremes) and a deployable portal | 📅 Planned |
| 5 | Validation against established blocking indices and public deployment | 📅 Planned |
- Grid resolution and latitude limits taken from the input file at run time, with no recompilation.
- Both hemispheres handled with the same logic.
- Every threshold in a single parameter file, written into the header of each output.
- Area filters based on true cell area rather than cell counts.
- Structures that cross the ±180° meridian or the pole kept as single objects.
- A dedicated category for polar highs.
- Tests for hemispheric symmetry and for invariance to grid resolution.
- End-to-end validation of the full portal: request, core run, maps and results.
- Automated browser tests of the portal, required on every pull request.
- Portal requests use the OpenMP and MPI builds of the core.
- Concurrent requests handled independently, and pipeline errors reported to the user.
- Integration tests of the API in continuous integration.
- Temperature variant: iterative clustering, real cluster identifiers and centroids, and its own regression test.
- More tests of the core's input validation, and stricter typing in the API.
Scientific core
- OpenMP scaling fixed. On a 60-step ERA5 case with 12 threads, run time dropped from about 10 s to about 5 s.
- Input read one time step at a time: peak memory went from 75 MB to under 30 MB.
- MPI and hybrid MPI + OpenMP builds fixed and covered by determinism tests. With 12 processes the same case runs in about 2.6 s.
- Computational cost measured against TempestExtremes under identical conditions.
Portal
- User roles are read from the database on every request.
- CORS limited to an allow-list, and security headers added.
- Rate limiting, especially on authentication.
- API documentation disabled in production.
- Health check endpoint.
- Pipeline errors are reported to the user instead of leaving requests waiting.
Detailed measurements: docs/benchmark.md (in Spanish).
AtmosBlock · MIT License · 🌐 English / Español