<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bluemodel.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Reussner</id>
	<title>BlueM - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bluemodel.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Reussner"/>
	<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php/Special:Contributions/Reussner"/>
	<updated>2026-04-09T13:24:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM.Sim_compilation&amp;diff=6847</id>
		<title>BlueM.Sim compilation</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM.Sim_compilation&amp;diff=6847"/>
		<updated>2011-09-21T21:01:05Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Compiler settings - deleting and parallelisation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BlueM.Sim nav}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; margin:0 0 10px 10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compilation==&lt;br /&gt;
BlueM.Sim is written in FORTRAN. Additional components such as [[BlueM.DLLAdapter]] and [[Wave]] are written in C# and VB.NET.&lt;br /&gt;
&lt;br /&gt;
Requirements for compiling BlueM.Sim:&lt;br /&gt;
* [http://www.microsoft.com/visualstudio/en-us/products/professional/default.mspx Microsoft Visual Studio 2008 Professional] (the Standard Edition may be enough, but has not been tested)&lt;br /&gt;
* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/278834.htm Intel Fortran Compiler] v11&lt;br /&gt;
* [http://www.steema.com/products/teechart/net/overview.html TeeChart for .NET (v4) developer license] (only required for compiling [[Wave]])&lt;br /&gt;
&lt;br /&gt;
==Compiler settings==&lt;br /&gt;
[[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]]&lt;br /&gt;
Compiler-Einstellungen (&#039;&#039;Flags&#039;&#039;), die zur erfolgreichen Kompilierung erforderlich sind. &lt;br /&gt;
* &amp;lt;code&amp;gt;/assume:byterecl&amp;lt;/code&amp;gt;&lt;br /&gt;
: Damit Intel Fortran bei unformatierten Dateien (wie den Zeitreihen im BIN-Format) die Record-Länge als bytes und nicht als 4-byte Einheiten (longwords) interpretiert, muss folgender Flag gesetzt werden: &amp;quot;&#039;&#039;&#039;Use Bytes as RECL unit for unformatted files: Yes&#039;&#039;&#039;&amp;quot; (siehe Bild)&lt;br /&gt;
&lt;br /&gt;
==Build configurations==&lt;br /&gt;
The following build configurations for BlueM.Sim are defined in the project file:&lt;br /&gt;
* &#039;&#039;&#039;Debug&#039;&#039;&#039;: Debug version, no optimizations&lt;br /&gt;
* &#039;&#039;&#039;Release&#039;&#039;&#039;: Full optimization, requires processor supporting Intel&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; Streaming SIMD Extensions 2 (Intel&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; SSE2). Auto parallelisation (with threshold 90) ON&lt;br /&gt;
* &#039;&#039;&#039;Release_AllProcessors&#039;&#039;&#039;: Full optimization, for generic IA-32 architectures (older processors) (Bug 442). Auto parallelisation OFF&lt;br /&gt;
&lt;br /&gt;
==Compilation in Eclipse==&lt;br /&gt;
[[Bild:Eclipse.gif|thumb|Eclipse screenshot]]&lt;br /&gt;
Bisher ist es noch nicht gelungen, BlueM.Sim erfolgreich in [http://www.eclipse.org Eclipse] zu kompilieren. Hier eine vorläufige (inkomplette) Anleitung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Installation:&amp;lt;/u&amp;gt;&lt;br /&gt;
* Eclipse SDK 3.2.1: http://www.eclipse.org/downloads/&lt;br /&gt;
* Eclipse C/C++ Development Toolkit (CDT): http://www.eclipse.org/cdt/ (&#039;&#039;In Eclipse über Menü &#039;&#039;&#039;Help - Software Updates&#039;&#039;&#039; installieren&#039;&#039;)&lt;br /&gt;
* Photran Feature 3.1 Beta: http://www.eclipse.org/photran/ (&#039;&#039;Inhalt der ZIP-Datei einfach in entsprechende Ordner im Eclipse Installationsverzeichnis kopieren&#039;&#039;)&lt;br /&gt;
* Cygwin mit gdb (GNU Debugger): http://www.cygwin.com/ (&#039;&#039;gdb bei der Installation unter &#039;&#039;&#039;Devel&#039;&#039;&#039; auswählen&#039;&#039;)&lt;br /&gt;
* make für Windows: http://www.steve.org.uk/Software/make/ (&#039;&#039;make muss auf den PATH&#039;&#039;)&lt;br /&gt;
* g95 compiler: http://www.g95.org/ (&#039;&#039;g95 muss auf den PATH&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Eclipse Einstellungen:&amp;lt;/u&amp;gt;&lt;br /&gt;
* Project Properties: Binary Parser: &#039;&#039;&#039;PE Windows Parser&#039;&#039;&#039; (&#039;&#039;für Syntaxfehlererkennung&#039;&#039;)&lt;br /&gt;
* Debug As...: C/C++ Local Application: Debugger: &#039;&#039;&#039;Cygwin gdb Debugger&#039;&#039;&#039; und Pfad zu gdb.exe angeben&lt;br /&gt;
&lt;br /&gt;
Es ist (theoretisch) auch möglich, den Intel Fortran Compiler/Debugger in Eclipse einzubinden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM.Sim Development]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM.Sim_input_files&amp;diff=6780</id>
		<title>BlueM.Sim input files</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM.Sim_input_files&amp;diff=6780"/>
		<updated>2010-07-16T08:37:12Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Alphabetisch geordnet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&#039;&#039;Sample records can be downloaded from [http://130.83.196.220/bluem/forum/ Forum].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;List of input files for BlueM.Sim&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;General:&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[ALL-File]]:&#039;&#039;&#039; General Simulation Options&lt;br /&gt;
*&#039;&#039;&#039;[[SYS-File]]:&#039;&#039;&#039; System Plan&lt;br /&gt;
&amp;lt;u&amp;gt;Functions:&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[FKT-File]]:&#039;&#039;&#039; Functions&lt;br /&gt;
*&#039;&#039;&#039;[[KTR-File]]:&#039;&#039;&#039; Control functions&lt;br /&gt;
&amp;lt;u&amp;gt;Time series&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[EXT-File]]:&#039;&#039;&#039; time series management (see also [[ZRE-Format]])&lt;br /&gt;
*&#039;&#039;&#039;[[JGG-File]]:&#039;&#039;&#039; Annual series&lt;br /&gt;
*&#039;&#039;&#039;[[TGG-File]]:&#039;&#039;&#039; Day series&lt;br /&gt;
*&#039;&#039;&#039;[[WGG-File]]:&#039;&#039;&#039; Week series&lt;br /&gt;
&amp;lt;u&amp;gt;Elements&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[BEK-File]]:&#039;&#039;&#039; Rain overflow basin&lt;br /&gt;
*&#039;&#039;&#039;[[EIN-File]]:&#039;&#039;&#039; Individual discharges&lt;br /&gt;
*&#039;&#039;&#039;[[EZG-File]]:&#039;&#039;&#039; Natural catchments&lt;br /&gt;
*&#039;&#039;&#039;[[FKA-File]]:&#039;&#039;&#039; Urban catchment&lt;br /&gt;
*&#039;&#039;&#039;[[HYA-File]]:&#039;&#039;&#039; Hydraulic Elements&lt;br /&gt;
*&#039;&#039;&#039;[[RUE-File]]:&#039;&#039;&#039; About Rain Barrels&lt;br /&gt;
*&#039;&#039;&#039;[[TAL-File]]:&#039;&#039;&#039; Dams&lt;br /&gt;
*&#039;&#039;&#039;[[TRS-File]]:&#039;&#039;&#039; Transport routes&lt;br /&gt;
*&#039;&#039;&#039;[[URB-File]]:&#039;&#039;&#039; Consumers&lt;br /&gt;
*&#039;&#039;&#039;[[VER-File]]:&#039;&#039;&#039; Branching&lt;br /&gt;
&amp;lt;u&amp;gt;Soil moisture calculation&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[BOA-File]]:&#039;&#039;&#039; Soil types&lt;br /&gt;
*&#039;&#039;&#039;[[BOD-File]]:&#039;&#039;&#039; Soil types&lt;br /&gt;
*&#039;&#039;&#039;[[EFL-File]]:&#039;&#039;&#039; Elementary surfaces&lt;br /&gt;
*&#039;&#039;&#039;[[LNZ-File]]:&#039;&#039;&#039; Land&lt;br /&gt;
&amp;lt;u&amp;gt;Diffuse sources&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[DIF-File]]:&#039;&#039;&#039; Diffuse sources&lt;br /&gt;
** See also &#039;&#039;&#039;[[ALL-File]]:&#039;&#039;&#039; General Simulation Options&lt;br /&gt;
** See also &#039;&#039;&#039;[[EFL-File]]:&#039;&#039;&#039; Elementary surfaces&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien|*]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6775</id>
		<title>TRS-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6775"/>
		<updated>2010-01-26T08:38:34Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Verrohrung Rechteck deaktiviert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Transportstrecken&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Transportstrecken|Theorie:Transportstrecken]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Transportelemente (*.TRS)&lt;br /&gt;
*=========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|------------------------|&lt;br /&gt;
*|  Bez | Kng |      |Kng =1|      Kng = 2,5       |      Kng 3 = offenes Gerinne          |       Kng = 4      |   MQ   |     Temperatur         |&lt;br /&gt;
*|      |     |Laenge|Trans-|     Rohrleitung      |Vorland   --Links---  --Rechts---      |      Kennlinie     |        |                        |&lt;br /&gt;
*|      |     |      |lation|P B/D Aquer Js   kb   | v  Hoehe Breite Kst  Breite  Kst  Js  | Hoehe A-quer Qab   |        |Kng Tem JGG TGG  Datei  |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|------------------------|&lt;br /&gt;
*|  -   | 1-5 |  m   | min  |   m   m^2  °/oo  mm  |     m     m   m^.3/s  m   m^.3/s °/oo |   m     m^2  m^3/s | m^3/s  |1/2 °C   -   -   Nummer |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|+&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-|-+-&amp;lt;--&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;------&amp;gt;|&lt;br /&gt;
*|   A  |  B  |   C  |   D  |S  E    F    G    H   |     I     J     K      L    M     N   |   O     P     Q    |   R    | S    T  V   W        X |&lt;br /&gt;
 | S100 |  3  |     1|      |                      |        0 0.009 38.2  1.813   26     2 |                    |      1 | 2   20             1   |&lt;br /&gt;
 |      |     |      |      |                      |      0.5 0.009 38.2      2 38.2       |                    |        |                        |&lt;br /&gt;
 |      |     |      |      |                      |    0.981 0.446   26  2.211   34       |                    |        |                        |&lt;br /&gt;
 |      |     |      |      |                      |    0.994 0.452   26  2.313   34       |                    |        |                        |&lt;br /&gt;
 |      |     |      |      |                      |    1.133 1.443   34  3.403   34       |                    |        |                        |&lt;br /&gt;
 |      |     |      |      |                      |    1.152 1.578   34  4.983   34       |                    |        |                        |&lt;br /&gt;
 |      |     |      |      |                      | v  1.253 3.195   34 13.394   34       |                    |        |                        |&lt;br /&gt;
 | SEND |  1  |     1|  1440|                      |                                       |                    |      1 | 2   20             1   |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|------------------------|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
&#039;&#039;&#039;Allgemein&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;A&#039;&#039;&#039;: Bezeichnung&lt;br /&gt;
*&#039;&#039;&#039;B&#039;&#039;&#039;: Kennung&lt;br /&gt;
*&#039;&#039;&#039;C&#039;&#039;&#039;: Länge&lt;br /&gt;
&#039;&#039;&#039;Kennung 1: Translation&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;D&#039;&#039;&#039;: Translationszeit [min]&lt;br /&gt;
:Die Translationszeit wird immer auf ein Vielfaches des Simulationszeitschritts &#039;&#039;&#039;ab&#039;&#039;&#039;gerundet!&lt;br /&gt;
:Wenn die Translationszeit kürzer als der Simulationszeitschritt ist, findet &#039;&#039;&#039;keine&#039;&#039;&#039; Translation statt!&lt;br /&gt;
&#039;&#039;&#039;Kennung 2: Rohrleitung nach Kalinin-Miljukov&#039;&#039;&#039; /&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kennung 5: Rohrleitung über nicht-linearen Speicher&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;S&#039;&#039;&#039;: Profilart [1-4]:&lt;br /&gt;
*: 1: Kreis &lt;br /&gt;
*: 2: Ei (Norm-Ei H/B = 1,5)&lt;br /&gt;
*: 3: Maul (Norm-Maul H/B = 0,75)&lt;br /&gt;
*: (implementiert aber mit Fehlern 4: Rechteck )&lt;br /&gt;
*&#039;&#039;&#039;E&#039;&#039;&#039;: Durchmesser (beziehungsweise Breite)&lt;br /&gt;
*&#039;&#039;&#039;F&#039;&#039;&#039;: Querschnittfläche&lt;br /&gt;
*&#039;&#039;&#039;G&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
*&#039;&#039;&#039;H&#039;&#039;&#039;: Rauheit&lt;br /&gt;
&#039;&#039;&#039;Kennung 3: offenes Gerinne&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;I&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;J&#039;&#039;&#039;: Breite linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;K&#039;&#039;&#039;: k&amp;lt;sub&amp;gt;st&amp;lt;/sub&amp;gt; linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;L&#039;&#039;&#039;: Breite rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;M&#039;&#039;&#039;: k&amp;lt;sub&amp;gt;st&amp;lt;/sub&amp;gt; rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;N&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
&#039;&#039;&#039;Kennung 4: Kennlinie&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;O&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;P&#039;&#039;&#039;: Querschnittsfläche&lt;br /&gt;
*&#039;&#039;&#039;Q&#039;&#039;&#039;: Abfluss Q&amp;lt;sub&amp;gt;ab&amp;lt;/sub&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MQ&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;R&#039;&#039;&#039;: Anfangswert für den Abfluss&lt;br /&gt;
:wird zusätzlich mit der Kenngröße &amp;lt;code&amp;gt;Gerinneabfluss [% von MQ]&amp;lt;/code&amp;gt; aus der [[ALL-Datei]] skaliert!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Temperatur:&amp;lt;/u&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;S&#039;&#039;&#039;: Berechnungsart für die Temperatur (1 = Mittelwert mit optionalem [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgang]]; 2 = Temperatur aus Zeitreihe/Datei)&lt;br /&gt;
*&#039;&#039;&#039;T&#039;&#039;&#039;: Mittlere Temperatur [°C]&lt;br /&gt;
*&#039;&#039;&#039;V&#039;&#039;&#039;, &#039;&#039;&#039;W&#039;&#039;&#039;: Nummer des zu verwendenden [[TSIM.JGG | Jahres]]/[[TSIM.TGG | Tagesgangs]]&lt;br /&gt;
*&#039;&#039;&#039;X&#039;&#039;&#039;: Dateinummer der zu verwendenden Temperaturzeitreihe (siehe [[TSIM.EXT | *.EXT-Datei]])&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
The maximum number of lines that can be entered per transport element is &#039;&#039;&#039;26&#039;&#039;&#039;! (&amp;lt;code&amp;gt;TRS_MAXSTZ&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=EIN-File&amp;diff=6768</id>
		<title>EIN-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=EIN-File&amp;diff=6768"/>
		<updated>2009-12-01T12:03:27Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Erläuterung */  Skalierungsfaktor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Einzeleinleitungen&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Einleitungen|Theorie:Einleitungen]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Einzeleinleitungen (*.EIN)&lt;br /&gt;
*==========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
*| Bez. | Kng | konst.    Ganglinie  |  Datei   Faktor|&lt;br /&gt;
*|      |     | QMITTEL  JGG WGG TGG |    Nr.         |&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
*|  -   | 1/2 |   m3/s    -   -   -  |            %   |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;---&amp;gt;-|&lt;br /&gt;
 |   A  |  B  |     C     D   E   F  |     G      H   |&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
erweitert, um Fläche und Spende (nur zur Info, es wird weiterhin nur Qmittel oder Datei eingelesen)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Einzeleinleitungen (*.EIN)&lt;br /&gt;
*==========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|----------------------|----------------|--------|--------|&lt;br /&gt;
*| Bez. | Kng | konst.    Ganglinie  |  Datei   Faktor| Spende | Fläche |&lt;br /&gt;
*|      |     | QMITTEL  JGG WGG TGG |    Nr.         |        |        |&lt;br /&gt;
*|------|-----|----------------------|----------------|--------|--------|&lt;br /&gt;
*|  -   | 1/2 |   m3/s    -   -   -  |            %   |m3/s km2|   km2  |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-|&lt;br /&gt;
 |   A  |  B  |     C     D   E   F  |     G      H   | Spende | Fläche |&lt;br /&gt;
