SlideShare a Scribd company logo
Scripting a Delft-FEWS configuration
“Scripting is the automated creation of parts of a Delft-FEWS configuration, based on
metadata.”
• Gauge locations
• Basin models
• Rating curves
• Thresholds
• …
• Workflow files
• Map layer files
• Topology files
• ModuleDataSetFiles
• …
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
Scripting a Delft-FEWS configuration
What? Why? How?
17:05h
Dr Jan Verkade
November 2, 2020
Scripting a Delft-FEWS
configuration
“Scripting a Delft-FEWS configuration
1. Why at all relevant?
2. What do we mean by “scripting”?
3. Why script?
4. Approaches
− what do we (not) script?
− where do we script from?
− what tools do we use?
5. Example: the Deltares global fluvial flow forecasting system
6. Where/ how to start?
Some notes
• Scripting is very much ‘a field in progress’
• Not all questions have been asked
• No definitive answers have been given
• Slowly, some ‘best practices’are forming
This Photo by Unknown Author is licensed under CC BY-NC
Why spend time talking about scripting?
• Delft-FEWS developments in place that allow for scripting to be done
− templating of General Adapters, Transformations
− storage of metadata in .csv, .dbf/.shp files
− increased use of ‘functions’ in location set definition, threshold definitions, etc.
• Solves potential problems
− efficient configuration building
− separation of responsibilities: metadata management v. Delft-FEWS config management
− near immediate uptake of metadata changes in forecasting applications
− availability of configuration skills
• Growing number of applications where scripting is used to build configurations
What do we mean by “scripting a Delft-FEWS config”?
“Scripting is the automated creation of parts of a Delft-FEWS configuration, based on
metadata.”
• Gauge locations
• Basin models
• Rating curves
• Thresholds
• …
• Workflow files
• Map layer files
• Topology files
• ModuleDataSetFiles
• …
Why script?
1. Ensure compliance between metadata and configurations
2. Quickly include metadata changes in a forecasting application
3. Impose uniformity on configurations
4. Cost efficiency
5. Allow for separation of tasks: management of metadata v management of configurations
6. …
This Photo by Unknown Author is licensed under CC BY-SA-NC
What do we (not) script?
Do script:
• config elements that are subject to frequent updates
• elements that are repeated throughout the configuration
Do not script:
• elements that are highly custom (explorer.xml, global.properties, …)
• elements that appear few times in your configuration only
• elements that don’t change very often
→ this varies from application to application
Approaches: where to script from?
• file based storage (e.g., .xlsx or .csv files)
• local database (e.g., MS Access Database)
• database on a server (e.g., SQL)
• …
Considerations include…
• What’s currently available?
• Who manages the metadata v. who builds the configuration
• Degree of referential data integrity required
• Costs
• …
This Photo by Unknown Author is licensed under CC BY-SA
Approaches: tools for scripting
• Any scripting language. So far we’ve seen scripts in Visual Basic, Python and R.
• Export of data to .csv files is almost trivial
• Helpful if there is a good xml library available
− Matlab: XML toolbox
− Python: xml.etree.ElementTree library
− R: xml2 package
28 november 2019
Some examples
Scripting “light”: Velika Morava map layer files
IMFS: England’s new flood forecasting system
EA database
GUI
Python
Ingest
Telemetry
Thresholds
Models
Delft-FEWS
configuration
IMRD: the metadata repository underlying IMFS
Database and GUI developed by JBA. Additional information from paul.wass@jbaconsulting.com
Database and GUI developed by JBA. Additional information from paul.wass@jbaconsulting.com
Database and GUI developed by JBA. Additional information from paul.wass@jbaconsulting.com
Scripts
• Python based; written by Martijn Kwant
• Produce over 5,100 configuration files
− ~2,100 workflow files
− ~1,800 ModuleDataSetFiles
− ~ 80 mapLayerFiles jointly containing ~380,000 lines of metadata
• In future, outputs will automatically be included in the operational client-server system (!)
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
gloffis: the Deltares global fluvial flow forecasting system
• patchwork of multiple models that can jointly cover the earth’s land
• firmly based on wflow models, made possible by ‘three clicks to a model’ principle
• models vary in
− coverage (and may, and indeed do, overlap)
− temporal and spatial resolution
− model type (sbm, hbv, …)
− required wflow.exe version (2019.1, 2020.1 …)
• workflows vary in
− model that is called
− weather forecast product that is used
(currently, choice between various DWD ICON products: regional/global, ensemble/deterministic)
→ this is where the scripting rationale is: NWPforecasts, wflow models and workflows
gloffis
MS Access Database Python • RegionConfigFiles
• WorkflowFiles
• DisplayConfigFiles
(plus some)
gloffis metadata repository: MS Access database
• Enforces referential data integrity
• Allows for user-friendly access and editing of data using forms
• Not centrally hosted → pros and cons
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
Changes that are made, are conveniently highlightedby version control software
video
Scripting: where and how to start?
• Does it make sense for me to invest in ‘scripting’?
• How ‘dynamic’ is my configuration? Where, in the config, are the dynamics?
• How is my metadata organized?
• Do I have expertise in scripting available?
• …
→ feel free to ask for help!
This Photo by Unknown Author is licensed under CC BY-SA
Whom to talk to about scripting
• First and foremost: your ‘account manager’
• Any of below Deltares staff members…
Marc van Dijk
marc.vandijk@deltares.nl
Jan Verkade
jan.verkade@deltares.nl
Bart van Osnabrugge –
de Vries
Bart.vanOsnabrugge@deltares.nl
Martijn Kwant
Martijn.Kwant@deltares.nl
Jan Verkade
jan.verkade@deltares.nl, +31 6 5161 6107
Questions to the audience
Have you considered moving to a ‘scripted configuration’?
If so, what were/are your considerations?
Ad

