Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:39:05 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
3e5de6a370 Jean*0001 #include "DIAG_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: DIAGSTATS_CLOSE_IO
                0005 C     !INTERFACE:
                0006       SUBROUTINE DIAGSTATS_CLOSE_IO( myThid )
                0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==================================================================
                0010 C     | S/R DIAGSTATS_CLOSE_IO
                0011 C     | o Close I/O unit of ASCII output file
                0012 C     *==================================================================
                0013 C     \ev
                0014 
                0015 C     !USES:
                0016       IMPLICIT NONE
                0017 
                0018 C     == Global variables ===
                0019 #include "SIZE.h"
                0020 #include "EEPARAMS.h"
                0021 #include "PARAMS.h"
                0022 #include "DIAGNOSTICS_SIZE.h"
                0023 #include "DIAGNOSTICS.h"
                0024 
                0025 C     !INPUT/OUTPUT PARAMETERS:
df5a9764ba Jean*0026 C     myThid   :: my Thread Id number
3e5de6a370 Jean*0027       INTEGER myThid
df5a9764ba Jean*0028 
                0029 C     !FUNCTIONS:
                0030       INTEGER  ILNBLNK
                0031       EXTERNAL ILNBLNK
3e5de6a370 Jean*0032 
                0033 C     !LOCAL VARIABLES:
                0034       INTEGER  n, iL, nUnit
df5a9764ba Jean*0035       CHARACTER*(10) suff
3e5de6a370 Jean*0036       CHARACTER*(MAX_LEN_FNAM) dataFName
                0037       CHARACTER*(MAX_LEN_MBUF) msgBuf
df5a9764ba Jean*0038 CEOP
3e5de6a370 Jean*0039 
                0040       _BEGIN_MASTER( myThid)
                0041 
949ec89b27 Jean*0042       IF ( diagSt_Ascii .AND. myProcId.EQ.0 ) THEN
3e5de6a370 Jean*0043 
                0044         DO n=1,diagSt_nbLists
                0045 
                0046           nUnit = diagSt_ioUnit(n)
                0047 
                0048 C-      write a conclusion & close the file:
                0049           WRITE(nUnit,'(A)') '# records End here.'
                0050           CLOSE(nUnit)
                0051 
df5a9764ba Jean*0052           IF ( rwSuffixType.EQ.0 ) THEN
                0053             WRITE(suff,'(I10.10)') nIter0
                0054           ELSE
                0055             CALL RW_GET_SUFFIX( suff, startTime, nIter0, myThid )
                0056           ENDIF
3e5de6a370 Jean*0057           iL = ILNBLNK(diagSt_Fname(n))
df5a9764ba Jean*0058           WRITE(dataFName,'(4A)')
                0059      &          diagSt_Fname(n)(1:iL), '.', suff, '.txt'
e129400813 Jean*0060           WRITE(msgBuf,'(4A,I6)') 'DIAGSTATS_CLOSE_IO: ',
3e5de6a370 Jean*0061      &         'close file: ',dataFName(1:iL+15), ' , unit=', nUnit
                0062           CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
df5a9764ba Jean*0063      &                        SQUEEZE_RIGHT, myThid )
3e5de6a370 Jean*0064 
                0065         ENDDO
e129400813 Jean*0066 
3e5de6a370 Jean*0067       ENDIF
                0068 
26d80a25ac Jean*0069 C-    Close also local diagnostics output file
                0070       IF ( diagLoc_ioUnit.GT.0 ) THEN
                0071         CLOSE(diagLoc_ioUnit)
                0072       ENDIF
                0073 
3e5de6a370 Jean*0074       _END_MASTER( myThid )
                0075 
                0076       RETURN
                0077       END