File indexing completed on 2018-03-02 18:37:31 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
09a6f3668a Jeff*0001 #include "ctrparam.h"
0002 #include "ATM2D_OPTIONS.h"
0003
0004
0005 SUBROUTINE MONTH_END_DIAGS( monid, myTime, myIter, myThid )
0006
0007
0008
0009
0010 IMPLICIT NONE
0011
0012
0013 #include "ATMSIZE.h"
0014 #include "SIZE.h"
0015 #include "EEPARAMS.h"
0016 #include "ATM2D_VARS.h"
0017
0018
0019
0020
0021
0022
0023
0024 INTEGER monid
0025 _RL myTime
0026 INTEGER myIter
0027 INTEGER myThid
0028
0029
0030 CHARACTER*(MAX_LEN_MBUF) suff
0031 INTEGER ndmonth(12)
0032 DATA ndmonth/31,28,31,30,31,30,31,31,30,31,30,31/
0033 INTEGER i,j
0034 _RS norm_factor
0035
0036 norm_factor = ndmonth(monid)*86400.0
0037
0038 DO j=1,sNy
0039 DO i=1,sNx
0040
9274434acc Jean*0041 qnet_atm_ta(i,j,monid)= qnet_atm_ta(i,j,monid) +
09a6f3668a Jeff*0042 & qnet_atm(i,j)
9274434acc Jean*0043 evap_atm_ta(i,j,monid)= evap_atm_ta(i,j,monid) +
09a6f3668a Jeff*0044 & evap_atm(i,j)
9274434acc Jean*0045 precip_atm_ta(i,j,monid)= precip_atm_ta(i,j,monid) +
09a6f3668a Jeff*0046 & precip_atm(i,j)
9274434acc Jean*0047 runoff_atm_ta(i,j,monid)= runoff_atm_ta(i,j,monid) +
09a6f3668a Jeff*0048 & runoff_atm(i,j)
9274434acc Jean*0049 sum_qrel_ta(i,j,monid)= sum_qrel_ta(i,j,monid) +
09a6f3668a Jeff*0050 & sum_qrel(i,j)
9274434acc Jean*0051 sum_frel_ta(i,j,monid)= sum_frel_ta(i,j,monid) +
09a6f3668a Jeff*0052 & sum_frel(i,j)
9274434acc Jean*0053 sum_iceMask_ta(i,j,monid)= sum_iceMask_ta(i,j,monid) +
09a6f3668a Jeff*0054 & sum_iceMask(i,j)
9274434acc Jean*0055 sum_iceHeight_ta(i,j,monid)= sum_iceHeight_ta(i,j,monid) +
09a6f3668a Jeff*0056 & sum_iceHeight(i,j)
9274434acc Jean*0057 sum_iceTime_ta(i,j,monid)= sum_iceTime_ta(i,j,monid) +
09a6f3668a Jeff*0058 & sum_iceTime(i,j)
9274434acc Jean*0059 sum_oceMxLT_ta(i,j,monid)= sum_oceMxLT_ta(i,j,monid) +
09a6f3668a Jeff*0060 & sum_oceMxLT(i,j)
9274434acc Jean*0061 sum_oceMxLS_ta(i,j,monid)= sum_oceMxLS_ta(i,j,monid) +
09a6f3668a Jeff*0062 & sum_oceMxLS(i,j)
0063
0064 qnet_atm(i,j)=qnet_atm(i,j)/ norm_factor
0065 evap_atm(i,j)=evap_atm(i,j)/ norm_factor
0066 precip_atm(i,j)= precip_atm(i,j)/ norm_factor
0067 runoff_atm(i,j)= runoff_atm(i,j)/ norm_factor
0068 sum_qrel(i,j)= sum_qrel(i,j)/ norm_factor
0069 sum_frel(i,j)= sum_frel(i,j)/ norm_factor
0070 sum_iceMask(i,j)= sum_iceMask(i,j)/ norm_factor
0071 sum_iceHeight(i,j)= sum_iceHeight(i,j)/ norm_factor
0072 sum_iceTime(i,j)= sum_iceTime(i,j)/ norm_factor
0073 sum_oceMxLT(i,j)= sum_oceMxLT(i,j)/ norm_factor
0074 sum_oceMxLS(i,j)= sum_oceMxLS(i,j)/ norm_factor
0075
0076 ENDDO
0077 ENDDO
0078
0079 WRITE(suff,'(I2.2)') monid
0080 CALL WRITE_FLD_XY_RL('mQnetAtmtave.', suff, qnet_atm,
0081 & myIter, myThid)
0082 CALL WRITE_FLD_XY_RL('mEvapAtmtave.', suff, evap_atm,
0083 & myIter, myThid)
0084 CALL WRITE_FLD_XY_RL('mPrecipAtmtave.', suff, precip_atm,
0085 & myIter, myThid)
0086 CALL WRITE_FLD_XY_RL('mRunoffAtmtave.', suff, runoff_atm,
0087 & myIter, myThid)
0088 CALL WRITE_FLD_XY_RL('mQrelfluxtave.', suff, sum_qrel,
0089 & myIter, myThid)
0090 CALL WRITE_FLD_XY_RL('mFrelfluxtave.', suff, sum_frel,
0091 & myIter, myThid)
0092 CALL WRITE_FLD_XY_RL('mIceMasktave.', suff, sum_iceMask,
0093 & myIter, myThid)
0094 CALL WRITE_FLD_XY_RL('mIceHeighttave.', suff, sum_iceHeight,
0095 & myIter, myThid)
0096 CALL WRITE_FLD_XY_RL('mIceTimetave.', suff, sum_iceTime,
0097 & myIter, myThid)
0098 CALL WRITE_FLD_XY_RL('mOceMxLTtave.', suff, sum_oceMxLT,
0099 & myIter, myThid)
0100 CALL WRITE_FLD_XY_RL('mOceMxLStave.', suff, sum_oceMxLS,
0101 & myIter, myThid)
0102
0103 DO j=1,sNy
0104 DO i=1,sNx
0105
0106 qnet_atm(i,j)= 0. _d 0
0107 evap_atm(i,j)= 0. _d 0
0108 precip_atm(i,j)= 0. _d 0
9274434acc Jean*0109 runoff_atm(i,j)= 0. _d 0
09a6f3668a Jeff*0110 sum_qrel(i,j)= 0. _d 0
0111 sum_frel(i,j)= 0. _d 0
0112 sum_iceMask(i,j)= 0. _d 0
0113 sum_iceHeight(i,j)= 0. _d 0
0114 sum_iceTime(i,j)= 0. _d 0
0115 sum_oceMxLT(i,j)= 0. _d 0
0116 sum_oceMxLS(i,j)= 0. _d 0
0117
0118 ENDDO
0119 ENDDO
0120
0121 RETURN
0122 END
0123