You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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:

  • geospatial libraries (geometries, features, coverages);
  • hydrographic libraries (hydro regions, hydro networks, drainage basins, hydro areas, hydraulic structures and other hydrographic features);
  • scientific libraries (units, multi-dimensional arrays, variables);
  • storage libraries (NetCDF, SQLite and support for many file formats such as CSV, WaterML2, Shapefile, file formats supported by GDAL)
  • workflow libraries (simple and composite workflow activities, support for parallel and sequential run modes)
  • scripting support (based on IronPython)
  • general application framework libraries (Application, 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.

An empty version of the Delta Shell does not include any of the Model Plugins. They are included only in dedicated installations of the Delta Shell. See the Projects page on Delta Shell website for the examples.

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:

Links to used open-source libraries 

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

GeoAPI.NET and NetTopologySuite are used closely together and have each been extended by Deltares to develop support for geospatial Features and Coverages.

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).

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.

  • No labels