wflow A short description and selected case studies Hydrological model wflow • Fully distributed • Can run with limited data input • Two source maps needed: • DEM • Land-use • Preparation script that performs the landscape analysis (catchment delineation etc.) • All model parameters linked to land-use • Can perform state updating in real-time applications • Based upon work for cqflow VU in 2005 and 2006, now adapted for phd project Hylke Beck • Written in python and pcraster • Flexible and open Running fine but not a polished software product Doc in being worked upon Why python/pcraster? • Can use (parts of) exiting pcraster modules • Can use python for generic programming (command-line options, reading XML, updating, debugger, IDE etc) • Free! (pcraster not open soruce but can be downloaded free of charge) • Fast! If you can avoid loops and perform all operation on vectors/matrices • Other operations can also be done in python: • Retrieving ftp data, link to openDAP • Data copying and cleaning • Logging • Plotting and analysis (similar to Matlab) • etc. Why another model? • A balance between conceptual and physical representation of the catchment is needed in many applications • New data sets (DEM, RS data etc) cannot be used by many existing models • This model maximizes the use of available (spatial) data • Can be used in data rich and data sparse environments Ok What can it do? • Simulations of water level and discharge (for simulations or operational purposes) • Investigate the effect of a changing environment (climate, land used, e.g. urbanisation) • Can work on different catchment sizes • All variables are distributed in space • Can start simple and expand later on Bandung Rhine 1: Terrain analysis 1. Optional cutout part of DEM 2. Set outlet at lowest gauge and extra points (for later output) at other gauges using gauge coordinates 3. Determine river network (can use existing to burn-in if needed) 4. Determine LDD and sanitized DEM 5. Resample land-use map to DEM 1: Terrain analysis wflow_catchment.map wflow_dem.map wflow_gauges.map wflow_landuse.map wflow_ldd.map wflow_river.map wflow_streamorder.map wflow_subcatch.map 2: Model parameters • All parameters are linked to landuse/soil types via so called lookup tables • Links parameters to land-use map and/or soil map • Calibration/Verification step The processes: Interception • Rainfall interception via Gash model → daily timesteps The processes: The soil • Soil accounting scheme based on TOPOG_SBM (Vertessy and Elsenbeer 1999) • Schematic representation of the hydrologic processes modeled by Topog_SBM. Symbol definitions: • rf, rainfall; in, infiltration; st, transfer between unsaturated and saturated zone; ie, • infiltration excess; se, saturation excess; ex, exfiltration; of, overland flow; and sf, subsurface flow. The processes: The soil •Inputs to the model: • Et + Es from the canopymodel •Total throughfall + stemflow from the canopy model •Determines: •In- exfiltration •Lateral saturated flow •Transfer between saturated and unsaturated store •Reduces Et + Es to an 'actual evaporation' if water stress occurs (takes rooting depth into account). •Surface runoff via kinematic wave The processes: The soil • • • Ksat decreases exponentially in depth (M parameter) Transfer between unsaturated and saturated store based on K at that depth Infiltration can include • sub-cell parameters for % of compacted soil. Effect of the M parameter Saguling pilot in java Atmospheric forcing the hydrological model simulates reservoir inflows hydrological model Forecasted Atmospheric forcing climate Reservoir model Storage Outflow the reservoir model simulates reservoir levels and outflows Inflow in a reservoir All output distributed Linking to Delft-FEWS Add initial conditions to Delft-FEWS → ColdStates Create General Adapter config Export states Export mapstacks Run model Run postadapter Import mapstacks and/or timeseries States State variables: Water Level Unsaturated staore Surface runoff (Q) Saturated store (FirstZoneDepth) Snow depth (snow) → optional Snow Water → optional Exporting mapstacks Export: P.xml → precipitation PET.xml → potential evapotranspiration TEMP.xml → temperature (optional, only needed for snow simulation) Running the model and adapter wflow [-h][-v level][-F runinfofile][-L logfile][-C casename][-R runId] [-c configfile][-T timesteps][-s seconds][-W][-E][-N][-U discharge] [-P parameter multiplication] <executeActivity> <description>Run wflow</description> <command> <executable>bin-wflow\wflow.exe</executable> </command> Manual gives explanation <arguments> <argument>-C</argument> <argument>rhine</argument> <argument>-F</argument> <argument>rhine/inmaps/runinfo.xml</argument> </arguments> Importing the results <importTimeSeriesActivity> <importFile>%ROOT_DIR%\rhine\run_default\run.tss.xml</importFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>WFLOW_Rhine_GA_Historical</moduleInstanceId> <valueType>scalar</valueType> <parameterId>Q.simulated</parameterId> <locationSetId>Rhine_Distmodel_Gauges</locationSetId> <timeSeriesType>simulated historical</timeSeriesType> <timeStep unit="day" multiplier="1"/> <readWriteMode>add originals</readWriteMode> </timeSeriesSet> </timeSeriesSets> </importTimeSeriesActivity> <importMapStacksActivity> <importFile>%ROOT_DIR%\rhine\run_default\outmaps\run.xml</importFile Results for Rhine @Cochem Deltares is working on expanding and better documenting the model at the moment Mail for more info: jaap.schellekens@deltares.nl Thanks!