/[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.2 - (show annotations) (download)
Wed Dec 4 21:17:46 2013 UTC (11 years, 8 months ago) by jahn
Branch: MAIN
CVS Tags: ctrb_darwin2_ckpt65w_20160512, ctrb_darwin2_ckpt65j_20150225, ctrb_darwin2_ckpt66g_20170424, ctrb_darwin2_ckpt66k_20171025, ctrb_darwin2_ckpt66n_20180118, ctrb_darwin2_ckpt65v_20160409, ctrb_darwin2_ckpt65s_20160114, ctrb_darwin2_ckpt65_20140718, ctrb_darwin2_ckpt66d_20170214, ctrb_darwin2_ckpt64r_20131210, ctrb_darwin2_ckpt65m_20150615, ctrb_darwin2_ckpt65q_20151118, ctrb_darwin2_ckpt65o_20150914, ctrb_darwin2_ckpt65p_20151023, ctrb_darwin2_ckpt65e_20140929, ctrb_darwin2_ckpt64v_20140411, ctrb_darwin2_ckpt64z_20140711, ctrb_darwin2_ckpt65l_20150504, ctrb_darwin2_ckpt65z_20160929, ctrb_darwin2_ckpt65n_20150729, ctrb_darwin2_ckpt64y_20140622, ctrb_darwin2_ckpt65d_20140915, ctrb_darwin2_ckpt64t_20140202, ctrb_darwin2_ckpt66h_20170602, ctrb_darwin2_ckpt64s_20140105, ctrb_darwin2_ckpt64x_20140524, ctrb_darwin2_ckpt65x_20160612, ctrb_darwin2_ckpt66f_20170407, ctrb_darwin2_ckpt65g_20141120, ctrb_darwin2_ckpt65k_20150402, ctrb_darwin2_ckpt64w_20140502, ctrb_darwin2_ckpt66a_20161020, ctrb_darwin2_ckpt65f_20141014, ctrb_darwin2_ckpt66b_20161219, ctrb_darwin2_ckpt64u_20140308, ctrb_darwin2_ckpt65i_20150123, ctrb_darwin2_ckpt66j_20170815, ctrb_darwin2_ckpt65y_20160801, ctrb_darwin2_ckpt66c_20170121, ctrb_darwin2_ckpt65a_20140728, ctrb_darwin2_ckpt65b_20140812, ctrb_darwin2_ckpt65t_20160221, ctrb_darwin2_ckpt66o_20180209, ctrb_darwin2_ckpt66e_20170314, ctrb_darwin2_ckpt65u_20160315, ctrb_darwin2_ckpt65r_20151221, ctrb_darwin2_ckpt66i_20170718, ctrb_darwin2_ckpt65c_20140830, ctrb_darwin2_ckpt66l_20171025, ctrb_darwin2_ckpt65h_20141217, ctrb_darwin2_ckpt66m_20171213, HEAD
Changes since 1.1: +5 -5 lines
fix: check against PTRACERS_numInUse

1 C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/monod/monod_check.F,v 1.1 2011/04/13 18:56:25 jahn Exp $
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_numInUse ) THEN
43 WRITE(msgBuf,'(A,I5,A,I5)')
44 & 'MONOD_CHECK: ERROR: nDarwin > PTRACERS_numInUse: ',
45 & nDarwin,' vs ',PTRACERS_numInUse
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