Back to prompt library
Build a Coastal Port Windstorm Exposure Reconciler — implementation
Linked challenge: Build a Coastal Port Windstorm Exposure Reconciler
Prompt source
implementation80 lines11 sectionsNo variables1 code block
## Build
Correlate maritime port asset schedules with ERA5 reanalysis wind velocity vectors. Calculate historical exceedance frequencies to evaluate parametric wind speed trigger ambiguity without making binding insurance determinations.
## User
Coastal Risk Analyst
## Workflow
1. Ingest asset geolocations alongside contract wind velocity thresholds.
2. Retrieve ERA5 10m u and v wind component grids via cdsapi.
3. Compute composite vector wind speeds across asset coordinates.
4. Generate a parametric trigger uncertainty scorecard for risk review.
## Interface
CLI tool that accepts asset JSON files and outputs a markdown summary table with GeoJSON breach coordinates.
## Data
Fetch sample NetCDF or GRIB files using cdsapi test script patterns against ECMWF CDS test sandbox, or parse local synthetic ERA5 NetCDF files.
Starter examples below are synthetic. They are not downloaded records.
## Source
[Copernicus Climate Data Store client](https://raw.githubusercontent.com/ecmwf/cdsapi/master/README.rst)
Utilizes the cdsapi Client retrieve interface targeting reanalysis-era5-single-levels variables u10 and v10 described in the Copernicus CDS documentation.
## Tools
ray-serve, xarray, netcdf4.
Ray Serve enables scalable parallel execution of geospatial grid extractions across multi-year reanalysis datasets.
Local open weights LLM or hosted Claude API for summarizing trigger ambiguity notes from calculated exceedance tables.
## Deliverables
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.
## Acceptance
- Computes horizontal wind speed using square root of u10 squared plus v10 squared.
- Flags timestamps where simulated wind speed strictly exceeds threshold_m_s.
- Emits an uncertainty score based on spatial variance across surrounding grid cells.
## Starter Examples
```json
[
{
"input": {
"asset_id": "PORT-OAKLAND-01",
"coords": [
-122.3,
37.8
],
"threshold_m_s": 28,
"observations": [
{
"time": "2023-01-05T12:00:00Z",
"u10": 20,
"v10": 21
},
{
"time": "2023-01-05T18:00:00Z",
"u10": 15,
"v10": 12
}
]
},
"expected_output": {
"asset_id": "PORT-OAKLAND-01",
"trigger_events": 1,
"max_wind_m_s": 29,
"status": "TRIGGER_EXCEEDED"
}
},
{
"input": {
"asset_id": "PORT-EMPTY-02",
"coords": [
-122.3,
37.8
],
"threshold_m_s": 35,
"observations": []
},
"expected_output": {
"asset_id": "PORT-EMPTY-02",
"trigger_events": 0,
"max_wind_m_s": 0,
"status": "NO_DATA"
}
}
]
```
## Safety
Restricts outputs to exploratory parametric metrics and prohibits actual claim adjudication or policy payout instructions.
Use mock external writes. Require human review before any real deployment.