Changeset 168 in lmdz_wrf


Ignore:
Timestamp:
Aug 12, 2014, 10:58:23 AM (11 years ago)
Author:
lfita
Message:

Adding punctual abort messages on the module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/LMDZ_WRFmeas_develop/WRFV3/lmdz/abort_gcm.F90

    r1 r168  
    4545        stop 1
    4646      endif
    47       END
     47      END SUBROUTINE abort_gcm
     48
     49! L. Fita, LMD. August 2014
     50      SUBROUTINE abort_gcm_point(modname, message, ierr, point)
     51     
     52#ifdef CPP_IOIPSL
     53      USE IOIPSL
     54#else
     55! if not using IOIPSL, we still need to use (a local version of) getin_dump
     56      USE ioipsl_getincom
     57#endif
     58#include "iniprint.h"
     59 
     60!C
     61!C Stops the simulation cleanly, closing files and printing various
     62!C comments
     63!C
     64!C  Input: modname = name of calling program
     65!C         message = stuff to print
     66!C         ierr    = severity of situation ( = 0 normal )
     67!C         point   = 1D point where the error ocurred
     68
     69      character(len=*) modname
     70      integer ierr
     71      character(len=*) message
     72      INTEGER, INTENT(IN)                                :: point
     73
     74      write(lunout,*) 'in abort_gcm'
     75#ifdef CPP_IOIPSL
     76      call histclo
     77      call restclo
     78#endif
     79      call getin_dump
     80!c     call histclo(2)
     81!c     call histclo(3)
     82!c     call histclo(4)
     83!c     call histclo(5)
     84      write(lunout,*) 'Stopping in ', modname
     85      write(lunout,*) 'Stopping at point ', point
     86      write(lunout,*) 'Reason = ',message
     87      if (ierr .eq. 0) then
     88        write(lunout,*) 'Everything is cool'
     89        stop
     90      else
     91        write(lunout,*) 'Houston, we have a problem ', ierr
     92        stop 1
     93      endif
     94      END abort_gcm_point
     95
     96! L. Fita, LMD. August 2014
     97      SUBROUTINE abort_gcm_2Dpoint(modname, message, ierr, point)
     98     
     99#ifdef CPP_IOIPSL
     100      USE IOIPSL
     101#else
     102! if not using IOIPSL, we still need to use (a local version of) getin_dump
     103      USE ioipsl_getincom
     104#endif
     105#include "iniprint.h"
     106 
     107!C
     108!C Stops the simulation cleanly, closing files and printing various
     109!C comments
     110!C
     111!C  Input: modname = name of calling program
     112!C         message = stuff to print
     113!C         ierr    = severity of situation ( = 0 normal )
     114!C         point   = 2D point where the error ocurred
     115
     116      character(len=*) modname
     117      integer ierr
     118      character(len=*) message
     119      INTEGER, DIMENSION(2), INTENT(IN)                  :: point
     120
     121      write(lunout,*) 'in abort_gcm'
     122#ifdef CPP_IOIPSL
     123      call histclo
     124      call restclo
     125#endif
     126      call getin_dump
     127!c     call histclo(2)
     128!c     call histclo(3)
     129!c     call histclo(4)
     130!c     call histclo(5)
     131      write(lunout,*) 'Stopping in ', modname
     132      write(lunout,*) 'Stopping at point (klon, klev)', point
     133      write(lunout,*) 'Reason = ',message
     134      if (ierr .eq. 0) then
     135        write(lunout,*) 'Everything is cool'
     136        stop
     137      else
     138        write(lunout,*) 'Houston, we have a problem ', ierr
     139        stop 1
     140      endif
     141      END abort_gcm_2Dpoint
Note: See TracChangeset for help on using the changeset viewer.