/[MITgcm]/MITgcm_contrib/darwin2/pkg/monod/monod_check.F
ViewVC logotype

Contents of /MITgcm_contrib/darwin2/pkg/monod/monod_check.F

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


Revision 1.1 - (show annotations) (download)
Wed Apr 13 18:56:25 2011 UTC (14 years, 4 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt64k_20130723, ctrb_darwin2_ckpt63l_20120405, ctrb_darwin2_ckpt64h_20130528, ctrb_darwin2_ckpt62v_20110413, ctrb_darwin2_ckpt64m_20130820, ctrb_darwin2_ckpt64f_20130405, ctrb_darwin2_ckpt63f_20111201, ctrb_darwin2_ckpt64a_20121116, ctrb_darwin2_ckpt64n_20130826, ctrb_darwin2_ckpt64o_20131024, ctrb_darwin2_ckpt62y_20110526, ctrb_darwin2_ckpt64i_20130622, ctrb_darwin2_ckpt62x_20110513, ctrb_darwin2_ckpt62w_20110426, ctrb_darwin2_ckpt63o_20120629, ctrb_darwin2_ckpt64e_20130305, ctrb_darwin2_ckpt63c_20111011, ctrb_darwin2_ckpt63i_20120124, ctrb_darwin2_ckpt63m_20120506, ctrb_darwin2_ckpt63s_20120908, ctrb_darwin2_ckpt63e_20111107, ctrb_darwin2_ckpt63b_20110830, ctrb_darwin2_ckpt63j_20120217, ctrb_darwin2_ckpt63r_20120817, ctrb_darwin2_ckpt64g_20130503, ctrb_darwin2_ckpt64l_20130806, ctrb_darwin2_ckpt63g_20111220, ctrb_darwin2_ckpt64c_20130120, ctrb_darwin2_ckpt63a_20110804, ctrb_darwin2_ckpt64j_20130704, ctrb_darwin2_ckpt63h_20111230, ctrb_darwin2_ckpt63p_20120707, ctrb_darwin2_ckpt64p_20131118, ctrb_darwin2_ckpt63d_20111107, ctrb_darwin2_ckpt63q_20120731, ctrb_darwin2_ckpt63_20110728, ctrb_darwin2_ckpt64b_20121224, ctrb_darwin2_ckpt64d_20130219, ctrb_darwin2_ckpt64_20121012, ctrb_darwin2_ckpt64q_20131118, ctrb_darwin2_baseline, ctrb_darwin2_ckpt64p_20131024, ctrb_darwin2_ckpt63n_20120604, ctrb_darwin2_ckpt63k_20120317, ctrb_darwin2_ckpt62z_20110622
darwin2 initial checkin

1 C $Header$
2 C $Name$
3
4 #include "CPP_OPTIONS.h"
5 #include "PTRACERS_OPTIONS.h"
6 #include "DARWIN_OPTIONS.h"
7
8 #ifdef ALLOW_PTRACERS
9 #ifdef ALLOW_MONOD
10
11 SUBROUTINE MONOD_CHECK( myThid )
12 C /==========================================================\
13 C | SUBROUTINE MONOD_CHECK |
14 C | o Check dependences with other packages: |
15 C | Print darwin indices (iPO4,...) and ptracer names |
16 C | to allow for manual check |
17 C \==========================================================/
18 IMPLICIT NONE
19
20 C === Global variables ===
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #include "PTRACERS_SIZE.h"
25 #include "PTRACERS_PARAMS.h"
26 #include "GCHEM.h"
27 #include "MONOD_SIZE.h"
28
29 C === Routine arguments ===
30 C myThid - Number of this instances
31 INTEGER myThid
32
33 C === Local variables ===
34 C msgBuf - Informational/error meesage buffer
35 CHARACTER*(MAX_LEN_MBUF) msgBuf
36 INTEGER i,j,bi,bj,nz,iPtr
37
38 WRITE(msgBuf,'(A)') 'MONOD_CHECK: #define ALLOW_MONOD'
39 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
40 & SQUEEZE_RIGHT,myThid)
41
42 if ( nDarwin .GT. PTRACERS_num ) THEN
43 WRITE(msgBuf,'(A,I5,A,I5)')
44 & 'MONOD_CHECK: ERROR: nDarwin > PTRACERS_num: ',
45 & nDarwin,' vs ',PTRACERS_num
46 CALL PRINT_ERROR( msgBuf , 1)
47 STOP 'ABNORMAL END: S/R MONOD_CHECK'
48 ENDIF
49
50 WRITE(msgBuf,'(A)') 'MONOD_CHECK: iPtr darwin PTRACERS_names'
51 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
52 & SQUEEZE_RIGHT,myThid)
53 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
54 & iPO4 ,'PO4 ', PTRACERS_names(iPO4 )
55 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
56 & SQUEEZE_RIGHT,myThid)
57 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
58 & iNO3 ,'NO3 ', PTRACERS_names(iNO3 )
59 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
60 & SQUEEZE_RIGHT,myThid)
61 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
62 & iFeT ,'FeT ', PTRACERS_names(iFeT )
63 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
64 & SQUEEZE_RIGHT,myThid)
65 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
66 & iSi ,'Si ', PTRACERS_names(iSi )
67 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
68 & SQUEEZE_RIGHT,myThid)
69 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
70 & iDOP ,'DOP ', PTRACERS_names(iDOP )
71 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
72 & SQUEEZE_RIGHT,myThid)
73 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
74 & iDON ,'DON ', PTRACERS_names(iDON )
75 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
76 & SQUEEZE_RIGHT,myThid)
77 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
78 & iDOFe ,'DOFe ', PTRACERS_names(iDOFe )
79 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
80 & SQUEEZE_RIGHT,myThid)
81
82 DO nz = 1,nzmax
83 iPtr = iZooP (nz)
84 WRITE(msgBuf,'(A,I4,X,A,I1,A,A32)') 'MONOD_CHECK: ',
85 & iPtr, 'ZooP (',nz,') ', PTRACERS_names(iPtr)
86 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
87 & SQUEEZE_RIGHT,myThid)
88 iPtr = iZooN (nz)
89 WRITE(msgBuf,'(A,I4,X,A,I1,A,A32)') 'MONOD_CHECK: ',
90 & iPtr, 'ZooN (',nz,') ', PTRACERS_names(iPtr)
91 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
92 & SQUEEZE_RIGHT,myThid)
93 iPtr = iZooFe(nz)
94 WRITE(msgBuf,'(A,I4,X,A,I1,A,A32)') 'MONOD_CHECK: ',
95 & iPtr, 'ZooFe(',nz,') ', PTRACERS_names(iPtr)
96 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
97 & SQUEEZE_RIGHT,myThid)
98 iPtr = iZooSi(nz)
99 WRITE(msgBuf,'(A,I4,X,A,I1,A,A32)') 'MONOD_CHECK: ',
100 & iPtr, 'ZooSi(',nz,') ', PTRACERS_names(iPtr)
101 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
102 & SQUEEZE_RIGHT,myThid)
103 ENDDO
104
105 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
106 & iPOP ,'POP ', PTRACERS_names(iPOP )
107 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
108 & SQUEEZE_RIGHT,myThid)
109 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
110 & iPON ,'PON ', PTRACERS_names(iPON )
111 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
112 & SQUEEZE_RIGHT,myThid)
113 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
114 & iPOFe ,'POFe ', PTRACERS_names(iPOFe )
115 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
116 & SQUEEZE_RIGHT,myThid)
117 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
118 & iPOSi ,'POSi ', PTRACERS_names(iPOSi )
119 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
120 & SQUEEZE_RIGHT,myThid)
121 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
122 & iNH4 ,'NH4 ', PTRACERS_names(iNH4 )
123 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
124 & SQUEEZE_RIGHT,myThid)
125 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
126 & iNO2 ,'NO2 ', PTRACERS_names(iNO2 )
127 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
128 & SQUEEZE_RIGHT,myThid)
129 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
130 & iPhy ,'Phy(1) ', PTRACERS_names(iPhy )
131 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
132 & SQUEEZE_RIGHT,myThid)
133 WRITE(msgBuf,'(A,I4,X,A,I4,A,A32)') 'MONOD_CHECK: ',
134 & iPhy+npmax-1,'Phy(',npmax,')', PTRACERS_names(iPhy+npmax-1)
135 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
136 & SQUEEZE_RIGHT,myThid)
137
138 #ifdef DYNAMIC_CHL
139 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
140 & iChl ,'Chl(1) ', PTRACERS_names(iChl )
141 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
142 & SQUEEZE_RIGHT,myThid)
143 WRITE(msgBuf,'(A,I4,X,A,I4,A,A32)') 'MONOD_CHECK: ',
144 & iChl+npmax-1,'Chl(',npmax,')', PTRACERS_names(iChl+npmax-1)
145 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
146 & SQUEEZE_RIGHT,myThid)
147 #endif
148
149 #ifdef ALLOW_CARBON
150 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
151 & iDIC ,'DIC ', PTRACERS_names(iDIC )
152 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
153 & SQUEEZE_RIGHT,myThid)
154 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
155 & iDOC ,'DOC ', PTRACERS_names(iDOC )
156 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
157 & SQUEEZE_RIGHT,myThid)
158 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
159 & iPOC ,'POC ', PTRACERS_names(iPOC )
160 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
161 & SQUEEZE_RIGHT,myThid)
162 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
163 & iPIC ,'PIC ', PTRACERS_names(iPIC )
164 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
165 & SQUEEZE_RIGHT,myThid)
166 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
167 & iALK ,'ALK ', PTRACERS_names(iALK )
168 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
169 & SQUEEZE_RIGHT,myThid)
170 WRITE(msgBuf,'(A,I4,X,A,A32)') 'MONOD_CHECK: ',
171 & iO2 ,'iO2 ', PTRACERS_names(iO2 )
172 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
173 & SQUEEZE_RIGHT,myThid)
174 DO nz = 1,nzmax
175 iPtr = iZooC (nz)
176 WRITE(msgBuf,'(A,I4,X,A,I1,A,A32)') 'MONOD_CHECK: ',
177 & iPtr, 'ZooC (',nz,') ', PTRACERS_names(iPtr)
178 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
179 & SQUEEZE_RIGHT,myThid)
180 ENDDO
181
182 #endif
183
184 RETURN
185 END
186
187 #endif /* ALLOW_MONOD */
188 #endif /* ALLOW_PTRACERS */
189

  ViewVC Help
Powered by ViewVC 1.1.22