/[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.1 - (hide annotations) (download)
Wed Jun 25 21:00:36 2003 UTC (21 years ago) by stephd
Branch: MAIN
CVS Tags: checkpoint51a_post, checkpoint51c_post, checkpoint51b_post, checkpoint51b_pre
initial checking in biogeochemistry packages

1 stephd 1.1 C $Header: /u/u0/gcmpack/models/MITgcmUV/pkg/gmredi/gmredi_diags.F,v 1.5 2001/03/06 18:01:07 jmc Exp $
2     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     print*,'QQ start timeave'
60     do k=1,Nr
61     DIC_TimeAve(bi,bj,k)=0.d0
62     enddo
63     ENDDO
64     ENDDO
65     ENDIF
66    
67     C Dump files and restart average computation if needed
68     IF ( DIFFERENT_MULTIPLE(taveFreq,myTime,myTime-deltaTClock)
69     & ) THEN
70    
71     C Normalize by integrated time
72     DO bj = myByLo(myThid), myByHi(myThid)
73     DO bi = myBxLo(myThid), myBxHi(myThid)
74     CALL TIMEAVE_NORMALIZ(BIOave, DIC_timeave, nR ,
75     & bi,bj,myThid)
76     CALL TIMEAVE_NORMALIZ(CARave, DIC_timeave, nR ,
77     & bi,bj,myThid)
78     CALL TIMEAVE_NORMALIZ(SURave,dic_timeave, 1 ,
79     & bi,bj,myThid)
80     CALL TIMEAVE_NORMALIZ(SUROave,dic_timeave, 1 ,
81     & bi,bj,myThid)
82     CALL TIMEAVE_NORMALIZ(pCO2ave,dic_timeave, 1 ,
83     & bi,bj,myThid)
84     CALL TIMEAVE_NORMALIZ(pHave,dic_timeave, 1 ,
85     & bi,bj,myThid)
86     ENDDO
87     ENDDO
88    
89     WRITE(suff,'(I10.10)') myIter
90    
91     CALL WRITE_FLD_XYZ_RL('DIC_Biotave.',suff,BIOave,
92     & myIter,myThid)
93     CALL WRITE_FLD_XYZ_RL('DIC_Cartave.',suff,CARave,
94     & myIter,myThid)
95     CALL WRITE_FLD_XY_RL('DIC_Surtave.',suff,SURave,
96     & myIter,myThid)
97     CALL WRITE_FLD_XY_RL('DIC_SurOtave.',suff,SUROave,
98     & myIter,myThid)
99     CALL WRITE_FLD_XY_RL('DIC_pCO2tave.',suff,pCO2ave,
100     & myIter,myThid)
101     CALL WRITE_FLD_XY_RL('DIC_pHtave.',suff,pHave,
102     & myIter,myThid)
103    
104     C Reset averages to zero
105     DO bj = myByLo(myThid), myByHi(myThid)
106     DO bi = myBxLo(myThid), myBxHi(myThid)
107     CALL TIMEAVE_RESET(BIOave,Nr,bi,bj,myThid)
108     CALL TIMEAVE_RESET(CARave,Nr,bi,bj,myThid)
109     CALL TIMEAVE_RESET(SURave,1,bi,bj,myThid)
110     CALL TIMEAVE_RESET(SUROave,1,bi,bj,myThid)
111     CALL TIMEAVE_RESET(pCO2ave,1,bi,bj,myThid)
112     CALL TIMEAVE_RESET(pHave,1,bi,bj,myThid)
113     do k=1,Nr
114     DIC_TimeAve(bi,bj,k)=0.d0
115     enddo
116     ENDDO
117     ENDDO
118    
119     ENDIF
120    
121     #endif /* ALLOW_TIMEAVE */
122    
123     #endif /* DIC_BIOTIC */
124    
125     RETURN
126     END

  ViewVC Help
Powered by ViewVC 1.1.22