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

Annotation 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 - (hide annotations) (download)
Wed Dec 4 21:17:46 2013 UTC (11 years, 7 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 jahn 1.2 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 jahn 1.1
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 jahn 1.2 if ( nDarwin .GT. PTRACERS_numInUse ) THEN
43 jahn 1.1 WRITE(msgBuf,'(A,I5,A,I5)')
44 jahn 1.2 & 'MONOD_CHECK: ERROR: nDarwin > PTRACERS_numInUse: ',
45     & nDarwin,' vs ',PTRACERS_numInUse
46 jahn 1.1 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