/[MITgcm]/MITgcm/pkg/dic/dic_biotic_diags.F
ViewVC logotype

Annotation of /MITgcm/pkg/dic/dic_biotic_diags.F

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


Revision 1.2 - (hide annotations) (download)
Wed Jul 9 19:59:18 2003 UTC (21 years, 2 months ago) by stephd
Branch: MAIN
CVS Tags: checkpoint51e_post, checkpoint51f_pre, checkpoint51f_post, branchpoint-genmake2, checkpoint51g_post, checkpoint51d_post
Branch point for: branch-genmake2
Changes since 1.1: +9 -2 lines
add variable Si; fix bugs in dic_diags, dic_fields_load

1 stephd 1.2 C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_biotic_diags.F,v 1.1 2003/06/25 21:00:36 stephd Exp $
2 stephd 1.1 C $Name: $
3     cswdice modified for ice -- 25 Oct 01
4     cswddic modified for dic -- 16 July 02
5    
6     #include "CPP_OPTIONS.h"
7     #include "GCHEM_OPTIONS.h"
8    
9     CStartOfInterface
10     SUBROUTINE DIC_BIOTIC_DIAGS( myTime, myIter, myThid )
11     C /==========================================================\
12     C | SUBROUTINE DIC_BIOTIC_DIAGS |
13     C | o Do DIC diagnostic output |
14     C |==========================================================|
15     C \==========================================================/
16     IMPLICIT NONE
17    
18     C === Global variables ===
19     #include "SIZE.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22     cswdice --- add --
23     #ifdef DIC_BIOTIC
24     #include "DIC_BIOTIC.h"
25     #endif
26     cswdice -- end add ---
27    
28     C == Routine arguments ==
29     C myTime - Current time of simulation ( s )
30     C myIter - Iteration number
31     C myThid - Number of this instance of INI_FORCING
32     _RL myTime
33     INTEGER myIter
34     INTEGER myThid
35     CEndOfInterface
36    
37    
38     C == Local variables ==
39     LOGICAL DIFFERENT_MULTIPLE
40     EXTERNAL DIFFERENT_MULTIPLE
41     INTEGER bi, bj, k
42     CHARACTER*(MAX_LEN_MBUF) suff
43    
44     #ifdef DIC_BIOTIC
45    
46    
47     #ifdef ALLOW_TIMEAVE
48    
49     c set arrays to zero if first timestep
50     IF ( myIter .EQ. nIter0+1 ) THEN
51     DO bj = myByLo(myThid), myByHi(myThid)
52     DO bi = myBxLo(myThid), myBxHi(myThid)
53     CALL TIMEAVE_RESET(BIOave, Nr, bi, bj, myThid)
54     CALL TIMEAVE_RESET(CARave, Nr, bi, bj, myThid)
55     CALL TIMEAVE_RESET(SURave, 1, bi, bj, myThid)
56     CALL TIMEAVE_RESET(SUROave, 1, bi, bj, myThid)
57     CALL TIMEAVE_RESET(pCO2ave, 1, bi, bj, myThid)
58     CALL TIMEAVE_RESET(pHave, 1, bi, bj, myThid)
59 stephd 1.2 CALL TIMEAVE_RESET(fluxCO2ave, 1, bi, bj, myThid)
60 stephd 1.1 print*,'QQ start timeave'
61     do k=1,Nr
62     DIC_TimeAve(bi,bj,k)=0.d0
63     enddo
64     ENDDO
65     ENDDO
66     ENDIF
67    
68     C Dump files and restart average computation if needed
69     IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock)
70     & ) THEN
71    
72     C Normalize by integrated time
73     DO bj = myByLo(myThid), myByHi(myThid)
74     DO bi = myBxLo(myThid), myBxHi(myThid)
75     CALL TIMEAVE_NORMALIZ(BIOave, DIC_timeave, nR ,
76     & bi,bj,myThid)
77     CALL TIMEAVE_NORMALIZ(CARave, DIC_timeave, nR ,
78     & bi,bj,myThid)
79     CALL TIMEAVE_NORMALIZ(SURave,dic_timeave, 1 ,
80     & bi,bj,myThid)
81     CALL TIMEAVE_NORMALIZ(SUROave,dic_timeave, 1 ,
82     & bi,bj,myThid)
83     CALL TIMEAVE_NORMALIZ(pCO2ave,dic_timeave, 1 ,
84     & bi,bj,myThid)
85     CALL TIMEAVE_NORMALIZ(pHave,dic_timeave, 1 ,
86     & bi,bj,myThid)
87 stephd 1.2 CALL TIMEAVE_NORMALIZ(fluxCO2ave,dic_timeave, 1 ,
88     & bi,bj,myThid)
89 stephd 1.1 ENDDO
90     ENDDO
91    
92     WRITE(suff,'(I10.10)') myIter
93    
94     CALL WRITE_FLD_XYZ_RL('DIC_Biotave.',suff,BIOave,
95     & myIter,myThid)
96     CALL WRITE_FLD_XYZ_RL('DIC_Cartave.',suff,CARave,
97     & myIter,myThid)
98     CALL WRITE_FLD_XY_RL('DIC_Surtave.',suff,SURave,
99     & myIter,myThid)
100     CALL WRITE_FLD_XY_RL('DIC_SurOtave.',suff,SUROave,
101     & myIter,myThid)
102 stephd 1.2 CALL WRITE_FLD_XY_RL('DIC_pHtave.',suff,pHave,
103     & myIter,myThid)
104 stephd 1.1 CALL WRITE_FLD_XY_RL('DIC_pCO2tave.',suff,pCO2ave,
105     & myIter,myThid)
106 stephd 1.2 CALL WRITE_FLD_XY_RL('DIC_fluxCO2ave.',suff,fluxCO2ave,
107 stephd 1.1 & myIter,myThid)
108 stephd 1.2
109 stephd 1.1
110     C Reset averages to zero
111     DO bj = myByLo(myThid), myByHi(myThid)
112     DO bi = myBxLo(myThid), myBxHi(myThid)
113     CALL TIMEAVE_RESET(BIOave,Nr,bi,bj,myThid)
114     CALL TIMEAVE_RESET(CARave,Nr,bi,bj,myThid)
115     CALL TIMEAVE_RESET(SURave,1,bi,bj,myThid)
116     CALL TIMEAVE_RESET(SUROave,1,bi,bj,myThid)
117     CALL TIMEAVE_RESET(pCO2ave,1,bi,bj,myThid)
118     CALL TIMEAVE_RESET(pHave,1,bi,bj,myThid)
119 stephd 1.2 CALL TIMEAVE_RESET(fluxCO2ave,1,bi,bj,myThid)
120 stephd 1.1 do k=1,Nr
121     DIC_TimeAve(bi,bj,k)=0.d0
122     enddo
123     ENDDO
124     ENDDO
125    
126     ENDIF
127    
128     #endif /* ALLOW_TIMEAVE */
129    
130     #endif /* DIC_BIOTIC */
131    
132     RETURN
133     END

  ViewVC Help
Powered by ViewVC 1.1.22