Saturday, March 26, 2022

GEOframe essentials

 GEOframe is a system for doing hydrology by computer that aims to implement the DARTHs paradigm [Rigon et al., 2022]. By saying that it is a system, we emphasize that it is not a model but an infrastructure that can contain many differentiated modelling solutions (some tens of that) that are built upon model components [Argent et al., 2004]. This is because GEOframe leverages theObject Modelling system-framework (v3)[David et al., 2013] that allows to connect modelling components to solve a specific hydrological issue together and having many alternatives for its mathematical/numerical description. This infrastructure allows adapting the tools to the problems and not vice versa [Rigon et al., 2022]. In GEOframe particular attention has been dedicated to allow enhancements and additions writing the least code possible. The core code has been designed to open to addition and closed to modifications [Gamma et al, 1995], thus allowing stability of the code base over time.  GEOframe contains tens of components that cover rainfall-runoff [Formetta et al., 2011], snow modelling [Formetta et al., 2014] evaporation and transpiration[Bottazzi et al., 2021], infiltration [Tubini and Rigon, 2022], terrain analysis tools [Abera et al., 2014], interpolation models [Bancheri et al., 2018], calibrations tools [David et al., 2013], and so on. Every modelling paradigm is included, as, for instance process based modelling [Tubini and Rigon, 2022], lumped modelling [Formetta et al., 2014b], machine learning [Serafin et al., 2021], or can be included by adding appropriate components [Serafin, 2019]. Spatially disjoint catchments can be modelled separately and joined together in a bigger model by using a Groovy-based domain specific language. GEOframe has been applied to hydrological simulations from the point scale, to Alpine catchments [Abera et al., 2017], to large catchments as the Blue Nile [Abera et al., 2016], and among those is being deployed to the Po river. GEOframe is open source and built with open source tools including Eclipse, OpenJDK by Adoptium, Gradle, Github. Literate computing is pursued by extensively using Jupyter Notebooks for creating the input and the output of data. 

At Present GEOframe has three main branches: 
  • GEOframe-NewAGE [Formetta et al., 2014] for the modelling of hydrology as a set of systems of systems of ordinary differential equations called Hydrological Dynamical Systems [CITE]; 
  • WHETGEO (Tubini and Rigon, 2022) that solves the Richards, heat and transport equations in soil and groundwater; 
  • GEOSPACE  which deals with soil-plant-atmosphere interactions. 

Many of the components, however, are shared among the various branches and "mixed" modelling solutions can be envisioned by choosing components from one or the other. In fact, for instance GEOSPACE is built upon WHETGEO and GEOframe ET components with the addition of a broker component that transmit and receive data from the to components subsets. For any of the sub-branches please refer to the respective blog pages.

References

Abera, W., A. Antonello, S. Franceschi, and G. Formetta. 2014. “The uDig Spatial Toolbox for Hydro-Geomorphic Analysis.” In Geomorphological Techniques (Online Edition), edited by British Society for Geomorphology. British Society for Geomorphology.

Abera, Wuletawu, Giuseppe Formetta, Luca Brocca, and Riccardo Rigon. 2017. “Modeling the Water Budget of the Upper Blue Nile Basin Using the JGrass-NewAge Model System and Satellite Data.Hydrology and Earth System Sciences 21 (6): 3145–65.

Abera, Wuletawu, Giuseppe Formetta, Marco Borga, and Riccardo Rigon. 2017. “Estimating the Water Budget Components and Their Variability in a Pre-Alpine Basin with JGrass-NewAGE.Advances in Water Resources 104 (June): 37–54.

Argent, Robert M. 2004. “An Overview of Model Integration for Environmental Applications —components, Frameworks and Semantics.” Environmental Modelling and Software 19 (3): 219– 34.

Bancheri, Marialaura, Francesco Serafin, Michele Bottazzi, Wuletawu Abera, Giuseppe Formetta, and Riccardo Rigon. 2018. “The Design, Deployment, and Testing of Kriging Models in GEOframe with SIK-0.9.8.” Geoscientific Model Development 11 (6): 2189–2207.

