Wiki Markup |
---|
scrollbar |
Table of Contents |
---|
Delft-FIAT
...
To apply FIAT in a Delft-FEWS workflow, you will need an inundation mapstack (e.g. satellite image or flood inundation model like Delft-FM or 3Di-subgrid) to hand over to FIAT. When providing a max-depth map to FIAT it can calculate the (financial) damage per category on the map or as a total value for the entire area. This max-depth map
The FIAT-adapter allows three options:
- max_depth (default)
- floodwave (optional)
- transient_maxdepth (optional)
The default setup is based on the maximum depth over the entire time horizon. This needs to be prepared in FEWS as a mapstack series with a single timestep (e.g. using the statisticalSummary-max transformation).
one timestep. When you also provide a flood wave (mapstack series of water depth with multiple timesteptimesteps) to FIAT, it can compute the human impact (mortality and casualties) by internal conversion of the wave into (vertical) rise rate and an arrival time map.
As of October 2019, the FIAT-adapter
...
can also accommodate the computation of damage over time by providing a mapstack of the maximum depth that has occured from the beginning of the simulation up to the current timestep. This dataset can be prepared by the Fews-transformation accumulation-max).
The FIAT-adapter (fews_wrapper.py) is wrapped around the FIAT computational core and available in the FIAT The FIAT-adapter (fews_wrapper.py) is wrapped around the FIAT computational core and available in the FIAT distribution. To accommodate portability without python installation troubles, a self-contained executable (FIAT.exe) is available on request with Edwin Bos at Deltares.
...
- <workDir>path</workDir>
- Path is a full path to a directory, to be used as working directory by Delft-Fiat.
- <inputNetcdfFile>path/max_depth.nc</inputNetcdfFile>
- Full or relative path to max_depth.nc, containing variable “waterdepth” with dimensions “time,y, x” or “time,realization,y, x”. This represents the maximum waterdepth during a flood event.
- <inputNetcdfFile>path/floodwave.nc</inputNetcdfFile> (optional)
- Full or relative path to floodwave.nc, containing variable “waterdepth” with dimensions “time, y, x” or “time,realization,y, x”. This represents the waterdepth map evolving in time during a flood event.
- <inputNetcdfFile>path/ impact
- transient_ on_grid
- maxdepth.nc</ outputNetcdfFile>
- inputNetcdfFile> (optional)
- Full
Path is a full - or relative path to
a not-yet-existing file called impact_on_grid.nc, which will be created as output by Delft-Fiat and filled with the output grids.<outputNetcdfFile>path/impact_summary- transient_maxdepth.nc, containing variable “waterdepth” with dimensions “time, y, x” or “time,realization,y, x”. This represents the maximum waterdepth map that has occured since the start of the simulated flood event.
- <outputNetcdfFile>path/impact_on_grid.nc</outputNetcdfFile>
- Path is a full or relative path to a not-yet-existing file called impact_on_
summary - grid.nc, which will be created as output by Delft-Fiat and filled with the
summary results- maximum impact computed on the output grid.
<outputDiagnosticFile>path- <outputNetcdfFile>path/ fiat
- transient_ diagnostics
- impact. xml</outputDiagnosticFile>
- nc</outputNetcdfFile> (required when specifying transient_maxdepth as input)
- Path is a full or relative path to a not-yet-existing file called
fiat- transient_
diagnostics- impact.
xml- nc, which will be created as output by Delft-Fiat
.- <properties>
- <string key="JSON" value="path"/>
- Full or relative path to json file defining the supported categories.
- <string key="CATEGORY_1" value="Direct_industrie"/>
- Specify the categories of interest as string elements, with unique random keys and the category name (specified in JSON file) as value.
- <string key="JSON" value="path"/>
- </properties>
- and filled with the impact computed ovre time on the output grid.
- <outputNetcdfFile>path/impact_summary.nc</outputNetcdfFile>
- Path is a full or relative path to a not-yet-existing file called impact_summary.nc, which will be created as output by Delft-Fiat and filled with the summary results.
- <outputDiagnosticFile>path/fiat_diagnostics.xml</outputDiagnosticFile>
- Path is a full or relative path to a not-yet-existing file called fiat_diagnostics.xml, which will be created as output by Delft-Fiat.
- <properties>
- <string key="JSON" value="path"/>
- Full or relative path to json file defining the supported categories.
- <string key="CATEGORY_1" value="Direct_industrie"/>
- Specify the categories of interest as string elements, with unique random keys and the category name (specified in JSON file) as value.
- <string key="JSON" value="path"/>
- </properties>
Code Block | ||||
---|---|---|---|---|
| ||||
<Run | ||||
Code Block | ||||
| ||||
<?xml version="1.0" encoding="UTF-8"?> <Run xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.wldelft.nl/fews/PI" xsi:schemaLocation="http://www.wldelft.nl/fews/PI http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_run.xsd" version="1.8"> <logLevel>info</logLevel> <timeZone>0.0</timeZone> <startDateTime date="2007-11-08" time="00:00:00"/> <endDateTime date="2007-11-10" time="02:00:00"/> <time0 date="2007-11-08" time="00:00:00"/> <lastObservationDateTime date="2007-11-10" time="02:00:00"/> <workDir>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\work</workDir> <inputNetcdfFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\to_FIAT\floodwave.nc</inputNetcdfFile> <inputNetcdfFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\to_FIAT\max_depth.nc</inputNetcdfFile> <outputDiagnosticFile>D<inputNetcdfFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\logsto_FIAT\fiattransient_diagnosticsmaxdepth.xml<nc</outputDiagnosticFile>inputNetcdfFile> <outputNetcdfFile>D<outputDiagnosticFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\from_FIATlogs\impactfiat_on_griddiagnostics.nc<xml</outputNetcdfFile>outputDiagnosticFile> <outputNetcdfFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\from_FIAT\impact_summaryon_grid.nc</outputNetcdfFile> <properties> <string key="JSON" value="D<outputNetcdfFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\from_FIAT\fiattransient_vrimpact.json"nc</>outputNetcdfFile> <outputNetcdfFile>D:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\from_FIAT\impact_summary.nc</outputNetcdfFile> <string key="CATEGORY_1" value="Direct_industrie"/><properties> <string key="CATEGORY_2JSON" value="Direct_kantoorD:\fews\fews_201502\FEWS_VR\Modules\FIAT\Rotterdam\fiat_vr.json"/> <string key="CATEGORY_31" value="Direct_eengezinswoningen_inboedel_normaalindustrie"/> <string key="CATEGORY_42" value="AantalDirect_eengezinswoningenkantoor"/> <string key="CATEGORY_53" value="InwonersDirect_eengezinswoningen_inboedel_normaal"/> </properties> </<string key="CATEGORY_4" value="Aantal_eengezinswoningen"/> <string key="CATEGORY_5" value="Inwoners"/> </properties> </Run> |
The JSON file
The JSON file is the FIAT model configuration file, with a similar function to the Excel file often used in a FIAT stand alone context. The JSON file is basically a python dictionary definition that defines per category at least the exposure grid, the damage function and the max damage value. Other properties may be included when needed. Please use category names with underscores as they will become the NetCDF-variables in the output dataset.
Below you can find the format specification and an example file, using relative paths :(relative to the work-directory in which Fews starts the adapter):
Code Block | ||||
---|---|---|---|---|
Code Block | ||||
| ||||
{ 'category name': { 'exposure grid filepath': '', (full or relative) 'maximum damage': float(), 'bu maximum damage': float(), (optional) 'damage function filepath': '', (full or relative) 'bu damage function filepath': '', (optional) 'output grid filepath': '', (only filename, not path!) 'weight': float(), 'units': '', } 'category name': {} (repeat for all categories) } |
...
The max_depth.nc (input) file is produced by the FEWS general adapter and typically holds only one timestep (using Fews-transfromation statisticalSummary-max). If the file holds multiple timesteps, FIAT assumes that the last timestep represents the maximum. Please remember to specify the missing value (e.g. -999) when exporting the file from FEWS, or prevent an export of missing values by filling up the grid with zero's.
The floodwave.nc (input) file is produced by the FEWS general adapter and is expected to hold a mapstack of grids with equal timestep. Be aware that FIAT takes a few minutes to convert these files into a rise_rate and travel_time data file. Skip this export when you are not calculating the human impact (mortality and casualties)(mortality and casualties)
The transient_maxdepth.nc (input) file is produced by the FEWS general adapter and holds a gridded timeseries with the maximum depth that has occured since the beginning of the simulation (using Fews transformation accumulation-max). Please remember to specify the missing value (e.g. -999) when exporting the file from FEWS, or prevent an export of missing values by filling up the grid with zero's.
The impact_on_grid.nc (output) file is imported by the FEWS general adapter. It holds for each category a map with the associated maximum damage. The data is written with the T0 timestep, assigning the category name to the NetCDF-variable.
The impact_summary.nc (output) file is imported by the FEWS general adapter. It is a (scalar) timeseries file that holds, for each category, a single value with the associated total damage in the areadamage in the area.
The transient_impact.nc (output) file is imported by the FEWS general adapter. It holds for each category a mapstack with the associated damage over time. The data is written with at each timestep, assigning the category name to the NetCDF-variable.
Suggested folder organisation
The screenshot presents a suggested folder organisation, where the fixed datasets (exposure maps and damage functions) are contained in the \SSM2015 folder, while the \Rotterdam folder contains the specific case/study area folder for exchange with FEWS. The executable and associated libraries are held in the \bin folder.
Note:
When using the transient-function, the FIAT-adapter will generate for each timestep a subfolder in the work directory.
When using ensembles, the FIAT-adapter will generate for each ensemble member a subfolder in the work directory
Example configuration files:
Waterlevel2waterdepth.xml converts water level to water depth (including fill up with zero's) as preparation for FIAT input.
Postprocess_waterdepth.xml computes max-depth as preparation for FIAT input.
Waterdepth2impact.xml computes impact on several categories is the general adapter that provides data to FIAT (to_FIAT-idmap), calls FIAT to compute the impact on several categories and imports the results (from_FIAT-idmap).
The json file is the model configuration file which defines the categories and its associated datasets and properties.
The example files have been defined such that properties at workflow level can be used to apply the setup for other cases than the example of Rotterdam. Contact Daniel Bachman or Peter Gijsbers for access to the FEWS_VR svn repository which holds a full application of an example FEWS-RISK application including the model chain dike failure (fragility curve) - inundation (subgrid) - impact (FIAT).