/[MITgcm]/MITgcm_contrib/jscott/pkg_atm2d/month_end_diags.F
ViewVC logotype

Contents of /MITgcm_contrib/jscott/pkg_atm2d/month_end_diags.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Tue Aug 21 16:06:22 2007 UTC (17 years, 11 months ago) by jscott
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +0 -0 lines
FILE REMOVED
remove old atm2d pkg repository

1 #include "ctrparam.h"
2 #include "ATM2D_OPTIONS.h"
3
4 C !INTERFACE:
5 SUBROUTINE MONTH_END_DIAGS( monid, myTime, myIter, myThid )
6 C *==========================================================*
7 C | Prints out rolling month-end quantities, and sums these |
8 c | into the tave monthly diagnostic variables. |
9 C *==========================================================*
10 IMPLICIT NONE
11
12 C === Global Atmosphere Variables ===
13 #include "ATMSIZE.h"
14 #include "SIZE.h"
15 #include "EEPARAMS.h"
16 #include "ATM2D_VARS.h"
17
18 C !INPUT/OUTPUT PARAMETERS:
19 C === Routine arguments ===
20 C monid - current month of the year
21 C myTime - current simulation time (ocean model time)
22 C myIter - iteration number (ocean model)
23 C myThid - Thread no. that called this routine.
24 INTEGER monid
25 _RL myTime
26 INTEGER myIter
27 INTEGER myThid
28
29 C LOCAL VARIABLES:
30 CHARACTER*(MAX_LEN_MBUF) suff
31 INTEGER ndmonth(12)
32 DATA ndmonth/31,28,31,30,31,30,31,31,30,31,30,31/
33 INTEGER i,j
34 _RS norm_factor
35
36 norm_factor = ndmonth(monid)*86400.0
37
38 DO j=1,sNy
39 DO i=1,sNx
40
41 qnet_atm_ta(i,j,monid)= qnet_atm_ta(i,j,monid) +
42 & qnet_atm(i,j)
43 evap_atm_ta(i,j,monid)= evap_atm_ta(i,j,monid) +
44 & evap_atm(i,j)
45 precip_atm_ta(i,j,monid)= precip_atm_ta(i,j,monid) +
46 & precip_atm(i,j)
47 runoff_atm_ta(i,j,monid)= runoff_atm_ta(i,j,monid) +
48 & runoff_atm(i,j)
49 sum_qrel_ta(i,j,monid)= sum_qrel_ta(i,j,monid) +
50 & sum_qrel(i,j)
51 sum_frel_ta(i,j,monid)= sum_frel_ta(i,j,monid) +
52 & sum_frel(i,j)
53 sum_iceMask_ta(i,j,monid)= sum_iceMask_ta(i,j,monid) +
54 & sum_iceMask(i,j)
55 sum_iceHeight_ta(i,j,monid)= sum_iceHeight_ta(i,j,monid) +
56 & sum_iceHeight(i,j)
57 sum_iceTime_ta(i,j,monid)= sum_iceTime_ta(i,j,monid) +
58 & sum_iceTime(i,j)
59 sum_oceMxLT_ta(i,j,monid)= sum_oceMxLT_ta(i,j,monid) +
60 & sum_oceMxLT(i,j)
61 sum_oceMxLS_ta(i,j,monid)= sum_oceMxLS_ta(i,j,monid) +
62 & sum_oceMxLS(i,j)
63
64 qnet_atm(i,j)=qnet_atm(i,j)/ norm_factor
65 evap_atm(i,j)=evap_atm(i,j)/ norm_factor
66 precip_atm(i,j)= precip_atm(i,j)/ norm_factor
67 runoff_atm(i,j)= runoff_atm(i,j)/ norm_factor
68 sum_qrel(i,j)= sum_qrel(i,j)/ norm_factor
69 sum_frel(i,j)= sum_frel(i,j)/ norm_factor
70 sum_iceMask(i,j)= sum_iceMask(i,j)/ norm_factor
71 sum_iceHeight(i,j)= sum_iceHeight(i,j)/ norm_factor
72 sum_iceTime(i,j)= sum_iceTime(i,j)/ norm_factor
73 sum_oceMxLT(i,j)= sum_oceMxLT(i,j)/ norm_factor
74 sum_oceMxLS(i,j)= sum_oceMxLS(i,j)/ norm_factor
75
76 ENDDO
77 ENDDO
78
79 WRITE(suff,'(I2.2)') monid
80 CALL WRITE_FLD_XY_RL('mQnetAtmtave.', suff, qnet_atm,
81 & myIter, myThid)
82 CALL WRITE_FLD_XY_RL('mEvapAtmtave.', suff, evap_atm,
83 & myIter, myThid)
84 CALL WRITE_FLD_XY_RL('mPrecipAtmtave.', suff, precip_atm,
85 & myIter, myThid)
86 CALL WRITE_FLD_XY_RL('mRunoffAtmtave.', suff, runoff_atm,
87 & myIter, myThid)
88 CALL WRITE_FLD_XY_RL('mQrelfluxtave.', suff, sum_qrel,
89 & myIter, myThid)
90 CALL WRITE_FLD_XY_RL('mFrelfluxtave.', suff, sum_frel,
91 & myIter, myThid)
92 CALL WRITE_FLD_XY_RL('mIceMasktave.', suff, sum_iceMask,
93 & myIter, myThid)
94 CALL WRITE_FLD_XY_RL('mIceHeighttave.', suff, sum_iceHeight,
95 & myIter, myThid)
96 CALL WRITE_FLD_XY_RL('mIceTimetave.', suff, sum_iceTime,
97 & myIter, myThid)
98 CALL WRITE_FLD_XY_RL('mOceMxLTtave.', suff, sum_oceMxLT,
99 & myIter, myThid)
100 CALL WRITE_FLD_XY_RL('mOceMxLStave.', suff, sum_oceMxLS,
101 & myIter, myThid)
102
103 DO j=1,sNy
104 DO i=1,sNx
105
106 qnet_atm(i,j)= 0. _d 0
107 evap_atm(i,j)= 0. _d 0
108 precip_atm(i,j)= 0. _d 0
109 runoff_atm(i,j)= 0. _d 0
110 sum_qrel(i,j)= 0. _d 0
111 sum_frel(i,j)= 0. _d 0
112 sum_iceMask(i,j)= 0. _d 0
113 sum_iceHeight(i,j)= 0. _d 0
114 sum_iceTime(i,j)= 0. _d 0
115 sum_oceMxLT(i,j)= 0. _d 0
116 sum_oceMxLS(i,j)= 0. _d 0
117
118 ENDDO
119 ENDDO
120
121 RETURN
122 END
123

  ViewVC Help
Powered by ViewVC 1.1.22