Bottazzi, Michele, Marialaura Bancheri, Mirka Mobilia, Giacomo Bertoldi, Antonia Longobardi, and Riccardo Rigon. 2021. “Comparing Evapotranspiration Estimates from the GEOframe-Prospero Model with Penman–Monteith and Priestley-Taylor Approaches under Different Climate Conditions.WATER 13 (9): 1221.

David, O., J. C. Ascough II, W. Lloyd, T. R. Green, K. W. Rojas, G. H. Leavesley, and L. R. Ahuja. 2013. “A Software Engineering Perspective on Environmental Modeling Framework Design: The Object Modeling System.” Environmental Modelling & Software 39 (c): 201–13.


Formetta, G., S. K. Kampf, O. David, and R. Rigon. 2014. “Snow Water Equivalent Modeling Components in NewAge-JGrass.Geoscientific Model Development 7 (3): 725–36.

Formetta, G., A. Antonello, S. Franceschi, O. David, and R. Rigon. 2014. “Hydrological Modelling with Components: A GIS-Based Open-Source Framework.Environmental Modelling & Software 55 (May): 190–200.

Gamma, Erich, Richard Helm, Ralph Johnson, Ralph E.. Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Deutschland GmbH.

Rigon, Riccardo, Giuseppe Formetta, Marialaura Bancheri, Niccolò Tubini, Concetta D’Amato, Olaf David, and Christian Massari. 2022. “HESS Opinions: Participatory Digital Earth Twin Hydrology Systems (DARTHs) for Everyone: A Blueprint for Hydrologists.Hydrology and Earth System Sciences Discussions, 1–38.

Serafin, Francesco. 2019. “Enabling Modeling Framework with Surrogate Modeling Capabilities and Complex Networks.” Edited by Riccardo Rigon And. Ph.D., University of Trento.

Serafin, Francesco, Olaf David, Jack R. Carlson, Timothy R. Green, and Riccardo Rigon. 2021. “Bridging Technology Transfer Boundaries: Integrated Cloud Services Deliver Results of Nonlinear Process Models as Surrogate Model Ensembles.Environmental Modelling and Software[R] 146 (105231): 105231.

Monday, March 14, 2022

Nature-based Solutions for climate adaptation and flood resilience Modelling and Data available for an optimal Water Management and Nature-Based Solution implementation

I was involved in discussing and supporting the search for Nature Based Solution in the Samaria Park in Crete by TAIEX.  With my talk I tried to refocus on some aspects: 

  • We have to understand which is the Nature we have to deal with
  • We have to understand Phenomena we want  to contain


In order to answer these questions we need data, and I dealt with some of the data requirements for solving hydrological problems. Collecting data and making them available is a relatively less expansive action than doing work and can save a lot of efforts and money.  Furthermore there are social aspects of the question that cannot be overlooked. We made the experience of LIFE FRANCA that opened our view on this this topic. Clicking on the figure above, please find the presentation. At least, I think it is a nice overview covering some recent studies on the island. From them you can have more detailed information. 

Other presentation and information can be found at the TAIEX website.

Wednesday, March 2, 2022

Models Classification according to their interfaceability (MaaA, MaaT, MaaS, MaaR, MaaC)

In the recent submitted manuscript about DARTHs (Digital eArth Twins of Hydrology) we delineated five categories of models in a possible increasing adaptability to be part of a DARTH or of a DARTH component:

  • MaaA,  Model as an Application
  • MaaT, Model as a Tool
  • MaaS, Model as a Service
  • MaaR, Model as a Resource 
  • MaaC, Model as a Commodity

I'll try to explain what the acronyms mean here below. The characteristics listed, it should be remarked, are not connected to the domain science contents of models but to to the software architecture  characteristics and requirements. 

Tom Hagen's photo click on it for more

MaaA - Model as an Application 

MaaA -  Model as Applications - Full fledged models that have close architecture, that includes the data formats and the visualization tools. What follows for MaaA is taken with little  modification from Rizzoli et al. (2006).

  1. A MaaA  bundles data,  algorithms  and  the  graphical  user  interface  of  a  model  in  an  application. This  makes the model very hard to re-use out of its original context. Most MaaTs are also monoliths composed by hundreds of thousands lines of code. 
  2.  A MaaA  works just on one operating system MS Windows, Mac OS or Linux. 