*|------|-----|----------------------|----------------|--------|--------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
*A: Bezeichnung des Elements&lt;br /&gt;
*B: Berechnungsart (1/2)&lt;br /&gt;
&#039;&#039;&#039;Berechnungsart 1: mittlere Abgabe mit optionalem [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgang]]&#039;&#039;&#039;:&lt;br /&gt;
*C: Mittelwert&lt;br /&gt;
*D, E, F: Nummer des zu verwendenden [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgangs]]&lt;br /&gt;
&#039;&#039;&#039;Berechnungsart 2: Zeitreihe/Datei mit Skalierungsfaktor&#039;&#039;&#039;&lt;br /&gt;
*G: Nummer der zu verwendenden Datei (siehe [[TSIM.EXT | *.EXT-Datei]])&lt;br /&gt;
*H: Skalierungsfaktor [%] (Dezimalzahl)&lt;br /&gt;
&lt;br /&gt;
; Achtung: der Skalierungsfaktor ist ab Version 0.9.6.3 allgemeingültig für alle Berechnungsoptionen !!!&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM_References&amp;diff=6663</id>
		<title>BlueM References</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM_References&amp;diff=6663"/>
		<updated>2009-10-05T08:04:55Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin:0 0 10px 10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==Publications==&lt;br /&gt;
The following publications refer to BlueM:&lt;br /&gt;
&lt;br /&gt;
===Presentations===&lt;br /&gt;
* {{:Literatur:Bach et al. 2009|[[BlueM - Ein Softwarepaket zur integrierten Flussgebietsbewirtschaftung]]}} (2009)&lt;br /&gt;
* {{:Literature:Muschalla et al. 2009|[[BlueM.Opt - a generic framework for simulation based optimization]]}} (2009)&lt;br /&gt;
* {{:Literature:Froehlich &amp;amp; Hübner 2009|[[Kopplung von Simulation und Optimierung - Eine Vorstellung von BlueM.Opt]]}} (2009)&lt;br /&gt;
&lt;br /&gt;
===Papers===&lt;br /&gt;
* {{:Literature:Reußner et al. 2009|[http://dx.doi.org/10.2166/wst.2009.471 Basin-wide integrated modelling via OpenMI considering multiple urban catchments.]}} (2009)&lt;br /&gt;
&#039;&#039;under construction&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Theses===&lt;br /&gt;
* {{:Literature:Muschalla 2006|Muschalla (2006): Evolutionäre multikriterielle Optimierung komplexer wasserwirtschaftlicher Systeme}}&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
BlueM has been used in the following projects:&lt;br /&gt;
&lt;br /&gt;
===RIMAX33===&lt;br /&gt;
[[Bild:RIMAX logo.png|thumb|RIMAX]]&lt;br /&gt;
Im Rahmen der BMBF-Fördermaßnahme [http://www.rimax-hochwasser.de RIMAX] (Risikomanagement extremer Hochwasserereignisse) wurde am [http://www.ihwb.tu-darmstadt.de ihwb] und am [http://www.iwd.tu-dresden.de Institut für Wasserbau und Technische Hydromechanik der TU Dresden] gemeinschaftlich das Projekt &#039;&#039;&#039;&amp;quot;Erhöhung der Bauwerkssicherheit und Reduktion des Hochwasserrisikos im Unterlauf durch optimierte Speicher- und Poldersteuerung unter Berücksichtigung ökologischer Belange&amp;quot; (RIMAX33)&#039;&#039;&#039; bearbeitet.&lt;br /&gt;
&lt;br /&gt;
Hierbei wurde [[BlueM.Sim]] für die Niederschlags-Abfluss-Modellierung und die Talsperrensimulation verwendet, [[BlueM.Opt]] kam für die Optimierung von Betriebsregeln zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
[http://www.ihwb.tu-darmstadt.de/rimax33/ Projekt-Homepage]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Immissions-Leitfaden===&lt;br /&gt;
Goal of the project is the development of a simulation based method for the analysis and planning of immission oriented verification. Building on developments of the Hessian waste water discharge model SMUSI 5.0 the verification is extended to rural catchment and water body elements (Extended waste water discharge model). Because this extended model considers outflow and storage processes of urban system elements in detail, using this model enables a better qualified identification of impacts in the water bodies and allows for comparative planning of measures. In this process there is no need for further data collection compared to the existing guideline.&lt;br /&gt;
&lt;br /&gt;
[http://www.ihwb.tu-darmstadt.de/research/current_research/aktuelleforschung.en.jsp#leitfaden Guideline]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literature==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Publications|*]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Literature:Reu%C3%9Fner_et_al._2009&amp;diff=6662</id>
		<title>Literature:Reußner et al. 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Literature:Reu%C3%9Fner_et_al._2009&amp;diff=6662"/>
		<updated>2009-10-05T08:01:04Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Created page with &amp;#039;{{{1|Reußner et al.(2009)}}}&amp;lt;ref name=&amp;quot;reussner_2009&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Reußner, F., Alex J., Bach M., Schütze M., Muschalla D.&amp;#039;&amp;#039;&amp;#039; (2009): Basin-wide integrated modelling via OpenMI consider…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{1|Reußner et al.(2009)}}}&amp;lt;ref name=&amp;quot;reussner_2009&amp;quot;&amp;gt;&#039;&#039;&#039;Reußner, F., Alex J., Bach M., Schütze M., Muschalla D.&#039;&#039;&#039; (2009): Basin-wide integrated modelling via OpenMI considering multiple urban catchments. DOI: 10.2166/wst.2009.471&amp;lt;/ref&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
==Vorschau==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:BlueM.Opt]]&lt;br /&gt;
[[Category:Publications]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM_References&amp;diff=6661</id>
		<title>BlueM References</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM_References&amp;diff=6661"/>
		<updated>2009-10-05T07:56:42Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Literatur Reußner -und Projekt AG Leitfaden&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin:0 0 10px 10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
==Publications==&lt;br /&gt;
The following publications refer to BlueM:&lt;br /&gt;
&lt;br /&gt;
===Presentations===&lt;br /&gt;
* {{:Literatur:Bach et al. 2009|[[BlueM - Ein Softwarepaket zur integrierten Flussgebietsbewirtschaftung]]}} (2009)&lt;br /&gt;
* {{:Literature:Muschalla et al. 2009|[[BlueM.Opt - a generic framework for simulation based optimization]]}} (2009)&lt;br /&gt;
* {{:Literature:Froehlich &amp;amp; Hübner 2009|[[Kopplung von Simulation und Optimierung - Eine Vorstellung von BlueM.Opt]]}} (2009)&lt;br /&gt;
&lt;br /&gt;
===Papers===&lt;br /&gt;
* {{:Literature:Reußner et al. 2009|[[Basin-wide integrated modelling via OpenMI considering multiple urban catchments.]]}} (2009)&lt;br /&gt;
&#039;&#039;under construction&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Theses===&lt;br /&gt;
* {{:Literature:Muschalla 2006|Muschalla (2006): Evolutionäre multikriterielle Optimierung komplexer wasserwirtschaftlicher Systeme}}&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
BlueM has been used in the following projects:&lt;br /&gt;
&lt;br /&gt;
===RIMAX33===&lt;br /&gt;
[[Bild:RIMAX logo.png|thumb|RIMAX]]&lt;br /&gt;
Im Rahmen der BMBF-Fördermaßnahme [http://www.rimax-hochwasser.de RIMAX] (Risikomanagement extremer Hochwasserereignisse) wurde am [http://www.ihwb.tu-darmstadt.de ihwb] und am [http://www.iwd.tu-dresden.de Institut für Wasserbau und Technische Hydromechanik der TU Dresden] gemeinschaftlich das Projekt &#039;&#039;&#039;&amp;quot;Erhöhung der Bauwerkssicherheit und Reduktion des Hochwasserrisikos im Unterlauf durch optimierte Speicher- und Poldersteuerung unter Berücksichtigung ökologischer Belange&amp;quot; (RIMAX33)&#039;&#039;&#039; bearbeitet.&lt;br /&gt;
&lt;br /&gt;
Hierbei wurde [[BlueM.Sim]] für die Niederschlags-Abfluss-Modellierung und die Talsperrensimulation verwendet, [[BlueM.Opt]] kam für die Optimierung von Betriebsregeln zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
[http://www.ihwb.tu-darmstadt.de/rimax33/ Projekt-Homepage]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Immissions-Leitfaden===&lt;br /&gt;
Goal of the project is the development of a simulation based method for the analysis and planning of immission oriented verification. Building on developments of the Hessian waste water discharge model SMUSI 5.0 the verification is extended to rural catchment and water body elements (Extended waste water discharge model). Because this extended model considers outflow and storage processes of urban system elements in detail, using this model enables a better qualified identification of impacts in the water bodies and allows for comparative planning of measures. In this process there is no need for further data collection compared to the existing guideline.&lt;br /&gt;
&lt;br /&gt;
[http://www.ihwb.tu-darmstadt.de/research/current_research/aktuelleforschung.en.jsp#leitfaden Guideline]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Literature==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Publications|*]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM.Sim_application&amp;diff=6644</id>
		<title>BlueM.Sim application</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM.Sim_application&amp;diff=6644"/>
		<updated>2009-09-16T15:36:47Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BlueM_nav}}&lt;br /&gt;
This page is an aid to the application of BlueM.&lt;br /&gt;
&lt;br /&gt;
==Dataset==&lt;br /&gt;
* A BlueM.Sim dataset consists of several text files. The minimum requirements are an [[ALL-File]] - (general options) and a [[SYS-File]] - (System Plan). Furthermore, files for describing the different types of system elements must be included. All files must have the same filename (which is also the name of the dataset), only the file extensions differ. &amp;lt;small&amp;gt;(The name of the dataset should not be longer than 32 characters! &#039;&#039;See Bug 13&#039;&#039;)&amp;lt;/small&amp;gt;&lt;br /&gt;
* It is possible to create a dataset using [[TALSIM]], which can then be exported and used for BlueM.Sim. Minor modifications to the export files need to be carried out (see [[TALSIM Export]]).&lt;br /&gt;
&#039;&#039;See also [[BlueM Eingabedateien|Input files]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==OpenMI==&lt;br /&gt;
&lt;br /&gt;
Omifile:&lt;br /&gt;
&amp;lt;XML&amp;gt;&lt;br /&gt;
&amp;lt;LinkableComponent Type=&amp;quot;IHWB.BlueM.OpenMIAdapter.BlueM_LinkableComponent&amp;quot; Assembly=&amp;quot;D:\PRGLeitfaden\BIN\BlueMSWQM4\IHWB.BlueM.OpenMIAdapter.dll&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Arguments&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;FilePath&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;D:\PRGLeitfaden\Fallbeispiele\Test\TestGueteQ\TestGuete&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;AnzahlInterneZeitschritte&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell_Abbauprozess&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell_Dispersion&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell_Merge&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Simulationsanfang&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;28.12.1967 00:00&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Arguments&amp;gt;&lt;br /&gt;
&amp;lt;/LinkableComponent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
DEMOFILE:&lt;br /&gt;
&lt;br /&gt;
The directories have to be modified.&lt;br /&gt;
&lt;br /&gt;
Where lies the dataset (path and filename without &amp;quot;.all&amp;quot;)&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;FilePath&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;D:\PRGLeitfaden\Fallbeispiele\Test\TestGueteQ\TestGuete&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How many internal timesteps within one openMI timestep&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;AnzahlInterneZeitschritte&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With quality model ?&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With prozesses of the quality model ?&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell_Abbauprozess&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No effect yet !&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell_Dispersion&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Guetemodell_Merge&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
start date of the simulation&lt;br /&gt;
    &amp;lt;Argument Key=&amp;quot;Simulationsanfang&amp;quot; ReadOnly=&amp;quot;true&amp;quot; Value=&amp;quot;28.12.1967 00:00&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/XML&amp;gt;&lt;br /&gt;
==Simulation==&lt;br /&gt;
[[File:BlueMWin_screenshot.png|thumb|BlueM.Win Screenshot]]&lt;br /&gt;
===Releases starting from 0.9.1===&lt;br /&gt;
For individual simulations, it is easiest to use the &#039;&#039;&#039;[[BlueM.Win]]&#039;&#039;&#039; package.&lt;br /&gt;
* [[BlueM Downloads|Download]] the precompiled package &amp;lt;code&amp;gt;BlueM.Win.zip&amp;lt;/code&amp;gt;  and unzip.&lt;br /&gt;
* Start the program &amp;lt;code&amp;gt;BlueM.Win.exe&amp;lt;/code&amp;gt;&lt;br /&gt;
* Select a dataset&lt;br /&gt;
* Start the simulation&lt;br /&gt;
* After successful simulation, view the simulation result in [[Wave]].&lt;br /&gt;
&lt;br /&gt;
The computational core (&amp;lt;code&amp;gt;bluem.dll&amp;lt;/code&amp;gt;) can be controlled from another application using the [[BlueM.DLLAdapter]].&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Release 0.9===&lt;br /&gt;
[[File:BlueMExe_screenshot.png|thumb|BlueM.exe Screenshot]]&lt;br /&gt;
* In the simplest case the compiled EXE file ([[BlueM Downloads|BlueM.exe]]) is in the same directory as the dataset to be simulated. In this case, simply launch the EXE and then enter the dataset name.&lt;br /&gt;
* You can specify the name of the dataset directly as a parameter to pass to BlueM.exe&lt;br /&gt;
:&amp;lt;dos&amp;gt;C:\WorkingDir&amp;gt;&amp;quot;Path\to\BlueM.exe&amp;quot; datasetname&amp;lt;/dos&amp;gt;&lt;br /&gt;
* To prevent the window from closing immediately when the simulation is finished or an error has occurred, a shortcut to BlueM.exe can be created. In the properties of the shortcut enter the following &amp;quot;target&amp;quot; :&lt;br /&gt;
:&amp;lt;pre&amp;gt;cmd.exe /K &amp;quot;path\to\BlueM.exe&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Under &amp;quot;Start in&amp;quot; the working directory must be specified, i.e., the directory in which the dataset is located.&lt;br /&gt;
&lt;br /&gt;
==Results==&lt;br /&gt;
* Depending on the settings, BlueM.Sim creates different result files. By default, the main results are written to a [[WEL-File]].&lt;br /&gt;
&#039;&#039;See also [[BlueM Ausgabedateien|output files]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Errors / warnings===&lt;br /&gt;
* Errors cause the simulation to stop and must be remedied. All errors are logged to an [[ERR-File|*.ERR file]] in the dataset directory. The *.ERR file contains the date and time of the simulation in the filename and is preserved until deleted by the user. The error messages sometimes contain [[ERROR-Konstanten | error constants]].&lt;br /&gt;
* Warnings that occur during the simulation are also logged to a file ([[$WARN.TMP]]), which is deleted each time a new simulation is started.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: BlueM.Sim Anwendung|A]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM.Sim_output_files&amp;diff=6485</id>
		<title>BlueM.Sim output files</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM.Sim_output_files&amp;diff=6485"/>
		<updated>2009-07-30T10:59:28Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Änderung der Fehlerdatei&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some of the output files generated by BlueM can be controlled by the output options in the [[ALL-File]].For the output of outflow values and outflow balances the corresponding objects marked in the [[SYS-File]] must be added.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Outputs:&amp;lt;/u&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[MAX-File]]:&#039;&#039;&#039; Output of the maximum values for each object in the system .&lt;br /&gt;
* &#039;&#039;&#039;[[WEL-Format]]:&#039;&#039;&#039; Output of the runoff volume and volume time series for all objects marked in the [[SYS-File]] system. &lt;br /&gt;
* &#039;&#039;&#039;[[KWL-Format]]:&#039;&#039;&#039; Output of the runoff volume and volume time series for all control functions.&lt;br /&gt;
* &#039;&#039;&#039;[[BLZ-Format]]:&#039;&#039;&#039; Output of the runoff volume and volume balances for all objects marked in the [[SYS-File]] system.&lt;br /&gt;
* &#039;&#039;&#039;[[PRB-Format]]:&#039;&#039;&#039; Output of the probability distributions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Extended edition:&amp;lt;/u&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[EFL.WEL-Format]]:&#039;&#039;&#039; Detailed wave output of each elementary soil processes and surface layer (only when [[soil moisture calculation]])&lt;br /&gt;
* &#039;&#039;&#039;[[EFL.TXT-Format]]:&#039;&#039;&#039; Output of the simulation parameters used for soil characteristics per elementary area (only when [[soil moisture calculation]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Errors and Warnings:&amp;lt;/u&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[Err_YYMMDDhhmmss.ERR]]:&#039;&#039;&#039; Output errors z.B. &#039;&#039;&#039;Err_090730125812.ERR:&#039;&#039;&#039;(ehemals &#039;&#039;&#039;[[$FEHL.tmp]]:&#039;&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;[[$WARN.TMP]]:&#039;&#039;&#039; Warnings&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM.Sim Ausgabedateien|*]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=EIN-File&amp;diff=6456</id>
		<title>EIN-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=EIN-File&amp;diff=6456"/>
		<updated>2009-06-18T14:28:13Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Abflussspenden und Flächen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Einzeleinleitungen&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Einleitungen|Theorie:Einleitungen]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Einzeleinleitungen (*.EIN)&lt;br /&gt;
*==========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
*| Bez. | Kng | konst.    Ganglinie  |  Datei   Faktor|&lt;br /&gt;
*|      |     | QMITTEL  JGG WGG TGG |    Nr.         |&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
*|  -   | 1/2 |   m3/s    -   -   -  |            %   |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;---&amp;gt;-|&lt;br /&gt;
 |   A  |  B  |     C     D   E   F  |     G      H   |&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
erweitert, um Fläche und Spende (nur zur Info, es wird weiterhin nur Qmittel oder Datei eingelesen)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Einzeleinleitungen (*.EIN)&lt;br /&gt;
*==========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|----------------------|----------------|--------|--------|&lt;br /&gt;
*| Bez. | Kng | konst.    Ganglinie  |  Datei   Faktor| Spende | Fläche |&lt;br /&gt;
*|      |     | QMITTEL  JGG WGG TGG |    Nr.         |        |        |&lt;br /&gt;
*|------|-----|----------------------|----------------|--------|--------|&lt;br /&gt;
*|  -   | 1/2 |   m3/s    -   -   -  |            %   |m3/s km2|   km2  |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-|&lt;br /&gt;
 |   A  |  B  |     C     D   E   F  |     G      H   | Spende | Fläche |&lt;br /&gt;
*|------|-----|----------------------|----------------|--------|--------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
*A: Bezeichnung des Elements&lt;br /&gt;
*B: Berechnungsart (1/2)&lt;br /&gt;
&#039;&#039;&#039;Berechnungsart 1: mittlere Abgabe mit optionalem [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgang]]&#039;&#039;&#039;:&lt;br /&gt;
*C: Mittelwert&lt;br /&gt;
*D, E, F: Nummer des zu verwendenden [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgangs]]&lt;br /&gt;
&#039;&#039;&#039;Berechnungsart 2: Zeitreihe/Datei mit Skalierungsfaktor&#039;&#039;&#039;&lt;br /&gt;
*G: Nummer der zu verwendenden Datei (siehe [[TSIM.EXT | *.EXT-Datei]])&lt;br /&gt;
*H: Skalierungsfaktor [%] (Dezimalzahl)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6455</id>
		<title>TRS-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6455"/>
		<updated>2009-06-18T12:18:10Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Transportstrecken&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Transportstrecken|Theorie:Transportstrecken]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Transportelemente (*.TRS)&lt;br /&gt;
*=========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
*|  Bez | Kng |      |Kng =1|      Kng = 2,5       |      Kng 3 = offenes Gerinne          |       Kng = 4      |   MQ   |&lt;br /&gt;
*|      |     |Laenge|Trans-|     Rohrleitung      |Vorland   --Links---  --Rechts---      |      Kennlinie     |        |&lt;br /&gt;
*|      |     |      |lation|P B/D Aquer Js   kb   | v  Hoehe Breite Kst  Breite  Kst  Js  | Hoehe A-quer Qab   |        |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
*|  -   | 1-4 |  m   | min  |   m   m^2  °/oo  mm  |     m     m   m^.3/s  m   m^.3/s °/oo |   m     m^2  m^3/s | m^3/s  |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|+&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-|&lt;br /&gt;
*|   A  |  B  |   C  |   D  |S  E    F    G    H   |     I     J     K      L    M     N   |   O     P     Q    |   R    |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|-&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-| &lt;br /&gt;
 | S100 |  3  |     1|      |                      |        0 0.009 38.2  1.813   26     2 |                    |      1 |&lt;br /&gt;
 |      |     |      |      |                      |      0.5 0.009 38.2      2 38.2       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    0.981 0.446   26  2.211   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    0.994 0.452   26  2.313   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    1.133 1.443   34  3.403   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    1.152 1.578   34  4.983   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      | v  1.253 3.195   34 13.394   34       |                    |        |&lt;br /&gt;
 | SEND |  1  |     1|  1440|                      |                                       |                    |      1 |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
&#039;&#039;&#039;Allgemein&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;A&#039;&#039;&#039;: Bezeichnung&lt;br /&gt;
*&#039;&#039;&#039;B&#039;&#039;&#039;: Kennung&lt;br /&gt;
*&#039;&#039;&#039;C&#039;&#039;&#039;: Länge&lt;br /&gt;
&#039;&#039;&#039;Kennung 1: Translation&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;D&#039;&#039;&#039;: Translationszeit [min]&lt;br /&gt;
:Die Translationszeit wird immer auf ein Vielfaches des Simulationszeitschritts &#039;&#039;&#039;ab&#039;&#039;&#039;gerundet!&lt;br /&gt;
:Wenn die Translationszeit kürzer als der Simulationszeitschritt ist, findet &#039;&#039;&#039;keine&#039;&#039;&#039; Translation statt!&lt;br /&gt;
&#039;&#039;&#039;Kennung 2 und 5: Rohrleitung nach Kalinin-Miljukov (Kng 2) oder über nicht-linearen Speicher (Kng 5)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;S&#039;&#039;&#039;: Profilart [1-4]:&lt;br /&gt;
*: 1: Kreis &lt;br /&gt;
*: 2: Ei (Norm-Ei H/B = 1,5)&lt;br /&gt;
*: 3: Maul (Norm-Maul H/B = 0,75)&lt;br /&gt;
*: 4: Rechteck&lt;br /&gt;
*&#039;&#039;&#039;E&#039;&#039;&#039;: Durchmesser (beziehungsweise Breite)&lt;br /&gt;
*&#039;&#039;&#039;F&#039;&#039;&#039;: Querschnittfläche&lt;br /&gt;
*&#039;&#039;&#039;G&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
*&#039;&#039;&#039;H&#039;&#039;&#039;: Rauheit&lt;br /&gt;
&#039;&#039;&#039;Kennung 3: offenes Gerinne&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;I&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;J&#039;&#039;&#039;: Breite linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;K&#039;&#039;&#039;: kst linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;L&#039;&#039;&#039;: Breite rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;M&#039;&#039;&#039;: kst rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;N&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
&#039;&#039;&#039;Kennung 4: Kennlinie&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;O&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;P&#039;&#039;&#039;: Querschnittsfläche&lt;br /&gt;
*&#039;&#039;&#039;Q&#039;&#039;&#039;: Abfluss Qab&lt;br /&gt;
&#039;&#039;&#039;MQ&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;R&#039;&#039;&#039;: Anfangswert für den Abfluss&lt;br /&gt;
:wird zusätzlich mit der Kenngröße &amp;lt;code&amp;gt;Gerinneabfluss [% von MQ]&amp;lt;/code&amp;gt; aus der [[ALL-Datei]] skaliert!&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6454</id>
		<title>TRS-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6454"/>
		<updated>2009-06-18T12:17:42Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Typen für Rohre&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Transportstrecken&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Transportstrecken|Theorie:Transportstrecken]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Transportelemente (*.TRS)&lt;br /&gt;
*=========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
*|  Bez | Kng |      |Kng =1|      Kng = 2,5       |      Kng 3 = offenes Gerinne          |       Kng = 4      |   MQ   |&lt;br /&gt;
*|      |     |Laenge|Trans-|     Rohrleitung      |Vorland   --Links---  --Rechts---      |      Kennlinie     |        |&lt;br /&gt;
*|      |     |      |lation|P B/D Aquer Js   kb   | v  Hoehe Breite Kst  Breite  Kst  Js  | Hoehe A-quer Qab   |        |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
*|  -   | 1-4 |  m   | min  |   m   m^2  °/oo  mm  |     m     m   m^.3/s  m   m^.3/s °/oo |   m     m^2  m^3/s | m^3/s  |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|+&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-|&lt;br /&gt;
*|   A  |  B  |   C  |   D  |S  E    F    G    H   |     I     J     K      L    M     N   |   O     P     Q    |   R    |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|-&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-| &lt;br /&gt;
 | S100 |  3  |     1|      |                      |        0 0.009 38.2  1.813   26     2 |                    |      1 |&lt;br /&gt;
 |      |     |      |      |                      |      0.5 0.009 38.2      2 38.2       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    0.981 0.446   26  2.211   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    0.994 0.452   26  2.313   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    1.133 1.443   34  3.403   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    1.152 1.578   34  4.983   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      | v  1.253 3.195   34 13.394   34       |                    |        |&lt;br /&gt;
 | SEND |  1  |     1|  1440|                      |                                       |                    |      1 |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
&#039;&#039;&#039;Allgemein&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;A&#039;&#039;&#039;: Bezeichnung&lt;br /&gt;
*&#039;&#039;&#039;B&#039;&#039;&#039;: Kennung&lt;br /&gt;
*&#039;&#039;&#039;C&#039;&#039;&#039;: Länge&lt;br /&gt;
&#039;&#039;&#039;Kennung 1: Translation&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;D&#039;&#039;&#039;: Translationszeit [min]&lt;br /&gt;
:Die Translationszeit wird immer auf ein Vielfaches des Simulationszeitschritts &#039;&#039;&#039;ab&#039;&#039;&#039;gerundet!&lt;br /&gt;
:Wenn die Translationszeit kürzer als der Simulationszeitschritt ist, findet &#039;&#039;&#039;keine&#039;&#039;&#039; Translation statt!&lt;br /&gt;
&#039;&#039;&#039;Kennung 2 und 5: Rohrleitung nach Kalinin-Miljukov (Kng 2) oder über nicht-linearen Speicher (Kng 5)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;S&#039;&#039;&#039;: Profilart [1-4]:&lt;br /&gt;
*: 1: Kreis &lt;br /&gt;
*: 2: Ei (Norm-Ei H/B = 1,5)&lt;br /&gt;
*: 3: Maul (Norm-Maul H/B = 0,75)&lt;br /&gt;
*: 4: Rechteck&lt;br /&gt;
*&#039;&#039;&#039;E&#039;&#039;&#039;: Durchmesser&lt;br /&gt;
*&#039;&#039;&#039;F&#039;&#039;&#039;: Querschnittfläche&lt;br /&gt;
*&#039;&#039;&#039;G&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
*&#039;&#039;&#039;H&#039;&#039;&#039;: Rauheit&lt;br /&gt;
&#039;&#039;&#039;Kennung 3: offenes Gerinne&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;I&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;J&#039;&#039;&#039;: Breite linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;K&#039;&#039;&#039;: kst linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;L&#039;&#039;&#039;: Breite rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;M&#039;&#039;&#039;: kst rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;N&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
&#039;&#039;&#039;Kennung 4: Kennlinie&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;O&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;P&#039;&#039;&#039;: Querschnittsfläche&lt;br /&gt;
*&#039;&#039;&#039;Q&#039;&#039;&#039;: Abfluss Qab&lt;br /&gt;
&#039;&#039;&#039;MQ&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;R&#039;&#039;&#039;: Anfangswert für den Abfluss&lt;br /&gt;
:wird zusätzlich mit der Kenngröße &amp;lt;code&amp;gt;Gerinneabfluss [% von MQ]&amp;lt;/code&amp;gt; aus der [[ALL-Datei]] skaliert!&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6444</id>
		<title>TRS-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=TRS-File&amp;diff=6444"/>
		<updated>2009-06-05T11:09:19Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Transportstrecken&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Transportstrecken|Theorie:Transportstrecken]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Transportelemente (*.TRS)&lt;br /&gt;
