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

Annotation 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.2 - (hide annotations) (download)
Tue Aug 22 20:21:39 2006 UTC (18 years, 11 months ago) by jscott
Branch: MAIN
Changes since 1.1: +31 -1 lines
new revision of atm2d package

1 jscott 1.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 | |
8     c | |
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 jscott 1.2 norm_factor = ndmonth(monid)*86400.0
37 jscott 1.1
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 jscott 1.2 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 jscott 1.1
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 jscott 1.2 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 jscott 1.1
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 jscott 1.2 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 jscott 1.1
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 jscott 1.2 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 jscott 1.1
118     ENDDO
119     ENDDO
120    
121     RETURN
122     END
123    

  ViewVC Help
Powered by ViewVC 1.1.22