1 |
C $Header: /u/gcmpack/MITgcm/pkg/gchem/gchem_check.F,v 1.3 2008/04/09 16:24:18 dfer Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "GCHEM_OPTIONS.h" |
5 |
|
6 |
SUBROUTINE GCHEM_CHECK( myThid ) |
7 |
C /==========================================================\ |
8 |
C | SUBROUTINE GCHEM_CHECK | |
9 |
C | o Validate basic package setup and inter-package | |
10 |
C | dependencies. | |
11 |
C \==========================================================/ |
12 |
IMPLICIT NONE |
13 |
|
14 |
C === Global variables === |
15 |
#include "SIZE.h" |
16 |
#include "EEPARAMS.h" |
17 |
#include "PARAMS.h" |
18 |
#include "GCHEM.h" |
19 |
|
20 |
C === Routine arguments === |
21 |
C myThid - Number of this instance |
22 |
INTEGER myThid |
23 |
|
24 |
#ifdef ALLOW_GCHEM |
25 |
|
26 |
C === Local variables === |
27 |
C msgBuf - Informational/error meesage buffer |
28 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
29 |
|
30 |
_BEGIN_MASTER(myThid) |
31 |
|
32 |
WRITE(msgBuf,'(A)') 'GCHEM_CHECK: #define ALLOW_GCHEM' |
33 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
34 |
& SQUEEZE_RIGHT , myThid ) |
35 |
|
36 |
C GCHEM needs passive tracer package |
37 |
IF ( .NOT.usePTRACERS) THEN |
38 |
WRITE(msgBuf,'(A)') 'usePTRACERS has to be .TRUE. for GCHEM' |
39 |
CALL PRINT_ERROR( msgBuf , myThid ) |
40 |
STOP 'ABNORMAL END: S/R GCHEM_CHECK' |
41 |
ENDIF |
42 |
|
43 |
C GCHEM cannot (yet!) run cfc and dic together |
44 |
IF ( useDIC .AND. useCFC ) THEN |
45 |
WRITE(msgBuf,'(A)') 'useDIC and useCFC cannot both be .TRUE.' |
46 |
CALL PRINT_ERROR( msgBuf , myThid ) |
47 |
STOP 'ABNORMAL END: S/R GCHEM_CHECK' |
48 |
ENDIF |
49 |
|
50 |
C GCHEM cannot run darwin and dic together |
51 |
IF ( useDARWIN .AND. useDIC ) THEN |
52 |
WRITE(msgBuf,'(A)') 'useDARWIN and useDIC cannot both be .TRUE.' |
53 |
CALL PRINT_ERROR( msgBuf , myThid ) |
54 |
STOP 'ABNORMAL END: S/R GCHEM_CHECK' |
55 |
ENDIF |
56 |
|
57 |
C GCHEM cannot run darwin and cfc together |
58 |
IF ( useDARWIN .AND. useCFC ) THEN |
59 |
WRITE(msgBuf,'(A)') 'useDARWIN and useCFC cannot both be .TRUE.' |
60 |
CALL PRINT_ERROR( msgBuf , myThid ) |
61 |
STOP 'ABNORMAL END: S/R GCHEM_CHECK' |
62 |
ENDIF |
63 |
|
64 |
#ifdef ALLOW_DARWIN |
65 |
C run checks specific to darwin |
66 |
IF ( useDARWIN ) THEN |
67 |
CALL DARWIN_CHECK( myThid ) |
68 |
ENDIF |
69 |
#endif |
70 |
|
71 |
_END_MASTER(myThid) |
72 |
|
73 |
#endif /* ALLOW_GCHEM */ |
74 |
|
75 |
RETURN |
76 |
END |