*=========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
*|  Bez | Kng |      |Kng =1|      Kng = 2,5       |      Kng 3 = offenes Gerinne          |       Kng = 4      |   MQ   |&lt;br /&gt;
*|      |     |Laenge|Trans-|     Rohrleitung      |Vorland   --Links---  --Rechts---      |      Kennlinie     |        |&lt;br /&gt;
*|      |     |      |lation|P B/D Aquer Js   kb   | v  Hoehe Breite Kst  Breite  Kst  Js  | Hoehe A-quer Qab   |        |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
*|  -   | 1-4 |  m   | min  |   m   m^2  °/oo  mm  |     m     m   m^.3/s  m   m^.3/s °/oo |   m     m^2  m^3/s | m^3/s  |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|+&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-|&lt;br /&gt;
*|   A  |  B  |   C  |   D  |S  E    F    G    H   |     I     J     K      L    M     N   |   O     P     Q    |   R    |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|&amp;lt;----&amp;gt;|&amp;lt;----&amp;gt;|-&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;&amp;lt;---&amp;gt;-|-+-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;----&amp;gt;&amp;lt;---&amp;gt;-&amp;lt;---&amp;gt;-|-&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;&amp;lt;----&amp;gt;-|-&amp;lt;----&amp;gt;-| &lt;br /&gt;
 | S100 |  3  |     1|      |                      |        0 0.009 38.2  1.813   26     2 |                    |      1 |&lt;br /&gt;
 |      |     |      |      |                      |      0.5 0.009 38.2      2 38.2       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    0.981 0.446   26  2.211   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    0.994 0.452   26  2.313   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    1.133 1.443   34  3.403   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      |    1.152 1.578   34  4.983   34       |                    |        |&lt;br /&gt;
 |      |     |      |      |                      | v  1.253 3.195   34 13.394   34       |                    |        |&lt;br /&gt;
 | SEND |  1  |     1|  1440|                      |                                       |                    |      1 |&lt;br /&gt;
