Google Flood Forecasting project collaborates with governments to generate real time flood alerts and inundation maps and send them to the population based on their location.
In this page Google shares its flood alerts and maps with the research community.
Reaching the Flood forecasting dataset
Dataset details and format
Dataset details | |
API version | 1.1 |
Start date | 2021-01-25 |
Update frequency | 30 Minuten |
Directory structure | YYYY/MM/DD/HH/mm/alert_id/alert_id.json YYYY/MM/DD/HH/mm/alert_id/alert_id.kml The alerts are stored in directories according to their generation time. Each alert has two associated flies: the alert data file in JSON format, and the maps associated with the alert in KML format. An alert is issued by the system for every supported location approximately every 30 minutes, regardless of that location’s flooding state. See the fields description below for notes on how to interpret the data. |
Alert data fields | |
apiVersion | String, mandatory. Major versions indicate breaking changes in the API schema, minor versions indicate backward-compatible changes. |
alertMetadata.district | String, optional. |
alertMetadata.gaugeStationName | String, optional. |
alertMetadata.stationId | String, mandatory. |
alertMetadata.publisherName | String, optional. |
alertMetadata.river | String, optional. |
alertMetadata.state | String, optional. |
alertMetadata.waterLevelThresholds.warningLevel | Float, optional. If exists, indicates the water level in meters above which Google issues a warning alert. |
alertMetadata.waterLevelThresholds.dangerLevel | Float, optional. If exists, indicates the water level in meters above which Google issues a danger alert. |
alertMetadata.waterLevelThresholds.extremeDangerLevel | Float, optional. If exists, indicates the water level in meters above which Google issues a severe danger alert. |
issueTimestampSeconds | Int64 string, mandatory. Unix timestamp of the alert issue time. |
expirationTimestampSeconds | Int64 string, mandatory. Unix timestamp of the alert expiration time. |
hasFlooding | Boolean, mandatory. A summary field which indicates whether this alert contains flood information, either at the time of issuance (currentState) or one of its forecasted states. |
currentState.startTimestampSeconds | Int64 string, mandatory. Unix timestamp of the start of the timespan this state refers to. Start and end times will be equal for point-in-time forecasts. |
currentState.endTimestampSeconds | Int64 string, mandatory. Unix timestamp of the end of the timespan this state refers to. Start and end times will be equal for point-in-time forecasts. |
currentState.severity | String, mandatory. One of:
|
currentState.riskMapType | String, optional. Populated if the state has an associated risk map. Can be one of:
Fore depth maps, higher risk level should be interpreted as higher forecasted depth. For probability maps, higher risk level should be interpreted as higher probability of flood. |
forecastedStates | Object array, see fields below. An array with objects representing states forecasted by the model. |
forecastedStates[i].startTimestampSeconds | Int64 string, mandatory. Unix timestamp of the start of the timespan this state refers to. Start and end times will be equal for point-in-time forecasts. |
forecastedStates[i].endTimestampSeconds | Int64 string, mandatory. Unix timestamp of the end of the timespan this state refers to. Start and end times will be equal for point-in-time forecasts. |
forecastedStates[i].severity | String, mandatory. One of:
|
forecastedStates[i].waterLevelChange.lowerBoundMeters | Float, mandatory optional (starting v1.1). The lower bound of the forecasted water level change, in meters. |
forecastedStates[i].waterLevelChange.upperBoundMeters | Float, mandatory optional (starting v1.1). The upper bound of the forecasted water level change, in meters. |
forecastedStates[i].waterLevelChange.lowerBoundInches | Float, mandatory optional (starting v1.1). The lower bound of the forecasted water level change, in inches. |
forecastedStates[i].waterLevelChange.upperBoundInches | Float, mandatory optional (starting v1.1). The upper bound of the forecasted water level change, in inches. |
forecastedStates[i].riskMapType | String, optional. Populated if the state has an associated risk map. Can be one of:
Fore depth maps, higher risk level should be interpreted as higher forecasted depth. For probability maps, higher risk level should be interpreted as higher probability of flood. |
notificationArea.s2CellIds | UInt64 string array, optional. The alert’s notification area, if it exists. The area is represented as an S2 cell cover. See: https://s2geometry.io/ |
KML maps | |
The KML file associated with the alert will contain the following polygons, if possible: | |
aoi_polygon | The area of interest the alert applies to. |
current_<risk_level>_risk_area | The polygon that defines the risk area of the current state for the following risk levels:
See currentState.riskMapType for information on how to interpret the different risk levels. |
current_border_risk_area | The border of the current state’s inundation forecast area. |
forecast_<i>_<risk_level>_risk_area | The polygon that defines the risk area of the i’th forecasted state for the following risk levels:
See currentState.riskMapType for information on how to interpret the different risk levels. |
forecast_border_risk_area | The border of the i’th forecasted state inundation forecast area. |
Example alert
{ "alertMetadata": { "district": "SONITPUR", "gaugeStationName": "Jiabharali NT Road X-ing", "stationId": "030-UBDDIB", "publisherName": "B&BBO, Shillong", "river": "Brahmaputra/ Jiabharali", "state": "Assam", "waterLevelThresholds": { "warningLevel": 76, "dangerLevel": 77, "extremeDangerLevel": 78.5 } }, "issueTimestampSeconds": "1635541515", "expirationTimestampSeconds": "1635714315", "hasFlooding": true, "currentState": { "startTimestampSeconds": "1635532200", "endTimestampSeconds": "1635532200", "severity": "WARNING", "riskMapType": "DEPTH" }, "forecastedStates": [ { "startTimestampSeconds": "1635564600", "endTimestampSeconds": "1635564600", "waterLevelValueMeters": 76.09, "severity": "WARNING", "waterLevelChange": { "lowerBoundMeters": -0.1, "upperBoundMeters": 0, "lowerBoundInches": -4, "upperBoundInches": 0 }, "riskMapType": "DEPTH" } ] } |
API Updates