File indexing completed on 2024-12-17 18:38:02 UTC
view on githubraw file Latest commit b55e95f1 on 2018-09-19 15:37:37 UTC
b55e95f1ff Oliv*0001 #include "RADTRANS_OPTIONS.h"
0002
0003
0004
0005
0006
0007
0008 SUBROUTINE RADTRANS_MONITOR(
0009 I myTime, myIter, myThid )
0010
0011
0012
0013
0014
0015 IMPLICIT NONE
0016 #include "SIZE.h"
0017 #include "EEPARAMS.h"
0018 #include "PARAMS.h"
0019 #include "GRID.h"
0020 #include "EXF_PARAM.h"
0021 #include "RADTRANS_SIZE.h"
0022 #include "RADTRANS_FIELDS.h"
0023 #ifdef ALLOW_MONITOR
0024 # include "MONITOR.h"
0025 #endif
0026 #ifdef ALLOW_MNC
0027 # include "MNC_PARAMS.h"
0028 #endif
0029
0030
0031 _RL myTime
0032 INTEGER myIter
0033 INTEGER myThid
0034
0035
0036 #ifdef ALLOW_MONITOR
0037
0038
0039 LOGICAL DIFFERENT_MULTIPLE
0040 EXTERNAL DIFFERENT_MULTIPLE
0041 LOGICAL MASTER_CPU_IO
0042 EXTERNAL MASTER_CPU_IO
0043
0044
0045 _RL dummyRL(6)
0046 CHARACTER*(MAX_LEN_MBUF) msgBuf
0047 CHARACTER*(MAX_LEN_MBUF) suff
0048 INTEGER l
0049 #ifdef ALLOW_MNC
0050 INTEGER k
0051 #endif
0052 LOGICAL computed
0053
0054 #ifdef ALLOW_BULKFORMULAE
0055 computed = .TRUE.
0056 #else
0057 computed = .FALSE.
0058 #endif
0059
0060 IF ( DIFFERENT_MULTIPLE(exf_monFreq,myTime,deltaTClock)
0061 & ) THEN
0062
0063 IF ( MASTER_CPU_IO(myThid) ) THEN
0064
0065
0066
0067 IF (monitor_stdio) THEN
0068 mon_write_stdout = .TRUE.
0069 ELSE
0070 mon_write_stdout = .FALSE.
0071 ENDIF
0072 mon_write_mnc = .FALSE.
0073 #ifdef ALLOW_MNC
0074 IF (useMNC .AND. monitor_mnc) THEN
0075 DO k = 1,MAX_LEN_MBUF
0076 mon_fname(k:k) = ' '
0077 ENDDO
0078 mon_fname(1:16) = 'monitor_radtrans'
0079 CALL MNC_CW_APPEND_VNAME(
0080 & 'T', '-_-_--__-__t', 0,0, myThid)
0081 CALL MNC_CW_SET_UDIM(mon_fname, -1, myThid)
0082 CALL MNC_CW_RL_W_S(
0083 & 'D',mon_fname,1,1,'T', myTime, myThid)
0084 CALL MNC_CW_SET_UDIM(mon_fname, 0, myThid)
0085 mon_write_mnc = .TRUE.
0086 ENDIF
0087 #endif /* ALLOW_MNC */
0088
0089 IF ( mon_write_stdout ) THEN
0090 WRITE(msgBuf,'(2A)') '// ===========================',
0091 & '============================'
0092 CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
0093 WRITE(msgBuf,'(A)') '// Begin MONITOR RADTRANS statistics'
0094 CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
0095 WRITE(msgBuf,'(2A)') '// ===========================',
0096 & '============================'
0097 CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
0098 ENDIF
0099
0100
0101 ENDIF
0102
0103 CALL MON_SET_PREF('RT_',myThid)
0104 CALL MON_OUT_I ('tsnumber', myIter,mon_string_none,myThid)
0105 CALL MON_OUT_RL('time_sec', myTime,mon_string_none,myThid)
0106
0107
0108 DO l = 1, nlam
0109 WRITE(suff,'(A5,I3.3)') 'Ed', l
0110 CALL MON_WRITESTATS_RL( 1, RT_Ed_sfc(1-OLx,1-OLy,1,1,l), suff,
0111 & maskInC, maskInC, rA , drF, dummyRL, myThid )
0112 ENDDO
0113 DO l = 1, nlam
0114 WRITE(suff,'(A5,I3.3)') 'Es', l
0115 CALL MON_WRITESTATS_RL( 1, RT_Es_sfc(1-OLx,1-OLy,1,1,l), suff,
0116 & maskInC, maskInC, rA , drF, dummyRL, myThid )
0117 ENDDO
0118
0119 IF ( MASTER_CPU_IO(myThid) ) THEN
0120
0121
0122
0123 IF ( mon_write_stdout ) THEN
0124 WRITE(msgBuf,'(2A)') '// ===========================',
0125 & '============================'
0126 CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
0127 WRITE(msgBuf,'(A)') '// End MONITOR RADTRANS statistics'
0128 CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
0129 WRITE(msgBuf,'(2A)') '// ===========================',
0130 & '============================'
0131 CALL PRINT_MESSAGE(msgBuf, mon_ioUnit, SQUEEZE_RIGHT, 1)
0132 ENDIF
0133
0134 mon_write_stdout = .FALSE.
0135 mon_write_mnc = .FALSE.
0136
0137
0138 ENDIF
0139
0140
0141 ENDIF
0142
0143 #endif /* ALLOW_MONITOR */
0144
0145 RETURN
0146 END