/[MITgcm]/MITgcm/pkg/ggl90/ggl90_check.F
ViewVC logotype

Annotation of /MITgcm/pkg/ggl90/ggl90_check.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Tue Oct 27 15:23:22 2009 UTC (14 years, 7 months ago) by dfer
Branch: MAIN
Changes since 1.2: +7 -7 lines
Add option for mixing length min/max

1 dfer 1.3 C $Header: /u/gcmpack/MITgcm/pkg/ggl90/ggl90_check.F,v 1.2 2004/09/23 12:02:54 mlosch Exp $
2 mlosch 1.1 C $Name: $
3     #include "GGL90_OPTIONS.h"
4    
5     SUBROUTINE GGL90_CHECK( myThid )
6     C /==========================================================\
7     C | SUBROUTINE GGL90_CHECK |
8     C | o Validate basic package setup and inter-package |
9     C | dependencies. |
10     C \==========================================================/
11     IMPLICIT NONE
12    
13     C === Global variables ===
14     #include "SIZE.h"
15     #include "EEPARAMS.h"
16     #include "PARAMS.h"
17    
18     C === Routine arguments ===
19     C myThid - Number of this instance of GGL90_CHECK
20     INTEGER myThid
21    
22     #ifdef ALLOW_GGL90
23    
24     C === Local variables ===
25     C msgBuf - Informational/error meesage buffer
26     CHARACTER*(MAX_LEN_MBUF) msgBuf
27    
28     WRITE(msgBuf,'(A)') 'GGL90_CHECK: #define ALLOW_GGL90'
29     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
30     & SQUEEZE_RIGHT , 1)
31    
32 mlosch 1.2 C So far, GGL90 works only with oceanic z-coordinates
33     IF ( buoyancyRelation .NE. 'OCEANIC' ) THEN
34     WRITE(msgBuf,'(A)')
35     & 'GGL90 works only with buoyancyRelation = ''OCEANIC'''
36     CALL PRINT_ERROR( msgBuf , 1)
37     STOP 'ABNORMAL END: S/R GGL90_CHECK'
38     ENDIF
39    
40 dfer 1.3 C GGL90 needs convection turned on, but keep warning message
41     IF (cAdjFreq.NE.0. .OR. ivdc_kappa.NE.0. ) THEN
42     WRITE(msgBuf,'(A)')
43     & 'GGL90_CHECK: WARNING: Some form of convection has been enabled'
44     CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
45     & SQUEEZE_RIGHT , myThid)
46 mlosch 1.1 ENDIF
47    
48     IF ( useKPP ) THEN
49     WRITE(msgBuf,'(A)')
50     & 'GGL90 and KPP cannot be turned on at the same time'
51     CALL PRINT_ERROR( msgBuf , 1)
52     STOP 'ABNORMAL END: S/R GGL90_CHECK'
53     ENDIF
54    
55     IF ( usePP81 ) THEN
56     WRITE(msgBuf,'(A)')
57     & 'GGL90 and PP81 cannot be turned on at the same time'
58     CALL PRINT_ERROR( msgBuf , 1)
59     STOP 'ABNORMAL END: S/R GGL90_CHECK'
60     ENDIF
61    
62     IF ( useMY82 ) THEN
63     WRITE(msgBuf,'(A)')
64     & 'GGL90 and MY82 cannot be turned on at the same time'
65     CALL PRINT_ERROR( msgBuf , 1)
66     STOP 'ABNORMAL END: S/R GGL90_CHECK'
67     ENDIF
68    
69     C GGL90 needs implicit vertical diffusion and viscosity
70     IF (.NOT.implicitDiffusion ) THEN
71     WRITE(msgBuf,'(A)')
72     & 'GGL90 needs implicitDiffusion to be enabled'
73     CALL PRINT_ERROR( msgBuf , 1)
74     STOP 'ABNORMAL END: S/R GGL90_CHECK'
75     ENDIF
76     IF (.NOT.implicitViscosity) THEN
77     WRITE(msgBuf,'(A)')
78     & 'GGL90 needs implicitViscosity to be enabled'
79     CALL PRINT_ERROR( msgBuf , 1)
80     STOP 'ABNORMAL END: S/R GGL90_CHECK'
81     ENDIF
82    
83     #endif /* ALLOW_GGL90 */
84    
85     return
86     end

  ViewVC Help
Powered by ViewVC 1.1.22