deltares / delft-fiat Goto Github PK
View Code? Open in Web Editor NEWFast Impact Assessment Tool
Home Page: https://deltares.github.io/Delft-FIAT/
License: MIT License
Fast Impact Assessment Tool
Home Page: https://deltares.github.io/Delft-FIAT/
License: MIT License
I have checked that this issue has not already been reported.
I have checked that this bug exists on the latest version of Delft-FIAT.
I have checked that this bug exists on the main branch of Delft-FIAT.
No response
No response
No response
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Take the code from the separate scripts and turn them into tests.
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
No response
Adding new functionality
Right now FIAT will run, even if inputs are missing for some objects (e.g., depth damage function).
It is desirable to provide some warning in case inputs is missing.
No response
master
hereNo response
No response
No response
master
hereNo response
No response
master
hereNone
No response
No response
No response
master
hereDocs are missing
Not yet online.
Needs to be written.
Create a structure for the webpages. Fill them out.
Fill out the docstrings (used for api reference of the website)
Make sure everything is synced.
[global]
crs = "EPSG:4326" [OPTIONAL] # CRS that fiat can work with
gdal_cache = 10 #MB [OPTIONAL] # Set the GDAL cache in megabytes to restrict the footprint of GDAL
keep_temp_files = false [OPTIONAL] # whether or not to keep the temporary files spit out during calculation
thread = 4 [OPTIONAL] # Set the number of threads of the calucations
[global.grid]
chunk = [1024, 1014] [OPTIONAL] # Set the size at which to chunk grids
[output]
path = "output" # directory to save the results in, directory is relative to the settings.toml file or absolute
[output.csv]
name = "output.csv" # File name of the output csv
[output.geom]
name1 = "spatial.gpkg" # File name of the output GPKG
crs = "EPSG:4326" [OPTIONAL] # Projection for output data, DOESNT WORK YET
[output.grid]
name = "output.nc" # File name for the output for the grid model; WARN: not fully implemented yet
[hazard]
file = 'hazard/event_map.nc' # Path to netCDF relative to the setting.toml file or absolute, can contain one (for events) or multiple (for return periods) bands
crs = 'EPSG:32617' # Not compulsory but if the CRS is unknown in the data this is compulsory (to check)
elevation_reference = 'dem' # DEM or Datum for a water depth or water elevation map
risk = true # true or false, if true, risk (EAD) is calculated
return_periods = [2, 5, 10, 25] [OPTIONAL] # return periods for hazard calculation when they cannot be inferred from the data itself
[hazard.settings]
chunk = [1024, 1014] [OPTIONAL] # Set the size at which to chunk (Advise to use the setting under global.grid)
subset = 'zs' [OPTIONAL] # Specific layer from a multilayered netCDF file (GDAL cant read those properly)
var_as_band = false [OPTIONAL] # true or false # Read netCDF subdatasets as raster bands
[exposure.csv]
file = 'exposure/exposure.csv' # All additional info for the vector data
index = "Object ID" [OPTIONAL] specify the index column of the data
[exposure.geom]
crs = 'EPSG:32617' # Not compulsory but if the CRS is unknown in the data this is compulsory (to check)
file1 = 'exposure/points.gpkg' # Kijkt vanuit het 1e veld van de gpkg naar welke Object ID de geometrie linkt.
[exposure.grid]
crs = 'EPSG:32617'
file = 'exposure/raster.nc'
[exposure.grid.settings]
chunk = [1024, 1014] [OPTIONAL] # Set the size at which to chunk (Advise to use the setting under global.grid)
var_as_band = true [OPTIONAL] # true or false # Read netCDF subdatasets as raster bands
[vulnerability]
file = 'vulnerability/vulnerability_curves.csv'
step_size = 0.01 [OPTIONAL] # Interpolation scale for the vulnerability curves
No response
No response
Adding new functionality
Calculate the risk in regards to hazards for certain return periods.
While the concurrency part is there, the risk calculation is not.
Write the logic of the risk calculation as a function and implement that in the _patch_up function of the GeomModel.
No response
Adding new functionality
We need to brainstorm about somehow summing up and writing out the total damage of vector and raster data.
This still needs to be designed.
No response
Lazy reading
Adding new functionality
Write function to check e.g. alignment of data, mandatory columns etc.
No response
Needs refinement.
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Brendan checkt de logic branch
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
No response
I have checked that this issue has not already been reported.
I have checked that this bug exists on the latest version of Delft-FIAT.
No response
No response
No response
No response
I have checked that this issue has not already been reported.
I have checked that this bug exists on the latest version of Delft-FIAT.
Any run where "datum" is used as reference in the hazard.
Delft-FIAT/src/delft_fiat/models/util.py
Line 57 in 1cd98bd
, the ground elevation of the object is not provided, so a default of zero is used.
The actual ground elevation of the object should be used before calculating the indundation depth.
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
No response
I have checked that this issue has not already been reported.
I have checked that this bug exists on the latest version of Delft-FIAT.
If a water level maps is used, where negative values exist, they will be assumed as zero.
For example if water level is -1 and an object has elevation of -2, while in reality it will be inundated be 1 m water depth, FIAT will assume it is not.
If a water level maps are used, where negative values exist, they will be assumed as zero.
Delft-FIAT/src/delft_fiat/models/calc.py
Line 146 in 1cd98bd
First translate to water depth and then do the <0 check.
No response
Adding new functionality
Write the docstrings of functions and methods
Write docstrings...
No response
Column name in exposure CSV:
"Damage Function: {naam van schade functie}", bijv. "Damage Function: Structure" en deze linkt dan aan de "Max Potential Damage: {naam van schade functie}" bijv. "Max Potential Damage: Structure"
Adding new functionality
The ability to view the missed/ skipped objects from the calculations
Log those missing/ skipped objects to a txt file.
Log a message telling the user if there are missing values.
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Test if this works with all assets in one CSV (some with method = centroid en some with method = area). Collect all results from different methods.
No response
No response
In de exposure CSV:
I have checked that this issue has not already been reported.
I have checked that this bug exists on the latest version of Delft-FIAT.
No response
No response
No response
No response
Changing existing functionality
A real way of settings the srs of the hazard file from the settings toml.
Two options:
Use the CRS as a string variable throughout the model
Write a new file with the srs in it and use that.
Settings the srs in an existing file produces some irregular behaviour.
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Proper 2D functionality for both Small and Large CSV structs.
Write it as to resemble a tabular structure.
Ensure same speed as the old structs.
No response
Adding new functionality
Multiprocess multiple bands
Manager thread to write data
Write it into the geom-/ grid models
Causes headaches...
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Save results as:
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Copy (partialy) from FIAT-Objects.
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Implement a simple integration test that does a full FIAT run. This does not need to output the aggregation excel yet.
No response
No response
Adding new functionality
Add the raster model into the current codebase.
Mock-up is already present.
Write it like the vector model in terms of structure.
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
No response
No response
No response
Adding new functionality
Improving existing code
Removing deprecated code/ clutter
Implementing the code that is already there to calculate the risk over different return period damages. Use workers to use different processes for multiple hazard maps with different return periods.
Als er meerdere bands in de netCDF staan dan wordt er altijd over geloopt.
In settings.toml "risk = True" of "risk = False", als deze true is dan wordt de EAD berekend (risico)
No response
No response
Adding new functionality
Write more ACCURATE tests.
Add a list below of testing that should be done (IN PROGRESS):
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.