Ignore:
Timestamp:
May 6, 2010, 2:24:59 PM (14 years ago)
Author:
Ehouarn Millour
Message:

Minor bug fix: Enable the possiblity to start a Shallow Water run from a start.nc file.

Plus some cleanup in outputs messages (in dyetat0,dynredem and iniconst).

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/dynredem.F

    r1299 r1380  
    2626#include "description.h"
    2727#include "serre.h"
     28#include "iniprint.h"
    2829
    2930c   Arguments:
     
    126127      ierr = NF_CREATE(fichnom, NF_CLOBBER, nid)
    127128      IF (ierr.NE.NF_NOERR) THEN
    128          WRITE(6,*)" Pb d ouverture du fichier "//fichnom
    129          WRITE(6,*)' ierr = ', ierr
     129         write(lunout,*)"dynredem0: Pb d ouverture du fichier "
     130     &                  //trim(fichnom)
     131         write(lunout,*)' ierr = ', ierr
    130132         CALL ABORT
    131133      ENDIF
     
    509511      ierr = NF_CLOSE(nid) ! fermer le fichier
    510512
    511       PRINT*,'iim,jjm,llm,iday_end',iim,jjm,llm,iday_end
    512       PRINT*,'rad,omeg,g,cpp,kappa',
    513      ,        rad,omeg,g,cpp,kappa
     513      write(lunout,*)'dynredem0: iim,jjm,llm,iday_end',
     514     &               iim,jjm,llm,iday_end
     515      write(lunout,*)'dynredem0: rad,omeg,g,cpp,kappa',
     516     &        rad,omeg,g,cpp,kappa
    514517
    515518      RETURN
     
    531534#include "comgeom.h"
    532535#include "temps.h"
     536#include "iniprint.h"
     537
    533538
    534539      INTEGER l
     
    557562      ierr = NF_OPEN(fichnom, NF_WRITE, nid)
    558563      IF (ierr .NE. NF_NOERR) THEN
    559          PRINT*, "Pb. d ouverture "//fichnom
     564         write(lunout,*)"dynredem1: Pb. d ouverture "//trim(fichnom)
    560565         CALL abort
    561566      ENDIF
     
    566571      ierr = NF_INQ_VARID(nid, "temps", nvarid)
    567572      IF (ierr .NE. NF_NOERR) THEN
    568          print *, NF_STRERROR(ierr)
     573         write(lunout,*) NF_STRERROR(ierr)
    569574         abort_message='Variable temps n est pas definie'
    570575         CALL abort_gcm(modname,abort_message,ierr)
     
    575580      ierr = NF_PUT_VAR1_REAL (nid,nvarid,nb,time)
    576581#endif
    577       PRINT*, "Enregistrement pour ", nb, time
     582      write(lunout,*) "dynredem1: Enregistrement pour ", nb, time
    578583
    579584c
     
    602607      ierr = NF_INQ_VARID(nid, "ucov", nvarid)
    603608      IF (ierr .NE. NF_NOERR) THEN
    604          PRINT*, "Variable ucov n est pas definie"
    605          CALL abort
     609         abort_message="Variable ucov n est pas definie"
     610         ierr=1
     611         CALL abort_gcm(modname,abort_message,ierr)
    606612      ENDIF
    607613#ifdef NC_DOUBLE
     
    613619      ierr = NF_INQ_VARID(nid, "vcov", nvarid)
    614620      IF (ierr .NE. NF_NOERR) THEN
    615          PRINT*, "Variable vcov n est pas definie"
    616          CALL abort
     621         abort_message="Variable vcov n est pas definie"
     622         ierr=1
     623         CALL abort_gcm(modname,abort_message,ierr)
    617624      ENDIF
    618625#ifdef NC_DOUBLE
     
    624631      ierr = NF_INQ_VARID(nid, "teta", nvarid)
    625632      IF (ierr .NE. NF_NOERR) THEN
    626          PRINT*, "Variable teta n est pas definie"
    627          CALL abort
     633         abort_message="Variable teta n est pas definie"
     634         ierr=1
     635         CALL abort_gcm(modname,abort_message,ierr)
    628636      ENDIF
    629637#ifdef NC_DOUBLE
     
    637645         ierr_file = NF_OPEN ("start_trac.nc", NF_NOWRITE,nid_trac)
    638646         IF (ierr_file .NE.NF_NOERR) THEN
    639             write(6,*)' Pb d''ouverture du fichier start_trac.nc'
    640             write(6,*)' ierr = ', ierr_file
     647            write(lunout,*)'dynredem1: Pb d''ouverture du fichier',
     648     &                     ' start_trac.nc'
     649            write(lunout,*)' ierr = ', ierr_file
    641650         ENDIF
    642651      END IF
     
    648657            ierr = NF_INQ_VARID(nid, tname(iq), nvarid)
    649658            IF (ierr .NE. NF_NOERR) THEN
    650                PRINT*, "Variable  tname(iq) n est pas definie"
    651                CALL abort
     659               abort_message="Variable  tname(iq) n est pas definie"
     660               ierr=1
     661               CALL abort_gcm(modname,abort_message,ierr)
    652662            ENDIF
    653663#ifdef NC_DOUBLE
     
    661671             ierr = NF_INQ_VARID (nid_trac, tname(iq), nvarid_trac)
    662672             IF (ierr .NE. NF_NOERR) THEN
    663                 PRINT*, tname(iq),"est absent de start_trac.nc"
     673                write(lunout,*) "dynredem1: ",trim(tname(iq)),
     674     &                          " est absent de start_trac.nc"
    664675                ierr = NF_INQ_VARID(nid, tname(iq), nvarid)
    665676                IF (ierr .NE. NF_NOERR) THEN
    666                    PRINT*, "Variable ", tname(iq)," n est pas definie"
    667                    CALL abort
     677                   abort_message="dynredem1: Variable "//
     678     &                     trim(tname(iq))//" n est pas definie"
     679                   ierr=1
     680                   CALL abort_gcm(modname,abort_message,ierr)
    668681                ENDIF
    669682#ifdef NC_DOUBLE
     
    674687               
    675688             ELSE
    676                 PRINT*, tname(iq), "est present dans start_trac.nc"
     689                write(lunout,*) "dynredem1: ",trim(tname(iq)),
     690     &              " est present dans start_trac.nc"
    677691#ifdef NC_DOUBLE
    678692               ierr = NF_GET_VAR_DOUBLE(nid_trac, nvarid_trac, trac_tmp)
     
    681695#endif
    682696                IF (ierr .NE. NF_NOERR) THEN
    683                    PRINT*, "Lecture echouee pour", tname(iq)
    684                    CALL abort
     697                   abort_message="dynredem1: Lecture echouee pour"//
     698     &                    trim(tname(iq))
     699                   ierr=1
     700                   CALL abort_gcm(modname,abort_message,ierr)
    685701                ENDIF
    686702                ierr = NF_INQ_VARID(nid, tname(iq), nvarid)
    687703                IF (ierr .NE. NF_NOERR) THEN
    688                    PRINT*, "Variable ", tname(iq)," n est pas definie"
    689                    CALL abort
     704                   abort_message="dynredem1: Variable "//
     705     &                trim(tname(iq))//" n est pas definie"
     706                   ierr=1
     707                   CALL abort_gcm(modname,abort_message,ierr)
    690708                ENDIF
    691709#ifdef NC_DOUBLE
     
    701719             ierr = NF_INQ_VARID(nid, tname(iq), nvarid)
    702720             IF (ierr .NE. NF_NOERR) THEN
    703                 PRINT*, "Variable  tname(iq) n est pas definie"
    704                 CALL abort
     721                abort_message="dynredem1: Variable "//
     722     &                trim(tname(iq))//" n est pas definie"
     723                   ierr=1
     724                   CALL abort_gcm(modname,abort_message,ierr)
    705725             ENDIF
    706726#ifdef NC_DOUBLE
     
    717737      ierr = NF_INQ_VARID(nid, "masse", nvarid)
    718738      IF (ierr .NE. NF_NOERR) THEN
    719          PRINT*, "Variable masse n est pas definie"
    720          CALL abort
     739         abort_message="dynredem1: Variable masse n est pas definie"
     740         ierr=1
     741         CALL abort_gcm(modname,abort_message,ierr)
    721742      ENDIF
    722743#ifdef NC_DOUBLE
     
    728749      ierr = NF_INQ_VARID(nid, "ps", nvarid)
    729750      IF (ierr .NE. NF_NOERR) THEN
    730          PRINT*, "Variable ps n est pas definie"
    731          CALL abort
     751         abort_message="dynredem1: Variable ps n est pas definie"
     752         ierr=1
     753         CALL abort_gcm(modname,abort_message,ierr)
    732754      ENDIF
    733755#ifdef NC_DOUBLE
Note: See TracChangeset for help on using the changeset viewer.