forked from altMITgcm/MITgcm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cost_check.F
115 lines (103 loc) · 4.13 KB
/
cost_check.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
C $Header: /u/gcmpack/MITgcm/pkg/cost/cost_check.F,v 1.8 2012/08/10 19:36:02 jmc Exp $
C $Name: $
#include "COST_OPTIONS.h"
SUBROUTINE COST_CHECK( myThid )
C /==========================================================\
C | SUBROUTINE CTRK_CHECK |
C | o Validate basic package setup and inter-package |
C | dependencies. |
C \==========================================================/
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
C === Routine arguments ===
C myThid - Number of this instance
INTEGER myThid
C === Local variables ===
C msgBuf - Informational/error meesage buffer
CHARACTER*(MAX_LEN_MBUF) msgBuf
WRITE(msgBuf,'(A)') 'COST_CHECK: cost package'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT , 1)
#ifdef ALLOW_ECCO
#if ((defined (ALLOW_HFLUX_CONTROL) && \
!defined (ALLOW_HFLUX_COST_CONTRIBUTION)) || \
(!defined (ALLOW_HFLUX_CONTROL) && \
defined (ALLOW_HFLUX_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_HFLUX_CONTROL & ALLOW_HFLUX_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#elif ((defined (ALLOW_ATEMP_CONTROL) && \
!defined (ALLOW_ATEMP_COST_CONTRIBUTION)) || \
(!defined (ALLOW_ATEMP_CONTROL) && \
defined (ALLOW_ATEMP_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_ATEMP_CONTROL & ALLOW_ATEMP_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#endif
#if ((defined (ALLOW_SFLUX_CONTROL) && \
!defined (ALLOW_SFLUX_COST_CONTRIBUTION)) || \
(!defined (ALLOW_SFLUX_CONTROL) && \
defined (ALLOW_SFLUX_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_SFLUX_CONTROL & ALLOW_SFLUX_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#elif ((defined (ALLOW_AQH_CONTROL) && \
!defined (ALLOW_AQH_COST_CONTRIBUTION)) || \
(!defined (ALLOW_AQH_CONTROL) && \
defined (ALLOW_AQH_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_AQH_CONTROL & ALLOW_AQH_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#endif
#if ((defined (ALLOW_USTRESS_CONTROL) && \
!defined (ALLOW_USTRESS_COST_CONTRIBUTION)) || \
(!defined (ALLOW_USTRESS_CONTROL) && \
defined (ALLOW_USTRESS_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_USTRESS_CONTROL & ALLOW_USTRESS_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#elif ((defined (ALLOW_UWIND_CONTROL) && \
!defined (ALLOW_UWIND_COST_CONTRIBUTION)) || \
(!defined (ALLOW_UWIND_CONTROL) && \
defined (ALLOW_UWIND_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_UWIND_CONTROL & ALLOW_UWIND_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#endif
#if ((defined (ALLOW_VSTRESS_CONTROL) && \
!defined (ALLOW_VSTRESS_COST_CONTRIBUTION)) || \
(!defined (ALLOW_VSTRESS_CONTROL) && \
defined (ALLOW_VSTRESS_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_VSTRESS_CONTROL & ALLOW_VSTRESS_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#elif ((defined (ALLOW_VWIND_CONTROL) && \
!defined (ALLOW_VWIND_COST_CONTRIBUTION)) || \
(!defined (ALLOW_VWIND_CONTROL) && \
defined (ALLOW_VWIND_COST_CONTRIBUTION)))
c WRITE(msgBuf,'(A,A)')
c & 'Must have both ',
c & 'ALLOW_VWIND_CONTROL & ALLOW_VWIND_COST_CONTRIBUTION'
c CALL PRINT_ERROR( msgBuf , 1)
cph STOP 'ABNORMAL END: S/R COST_CHECK'
#endif
#endif /* ALLOW_ECCO */
return
end