/[MITgcm]/MITgcm/pkg/atm2d/month_end_diags.F
ViewVC logotype

Annotation of /MITgcm/pkg/atm2d/month_end_diags.F

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


Revision 1.2 - (hide annotations) (download)
Mon Oct 8 23:48:28 2007 UTC (16 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59k, checkpoint59j, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.1: +15 -12 lines
add missing cvs $Header:$ or $Name:$

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

  ViewVC Help
Powered by ViewVC 1.1.22