Skip to main content
Challenge

Build an OpenFEMA Repeat Declaration Exposure Scorer

Aggregate historical county disaster records from OpenFEMA to score municipal declaration frequency. Map compounding declared flood and storm events to assist regional adaptation grant planning.

Data ScienceHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Aggregate historical county disaster records from OpenFEMA to score municipal declaration frequency. Map compounding declared flood and storm events to assist regional adaptation grant planning.

Municipal Adaptation Planner

Call OpenFEMA DisasterDeclarationsSummaries endpoint filtered by state and decade.

Group declared disaster incidents by county FIPS and incident categorization.

Compute cumulative disaster declaration indices and unique incident type counts.

Formulate prioritized adaptation grant proposal packages for frequently-declared jurisdictions.

County vulnerability map interface showing historical disaster declaration breakdowns and grant prioritization tables.

Query OpenFEMA API endpoint /v2/DisasterDeclarationsSummaries using $filter and $select query parameters. Starter examples below are synthetic. They are not downloaded records.

FEMA OpenFEMA Extracts disasterNumber, incidentType, and declarationDate fields via OpenFEMA $filter queries like state eq 'FL'.

mastra-ai, httpx, pandas. Orchestrates multi-step agentic workflows that ingest disaster datasets and synthesize structured municipal grant plans based on historical declaration counts. TypeScript/Node.js or Python runtime with LLM agent orchestration support.

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.

Queries OpenFEMA endpoint using valid OData filter syntax to retrieve records.

Calculates county-level administrative disaster declaration frequencies across multiple hazard types.

Produces valid adaptation grant proposal schemas for municipal submission planning.

```json [ { "input": { "county_fips": "12086", "county_name": "Miami-Dade", "disaster_declarations": [ { "incidentType": "Hurricane", "year": 2017 }, { "incidentType": "Flood", "year": 2020 }, { "incidentType": "Hurricane", "year": 2022 } ] }, "expected_output": { "county_fips": "12086", "total_declared_events": 3, "unique_incident_types": 2, "_schema_note": "Simplified synthetic app records, not complete official schema files." } }, { "input": { "county_fips": "12001", "county_name": "Alachua", "disaster_declarations": [ { "incidentType": "Severe Storm", "year": 2019 } ] }, "expected_output": { "county_fips": "12001", "total_declared_events": 1, "unique_incident_types": 1, "_schema_note": "Simplified synthetic app records, not complete official schema files." } } ] ```

Outputs advisory municipal adaptation grant templates; does not approve federal funding or guarantee actual physical hazard probabilities. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Outputs advisory municipal adaptation grant templates; does not approve federal funding or guarantee actual physical hazard probabilities. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Queries OpenFEMA endpoint using valid OData filter syntax to retrieve records. Calculates county-level administrative disaster declaration frequencies across multiple hazard types. Produces valid adaptation grant proposal schemas for municipal submission planning.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Call OpenFEMA DisasterDeclarationsSummaries endpoint filtered by state and decade. Group declared disaster incidents by county FIPS and incident categorization. Compute cumulative disaster declaration indices and unique incident type counts. Formulate prioritized adaptation grant proposal packages for frequently-declared jurisdictions.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Queries OpenFEMA endpoint using valid OData filter syntax to retrieve records. Calculates county-level administrative disaster declaration frequencies across multiple hazard types. Produces valid adaptation grant proposal schemas for municipal submission planning.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

County vulnerability map interface showing historical disaster declaration breakdowns and grant prioritization tables.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Outputs advisory municipal adaptation grant templates; does not approve federal funding or guarantee actual physical hazard probabilities.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Call OpenFEMA DisasterDeclarationsSummaries endpoint filtered by state and decade.

  • Group declared disaster incidents by county FIPS and incident categorization.

  • Compute cumulative disaster declaration indices and unique incident type counts.

  • Formulate prioritized adaptation grant proposal packages for frequently-declared jurisdictions.

Resources and assets

Reference links and supporting material

Dataset notes

Query OpenFEMA API endpoint /v2/DisasterDeclarationsSummaries using $filter and $select query parameters. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Mastra AI

TypeScript agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Call OpenFEMA DisasterDeclarationsSummaries endpoint filtered by state and decade. Group declared disaster...
  • Queries OpenFEMA endpoint using valid OData filter syntax to retrieve records. Calculates county-level admi...
  • County vulnerability map interface showing historical disaster declaration breakdowns and grant prioritizat...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Mastra AI · Optional
Orchestration
  • Mastra AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an OpenFEMA Repeat Declaration Exposure Scorer