On MaaA, Knoben et al. (2021) provides the following description:

"These tools are typically provided as self-contained packages. Packages tend to be easy to use for their intended purpose but take time to understand and do not necessarily provide much flexibility to deviate from their intended purpose. Layering additional functions on top of an existing package or modifying a package’s source code is certainly possible, but can be outside the comfort zone of many users."

Other usual characteristics of MaaA are:
  • Applications  evolution  is  totally in the hands of the original developers. This is a good thing for intellectual property  rights  and  in  a  commercial  environment,  but this  is  absolutely  a  bad  thing  for  science  and  the  way  it  is  supposed  to  progress.  Independent  revisions  and  third-party  contributions are nearly impossible. 
  • MaaA often do not come with associated data sets for testing. Moreover, the adoption of object-oriented programming,  while  it  is  a  good  thing  for  model  reusability  and  portability,  it  makes  things more complex for testing, because of a number of problems such as observability in  virtual  method  calls  and  state  dependent  behaviour  of  objects.
  • The way they are coded  (as monolithic entities)  displays  a  strong  level  of  internal  cohesion,  and,  if  a  modeller  is  interested  in  reusing  a  particular  function  within  a  bigger  model,  they  can  find  it  very  hard  to  isolate  and extract it, given the strong dependencies existing in the source code parts. 
  • Their data formats  do not come from a community agreement  and, their developers  typically decide to have output data in a format relevant to their own application, which may not be a format that is widely used by others. It is cumbersome for developers to have their tools ingest multiple different data formats and such functionality is therefore somewhat rare (slightly modified from Knoben et al 2021). 
It could be observed that a MaaA could be evolved to eliminate the various characteristics  in the bullet list. In fact there exists a variety of MaaA which, especially recently, pursued such achievement (modular code, open to common data formats, separation between the graphical model interface and the rest of the code). 

MaaT - Model as a Tool (Mainly From Nativi et al., 2021)

In MaaT, differently from MaaA there areat least two level of abstraction: the interface is abstracted from the model, in a client-server way,  and the model is loosely coupled to the data. The interacting tools is distinct from the model itself and can eventually be changed. 

However, a given implementation of the model runs on a specific server, and the interact with the model through the user interface.   In a MaaT  the models are preloaded on a specific machine. Besides, it is not possible to modify the interaction between the server and the client which is kept fixed by the user interface. 
Benefits include a strong control of the model use and execution (which could be useful to control what happens in a operational service).  There are limitations on the usability and  flexibility of the model, as well as its scalability due to the limitation of the specific server. Machine-to-machine interoperability (chaining capabilities) is not allowed. Knoben et al (2021), without knowing the acronym, defines MaaT well when talking of some web-based services: "... several of these tools are provided as web-based services. This can be appealing because, for example, data can be pre-downloaded to speed up model configuration and model simulations can be easily shared. The advantage of such approaches is that they can be combined with some  form of server-side data transformations (e.g., subsetting or averaging), which minimizes  data transfers. Storing the inputs for and outputs of large-domain simulations can, however, be cumbersome, and keeping pre-downloaded data up-to-date and sufficient for all user needs takes sustained, long-term effort. A further complication is that it is regrettably common that such web-based services require some form of manual interaction with the webpage, limiting opportunities to automate data acquisition tasks".  
In a MaaT there is a certain level of abstraction is implemented to make the data and the models loosely coupled but MaaTs do not necessarily provide tools for automation of data acquisition. However, it can be said that the models' core in a MaaT is agnostic with respect the data source and formats (for a detailed explanation see Knoben et al., 2021).  
In an open MaaT,  
  • model evolution should be in the hands of a community
  • models should come with an appropriate set of tests both for the informatics and the physics. 
  • a modular structure for the code should be the rule 
  • Tools for data brokering should be available 

