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

19
BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg • Ilmenau BAW - DH / 02.07.22 Folie-Nr. 1 Peter Schade, [email protected] OpenMI Goes Linux OpenMI 2.0 Talk at the BAW in Hamburg 8 th of September 2009

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

Page 1: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 1

Peter Schade, [email protected]

OpenMI Goes Linux

OpenMI 2.0 Talk

at the BAW in Hamburg 8 th of September 2009

Page 2: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 3: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 4: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 5: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

? ? ?? ?

Page 6: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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)

Page 7: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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)

Page 8: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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)

Page 9: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 10: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 11: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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/

Page 12: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 13: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes 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

Page 14: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes 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

Page 15: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 16: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 16

2. Screenshot: Reader and Model

Page 17: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

BUNDESANSTALT FÜR WASSERBAU Karlsruhe • Hamburg • Ilmenau

BAW - DH / 10.04.23 Folie-Nr. 17

3. Perspectives

Page 18: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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

Page 19: BUNDESANSTALT FÜR WASSERBAU Karlsruhe Hamburg Ilmenau BAW - DH / 2014-04 Folie-Nr. 1 Peter Schade, peter.schade@baw.depeter.schade@baw.de OpenMI Goes Linux.

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