/[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.7 - (hide annotations) (download)
Mon Aug 1 21:07:34 2005 UTC (19 years, 1 month ago) by edhill
Branch: MAIN
Changes since 1.6: +44 -19 lines
 o MNC-ify the seven variables output by dic_biotic_diags.F as requested
   by Steph

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

  ViewVC Help
Powered by ViewVC 1.1.22