Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(adapters): add user provided netcdf forcing #621

Closed
wants to merge 187 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
11aa91c
refactor: implement IHazardAdapter
LuukBlom Jun 17, 2024
0656943
cleanup of sfincsadapter, make distinction between public and private…
LuukBlom Jun 19, 2024
e9a587c
rename private member variables to start with '_'
LuukBlom Jun 19, 2024
bed4ac1
Implement timeseries class
LuukBlom Jun 20, 2024
a019ede
feat: work on timeseries class + tests
LuukBlom Jun 21, 2024
3ab045e
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Jun 24, 2024
c1346b9
implement minor review comments
LuukBlom Jun 25, 2024
f00d548
Merge branch 'main' of https://github.com/Deltares-research/FloodAdap…
LuukBlom Jun 25, 2024
6c6a879
first implementation of historical events
LuukBlom Jun 25, 2024
08d1c6c
work on historical event & forcing implementation
LuukBlom Jun 26, 2024
d6d275e
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Jul 1, 2024
d02387c
implement historical event class
LuukBlom Jul 1, 2024
877c560
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Jul 2, 2024
0d06b2f
Separate interfaces and concrete implementations
LuukBlom Jul 2, 2024
2793500
fix timeseries tests and fix unitfulvalue conversion factors
LuukBlom Jul 8, 2024
8304c8d
added tests for unitfulvalue
LuukBlom Jul 9, 2024
776220b
add waterlevel synthetic forcing test
LuukBlom Jul 11, 2024
07deed7
change importing of the database to stop circular imports
LuukBlom Jul 12, 2024
eac06b6
implement waterlevelFromModel + 1 test
LuukBlom Jul 12, 2024
06acb05
waterlevel forcings completed
LuukBlom Jul 15, 2024
ea9d0a9
reworked the calculation/adding of synthetic timeseries
LuukBlom Jul 17, 2024
5e1c5a9
add tests for forcings and forcing factory, implement hurricane
LuukBlom Jul 22, 2024
0586d32
cleanup tests
LuukBlom Jul 22, 2024
90cea4d
Implement discharge tests
LuukBlom Jul 23, 2024
38bf63c
add tests for sfincsAdapter::add_discharge_forcing
LuukBlom Jul 24, 2024
29394df
Implement FloodMap class. Refactor scenario.run() to use the new Sfin…
LuukBlom Jul 24, 2024
94a0134
add accidentally removed functions back in sfincsadapter
LuukBlom Jul 25, 2024
9a6b16e
revert Unittypesintensity `_` to `/`
LuukBlom Jul 26, 2024
88dcfb4
add abstract class IDatabaseUser to stop circular imports wrt the Dat…
LuukBlom Jul 26, 2024
54892eb
fix tests so the IDatabaseUser-Children are green again
LuukBlom Jul 26, 2024
47e1dbb
implement tests for measures and projections.
LuukBlom Jul 30, 2024
226ea55
get scneario.run working - hazard part
LuukBlom Jul 31, 2024
dd3eed0
fix errors in other parts of the code
Jul 31, 2024
2e60737
resolve merge conflicts
Jul 31, 2024
538eb7d
create meteo.py with static functions for downloading and reading.
Jul 31, 2024
525335f
add deprecation warnings for old database usages
Jul 31, 2024
7f547bc
add deprecation warnings, black and ruff
Jul 31, 2024
d3f655b
cleanup
Jul 31, 2024
366b147
Add (de-)serialization for forcings.
Aug 1, 2024
d7d73ba
partly implement eventset
Aug 1, 2024
d327acf
eventset implementation now working, fiat crashes unfortunately
Aug 2, 2024
c444cb4
feat: Add CRS field to SiteModel
Aug 5, 2024
97a2a20
added functions to the factories for use in the gui
Aug 6, 2024
4e91e2e
chore: include default methods for different forcing & event types
Aug 8, 2024
939f41e
chore: Refactor default and get_data methods in event and forcing cla…
Aug 15, 2024
3bfafa7
fix discharge synthetic get_data function
Aug 22, 2024
f327b49
implement save_additional()
LuukBlom Sep 19, 2024
d0cc37d
move read_csv to io
LuukBlom Sep 20, 2024
7f868ee
fix tests
LuukBlom Oct 1, 2024
7f60ad4
fix tests for eventset
LuukBlom Oct 2, 2024
fd4e5a5
add tests for meteo and tests for sfincsadapter
LuukBlom Oct 2, 2024
0ea3e3b
Ignore flood_adapt/system in gitignore
LuukBlom Oct 2, 2024
389048d
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Oct 2, 2024
abdfe13
fix merge conflicts
LuukBlom Oct 2, 2024
2490f26
add logic for reading csv timeseries files that contain more data tha…
LuukBlom Oct 4, 2024
03e63d2
add tests for csv module
LuukBlom Oct 7, 2024
b4c49bd
added dditional_files arg to all save() functions of object models.
LuukBlom Oct 11, 2024
618301b
implement saving additional files for all object_models. TODO add tes…
LuukBlom Oct 11, 2024
377fea3
WIP tests additional files. TODO finish event tests
LuukBlom Oct 14, 2024
15b0e8e
finish tests for events and measures
LuukBlom Oct 14, 2024
ba8f5d7
Merge branch 'main' into 553-new-development-area-shapefile-not-copie…
LuukBlom Oct 14, 2024
613e76a
go through PR and fix mistakes
LuukBlom Oct 15, 2024
50f2408
remove dditional_files argument and make default behaviour to always…
LuukBlom Oct 15, 2024
20f8fd7
Merge branch 'main' into 553-new-development-area-shapefile-not-copie…
LuukBlom Oct 15, 2024
1a03896
Whoops huge commit.
LuukBlom Oct 21, 2024
81396ad
small bug fixes + rename of util func
LuukBlom Oct 21, 2024
8ff7f38
moved code from pathbuilder to interface.database
LuukBlom Oct 22, 2024
287a269
revert pathbuilder change due to circular dependency
LuukBlom Oct 22, 2024
54e3dd0
finish implementation and use of IObject subclasses in other parts of…
LuukBlom Oct 22, 2024
5264ab6
temporary fix for until the hazard refactor to prevent trying to read…
LuukBlom Oct 22, 2024
0741ece
go through PR and fix obvious stuff
LuukBlom Oct 22, 2024
2fd69d7
Fix tide gauge implementation. get gui working again so Sarah can do …
LuukBlom Oct 23, 2024
c4dac3d
bugfix read_csv
LuukBlom Oct 24, 2024
6679000
Add MeteoHandler class + tests
LuukBlom Oct 25, 2024
c03dbfe
remove meteohandler from class attribute and construct it in the get_…
LuukBlom Oct 28, 2024
33b7498
corrected small bug when calling the resolve_filepath method
panosatha Oct 29, 2024
658a3e6
fix file handling for events
LuukBlom Oct 30, 2024
1fa9b8d
Merge branch '553-new-development-area-shapefile-not-copied-in-projec…
LuukBlom Oct 30, 2024
3c92acc
remove obsolete api func
LuukBlom Oct 30, 2024
e5f9eb1
Merge branch 'main' into 553-new-development-area-shapefile-not-copie…
LuukBlom Oct 30, 2024
ea23e77
remove duplicate api func
LuukBlom Oct 30, 2024
f0ce9f2
filter invalid datetime from index to stop errors in hydromt-sfincs
LuukBlom Oct 31, 2024
2b6e0a3
move validation of overlapping measures to the save function of dbs_s…
LuukBlom Nov 1, 2024
1b49e25
make sure that shapefiles can correctly be imported to the database
panosatha Nov 1, 2024
900f772
added overlapping measures check to dbs_strategy
LuukBlom Nov 1, 2024
5c00c24
api correction
panosatha Nov 1, 2024
a4c1736
Merge branch '553-new-development-area-shapefile-not-copied-in-projec…
LuukBlom Nov 1, 2024
ac15f72
instead of saving the name, also save the index in the cyc_db as ther…
LuukBlom Nov 1, 2024
a186cd4
hurricanes events expect either a .cyc file in the same dir as the to…
LuukBlom Nov 1, 2024
ca912ca
fixed broken test
LuukBlom Nov 1, 2024
4e52892
fixed error for meteo no data exception raised in hydromt data
LuukBlom Nov 4, 2024
fd285fe
removed mocking in the tests for sfincs adapter.
LuukBlom Nov 4, 2024
8d70785
WIP wind synthetic in the frontend
LuukBlom Nov 5, 2024
e665c5f
fix copying of objects with additional files
LuukBlom Nov 5, 2024
79c10af
update allowed forcings
LuukBlom Nov 5, 2024
1ff540e
wip hurricanes
LuukBlom Nov 6, 2024
9c5d16b
finished hurricane event implementation
LuukBlom Nov 6, 2024
4d909a8
update rainfall_increase attribute to multiplier and improve rainfall…
LuukBlom Nov 7, 2024
a81e22c
save all additional files by default
LuukBlom Nov 11, 2024
87f8ef1
bugfix save_additional
LuukBlom Nov 11, 2024
c82c4f4
fix api output -> infographics to use the FloodMap class
LuukBlom Nov 11, 2024
e1c7dbf
added imports to expose to the api
LuukBlom Nov 11, 2024
85cf446
WIP commit
LuukBlom Nov 14, 2024
6d42bd7
implement discharge forcings to have a rivermodel
LuukBlom Nov 15, 2024
223a191
bugfix hurricane event handling of spw files
LuukBlom Nov 15, 2024
542ee85
cleanup imports
LuukBlom Nov 18, 2024
0194fea
WIP impl save_additional
LuukBlom Nov 18, 2024
ac89988
fix merge conflicts and tests
LuukBlom Nov 18, 2024
2541b2b
added generic typevar to dbstemplate so typechecking works again
LuukBlom Nov 19, 2024
543cf9f
added unitsystem configuration to Settings class
LuukBlom Nov 19, 2024
0bd4d19
added generic T to fix load_file and load_dict return types
LuukBlom Nov 19, 2024
c74bfb0
add get_forcings() to event class
LuukBlom Nov 19, 2024
a352224
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Nov 19, 2024
4933a72
cleanup of functions in sfincsadapter
LuukBlom Nov 20, 2024
2d33c57
?
LuukBlom Nov 20, 2024
1fcee01
remove newlines from template description since they are added in the…
LuukBlom Nov 20, 2024
9e28400
standardize imports
LuukBlom Nov 20, 2024
6915f32
fixed broken property
LuukBlom Nov 20, 2024
5579820
added rainfallCSV
LuukBlom Nov 20, 2024
3561d31
added scs + tests
LuukBlom Nov 21, 2024
2d6e886
improve flexibility for plotting
LuukBlom Nov 21, 2024
f221d94
prevent SameFileError when copying SPW file and add test for SCS shap…
LuukBlom Nov 21, 2024
1aceb44
added a test for 2 rivers
LuukBlom Nov 21, 2024
ede36d2
replace print statements with logger statements
LuukBlom Nov 21, 2024
1ba14e6
WIP commit offshorehandler
LuukBlom Nov 25, 2024
f147d97
added logging statements
LuukBlom Nov 25, 2024
52a3c40
removed logging from database user
LuukBlom Nov 26, 2024
8868dd7
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Nov 26, 2024
441f92a
update .vscode and settings
LuukBlom Nov 26, 2024
380bb55
cleanup commented settings
LuukBlom Nov 26, 2024
3589300
refactor imports in tests to use pytest config
LuukBlom Nov 26, 2024
d3d27ee
use type instead of str
LuukBlom Nov 26, 2024
4041b3b
WIP unitsystem
LuukBlom Nov 27, 2024
4bd0d06
simplify measures in the backend by removing HazardType & ImpactType …
LuukBlom Nov 27, 2024
17bf4b0
refactor: update method signatures and improve type handling across m…
LuukBlom Nov 28, 2024
c21db4d
refactor discharge handling, improve event interfacing / event sets
LuukBlom Dec 2, 2024
0fbffaf
enhance event model by adding SYNTHETIC source to DISCHARGE forcing t…
LuukBlom Dec 2, 2024
5d5dbd2
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Dec 2, 2024
14a9db2
delete hazard.py
LuukBlom Dec 2, 2024
83fd0d7
refactor: implement context management for FiatAdapter and update dir…
LuukBlom Dec 3, 2024
ecaad2f
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Dec 3, 2024
e45b256
improve asserts in tests for sfincs adapter. Added mocking for expens…
LuukBlom Dec 3, 2024
37b9e34
refactor: add_meteo_forcing tests to use mocked download meteo calls
LuukBlom Dec 4, 2024
8fb0df1
reduce the amount of time meteo downloads take in tests
LuukBlom Dec 5, 2024
732a304
improve sfincs adapter tests
LuukBlom Dec 5, 2024
c1b35b3
add imports in api to expose to gui
LuukBlom Dec 5, 2024
5fb360d
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Dec 5, 2024
485e5bb
get latest docs from main
LuukBlom Dec 6, 2024
77b2c8d
fix(object-model,dbs): Extracted draw hurricane track to a function a…
LuukBlom Dec 6, 2024
ad23749
remove obsolete comment
LuukBlom Dec 6, 2024
63b76b9
fix(doc): install tomli_w when building docs in ci
savente93 Dec 9, 2024
c3a07de
fix(doc): fix typo in dependency in ci
savente93 Dec 9, 2024
5e993d9
Implement review comments from Sam
LuukBlom Dec 10, 2024
00b883b
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Dec 10, 2024
524e10d
fix bug in discharge unit conversion
LuukBlom Dec 12, 2024
b78ac9d
fix discharge conversion bug
LuukBlom Dec 12, 2024
ddc81f1
change default cumulative unit from feet to inch and meters to millim…
LuukBlom Dec 12, 2024
5155ff8
Use mean discharge as the default for the constant discharge
LuukBlom Dec 13, 2024
360812f
bugfix constant timeseries
LuukBlom Dec 13, 2024
6c4ef14
bugfixes for the timeseries calculators + added tests
LuukBlom Dec 13, 2024
971edc1
added fill_value in syntheticTimeseries for use as base discharge
LuukBlom Dec 16, 2024
6011c18
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Dec 16, 2024
29d20a5
bugfix rp_floodmap calculation + tests
LuukBlom Dec 17, 2024
7bad974
WIP move code from forcing get_data to sfincs adapter
LuukBlom Dec 19, 2024
15b2798
WIP remove get_Data functions to be more explicit: forcings contain o…
LuukBlom Dec 20, 2024
7ecf598
add to_dataframe method to forcings where it makes sense
LuukBlom Dec 20, 2024
cd06e87
cleanup to_dataframe function signature
LuukBlom Dec 30, 2024
29cde22
cleanup plotting functions
LuukBlom Dec 30, 2024
c8ddb63
fixed unit conversions for sfincs adapter
LuukBlom Dec 31, 2024
a306238
feat(adapters): ensure there are no forcings in the model since these…
LuukBlom Jan 3, 2025
ac08c0c
Added reusable netcdf validator
LuukBlom Jan 3, 2025
bbc45d9
implemented NETCDF forcings + tests
LuukBlom Jan 3, 2025
4b1a663
Implement add_forcing methods for NetCDF forcing classes
LuukBlom Jan 6, 2025
b2d0eb7
add check for timestep < 1H to netcdf validator
LuukBlom Jan 6, 2025
54b5fe3
implement review comments
LuukBlom Jan 6, 2025
96d9039
removed TODO and made issue
LuukBlom Jan 6, 2025
ed39dc5
fix typo
LuukBlom Jan 6, 2025
26f710e
Merge branch 'main' into refactor/hazard-adapter-and-events
LuukBlom Jan 6, 2025
ef5e8a2
fixed broken tests
LuukBlom Jan 6, 2025
f178c56
added exclude_none=True to `__eq__` method of objectmodel
LuukBlom Jan 7, 2025
053299b
add tomli_w to docs env
LuukBlom Jan 8, 2025
f23f409
fixed docs workflow
LuukBlom Jan 8, 2025
3ea814d
bugfix docs env
LuukBlom Jan 8, 2025
6999891
bugfix docs env
LuukBlom Jan 8, 2025
c66afe3
fix quarto.yml
LuukBlom Jan 8, 2025
5a245fe
fix quarto.yml
LuukBlom Jan 8, 2025
1c6f9a5
Merge branch 'refactor/hazard-adapter-and-events' into feat/430-user-…
LuukBlom Jan 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ jobs:

