Monday, December 31, 2012

Open Java resources for Hydrologists

Next question about Java, after having introduced it, and talked about options for doing numerics, is to see if there are effective resources on which hydrologists can build something useful, incrementally, and as a part of a community.
Also OpenMI uses Java, but, at the moment, Java there is just the second choice, well behind their C#. A second framework which we are looking to is:
  • Openda. It is a framework for data assimilation and calibration of models promoted by Deltares. 

There are out there probably other Java frameworks, and I will add them to the list, whenever they will be brought to my attention.
The field of more intense Java activity is actually the GIS one. There are at least three/four major open source efforts in Java:
In fact, it is not very clear to me, but also the
initiative seems having parts based on Java.
They are based on various type of resources among those in Java:
Both GeoTools and Sextante use 
  • JTS, the Java topology suite for several elementary operations.
An interesting,  old but not outdated initiative to give a third dimension to data visualisation is 
  • Visad, a library to visualise scientific datasets
from which sprout
  • the IDV  virtual globes family to visualize 3D geophysical data
IDV is not the unique Java Virtual globe. Another one is:
  • the Nasa WorldWind which gives (as open source) what Google Earth gives to the general public. Various prototype implementations of Nasa WorldWind in uDig (and in OMS3) were already made, and possibly sooner or later we will have a full mainstream implementation of it.
Last but not least an important resources is 
  • the NetCDF data format (of which IDV, but also ncBrowse,  is a viewer) has also an implementation in Java.
Even if my post is more concerned about the development of Hydrological resources and models, the above frameworks/programs/applications/models or part of them can just be used (and just not developed) with profit.  Starting from OMS3 there are at least three major modelling efforts that use it:
Not to forget is the whole Jgrasstools available for DEM manipulation (and further modelling) inside (and outside) uDig. All of them have more resources in a post dedicated to OMS 3 resources.
The Sextante library itself comes with more than 300 tools for manipulation of DEM and images. Also IDV and NasaWorldWind can be just used for the purposes of any research.
Another full-fledged Java Catchment model is

by Ricardo Mantilla. Its source code can be obtained following the instructions in the user manual.

A recent addition to the resources is


Why use Java, instead of  R ?

In one of my previous post, I talked about R software, and in fact, my group of people use both.  R is much more for some higher level operations, and is much less customisable than the resources developed in Java, and,  usually, less efficient.  My former students, using Java capabilities were able to built professional/industrial applications on the basis of Java (the GIS are a proof), that using just R would have been impossible.
However, the new incoming version of OMS3, should include the way to call R from the OMS console. Please contact the OMS version 3 developers for more information.

Why do not use Python ?

Python (or many other languages) could have been a good choice. Never say never, however I chose Java and to be successful one has to consistently invest his/her own limited resources in one direction.

There exist material/documentation on the above material ?

One introduction to programming GIS and essentially all I would require to a collaborator to know  can be found here by Andrea Antonello

1 comment: