Skip to main content

FEWS-3Di coupling

Project description

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.xml

Configuration and input/output files

The expected information in run_info.xml is:

<?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.5">
    <startDateTime date="2020-01-26" time="10:00:00"/>
    <endDateTime date="2020-01-30" time="12:00:00"/>
    <properties>
        <string key="api_token" value="aBCd1234.5678tOkeNabcde"/>
        <string key="organisation" value="12345678abcd"/>
        <string key="modelrevision" value="abcd123456787"/>
        <string key="simulationname" value="Simulation name"/>
        <string key="save_state" value="True"/>
        <string key="fews_state_management" value="True"/>
        <string key="use_last_available_state" value="False" />
        <string key="save_state_time" value="1400"/>
        <string key="saved_state_expiry_days" value="5"/>
        <string key="rain_type" value="radar"/>
        <string key="rain_input" value="730d6675-35dd-4a35-aa9b-bfb8155f9ca7"/>
        <string key="rain_radar_multiplier" value="0.8"/>
        <string key="fews_pre_processing" value="True"/>
        <string key="lizard_results_scenario_name" value="Testsimulatie"/>
        <string key="lizard_results_scenario_uuid" value=""/>
        <string key="initial_waterlevel" value=""/>
        <string key="api_host" value=""/>
        <string key="use_lizard_timeseries_as_boundary" value=""/>
        <string key="boundary_file" value="boundary_file.json"/>
        <string key="simulation_template" value="default"/>
    </properties>
</Run>

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fews_3di-3.7.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

fews_3di-3.7-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file fews_3di-3.7.tar.gz.

File metadata

  • Download URL: fews_3di-3.7.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for fews_3di-3.7.tar.gz
Algorithm Hash digest
SHA256 fc0c5ed03a9d27383aa7a85e92684b0a242808561227ed7f9e87d789bb138c7e
MD5 b1fa865ac557ee33b65a350cd58b9d4c
BLAKE2b-256 42e3a9772a2e50ba8951c6e2f5bc28a6bf7e05e5bbb4dd52b36b66c9fb5ec173

See more details on using hashes here.

File details

Details for the file fews_3di-3.7-py3-none-any.whl.

File metadata

  • Download URL: fews_3di-3.7-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for fews_3di-3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5498b8a3e70dc372f0ee9d9790f4c75f0d29398f1694667b186d968dd05a4b28
MD5 00f3e89c06114c1a4f777cbddda1cdd9
BLAKE2b-256 548eaa5385a6f3258c4d26d5b8c9aa14f6ec345e6ebc3ee68fce334bb9a35746

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page