- name: Setup env
run: |
pip install tomli
mamba env create --file=docs/environment_docs.yml
mamba run -n floodadapt_docs pip install . --no-deps
VERSION=$(mamba run -n floodadapt_docs python -c "from flood_adapt import __version__; print(__version__)")
Expand Down
11 changes: 8 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -159,17 +159,22 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
.vscode/settings.json
.vscode/launch.json
*.code-workspace

/.idea
/.pytest_cache
.vscode/launch.json

flood_adapt/system
flood_adapt/system/
/tests/test_database
/tests/system
system/

# Pixi
.pixi

# FloodAdapt
*.spw

# auto generated docs
docs/api_ref
5 changes: 3 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ repos:
- id: check-toml
- id: check-merge-conflict
- id: check-added-large-files
exclude: '^environment/'
exclude: ^(environment/)$
args: [--maxkb=10240] # 10MB
- id: check-merge-conflict
- id: trailing-whitespace
- repo: https://github.com/astral-sh/ruff-pre-commit
Expand All @@ -19,9 +20,9 @@ repos:
# Run the linter.
- id: ruff
args: ['--fix', --exit-non-zero-on-fix]

# Run the formatter.
- id: ruff-format

- repo: https://github.com/crate-ci/typos
rev: v1.23.6
hooks:
Expand Down
11 changes: 11 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"recommendations": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff",
"ms-toolsai.jupyter",
"github.copilot",
"tamasfe.even-better-toml",
"aaron-bond.better-comments",
]
}
16 changes: 16 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": false,
},
]
}
46 changes: 46 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
// Python settings
"python.analysis.typeEvaluation.strictDictionaryInference": true,
"python.analysis.typeEvaluation.strictListInference": true,
"python.analysis.typeEvaluation.strictSetInference": true,
"python.missingPackage.severity": "Error",

