Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Panel
borderColor#ccc
bgColor#D5EFFF
titleBGColor#F7D6C1
borderStyledashed

This tutorial provides a general overview of the application files as well as brief introduction into of the most common user operations, which can be done are available in the program.

Table of Contents
maxLevel2
outlinetrue
stylenone

How DelftShell files are organized

...

The DelftShell application consists of the 2 main parts, Main Application and a set of the Plugins.

Code Block

 DelftShell-1.0.5546/
    \---bin/........................................................ main application
    |       DelftShell.Core.dll
    |       DelftShell.Gui.dll
    |       DelftShell.Loader.application
    |       DelftShell.Loader.exe
    |       DelftShell.Loader.exe.config
    |       DelftShell.Loader.exe.manifest
    |       DelftShell.Loader.vshost.application
    |       DelftShell.Loader.vshost.exe
    |       DelftShell.Loader.vshost.exe.config
    |       DelftShell.log
    |       DelftTools.Core.dll
    |       DelftTools.DataObjects.dll
    |       DelftTools.DataObjects.Functions.dll
    |       DelftTools.Gui.dll
    |       DelftTools.Gui.Swf.Controls.dll
    |       DelftTools.Units.dll
    |       DelftTools.Utils.dll
    |       DevComponents.DotNetBar.dll
    |       GeoAPI.dll
    |       GeoAPI.Extensions.dll
    |       ICSharpCode.SharpZipLib.dll
    |       Iesi.Collections.dll
    |       license.lic
    |       log4net.dll
    |       NDepend.Helpers.FileDirectoryPath.dll
    |       Netron.NetronLight.dll
    |       NetTopologySuite.dll
    |       NetTopologySuite.Extensions.dll
    |       PostSharp.Laos.dll
    |       PostSharp.Public.dll
    |       QuickGraph.dll
    |       TeeChart.dll
    \---plugins/........................................................ currently installed plugins 
            +---DelftShell.Plugins.CommonTools/......................... common data types, menus
            |       DelftShell.Plugins.CommonTools.dll
            |       DelftShell.Plugins.CommonTools.dll.config
            |       
            +---DelftShell.Plugins.Data.NHibernate/..................... file format plugin (SQLite) 
            |       Castle.Core.dll
            |       Castle.DynamicProxy.dll
            |       Castle.DynamicProxy2.dll
            |       Castle.MicroKernel.dll
            |       Castle.Windsor.dll
            |       DelftShell.Plugins.Data.NHibernate.dll
            |       DelftShell.Plugins.Data.NHibernate.dll.config
            |       LinFu.DynamicProxy.dll
            |       LinFu.Reflection.dll
            |       NetTopologySuite.Extensions.NHibernate.dll
            |       NHibernate.ByteCode.Castle.dll
            |       NHibernate.ByteCode.Castle.pdb
            |       NHibernate.ByteCode.LinFu.dll
            |       NHibernate.ByteCode.LinFu.pdb
            |       NHibernate.dll
            |       NHibernate.pdb
            |       System.Data.SQLite.DLL
            |       System.Data.SQLite.XML
            |       
            +---DelftShell.Plugins.DelftModels.FlowModel/............... SOBEK FLOW(1D)
            |   |   delftflow_openmi.dll
            |   |   delftflow_openmi.pdb
            |   |   DelftModelApi.Net.dll
            |   |   DelftModelServer.exe
            |   |   DelftShell.Plugins.DelftModels.FlowModel.dll
            |   |   DelftShell.Plugins.DelftModels.FlowModel.dll.config
            |   |   libifcoremdd.dll
            |   |   libifportmd.dll
            |   |   libmmd.dll
            |   |   libmmdd.dll
            |   |   log4net.dll
            |   |   
            |   \---template
            |       |   sobeksim.fnm
            |       |   sobeksim.ini
            |       |   sobeksim.lng
            |       |   
            |       \---work
            |               sobeksim.ini
            |               
            +---DelftShell.Plugins.ImportExport/....................... data import and export
            |       DelftShell.Plugins.ImportExport.dll
            |       DelftShell.Plugins.ImportExport.dll.config
            |       
            +---DelftShell.Plugins.ImportExport.Sobek/
            |       DelftShell.Plugins.ImportExport.Sobek.dll
            |       DelftShell.Plugins.ImportExport.Sobek.dll.config
            |       
            +---DelftShell.Plugins.ImportExport.Turtle/
            |       DelftShell.Plugins.ImportExport.Turtle.dll
            |       DelftShell.Plugins.ImportExport.Turtle.dll.config
            |       
            +---DelftShell.Plugins.NetCDF/ ............................ file format for model results data
            |       DelftShell.Plugins.NetCDF.dll
            |       DelftShell.Plugins.NetCDF.dll.config
            |       DelftShell.Plugins.UdUnits.dll
            |       DelftShell.Plugins.UdUnits.dll.config
            |       IKVM.OpenJDK.ClassLibrary.dll
            |       IKVM.Runtime.dll
            |       netcdf-4.0.dll
            |       nlog4j-1.2.25.dll
            |       
            +---DelftShell.Plugins.ProjectExplorer/
            |       DelftShell.Plugins.ProjectExplorer.dll
            |       DelftShell.Plugins.ProjectExplorer.dll.config
            |       
            +---DelftShell.Plugins.Series/
            |       DelftShell.Plugins.Series.dll
            |       DelftShell.Plugins.Series.dll.config
            |       
            +---DelftShell.Plugins.SharpMapGis/
            |       DelftShell.Plugins.NetworkEditor.dll
            |       DelftShell.Plugins.NetworkEditor.dll.config
            |       DelftShell.Plugins.SharpMapGis.dll
            |       DelftShell.Plugins.SharpMapGis.dll.config
            |       gdal16.dll
            |       gdalconst_csharp.dll
            |       gdalconst_wrap.dll
            |       gdal_csharp.dll
            |       gdal_wrap.dll
            |       Irrlicht.dll
            |       Irrlicht.Extensions.dll
            |       Irrlicht.NET.dll
            |       IrrlichtW.dll
            |       ogr_csharp.dll
            |       ogr_wrap.dll
            |       osr_csharp.dll
            |       osr_wrap.dll
            |       proj.dll
            |       ProjNET.dll
            |       SharpMap.dll
            |       SharpMap.Extensions.dll
            |       SharpMap.UI.dll
            |       SharpVectorBindings.dll
            |       SharpVectorCss.dll
            |       SharpVectorDom.dll
            |       SharpVectorUtil.dll
            |           
            \---DelftShell.Plugins.Toolbox/
                    DelftShell.Plugins.Toolbox.dll
                    DelftShell.Plugins.Toolbox.dll.config

...

titleStep 1:
  • In order to start the application go to the DelftShell

...

  • \bin\Release start DelftShell.Loader.exe.

(warning) The Microsoft .NET Framework 3.5 (Dotnetfx35) should be installed on your computer before you can run DelftShell.

This will start the It will start an application and will show a screen like the one below.

Image Added

The mail main graphical user interface is organized as a set of tool windows and document windows. A main difference between those two is that the tool windows are always shown on a the screen and the document windows - are only used to visualize or edit a specific data type.

A typical Typical examples of the Tool Windows are:

  • Project Explorer - a the main navigation window showing all data contained in the current project in a tree-like form.
  • Message Window - logging windows, messages sent from models or different parts of the system are placed here.
  • Property Grid - shows properties for an active selection of the graphical user interface.
  • Toolbox - user-specific data shared between different projects (not fully implemented yet).
  • Maps - tree-like window showing the list of the GIS layers in the currently opened map.
  • Time Series Navigator - allows to navigate through times of any time-dependent data.
  • Network - allows to view / edit structure of the currently opened (hydro) network.

Image Removed

...

  • Types of Data in the Project
  • Models
  • File Format

...

  • Tool and Document Windows
  • Project Explorer
  • Property Grid
  • Message Window

...

  • timeseries
  • 2D regular grid
  • multidimensional data
  • network
  • network coverage
  • .

Image Added

When application is started - it automatically creates a default empty project so an user can immediately start filling it in with data, models, etc. A project can be seen as a currently opened user work document. An active project can be stored in SQLite database file format. Eventually DelftShell may store a model input / output data in a set of NetCDF files located next to the project file. So in total there are two non-proprietary file formats used to store project data.

Tip
titleTip:

Use F2 in Project Explorer in order to edit the name of the project, folder, model or any other item contained.

Generally DelftShell can store the following data types in a project:

  • Folder
  • Model / Composite Model - working activities which the user can start in order to perform computations
  • Data - any data type registered in the system, default contain e.g. Time Series, Regular Grid Coverage or more specific data types such as Network.
  • <specific application documents such as Map or Chart> - these are non-data objects but more views configured in order to view those objects.

How to add new Time Series or any other data type to the project.

  • Use a menu command shown on the screen below.

Image Added

  • After a dialog appears, a list of data types currently supported by the application are shown.

Image Added

Note that Network (hydro network) is also considered as one of the supported data types. Actually an architecture of the system allows easy implementation of the user-specific data types, but this is a more advanced topic and will be covered in a Developers Guide (obsolete).

How to add a new computational model, e.g. Delft Flow Model 1D, to a project

Adding models to the project works almost the same as with data. The user has to select a model type via Project (right-click) > Add > New Model.

This is how it looks after demo 1D flow model is added to the project:

Image Added

All model input and output data can be navigated via the Project Explorer tree view.

Tip
titleTip:

When model is selected in the project explorer you can define run time parameters of the model via Property Grid:
Image Added

Actually many parameters, not only for model, can be viewed or edited via the Property Grid when they are selected in the different windows.

How data, added to the project, can be edited

The graphical user interface supports different data types and most of them currently have a default editor. Usually the editor opens automatically when data / model is added to the project. But when it is closed - the user may re-open it by double clicking.

In some specific cases there may be more than two editors / viewers registered for one data type - in this case the gui will show a selection dialog where user can select a default type of the editor. The view type selection dialog can be activated by right-clicking on selected item in the Project Explorer and then selecting Open With.

Image Added

Tip
titleTip:

When one of the Tool Windows is closed, it can be reopened with the View menu, e.g. View > Project Explorer. This will re-add it back in the main gui.

Tip
titleTip:

When gui exits - it automatically saves all its settings data, including all tool windows layout, into the user custom settings file which is usually located in a directory: *C:\Document and Settings\<user name>\Local Settings\Application Data\Deltares\DelftShell*. Check this directory to see which files are saved. It is also possible to remove the whole Deltares\DelftShell directory, if you want to reset all user-specific settings

How to import data into a project or export data to an external file format?

When you need to get a specific data type imported into the project one of the options is to use one of the existing Data Import plugins. The default installation includes some of them, for example importers make it possible to import a network from the older versions of the SOBEK or import a set of a grid files as a single time-dependent grid. Go to File > Import Data to open the Import Data window.

Current API of the DelftShell allows very easy implementation of the custom importers / exporters requiring very minimum knowledge of the whole system architecture. In some cases it can be extended by the team on request.

Image Added

scrollbar

...