*|------|-----|------|------|----------------------|---------------------------------------|--------------------|--------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
&#039;&#039;&#039;Allgemein&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;A&#039;&#039;&#039;: Bezeichnung&lt;br /&gt;
*&#039;&#039;&#039;B&#039;&#039;&#039;: Kennung&lt;br /&gt;
*&#039;&#039;&#039;C&#039;&#039;&#039;: Länge&lt;br /&gt;
&#039;&#039;&#039;Kennung 1: Translation&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;D&#039;&#039;&#039;: Translationszeit [min]&lt;br /&gt;
:Die Translationszeit wird immer auf ein Vielfaches des Simulationszeitschritts &#039;&#039;&#039;ab&#039;&#039;&#039;gerundet!&lt;br /&gt;
:Wenn die Translationszeit kürzer als der Simulationszeitschritt ist, findet &#039;&#039;&#039;keine&#039;&#039;&#039; Translation statt!&lt;br /&gt;
&#039;&#039;&#039;Kennung 2 und 5: Rohrleitung nach Kalinin-Miljukov (Kng 2) oder über nicht-linearen Speicher (Kng 5)&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;S&#039;&#039;&#039;: Profilart [1-4]:&lt;br /&gt;
*: 1: Kreis &lt;br /&gt;
*: 2: Ei &lt;br /&gt;
*: 3: Maul&lt;br /&gt;
*: 4: Rechteck&lt;br /&gt;
*&#039;&#039;&#039;E&#039;&#039;&#039;: Durchmesser&lt;br /&gt;
*&#039;&#039;&#039;F&#039;&#039;&#039;: Querschnittfläche&lt;br /&gt;
*&#039;&#039;&#039;G&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
*&#039;&#039;&#039;H&#039;&#039;&#039;: Rauheit&lt;br /&gt;
&#039;&#039;&#039;Kennung 3: offenes Gerinne&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;I&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;J&#039;&#039;&#039;: Breite linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;K&#039;&#039;&#039;: kst linke Uferseite&lt;br /&gt;
*&#039;&#039;&#039;L&#039;&#039;&#039;: Breite rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;M&#039;&#039;&#039;: kst rechte Uferseite&lt;br /&gt;
*&#039;&#039;&#039;N&#039;&#039;&#039;: Sohlgefälle [&amp;amp;permil;]&lt;br /&gt;
&#039;&#039;&#039;Kennung 4: Kennlinie&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;O&#039;&#039;&#039;: Höhe&lt;br /&gt;
*&#039;&#039;&#039;P&#039;&#039;&#039;: Querschnittsfläche&lt;br /&gt;
*&#039;&#039;&#039;Q&#039;&#039;&#039;: Abfluss Qab&lt;br /&gt;
&#039;&#039;&#039;MQ&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;R&#039;&#039;&#039;: Anfangswert für den Abfluss&lt;br /&gt;
:wird zusätzlich mit der Kenngröße &amp;lt;code&amp;gt;Gerinneabfluss [% von MQ]&amp;lt;/code&amp;gt; aus der [[ALL-Datei]] skaliert!&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=EIN-File&amp;diff=6440</id>
		<title>EIN-File</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=EIN-File&amp;diff=6440"/>
		<updated>2009-05-28T08:42:17Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Eingabedateien}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Einzeleinleitungen&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;siehe auch [[Einleitungen|Theorie:Einleitungen]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Datei==&lt;br /&gt;
&amp;lt;bluem&amp;gt;&lt;br /&gt;
*Einzeleinleitungen (*.EIN)&lt;br /&gt;
*==========================&lt;br /&gt;
*&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
*| Bez. | Kng | konst.    Ganglinie  |  Datei   Faktor|&lt;br /&gt;
*|      |     | QMITTEL  JGG WGG TGG |    Nr.         |&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
*|  -   | 1/2 |   m3/s    -   -   -  |            %   |&lt;br /&gt;
*|-&amp;lt;--&amp;gt;-|-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-&amp;lt;-&amp;gt;-|-&amp;lt;------&amp;gt;-&amp;lt;---&amp;gt;-|&lt;br /&gt;
 |   A  |  B  |     C     D   E   F  |     G      H   |&lt;br /&gt;
*|------|-----|----------------------|----------------|&lt;br /&gt;
&amp;lt;/bluem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
*A: Bezeichnung des Elements&lt;br /&gt;
*B: Berechnungsart (1/2)&lt;br /&gt;
&#039;&#039;&#039;Berechnungsart 1: mittlere Abgabe mit optionalem [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgang]]&#039;&#039;&#039;:&lt;br /&gt;
*C: Mittelwert&lt;br /&gt;
*D, E, F: Nummer des zu verwendenden [[TSIM.JGG | Jahres]]/[[TSIM.WGG | Wochen]]/[[TSIM.TGG | Tagesgangs]]&lt;br /&gt;
&#039;&#039;&#039;Berechnungsart 2: Zeitreihe/Datei mit Skalierungsfaktor&#039;&#039;&#039;&lt;br /&gt;
*G: Nummer der zu verwendenden Datei (siehe [[TSIM.EXT | *.EXT-Datei]])&lt;br /&gt;
*H: Skalierungsfaktor [%] (Dezimalzahl)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=ZRE-Format&amp;diff=6210</id>
		<title>ZRE-Format</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=ZRE-Format&amp;diff=6210"/>
		<updated>2009-04-21T09:08:35Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Formatbeschreibung für das Zeitreihenformat ZRE.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Beispiel:&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*ZRE&lt;br /&gt;
Beschreibung   mm   &lt;br /&gt;
1                      1.        1.        1.&lt;br /&gt;
19900116 00:00 19900101 04:15&lt;br /&gt;
19900116 00:00        0.00000&lt;br /&gt;
19900116 00:15        4.55000&lt;br /&gt;
19900116 00:30        4.55000&lt;br /&gt;
19900116 00:45        4.55000&lt;br /&gt;
19900116 01:00        4.55000&lt;br /&gt;
19900116 01:15        4.55000&lt;br /&gt;
19900116 01:30        4.55000&lt;br /&gt;
19900116 01:45        4.55000&lt;br /&gt;
19900116 02:00        4.55000&lt;br /&gt;
19900116 02:15        4.55000&lt;br /&gt;
19900116 02:30        4.55000&lt;br /&gt;
19900116 02:45        4.55000&lt;br /&gt;
19900116 03:00        4.55000&lt;br /&gt;
19900116 03:15        4.55000&lt;br /&gt;
19900116 03:30        4.55000&lt;br /&gt;
19900116 03:45        4.55000&lt;br /&gt;
19900116 04:00        4.55000&lt;br /&gt;
19900116 04:15        4.55000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Zeile:&#039;&#039;&#039; &amp;quot;&amp;lt;code&amp;gt;*ZRE&amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Zeile:&#039;&#039;&#039; Beschreibung (15 Zeichen) und Einheit (ab Spalte 16)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Zeile:&#039;&#039;&#039; belanglose(?) Parameter&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Zeile:&#039;&#039;&#039; Start- und Enddatum der Zeitreihe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ab Zeile 5:&#039;&#039;&#039; Zeitstempel und Wert&lt;br /&gt;
&lt;br /&gt;
Alle Datumsangaben müssen im Format &amp;lt;code&amp;gt;JJJJMMTT hh:mm&amp;lt;/code&amp;gt; sein.&lt;br /&gt;
&lt;br /&gt;
;Hinweis:&lt;br /&gt;
:ZRE-Dateien können auch mit [[Wave]] erstellt werden&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Eingabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=WEL-Format_(BlueM)&amp;diff=5836</id>
		<title>WEL-Format (BlueM)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=WEL-Format_(BlueM)&amp;diff=5836"/>
		<updated>2009-01-27T09:59:12Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Gütedaten in WEL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BlueM schreibt die Simulationsergebnisse in eine WEL-Datei. In der [[SYS-Datei]] wird festgelegt, für welche Systemelemente die Simulationsergebnisse in diese Datei geschrieben werden.&lt;br /&gt;
&lt;br /&gt;
== Ganglinien ==&lt;br /&gt;
Die Interpretation der ausgegeben Ganglinien variiert mit dem ausgegebenen Wert. So gilt z.B. für Temperatur und Abfluss die Interpretation &amp;quot;Block rechts&amp;quot;, für Niederschlag und Verdunstung aber &amp;quot;Summenlinie pro Zeitschritt&amp;quot;. Im Beispiel unten liegt wurde also zwischen 4:00 und 5:00 Uhr 0,005 mm verdunstet, während die Temperatur zwischen 4:00 und 5.00 Uhr konstant bei 10°C lag. Grundsätzlich sieht eine WEL-Datei wie im folgenden Beispiel aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 *WEL 15.06.2007 15:47&lt;br /&gt;
       Datum_Zeit        A001_TEM        A001_ETP        A001_ETA        A001_SCH &lt;br /&gt;
                -              °C              mm              mm              mm &lt;br /&gt;
 01.01.1990 00:00          10.000           0.004           0.004           0.000 &lt;br /&gt;
 01.01.1990 01:00          10.000           0.004           0.004           0.000 &lt;br /&gt;
 01.01.1990 02:00          10.000           0.004           0.004           0.000 &lt;br /&gt;
 01.01.1990 03:00          10.000           0.004           0.004           0.000 &lt;br /&gt;
 01.01.1990 04:00          10.000           0.005           0.005           0.000 &lt;br /&gt;
 01.01.1990 05:00          10.000           0.007           0.007           0.000 &lt;br /&gt;
 01.01.1990 06:00          10.000           0.010           0.010           0.000 &lt;br /&gt;
 01.01.1990 07:00          10.000           0.011           0.011           0.000 &lt;br /&gt;
 01.01.1990 08:00          10.000           0.013           0.013           0.000 &lt;br /&gt;
 01.01.1990 09:00          10.000           0.017           0.017           0.000 &lt;br /&gt;
 01.01.1990 10:00          10.000           0.026           0.026           0.000 &lt;br /&gt;
 01.01.1990 11:00          10.000           0.031           0.031           0.000 &lt;br /&gt;
 01.01.1990 12:00          10.000           0.034           0.034           0.000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn in der [[ALL-Datei]] die Option &amp;quot;CSV-Format&amp;quot; aktiviert wird, werden die Spalten in der WEL-Datei noch mit Semikola getrennt, wie im folgenden Beispiel gezeigt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 *WEL;24.07.2007 17:20&lt;br /&gt;
;      Datum_Zeit;       TOLF_VOL;       TOLF_WSP;       TOLF_1ZU;       TOLF_QA2&lt;br /&gt;
;               -;         Tsd.m3;            mNN;           m3/s;           m3/s&lt;br /&gt;
;01.04.1984 00:00;       6937.487;        449.130;          2.820;          0.000&lt;br /&gt;
;02.04.1984 00:00;       7012.276;        449.288;          2.430;          0.000&lt;br /&gt;
;03.04.1984 00:00;       7074.796;        449.419;          2.045;          0.000&lt;br /&gt;
;04.04.1984 00:00;       7122.398;        449.520;          1.565;          0.000&lt;br /&gt;
;05.04.1984 00:00;       7161.622;        449.603;          1.295;          0.000&lt;br /&gt;
;06.04.1984 00:00;       7197.977;        449.679;          1.205;          0.000&lt;br /&gt;
;07.04.1984 00:00;       7232.840;        449.753;          1.160;          0.000&lt;br /&gt;
;08.04.1984 00:00;       7268.167;        449.827;          1.180;          0.000&lt;br /&gt;
;09.04.1984 00:00;       7305.434;        449.906;          1.250;          0.000&lt;br /&gt;
;10.04.1984 00:00;       7349.340;        449.999;          1.480;          0.000&lt;br /&gt;
;11.04.1984 00:00;       7403.884;        450.090;          1.850;          0.000&lt;br /&gt;
;12.04.1984 00:00;       7469.293;        450.199;          2.235;          0.000&lt;br /&gt;
;13.04.1984 00:00;       7541.710;        450.320;          2.495;          0.000&lt;br /&gt;
;14.04.1984 00:00;       7619.098;        450.448;          2.690;          0.000&lt;br /&gt;
;15.04.1984 00:00;       7706.950;        450.595;          3.085;          0.000&lt;br /&gt;
;16.04.1984 00:00;       7797.539;        450.746;          3.215;          0.000&lt;br /&gt;
;17.04.1984 00:00;       7876.266;        450.877;          2.820;          0.000&lt;br /&gt;
;18.04.1984 00:00;       7939.994;        450.983;          2.300;          0.000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die in WEL-Dateien enthaltenen Ganglinien können mit &#039;&#039;&#039;[[Wave]]&#039;&#039;&#039; geöffnet und angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Spaltennamen ==&lt;br /&gt;
&lt;br /&gt;
=== normale TODO ===&lt;br /&gt;
&lt;br /&gt;
=== Güteausgabe ===&lt;br /&gt;
Wenn mit Gütemodell simuliert wird, dann werden für die ausgewählten Elemente auch die Gütevariablen ausgegeben.&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Momentan nur für TRS implementiert ([[Benutzer:Reussner|Reussner]] 09:59, 27. Jan. 2009 (UTC)) !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S100_ca1        S100_cc1        S100_cM1        S100_cm1        S100_cx1        S100_ca2        S100_cc2        S100_cM2        S100_cm2        S100_cx2        S100_ca3        S100_cc3        S100_cM3        S100_cm3        S100_cx3        S100_ca4        S100_cc4        S100_cM4        S100_cm4        S100_cx4        S100_ca5        S100_cc5        S100_cM5        S100_cm5        S100_cx5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ca1 := AbflussKonzentrationen(1,konzloop)&lt;br /&gt;
cc1 := Konzentrationen(konzloop)&lt;br /&gt;
&lt;br /&gt;
cM1 := Statistik_MinKonzentrationen(konzloop)&lt;br /&gt;
cm1 := Statistik_MaxKonzentrationen(konzloop)&lt;br /&gt;
&lt;br /&gt;
cx1 := externKonzentrationen(konzloop)&lt;br /&gt;
&lt;br /&gt;
1 steht für die erste Konzentration:&lt;br /&gt;
&lt;br /&gt;
Reihenfolge Konzentrationen SWQM:&lt;br /&gt;
SO = 1 &lt;br /&gt;
SNH = 2&lt;br /&gt;
SI = 3&lt;br /&gt;
SS = 4&lt;br /&gt;
P = 5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Ausgabedateien]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5718</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5718"/>
		<updated>2008-12-04T11:36:49Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Fixed Form und Free Form */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin-left:10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gleich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten ===&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
b = 0.123d0 !das d0 kennzeichnet den Wert als real*8&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
:&#039;&#039;siehe Bug 367&#039;&#039;&lt;br /&gt;
Früher wurde im Rechenkern mit unterschiedlichen Vergleichen gerechnet (&amp;lt;code&amp;gt;GLOBAL_NULL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLOBAL_FASTNULL&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Momentan verwendet:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
R8_EPSILON = 2 * Epsilon(1.2345d0)&lt;br /&gt;
R4_EPSILON = 2 * Epsilon(1.2654E0) ! entspricht 2**-23&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diskussion:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
isNull = (a == b)                       !wird so gut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; 1E-15)           !früher im Projekt verwendet (GLOBAL_NULL)&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; Epsilon(a))      !nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
isNull = (ABS(a / b - 1.0E0) &amp;lt; eps)     !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; SPACING(0.0E0))&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anmerkung====&lt;br /&gt;
Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! FALSCH&lt;br /&gt;
MAX(dumdidum, R8_EPSILON)&lt;br /&gt;
MAX(dumdidum, R4_EPSILON)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
Korrekt ist aber:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! RICHTIG&lt;br /&gt;
MAX(dumdidum, 0.0D0)&lt;br /&gt;
MAX(dumdidum, 0.0E0)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html Vergleich von Realwerten]&lt;br /&gt;
* [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx Aus dem Intel-Forum]&lt;br /&gt;
* Guter Artikel über Problematik: [http://www.lahey.com/float.htm The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
== Übergabe von Arrays ==&lt;br /&gt;
In Fortran ist es möglich Teile von Arrays an Funktionen zu übergeben. &lt;br /&gt;
&lt;br /&gt;
Dabei wird der Subroutine (oder function) einfach der &amp;quot;Anfangswert&amp;quot; übergeben - z.B. &amp;lt;code&amp;gt;func_array(Huba(1,2,1))&amp;lt;/code&amp;gt;.Von diesem Startpunkt wird, dann in der Subroutine ein entsprechendes Array gebildet. Erwartet beispielsweise die Subroutine einen Vektor, dann werden vom jenem Startpunkt an alle Werte der ersten Dimension übernommen. Analog verhält es sich bei mehrdimiensionalen Arrays. &lt;br /&gt;
;Anmerkung: Das Array der Subroutine sollte natürlich kleiner sein, als das Übergebene (vom Startpunkt gezählt) !&lt;br /&gt;
&lt;br /&gt;
Das Beispiel verdeutlicht dies:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran()&lt;br /&gt;
    integer arr(3,4)&lt;br /&gt;
    integer i&lt;br /&gt;
    integer j&lt;br /&gt;
&lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        do j = 1, ubound(arr,2)&lt;br /&gt;
            arr(i,j) = i + (j-1)*3&lt;br /&gt;
            write(*,&#039;(&amp;quot;Matrix (&amp;quot;, I4,&amp;quot;,&amp;quot;,I4,&amp;quot;) = &amp;quot;,I4)&#039;) i,j,arr(i,j)&lt;br /&gt;
        end do&lt;br /&gt;
    end do&lt;br /&gt;
    &lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,2))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,2))&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran_SUB(arr)&lt;br /&gt;
    integer arr(2)&lt;br /&gt;
    integer i&lt;br /&gt;
    &lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        write(*,&#039;(&amp;quot;Vektor &amp;quot;, I4)&#039;) arr(i)&lt;br /&gt;
    end do&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe:&lt;br /&gt;
[[Bild:ConsolenAusgabe TestArray.png]]&lt;br /&gt;
&lt;br /&gt;
== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identifizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visualisierung unter [http://strfriend.com/vis?re=^%5b^cC!%5d%5b^!%5d^72%0D%0A]&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visualisierung unter [http://strfriend.com/vis?re=(%3Ab%2B)%24%0D%0A]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5717</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5717"/>
		<updated>2008-12-04T10:37:47Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Fixed Form und Free Form */  Visualisierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin-left:10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gleich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten ===&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
b = 0.123d0 !das d0 kennzeichnet den Wert als real*8&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
:&#039;&#039;siehe Bug 367&#039;&#039;&lt;br /&gt;
Früher wurde im Rechenkern mit unterschiedlichen Vergleichen gerechnet (&amp;lt;code&amp;gt;GLOBAL_NULL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLOBAL_FASTNULL&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Momentan verwendet:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
R8_EPSILON = 2 * Epsilon(1.2345d0)&lt;br /&gt;
R4_EPSILON = 2 * Epsilon(1.2654E0) ! entspricht 2**-23&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diskussion:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
isNull = (a == b)                       !wird so gut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; 1E-15)           !früher im Projekt verwendet (GLOBAL_NULL)&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; Epsilon(a))      !nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
isNull = (ABS(a / b - 1.0E0) &amp;lt; eps)     !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; SPACING(0.0E0))&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anmerkung====&lt;br /&gt;
Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! FALSCH&lt;br /&gt;
MAX(dumdidum, R8_EPSILON)&lt;br /&gt;
MAX(dumdidum, R4_EPSILON)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
Korrekt ist aber:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! RICHTIG&lt;br /&gt;
MAX(dumdidum, 0.0D0)&lt;br /&gt;
MAX(dumdidum, 0.0E0)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html Vergleich von Realwerten]&lt;br /&gt;
* [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx Aus dem Intel-Forum]&lt;br /&gt;
* Guter Artikel über Problematik: [http://www.lahey.com/float.htm The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
== Übergabe von Arrays ==&lt;br /&gt;
In Fortran ist es möglich Teile von Arrays an Funktionen zu übergeben. &lt;br /&gt;
&lt;br /&gt;
Dabei wird der Subroutine (oder function) einfach der &amp;quot;Anfangswert&amp;quot; übergeben - z.B. &amp;lt;code&amp;gt;func_array(Huba(1,2,1))&amp;lt;/code&amp;gt;.Von diesem Startpunkt wird, dann in der Subroutine ein entsprechendes Array gebildet. Erwartet beispielsweise die Subroutine einen Vektor, dann werden vom jenem Startpunkt an alle Werte der ersten Dimension übernommen. Analog verhält es sich bei mehrdimiensionalen Arrays. &lt;br /&gt;
;Anmerkung: Das Array der Subroutine sollte natürlich kleiner sein, als das Übergebene (vom Startpunkt gezählt) !&lt;br /&gt;
&lt;br /&gt;
Das Beispiel verdeutlicht dies:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran()&lt;br /&gt;
    integer arr(3,4)&lt;br /&gt;
    integer i&lt;br /&gt;
    integer j&lt;br /&gt;
&lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        do j = 1, ubound(arr,2)&lt;br /&gt;
            arr(i,j) = i + (j-1)*3&lt;br /&gt;
            write(*,&#039;(&amp;quot;Matrix (&amp;quot;, I4,&amp;quot;,&amp;quot;,I4,&amp;quot;) = &amp;quot;,I4)&#039;) i,j,arr(i,j)&lt;br /&gt;
        end do&lt;br /&gt;
    end do&lt;br /&gt;
    &lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,2))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,2))&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran_SUB(arr)&lt;br /&gt;
    integer arr(2)&lt;br /&gt;
    integer i&lt;br /&gt;
    &lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        write(*,&#039;(&amp;quot;Vektor &amp;quot;, I4)&#039;) arr(i)&lt;br /&gt;
    end do&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe:&lt;br /&gt;
[[Bild:ConsolenAusgabe TestArray.png]]&lt;br /&gt;
&lt;br /&gt;
== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identifizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visualisierung unter [http://strfriend.com/vis?re=^[^cC!][^!]^72%0D%0A]&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visualisierung unter [http://strfriend.com/vis?re=(%3Ab%2B)%24%0D%0A]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Fraktionierung_innerhalb_von_BlueM.Sim&amp;diff=5674</id>
		<title>Fraktionierung innerhalb von BlueM.Sim</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Fraktionierung_innerhalb_von_BlueM.Sim&amp;diff=5674"/>
		<updated>2008-11-19T11:37:48Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:BlueMDevMettingGuete_Einleitung.jpg|800px]]&lt;br /&gt;
