/[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.2 - (show annotations) (download)
Wed Jul 9 19:59:18 2003 UTC (20 years, 11 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 C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_biotic_diags.F,v 1.1 2003/06/25 21:00:36 stephd 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 CALL TIMEAVE_RESET(fluxCO2ave, 1, bi, bj, myThid)
60 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 CALL TIMEAVE_NORMALIZ(fluxCO2ave,dic_timeave, 1 ,
88 & bi,bj,myThid)
89 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 CALL WRITE_FLD_XY_RL('DIC_pHtave.',suff,pHave,
103 & myIter,myThid)
104 CALL WRITE_FLD_XY_RL('DIC_pCO2tave.',suff,pCO2ave,
105 & myIter,myThid)
106 CALL WRITE_FLD_XY_RL('DIC_fluxCO2ave.',suff,fluxCO2ave,
107 & myIter,myThid)
108
109
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 CALL TIMEAVE_RESET(fluxCO2ave,1,bi,bj,myThid)
120 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