Size: 1905
Comment:
|
Size: 2312
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 21: | Line 21: |
* '''messy_main_switch_bi.f90''' * Broadcast des Submodel-Schalters {{{ CALL p_bcast(USE_CLAMSXXX, p_io) }}} |
|
Line 25: | Line 32: |
* Deklaration der Events für Submodel-Start und Submodel-Output | * Deklaration des Events für Submodel-Start: |
Line 50: | Line 57: |
* Deklaration des Submodel-Schalters {{{LOGICAL :: USE_CLAMSXXX = .false.}}} | * Default-Deklaration des Submodel-Schalters {{{ LOGICAL :: USE_CLAMSXXX = .false. }}} * USE_CLAMSXXX zu Namelist hinzufügen * in subroutine ''switch_init'': ''modstr'' und ''modver'' aus Submodel einbinden |
Line 55: | Line 67: |
== Allgemeines == alle neu erstellten Dateien aus den jeweiligen CLaMS-Unterverzeichnissen in die entsprechenden messy-Unterverzeichnisse verlinken |
MESSy/CLaMS: Erstellen eines neuen CLaMS-Submodels
BML
- keine Änderungen nötig
BMIL
messy_main_channel_bi.f90
- Deklarationen zusätzlicher Dimensionen/Representationen
messy_main_channel_clams.inc
- Anlegen neuer Dimensionen, Dimensionsvariablen und Representationen
messy_main_control_clams.f90
Ergänze USE und Aufruf der Submodelroutinen:
clamsxxx_setup (evtl.)
clamsxxx_initialize
clamsxxx_init_memory
clamsxxx_init_coupling
clamsxxx_global_start (evtl.)
clamsxxx_global_end
clamsxxx_free_memory
messy_main_switch_bi.f90
- Broadcast des Submodel-Schalters
CALL p_bcast(USE_CLAMSXXX, p_io)
- Broadcast des Submodel-Schalters
SMIL
Submodel-Interface messy_clamsxxx_si.f90 anlegen
- Variablendeklaration (Variablen für eigene oder gekoppelte Channelobjekte)
- Deklaration des Events für Submodel-Start:
TYPE(time_event) :: xxxoutevent TYPE(io_time_event) :: io_xxxoutevent
- Folgende Subroutines anlegen:
clamsxxx_setup (evtl.)
clamsxxx_initialize
clamsxxx_read_nml aufrufen
clamsxxx_init_memory
- Anlegen von Channels/Channelobjekten
clamsxxx_init_coupling
- Koppeln von Channelobjekten aus Channels anderer Submodule
clamsxxx_global_start (evtl.)
clamsxxx_global_end
Aufruf des Submodel-HP xxx
clamsxxx_free_memory
- Freigeben aller im Submodel allokierten Variablen
- evtl. weitere auf SMIL-Ebene genutzte Routinen
SMCL
messy_clamsxxx.f90
subroutine clamsxxx_read_nml: Einlesen der Konfiguration des Submodels
Submodel-HP xxx
messy_main_switch.f90
- Default-Deklaration des Submodel-Schalters
LOGICAL :: USE_CLAMSXXX = .false.
- USE_CLAMSXXX zu Namelist hinzufügen
in subroutine switch_init: modstr und modver aus Submodel einbinden
- Default-Deklaration des Submodel-Schalters
Namelists
clamsxxx.nml mit Namelists CTRL und CPL anlegen
switch.nml Submodel-Schalter USE_CLAMSXXX hinzufuegen
Allgemeines
alle neu erstellten Dateien aus den jeweiligen CLaMS-Unterverzeichnissen in die entsprechenden messy-Unterverzeichnisse verlinken