File indexing completed on 2025-11-07 06:08:54 UTC
view on githubraw 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