flood-adapt 1.1.1__tar.gz → 1.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/PKG-INFO +1 -1
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/__init__.py +1 -1
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/sfincs_adapter.py +26 -20
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/__init__.py +17 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/database_builder.py +252 -172
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/metrics_utils.py +18 -28
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/database.py +1 -1
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/tide_gauge.py +2 -1
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt.egg-info/PKG-INFO +1 -1
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/LICENSE +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/README.md +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/fiat_adapter.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/interface/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/interface/hazard_adapter.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/interface/impact_adapter.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/interface/model_adapter.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/interface/offshore.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/adapter/sfincs_offshore.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/config.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/fiat.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/gui.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/hazard.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/impacts.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/sfincs.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/config/site.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/default_units/imperial.toml +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/default_units/metric.toml +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/green_infra_table/green_infra_lookup_table.csv +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/black_down_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/black_left_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/black_right_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/black_up_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-16_white_down.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-16_white_left.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-16_white_right.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-16_white_up.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-24_black_down.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-24_black_left.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-24_black_right.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-24_black_up.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-24_white_left.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/icons8-triangle-arrow-24_white_right.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/white_down_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/white_left_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/white_right_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/icons/white_up_48x48.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/ambulance.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/car.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/cart.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/firetruck.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/hospital.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/house.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/info.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/money.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/person.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/school.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/truck.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/images/walking_person.png +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/infographics/styles.css +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/database_builder/templates/output_layers/bin_colors.toml +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_benefit.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_event.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_measure.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_projection.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_scenario.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_static.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_strategy.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/dbs_template.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/interface/database.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/interface/element.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/dbs_classes/interface/static.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/flood_adapt.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/database_user.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/debug_timer.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/exceptions.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/log.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/path_builder.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/misc/utils.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/benefits/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/benefits/benefits.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/event_factory.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/event_set.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/events.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/historical.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/hurricane.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/events/synthetic.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/csv.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/discharge.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/forcing.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/forcing_factory.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/meteo_handler.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/netcdf.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/plotting.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/rainfall.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/time_frame.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/timeseries.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/unit_system.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/waterlevels.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/forcing/wind.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/measures/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/measures/measure_factory.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/measures/measures.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/object_model.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/output/floodmap.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/projections/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/projections/projections.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/scenarios/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/scenarios/scenarios.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/strategies/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/objects/strategies/strategies.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/workflows/__init__.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/workflows/benefit_runner.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt/workflows/scenario_runner.py +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt.egg-info/SOURCES.txt +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt.egg-info/dependency_links.txt +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt.egg-info/not-zip-safe +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt.egg-info/requires.txt +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/flood_adapt.egg-info/top_level.txt +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/pyproject.toml +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/setup.cfg +0 -0
- {flood_adapt-1.1.1 → flood_adapt-1.1.3}/tests/test_flood_adapt.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: flood-adapt
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.3
|
|
4
4
|
Summary: A software package support system which can be used to assess the benefits and costs of flood resilience measures
|
|
5
5
|
Author-email: Gundula Winter <Gundula.Winter@deltares.nl>, Panos Athanasiou <Panos.Athanasiou@deltares.nl>, Frederique de Groen <Frederique.deGroen@deltares.nl>, Tim de Wilde <Tim.deWilde@deltares.nl>, Julian Hofer <Julian.Hofer@deltares.nl>, Daley Adrichem <Daley.Adrichem@deltares.nl>, Luuk Blom <Luuk.Blom@deltares.nl>
|
|
6
6
|
License: ====================================================
|
|
@@ -677,23 +677,20 @@ class SfincsAdapter(IHazardAdapter):
|
|
|
677
677
|
|
|
678
678
|
def add_obs_points(self):
|
|
679
679
|
"""Add observation points provided in the site toml to SFINCS model."""
|
|
680
|
-
|
|
680
|
+
obs_points = self.settings.obs_point
|
|
681
|
+
if not obs_points:
|
|
681
682
|
return
|
|
682
|
-
logger.info("Adding observation points to the overland flood model")
|
|
683
683
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
names.append(pt.name)
|
|
690
|
-
lat.append(pt.lat)
|
|
691
|
-
lon.append(pt.lon)
|
|
692
|
-
|
|
693
|
-
# create GeoDataFrame from obs_points in site file
|
|
684
|
+
names = [pt.name for pt in obs_points]
|
|
685
|
+
lat = [pt.lat for pt in obs_points]
|
|
686
|
+
lon = [pt.lon for pt in obs_points]
|
|
687
|
+
|
|
688
|
+
logger.info("Adding observation points to the overland flood model")
|
|
694
689
|
df = pd.DataFrame({"name": names})
|
|
695
690
|
gdf = gpd.GeoDataFrame(
|
|
696
|
-
df,
|
|
691
|
+
df,
|
|
692
|
+
geometry=gpd.points_from_xy(lon, lat),
|
|
693
|
+
crs="EPSG:4326",
|
|
697
694
|
)
|
|
698
695
|
|
|
699
696
|
# Add locations to SFINCS file
|
|
@@ -1310,10 +1307,14 @@ class SfincsAdapter(IHazardAdapter):
|
|
|
1310
1307
|
)
|
|
1311
1308
|
return
|
|
1312
1309
|
|
|
1310
|
+
model_rivers = self._read_river_locations()
|
|
1311
|
+
if model_rivers.empty:
|
|
1312
|
+
logger.warning(
|
|
1313
|
+
"Cannot add discharge forcing: No rivers defined in the sfincs model."
|
|
1314
|
+
)
|
|
1315
|
+
return
|
|
1313
1316
|
logger.info(f"Setting discharge forcing for river: {discharge.river.name}")
|
|
1314
|
-
|
|
1315
1317
|
time_frame = self.get_model_time()
|
|
1316
|
-
model_rivers = self._read_river_locations()
|
|
1317
1318
|
|
|
1318
1319
|
# Check that the river is defined in the model and that the coordinates match
|
|
1319
1320
|
river_loc = shapely.Point(
|
|
@@ -1711,17 +1712,22 @@ class SfincsAdapter(IHazardAdapter):
|
|
|
1711
1712
|
|
|
1712
1713
|
def _read_river_locations(self) -> gpd.GeoDataFrame:
|
|
1713
1714
|
path = self.get_model_root() / "sfincs.src"
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1715
|
+
lines = []
|
|
1716
|
+
if path.exists():
|
|
1717
|
+
with open(path) as f:
|
|
1718
|
+
lines = f.readlines()
|
|
1717
1719
|
coords = [(float(line.split()[0]), float(line.split()[1])) for line in lines]
|
|
1718
1720
|
points = [shapely.Point(coord) for coord in coords]
|
|
1719
1721
|
|
|
1720
1722
|
return gpd.GeoDataFrame({"geometry": points}, crs=self._model.crs)
|
|
1721
1723
|
|
|
1722
1724
|
def _read_waterlevel_boundary_locations(self) -> gpd.GeoDataFrame:
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
+
path = self.get_model_root() / "sfincs.bnd"
|
|
1726
|
+
lines = []
|
|
1727
|
+
if path.exists():
|
|
1728
|
+
with open(path) as f:
|
|
1729
|
+
lines = f.readlines()
|
|
1730
|
+
|
|
1725
1731
|
coords = [(float(line.split()[0]), float(line.split()[1])) for line in lines]
|
|
1726
1732
|
points = [shapely.Point(coord) for coord in coords]
|
|
1727
1733
|
|
|
@@ -10,6 +10,16 @@ from flood_adapt.database_builder.database_builder import (
|
|
|
10
10
|
create_database,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
|
+
from .metrics_utils import (
|
|
14
|
+
BuildingsInfographicModel,
|
|
15
|
+
EventInfographicModel,
|
|
16
|
+
HomesInfographicModel,
|
|
17
|
+
ImpactCategoriesModel,
|
|
18
|
+
MetricModel,
|
|
19
|
+
RiskInfographicModel,
|
|
20
|
+
RoadsInfographicModel,
|
|
21
|
+
)
|
|
22
|
+
|
|
13
23
|
__all__ = [
|
|
14
24
|
"Basins",
|
|
15
25
|
"ConfigModel",
|
|
@@ -20,4 +30,11 @@ __all__ = [
|
|
|
20
30
|
"TideGaugeConfigModel",
|
|
21
31
|
"UnitSystems",
|
|
22
32
|
"create_database",
|
|
33
|
+
"BuildingsInfographicModel",
|
|
34
|
+
"EventInfographicModel",
|
|
35
|
+
"HomesInfographicModel",
|
|
36
|
+
"MetricModel",
|
|
37
|
+
"RiskInfographicModel",
|
|
38
|
+
"RoadsInfographicModel",
|
|
39
|
+
"ImpactCategoriesModel",
|
|
23
40
|
]
|