FEWS-3Di耦合
项目描述
从FEWS启动3Di模拟的程序。
安装和使用
可以使用python 3.6+安装
$ pip install fews-3di
脚本名为run-fews-3di,您可以使用--help获取使用说明,使用--verbose在出现问题时获取更详细的输出。
run-fews-3di默认在当前目录中查找run_info.xml,但您可以使用--settings传递不同位置的不同文件。
$ run-fews-3di $ run-fews-3di --help $ run-fews-3di --settings /some/directory/run_info.xml
配置和输入/输出文件
run_info.xml中预期的信息是
<?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>
注意: saved_state_expiry_days 之前曾拼写为 save_state_expiry_days,没有“d”。示例雷达 uuid 是荷兰降雨雷达(NRR)。
save_state: 此选项启用使用和保存状态文件。要使用热状态,请提供一个包含 id 的文本文件,并将其放置在状态文件夹中,文件名为 states/3di-saved-state-id.txt。以类似方式提供冷状态,文件名为:states/3di-cold-state-id.txt。如果启用此选项,则在模拟完成后,将更新保存状态 id 的文件 states/3di-saved-state-id.txt。
fews_state_management: 可设置为 False 以覆盖 FEWS 的基于文件的文件管理。取而代之的是,仅将状态存储在 3Di 数据库中,可以使用选项 use_last_available_state 来获取。默认 True。
use_last_available_state: 要跳过状态管理系统并直接从 3Di 数据库中获取最后一个可用的状态,可以将选项 use_last_available_state 设置为 True。
save_state_time: 此参数定义在模拟中保存状态的时间(以秒为单位)。如果为空,则使用模拟的末尾。
saved_state_expiry_days: 可以设置过期时间以存储状态一段时间,以便进行回溯预测,同时防止使用过多存储空间。
rain_type: 配置中可以使用多个雨型。
constant
radar
custom
- rain_input: 根据所选雨型,必须在配置中提供雨输入
。
constant –> integer [m/s]
radar –> lizard uuid
custom –> 两种选项:rain_csv 或 rain_netcdf。这些文件必须存储在输入目录中,分别为 input/rain.csv 和 input/precipitation.nc。
- rain_radar_multiplier: 可用于将雨输入 radar 乘以一个常数值。这可以用于校正雷达输入。默认值为 1.0。
constant
- radar
custom
- rain_radar_multiplier: 可用于将雨输入 radar 乘以一个常数值。这可以用于校正雷达输入。默认值为 1.0。
fews_pre_processing: 可以为 True 或 False。如果需要 fews 的结果,则必须为 True,因为需要额外的结果预处理。
- initial_waterlevel: 可以是 min、max 或 mean。当指定时,将考虑初始水位栅格。如果为空,则模拟中不使用初始水位。
initial_waterlevel: 如果要使用在设置中定义的初始水位栅格(如果没有预定义初始水位,则留空)
min
mean
max
api_host:(可选)可以在此处添加 api_host 地址。如果没有提供,则将使用默认的 api_host 地址(”https://api.3di.live/v3.0”)。
use_lizard_timeseries_as_boundary:(可选)可以是 True 或 False。如果必须通过 boundary_file.json 更新模拟的边界条件,则必须为 True。
boundary_file:(可选)如果 use_lizard_timeseries_as_boundary 为 True,则将更新的边界 json 文件的名称。不会对文件的内容进行检查。
simulation_template:(可选)用于模拟的模拟模板的名称。如果没有提供,则默认为 default,这是在模型创建时生成的模拟模板。
需要几个输入文件,它们应位于与 run_info.xml 相对的 input 目录中。
run_info.xml
input/lateral.csv
input/precipitation.nc
input/evaporation.nc
input/boundary_file.json
input/ow.nc
model/gridadmin.h5
输出存储在与 run_info.xml 相对的 output 目录中。
output/simulation.log(不可用,但包含在zip文件中)
output/flow_summary.log(相同)
output/log_files_sim_ID.zip
output/results_3di.nc
output/dischages.csv
output/ow.nc
开发
开发在github上进行。有关更多信息,请参阅 DEVELOPMENT.rst。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。