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

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

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

revision 1.3 by cnh, Mon Jun 8 21:43:01 1998 UTC revision 1.12.6.2 by heimbach, Tue Jun 24 23:05:29 2003 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3    
4  #include "CPP_EEOPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6  CStartOfInterface  CBOP
7    C     !ROUTINE: INI_CORI
8    C     !INTERFACE:
9        SUBROUTINE INI_CORI( myThid )        SUBROUTINE INI_CORI( myThid )
10  C     /==========================================================\  C     !DESCRIPTION: \bv
11  C     | SUBROUTINE INI_CORI                                      |  C     *==========================================================*
12  C     | o Initialise coriolis term.                              |  C     | SUBROUTINE INI_CORI                                      
13  C     \==========================================================/  C     | o Initialise coriolis term.                              
14    C     *==========================================================*
15  C     === Global variables ===  C     \ev
16    
17    C     !USES:
18          IMPLICIT NONE
19    C     == Global variables ==
20  #include "SIZE.h"  #include "SIZE.h"
21  #include "EEPARAMS.h"  #include "EEPARAMS.h"
22  #include "PARAMS.h"  #include "PARAMS.h"
23  #include "GRID.h"  #include "GRID.h"
24  #include "DYNVARS.h"  #include "DYNVARS.h"
25    
26    C     !INPUT/OUTPUT PARAMETERS:
27  C     == Routine arguments ==  C     == Routine arguments ==
28  C     myThid -  Number of this instance of INI_CORI  C     myThid -  Number of this instance of INI_CORI
29        INTEGER myThid        INTEGER myThid
 CEndOfInterface  
30    
31    C     !LOCAL VARIABLES:
32  C     == Local variables ==  C     == Local variables ==
 C     iG, jG - Global coordinate index  
33  C     bi,bj  - Loop counters  C     bi,bj  - Loop counters
34  C     I,J,K  C     I,J,K
35  C     facGrid - Factor for grid to meter conversion  C     facGrid - Factor for grid to meter conversion
       INTEGER iG, jG  
36        INTEGER bi, bj        INTEGER bi, bj
37        INTEGER  I,  J, K        INTEGER  I,  J, K
38        _RL facGrid        _RL facGrid
39    CEOP
40    
41  C--   Initialise coriolis parameter  C--   Initialise coriolis parameter
42        IF     ( useConstantF ) THEN        IF     ( useConstantF ) THEN
43  C      o Constant F case  C      o Constant F case
44         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
45          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
46           DO K=1,Nz           DO K=1,Nr
47            DO J=1,sNy            DO J=1-Oly,sNy+Oly
48             DO I=1,sNx             DO I=1-Olx,sNx+Olx
49              fCori(i,j,bi,bj)=f0              fCori(i,j,bi,bj)=f0
50                fCoriG(i,j,bi,bj)=f0
51                fCoriCos(i,j,bi,bj)=0.
52             ENDDO             ENDDO
53            ENDDO            ENDDO
54           ENDDO           ENDDO
# Line 51  C      o Beta plane case Line 60  C      o Beta plane case
60         IF ( usingSphericalPolarGrid ) facGrid = deg2rad*rSphere         IF ( usingSphericalPolarGrid ) facGrid = deg2rad*rSphere
61         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
62          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
63           DO K=1,Nz           DO K=1,Nr
64            DO J=1,sNy            DO J=1-Oly,sNy+Oly
65             DO I=1,sNx             DO I=1-Olx,sNx+Olx
66              fCori(i,j,bi,bj)=f0+beta*_yC(i,j,bi,bj)*facGrid              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             ENDDO
70            ENDDO            ENDDO
71           ENDDO           ENDDO
# Line 65  C      o Spherical case Line 76  C      o Spherical case
76  C        Note in this case we assume yC is in degrees.  C        Note in this case we assume yC is in degrees.
77         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
78          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
79           DO K=1,Nz           DO K=1,Nr
80            DO J=1,sNy            DO J=1-Oly,sNy+Oly
81             DO I=1,sNx             DO I=1-Olx,sNx+Olx
82              fCori(i,j,bi,bj)=2. _d 0*omega*sin(_yC(i,j,bi,bj)*deg2rad)              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             ENDDO
89            ENDDO            ENDDO
90           ENDDO           ENDDO
# Line 78  C        Note in this case we assume yC Line 94  C        Note in this case we assume yC
94  C      o Special custom form  C      o Special custom form
95         DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
96          DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
97           DO K=1,Nz           DO K=1,Nr
98            DO J=1,sNy            DO J=1-Oly,sNy+Oly
99             DO I=1,sNx             DO I=1-Olx,sNx+Olx
100              fCori(i,j,bi,bj)=0.              fCori(i,j,bi,bj)=0.
101                fCoriG(i,j,bi,bj)=0.
102                fCoriCos(i,j,bi,bj)=0.
103             ENDDO             ENDDO
104            ENDDO            ENDDO
105           ENDDO           ENDDO
# Line 89  C      o Special custom form Line 107  C      o Special custom form
107         ENDDO         ENDDO
108        ENDIF        ENDIF
109  C  C
110        _EXCH_XY_R4(fCori , myThid )  c     _EXCH_XY_R4(fCori,myThid)
111    c     CALL EXCH_Z_XY_RS(fCoriG,myThid)
112    c     _EXCH_XY_R4(fCoriCos,myThid)
113    
114    #ifndef EXCLUDE_MONITOR
115          CALL MON_PRINTSTATS_RS(1,fCori,'fCori',myThid)
116          CALL MON_PRINTSTATS_RS(1,fCoriG,'fCoriG',myThid)
117          CALL MON_PRINTSTATS_RS(1,fCoriCos,'fCoriCos',myThid)
118    #endif
119    
120        RETURN        RETURN
121        END        END

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.12.6.2

  ViewVC Help
Powered by ViewVC 1.1.22