Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:38:58 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
c0e7d1ae35 Gael*0001 #include "DIAG_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: DIAGNOSTICS_INI_IO
                0005 C     !INTERFACE:
                0006       SUBROUTINE DIAGNOSTICS_INI_IO( myThid )
                0007 
                0008 C     !DESCRIPTION: \bv
                0009 C     *==================================================================
                0010 C     | S/R DIAGNOSTICS_INI_IO
                0011 C     | o create directory for mds output if needed
                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:
                0026 C     == Routine arguments ==
                0027 C     myThid - Thread number for this instance of the routine.
                0028       INTEGER myThid
                0029 CEOP
                0030 
                0031 C     !LOCAL VARIABLES:
                0032 C     == Local variables ==
                0033       INTEGER iL, pIL
                0034       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0035       CHARACTER*(MAX_LEN_FNAM) namBuf
                0036       INTEGER  ILNBLNK
                0037       EXTERNAL ILNBLNK
                0038 
                0039       _BEGIN_MASTER( myThid )
                0040 
0a7965a6c6 Jean*0041       IF ( diag_mdsio .AND. (diagMdsDir.NE.' ') .AND.
                0042      &     diagMdsDirCreate .AND. (mdsioLocalDir.EQ.' ') ) THEN
c0e7d1ae35 Gael*0043 #ifdef HAVE_SYSTEM
                0044 C      create directory
0a7965a6c6 Jean*0045         iL = ILNBLNK( diagMdsDir )
                0046         WRITE(namBuf,'(3A)') ' mkdir -p ', diagMdsDir(1:iL), ' '
                0047         pIL = 1 + ILNBLNK( namBuf )
                0048         WRITE(standardMessageUnit,'(4A)')
                0049      &       ' ==> SYSTEM CALL (from DIAGNOSTICS_INI_IO): ',
                0050      &       '>', namBuf(1:pIL), '<'
                0051         CALL SYSTEM( namBuf(1:pIL) )
                0052         WRITE(msgBuf,'(A)') ' '
                0053         CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0054      &                      SQUEEZE_RIGHT, myThid )
c0e7d1ae35 Gael*0055 #else
0a7965a6c6 Jean*0056         WRITE(msgBuf,'(2A)') 'S/R DIAGNOSTICS_INI_IO: ',
                0057      &       'cannot call mkdir -> please create diagMdsDir manually'
c0e7d1ae35 Gael*0058         CALL PRINT_ERROR( msgBuf, myThid )
0a7965a6c6 Jean*0059         WRITE(msgBuf,'(2A)') 'S/R DIAGNOSTICS_INI_IO: ',
                0060      &       'and set diagMdsDirCreate=.FALSE. in data.diagnostics'
c0e7d1ae35 Gael*0061         CALL PRINT_ERROR( msgBuf, myThid )
                0062         CALL ALL_PROC_DIE( 0 )
                0063         STOP 'ABNORMAL END: S/R DIAGNOSTICS_INI_IO'
                0064 #endif
                0065       ENDIF
                0066 
                0067       _END_MASTER( myThid )
                0068 
                0069       RETURN
                0070       END