Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nens/fews-3di
FEWS-3di coupling
https://github.com/nens/fews-3di
Last synced: 4 days ago
JSON representation
FEWS-3di coupling
- Host: GitHub
- URL: https://github.com/nens/fews-3di
- Owner: nens
- License: mit
- Created: 2020-03-23T13:32:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-29T14:40:40.000Z (8 months ago)
- Last Synced: 2024-04-12T01:12:28.682Z (7 months ago)
- Language: Python
- Size: 3.27 MB
- Stars: 0
- Watchers: 16
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
README
fews-3di
==========================================Program to start `3Di `_ simulations from
FEWS.Installation and usage
----------------------We can be installed using python 3.6+ with::
$ pip install fews-3di
The script is called ``run-fews-3di``, you can pass ``--help`` to get usage
instructions and ``--verbose`` to get more verbose output in case of problems.``run-fews-3di`` looks for a ``run_info.xml`` in the current directory by
default, but you can pass a different file in a different location with
``--settings``::$ run-fews-3di
$ run-fews-3di --help
$ run-fews-3di --settings /some/directory/run_info.xmlConfiguration and input/output files
------------------------------------The expected information in run_info.xml is::
**Note:** ``saved_state_expiry_days`` used to be spelled as
``save_state_expiry_days``, without a "d". The example radar uuid is the Dutch
rainfall radar (NRR).**save_state:** This option enables using and saving state files. To use a warm
state provide a text file with id in the states folder using the name
``states/3di-saved-state-id.txt``. A cold state is supplied in a similar way
with the name: ``states/3di-cold-state-id.txt``. If this option is enabled, after
the simulation the id of the saved state at is updated in same file
``states/3di-saved-state-id.txt``.**fews_state_management:** Can be set to `False` to overrule the filebased state
management for FEWS. Instead only stores states in the 3Di database, which can be picked
up with the option `use_last_available_state`. Default `True`.**use_last_available_state:** To overpass the state management system and
directly take the last available state in the 3Di database the option:
``use_last_available_state`` can be set to `True`.**save_state_time:** This parameter defines the time in the simulation
(in seconds) when the state should be saved. If left empty the end of
the simulation is used.**saved_state_expiry_days:** The expiry time can be set to store states
for a relevant period to enable hindcasting and at the same time prevent
the usage of too much storage space.**rain_type:** multipe rain-types can be used in the configuration:
- ``constant``
- ``radar``
- ``custom``
**rain_input:** according to the chosen rain-type, a rain input must be given
in the configuration:- ``constant`` --> ``integer [m/s]``
- ``radar`` --> ``lizard uuid``
- ``custom`` --> two options: ``rain_csv`` or ``rain_netcdf``. These files
must be stored in the input directory as ``input/rain.csv`` and
``input/precipitation.nc``**rain_radar_multiplier:** can be used to multiply the rain_input ``radar``
with a constant value. This can be used to correct the radar input. The
default value is 1.0.**fews_pre_processing:** can be ``True`` or ``False``. Must be True if the
results are needed in fews: additional pre_processing of the results is
needed.**initial_waterlevel:** can be ``min``, ``max``, or ``mean``. When specified
the initial waterlevel raster is taken into account. If left empty no initial
waterlevel is used in the simulation.**initial_waterlevel:** if you want to use the initial waterlevel raster as
defined in the settings (leave empty if no initial waterlevel is predefined):- ``min``
- ``mean``
- ``max``
**api_host:** (optional) api_host address can be added here. If not provided
the default api_host address ("https://api.3di.live/v3.0") will be used.**use_lizard_timeseries_as_boundary:** (optional) can be ``True`` or ``False``.
Must be True if the boundary conditions of the simulation has to be updated by
the boundary_file.json**boundary_file:** (optional) the name of the boundary json file that will be
updated to the simulation if ``use_lizard_timeseries_as_boundary`` is ``True``.
No checks are done for the content of the file.**simulation_template:** (optional) the name of the simulation template to be
used for the simulation. If not provided defaults to ``default``, the
simulation template generated at model creation.Several input files are needed, they should be in the ``input`` directory
**relative** to the ``run_info.xml``:- ``run_info.xml``
- ``input/lateral.csv``
- ``input/precipitation.nc``
- ``input/evaporation.nc``
- ``input/boundary_file.json``
- ``input/ow.nc``
- ``model/gridadmin.h5``
Output is stored in the ``output`` directory relative to the ``run_info.xml``:
- ``output/simulation.log`` (unavailable, but included in the zip)
- ``output/flow_summary.log`` (idem)
- ``output/log_files_sim_ID.zip``
- ``output/results_3di.nc``
- ``output/dischages.csv``
- ``output/ow.nc``
Development
-----------Development happens on github. See ``DEVELOPMENT.rst`` for more information.