BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade,...

Post on 28-Mar-2015

212 views 0 download

Tags:

Transcript of BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade,...

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 1

Peter Schade, peter.schade@baw.de

OpenMI Goes Linux

OpenMI 2.0 Talk

at the BAW in Hamburg 8 th of September 2009

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 2

Overview “OpenMI goes Linux“

1. Status Quo of BAW Hardware, OpenMI versions and Mono

2. Portation of the OpenMI from Windows to Linux by Mono

3. Perspectives

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 3

1. Status Quo of BAW hardware,

OpenMI versions and Mono

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 4

1. Status Quo BAW Model HardwareComputer CPU OS Models

Dell PCs

Intel QuadCore

WindowsXP

OpenMI-Delft3D, SWAN

Linux

Workstations

2 Intel

QuadCore

64 bit, SUSE

Linux 11

UnTRIM, SediMorph, Telemac, k_model, …

SGI Altix 3700

Intel Itanium

64 bit, SUSE

Linux 9

UnTRIM, SediMorph, Telemac,

k_model, …

SGI AltixXE 1300

66 * 2 Intel QuadCore

64 bit, SUSE

Linux 11

UnTRIM, SediMorph, Telemac,

k_model, …

Majority of models at BAW runs on Linux systems

OpenMI-Linux test system

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 5

1. OpenMI 1.4 C# and Java Version

Feature C# for MS .NET Java C# for Mono

Platforms Windows Linux,Solaris, Mac OS X,Windows

?

GUI + - ?

Status professional professional ?

Examples of OpenMI compliant

models

Delft3D, InfoWorks, ISIS,

Mike11, Mike SHE, RiSH, RMM,

Sobek, SWIS, Waqua, GEI,

ZOOMQ3D, ...

JGrass, Capri, SSIM,

Apes, MetaSwap

?

“personal“

code history

? ? ?? ?

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 6

1. What is Mono?It contains • the compiler gmcs• the IDE MonoDevelop• the Common Language Runtime (CLR, comparable with JavaRE)

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 7

1. What is Mono?It contains • the compiler gmcs• the IDE MonoDevelop• the Common Language Runtime (compar. With JRE)

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 8

1. What is Mono?part of the Linux distributions of • Fedora• SUSE• Ubuntu• …

It contains • the compiler gmcs• the IDE MonoDevelop• the Common Language Runtime (compar. With JRE)

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 9

2. Portation of the OpenMI from Windows to Linux by Mono

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 10

2. Portation of OpenMI Environment 1

OpenMI Standard

What has been ported to Mono C#?

See Portation Guidelines on the OpenMI Wiki: http://public.deltares.nl/display/OPENMI/How+to+port+the+OpenMI+from+Windows+to+Linux

C# models of theExamples area

SDK,the toolkit

Configuration Editor, the GUI

Annotations

• easy portation,• some MS dlls could even be interpreted on Mono Common Language Runtime

• some problems with namespaces, ressource files *.resx, graphic formats;• apart from filters all has been ported

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 11

2. Portation of OpenMI Environment 2

Courtesy Rob Knapen from Alterra

• The dlls were compiled and successfully tested under SUSE SLED 11.

• Second test of the same dlls on the Mono CLR of Ubuntu 9.04:

Download of OpenMI environment from SourceForge http://openmi.svn.sourceforge.net/viewvc/openmi/branches/OpenMI-Version-1-Trunk/

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 12

2. Portation of a LinkableComponent

... consisting of a Fortran Engine and a C# Wrapper

See Guidelines on the OpenMI Wikihttp://public.deltares.nl/display/OPENMI/How+to+generate+a+LinkableComponent+with+a+Fortran+engine+on+Linux

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 13

2. Portation of a Fortran Engine …

• Intel compiler bug with dlls caused minor changes in the code

• updated code could be compiled on Windows as well as on Linux

• Linux and Windows compiler were both Intel compilers

• the generated shared library (dll) is planned to be re-used as a reader of BAW files for visualisation software Davit

… to Linux

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 14

2. Portation of a C# Wrapper

• Most of the ported code runs on Windows as well.

• But a severe Mono bug with accessing Fortran strings -> workaround: Microsoft C# Wrapper and Mono C# Wrapper should differ in that point.

• The C# Wrapper does not work with parallel Fortran code for HPC; Mono compiler does not support parallel computing.

• MPI.NET is a commercial product which should enable parallel code for Mono.

• IDE MonoDevelop not as powerful and well documented as MS Visual Studio

• Recommendation: Develop in MS Visual Studio .NET and port the results.

… to Mono

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 15

OpenMI Link

Reader ComponentGEIWrapper

Simple C# River Model

2. Test case: Reader and Model

Initial Data

Initial Data

Initial Data

Initial Data

Sources, Sinks

Free Surface

e.g. Waterlevel

Initial Data

Open Boundary

C# Model

the ported OpenMI has a research status

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 16

2. Screenshot: Reader and Model

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 17

3. Perspectives

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 18

3. Perspectives for Mono

• sustainability: future of Mono as an open source projec

• Microsoft make C# patent promise to unblock Mono

• ongoing development of Mono• support of parallel Fortran?• Mono dlls are interpreted on several platforms with a Mono Common Language Runtime

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 19

3. Perspectives for Linux OpenMI OpenMI environment runs stable at least on SUSE Linux

Component: guidelines for portation on OpenMI-Wiki

Fortran engine GEI: small changes

new possibilities to integrate GEI and GEIWrapper

Portation of C# Wrapper: few changes