/[MITgcm]/MITgcm/pkg/obcs/obcs_check.F
ViewVC logotype

Contents of /MITgcm/pkg/obcs/obcs_check.F

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


Revision 1.10 - (show annotations) (download)
Wed Sep 27 11:31:58 2006 UTC (17 years, 8 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint59, checkpoint58y_post, checkpoint58t_post, checkpoint58w_post, checkpoint58q_post, checkpoint58r_post, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59h, checkpoint58v_post, checkpoint58x_post, checkpoint58u_post, checkpoint58s_post
Changes since 1.9: +16 -1 lines
stop if obcs is used with useCDscheme = .true.

1 C $Header: /u/gcmpack/MITgcm/pkg/obcs/obcs_check.F,v 1.9 2005/12/07 19:58:35 jmc Exp $
2 C $Name: $
3
4 #include "OBCS_OPTIONS.h"
5
6 SUBROUTINE OBCS_CHECK( myThid )
7 C /==========================================================\
8 C | SUBROUTINE OBCS_CHECK |
9 C | o Check dependances with other packages |
10 C |==========================================================|
11 C \==========================================================/
12 IMPLICIT NONE
13
14 C === Global variables ===
15 #include "SIZE.h"
16 #include "EEPARAMS.h"
17 #include "PARAMS.h"
18 #include "OBCS.h"
19
20 C === Routine arguments ===
21 C myThid - Number of this instances
22 INTEGER myThid
23
24 #ifdef ALLOW_OBCS
25
26 C === Local variables ===
27 C msgBuf - Informational/error meesage buffer
28 CHARACTER*(MAX_LEN_MBUF) msgBuf
29 INTEGER i,j,bi,bj
30
31 WRITE(msgBuf,'(A)') 'OBCS_CHECK: #define ALLOW_OBCS'
32 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
33 & SQUEEZE_RIGHT,myThid)
34
35 #ifdef ALLOW_CD_CODE
36 IF ( useCDscheme ) THEN
37 WRITE(msgBuf,'(A)')
38 & 'OBCS_CHECK: ERROR: useCDscheme = .TRUE.'
39 CALL PRINT_ERROR( msgBuf , 1)
40 WRITE(msgBuf,'(A)')
41 & 'OBCS_CHECK: ERROR: The CD-scheme does not work with OBCS.'
42 CALL PRINT_ERROR( msgBuf , 1)
43 WRITE(msgBuf,'(A)')
44 & 'OBCS_CHECK: ERROR: Sorry, not yet implemented.'
45 CALL PRINT_ERROR( msgBuf , 1)
46 STOP 'ABNORMAL END: S/R OBCS_CHECK'
47 ENDIF
48 #endif /* ALLOW_CD_CODE */
49
50 #ifdef ALLOW_ORLANSKI
51 WRITE(msgBuf,'(A)') 'OBCS_CHECK: #define ALLOW_ORLANSKI'
52 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
53 & SQUEEZE_RIGHT,myThid)
54 #else
55 IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR.
56 & useOrlanskiEast.OR.useOrlanskiWest) THEN
57 WRITE(msgBuf,'(A)')
58 & 'OBCS_CHECK: ERROR: #undef OBCS_RADIATE_ORLANSKI and'
59 CALL PRINT_ERROR( msgBuf , 1)
60 WRITE(msgBuf,'(A)')
61 & 'OBCS_CHECK: ERROR: one of useOrlanski* logicals is true'
62 CALL PRINT_ERROR( msgBuf , 1)
63 STOP 'ABNORMAL END: S/R OBCS_CHECK'
64 ENDIF
65 #endif /* ALLOW_ORLANSKI */
66
67 IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR.
68 & useOrlanskiEast.OR.useOrlanskiWest) THEN
69 IF (nonlinFreeSurf.GT.0) THEN
70 WRITE(msgBuf,'(A)')
71 & 'OBCS_CHECK: ERROR: useOrlanski* Rad OBC with'
72 CALL PRINT_ERROR( msgBuf , 1)
73 WRITE(msgBuf,'(A)')
74 & 'OBCS_CHECK: ERROR: nonlinFreeSurf not yet implemented'
75 CALL PRINT_ERROR( msgBuf , 1)
76 STOP 'ABNORMAL END: S/R OBCS_CHECK'
77 ENDIF
78 #ifdef ALLOW_PTRACERS
79 IF (usePTracers) THEN
80 WRITE(msgBuf,'(A)')
81 & 'OBCS_CHECK: ERROR: useOrlanski* Rad OBC with'
82 CALL PRINT_ERROR( msgBuf , 1)
83 WRITE(msgBuf,'(A)')
84 & 'OBCS_CHECK: ERROR: pTracers not yet implemented'
85 CALL PRINT_ERROR( msgBuf , 1)
86 STOP 'ABNORMAL END: S/R OBCS_CHECK'
87 ENDIF
88 #endif ALLOW_PTRACERS
89 ENDIF
90
91 #ifndef ALLOW_OBCS_PRESCRIBE
92 IF (useOBCSprescribe) THEN
93 WRITE(msgBuf,'(A)')
94 & 'OBCS_CHECK: ERROR: useOBCSprescribe = .TRUE. for'
95 CALL PRINT_ERROR( msgBuf , 1)
96 WRITE(msgBuf,'(A)')
97 & 'OBCS_CHECK: undef ALLOW_OBCS_PRESCRIBE'
98 CALL PRINT_ERROR( msgBuf , 1)
99 STOP 'ABNORMAL END: S/R OBCS_CHECK'
100 ENDIF
101 #endif
102
103 IF ( debugLevel.GE.debLevB ) THEN
104 _BEGIN_MASTER( myThid )
105 DO bj = 1,nSy
106 DO bi = 1,nSx
107 write(*,*) 'bi,bj:',bi,bj,' OB_Jn=',(OB_Jn(i,bi,bj),i=1,sNx)
108 write(*,*) 'bi,bj:',bi,bj,' OB_Js=',(OB_Js(i,bi,bj),i=1,sNx)
109 write(*,*) 'bi,bj:',bi,bj,' OB_Ie=',(OB_Ie(j,bi,bj),j=1,sNy)
110 write(*,*) 'bi,bj:',bi,bj,' OB_Iw=',(OB_Iw(j,bi,bj),j=1,sNy)
111 ENDDO
112 ENDDO
113 _END_MASTER(myThid)
114 ENDIF
115
116 WRITE(msgBuf,'(A)') 'OBCS_CHECK: OK'
117 CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,
118 & SQUEEZE_RIGHT,myThid)
119
120 #endif /* ALLOW_OBCS */
121 RETURN
122 END

  ViewVC Help
Powered by ViewVC 1.1.22