MaaS - Model as a Service  (Mainly From Nativi et al., 2021 and David et al, 2014)

A “Model-as-a-Service” provides the capability to execute simulation models as a service. As Wikipedia reports: "In the contexts of software architecture, service-orientation and service-oriented architecture, the term service refers to a software functionality or a set of software functionalities (such as the retrieval of specified information or the execution of a set of operations) with a purpose that different clients can reuse for different purposes, together with the policies that should control its usage (based on the identity of the client requesting the service, for example)."
As for the previous case of MaaT, a given implementation of the analytical model runs on a specific server, but this time, APIs are exposed to interacting with the model. Therefore, interoperability consists of machine-to-machine interaction through a published API, e.g., for a run configuration and execution. Nevertheless, it is not possible to move the model and make it run on a different machine (without having to "manually" install the model and its managing software on these machines).  Concerns deal with a still limited flexibility and possible scalability issues (depending on the server capacities). To note, this time, the existence of possible concerns for less control on the model (re-)use.

There are two main usage patterns: (i) The model can be pre-deployed, has a well-known service endpoint, and is supported by supplemental data services. This is quite common for operational models used in a production environment. Moreover, (ii) the model can be dynamically deployed from the client before execution (implying that a MaaS is made up of a pool of modelling components that can be linked just before run time with a scripting language). Model service development for research purposes needs such a behavior. Both approaches address a different workflow, need for availability and security. A certain model execution method may also be specified in such a service.

MaaR - Model as a Resource 

The interoperability level resamples the same patterns used for any other shared digital resource, like a dataset.  
  • This time, the model itself (and not a given implementation) is accessed through a resource-oriented interface, i.e., API and 
  • a software infrastructure layer manages (with some constraints whose invasiveness should not be relevant) a set of compliant models
  • That allows to effectively move the model and make it run on the machine that best performs for a specific use case. 
Cloud services can distribute the model runs on various architectures (like cloud services, high performance computing machines, multicore machines, cluster of computers) dynamically adapting the request of resources to the demand. 
There are clear benefits in terms of flexibility, scalability, and interoperability. The main concerns, maybe,  are about the model sound utilization.

MaaC - Models as a Commodity

They are MaaS or MaaR that in addition have some controls on the Science and their explanation. 

Differently from the other, previous, classifications the Model as a Commodity definition does not imply information technology issues but programming and  science issues that are related to the DARTHs working. Are  MaaC models a mass-produced unspecialized product (the meaning of commodity) ? They are obviously not but their use inside Digital Earth Twins, once they will be produced, will be like they were such. The most of the people who will access it, will do for taking decision on other aspects of science and social life. Therefore the hydrological modelling in DARTHs has to acquire some features that make their use more safe and less prone to introduce fake information in the public. This is envisioned in providing DARTHs with error (uncertainty) estimations for all the quantities hindcasted and forecasted.  The topic is difficult one with a large amount of literature (e.g. Beven, 2016), often difficult and obscure (e.g. Nearing et al., 2016) and the requirement here of having a quantification of uncertainty does not enter the dispute of the origin of errors, while staying on Cox (1946) statement that "Purely empirically, probability and statistics can, of course, describe anything from observations to model residuals regardless of the actual sources of uncertainty as an expression of our reasonable expectations" (taken from Beven, 2016) that, at least an empirical estimation of the error on the base of recorded data is possible. 
Because modelling require a first phase of training/calibration/ on the past, them error of modelling must include an analytic performance over the past data of the model. Therefore a MaaC is  a MaaS or a MaaR provided with error estimations on any of the quantity hindcasted or forecasted, a warning for the use of any quantity and a major effort for modellers. 

The MaaCs inherit form MaaS and MaaR their composable structure, however with a purpose.  Components are self-contained building blocks, modules or units of code. Each well designed component usually implements a single modeling concept. Multiple algorithms can be implemented within the same component or in various components, and inserted in modeling solutions as alternatives, thus opening the way to compare, inside the same chain of tools, different approaches. This respond also to a science requirement, i.e. the idea that model should be used in DARTHs as hypothesis to be tested among various possibilities (Clark et al, 2011). This flexibility will be usually not directly available to the more unaware end-users, but will be certainly useful for scientists to provide more reliable modelling. Therefore MaaC requires tools for supporting the workflow of hypothesis testing.  These tools are usually provided at "literate computing" workflows, as those explained in Rigon et al. 2021. 