More Related Content

What's hot (20)

Real-Time Design Patterns
Real-Time Design PatternsReal-Time Design Patterns
Real-Time Design Patterns
GlobalLogic Ukraine
 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
IndicThreads
 
Rebooting design in RavenDB
Rebooting design in RavenDBRebooting design in RavenDB
Rebooting design in RavenDB
Oren Eini
 
Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)
Oren Eini
 
Functional reactive programming
Functional reactive programmingFunctional reactive programming
Functional reactive programming
Ahmed Kamel Taha
 
Microservices
MicroservicesMicroservices
Microservices
Varnish Software
 
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin SharmaTraining on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
MobileNepal
 
7 steps to simplifying your AI workflows
7 steps to simplifying your AI workflows7 steps to simplifying your AI workflows
7 steps to simplifying your AI workflows
Wisecube AI
 
Store
StoreStore
Store
ESUG
 
NoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOONoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOO
James Hollingworth
 
AtlasCamp 2014: Preparing Your Plugin for JIRA Data Center
AtlasCamp 2014: Preparing Your Plugin for JIRA Data CenterAtlasCamp 2014: Preparing Your Plugin for JIRA Data Center
AtlasCamp 2014: Preparing Your Plugin for JIRA Data Center
Atlassian
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer services
Anderson Carvalho
 
Staying friendly with the gc
Staying friendly with the gcStaying friendly with the gc
Staying friendly with the gc
Oren Eini
 
Sqlite Introduction
Sqlite IntroductionSqlite Introduction
Sqlite Introduction
Praveen Nair
 
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Bob Pusateri
 
Should I use a document database?
Should I use a document database?Should I use a document database?
Should I use a document database?
Oren Eini
 
Meson: Heterogeneous Workflows with Spark at Netflix
Meson: Heterogeneous Workflows with Spark at NetflixMeson: Heterogeneous Workflows with Spark at Netflix
Meson: Heterogeneous Workflows with Spark at Netflix
Antony Arokiasamy
 
Multi-DC Kafka
Multi-DC KafkaMulti-DC Kafka
Multi-DC Kafka
confluent
 
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Bob Pusateri
 
Reactive: Programming -> Systems -> Architecture
Reactive: Programming -> Systems -> ArchitectureReactive: Programming -> Systems -> Architecture
Reactive: Programming -> Systems -> Architecture
Aleksey Izmailov
 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
