/[MITgcm]/MITgcm/model/src/ini_cori.F
ViewVC logotype

Annotation of /MITgcm/model/src/ini_cori.F

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


Revision 1.19 - (hide annotations) (download)
Sun Oct 10 06:08:47 2004 UTC (19 years, 7 months ago) by edhill
Branch: MAIN
Changes since 1.18: +1 -4 lines
 o move useMNC and related runtime switches to PARAMS.h

1 edhill 1.19 C $Header: /u/gcmpack/MITgcm/model/src/ini_cori.F,v 1.18 2004/09/15 21:23:32 edhill Exp $
2 adcroft 1.10 C $Name: $
3 cnh 1.1
4 jmc 1.17 #include "PACKAGES_CONFIG.h"
5 cnh 1.6 #include "CPP_OPTIONS.h"
6 cnh 1.1
7 cnh 1.12 CBOP
8     C !ROUTINE: INI_CORI
9 edhill 1.18
10 cnh 1.12 C !INTERFACE:
11 cnh 1.1 SUBROUTINE INI_CORI( myThid )
12 edhill 1.18 C !DESCRIPTION:
13     C Initialise coriolis term.
14 cnh 1.12
15     C !USES:
16 adcroft 1.7 IMPLICIT NONE
17 cnh 1.1 #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     #include "GRID.h"
21     #include "DYNVARS.h"
22 edhill 1.18 #ifdef ALLOW_MONITOR
23     #include "MONITOR.h"
24     #endif
25 cnh 1.1
26 cnh 1.12 C !INPUT/OUTPUT PARAMETERS:
27 cnh 1.1 INTEGER myThid
28 edhill 1.18 CEOP
29 cnh 1.1
30 cnh 1.12 C !LOCAL VARIABLES:
31 cnh 1.1 C bi,bj - Loop counters
32     C I,J,K
33     C facGrid - Factor for grid to meter conversion
34     INTEGER bi, bj
35     INTEGER I, J, K
36     _RL facGrid
37    
38 edhill 1.18 C Initialise coriolis parameter
39 cnh 1.3 IF ( useConstantF ) THEN
40 edhill 1.18 C Constant F case
41     DO bj = myByLo(myThid), myByHi(myThid)
42     DO bi = myBxLo(myThid), myBxHi(myThid)
43     DO K=1,Nr
44     DO J=1-Oly,sNy+Oly
45     DO I=1-Olx,sNx+Olx
46     fCori(i,j,bi,bj)=f0
47     fCoriG(i,j,bi,bj)=f0
48     fCoriCos(i,j,bi,bj)=0.
49     ENDDO
50     ENDDO
51     ENDDO
52 cnh 1.1 ENDDO
53     ENDDO
54 cnh 1.3 ELSEIF ( useBetaPlaneF ) THEN
55 edhill 1.18 C Beta plane case
56     facGrid = 1. _d 0
57     IF ( usingSphericalPolarGrid ) facGrid = deg2rad*rSphere
58     DO bj = myByLo(myThid), myByHi(myThid)
59     DO bi = myBxLo(myThid), myBxHi(myThid)
60     DO K=1,Nr
61     DO J=1-Oly,sNy+Oly
62     DO I=1-Olx,sNx+Olx
63     fCori(i,j,bi,bj)=f0+beta*_yC(i,j,bi,bj)*facGrid
64     fCoriG(i,j,bi,bj)=f0+beta*yG(i,j,bi,bj)*facGrid
65     fCoriCos(i,j,bi,bj)=0.
66     ENDDO
67     ENDDO
68     ENDDO
69 cnh 1.3 ENDDO
70     ENDDO
71     ELSEIF ( useSphereF ) THEN
72 edhill 1.18 C Spherical case
73     C Note in this case we assume yC is in degrees.
74     DO bj = myByLo(myThid), myByHi(myThid)
75     DO bi = myBxLo(myThid), myBxHi(myThid)
76     DO K=1,Nr
77     DO J=1-Oly,sNy+Oly
78     DO I=1-Olx,sNx+Olx
79     fCori(i,j,bi,bj)=
80     & 2. _d 0*omega*sin(_yC(i,j,bi,bj)*deg2rad)
81     fCoriG(i,j,bi,bj)=
82     & 2. _d 0*omega*sin(yG(i,j,bi,bj)*deg2rad)
83     fCoriCos(i,j,bi,bj)=
84     & 2. _d 0*omega*cos(_yC(i,j,bi,bj)*deg2rad)
85     ENDDO
86     ENDDO
87     ENDDO
88 cnh 1.3 ENDDO
89     ENDDO
90     ELSE
91 edhill 1.18 C Special custom form
92     DO bj = myByLo(myThid), myByHi(myThid)
93     DO bi = myBxLo(myThid), myBxHi(myThid)
94     DO K=1,Nr
95     DO J=1-Oly,sNy+Oly
96     DO I=1-Olx,sNx+Olx
97     fCori(i,j,bi,bj)=0.
98     fCoriG(i,j,bi,bj)=0.
99     fCoriCos(i,j,bi,bj)=0.
100     ENDDO
101     ENDDO
102     ENDDO
103 cnh 1.3 ENDDO
104     ENDDO
105     ENDIF
106 edhill 1.18 C
107     C _EXCH_XY_R4(fCori,myThid)
108     C CALL EXCH_Z_XY_RS(fCoriG,myThid)
109     C _EXCH_XY_R4(fCoriCos,myThid)
110 adcroft 1.11
111 edhill 1.16 #ifdef ALLOW_MONITOR
112 edhill 1.18 mon_write_stdout = .FALSE.
113     mon_write_mnc = .FALSE.
114     IF (monitor_stdio) THEN
115     mon_write_stdout = .TRUE.
116     ENDIF
117    
118     #ifdef ALLOW_MNC
119     IF (useMNC .AND. monitor_mnc) THEN
120     DO i = 1,MAX_LEN_MBUF
121     mon_fname(i:i) = ' '
122     ENDDO
123     mon_fname(1:12) = 'monitor_grid'
124     CALL MNC_CW_SET_UDIM(mon_fname, 1, myThid)
125     mon_write_mnc = .TRUE.
126     ENDIF
127     #endif /* ALLOW_MNC */
128    
129 adcroft 1.11 CALL MON_PRINTSTATS_RS(1,fCori,'fCori',myThid)
130     CALL MON_PRINTSTATS_RS(1,fCoriG,'fCoriG',myThid)
131 adcroft 1.15 CALL MON_PRINTSTATS_RS(1,fCoriCos,'fCoriCos',myThid)
132 edhill 1.18
133     mon_write_stdout = .FALSE.
134     mon_write_mnc = .FALSE.
135 heimbach 1.13 #endif
136 cnh 1.1
137     RETURN
138     END

  ViewVC Help
Powered by ViewVC 1.1.22