DARTHs in their essentials are modeling infrastructures that deploy the MaaC paradigm.

References

Beven, Keith. 2016. “Facets of Uncertainty: Epistemic Uncertainty, Non-Stationarity, Likelihood, Hypothesis Testing, and Communication.” Hydrological Sciences Journal 61 (9): 1652–65.

Clark, Martyn P., Dmitri Kavetski, and Fabrizio Fenicia. 2011. “Pursuing the Method of Multiple Working Hypotheses for Hydrological Modeling.” Water Resources Research 47 (9). https://doi.org/10.1029/2010wr009827.

Cox, R. T.,1946. Probability, frequency and reasonableexpectation.American   Journal   of   Physics,  14,  1–13.doi:10.1119/1.1990764

David, Olaf, Wes Lloyd, Ken Rojas, Mazdak Arabi, Frank Geter, James Ascough, Tim Green, G. Leavesley, and Jack Carlson. 2014. “Modeling-as-a-Service (MaaS) Using the Cloud Services Innovation Platform (CSIP).” In International Congress on Environmental Modelling and Software. scholarsarchive.byu.edu. https://scholarsarchive.byu.edu/iemssconference/2014/Stream-A/30/.

Knoben, Wouter Johannes Maria, Martyn P. Clark, Jerad Bales, Andrew Bennett, S. Gharari, Christopher B. Marsh, Bart Nijssen, et al. 2021. “Community Workflows to Advance Reproducibility in Hydrologic Modeling: Separating Model-Agnostic and Model-Specific Configuration Steps in Applications of Large-Domain Hydrologic Models.” Earth and Space Science Open Archive. https://doi.org/10.1002/essoar.10509195.1.

Nativi, Stefano, Paolo Mazzetti, and Max Craglia. 2021. “Digital Ecosystems for Developing Digital Twins of the Earth: The Destination Earth Case.” Remote Sensing 13 (11): 2119.

Nearing, Grey S., Yudong Tian, Hoshin V. Gupta, Martyn P. Clark, Kenneth W. Harrison, and Steven V. Weijs. 2016. “A Philosophical Basis for Hydrological Uncertainty.” Hydrological Sciences Journal 61 (9): 1666–78.

Rigon, Riccardo, Giuseppe Formetta, Marialaura Bancheri, Niccolò Tubini, Concetta D’Amato, Olaf David, and Christian Massari. 2022. “HESS Opinions: Participatory Digital Earth Twin Hydrology Systems (DARTHs) for Everyone: A Blueprint for Hydrologists.” Hydrology and Earth System Sciences Discussions, 1–38.

Rizzoli, A. E., M. G. E. Svensson, E. Rowe, M. Donatelli, R. M. Muetzelfeldt, T. van der Wal, F. K. van Evert, and F. Villa. 2006. “Modelling Framework (SeamFrame) Requirements.” SEAMLESS.

Tuesday, February 22, 2022

Is your modelling system adapt to be part of a digital Twin for Hydrology ?

Recently we submitted a paper to HESSD for discussing how Digital Twin can serve a better doing of Hydrology.  As you can see below, we named the Digital twins for hydrology DARTHs. The discussion paper is: 

Rigon, Riccardo, Giuseppe Formetta, Marialaura Bancheri, Niccolò Tubini, Concetta D’Amato, Olaf David, and Christian Massari. 2022. “HESS Opinions: Participatory Digital Earth Twin Hydrology Systems (DARTHs) for Everyone: A Blueprint for Hydrologists.” Hydrology and Earth System Sciences Discussions, 1–38.

and if you want to contribute with your opinion, the discussion is open until March 14.  If you want to grasp quickly what DARTHs are, you can take five minutes to read to the previous post here (DARTHs cheat sheet). 

