** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Sun, 7 Feb 2026 06:09:20 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/thsice/thsice_output.F
File indexing completed on 2025-11-07 06:08:54 UTC
view on github raw file Latest commit b7411f1a on 2025-11-06 19:05:26 UTC
fc7306ba7d Jean* 0001 #include "THSICE_OPTIONS.h "
0002
87ea84cac6 Jean* 0003
c3c45044a0 Jean* 0004
87ea84cac6 Jean* 0005
c3c45044a0 Jean* 0006 SUBROUTINE THSICE_OUTPUT ( myTime , myIter , myThid )
87ea84cac6 Jean* 0007
0008
0009
c3c45044a0 Jean* 0010
0011
87ea84cac6 Jean* 0012
c3c45044a0 Jean* 0013
0014
87ea84cac6 Jean* 0015
0016
0017
0018
fc7306ba7d Jean* 0019 IMPLICIT NONE
0020
0021
0022 #include "SIZE.h "
0023 #include "EEPARAMS.h "
0024 #include "PARAMS.h "
0025 #include "THSICE_PARAMS.h "
87ea84cac6 Jean* 0026 #include "THSICE_VARS.h "
fc7306ba7d Jean* 0027
87ea84cac6 Jean* 0028
fc7306ba7d Jean* 0029
c3c45044a0 Jean* 0030
0031
0032
fc7306ba7d Jean* 0033 _RL myTime
0034 INTEGER myIter
0035 INTEGER myThid
87ea84cac6 Jean* 0036
fc7306ba7d Jean* 0037
0038 #ifdef ALLOW_THSICE
0039
a444616fe4 Jean* 0040
94a46dfe0d Jean* 0041 LOGICAL DIFFERENT_MULTIPLE
0042 EXTERNAL DIFFERENT_MULTIPLE
a444616fe4 Jean* 0043
0044
af20bc5e19 Jean* 0045 CHARACTER *(10) suff
7c9cf9d5bc Jean* 0046 #ifdef ALLOW_MNC
df4e8f7bcf Ed H* 0047 INTEGER i
0048 CHARACTER *(MAX_LEN_MBUF ) mncf
b22b541fe9 Ed H* 0049 CHARACTER *(1) pf
df4e8f7bcf Ed H* 0050 #endif
fc7306ba7d Jean* 0051
0052
332055f833 Jean* 0053 IF (
b17871c70b Jean* 0054 & DIFFERENT_MULTIPLE ( thSIce_diagFreq , myTime , deltaTClock )
0055 & .OR. dumpInitAndLast .AND. ( myTime .EQ. endTime .OR.
0056 & myTime .EQ. startTime )
0057 & ) THEN
60671ed2f5 Jean* 0058
d68d315665 Jean* 0059 IF ( thSIce_snapshot_mdsio .AND.
0060 & ( myTime .NE. startTime .OR. .NOT. thSIce_skipThermo
0061 & .OR. .NOT. useCoupler )
0062 & ) THEN
332055f833 Jean* 0063
af20bc5e19 Jean* 0064 IF ( rwSuffixType .EQ. 0 ) THEN
0065 WRITE (suff ,'(I10.10)' ) myIter
0066 ELSE
0067 CALL RW_GET_SUFFIX ( suff , myTime , myIter , myThid )
0068 ENDIF
332055f833 Jean* 0069
df4e8f7bcf Ed H* 0070 CALL WRITE_FLD_XY_RL ('ice_fract.' , suff ,iceMask ,
0071 & myIter ,myThid )
c06c141378 Jean* 0072 CALL WRITE_FLD_XY_RL ('ice_iceH.' , suff ,iceHeight ,
df4e8f7bcf Ed H* 0073 & myIter ,myThid )
c06c141378 Jean* 0074 CALL WRITE_FLD_XY_RL ('ice_snowH.' , suff ,snowHeight ,
df4e8f7bcf Ed H* 0075 & myIter ,myThid )
0076 CALL WRITE_FLD_XY_RL ('ice_Tsrf.' , suff ,Tsrf ,
0077 & myIter ,myThid )
0078 CALL WRITE_FLD_XY_RL ('ice_Tice1.' , suff ,Tice1 ,
0079 & myIter ,myThid )
0080 CALL WRITE_FLD_XY_RL ('ice_Tice2.' , suff ,Tice2 ,
0081 & myIter ,myThid )
0082 CALL WRITE_FLD_XY_RL ('ice_Qice1.' , suff ,Qice1 ,
0083 & myIter ,myThid )
0084 CALL WRITE_FLD_XY_RL ('ice_Qice2.' , suff ,Qice2 ,
0085 & myIter ,myThid )
0086 CALL WRITE_FLD_XY_RL ('ice_snowAge.' ,suff ,snowAge ,
0087 & myIter ,myThid )
332055f833 Jean* 0088 IF ( myTime .NE. startTime ) THEN
7269783f6f Jean* 0089 CALL WRITE_FLD_XY_RL ('ice_flxAtm.' ,suff ,icFlxAtm ,
0090 & myIter ,myThid )
0091 CALL WRITE_FLD_XY_RL ('ice_frwAtm.' ,suff ,icFrwAtm ,
0092 & myIter ,myThid )
332055f833 Jean* 0093 ENDIF
df4e8f7bcf Ed H* 0094 IF ( stepFwd_oceMxL ) THEN
0095 CALL WRITE_FLD_XY_RL ('ice_tOceMxL.' , suff , tOceMxL ,
0096 & myIter ,myThid )
0097 CALL WRITE_FLD_XY_RL ('ice_sOceMxL.' , suff , sOceMxL ,
332055f833 Jean* 0098 & myIter ,myThid )
df4e8f7bcf Ed H* 0099 ENDIF
332055f833 Jean* 0100
df4e8f7bcf Ed H* 0101 ENDIF
0102
0103 #ifdef ALLOW_MNC
0104 IF ( thSIce_snapshot_mnc ) THEN
a444616fe4 Jean* 0105 _BARRIER
b22b541fe9 Ed H* 0106 IF ( writeBinaryPrec .EQ. precFloat64 ) THEN
0107 pf (1:1) = 'D'
0108 ELSE
0109 pf (1:1) = 'R'
0110 ENDIF
df4e8f7bcf Ed H* 0111 DO i = 1,MAX_LEN_MBUF
0112 mncf (i :i ) = ' '
0113 ENDDO
0114
0115 mncf (1:15) = 'thsice_snapshot'
0116 CALL MNC_CW_SET_UDIM (mncf , -1, myThid )
0117 CALL MNC_CW_I_W_S('I' ,mncf ,0,0,'iter' , myIter , myThid )
0118 CALL MNC_CW_SET_UDIM (mncf , 0, myThid )
0119 CALL MNC_CW_RL_W_S('D' ,mncf ,0,0,'T' , myTime , myThid )
b22b541fe9 Ed H* 0120 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'iceMask' , iceMask , myThid )
0121 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'iceHeight' , iceHeight , myThid )
0122 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'snowHeight' ,snowHeight ,myThid )
0123 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'Tsrf' , Tsrf , myThid )
0124 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'Tice1' , Tice1 , myThid )
0125 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'Tice2' , Tice1 , myThid )
0126 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'Qice1' , Qice1 , myThid )
0127 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'Qice2' , Qice2 , myThid )
0128 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'snowAge' , snowAge , myThid )
df4e8f7bcf Ed H* 0129 IF ( stepFwd_oceMxL ) THEN
b22b541fe9 Ed H* 0130 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'tOceMxL' ,tOceMxL ,myThid )
0131 CALL MNC_CW_RL_W(pf ,mncf ,0,0,'sOceMxL' ,sOceMxL ,myThid )
df4e8f7bcf Ed H* 0132 ENDIF
a444616fe4 Jean* 0133 _BARRIER
df4e8f7bcf Ed H* 0134 ENDIF
0135 #endif /* ALLOW_MNC */
0136
fc7306ba7d Jean* 0137 ENDIF
332055f833 Jean* 0138
fc7306ba7d Jean* 0139 IF ( thSIce_monFreq .GT. 0. _d 0 )
0140 & CALL THSICE_MONITOR ( myTime , myIter , myThid )
0141
0142 #endif /* ALLOW_THSICE */
332055f833 Jean* 0143
fc7306ba7d Jean* 0144 RETURN
0145 END