[[Bild:BlueMDevMettingGuete_Ablaufdiagramm.jpg|800px]]&lt;br /&gt;
[[Bild:BlueMDevMettingGuete_Informationsspeicherung.jpg|800px]]&lt;br /&gt;
[[Bild:BlueMDevMettingGuete_1erMilestone.jpg|800px]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_1erMilestone.jpg&amp;diff=5673</id>
		<title>File:BlueMDevMettingGuete 1erMilestone.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_1erMilestone.jpg&amp;diff=5673"/>
		<updated>2008-11-19T11:35:48Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_Informationsspeicherung.jpg&amp;diff=5672</id>
		<title>File:BlueMDevMettingGuete Informationsspeicherung.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_Informationsspeicherung.jpg&amp;diff=5672"/>
		<updated>2008-11-19T11:35:26Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_Ablaufdiagramm.jpg&amp;diff=5671</id>
		<title>File:BlueMDevMettingGuete Ablaufdiagramm.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_Ablaufdiagramm.jpg&amp;diff=5671"/>
		<updated>2008-11-19T11:35:07Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_Einleitung.jpg&amp;diff=5670</id>
		<title>File:BlueMDevMettingGuete Einleitung.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=File:BlueMDevMettingGuete_Einleitung.jpg&amp;diff=5670"/>
		<updated>2008-11-19T11:34:31Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Fraktionierung_innerhalb_von_BlueM.Sim&amp;diff=5669</id>
		<title>Fraktionierung innerhalb von BlueM.Sim</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Fraktionierung_innerhalb_von_BlueM.Sim&amp;diff=5669"/>
		<updated>2008-11-19T11:33:56Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Die Seite wurde neu angelegt: Bild:BlueMDevMettingGuete_Einleitung.jpg Bild:BlueMDevMettingGuete_Ablaufdiagramm.jpg Bild:BlueMDevMettingGuete_Informationsspeicherung.jpg [[Bild:BlueMDevM...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:BlueMDevMettingGuete_Einleitung.jpg]]&lt;br /&gt;
[[Bild:BlueMDevMettingGuete_Ablaufdiagramm.jpg]]&lt;br /&gt;
[[Bild:BlueMDevMettingGuete_Informationsspeicherung.jpg]]&lt;br /&gt;
[[Bild:BlueMDevMettingGuete_1erMilestone.jpg]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=G%C3%BCtemodell&amp;diff=5668</id>
		<title>Gütemodell</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=G%C3%BCtemodell&amp;diff=5668"/>
		<updated>2008-11-19T09:57:03Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Gütemodell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Gütemodell ==&lt;br /&gt;
Alles was das Gütemodell angeht ...&lt;br /&gt;
&lt;br /&gt;
* [[Fraktionierung innerhalb von BlueM.Sim]]&lt;br /&gt;
* LaPipe&lt;br /&gt;
** [[Weitergabe Stoffe]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gütemodell]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5588</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5588"/>
		<updated>2008-10-29T12:39:31Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Übergabe von Arrays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin-left:10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gleich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten ===&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
b = 0.123d0 !das d0 kennzeichnet den Wert als real*8&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
:&#039;&#039;siehe Bug 367&#039;&#039;&lt;br /&gt;
Früher wurde im Rechenkern mit unterschiedlichen Vergleichen gerechnet (&amp;lt;code&amp;gt;GLOBAL_NULL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLOBAL_FASTNULL&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Momentan verwendet:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
R8_EPSILON = 2 * Epsilon(1.2345d0)&lt;br /&gt;
R4_EPSILON = 2 * Epsilon(1.2654E0) ! entspricht 2**-23&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diskussion:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
isNull = (a == b)                       !wird so gut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; 1E-15)           !früher im Projekt verwendet (GLOBAL_NULL)&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; Epsilon(a))      !nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
isNull = (ABS(a / b - 1.0E0) &amp;lt; eps)     !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; SPACING(0.0E0))&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anmerkung====&lt;br /&gt;
Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! FALSCH&lt;br /&gt;
MAX(dumdidum, R8_EPSILON)&lt;br /&gt;
MAX(dumdidum, R4_EPSILON)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
Korrekt ist aber:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! RICHTIG&lt;br /&gt;
MAX(dumdidum, 0.0D0)&lt;br /&gt;
MAX(dumdidum, 0.0E0)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html Vergleich von Realwerten]&lt;br /&gt;
* [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx Aus dem Intel-Forum]&lt;br /&gt;
* Guter Artikel über Problematik: [http://www.lahey.com/float.htm The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
== Übergabe von Arrays ==&lt;br /&gt;
In Fortran ist es möglich Teile von Arrays an Funktionen zu übergeben. &lt;br /&gt;
&lt;br /&gt;
Dabei wird der Subroutine (oder function) einfach der &amp;quot;Anfangswert&amp;quot; übergeben - z.B. &amp;lt;code&amp;gt;func_array(Huba(1,2,1))&amp;lt;/code&amp;gt;.Von diesem Startpunkt wird, dann in der Subroutine ein entsprechendes Array gebildet. Erwartet beispielsweise die Subroutine einen Vektor, dann werden vom jenem Startpunkt an alle Werte der ersten Dimension übernommen. Analog verhält es sich bei mehrdimiensionalen Arrays. &lt;br /&gt;
;Anmerkung: Das Array der Subroutine sollte natürlich kleiner sein, als das Übergebene (vom Startpunkt gezählt) !&lt;br /&gt;
&lt;br /&gt;
Das Beispiel verdeutlicht dies:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran()&lt;br /&gt;
    integer arr(3,4)&lt;br /&gt;
    integer i&lt;br /&gt;
    integer j&lt;br /&gt;
&lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        do j = 1, ubound(arr,2)&lt;br /&gt;
            arr(i,j) = i + (j-1)*3&lt;br /&gt;
            write(*,&#039;(&amp;quot;Matrix (&amp;quot;, I4,&amp;quot;,&amp;quot;,I4,&amp;quot;) = &amp;quot;,I4)&#039;) i,j,arr(i,j)&lt;br /&gt;
        end do&lt;br /&gt;
    end do&lt;br /&gt;
    &lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,2))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,2))&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran_SUB(arr)&lt;br /&gt;
    integer arr(2)&lt;br /&gt;
    integer i&lt;br /&gt;
    &lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        write(*,&#039;(&amp;quot;Vektor &amp;quot;, I4)&#039;) arr(i)&lt;br /&gt;
    end do&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe:&lt;br /&gt;
[[Bild:ConsolenAusgabe TestArray.png]]&lt;br /&gt;
&lt;br /&gt;
== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identifizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5586</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5586"/>
		<updated>2008-10-29T10:14:34Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Übergabe von Arrays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin-left:10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gleich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten ===&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
b = 0.123d0 !das d0 kennzeichnet den Wert als real*8&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
:&#039;&#039;siehe Bug 367&#039;&#039;&lt;br /&gt;
Früher wurde im Rechenkern mit unterschiedlichen Vergleichen gerechnet (&amp;lt;code&amp;gt;GLOBAL_NULL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLOBAL_FASTNULL&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Momentan verwendet:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
R8_EPSILON = 2 * Epsilon(1.2345d0)&lt;br /&gt;
R4_EPSILON = 2 * Epsilon(1.2654E0) ! entspricht 2**-23&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diskussion:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
isNull = (a == b)                       !wird so gut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; 1E-15)           !früher im Projekt verwendet (GLOBAL_NULL)&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; Epsilon(a))      !nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
isNull = (ABS(a / b - 1.0E0) &amp;lt; eps)     !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; SPACING(0.0E0))&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anmerkung====&lt;br /&gt;
Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! FALSCH&lt;br /&gt;
MAX(dumdidum, R8_EPSILON)&lt;br /&gt;
MAX(dumdidum, R4_EPSILON)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
Korrekt ist aber:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! RICHTIG&lt;br /&gt;
MAX(dumdidum, 0.0D0)&lt;br /&gt;
MAX(dumdidum, 0.0E0)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html Vergleich von Realwerten]&lt;br /&gt;
* [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx Aus dem Intel-Forum]&lt;br /&gt;
* Guter Artikel über Problematik: [http://www.lahey.com/float.htm The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
== Übergabe von Arrays ==&lt;br /&gt;
In Fortran ist es möglich Teile von Arrays an Funktionen zu übergeben. Wie genau das funktioniert, sollte hier erläutert werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Beispiel zeigt was genau übergeben wird:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran()&lt;br /&gt;
    integer arr(3,4)&lt;br /&gt;
    integer i&lt;br /&gt;
    integer j&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        do j = 1, ubound(arr,2)&lt;br /&gt;
            arr(i,j) = i + (j-1)*3&lt;br /&gt;
            write(*,&#039;(&amp;quot;Matrix (&amp;quot;, I4,&amp;quot;,&amp;quot;,I4,&amp;quot;) = &amp;quot;,I4)&#039;) i,j,arr(i,j)&lt;br /&gt;
        end do&lt;br /&gt;
    end do&lt;br /&gt;
    &lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,2))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,2))&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran_SUB(arr)&lt;br /&gt;
    integer arr(2)&lt;br /&gt;
    integer i&lt;br /&gt;
    &lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        write(*,&#039;(&amp;quot;Vektor &amp;quot;, I4)&#039;) arr(i)&lt;br /&gt;
    end do&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe:&lt;br /&gt;
[[Bild:ConsolenAusgabe TestArray.png]]&lt;br /&gt;
&lt;br /&gt;
== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identifizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=File:ConsolenAusgabe_TestArray.png&amp;diff=5585</id>
		<title>File:ConsolenAusgabe TestArray.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=File:ConsolenAusgabe_TestArray.png&amp;diff=5585"/>
		<updated>2008-10-29T10:13:45Z</updated>

		<summary type="html">&lt;p&gt;Reussner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5584</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5584"/>
		<updated>2008-10-29T10:11:51Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Übergabe von Arrays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin-left:10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gleich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten ===&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
b = 0.123d0 !das d0 kennzeichnet den Wert als real*8&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
:&#039;&#039;siehe Bug 367&#039;&#039;&lt;br /&gt;
Früher wurde im Rechenkern mit unterschiedlichen Vergleichen gerechnet (&amp;lt;code&amp;gt;GLOBAL_NULL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLOBAL_FASTNULL&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Momentan verwendet:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
R8_EPSILON = 2 * Epsilon(1.2345d0)&lt;br /&gt;
R4_EPSILON = 2 * Epsilon(1.2654E0) ! entspricht 2**-23&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diskussion:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
isNull = (a == b)                       !wird so gut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; 1E-15)           !früher im Projekt verwendet (GLOBAL_NULL)&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; Epsilon(a))      !nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
isNull = (ABS(a / b - 1.0E0) &amp;lt; eps)     !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; SPACING(0.0E0))&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anmerkung====&lt;br /&gt;
Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! FALSCH&lt;br /&gt;
MAX(dumdidum, R8_EPSILON)&lt;br /&gt;
MAX(dumdidum, R4_EPSILON)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
Korrekt ist aber:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! RICHTIG&lt;br /&gt;
MAX(dumdidum, 0.0D0)&lt;br /&gt;
MAX(dumdidum, 0.0E0)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html Vergleich von Realwerten]&lt;br /&gt;
* [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx Aus dem Intel-Forum]&lt;br /&gt;
* Guter Artikel über Problematik: [http://www.lahey.com/float.htm The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
== Übergabe von Arrays ==&lt;br /&gt;
In Fortran ist es möglich Teile von Arrays an Funktionen zu übergeben. Wie genau das funktioniert, sollte hier erläutert werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Beispiel zeigt was genau übergeben wird:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran()&lt;br /&gt;
    integer arr(3,4)&lt;br /&gt;
    integer i&lt;br /&gt;
    integer j&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        do j = 1, ubound(arr,2)&lt;br /&gt;
            arr(i,j) = i + (j-1)*3&lt;br /&gt;
            write(*,&#039;(&amp;quot;Matrix (&amp;quot;, I4,&amp;quot;,&amp;quot;,I4,&amp;quot;) = &amp;quot;,I4)&#039;) i,j,arr(i,j)&lt;br /&gt;
        end do&lt;br /&gt;
    end do&lt;br /&gt;
    &lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,1) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,1))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(1,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(1,2))&lt;br /&gt;
    write(*,&#039;(&amp;quot;Aufruf mit arr(2,2) &amp;quot;)&#039;)&lt;br /&gt;
    call TestArrayFortranFortran_SUB(arr(2,2))&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
    subroutine TestArrayFortranFortran_SUB(arr)&lt;br /&gt;
    integer arr(2)&lt;br /&gt;
    integer i&lt;br /&gt;
    &lt;br /&gt;
    do i = 1, ubound(arr,1)&lt;br /&gt;
        write(*,&#039;(&amp;quot;Vektor &amp;quot;, I4)&#039;) arr(i)&lt;br /&gt;
    end do&lt;br /&gt;
&lt;br /&gt;
    end subroutine&lt;br /&gt;
!---------------------------------------------------------------&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe:&lt;br /&gt;
[[Bild:ConsolenAusgabe TestArray.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identifizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5583</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5583"/>
		<updated>2008-10-29T09:08:28Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Anmerkung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; margin-left:10px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gleich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten ===&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
b = 0.123d0 !das d0 kennzeichnet den Wert als real*8&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
:&#039;&#039;siehe Bug 367&#039;&#039;&lt;br /&gt;
Früher wurde im Rechenkern mit unterschiedlichen Vergleichen gerechnet (&amp;lt;code&amp;gt;GLOBAL_NULL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLOBAL_FASTNULL&amp;lt;/code&amp;gt; etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Momentan verwendet:&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
R8_EPSILON = 2 * Epsilon(1.2345d0)&lt;br /&gt;
R4_EPSILON = 2 * Epsilon(1.2654E0) ! entspricht 2**-23&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diskussion:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
isNull = (a == b)                       !wird so gut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; 1E-15)           !früher im Projekt verwendet (GLOBAL_NULL)&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; Epsilon(a))      !nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
isNull = (ABS(a / b - 1.0E0) &amp;lt; eps)     !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
isNull = (ABS(a - b) &amp;lt; SPACING(0.0E0))&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Anmerkung====&lt;br /&gt;
Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! FALSCH&lt;br /&gt;
MAX(dumdidum, R8_EPSILON)&lt;br /&gt;
MAX(dumdidum, R4_EPSILON)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
Korrekt ist aber:&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
! RICHTIG&lt;br /&gt;
MAX(dumdidum, 0.0D0)&lt;br /&gt;
MAX(dumdidum, 0.0E0)&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html Vergleich von Realwerten]&lt;br /&gt;
* [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx Aus dem Intel-Forum]&lt;br /&gt;
* Guter Artikel über Problematik: [http://www.lahey.com/float.htm The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
== Übergabe von Arrays ==&lt;br /&gt;
In Fortran ist es möglich Teile von Arrays an Funktionen zu übergeben. Wie genau das funktioniert, sollte hier erläutert werden:&lt;br /&gt;
&amp;lt;div class=&amp;quot;achtung&amp;quot;&amp;gt;&lt;br /&gt;
TODO!!!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identifizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5435</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5435"/>
		<updated>2008-08-12T07:50:34Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Fixed Form und Free Form */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
Identizieren von Problemstellen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bereinigen von Leerzeichen am Ende&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(:b+)$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
Momentaner Favorit ist: FortranEpsilonfürNull =  2 * Epsilon(...)&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten: MAX(dumdidum,global_FastNull). Korrekt ist MAX(dumdidum,0.0E0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
!isnull =  (abs(a - b) &amp;lt; Epsilon(a)) ! nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
!isnull = (abs(a/b-1.0E0) &amp;lt; eps) !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
&lt;br /&gt;
isNull = (abs(a-b) &amp;lt; SPACING(0.0E0))&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links: ====&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
[http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx|Aus dem intelforum]&lt;br /&gt;
Guter Artikel über Problemetik: [http://www.lahey.com/float.htm|The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5434</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5434"/>
		<updated>2008-08-12T07:41:12Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Fixed Form und Free Form */  reg. Expr.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fixed Form und Free Form ==&lt;br /&gt;
Die Free Form ist der Fixed Form der übersichtlichkeitshalber vorzuziehen. Ausserdem können bei der Fixed Form Fehler entstehen, die der compiler nicht abfängt (z. B. Formeln die über den Rand gehen - in SMUSI war beispielsweise eine Stelle, wo statt mit 300 nur mit 3 multipliziert wurde.&lt;br /&gt;
&lt;br /&gt;
Für die Umstellung gibts hier eine regular Expression, die alle Zeilen anzeigt die länger als 72 Zeichen sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^[^cC!][^!]^72&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
Momentaner Favorit ist: FortranEpsilonfürNull =  2 * Epsilon(...)&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten: MAX(dumdidum,global_FastNull). Korrekt ist MAX(dumdidum,0.0E0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
!isnull =  (abs(a - b) &amp;lt; Epsilon(a)) ! nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
!isnull = (abs(a/b-1.0E0) &amp;lt; eps) !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
&lt;br /&gt;
isNull = (abs(a-b) &amp;lt; SPACING(0.0E0))&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links: ====&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
[http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx|Aus dem intelforum]&lt;br /&gt;
Guter Artikel über Problemetik: [http://www.lahey.com/float.htm|The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Steuern_und_Regeln&amp;diff=5390</id>
		<title>Steuern und Regeln</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Steuern_und_Regeln&amp;diff=5390"/>
		<updated>2008-07-30T13:52:10Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Status quo in BlueM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Steuerung_Regelung.png|thumb|Steuerung vs. Regelung]]&lt;br /&gt;
Ein paar Dokumente für die gleiche Diskussionsgrundlage:&lt;br /&gt;
* http://de.wikipedia.org/wiki/Regelung_(Regelungstechnik)&lt;br /&gt;
* http://de.wikipedia.org/wiki/Steuern_(Systemtheorie)&lt;br /&gt;
&lt;br /&gt;
==Status quo in BlueM==&lt;br /&gt;
[[Bild:KTR-Berechnung.png|thumb|left|Berechnungsablauf Kontrollfunktionen]]&lt;br /&gt;
&lt;br /&gt;
* Momentan (r484) wird immer 2 Mal iteriert&lt;br /&gt;
* Die Systemzustände können im ersten Durchlauf auch zeitlich gemischt sein (aktueller zeitschritt und vorheriger).&lt;br /&gt;
So werden beim ersten Durchgang für Kontrollfunktionen, die zum Zeitpunkt der Berechnung des jeweiligen Elements &lt;br /&gt;
noch nicht berechnet werden können (bspw. weil von unterstrom gelegenen Systemzuständen abhängig),&lt;br /&gt;
als Schätzung die Kontrollfunktionswerte des vorherigen Zeitschritts verwendet.&lt;br /&gt;
* Es gibt keine Unterscheidung zwischen Reglung und Steuerung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siehe auch Bug 341.&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Steuern_und_Regeln&amp;diff=5378</id>
		<title>Steuern und Regeln</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Steuern_und_Regeln&amp;diff=5378"/>
		<updated>2008-07-29T13:56:31Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Die Seite wurde neu angelegt:  Ein paar Dokumente für die gleiche Diskussionsgrundlage: http://de.wikipedia.org/wiki/Regelung_(Regelungstechnik) [[http://de.wikipedia.org/wiki/Steuern_(Systemth...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Ein paar Dokumente für die gleiche Diskussionsgrundlage:&lt;br /&gt;
[[http://de.wikipedia.org/wiki/Regelung_(Regelungstechnik)]]&lt;br /&gt;
[[http://de.wikipedia.org/wiki/Steuern_(Systemtheorie)]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM.DLLAdapter&amp;diff=5327</id>
		<title>BlueM.DLLAdapter</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM.DLLAdapter&amp;diff=5327"/>
		<updated>2008-07-10T13:27:12Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Basismethoden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;BlueM.DLLAdapter&#039;&#039;&#039; ist ein .NET Wrapper zum Ansprechen des [[BlueM]] Rechenkerns in DLL-Form.&lt;br /&gt;
&lt;br /&gt;
==Schnittstellendefinitionen==&lt;br /&gt;
[[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]]&lt;br /&gt;
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet.&lt;br /&gt;
&lt;br /&gt;
Falls ein Fehler auftritt wird die Methode &amp;lt;code&amp;gt;CreateAndThrowException&amp;lt;/code&amp;gt; aufgerufen (schmeisst einen Fehler).&lt;br /&gt;
===Basismethoden===&lt;br /&gt;
&#039;&#039;&#039;Initialize&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;public void Initialize(string filePath)&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;filePath&amp;lt;/code&amp;gt; ist der Absolute Pfad mit dem Projektnamen ohne die Dateiendung &amp;lt;code&amp;gt;.ALL&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;&amp;quot;D:\Simulation\TSIM&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
:Das System wird initialisiert und alle zugehörigen Daten aus den Simulationsdateien geladen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PerformTimeStep&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;public void PerformTimeStep()&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:Berechnet den nächsten Zeitschritt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Finish / Dispose&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;&lt;br /&gt;
 public void Finish()&lt;br /&gt;
 public void Dispose()&lt;br /&gt;
&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:Schliessen aller Dateien und Freigabe des Speichers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Datumsangaben&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;&lt;br /&gt;
 public DateTime GetCurrentTime()&lt;br /&gt;
 public DateTime GetSimulationStartDate()&lt;br /&gt;
 public DateTime GetSimulationEndDate()&lt;br /&gt;
&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:Was sind die Simulationszeiten (Anfang und Ende). Wo befinden wir uns gerade (GetCurrentTime) - wird nach jedem PerformTimeStep wietergeschoben.&lt;br /&gt;
&lt;br /&gt;
==Anwendungsbeispiel==&lt;br /&gt;
Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - &#039;&#039;SingleDLL&#039;&#039;):&lt;br /&gt;
&amp;lt;vbnet&amp;gt;&lt;br /&gt;
&#039;Einmal zu Beginn instanzieren&lt;br /&gt;
bluem_dll = New BlueM_EngineDotNetAccess(&amp;quot;Pfad-zu-BlueM.dll&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Try&lt;br /&gt;
&lt;br /&gt;
    Call bluem_dll.Initialize(&amp;quot;Pfad-zu-Datensatz&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    Dim SimEnde As DateTime = BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetSimulationEndDate())&lt;br /&gt;
&lt;br /&gt;
    &#039;Schleife über Simulationszeitraum &lt;br /&gt;
    Do While (BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetCurrentTime) &amp;lt;= SimEnde)&lt;br /&gt;
        Call bluem_dll.PerformTimeStep()&lt;br /&gt;
    Loop&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulation abschliessen&lt;br /&gt;
    Call bluem_dll.Finish()&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulation abgeschlossen&lt;br /&gt;
    MsgBox(&amp;quot;Simulation erfolgreich!&amp;quot;, MsgBoxStyle.Information, &amp;quot;BlueM&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    simOK = True&lt;br /&gt;
&lt;br /&gt;
Catch ex As Exception&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulationsfehler aufgetreten&lt;br /&gt;
    MsgBox(ex.Message, MsgBoxStyle.Exclamation, &amp;quot;BlueM&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulation abschliessen&lt;br /&gt;
    Call bluem_dll.Finish()&lt;br /&gt;
&lt;br /&gt;
    simOK = False&lt;br /&gt;
&lt;br /&gt;
Finally&lt;br /&gt;
&lt;br /&gt;
    &#039;Ressourcen deallokieren&lt;br /&gt;
    Call bluem_dll.Dispose()&lt;br /&gt;
&lt;br /&gt;
End Try&lt;br /&gt;
&amp;lt;/vbnet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Code]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=BlueM.DLLAdapter&amp;diff=5326</id>
		<title>BlueM.DLLAdapter</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=BlueM.DLLAdapter&amp;diff=5326"/>
		<updated>2008-07-10T13:22:11Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Anwendungsbeispiel */  SingleDLL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;BlueM.DLLAdapter&#039;&#039;&#039; ist ein .NET Wrapper zum Ansprechen des [[BlueM]] Rechenkerns in DLL-Form.&lt;br /&gt;
&lt;br /&gt;
==Schnittstellendefinitionen==&lt;br /&gt;
[[Bild:BlueM DLL Wrapper.png|thumb|Klassendiagramm]]&lt;br /&gt;
Nachfolgend werden die Schnittstellen-Methoden zur Kommunikation mit der BlueM DLL mit den zugehörigen Übergabe- bzw. Rückgabeparametern aufgelistet.&lt;br /&gt;
&lt;br /&gt;
Falls ein Fehler auftritt wird die Methode &amp;lt;code&amp;gt;CreateAndThrowException&amp;lt;/code&amp;gt; aufgerufen (schmeisst einen Fehler).&lt;br /&gt;
===Basismethoden===&lt;br /&gt;
&#039;&#039;&#039;Initialize&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;public void Initialize(string filePath)&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;filePath&amp;lt;/code&amp;gt; ist der Absolute Pfad mit dem Projektnamen ohne die Dateiendung &amp;lt;code&amp;gt;.ALL&amp;lt;/code&amp;gt; (Bsp.: &amp;lt;code&amp;gt;&amp;quot;D:\Simulation\TSIM&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
:Das System wird initialisiert und alle zugehörigen Daten aus den Simulationsdateien geladen. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PerformTimeStep&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;public void PerformTimeStep()&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:Berechnet den nächsten Zeitschritt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Finish / Dispose&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;csharp&amp;gt;&lt;br /&gt;
 public void Finish()&lt;br /&gt;
 public void Dispose()&lt;br /&gt;
&amp;lt;/csharp&amp;gt;&lt;br /&gt;
:Schliessen aller Dateien und Freigabe des Speichers &lt;br /&gt;
&lt;br /&gt;
==Anwendungsbeispiel==&lt;br /&gt;
Beispiel zur Nutzung des Bluem.DLLAdapters zur Simulation mittels BlueM.dll in VB.NET (Anwendung nur mit einer Simulation - &#039;&#039;SingleDLL&#039;&#039;):&lt;br /&gt;
&amp;lt;vbnet&amp;gt;&lt;br /&gt;
&#039;Einmal zu Beginn instanzieren&lt;br /&gt;
bluem_dll = New BlueM_EngineDotNetAccess(&amp;quot;Pfad-zu-BlueM.dll&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Try&lt;br /&gt;
&lt;br /&gt;
    Call bluem_dll.Initialize(&amp;quot;Pfad-zu-Datensatz&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    Dim SimEnde As DateTime = BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetSimulationEndDate())&lt;br /&gt;
&lt;br /&gt;
    &#039;Schleife über Simulationszeitraum &lt;br /&gt;
    Do While (BlueM_EngineDotNetAccess.DateTime(bluem_dll.GetCurrentTime) &amp;lt;= SimEnde)&lt;br /&gt;
        Call bluem_dll.PerformTimeStep()&lt;br /&gt;
    Loop&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulation abschliessen&lt;br /&gt;
    Call bluem_dll.Finish()&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulation abgeschlossen&lt;br /&gt;
    MsgBox(&amp;quot;Simulation erfolgreich!&amp;quot;, MsgBoxStyle.Information, &amp;quot;BlueM&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    simOK = True&lt;br /&gt;
&lt;br /&gt;
Catch ex As Exception&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulationsfehler aufgetreten&lt;br /&gt;
    MsgBox(ex.Message, MsgBoxStyle.Exclamation, &amp;quot;BlueM&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &#039;Simulation abschliessen&lt;br /&gt;
    Call bluem_dll.Finish()&lt;br /&gt;
&lt;br /&gt;
    simOK = False&lt;br /&gt;
&lt;br /&gt;
Finally&lt;br /&gt;
&lt;br /&gt;
    &#039;Ressourcen deallokieren&lt;br /&gt;
    Call bluem_dll.Dispose()&lt;br /&gt;
&lt;br /&gt;
End Try&lt;br /&gt;
&amp;lt;/vbnet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BlueM Code]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5216</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5216"/>
		<updated>2008-06-25T13:02:50Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Vergleich von Realzahlen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
Momentaner Favorit ist: FortranEpsilonfürNull =  2 * Epsilon(...)&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Im Code von BlueM sind ein paar nicht korrekte Anweisungen enthalten: MAX(dumdidum,global_FastNull). Korrekt ist MAX(dumdidum,0.0E0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
!isnull =  (abs(a - b) &amp;lt; Epsilon(a)) ! nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
!isnull = (abs(a/b-1.0E0) &amp;lt; eps) !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
&lt;br /&gt;
isNull = (abs(a-b) &amp;lt; SPACING(0.0E0))&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links: ====&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
[http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx|Aus dem intelforum]&lt;br /&gt;
Guter Artikel über Problemetik: [http://www.lahey.com/float.htm|The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5215</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5215"/>
		<updated>2008-06-25T12:01:57Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Real Werte und Vergleiche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
Mit Epsilon() kommt man wohl nicht zum ZIEL, da sich Epsilon laut Dr. Fortran an der 1.0 orientiert [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx|siehe hier].&lt;br /&gt;
Dr. Fortran schlägt Spacing() vor! Allerdings sollten wir dann überprüfen ob wir gegen Null checken wollen oder zwei Werte vergleichen. Bei letzterem können wir auch das Spacing() zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
!isnull =  (abs(a - b) &amp;lt; Epsilon(a)) ! nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
!isnull = (abs(a/b-1.0E0) &amp;lt; eps) !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
&lt;br /&gt;
isNull = (abs(a-b) &amp;lt; SPACING(0.0E0))&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links: ====&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
[http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx|Aus dem intelforum]&lt;br /&gt;
Guter Artikel über Problemetik: [http://www.lahey.com/float.htm|The Perils of Floating Point]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5214</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5214"/>
		<updated>2008-06-25T11:49:18Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Vergleich von Realzahlen */ +++ no Epsilon +++ now Spacing +++&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
Mit Epsilon() kommt man wohl nicht zum ZIEL, da sich Epsilon laut dr. Fortran an der 1.0 orientiert [http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30231255.aspx].&lt;br /&gt;
Dr. Fortran schlägt Spacing() vor! Allerdings sollten wir dann überprüfen ob wir gegen Null checken wollen oder zwei Werte vergleichen. Bei letzterem können wir auch das Spacing() zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
!isnull =  (abs(a - b) &amp;lt; Epsilon(a)) ! nach Rechenoperationen erwies sich Epsilon als zu ungenau bzw. genau&lt;br /&gt;
!isnull = (abs(a/b-1.0E0) &amp;lt; eps) !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
&lt;br /&gt;
isNull = (abs(a-b) &amp;lt; SPACING(0.0E0))&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links: ===&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5213</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5213"/>
		<updated>2008-06-24T14:18:26Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Vergleich von Realzahlen */  Epsilon-Methode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
Der Schlüssel scheint die Intel-Fortran-methode Epsilon zu sein. Epsilon gibt wohl die Ungenauigkeit je nach Kind (single oder double) zurück.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
isnull =  (abs(a - b) &amp;lt; Epsilon(a))&lt;br /&gt;
!isnull = (abs(a/b-1.0E0) &amp;lt; eps) !Relativvergleich - führte bei Tests aber zu Fehlern&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links: ===&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5212</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5212"/>
		<updated>2008-06-24T14:08:03Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Vergleich von Realzahlen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
logical isNull&lt;br /&gt;
isNull =(a == b) !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
isNull = (a - b &amp;lt; global_fastnull) !aktuell im Projekt verwendet&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
isnull =  (abs(a - b) &amp;lt; Epsilon(a))&lt;br /&gt;
!if (abs(a/b-1.0E0) &amp;lt; eps) !führte zu Fehlern&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links: ===&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5211</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5211"/>
		<updated>2008-06-24T10:39:54Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Vergleich von Realzahlen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
&lt;br /&gt;
if (a == b) error !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
if (a - b &amp;lt; global_null) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
if (abs(a - b) &amp;lt; eps)&lt;br /&gt;
if (abs(a/b-1.0E0) &amp;lt; eps)&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links: ===&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5210</id>
		<title>FORTRAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=FORTRAN&amp;diff=5210"/>
		<updated>2008-06-24T09:44:16Z</updated>

		<summary type="html">&lt;p&gt;Reussner: Besonderheiten von Realwerten in Fortran&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Real Werte und Vergleiche ==&lt;br /&gt;
Ein wichtiger Punkt bei der Programmierung mit Fortran ist die Behandlung der Real Werte. Insbesondere der vergleich, ob zwei Real Werte gelich sind, ist in FORTRAN nur durch eine erweiterte Syntax möglich.&lt;br /&gt;
&lt;br /&gt;
=== Zuweisen von Werten: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*8 b&lt;br /&gt;
&lt;br /&gt;
a = 0.123e0 !das e0 kennzeichnet den Wert als real*4&lt;br /&gt;
&lt;br /&gt;
b = 0.123d0 ! das d0 kennzeichnet den Wert als real*8&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Vergleich von Realzahlen ===&lt;br /&gt;
Momentan wird im Rechenkern mit unterschiedlichen Vergelichen gerechnet (global_fastnull etc.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
real*4 a&lt;br /&gt;
real*4 b&lt;br /&gt;
&lt;br /&gt;
if (a == b) error !wird sogut wie nie erfüllt&lt;br /&gt;
&lt;br /&gt;
if (a - b &amp;lt; global_null) !aktuell im Projekt verwendet&lt;br /&gt;
&lt;br /&gt;
!Alternativen (zur Diskussion)&lt;br /&gt;
&lt;br /&gt;
if (abs(a - b) &amp;lt; eps)&lt;br /&gt;
if (abs(a/b) &amp;lt; eps)&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Links: ===&lt;br /&gt;
Vergleich von Realwerten [http://hodgson.pi.tu-berlin.de/Lehre/EDV1/skripte/f95_skript/node56.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fortran]]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=DLL-Methoden_hinzuf%C3%BCgen_(.NET_2_FORTRAN)&amp;diff=5209</id>
		<title>DLL-Methoden hinzufügen (.NET 2 FORTRAN)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=DLL-Methoden_hinzuf%C3%BCgen_(.NET_2_FORTRAN)&amp;diff=5209"/>
		<updated>2008-06-24T09:42:15Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Hinzufügen der neuen Methode in der BlueM Fortran-DLL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:left; margin-right:10px&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt; Anleitung für das Hinzufügen neuer Methoden in eine Modell-DLL (am Beispiel von [[BlueM]]) &amp;lt;/big&amp;gt;&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinzufügen der neuen Methode in der BlueM Fortran-DLL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
        logical function GetModelDescription(Description)&lt;br /&gt;
        !DEC$ ATTRIBUTES DLLEXPORT :: GETMODELDESCRIPTION&lt;br /&gt;
        character(*) Description&lt;br /&gt;
            ...&lt;br /&gt;
        end function&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
* Funktionsname und DLLEXPORT-Name müssen gleich sein !&lt;br /&gt;
* Übergabeparameter müssen definiert sein (und die Typen sollten so einfach wie möglich sein) !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Tip : Kontrollieren, ob der Export funktioniert hat, kann man mit dem DependencyWalker des Visual Studios &amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;C:\Programme\Microsoft Visual Studio 8\Common7\Tools\Bin\Depends.Exe&amp;lt;/code&amp;gt;. &amp;lt;br/&amp;gt;Dort werden alle exportierte Methoden aufgelistet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Fortran]]&lt;br /&gt;
&lt;br /&gt;
== Erweiterung des [[BlueM.DLLAdapter|DLL-Wrappers]] (C#) ==&lt;br /&gt;
Die Methoden der DLL werden aus der Klasse &amp;lt;code&amp;gt;DLLMethoden&amp;lt;/code&amp;gt; aufgerufen.&lt;br /&gt;
&lt;br /&gt;
# Hinzufügen des Delegats in DLLMethoden&lt;br /&gt;
# Hinzufügen der Schnittstellenmethode&lt;br /&gt;
# Hinzufügen einer Testmethode [[UnitTest]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;csharp&amp;gt;&lt;br /&gt;
        public class DLLMethoden&lt;br /&gt;
        {       &lt;br /&gt;
                ...&lt;br /&gt;
                delegate bool GetModelDescriptionDelegate([MarshalAs(UnmanagedType.LPStr)] StringBuilder description, uint length);&lt;br /&gt;
                ...&lt;br /&gt;
                public bool GetModelDescription(StringBuilder description, uint length)&lt;br /&gt;
                {&lt;br /&gt;
                    if (myDll == IntPtr.Zero)&lt;br /&gt;
                        InitializeMyDll(pathToDll);&lt;br /&gt;
                    IntPtr pProc = DllImportDynamic.GetProcAddress(myDll, &amp;quot;OPENMI_mp_GETMODELDESCRIPTION&amp;quot;);&lt;br /&gt;
                    GetModelDescriptionDelegate cpv = (GetModelDescriptionDelegate)Marshal.GetDelegateForFunctionPointer(pProc, typeof(GetModelDescriptionDelegate));&lt;br /&gt;
                    return cpv(description, (uint)description.Length);&lt;br /&gt;
                }        &lt;br /&gt;
                ...&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/csharp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Delegate ====&lt;br /&gt;
Eine Delegatmethode ist eine Art &amp;quot;Platzhalter&amp;quot;. in diesem Beispiel fungiert sie als Platzhalter für die Fortran-DLL. Sie hat die selben Übergabeparameter wie in der Fortran-DLL beschrieben - Ausnahme sind Zeichenketten (Siehe [[#Marshaling|Marshaling]]).&lt;br /&gt;
&lt;br /&gt;
==== Marshaling ====&lt;br /&gt;
* Um Typensicherheit zu gewährleiseten, gibt es in .NET die Attributsklasse &amp;lt;code&amp;gt;MarshalAs&amp;lt;/code&amp;gt;. Über diese Klasse können Typen aus unmanaged Code und dem .NET Code ausgetauscht werden - z.B. &amp;lt;code&amp;gt;r8&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; oder wie bei &amp;lt;code&amp;gt;GetModelDescriptionDelegate&amp;lt;/code&amp;gt; eine Zeichenkette (&amp;lt;code&amp;gt;LPStr&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;StringBuilder&amp;lt;/code&amp;gt;):  &lt;br /&gt;
&amp;lt;csharp&amp;gt; [MarshalAs(UnmanagedType.LPStr)] StringBuilder description &amp;lt;/csharp&amp;gt;&lt;br /&gt;
* Um eine Zeichenkette mit der Fortran-DLL auszutauschen, muss zu dem inhalt immer auch die Länge des Strings angegeben werden:&lt;br /&gt;
&amp;lt;csharp&amp;gt; uint length &amp;lt;/csharp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Aufruf der DLL-Methode ====&lt;br /&gt;
&amp;lt;csharp&amp;gt;IntPtr pProc = DllImportDynamic.GetProcAddress(myDll, &amp;quot;OPENMI_mp_GETMODELDESCRIPTION&amp;quot;);&amp;lt;/csharp&amp;gt;&lt;br /&gt;
Holt sich die Einsprungadresse der DLL_Methode.&lt;br /&gt;
&amp;lt;csharp&amp;gt;GetModelDescriptionDelegate cpv = (GetModelDescriptionDelegate)Marshal.GetDelegateForFunctionPointer(pProc, typeof(GetModelDescriptionDelegate));&amp;lt;/csharp&amp;gt;&lt;br /&gt;
Die Einsprungadresse und der &amp;quot;Platzhalter&amp;quot; werden miteinander verknüpft. Nun kann man einfach die Delegatmethode mit den entsprechenden Parametern aufrufen:&lt;br /&gt;
&amp;lt;csharp&amp;gt;cpv(description, (uint)description.Length);&amp;lt;/csharp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:OpenMI]]&lt;br /&gt;
[[Kategorie:Hilfe]]&lt;br /&gt;
[[Kategorie:BlueM Code]]&lt;br /&gt;
[[Kategorie:BlueM Entwicklung]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Fortran:_Lahey_LF90&amp;diff=5208</id>
		<title>Fortran: Lahey LF90</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Fortran:_Lahey_LF90&amp;diff=5208"/>
		<updated>2008-06-24T09:41:44Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Fortran Compiler Lahey LF90 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fortran Compiler Lahey LF90 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DLL erstellen ===&lt;br /&gt;
Automake-Datei:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
QUITONERROR&lt;br /&gt;
DEBUG&lt;br /&gt;
FILES=*.for&lt;br /&gt;
COMPILE=@lf90 -ap -chk -g -co -f90 -lst -pca -sav -stchk -trace -w -wo -xref -c %fi -DLL -WIN -ML WINAPI&lt;br /&gt;
&lt;br /&gt;
LINK=@lf90 @%rf -dll -out %ex -ml winapi -fullwarn -g&lt;br /&gt;
TARGET=Target.dll&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;TIP: Es können mit LF90 keine Proceduren eines Moduls exportiert werden ! Deshalb eigene Subroutine/Funktion mit Modulproceduraufruf implementieren.&lt;br /&gt;
Gültige Schnittstellendefinitionen mit LF90&lt;br /&gt;
&amp;lt;fortran&amp;gt;&lt;br /&gt;
      subroutine TEST_MODULE()&lt;br /&gt;
      USE MOD_BLABLA&lt;br /&gt;
      DLL_EXPORT TEST_MODULE&lt;br /&gt;
        call BLABLA_Procedure() &lt;br /&gt;
      end subroutine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      subroutine TEST_dlL()&lt;br /&gt;
      DLL_EXPORT TEST_dll&lt;br /&gt;
      end subroutine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      function TEST_FUNCT()&lt;br /&gt;
      LOGICAL :: TEST_FUNCT&lt;br /&gt;
      DLL_EXPORT TEST_FUNCT&lt;br /&gt;
      end function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      LOGICAL function TEST_FUNCT2()&lt;br /&gt;
      DLL_EXPORT TEST_FUNCT2&lt;br /&gt;
        TEST_FUNCT2 = .true.&lt;br /&gt;
      end function&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      LOGICAL function TEST_UEBERGABE_Z(Zahl)&lt;br /&gt;
      USE MOD_SCHNITTSTELLE&lt;br /&gt;
      DLL_EXPORT TEST_UEBERGABE_Z&lt;br /&gt;
      INTEGER Zahl&lt;br /&gt;
        TEST_UEBERGABE_Z = .true.&lt;br /&gt;
      end function&lt;br /&gt;
&lt;br /&gt;
      LOGICAL function TEST_UEBERGABE_C(str)&lt;br /&gt;
      USE MOD_SCHNITTSTELLE&lt;br /&gt;
      DLL_EXPORT TEST_UEBERGABE_C&lt;br /&gt;
      CHARACTER(1024) str&lt;br /&gt;
        TEST_UEBERGABE_C = .true.&lt;br /&gt;
      end function&lt;br /&gt;
&lt;br /&gt;
      LOGICAL function TEST_UEBERGABE_C2(str)&lt;br /&gt;
      USE MOD_SCHNITTSTELLE&lt;br /&gt;
      DLL_EXPORT TEST_UEBERGABE_C2&lt;br /&gt;
      CHARACTER(*) str&lt;br /&gt;
        TEST_UEBERGABE_C2 = .true.&lt;br /&gt;
      end function&lt;br /&gt;
&amp;lt;/fortran&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;TIP: Aufpassen manchmal sind die exportierten Methdoden &amp;quot;case sensitive&amp;quot; !!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:OpenMI]]&lt;br /&gt;
[[Kategorie:Hilfe]]&lt;br /&gt;
[[Kategorie:DLL]]&lt;br /&gt;
[[Kategorie:SMUSI]]&lt;br /&gt;
[[Kategorie:Fortran]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5205</id>
		<title>Weitergabe Stoffe</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5205"/>
		<updated>2008-06-16T08:31:07Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Zuflüsse und Aktionen - Gütemodell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stoffweitergabe von Element zu Element ==&lt;br /&gt;
* Angeschlossenes Gütemodell ist laPipe.dll&lt;br /&gt;
* Ein Gütemodell mit vielen Wasserschleifen ist generiert&lt;br /&gt;
=== Prozess zur Weitergabe der Informationen/Konzentrationen ===&lt;br /&gt;
==== Weitergabe Optionen ====&lt;br /&gt;
* Verfügbare Optionen in laPipe&lt;br /&gt;
** Add      : hinzufügen neuer Volumen (mit Konzentration)&lt;br /&gt;
** Remove   : entfernen von Volumen&lt;br /&gt;
** moveNode : von Wasserschlange zu Wasserschlange (1:1)&lt;br /&gt;
** moveLink : von Wasserschlange zu Wasserschlange (n:m)&lt;br /&gt;
* fehlende Option&lt;br /&gt;
** &#039;&#039;&#039;Add und moveNode/moveLink als Kombination&#039;&#039;&#039;&lt;br /&gt;
==== Weitergabeprozess ====&lt;br /&gt;
Siehe auch [[#Zuflüsse und Aktionen - Gütemodell|Zuflüsse und Aktionen - Gütemodell]]&lt;br /&gt;
&lt;br /&gt;
* Anwendungsfälle&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Anwendungsfälle Stoffweitergabe von Knoten zu Knoten&lt;br /&gt;
! Von KnotenArt!! Zu KnotenArt !! Aktion des ZU-Knotens&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|TRS&lt;br /&gt;
|Add&lt;br /&gt;
|-&lt;br /&gt;
|TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveNode&lt;br /&gt;
|-&lt;br /&gt;
|(n) TRS&lt;br /&gt;
|X&lt;br /&gt;
|removeVol&lt;br /&gt;
|-&lt;br /&gt;
|n TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink&lt;br /&gt;
|-&lt;br /&gt;
|n TRS + X&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink + ADD ??? (Dies wird wohl der Standardfall bei einer Einleitung aus SMUSI sein)&lt;br /&gt;
|}&lt;br /&gt;
** X     : irgendein nicht im Gütemodell enthaltener Knoten (z.B. EZG, Becken, Zielpegel etc.)&lt;br /&gt;
** TRS   : Knoten der mit dem Gütemodell als Wasserschlange modelliert wird&lt;br /&gt;
** n TRS : Mehrere Knoten des Typs TRS&lt;br /&gt;
&lt;br /&gt;
* von wo aus wird der Prozess angeschmissen ?&lt;br /&gt;
** vom oberen Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonoben.jpg|thumb|none|500px]]&lt;br /&gt;
*** Nachteil: Es müssen mitunter Zwei Aktionen ausgeführt werden (z. B. add/moveNode)&lt;br /&gt;
** vom unteren Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonUnten.jpg|thumb|none|500px]]&lt;br /&gt;
* offene Punkte&lt;br /&gt;
** Zufluss und Abfluss im selben Zeitschritt verwenden ?&lt;br /&gt;
&lt;br /&gt;
== Zuflüsse und Aktionen - Gütemodell					==&lt;br /&gt;
&lt;br /&gt;
S : 	Sonstiges Element		&lt;br /&gt;
T : 	Transportelement (alle als Wasserschlange abgebildeten Elemente)		&lt;br /&gt;
Beispiel ST = Sonstiges in Transportelement			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ EINFACHE KOMBINATIONEN	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-&lt;br /&gt;
|1.	||SS	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|2.	 ||- 	 ||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ 	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||ST	||ADD	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveNode	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN EINFACH&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveLink	&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TT	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	||Wäre Schön wenn man das auch als MEGAREMOVE hat&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TS	||REMOVE	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN noch nicht in Gütemodell&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||ST	||MEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVENODEplusMEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVELINKplusADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Nach Diskussion mit IFAK: Übergabe bei MegaADD MoveNodeplusMegaAdd etc. wird erstmal ein Mechanismus REMOVE&amp;amp;ADD getestet. Sollte die auftretende numerische Dispersion zu stark ins Gewicht fallen, muss DANN ein neuer Mechanismus entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gütemodell]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5204</id>
		<title>Weitergabe Stoffe</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5204"/>
		<updated>2008-06-16T08:28:58Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Weitergabeprozess */  verlinkung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stoffweitergabe von Element zu Element ==&lt;br /&gt;
* Angeschlossenes Gütemodell ist laPipe.dll&lt;br /&gt;
* Ein Gütemodell mit vielen Wasserschleifen ist generiert&lt;br /&gt;
=== Prozess zur Weitergabe der Informationen/Konzentrationen ===&lt;br /&gt;
==== Weitergabe Optionen ====&lt;br /&gt;
* Verfügbare Optionen in laPipe&lt;br /&gt;
** Add      : hinzufügen neuer Volumen (mit Konzentration)&lt;br /&gt;
** Remove   : entfernen von Volumen&lt;br /&gt;
** moveNode : von Wasserschlange zu Wasserschlange (1:1)&lt;br /&gt;
** moveLink : von Wasserschlange zu Wasserschlange (n:m)&lt;br /&gt;
* fehlende Option&lt;br /&gt;
** &#039;&#039;&#039;Add und moveNode/moveLink als Kombination&#039;&#039;&#039;&lt;br /&gt;
==== Weitergabeprozess ====&lt;br /&gt;
Siehe auch [[#Zuflüsse und Aktionen - Gütemodell|Zuflüsse und Aktionen - Gütemodell]]&lt;br /&gt;
&lt;br /&gt;
* Anwendungsfälle&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Anwendungsfälle Stoffweitergabe von Knoten zu Knoten&lt;br /&gt;
! Von KnotenArt!! Zu KnotenArt !! Aktion des ZU-Knotens&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|TRS&lt;br /&gt;
|Add&lt;br /&gt;
|-&lt;br /&gt;
|TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveNode&lt;br /&gt;
|-&lt;br /&gt;
|(n) TRS&lt;br /&gt;
|X&lt;br /&gt;
|removeVol&lt;br /&gt;
|-&lt;br /&gt;
|n TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink&lt;br /&gt;
|-&lt;br /&gt;
|n TRS + X&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink + ADD ??? (Dies wird wohl der Standardfall bei einer Einleitung aus SMUSI sein)&lt;br /&gt;
|}&lt;br /&gt;
** X     : irgendein nicht im Gütemodell enthaltener Knoten (z.B. EZG, Becken, Zielpegel etc.)&lt;br /&gt;
** TRS   : Knoten der mit dem Gütemodell als Wasserschlange modelliert wird&lt;br /&gt;
** n TRS : Mehrere Knoten des Typs TRS&lt;br /&gt;
&lt;br /&gt;
* von wo aus wird der Prozess angeschmissen ?&lt;br /&gt;
** vom oberen Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonoben.jpg|thumb|none|500px]]&lt;br /&gt;
*** Nachteil: Es müssen mitunter Zwei Aktionen ausgeführt werden (z. B. add/moveNode)&lt;br /&gt;
** vom unteren Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonUnten.jpg|thumb|none|500px]]&lt;br /&gt;
* offene Punkte&lt;br /&gt;
** Zufluss und Abfluss im selben Zeitschritt verwenden ?&lt;br /&gt;
&lt;br /&gt;
== Zuflüsse und Aktionen - Gütemodell					==&lt;br /&gt;
&lt;br /&gt;
S : 	Sonstiges Element		&lt;br /&gt;
T : 	Transportelement (alle als Wasserschlange abgebildeten Elemente)		&lt;br /&gt;
Beispiel ST = Sonstiges in Transportelement			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ EINFACHE KOMBINATIONEN	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-&lt;br /&gt;
|1.	||SS	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|2.	 ||- 	 ||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ 	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||ST	||ADD	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveNode	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN EINFACH&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveLink	&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TT	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	||Wäre Schön wenn man das auch als MEGAREMOVE hat&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TS	||REMOVE	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN noch nicht in Gütemodell&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||ST	||MEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVENODEplusMEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVELINKplusADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Nach Diskussion mit IFAK: Übergabe bei MegaADD MoveNodeplusMegaAdd etc. wird erstmal ein Mechanismus REMOVE&amp;amp;ADD getestet. Sollte die auftretende numerische Dispersion zu stark ins Gewicht fallen, muss DANN ein neuer Mechanismus entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gütemodell]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5203</id>
		<title>Weitergabe Stoffe</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5203"/>
		<updated>2008-06-16T08:26:44Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Zuflüsse und Aktionen - Gütemodell */  Verbesserung Tabelle + Anmerkungen zu Metakombinationen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stoffweitergabe von Element zu Element ==&lt;br /&gt;
* Angeschlossenes Gütemodell ist laPipe.dll&lt;br /&gt;
* Ein Gütemodell mit vielen Wasserschleifen ist generiert&lt;br /&gt;
=== Prozess zur Weitergabe der Informationen/Konzentrationen ===&lt;br /&gt;
==== Weitergabe Optionen ====&lt;br /&gt;
* Verfügbare Optionen in laPipe&lt;br /&gt;
** Add      : hinzufügen neuer Volumen (mit Konzentration)&lt;br /&gt;
** Remove   : entfernen von Volumen&lt;br /&gt;
** moveNode : von Wasserschlange zu Wasserschlange (1:1)&lt;br /&gt;
** moveLink : von Wasserschlange zu Wasserschlange (n:m)&lt;br /&gt;
* fehlende Option&lt;br /&gt;
** &#039;&#039;&#039;Add und moveNode/moveLink als Kombination&#039;&#039;&#039;&lt;br /&gt;
==== Weitergabeprozess ====&lt;br /&gt;
* Anwendungsfälle&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Anwendungsfälle Stoffweitergabe von Knoten zu Knoten&lt;br /&gt;
! Von KnotenArt!! Zu KnotenArt !! Aktion des ZU-Knotens&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|TRS&lt;br /&gt;
|Add&lt;br /&gt;
|-&lt;br /&gt;
|TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveNode&lt;br /&gt;
|-&lt;br /&gt;
|(n) TRS&lt;br /&gt;
|X&lt;br /&gt;
|removeVol&lt;br /&gt;
|-&lt;br /&gt;
|n TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink&lt;br /&gt;
|-&lt;br /&gt;
|n TRS + X&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink + ADD ??? (Dies wird wohl der Standardfall bei einer Einleitung aus SMUSI sein)&lt;br /&gt;
|}&lt;br /&gt;
** X     : irgendein nicht im Gütemodell enthaltener Knoten (z.B. EZG, Becken, Zielpegel etc.)&lt;br /&gt;
** TRS   : Knoten der mit dem Gütemodell als Wasserschlange modelliert wird&lt;br /&gt;
** n TRS : Mehrere Knoten des Typs TRS&lt;br /&gt;
&lt;br /&gt;
* von wo aus wird der Prozess angeschmissen ?&lt;br /&gt;
** vom oberen Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonoben.jpg|thumb|none|500px]]&lt;br /&gt;
*** Nachteil: Es müssen mitunter Zwei Aktionen ausgeführt werden (z. B. add/moveNode)&lt;br /&gt;
** vom unteren Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonUnten.jpg|thumb|none|500px]]&lt;br /&gt;
* offene Punkte&lt;br /&gt;
** Zufluss und Abfluss im selben Zeitschritt verwenden ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zuflüsse und Aktionen - Gütemodell					==&lt;br /&gt;
&lt;br /&gt;
S : 	Sonstiges Element		&lt;br /&gt;
T : 	Transportelement (alle als Wasserschlange abgebildeten Elemente)		&lt;br /&gt;
Beispiel ST = Sonstiges in Transportelement			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ EINFACHE KOMBINATIONEN	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-&lt;br /&gt;
|1.	||SS	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|2.	 ||- 	 ||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ 	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||ST	||ADD	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveNode	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN EINFACH&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveLink	&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TT	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	||Wäre Schön wenn man das auch als MEGAREMOVE hat&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TS	||REMOVE	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN noch nicht in Gütemodell&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||ST	||MEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVENODEplusMEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVELINKplusADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Anmerkung: Nach Diskussion mit IFAK: Übergabe bei MegaADD MoveNodeplusMegaAdd etc. wird erstmal ein Mechanismus REMOVE&amp;amp;ADD getestet. Sollte die auftretende numerische Dispersion zu stark ins Gewicht fallen, muss DANN ein neuer Mechanismus entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gütemodell]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5200</id>
		<title>Weitergabe Stoffe</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5200"/>
		<updated>2008-06-12T14:13:08Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Weitergabeprozess */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stoffweitergabe von Element zu Element ==&lt;br /&gt;
* Angeschlossenes Gütemodell ist laPipe.dll&lt;br /&gt;
* Ein Gütemodell mit vielen Wasserschleifen ist generiert&lt;br /&gt;
=== Prozess zur Weitergabe der Informationen/Konzentrationen ===&lt;br /&gt;
==== Weitergabe Optionen ====&lt;br /&gt;
* Verfügbare Optionen in laPipe&lt;br /&gt;
** Add      : hinzufügen neuer Volumen (mit Konzentration)&lt;br /&gt;
** Remove   : entfernen von Volumen&lt;br /&gt;
** moveNode : von Wasserschlange zu Wasserschlange (1:1)&lt;br /&gt;
** moveLink : von Wasserschlange zu Wasserschlange (n:m)&lt;br /&gt;
* fehlende Option&lt;br /&gt;
** &#039;&#039;&#039;Add und moveNode/moveLink als Kombination&#039;&#039;&#039;&lt;br /&gt;
==== Weitergabeprozess ====&lt;br /&gt;
* Anwendungsfälle&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Anwendungsfälle Stoffweitergabe von Knoten zu Knoten&lt;br /&gt;
! Von KnotenArt!! Zu KnotenArt !! Aktion des ZU-Knotens&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|TRS&lt;br /&gt;
|Add&lt;br /&gt;
|-&lt;br /&gt;
|TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveNode&lt;br /&gt;
|-&lt;br /&gt;
|(n) TRS&lt;br /&gt;
|X&lt;br /&gt;
|removeVol&lt;br /&gt;
|-&lt;br /&gt;
|n TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink&lt;br /&gt;
|-&lt;br /&gt;
|n TRS + X&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink + ADD ??? (Dies wird wohl der Standardfall bei einer Einleitung aus SMUSI sein)&lt;br /&gt;
|}&lt;br /&gt;
** X     : irgendein nicht im Gütemodell enthaltener Knoten (z.B. EZG, Becken, Zielpegel etc.)&lt;br /&gt;
** TRS   : Knoten der mit dem Gütemodell als Wasserschlange modelliert wird&lt;br /&gt;
** n TRS : Mehrere Knoten des Typs TRS&lt;br /&gt;
&lt;br /&gt;
* von wo aus wird der Prozess angeschmissen ?&lt;br /&gt;
** vom oberen Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonoben.jpg|thumb|none|500px]]&lt;br /&gt;
*** Nachteil: Es müssen mitunter Zwei Aktionen ausgeführt werden (z. B. add/moveNode)&lt;br /&gt;
** vom unteren Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonUnten.jpg|thumb|none|500px]]&lt;br /&gt;
* offene Punkte&lt;br /&gt;
** Zufluss und Abfluss im selben Zeitschritt verwenden ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zuflüsse und Aktionen - Gütemodell					==&lt;br /&gt;
&lt;br /&gt;
S : 	Sonstiges Element		&lt;br /&gt;
T : 	Transportelement (alle als Wasserschlange abgebildeten Elemente)		&lt;br /&gt;
Beispiel ST = Sonstiges in Transportelement			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ EINFACHE KOMBINATIONEN	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-&lt;br /&gt;
|1.	||SS	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|2.	 ||- 	 ||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ 	&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||ST	||ADD	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	||- 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveNode	&lt;br /&gt;
|-&lt;br /&gt;
|2.	|| - 	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	|| - 	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN EINFACH&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TT	||MoveLink	&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TT	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-&lt;br /&gt;
|1.	||TS	||REMOVE	||Wäre Schön wenn man das auch als MEGAREMOVE hat&lt;br /&gt;
|-&lt;br /&gt;
|2.	||TS	||REMOVE	&lt;br /&gt;
|-&lt;br /&gt;
|3.	||TS	||REMOVE	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ METAKOMBINATIONEN noch nicht in Gütemodell&lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||ST	||MEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||ST	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||ST	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
			&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVENODEplusMEGAADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||TS	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||TS	|| - 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! elementindex!! Zuflusskombi	 !! Aktion&lt;br /&gt;
|-			&lt;br /&gt;
|1.	||TT	||MOVELINKplusADD	&lt;br /&gt;
|-			&lt;br /&gt;
|2.	||TT	|| - 	&lt;br /&gt;
|-			&lt;br /&gt;
|3.	||TS	 ||- 	&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gütemodell]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
	<entry>
		<id>https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5196</id>
		<title>Weitergabe Stoffe</title>
		<link rel="alternate" type="text/html" href="https://wiki.bluemodel.org/index.php?title=Weitergabe_Stoffe&amp;diff=5196"/>
		<updated>2008-06-12T09:53:23Z</updated>

		<summary type="html">&lt;p&gt;Reussner: /* Weitergabeprozess */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Stoffweitergabe von Element zu Element ==&lt;br /&gt;