IndicThreads
 
Rebooting design in RavenDB
Rebooting design in RavenDBRebooting design in RavenDB
Rebooting design in RavenDB
Oren Eini
 
Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)
Oren Eini
 
Functional reactive programming
Functional reactive programmingFunctional reactive programming
Functional reactive programming
Ahmed Kamel Taha
 
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin SharmaTraining on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
MobileNepal
 
7 steps to simplifying your AI workflows
7 steps to simplifying your AI workflows7 steps to simplifying your AI workflows
7 steps to simplifying your AI workflows
Wisecube AI
 
Store
StoreStore
Store
ESUG
 
NoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOONoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOO
James Hollingworth
 
AtlasCamp 2014: Preparing Your Plugin for JIRA Data Center
AtlasCamp 2014: Preparing Your Plugin for JIRA Data CenterAtlasCamp 2014: Preparing Your Plugin for JIRA Data Center
AtlasCamp 2014: Preparing Your Plugin for JIRA Data Center
Atlassian
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer services
Anderson Carvalho
 
Staying friendly with the gc
Staying friendly with the gcStaying friendly with the gc
Staying friendly with the gc
Oren Eini
 
Sqlite Introduction
Sqlite IntroductionSqlite Introduction
Sqlite Introduction
Praveen Nair
 
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Bob Pusateri
 
Should I use a document database?
Should I use a document database?Should I use a document database?
Should I use a document database?
Oren Eini
 
Meson: Heterogeneous Workflows with Spark at Netflix
Meson: Heterogeneous Workflows with Spark at NetflixMeson: Heterogeneous Workflows with Spark at Netflix
Meson: Heterogeneous Workflows with Spark at Netflix
Antony Arokiasamy
 
Multi-DC Kafka
Multi-DC KafkaMulti-DC Kafka
Multi-DC Kafka
confluent
 
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Bob Pusateri
 
Reactive: Programming -> Systems -> Architecture
Reactive: Programming -> Systems -> ArchitectureReactive: Programming -> Systems -> Architecture
Reactive: Programming -> Systems -> Architecture
Aleksey Izmailov
 

Similar to DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade (20)

Serverless: The future of application delivery
Serverless: The future of application deliveryServerless: The future of application delivery
Serverless: The future of application delivery
Doug Vanderweide
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
Bigstep
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
David vonThenen
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
m16k
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h base
hdhappy001
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
Michaela Murray
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
David vonThenen
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the Cloud
David vonThenen
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
Nicolas De Loof
 
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed FrameworksStrata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Paco Nathan
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
Bert Poller
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
netc2012
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical Overview
Dalibor Blazevic
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
Microsoft Iceland
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
scolestock
 
Big SQL 3.0 - Toronto Meetup -- May 2014
Big SQL 3.0 - Toronto Meetup -- May 2014Big SQL 3.0 - Toronto Meetup -- May 2014
Big SQL 3.0 - Toronto Meetup -- May 2014
Nicolas Morales
 
Methodologies and flows for chip design
Methodologies and flows for chip designMethodologies and flows for chip design
Methodologies and flows for chip design
Derek Pappas
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
Sam Bowne
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
Aymeric Weinbach
 
Serverless: The future of application delivery
Serverless: The future of application deliveryServerless: The future of application delivery
Serverless: The future of application delivery
Doug Vanderweide
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
Bigstep
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
David vonThenen
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
m16k
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h base
hdhappy001
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
Michaela Murray
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
David vonThenen
 
How Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the CloudHow Container Schedulers and Software-based Storage will Change the Cloud
How Container Schedulers and Software-based Storage will Change the Cloud
David vonThenen
 
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed FrameworksStrata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Strata SC 2014: Apache Mesos as an SDK for Building Distributed Frameworks
Paco Nathan
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
Bert Poller
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
netc2012
 
FlexDeploy Product Technical Overview
FlexDeploy Product Technical OverviewFlexDeploy Product Technical Overview
FlexDeploy Product Technical Overview
Dalibor Blazevic
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
scolestock
 