As part of the review process, one of the reviewers, dr. Marc Hrachowitz (GS) that we thanks for his comments and suggestions, asked for giving examples of exiting modelling platform or systems that could satisfy part of the requirements that DARTHs, according to us, must have. However, the operation of judging elements of modelling systems of other researchers is always a slippery matter because one usually know just superficially what the systems provided by others actually do.  Therefore  I and co-authors have decided to issue a questionnaire where part of the questions are on characteristics that DARTHs should have.  Developes and users are asked to answer about their systems or models so to have a first hand information.  It could be noticed that we are not asking which processes the models aim to simulate because the hydrology (the physics, chemistry, biology) of the model is not actually the topic here. In the questionnaire the main topic is more about the infrastructure capability and some additional features that should be present.

As Authors of the paper, we know that our own systems do not satisfy the DARTHs' requirements and therefore don't be worry about if your system does not accomplish all. With the questionnaire we try to put a first brick towards them by trying to make researchers reflect on the steps they should do in future developments to converge to build a DARTH component. 

The results of the questionnaire which will remain upon until March 14 2022 will be made public as supplemental material of the paper.  The survey can be found by clicking on the image above.

You can view the partial results of the survey here.

Wednesday, February 16, 2022

DARTHs programming cheat sheet

We recently wrote about DARTHs.  Here it is a summary of those more extensive documents. DARTHs fall under the category of thematic Digital Twins.

DARTHs are composable infrastructures whose parts are loosely connected, communicate with standard protocols and can easily be substituted. There is not such a thing like a DARTH but DARTH solutions. They constitute an ecosystem of tools whose parts can be separated and recomposed in new solutions, exactly as it happens for Linux distributions (distros).  Distros need usually an integrator  of resources which is a further component of DARTHs. Below we subdivide the main requirements necessary to make the DARTHs effectively working. 


Data
  • Must be Open
  • Provided on demand over the cloud
  • Discoverable on the web
  • Provided in standardized self-explanatory formats
  • Retrievable on the base on open APIs on the most common computer languages
DARTHs IT Architecture requirements

DARTHs serve different users and roles
Therefore they are agnostic:
  •  with respect to the science
  • the programming language
  • The operative system
  • Modelling styles and paradigm
  • They are lightweight with respect to programming habits, meaning they should be minimalist in adding programming rules and aims to maintain the code short
  • Variables names should be mapped into standard names that provide an unique identification

in Open DARTHs,
  • Programs must be open source and developable with open tools
  • Simulations and operations must be traceable and replicable by construction
  • Chunks of data, codes and modelling solutions should be organized in standard ways and be deployable over the web for third parties testing and reuse

Hydrological models for DARTHs

  • need to be able to easy any flavor of modelling effort through like can be models based on ODEs (systems of ordinary differential equations), PDEs (system of partial differential equations), MS (Statistical Modelling), ML (Machine Learning) and any other tool that science will invent.
  • should be deployed in reusable and interoperable components (A component model is a model that is used to encapsulate equations or specific tasks into a reusable form. Components can be connected at runtime and communicate exchanging data in RAM memory)
  • reusable components should obey to standard rules for inputs and outputs appropriate identification
  • need to be deployable along the web on all the available platforms.
  • model-to-model (components) communication should be allowed through API

DARTHs programming practices

DARTHs must
  • Adopt software quality testing for any component separately
  • Adopting good programming practices
  • Have literate computing tools 
  • Promet clean code and literate programming

DARTHs and Computing facilities
  • They use various form  of parallelism but overall, parallelism should be provided as a service without having to change programming habits of models developers.
  • Workflows of tasks that can be schematize on graphs should be internally parallelized using piping methods.
  • Models on grids should use middleware that separates the parallelization from the "physics" of implementation and should be as less invasive as possible.
  • They can use multicores, multiprocessor, high end computers, distributed computing without necessarily direct intervention of the programmer
  • They should use the natural partition of Earth surface in river catchments and subcatchments to split the computational work.

DARTHs and EO
  • The complex retrieval chain from observed quantities to hydrological quantities has to become explicit and integrated in modeling
  • Data Assimilation of any type must become part of the modelling chain

