Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Delta Shell is an open modelling environment. The main goal of Delta Shell is to provide a solid software platform for running 1D, 2D and 3D environmental models.

The system allows creating, storing and visualizing different types of environmental data, like time series, networks, GIS features, and other data types defined in the spatio-temporal domain.

The architecture of the system, due to its modular and open design, can also support a wide range of other applications such as GIS data management and analysis/management of hydrological data.

The present version of the system makes extensive use of open-source libraries such as SharpMap, GeoAPI, NetCDF, NHibernate, SQLite, PostSharp; some of those libraries were significantly extended and will be made freely available to the community. 

Architecture outline

The architecture outline of Delta Shell is shown in the figure below. As can be seen from the figure, Delta Shell consists of a set of common class libraries, mainly representing different domains and software standards such as:

  • OGC-based geometries and features;
  • hydrologic network objects;
  • mathematical and physics libraries;
  • general application framework class libraries (Core, Gui).

These general framework class libraries define on a very high level how a typical console or graphical user interface application is constructed. They also define how different parts of the environment can be extended by means of plugins. This includes both:

  • non-gui plugins providing new data types or computational models to the system, and;
  • graphical user interface components used to visualize different data.


Image Added

Background readings on Delta Shell 

Unfortunately there currently is no complete set of documentation available for the Delta Shell components and interfaces and, additionally, the documentation that is available quickly becomes obsolete as development of Delta Shell progresses further.

Nevertheless, some background papers are available that are recommended for new Delta Shell developers to read before proceeding with any tutorials or exercises:

  • Delta Shell, an open modelling environment (PDF) 
    Wiki Markup
    *\[TOOLS:TODO\] Add link to PDF{*}

    G. V. Donchyts, B. Jagers, (iEMSs 2010)
  • Functional Coverages (PDF) 
    Wiki Markup
    *\[TOOLS:TODO\] Add link to PDF{*}

    G. V. Donchyts, F. Baart, H.R.A Jagers, A van Dam (OSGeo Journal 10, 2011)

Background readings on used open-source libraries

Additional information that might be useful, concerns the open source geospatial libraries that are used by Delta Shell. These background readings can be found at their repositories on the internet:

NetCDF, GeoAPI.Net and NetTopologySuite are used closely together and have each been extended by Deltares to develop the Functional Coverages spatial API.

SharpMap is the Map UI component used by Delta Shell which has been extended by Deltares in a separate branch that can be found at the SharpMap repository (http://sharpmap.codeplex.com/SourceControl/latest#Branches/0.9.5-DeltaShell).

Some final notes:

  • For NetCDF, the plain C API is used for optimal performance by integrating a .NET 'wrapper' in the DelfTools.Utils.NetCDF library. The C# wrapper classes are quite similar to but not exactly modelled after the NetCDF Java API.
  • Quite a few other external libraries (SQLite, NHibernate, PostSharp, Mono.Addins, etc.) are mentioned in the background papers or used in tutorials and exercises; you may need to read up on these tools later.