Tuesday, December 29, 2020

Some essentials about the Object Modelling System

This post is to give people the taste of what OMS is. For the Installations, please refer to the Installation page.  The user manual introduction can be found below:

  • OMS User Manual - Introduction (pdfepub

Monday, December 28, 2020

Radiation for hydrologists

At the Winter School we usually skip this part on radiation, not because it is not important. It is a fundamental part for getting right evaporation, transpiration and the snow budget.  However time is really constrained and we have to do some choices. Please, the interested reader can give a look to slides and concept themselves. 

Some very elementary slides about the sun:

Now some more complicate topics
References

Corripio, J. G. (2002). Modelling the energy balance of high altitude glacierised basins in the Central Andes. Ph.D Dissertation, 1–175.

Corripio, J. G. (2003). Vectorial algebra algorithms for calculating terrain parameters from DEMs and solar radiation modelling in mountainous terrain, 17(1), 1–23.

Formetta, G., Rigon, R., Chávez, J. L., & David O. (2013). Modeling shortwave solar radiation using the JGrass-NewAge system. Geoscientific Model Development, 6(4), 915–928. http://doi.org/10.5194/gmd-6-915-2013

Formetta, G., Bancheri, M., David, O., & Rigon, R. (2016). Performance of site-specific parameterizations of longwave radiation. Hydrology and Earth System Sciences, 20(11), 4641–4654. http://doi.org/10.5194/hess-20-4641-2016

Tuesday, December 15, 2020

Installations of the 2021 GEOframe environment for Linux operative systems

Installation of the 2021 GEOframe environment on Linux

Credits to: Martin Morlot, martin.morlot@unitn.it

 

1) Install anaconda & openjdk-8:

check https://docs.anaconda.com/anaconda/install/linux/ and https://openjdk.java.net/install/ for instuctions for your distributions

 

2) create GeoFrame folder and change directory to it (in terminal):

mkdir GeoFrame

cd GeoFrame

 


3) Clone python4GEOframe  github repository (in terminal):

git clone git@github.com:geoframecomponents/python4GEOframe.git

 

4) Download, oms-console,  Ex01 and notebook test using your browser:

https://alm.engr.colostate.edu/cb/wiki/16961

https://osf.io/5e9jp/download

https://osf.io/fzy5g/download

- unzip them inside the Geoframe folder using your choice of file-extractor for the purpose.

 

5) Change directory to where you cloned python4GEOframe, and to anaconda_envs (using previously opened terminal):

cd python4GEOframe/Anaconda_envs

 

6)Activate anaconda in linux (in a terminal):

source /opt/anaconda/bin/activate root

 

7) Create environment for geoframe:

conda env create -f geoframe_rossano.yaml (will take some time)

 

8) activate the environmental created:

conda activate geoframe_rossano

 

9) set your conda java_home

export  JAVA_HOME=~/.conda/envs/geoframe_rossano/jre/

 

10) execute console.sh in new terminal:

cd GeoFrame/oms-3.6.28-console

./console.sh

 

11) set /home/$USERNAME/.conda/envs/geoframe_rossano/jre/ while replacing $USERNAME with your username  in the OMS console java home setting as in the instructions slides (slide 11)

 

12) run ex_1 as in the instructions slides that you can find at https://osf.io/xes9y/ (slide 12, 13) to check that it works.

 

13) run the notebook excercise: open jupyter notebook with your preferred jupyter editor (ie. Vscode, spyder) set interpreter to conda env created python ( ~/.conda/envs/geoframe_rossano/bin/python3) then run the notebook as specified in the instructions (slide 17)


Go to Installations on Windows

Go to Installations for Mac

Saturday, December 12, 2020

Installations of the 2021 GEOframe environment and related information

 In this post you will find all what is requested to run the GEOframe models and tools.  GEOframe requires Python and Java and it is built upon the OMS3 infrastructure. However, you are not requested or assumed to know them for using GEOframe. We will communicate the appropriate notions during the classes but the interested can find plenty of courses on the web.

A presentation was prepared to explain what to install and how. You can find it by clicking on the figure below.


For any problem contact us through the mailing list https://groups.google.com/forum/#!forum/geoframe-winter-schools

What is actually installed and why

  • Java. GEOframe and OMS are written in Java and they require to have installed Java on your computer. Here you can find instructions to install Java on your computer.  Java JDK is installed using the Anaconda package manager. So, essentially you do not have to take care of it.  If you want to do it differently,  please note that you need the Java Development Toolkit (JDK) installed not the Java Runtime Environment (JRE).  You can watch several videos for Windows here but Windows user can follow our previous blogpost.  For Macs, look at here. Googling you can get more videos and information. 
  • OMS v 3 Console. It is possible to use Docker to execute the programs but, after the experience of the last year with Docker installations on Windows, we preferred to use directly the Console. The OMS system installation traditional information can be found here: https://alm.engr.colostate.edu/cb/wiki/16961 and https://alm.engr.colostate.edu/cb/wiki/17107.
  • To start the Console from Windows, just click on the .bat file
  • To start the Console from Mac OSX or Linux, open a Terminal and execute:
    • % ./console.sh &
  • The "&" just free the command line back and gives it back to you. 
  • During the School we will use Jupyter and Python 3 for data management and visualisation. It would be great if you could arrive with Jupyter installed.
    • The post at this link contains all the information needed. For installation of the software, we suggest Anaconda
    • To understand what a Jupyter notebook is about, please see its manual. However, we will use Jupyterlab.  (You can see a YouTube video about here).  One can think that Jupyter was heavily based on the look-and-feel of Mathematica notebooks: but Jupyterlab is a step ahead to something different. Installing Anaconda, you also have already installed Jupyter notebook. You can open Jupyter lab by the Anaconda Console, or issuing the command  Jupyter lab at a terminal (called DOS prompt in Windows).
    • BTW, it will be useful to have also a GIS of your choice installed. We suggest QGIS.
    Go to the next task (Radiation for hydrologists)

    Wednesday, December 2, 2020

    The GEOframe Winter School 2021

    The third edition of the Winter School on GEOframe (GWS2021) will be held between January 7 and 16, 2021 in Trento, Italy. The course is devoted to Ph.D. Students, Post-docs, Young researchers (and Professionals!) interested in estimating all the components of the hydrological cycle (rainfall, evapotranspiration, snow-melting, and river discharge). The system allows to work out catchments from very small to continental (e.g. Abera et al., 2017a,b), up to build operational solutions, as the one used in in Basilicata. The aim of the course is to enable participants to run their own simulations and, eventually, on their own catchments and estimate the hydrological budget components. Previous Winter school material is freely available at the GEOframe blog.
    Compared to what was done in the past courses, there will be more practice and a more detailed work on evapotranspiration and rainfall-runoff. It will be much more focused on exercises and on getting the water budget performed under various hypotheses on models' structure.

    Due to COVID-19/COVID-SARS-2 the lectures and the work will be limited to, at most, 10 people in presence but it will be possible to follow the class remotely either synchronous online and asynchronous online (we’ll use a “blended” type of teaching based on Zoom). There is no fee or subscription for the asynchronous classes (and no personal support, just the support coming through the geoframe users mailing list). Synchronous  classes with no personal support though require subscription and the payment of a small fee of 10 Euros or (for Italians) a subscription to the Italian Hydrological Society. However, who requires a certificate of participation, and want personal support, must pay a fee (150 euros). Getting the certificate will be subject to present a report and an analysis of a catchment performed with the GEOframe tools. Tourists are  welcomed but obviously real learning requires exercise and some effort.



    Instructors will be

    Participants


    Topics:

    Next Day/Task

    Subscriptions for having credits for this class and support can be obtained all year long after January 15,  2021: please visit https://webapps.unitn.it/form/en/Web/Application/winterschool/GEOframeWS2021 and compile the form or write to abouthydrology@gmail.con with subject: GWS2021 if you need more information. After payment of the fee you can have individual support and gain the participation certificate if you setup and perform an exercise with the GEOframe tools. You can do it on a your own catchment or we can provide you with a catchment and the required data. 

    Monday, May 4, 2020

    GEOframe Community Publication Policy (GCPP v 1.0)

    After GEOframe is becoming widely used we believe it is time to set some fair rules for participation to GEOframe related publications, Since the components are usually released under GPL3 license, it allows the of the code almost without any restriction (except the maintaining the derived code Open Source and freely available), a condition mitigated by the fact that different OMS components can be released under other licenses.  However, because all of our recognition derives from publications (and proper citations), it is worth to remark what written below (partially derived from Jules community publication policies):


    GEOframe Community Publication Policy (GCPP v1.0)
    1. Introduction
    GEOframe-NewAge is an open-source, semi-distributed, component-based hydrological modeling system. It was developed in Java and based on the environmental modeling framework Object Modeling System V3 (OMS3). 
    The core of the project was born from the idea of Professor Rigon and mainly developed at the department of civil, environmental and mechanical engineering of University of Trento, Italy. During the last decade, GEOframe community grew and now is made of many scientists around the world who share their work, codes, knowledge and experiences for the benefit of all GEOframe users, whilst pursuing their individual research interests and careers.
    Therefore, giving appropriate credits for the intellectual input through co-authorships or citations should be the proper functioning of the community.
    This document sets out how members of the GEOframe community should recognise the intellectual contribution of the GEOframe community’s members. 
    1. Principal web references
    In the following, the principal GEOframe web references, where you can find the latest achievements, developments, publications, code versions, courses and ideas are reported: 
    1. General principles
    The formal, legal conditions that govern the use of GEOframe at present are given by the G.P.L. v 3. Each GEOframe component can have its own license though. 
    This Policy applies to all uses of GEOframe products, including but not limited to data and computer code, for research and teaching. It is not intended to restrict what can be done with them, rather to ensure appropriate acknowledgement and communication between users and developers. This policy will be updated regularly.
    A developer is any person whose expertise has either significantly influenced the design of GEOframe code or who has written code, with no distinction between scientific and technical inputs.
    Developers are encouraged to publish their work in reasonable time, while potential users should approach developers early in their study to avoid duplication or wasted effort on new developments. Developers may reserve the right for the first scientific application of their scheme and will be able to advise if and when co-authorship, citation or acknowledgement is appropriate. 
    A list of new developments and the scientists responsible for them will be maintained on the GEOframe website. These contributions should be recognised by citations.
    When writing the source code of a component, GEOframe developers should consider the following:
    • Provide a brief description of what the program does.
    • State the authors of the code and the following modifiers.
    • Describe the input required to run the component and its output.
    • Some notes concerning the limitations, and the algorithms used within the component. A wish-list for the future version and/or information.
    • Articles or books which have inspired the codex or justified its necessity. Users are encouraged to cite these papers in their own work.
    • A more detailed documentation about the code can be found in (link alla pagina con la documentazione delle componenti e il template per LaTeX.
    • If you want to contribute code or documentation, create pull requests, we will consider them.
    Ideally a committed code should conform to the rules required by Joss. 
    Acknowledgments should be considered for a wider list of scientists who contributed to the modelling system, but whose contributions may not be documented in publications. A list of such scientists will be maintained on the GEOframe web page
    When writing a paper, GEOframe users and developers should consider the following:
    Co-authorship  
    • Is expected if your research benefited from a new development, i.e. the development influenced your study to the extent that it was discussed in the paper. 
    • Is expected if your research required substantial direct input from a developer, e.g. to make substantial modifications to the code that you used, to help design the experiments etc.
    • Should be considered for a wider list of scientists who contributed to the modelling system, but whose contributions may not be documented in publications. A list of such scientists will be maintained on the GEOframe web page.
    • Developers cannot claim the first (or primary) authorship of a paper where they did not contributed in writing and conceiving the main research topics. 
    Acknowledgements 
    • Should be considered for scientists involved in GEOframe code developments that have become established.
    Citation of a published paper 
    • Is expected if a citable paper describing a development exists. A narrative description of the model and a list of papers describing developments will be maintained on the GEOframe web page.
    Please be generous in offering credit for other people’s work, as everyone benefits in the end. Use best judgement and, if in doubt, err on the side of inclusiveness.

    You can find the pdf and Epub version of the document by clicking on the links. For the readers can also be interesting to consider the reading of About Authorship in Hydrology.

    Friday, January 24, 2020

    GSW2020 - Photos and material

    You can see here some photos of the GEOframe Winter School 2020. The material and the final refine OMS/GEOframe GWS2020 project can be found on
    It contains all the needed input and output files for executing the School's project. It will not work if you do not do all the right operation. Therefore, please browse the school material in order starting from the first post.

    Previous Winter School Page                      All pages                           First Page

    Friday, January 17, 2020

    GWS2020 - The Bonus II: Richards equation treated better better than in Hydrus 1D

    The second bonus of the GEOframe Winter School on GEOframe is about the Richards' equation. Here we present the ongoing work by Niccolò Tubini (AboutHydrology) in his doctorate. In particular he is presenting how his code is working and why we believe it is a good code.
    The presentation by Niccolò is divided into 2 parts: I and II.  The illustrated Jupyter Notebook as wells as the codes can be dowloaded from Github. There you can find also the Jupyter Notebooks and also browse the other software, including the Richards1D version coupled with the energy budget.


    GWS2020 - The Bonus I: A little on Travel Times

    In the last days of the GEOframe WinterSchool 2020, most of the time was dedicated to simulating with the software but we also give a little clue on  topics that we could not expand more. This is the case of travel times modelling (and/or residence time).  Here Marialaura Bancheri (GSAbouthydrology) talks a little about the theory and the applications she did mainly in her thesis.
    You can watch the video of her talk here.  So far we did just the application that can be seen In Marialaura's thesis which are mostly demonstrative that real. Soon, however, in the project WATZON, we will use them massively.


    Previous Winter School page

    Tuesday, January 14, 2020

    GWS2020 - Rainfall Runoff

    Here we are introducing some modules for rainfall runoff modelling present in GEOframe.  We also maintain some material of the 2019 GEOframe Winter School that can be though interesting.



    Cavone River Exercise
    Goodness of fit notebooks



    General references to Rainfall-Runoff

    Beven, K. (2012), Ranfall Runoff, the primer, Wiley-Blackwell

    Rigon, R., Bancheri, M., Formetta, G., & de Lavenne, A. (2015). The geomorphological unit hydrograph from a historical-critical perspective. Earth Surface Processes and Landforms, http://doi.org/10.1002/esp.3855

    References besides the one already used

    For seeing how to represent lumped hydrological models (you can give a look to this paper here)

    Abera, W.W. (2016), Modelling water budget at a basin scale using JGrass-NewAge system. PhD thesis, University of Trento

    Bancheri, Marialaura (2017) A flexible approach to the estimation of water budgets and its connection to the travel time theory. PhD thesis, University of Trento.


    Bancheri, M., Serafin, F., & Rigon, R. (2019). The Representation of Hydrological Dynamical Systems Using Extended Petri Nets (EPN). Water Resources Research, 8(01), 159–27. http://doi.org/10.1029/2019WR025099


    Bancheri, M., Rigon, R., & Manfreda, S. (2020). The GEOframe-NewAge Modelling System Applied in a Data Scarce Environment. Water, 12(1), 86–24. http://doi.org/10.3390/w12010086

    Formetta, Giuseppe (2013) Hydrological modelling with components: the OMS3 NewAge-JGrass system. PhD thesis, University of Trento.

    Formetta, G., Antonello, A., Franceschi, S., David, O., & Rigon, R. (2014). Hydrological modelling with components: A GIS-based open source framework, 55(C), 190–200. http://doi.org/10.1016/j.envsoft.2014.01.019

    Patta, C, Costruzione di un modello idrologico di stima della disponibilità idrica in area pedemontana, Tesi di laurea (in Italian), Politecnico di Torino, 2018

    For open questions about rainfall-runoff see also the Meledrio Posts.

    GWS2020 - Evaporation and Transpiration

    Evapotranspiration accounts for most of fifty percent of the terrestrial hydrological cycle. We illustrate here some ways to estimate it with the tools offered by the GEOframe system

    Radiation

    We do not cover radiation in this school. We will just use it. For people interested, however, they can give a look to the material of 2019 School here.


    The 2020 material



    The 2019 material
    Out of schedule (for Chhay)
    Exercises
    References

    Primarily for historic papers browse to the list by Dennis Baldocchi
    See also the discussions here:

    Friday, January 10, 2020

    The Jupyter notebooks and OMS project repository for the WSG2020

    During the classes we use several Jupyter notebooks. You can find them at the appropriate OSF page:

    Jupyter Notebooks

    So if you search a notebook and you do not know where to find them: they are here.

    The OMS project used is instead here:

    Overall OMS3 project (available on Zenodo). It contains all the software used in the school.





    Thursday, January 9, 2020

    GWS2020 - Interpolationg Hydro-meteorological data with Kriging

    The third  day of the Winter School on the GEOframe system 2020 is about GEOframe are dedicated to interpolation by using Kriging and the use of Particle Swarm Calibrator.

    Exercises 2020
    Exercises 2019

    References

    For general information about spatial interpolation of hydrological quantities, please see also "Rainfall and Temperature interpolation", on the AboutHydrology blog




    Tuesday, January 7, 2020

    GWS2020 - Delineating catchments

    The second day of the Winter School on GEOframe is dedicated to the watershed delineation and hillslope extraction. First the relevant concepts are given. Then GEOframe (Horton Machine) tools are used to get the desired results.


    We recovered something from the first day.
    References

    Monday, January 6, 2020

    GWS2020 - Getting Started with OMS and Jupyterlab

    Day first of the Winter School on GEOframe was conceived to give people the taste of what OMS is and how to use it with Python lab. For the Installations, please refer to the Installation page

    Not much information about Jupyterlab though. It will be given interactively using notebooks and explaining their contents.

    Sunday, January 5, 2020

    Installing Java and OMS

    The Winter School on the GEOframe system is approaching.  In this post you will find all the preparatory material of the school indexed.


    Installations

    You are not assumed to know Python or Java to participate to the School. However programs GOFRAME programs runs on Java 8. Input/Output of models will be treated by using some scripting in Python. We will communicate the appropriate notions during the classes but the interested can finfd plenty of courses on the web (for instance this comes from SciPy 2018. Other from SciPy here.)

    • Java. GEOframe and OMS are written in Java and they require to have installed Java on your computer. Here you can find instructions to install Java on your computer.  OMS need Java 8 JDK.  Please note that you need the Java Development Toolkit (JDK) installed not the Java Runtime Environment (JRE).  You can watch several videos for Windows here but Windows user can follow our previous blogpost.  For Macs, look at here. Googling you can get more videos and information. 
    • OMS v 3 Console. It is possible to use Docker to execute the programs but, after the experience of the last year with Docker installations on Windows, we preferred to use directly the Console. The OMS system installation traditional information can be found here: https://alm.engr.colostate.edu/cb/wiki/16961 and https://alm.engr.colostate.edu/cb/wiki/17107.  During the School we will use the Console 3.6.28. To install the Console, you have to download and unzip it, put it in a directory (folder) of your choice.  A new directory called oms-3.6.28-console will be created, inside of which you'll see:
      • To start the Console from Windows, just click on the .bat file
      • To start the Console from Mac OSX or Linux, open a Terminal and execute:
        • % ./console.sh &
      • The "&" just free the command line back and gives it back to you. 
    • During the School we will use Jupyter and Python 3 for data management and visualisation. It would be great if you could arrive with Jupyter installed.
      • The manual of Jupyterlab is here.
    • BTW, it will be useful to have also a GIS of your choice installed. We suggest QGIS.
    Set the Java Home in the Console
    • Just open the pull-down menù below from the first Console Window  (you must just click on the plus sign on the fourth icon on top left) and then insert in the Java Home the full path of your Java Home (if you do not know where it is, look at here: MS Windows, Mac/Linux)


    New: The OMS project and software used during the school is here on Zenodo. Download it for using it later according to the what you will find on the next pages.