DARTHs and Science Reliability and practices

  • DARTH must make very smooth hypothesis testing (in the sense of allowing alternative modelling structures)
  • The quantification of uncertainty must become  inherently part of an open DARTH. 
  • DARTHs must support open science practices by construction
Overall
  • To accomplish all the above task DARTHs requires some appropriate, lightweight, non invasive  infrastructure (framework) 
    • that supports the features required
    • allows the development the use and the continuous evolving of the DARTHs
    • separates the programming  and the use of the tools from the connection to data resources (EO, IoT, more traditional datasets),  
    • connects to web services, 
    • provides parallelism of computation and 
    • accesses to High Performance Computing or  HPC cloud services, 
    • allows communication between components, 
    • and components dispatching over the web, 
    • manages the several security issues, 
just to mention a few. 

Tuesday, February 15, 2022

The Hydrological Modelling Class 2022 - The Lab

 Go to:

2021-02-24 - Installations - For the Installation go to this GEOframe page and install all what required.
We are also going to install the Horton Machine toolbox

For Italian speakers, they can also give a look do not miss the occasion to listen to Concetta D'Amato introducing installations in Italian:
OMS and GEOframe:

Basic information for who has never seen OMS and GEOframe: an introduction to the GEOframe/OMS3 system
 QGIS & Other Info 
2022-03-03 - Starting to work with the Object Modelling System
  • Material of the class and presentations can be found here. Please download them before the class
  • Running the Hello World program as an Object Modelling System Component (Vimeo 2022)
  • Reading an OMS file (Vimeo 2022)
  • Running a simple example (a tank model) that uses more than one component 
2022-3-04
2022-3-10
  • The extraction of river network with the Horton Machine Tools (Vimeo2022)          
Michele Vettorazzi, Environmental Engineer and Photographer

2022-03-11 - GEOmorphology part III - The delineation of river basins (Vimeo2022)

Optional/Alternative Material - Some elaboration of DEMs with with the Horton Machine Toolbox
The Horton Machine Toolbox offers an alternative interface to the same tools seen previously. For some purposes it can be more simple than using the .sim files. 
2022-03-24 - Rainfall Analysis with PANDAS (Vimeo2022)

2022-03-31/2022-04-01 - Preparing time series for GEOframe and analyzing them
  • Preparing a time series in OMS3 csv format (Vimeo2022)
  • Analyzing discharges with Jupyter and Python  (Vimeo2022)
  • Analyzing temperatures with Jupyter and Python  (Vimeo2022)
2022-05-19/20 - Kriging
2022-05-25 - Kriging - II
  After all radiation moves it all

2022-06-08 - Running  GEOframe-NewAGE 
  • Setup of GEOframe-NewAGE (Vimeo2022)
  • How works the workflow in GEOframe-NewAGE, Net3 (Vimeo2022)
  • Evapotraspiration for GEOframe-NewAGE (Vimeo2022)
  • How to prepare a run with a simple reservoir for any HRU with GEOframe (Vimeo2022)
  • The Notebook (Vimeo2022)

The Hydrological Modelling Class 2022 - The Schedule

 Foreseen Schedule (up to Easter)

(boldface dates are those with definitive material, I or directly written in Italian  in for Italian,  unspecified for English. All slides are in English)

To understand better what is below: 
  • storyboard is a summary, usually in Italian, of the lecture
  • A whiteboard is an explanation of a particular topic made on the whiteboard (using Notability on the iPad) usually in Italian
  • Slides are commented in English (since 2021)
  • Additional  information (only for the brave or the curious) and references are in italics

2022-02-24 - I  
- Syllabus - Introduction 2 Hydrological Modelling 

Here  I introduced the class. Its learning by doing philosophy (altered by the necessity due to COVID-19 times that impose to do first the all the theoretical parts and subsequently all the practical parts hoping that they can be done in presence). 
2022-02-25 and 2022-03-03- Geomorphometry - I  - Discussion of previous lesson topics. Summary of the lecture in Italian. (This will be always done, each lesson, but for now on omitted). The rational of introducing these concepts  is that catchments are spatially extended and in this course we are interested to deal with catchments hydrology. 