* Angeschlossenes Gütemodell ist laPipe.dll&lt;br /&gt;
* Ein Gütemodell mit vielen Wasserschleifen ist generiert&lt;br /&gt;
=== Prozess zur Weitergabe der Informationen/Konzentrationen ===&lt;br /&gt;
==== Weitergabe Optionen ====&lt;br /&gt;
* Verfügbare Optionen in laPipe&lt;br /&gt;
** Add      : hinzufügen neuer Volumen (mit Konzentration)&lt;br /&gt;
** Remove   : entfernen von Volumen&lt;br /&gt;
** moveNode : von Wasserschlange zu Wasserschlange (1:1)&lt;br /&gt;
** moveLink : von Wasserschlange zu Wasserschlange (n:m)&lt;br /&gt;
* fehlende Option&lt;br /&gt;
** &#039;&#039;&#039;Add und moveNode/moveLink als Kombination&#039;&#039;&#039;&lt;br /&gt;
==== Weitergabeprozess ====&lt;br /&gt;
* Anwendungsfälle&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Anwendungsfälle Stoffweitergabe von Knoten zu Knoten&lt;br /&gt;
! Von KnotenArt!! Zu KnotenArt !! Aktion des ZU-Knotens&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|TRS&lt;br /&gt;
|Add&lt;br /&gt;
|-&lt;br /&gt;
|TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveNode&lt;br /&gt;
|-&lt;br /&gt;
|(n) TRS&lt;br /&gt;
|X&lt;br /&gt;
|removeVol&lt;br /&gt;
|-&lt;br /&gt;
|n TRS&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink&lt;br /&gt;
|-&lt;br /&gt;
|n TRS + X&lt;br /&gt;
|TRS&lt;br /&gt;
|moveLink + ADD ??? (Dies wird wohl der Standardfall bei einer Einleitung aus SMUSI sein)&lt;br /&gt;
|}&lt;br /&gt;
** X     : irgendein nicht im Gütemodell enthaltener Knoten (z.B. EZG, Becken, Zielpegel etc.)&lt;br /&gt;
** TRS   : Knoten der mit dem Gütemodell als Wasserschlange modelliert wird&lt;br /&gt;
** n TRS : Mehrere Knoten des Typs TRS&lt;br /&gt;
&lt;br /&gt;
* von wo aus wird der Prozess angeschmissen ?&lt;br /&gt;
** vom oberen Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonoben.jpg|thumb|none|500px]]&lt;br /&gt;
*** Nachteil: Es müssen mitunter Zwei Aktionen ausgeführt werden (z. B. add/moveNode)&lt;br /&gt;
** vom unteren Element aus&lt;br /&gt;
*** [[Bild:Stoffweitergabe vonUnten.jpg|thumb|none|500px]]&lt;br /&gt;
* offene Punkte&lt;br /&gt;
** Zufluss und Abfluss im selben Zeitschritt verwenden ?&lt;br /&gt;
&lt;br /&gt;
[[Category:Gütemodell]]&lt;/div&gt;</summary>
		<author><name>Reussner</name></author>
	</entry>
</feed>