1 |
jahn |
1.5 |
C $Header: /u/gcmpack/MITgcm_contrib/darwin/pkg/gchem/gchem_check.F,v 1.4 2008/07/28 15:09:22 jahn Exp $ |
2 |
jahn |
1.1 |
C $Name: $ |
3 |
jahn |
1.2 |
|
4 |
jahn |
1.1 |
#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 |
jahn |
1.2 |
#include "GCHEM.h" |
19 |
jahn |
1.1 |
|
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 |
jahn |
1.2 |
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 (yet!) 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 (yet!) 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 |
jahn |
1.4 |
#ifdef ALLOW_DARWIN |
65 |
jahn |
1.3 |
C run checks specific to darwin |
66 |
|
|
IF ( useDARWIN ) THEN |
67 |
|
|
CALL DARWIN_CHECK( myThid ) |
68 |
|
|
ENDIF |
69 |
jahn |
1.4 |
#endif |
70 |
jahn |
1.3 |
|
71 |
jahn |
1.1 |
_END_MASTER(myThid) |
72 |
|
|
|
73 |
|
|
#endif /* ALLOW_GCHEM */ |
74 |
|
|
|
75 |
|
|
RETURN |
76 |
|
|
END |