Ignore:
Timestamp:
Oct 2, 2012, 5:57:45 PM (12 years ago)
Author:
Laurent Fairhead
Message:

Phasage de la dynamique parallèle localisée (petite mémoire) avec la branche LMDZ4V5.0-dev (fin de la branche)
Validation effectuée par comparaison des fichiers de sorties debug (u, v, t, q, masse, etc ...) d'une simulation sans physique
faite avec la version du modèle donnée paY. Meurdesoif et la version phasée avec la r1399 (fin de la branche LMDZ4V5.0-dev)


Phasing of the localised (low memory) parallel dynamics package with the LMDZ4V5.0-dev version of LMDZ
Validation consisted in comparing output debug files (u, v, t, q, masse, etc... ) of a no physics simulation
run with the version of the code given by Y. Meurdesoif and this version phased with r1399 (end of the LMDZ4V5.0-dev branch)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dmem/dynetat0_loc.F

    r1632 r1657  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44      SUBROUTINE dynetat0_loc(fichnom,vcov,ucov,
     
    3434#include "serre.h"
    3535#include "logic.h"
     36#include "iniprint.h"
    3637
    3738c   Arguments:
     
    6162      ierr = NF_OPEN (fichnom, NF_NOWRITE,nid)
    6263      IF (ierr.NE.NF_NOERR) THEN
    63         write(6,*)' Pb d''ouverture du fichier start.nc'
    64         write(6,*)' ierr = ', ierr
     64        write(lunout,*)
     65     &  'dynetat0_loc: Pb d''ouverture du fichier start.nc'
     66        write(lunout,*)' ierr = ', ierr
    6567        CALL ABORT
    6668      ENDIF
     
    6971      ierr = NF_INQ_VARID (nid, "controle", nvarid)
    7072      IF (ierr .NE. NF_NOERR) THEN
    71          PRINT*, "dynetat0: Le champ <controle> est absent"
     73         write(lunout,*)"dynetat0_loc: Le champ <controle> est absent"
    7274         CALL abort
    7375      ENDIF
     
    7880#endif
    7981      IF (ierr .NE. NF_NOERR) THEN
    80          PRINT*, "dynetat0: Lecture echoue pour <controle>"
     82         write(lunout,*)"dynetat0_loc: Lecture echoue pour <controle>"
    8183         CALL abort
    8284      ENDIF
     
    124126c
    125127c
    126       PRINT*,'rad,omeg,g,cpp,kappa',rad,omeg,g,cpp,kappa
     128      write(lunout,*)'dynetat0_loc: rad,omeg,g,cpp,kappa',
     129     &               rad,omeg,g,cpp,kappa
    127130
    128131      IF(   im.ne.iim           )  THEN
     
    139142      ierr = NF_INQ_VARID (nid, "rlonu", nvarid)
    140143      IF (ierr .NE. NF_NOERR) THEN
    141          PRINT*, "dynetat0: Le champ <rlonu> est absent"
     144         write(lunout,*)"dynetat0_loc: Le champ <rlonu> est absent"
    142145         CALL abort
    143146      ENDIF
     
    148151#endif
    149152      IF (ierr .NE. NF_NOERR) THEN
    150          PRINT*, "dynetat0: Lecture echouee pour <rlonu>"
     153         write(lunout,*)"dynetat0_loc: Lecture echouee pour <rlonu>"
    151154         CALL abort
    152155      ENDIF
     
    154157      ierr = NF_INQ_VARID (nid, "rlatu", nvarid)
    155158      IF (ierr .NE. NF_NOERR) THEN
    156          PRINT*, "dynetat0: Le champ <rlatu> est absent"
     159         write(lunout,*)"dynetat0_loc: Le champ <rlatu> est absent"
    157160         CALL abort
    158161      ENDIF
     
    163166#endif
    164167      IF (ierr .NE. NF_NOERR) THEN
    165          PRINT*, "dynetat0: Lecture echouee pour <rlatu>"
     168         write(lunout,*)"dynetat0_loc: Lecture echouee pour <rlatu>"
    166169         CALL abort
    167170      ENDIF
     
    169172      ierr = NF_INQ_VARID (nid, "rlonv", nvarid)
    170173      IF (ierr .NE. NF_NOERR) THEN
    171          PRINT*, "dynetat0: Le champ <rlonv> est absent"
     174         write(lunout,*)"dynetat0_loc: Le champ <rlonv> est absent"
    172175         CALL abort
    173176      ENDIF
     
    178181#endif
    179182      IF (ierr .NE. NF_NOERR) THEN
    180          PRINT*, "dynetat0: Lecture echouee pour <rlonv>"
     183         write(lunout,*)"dynetat0_loc: Lecture echouee pour <rlonv>"
    181184         CALL abort
    182185      ENDIF
     
    184187      ierr = NF_INQ_VARID (nid, "rlatv", nvarid)
    185188      IF (ierr .NE. NF_NOERR) THEN
    186          PRINT*, "dynetat0: Le champ <rlatv> est absent"
     189         write(lunout,*)"dynetat0_loc: Le champ <rlatv> est absent"
    187190         CALL abort
    188191      ENDIF
     
    193196#endif
    194197      IF (ierr .NE. NF_NOERR) THEN
    195          PRINT*, "dynetat0: Lecture echouee pour rlatv"
     198         write(lunout,*)"dynetat0_loc: Lecture echouee pour rlatv"
    196199         CALL abort
    197200      ENDIF
     
    199202      ierr = NF_INQ_VARID (nid, "cu", nvarid)
    200203      IF (ierr .NE. NF_NOERR) THEN
    201          PRINT*, "dynetat0: Le champ <cu> est absent"
     204         write(lunout,*)"dynetat0_loc: Le champ <cu> est absent"
    202205         CALL abort
    203206      ENDIF
     
    208211#endif
    209212      IF (ierr .NE. NF_NOERR) THEN
    210          PRINT*, "dynetat0: Lecture echouee pour <cu>"
     213         write(lunout,*)"dynetat0_loc: Lecture echouee pour <cu>"
    211214         CALL abort
    212215      ENDIF
     
    214217      ierr = NF_INQ_VARID (nid, "cv", nvarid)
    215218      IF (ierr .NE. NF_NOERR) THEN
    216          PRINT*, "dynetat0: Le champ <cv> est absent"
     219         write(lunout,*)"dynetat0_loc: Le champ <cv> est absent"
    217220         CALL abort
    218221      ENDIF
     
    223226#endif
    224227      IF (ierr .NE. NF_NOERR) THEN
    225          PRINT*, "dynetat0: Lecture echouee pour <cv>"
     228         write(lunout,*)"dynetat0_loc: Lecture echouee pour <cv>"
    226229         CALL abort
    227230      ENDIF
     
    229232      ierr = NF_INQ_VARID (nid, "aire", nvarid)
    230233      IF (ierr .NE. NF_NOERR) THEN
    231          PRINT*, "dynetat0: Le champ <aire> est absent"
     234         write(lunout,*)"dynetat0_loc: Le champ <aire> est absent"
    232235         CALL abort
    233236      ENDIF
     
    238241#endif
    239242      IF (ierr .NE. NF_NOERR) THEN
    240          PRINT*, "dynetat0: Lecture echouee pour <aire>"
     243         write(lunout,*)"dynetat0_loc: Lecture echouee pour <aire>"
    241244         CALL abort
    242245      ENDIF
     
    246249      ierr = NF_INQ_VARID (nid, "phisinit", nvarid)
    247250      IF (ierr .NE. NF_NOERR) THEN
    248          PRINT*, "dynetat0: Le champ <phisinit> est absent"
     251         write(lunout,*)"dynetat0_loc: Le champ <phisinit> est absent"
    249252         CALL abort
    250253      ENDIF
     
    255258#endif
    256259      IF (ierr .NE. NF_NOERR) THEN
    257          PRINT*, "dynetat0: Lecture echouee pour <phisinit>"
     260         write(lunout,*)"dynetat0_loc: Lecture echouee pour <phisinit>"
    258261         CALL abort
    259262      ENDIF
     
    263266      ierr = NF_INQ_VARID (nid, "temps", nvarid)
    264267      IF (ierr .NE. NF_NOERR) THEN
    265          PRINT*, "dynetat0: Le champ <temps> est absent"
     268         write(lunout,*)"dynetat0_loc: Le champ <temps> est absent"
    266269         CALL abort
    267270      ENDIF
     
    272275#endif
    273276      IF (ierr .NE. NF_NOERR) THEN
    274          PRINT*, "dynetat0: Lecture echouee <temps>"
     277         write(lunout,*)"dynetat0_loc: Lecture echouee <temps>"
    275278         CALL abort
    276279      ENDIF
     
    278281      ierr = NF_INQ_VARID (nid, "ucov", nvarid)
    279282      IF (ierr .NE. NF_NOERR) THEN
    280          PRINT*, "dynetat0: Le champ <ucov> est absent"
     283         write(lunout,*)"dynetat0_loc: Le champ <ucov> est absent"
    281284         CALL abort
    282285      ENDIF
     
    290293#endif
    291294      IF (ierr .NE. NF_NOERR) THEN
    292          PRINT*, "dynetat0: Lecture echouee pour <ucov>"
     295         write(lunout,*)"dynetat0_loc: Lecture echouee pour <ucov>"
    293296         CALL abort
    294297      ENDIF
     
    300303      ierr = NF_INQ_VARID (nid, "vcov", nvarid)
    301304      IF (ierr .NE. NF_NOERR) THEN
    302          PRINT*, "dynetat0: Le champ <vcov> est absent"
     305         write(lunout,*)"dynetat0_loc: Le champ <vcov> est absent"
    303306         CALL abort
    304307      ENDIF
     
    309312#endif
    310313      IF (ierr .NE. NF_NOERR) THEN
    311          PRINT*, "dynetat0: Lecture echouee pour <vcov>"
     314         write(lunout,*)"dynetat0_loc: Lecture echouee pour <vcov>"
    312315         CALL abort
    313316      ENDIF
     
    318321      ierr = NF_INQ_VARID (nid, "teta", nvarid)
    319322      IF (ierr .NE. NF_NOERR) THEN
    320          PRINT*, "dynetat0: Le champ <teta> est absent"
     323         write(lunout,*)"dynetat0_loc: Le champ <teta> est absent"
    321324         CALL abort
    322325      ENDIF
     
    327330#endif
    328331      IF (ierr .NE. NF_NOERR) THEN
    329          PRINT*, "dynetat0: Lecture echouee pour <teta>"
     332         write(lunout,*)"dynetat0_loc: Lecture echouee pour <teta>"
    330333         CALL abort
    331334      ENDIF
     
    339342        ierr =  NF_INQ_VARID (nid, tname(iq), nvarid)
    340343        IF (ierr .NE. NF_NOERR) THEN
    341            PRINT*, "dynetat0: Le champ <"//tname(iq)//"> est absent"
    342            PRINT*, "          Il est donc initialise a zero"
    343            q_glo(:,:)=0.
     344           write(lunout,*)"dynetat0_loc: Le champ <"//tname(iq)//
     345     &                    "> est absent"
     346           write(lunout,*)"          Il est donc initialise a zero"
     347           q(:,:,iq)=0.
    344348        ELSE
    345349#ifdef NC_DOUBLE
     
    349353#endif
    350354          IF (ierr .NE. NF_NOERR) THEN
    351              PRINT*, "dynetat0: Lecture echouee pour "//tname(iq)
    352              CALL abort
     355            write(lunout,*)
     356     &      "dynetat0_loc: Lecture echouee pour "//tname(iq)
     357            CALL abort
    353358          ENDIF
    354359        ENDIF
     
    361366      ierr = NF_INQ_VARID (nid, "masse", nvarid)
    362367      IF (ierr .NE. NF_NOERR) THEN
    363          PRINT*, "dynetat0: Le champ <masse> est absent"
     368         write(lunout,*)"dynetat0_loc: Le champ <masse> est absent"
    364369         CALL abort
    365370      ENDIF
     
    370375#endif
    371376      IF (ierr .NE. NF_NOERR) THEN
    372          PRINT*, "dynetat0: Lecture echouee pour <masse>"
     377         write(lunout,*)"dynetat0_loc: Lecture echouee pour <masse>"
    373378         CALL abort
    374379      ENDIF
     
    379384      ierr = NF_INQ_VARID (nid, "ps", nvarid)
    380385      IF (ierr .NE. NF_NOERR) THEN
    381          PRINT*, "dynetat0: Le champ <ps> est absent"
     386         write(lunout,*)"dynetat0_loc: Le champ <ps> est absent"
    382387         CALL abort
    383388      ENDIF
     
    388393#endif
    389394      IF (ierr .NE. NF_NOERR) THEN
    390          PRINT*, "dynetat0: Lecture echouee pour <ps>"
     395         write(lunout,*)"dynetat0_loc: Lecture echouee pour <ps>"
    391396         CALL abort
    392397      ENDIF
Note: See TracChangeset for help on using the changeset viewer.