Big SQL 3.0 - Toronto Meetup -- May 2014
Big SQL 3.0 - Toronto Meetup -- May 2014Big SQL 3.0 - Toronto Meetup -- May 2014
Big SQL 3.0 - Toronto Meetup -- May 2014
Nicolas Morales
 
Methodologies and flows for chip design
Methodologies and flows for chip designMethodologies and flows for chip design
Methodologies and flows for chip design
Derek Pappas
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
Sam Bowne
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
Aymeric Weinbach
 
Ad

More from Deltares (20)

DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...
DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...
DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...
Deltares
 
DSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - Hutten
DSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - HuttenDSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - Hutten
DSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - Hutten
Deltares
 
DSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - Carniato
DSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - CarniatoDSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - Carniato
DSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - Carniato
Deltares
 
DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...
DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...
DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...
Deltares
 
DSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - Geraeds
DSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - GeraedsDSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - Geraeds
DSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - Geraeds
Deltares
 
DSD-INT 2024 El-Nakheel beach swimmer safety study - Dobrochinski
DSD-INT 2024 El-Nakheel beach swimmer safety study - DobrochinskiDSD-INT 2024 El-Nakheel beach swimmer safety study - Dobrochinski
DSD-INT 2024 El-Nakheel beach swimmer safety study - Dobrochinski
Deltares
 
DSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - Vanlede
DSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - VanledeDSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - Vanlede
DSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - Vanlede
Deltares
 
DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...
DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...
DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...
Deltares
 
DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...
DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...
DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...
Deltares
 
DSD-INT 2024 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2024 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2024 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2024 European Digital Twin Ocean and Delft3D FM - Dols
Deltares
 
DSD-INT 2024 Building towards a better (modelling) future - Wijnants
DSD-INT 2024 Building towards a better (modelling) future - WijnantsDSD-INT 2024 Building towards a better (modelling) future - Wijnants
DSD-INT 2024 Building towards a better (modelling) future - Wijnants
Deltares
 
DSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - Horn
DSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - HornDSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - Horn
DSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - Horn
Deltares
 
DSD-INT 2024 The effects of two cable installations on the water quality of t...
DSD-INT 2024 The effects of two cable installations on the water quality of t...DSD-INT 2024 The effects of two cable installations on the water quality of t...
DSD-INT 2024 The effects of two cable installations on the water quality of t...
Deltares
 
DSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - Luo
DSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - LuoDSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - Luo
DSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - Luo
Deltares
 
DSD-INT 2024 Rainfall nowcasting – now and then - Uijlenhoet
DSD-INT 2024 Rainfall nowcasting – now and then - UijlenhoetDSD-INT 2024 Rainfall nowcasting – now and then - Uijlenhoet
DSD-INT 2024 Rainfall nowcasting – now and then - Uijlenhoet
Deltares
 
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - KroonDSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
Deltares
 
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin RodriguezDSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
Deltares
 
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - TanerDSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
Deltares
 
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - RoozeDSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
Deltares
 
DSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
DSD-INT 2023 Approaches for assessing multi-hazard risk - WardDSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
DSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
Deltares
 
DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...
DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...
DSD-INT 2024 Delft3D FM Suite 2025.01 2D3D - New features + Improvements - Ge...
Deltares
 
DSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - Hutten
DSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - HuttenDSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - Hutten
DSD-INT 2024 Delft3D FM Suite 2025.01 1D2D - Beta testing programme - Hutten
Deltares
 
DSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - Carniato
DSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - CarniatoDSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - Carniato
DSD-INT 2024 MeshKernel and Grid Editor - New mesh generation tools - Carniato
Deltares
 
DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...
DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...
DSD-INT 2024 Quantifying wind wake effects around offshore wind farms in the ...
Deltares
 
DSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - Geraeds
DSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - GeraedsDSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - Geraeds
DSD-INT 2024 Salinity intrusion in the Rhine-Meuse Delta - Geraeds
Deltares
 
DSD-INT 2024 El-Nakheel beach swimmer safety study - Dobrochinski
DSD-INT 2024 El-Nakheel beach swimmer safety study - DobrochinskiDSD-INT 2024 El-Nakheel beach swimmer safety study - Dobrochinski
DSD-INT 2024 El-Nakheel beach swimmer safety study - Dobrochinski
Deltares
 
DSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - Vanlede
DSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - VanledeDSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - Vanlede
DSD-INT 2024 Development of a Delft3D FM Scheldt Estuary Model - Vanlede
Deltares
 
DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...
DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...
DSD-INT 2024 Modeling the effects of dredging operations on salt transport in...
Deltares
 
DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...
DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...
DSD-INT 2024 Wadi Flash Flood Modelling using Delft3D FM Suite 1D2D - Dangudu...
Deltares
 
DSD-INT 2024 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2024 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2024 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2024 European Digital Twin Ocean and Delft3D FM - Dols
Deltares
 
DSD-INT 2024 Building towards a better (modelling) future - Wijnants
DSD-INT 2024 Building towards a better (modelling) future - WijnantsDSD-INT 2024 Building towards a better (modelling) future - Wijnants
DSD-INT 2024 Building towards a better (modelling) future - Wijnants
Deltares
 
DSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - Horn
DSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - HornDSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - Horn
DSD-INT 2024 Flood modelling using the Delft3D FM Suite 1D2D - Horn
Deltares
 
DSD-INT 2024 The effects of two cable installations on the water quality of t...
DSD-INT 2024 The effects of two cable installations on the water quality of t...DSD-INT 2024 The effects of two cable installations on the water quality of t...
DSD-INT 2024 The effects of two cable installations on the water quality of t...
Deltares
 
DSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - Luo
DSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - LuoDSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - Luo
DSD-INT 2024 Morphological modelling of tidal creeks along arid coasts - Luo
Deltares
 
DSD-INT 2024 Rainfall nowcasting – now and then - Uijlenhoet
DSD-INT 2024 Rainfall nowcasting – now and then - UijlenhoetDSD-INT 2024 Rainfall nowcasting – now and then - Uijlenhoet
DSD-INT 2024 Rainfall nowcasting – now and then - Uijlenhoet
Deltares
 
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - KroonDSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
Deltares
 
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin RodriguezDSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
Deltares
 
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - TanerDSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
Deltares
 
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - RoozeDSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
Deltares
 
DSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
DSD-INT 2023 Approaches for assessing multi-hazard risk - WardDSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
DSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
Deltares
 
Ad

Recently uploaded (20)

Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
Shift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software DevelopmentShift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software Development
SathyaShankar6
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest VersionAdobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
usmanhidray
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
Shift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software DevelopmentShift Left using Lean for Agile Software Development
Shift Left using Lean for Agile Software Development
SathyaShankar6
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest VersionAdobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
usmanhidray
 

DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade

  • 1. Scripting a Delft-FEWS configuration “Scripting is the automated creation of parts of a Delft-FEWS configuration, based on metadata.” • Gauge locations • Basin models • Rating curves • Thresholds • … • Workflow files • Map layer files • Topology files • ModuleDataSetFiles • …
  • 3. Scripting a Delft-FEWS configuration What? Why? How?
  • 5. Dr Jan Verkade November 2, 2020 Scripting a Delft-FEWS configuration
  • 6. “Scripting a Delft-FEWS configuration 1. Why at all relevant? 2. What do we mean by “scripting”? 3. Why script? 4. Approaches − what do we (not) script? − where do we script from? − what tools do we use? 5. Example: the Deltares global fluvial flow forecasting system 6. Where/ how to start?
  • 7. Some notes • Scripting is very much ‘a field in progress’ • Not all questions have been asked • No definitive answers have been given • Slowly, some ‘best practices’are forming This Photo by Unknown Author is licensed under CC BY-NC
  • 8. Why spend time talking about scripting? • Delft-FEWS developments in place that allow for scripting to be done − templating of General Adapters, Transformations − storage of metadata in .csv, .dbf/.shp files − increased use of ‘functions’ in location set definition, threshold definitions, etc. • Solves potential problems − efficient configuration building − separation of responsibilities: metadata management v. Delft-FEWS config management − near immediate uptake of metadata changes in forecasting applications − availability of configuration skills • Growing number of applications where scripting is used to build configurations
  • 9. What do we mean by “scripting a Delft-FEWS config”? “Scripting is the automated creation of parts of a Delft-FEWS configuration, based on metadata.” • Gauge locations • Basin models • Rating curves • Thresholds • … • Workflow files • Map layer files • Topology files • ModuleDataSetFiles • …
  • 10. Why script? 1. Ensure compliance between metadata and configurations 2. Quickly include metadata changes in a forecasting application 3. Impose uniformity on configurations 4. Cost efficiency 5. Allow for separation of tasks: management of metadata v management of configurations 6. … This Photo by Unknown Author is licensed under CC BY-SA-NC
  • 11. What do we (not) script? Do script: • config elements that are subject to frequent updates • elements that are repeated throughout the configuration Do not script: • elements that are highly custom (explorer.xml, global.properties, …) • elements that appear few times in your configuration only • elements that don’t change very often → this varies from application to application
  • 12. Approaches: where to script from? • file based storage (e.g., .xlsx or .csv files) • local database (e.g., MS Access Database) • database on a server (e.g., SQL) • … Considerations include… • What’s currently available? • Who manages the metadata v. who builds the configuration • Degree of referential data integrity required • Costs • … This Photo by Unknown Author is licensed under CC BY-SA
  • 13. Approaches: tools for scripting • Any scripting language. So far we’ve seen scripts in Visual Basic, Python and R. • Export of data to .csv files is almost trivial • Helpful if there is a good xml library available − Matlab: XML toolbox − Python: xml.etree.ElementTree library − R: xml2 package
  • 15. Scripting “light”: Velika Morava map layer files
  • 16. IMFS: England’s new flood forecasting system EA database GUI Python Ingest Telemetry Thresholds Models Delft-FEWS configuration
  • 17. IMRD: the metadata repository underlying IMFS Database and GUI developed by JBA. Additional information from [email protected]
  • 18. Database and GUI developed by JBA. Additional information from [email protected]
  • 19. Database and GUI developed by JBA. Additional information from [email protected]
  • 20. Scripts • Python based; written by Martijn Kwant • Produce over 5,100 configuration files − ~2,100 workflow files − ~1,800 ModuleDataSetFiles − ~ 80 mapLayerFiles jointly containing ~380,000 lines of metadata • In future, outputs will automatically be included in the operational client-server system (!)
  • 22. gloffis: the Deltares global fluvial flow forecasting system • patchwork of multiple models that can jointly cover the earth’s land • firmly based on wflow models, made possible by ‘three clicks to a model’ principle • models vary in − coverage (and may, and indeed do, overlap) − temporal and spatial resolution − model type (sbm, hbv, …) − required wflow.exe version (2019.1, 2020.1 …) • workflows vary in − model that is called − weather forecast product that is used (currently, choice between various DWD ICON products: regional/global, ensemble/deterministic) → this is where the scripting rationale is: NWPforecasts, wflow models and workflows
  • 23. gloffis MS Access Database Python • RegionConfigFiles • WorkflowFiles • DisplayConfigFiles (plus some)
  • 24. gloffis metadata repository: MS Access database • Enforces referential data integrity • Allows for user-friendly access and editing of data using forms • Not centrally hosted → pros and cons
  • 28. Changes that are made, are conveniently highlightedby version control software
  • 29. video
  • 30. Scripting: where and how to start? • Does it make sense for me to invest in ‘scripting’? • How ‘dynamic’ is my configuration? Where, in the config, are the dynamics? • How is my metadata organized? • Do I have expertise in scripting available? • … → feel free to ask for help! This Photo by Unknown Author is licensed under CC BY-SA
  • 31. Whom to talk to about scripting • First and foremost: your ‘account manager’ • Any of below Deltares staff members… Marc van Dijk [email protected] Jan Verkade [email protected] Bart van Osnabrugge – de Vries [email protected] Martijn Kwant [email protected]
  • 32. Jan Verkade [email protected], +31 6 5161 6107 Questions to the audience Have you considered moving to a ‘scripted configuration’? If so, what were/are your considerations?