In this first part we deal with the geometrical (differential) characteristics of the topography. Elevations, slopes, curvatures. They will be necessary later to extract the river network and the parts of a catchment.
In this class we define also what the drainage directions are and how they are computed in the case of DEMs (a topography discretized over a regular grid).  From drainage directions are determined the total contributing areas in each point of  a DEM. These two characteristics are eventually used to determine  the channels head and extract the river networkIn turn, the extraction of the channel network allows for the extraction of hillslope and a first definition of  the Hydrologic Response Units (HRU). 


    2022-03-10 -  Interpolations 
    This lecture, assuming that now you have at least the concepts of what a catchment is and theoretically you know how to extract it and subdivide it in parts, deals with the data to feed catchments hydrology models. Because catchments have a spatial distribution, then also the driving data must be distributed. We need therefore methods of interpolation. 

    2022-03-17 -  Interpolations part II. 
    In this class we try to understand how to estimate the errors over the estimates. Besides we introduce a method (the Normal Score) to avoid to obtain negative values when positive interpolated values are required.

    2022-03-17 - Hydrological Models. This is a class about hydrological models, so what are they ?

    The title is self-explanatory. A theoretical approach to modelling is necessary because we have to frame properly our action when we jump from the laws of physics to the laws of  hydrology. Making hydrology we do not have to forget physics but for getting usable models we have to do appropriate simplifications and distorsions. The type of model we will use in the course are those in the tradition are called lumped models. Here we also introduce a graphical tool to represent these models.
    2022-03-17 - Hydrological Models
    2022-03-18 - Hydrological Models - II
    2022-03-24 - Linear Models for HRUs

    Once we have grasped the main general (and generic) ideas, we try to draw the simplest systems. They turn out to be analytically solvable, and we derive their solutions carefully. From the group of linear systems springs out the Nash model, whose derivation is performed.  Obviously, it remains the problem to understand how much the models can describe "reality". However, this an issue we leave for future investigations.
    2022-03-25 - 
     A little more on the IUH and looking at the variety of HDSys models

    We introduced previously without very much digging into it the concept of Instantaneous Unit Hydrograph. Here we explain more deeply its properties, Then we observe that there are issues related to the partition of fluxes and we discuss some simple models for obtaining them. Not rocket science here. The concept that we need those tools is more important than the tools themselves. We also observe that linearity is not satisfactory and we give a reference to many non linear models. Finally we discuss an implementation of some of the discussed concepts in the System GEOframe. 
    2022-03-31
    2022-04-07

     Travel Time, Residence Time and Response Time
    • Here below we started a little series of lectures about a statistical way of seeing water movements in catchments. This view has a long history but recently had a closure with the work of Rinaldo, Botter and coworkers. Here it is presented an alternative vie to their concepts. Some passages could be of some difficulty but the gain in understanding the processes of fluxes formation at catchment scale is, in my view, of great value and deserves some effort.  The way of thinking is the following: a) the overall catchments fluxes are the sum of the movements of many small water volumes (molecules); b) the water of molecules can be seen through 3 distributions: the travel time distribution, the residence time distribution and the response time distributions; c) the relationships between these distributions are revealed; d) the relation of these distributions with the the treatment of the catchments made through ordinary differential equations is obtained through the definition of age ranked distributions; e) The theory this developed is a generalizations of the unit hydrograph theory. 
    • The view of the catchment as the statistics of elementary water volumes moving stochastically, a storyboard
    • Travel Time, Residence Times (Vimeo2022)
    2021-04 -08
    Some References (advanced)


    2022-04-08 -  After all radiation moves it all.
    So what ? - Steps in hydrological modelling with integrated distributed models
    2022-05-19 - Seminar by Ing. Mar co Bezzi, Ph.D., Safe Waters 4 Agricolture (Vimeo2022)
    2022-06-08 - Seminar by Ing. Matteo Dall'Amico, Ph.D., How to work with Hydrology and Earth Observations (Vimeo 2022)