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

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

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


Revision 1.1 - (show annotations) (download)
Wed Jun 25 21:00:36 2003 UTC (20 years, 11 months ago) by stephd
Branch: MAIN
CVS Tags: checkpoint51a_post, checkpoint51c_post, checkpoint51b_post, checkpoint51b_pre
initial checking in biogeochemistry packages

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