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

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

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


Revision 1.14 - (show annotations) (download)
Tue Nov 5 19:58:21 2002 UTC (21 years, 7 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint47a_post, checkpoint46m_post, checkpoint47
Changes since 1.13: +6 -1 lines
Added non-hydrostatic Coriolis term to U equation
 - needs new PARAMS.h arraya fCoriCos(i,j,bi,bj)
 - new routine: mom_u_coriolis_nh()

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_cori.F,v 1.13 2002/02/15 21:25:09 heimbach Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: INI_CORI
8 C !INTERFACE:
9 SUBROUTINE INI_CORI( myThid )
10 C !DESCRIPTION: \bv
11 C *==========================================================*
12 C | SUBROUTINE INI_CORI
13 C | o Initialise coriolis term.
14 C *==========================================================*
15 C \ev
16
17 C !USES:
18 IMPLICIT NONE
19 C == Global variables ==
20 #include "SIZE.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "GRID.h"
24 #include "DYNVARS.h"
25
26 C !INPUT/OUTPUT PARAMETERS:
27 C == Routine arguments ==
28 C myThid - Number of this instance of INI_CORI
29 INTEGER myThid
30
31 C !LOCAL VARIABLES:
32 C == Local variables ==
33 C bi,bj - Loop counters
34 C I,J,K
35 C facGrid - Factor for grid to meter conversion
36 INTEGER bi, bj
37 INTEGER I, J, K
38 _RL facGrid
39 CEOP
40
41 C-- Initialise coriolis parameter
42 IF ( useConstantF ) THEN
43 C o Constant F case
44 DO bj = myByLo(myThid), myByHi(myThid)
45 DO bi = myBxLo(myThid), myBxHi(myThid)
46 DO K=1,Nr
47 DO J=1-Oly,sNy+Oly
48 DO I=1-Olx,sNx+Olx
49 fCori(i,j,bi,bj)=f0
50 fCoriG(i,j,bi,bj)=f0
51 fCoriCos(i,j,bi,bj)=0.
52 ENDDO
53 ENDDO
54 ENDDO
55 ENDDO
56 ENDDO
57 ELSEIF ( useBetaPlaneF ) THEN
58 C o Beta plane case
59 facGrid = 1. _d 0
60 IF ( usingSphericalPolarGrid ) facGrid = deg2rad*rSphere
61 DO bj = myByLo(myThid), myByHi(myThid)
62 DO bi = myBxLo(myThid), myBxHi(myThid)
63 DO K=1,Nr
64 DO J=1-Oly,sNy+Oly
65 DO I=1-Olx,sNx+Olx
66 fCori(i,j,bi,bj)=f0+beta*_yC(i,j,bi,bj)*facGrid
67 fCoriG(i,j,bi,bj)=f0+beta*yG(i,j,bi,bj)*facGrid
68 fCoriCos(i,j,bi,bj)=0.
69 ENDDO
70 ENDDO
71 ENDDO
72 ENDDO
73 ENDDO
74 ELSEIF ( useSphereF ) THEN
75 C o Spherical case
76 C Note in this case we assume yC is in degrees.
77 DO bj = myByLo(myThid), myByHi(myThid)
78 DO bi = myBxLo(myThid), myBxHi(myThid)
79 DO K=1,Nr
80 DO J=1-Oly,sNy+Oly
81 DO I=1-Olx,sNx+Olx
82 fCori(i,j,bi,bj)=
83 & 2. _d 0*omega*sin(_yC(i,j,bi,bj)*deg2rad)
84 fCoriG(i,j,bi,bj)=
85 & 2. _d 0*omega*sin(yG(i,j,bi,bj)*deg2rad)
86 fCoriCos(i,j,bi,bj)=
87 & 2. _d 0*omega*cos(_yC(i,j,bi,bj)*deg2rad)
88 ENDDO
89 ENDDO
90 ENDDO
91 ENDDO
92 ENDDO
93 ELSE
94 C o Special custom form
95 DO bj = myByLo(myThid), myByHi(myThid)
96 DO bi = myBxLo(myThid), myBxHi(myThid)
97 DO K=1,Nr
98 DO J=1-Oly,sNy+Oly
99 DO I=1-Olx,sNx+Olx
100 fCori(i,j,bi,bj)=0.
101 fCoriG(i,j,bi,bj)=0.
102 fCoriCos(i,j,bi,bj)=0.
103 ENDDO
104 ENDDO
105 ENDDO
106 ENDDO
107 ENDDO
108 ENDIF
109 C
110 c _EXCH_XY_R4(fCori,myThid)
111 c CALL EXCH_Z_XY_RS(fCoriG,myThid)
112
113 #ifndef EXCLUDE_MONITOR
114 CALL MON_PRINTSTATS_RS(1,fCori,'fCori',myThid)
115 CALL MON_PRINTSTATS_RS(1,fCoriG,'fCoriG',myThid)
116 #endif
117
118 RETURN
119 END

  ViewVC Help
Powered by ViewVC 1.1.22