30 |
#endif |
#endif |
31 |
|
|
32 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
33 |
|
C myThid :: my Thread Id number |
34 |
INTEGER myThid |
INTEGER myThid |
35 |
CEOP |
CEOP |
36 |
|
|
55 |
|
|
56 |
|
|
57 |
C Initialise coriolis parameter |
C Initialise coriolis parameter |
58 |
IF ( useConstantF ) THEN |
IF ( selectCoriMap.EQ.0 ) THEN |
59 |
C Constant F case |
C Constant F case |
60 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
61 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
63 |
DO i=1-Olx,sNx+Olx |
DO i=1-Olx,sNx+Olx |
64 |
fCori(i,j,bi,bj) = f0 |
fCori(i,j,bi,bj) = f0 |
65 |
fCoriG(i,j,bi,bj) = f0 |
fCoriG(i,j,bi,bj) = f0 |
66 |
fCoriCos(i,j,bi,bj)=0. _d 0 |
fCoriCos(i,j,bi,bj)=fPrime |
67 |
ENDDO |
ENDDO |
68 |
ENDDO |
ENDDO |
69 |
ENDDO |
ENDDO |
70 |
ENDDO |
ENDDO |
71 |
ELSEIF ( useBetaPlaneF ) THEN |
ELSEIF ( selectCoriMap.EQ.1 ) THEN |
72 |
C Beta plane case |
C Beta plane case |
73 |
facGrid = 1. _d 0 |
facGrid = 1. _d 0 |
74 |
IF ( usingSphericalPolarGrid |
IF ( usingSphericalPolarGrid |
79 |
DO i=1-Olx,sNx+Olx |
DO i=1-Olx,sNx+Olx |
80 |
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 |
81 |
fCoriG(i,j,bi,bj) = f0+beta* yG(i,j,bi,bj)*facGrid |
fCoriG(i,j,bi,bj) = f0+beta* yG(i,j,bi,bj)*facGrid |
82 |
fCoriCos(i,j,bi,bj)=0. _d 0 |
fCoriCos(i,j,bi,bj)=fPrime |
83 |
ENDDO |
ENDDO |
84 |
ENDDO |
ENDDO |
85 |
ENDDO |
ENDDO |
86 |
ENDDO |
ENDDO |
87 |
ELSEIF ( useSphereF ) THEN |
ELSEIF ( selectCoriMap.EQ.2 ) THEN |
88 |
C Spherical case |
C Spherical case |
89 |
C Note in this case we assume yC is in degrees. |
C Note in this case we assume yC is in degrees. |
90 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
105 |
c CALL WRITE_FLD_XY_RL('fCoriG',' ',fCoriG , 0,myThid) |
c CALL WRITE_FLD_XY_RL('fCoriG',' ',fCoriG , 0,myThid) |
106 |
c CALL WRITE_FLD_XY_RL('fCorCs',' ',fCoriCos,0,myThid) |
c CALL WRITE_FLD_XY_RL('fCorCs',' ',fCoriCos,0,myThid) |
107 |
ELSE |
ELSE |
108 |
C Special custom form |
C Initialise to zero |
109 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
110 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
111 |
DO j=1-Oly,sNy+Oly |
DO j=1-Oly,sNy+Oly |
117 |
ENDDO |
ENDDO |
118 |
ENDDO |
ENDDO |
119 |
ENDDO |
ENDDO |
120 |
|
ENDIF |
121 |
|
|
122 |
|
IF ( selectCoriMap.EQ.3 ) THEN |
123 |
|
C Special custom form: read from files |
124 |
CALL READ_REC_XY_RS( 'fCoriC.bin', fCori, 1, 0, myThid ) |
CALL READ_REC_XY_RS( 'fCoriC.bin', fCori, 1, 0, myThid ) |
125 |
CALL READ_REC_XY_RS( 'fCorCs.bin', fCoriCos,1, 0, myThid ) |
CALL READ_REC_XY_RS( 'fCorCs.bin', fCoriCos,1, 0, myThid ) |
126 |
IF ( .NOT.useCubedSphereExchange ) THEN |
IF ( .NOT.useCubedSphereExchange ) THEN |