"debug.console.closeOnEnd": true,
"debugpy.debugJustMyCode": false,
"diffEditor.ignoreTrimWhitespace": false,
// add me when pixi "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
// add me when pixi "python.testing.pytestPath": "${workspaceFolder}/.venv/bin/pytest",
"python.analysis.autoSearchPaths": true,
"python.analysis.diagnosticSeverityOverrides": {
"reportMissingImports": "none"
},
// "python.analysis.extraPaths": [
// "${workspaceFolder}/flood_adapt"
// ],
"python.envFile": "${workspaceFolder}/.env",
"python.analysis.exclude": [
"**/site-packages/**",
"**/_extensions/**",
"**/dist/**",
"**/build/**",
"**/__pycache__/**",
"**/.quarto/**",
"**/.pixi/**",
"**/.github/**",
"**/.teamcity/**",
"**/.vscode/**",
"**/.git/**",
"**/.mypy_cache/**",
"**/.pytest_cache/**",
],

// Test settings
"python.testing.autoTestDiscoverOnSaveEnabled": true,
"python.analysis.enablePytestSupport": true,
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,
"python.testing.promptToConfigure": true,
"python.testing.pytestArgs": [
"tests"
],
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ FloodAdapt uses a database to store, handle and organize input files, output fil
To initialize floodadapt and configure the database, add the following lines to the top of your script / initialize function to validate and set the environment variables:
```python
from pathlib import Path
from flood_adapt.config import Settings
from flood_adapt.misc.config import Settings

# Usually ends in `Database` and can contain multiple sites
root = Path("path/to/your/database/root")
Expand Down
2 changes: 0 additions & 2 deletions distribution/build_database_builder_executable.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ def run_pyinstaller() -> None:

command.append("--collect-all=flood_adapt")
command.append("--recursive-copy-metadata=flood_adapt")
command.append("--hiddenimport=scipy.special._special_ufuncs")
command.append("--hiddenimport=scipy._lib.array_api_compat.numpy.fft")
command.append("--collect-all=rasterio")
command.append("--collect-all=pyogrio")
command.append("--collect-all=xugrid")
Expand Down
11 changes: 7 additions & 4 deletions docs/_quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,16 @@ quartodoc:
- name: dbs_classes.dbs_static.DbsStatic
- name: dbs_classes.dbs_strategy.DbsStrategy
- name: dbs_classes.dbs_template.DbsTemplate
- name: dbs_controller.Database
- name: dbs_classes.database.Database
- name: object_model.benefit.Benefit
- name: object_model.direct_impacts.DirectImpacts
- name: adapter.direct_impacts_integrator.DirectImpacts
- name: object_model.scenario.Scenario
- name: object_model.site.Site
- name: object_model.interface.site.Site
- name: object_model.strategy.Strategy
- name: FloodAdaptLogging
- name: misc.log.FloodAdaptLogging
- name: misc.config.Settings
- name: misc.config.UnitSystem

package: flood_adapt

website:
Expand Down
4 changes: 3 additions & 1 deletion docs/environment_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ dependencies:
- sphinx_rtd_theme
- sphinx-markdown-builder
- setuptools>=61.0.0
- tomli
- pip:
- tomli
- tomli_w
- quartodoc
- pydantic_settings
11 changes: 6 additions & 5 deletions flood_adapt/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from pathlib import Path

# has to be here at the start to avoid circular imports
__version__ = "0.1.3"
SRC_DIR: Path = Path(__file__).parent
__version__ = "0.2.0"

from flood_adapt.misc.config import Settings
from flood_adapt.misc.log import FloodAdaptLogging
from flood_adapt.object_model.io import unit_system as unit_system

from flood_adapt.log import FloodAdaptLogging # noqa: E402
__all__ = ["Settings", "FloodAdaptLogging", "unit_system"]

FloodAdaptLogging() # Initialize logging once for the entire package
Loading