49 |
INTEGER i,j |
INTEGER i,j |
50 |
_RL alphaRho(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL alphaRho(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
51 |
_RL dRloc,dRlocKp1 |
_RL dRloc,dRlocKp1 |
52 |
|
_RL ddRm1, ddRp1, ddRm, ddRp |
53 |
|
_RL atm_cp, atm_kappa, atm_po |
54 |
|
|
55 |
IF ( buoyancyRelation .eq. 'OCEANIC' ) THEN |
IF ( buoyancyRelation .eq. 'OCEANIC' ) THEN |
56 |
|
|
113 |
|
|
114 |
ELSEIF ( buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN |
ELSEIF ( buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN |
115 |
|
|
116 |
|
atm_cp=1004. _d 0 |
117 |
|
atm_kappa=2. _d 0/7. _d 0 |
118 |
|
atm_po=1. _d 5 |
119 |
|
IF (K.EQ.1) THEN |
120 |
|
C Integrate d Phi / d R |
121 |
|
ddRp1=atm_cp*( ((rC(K)/atm_po)**atm_kappa) |
122 |
|
& -((rF(K)/atm_po)**atm_kappa) ) |
123 |
|
DO j=jMin,jMax |
124 |
|
DO i=iMin,iMax |
125 |
|
ddRp=ddRp1 |
126 |
|
IF (hFacC(I,J, K ,bi,bj).EQ.0.) ddRp=0. |
127 |
|
phiHyd(i,j,K)=0. |
128 |
|
& -ddRp*(theta(I,J,K,bi,bj)-tRef(K)) |
129 |
|
ENDDO |
130 |
|
ENDDO |
131 |
|
ELSE |
132 |
|
C Integrate d Phi / d R |
133 |
|
ddRp1=atm_cp*( ((rC( K )/atm_po)**atm_kappa) |
134 |
|
& -((rF( K )/atm_po)**atm_kappa) ) |
135 |
|
ddRm1=atm_cp*( ((rF( K )/atm_po)**atm_kappa) |
136 |
|
& -((rC(K-1)/atm_po)**atm_kappa) ) |
137 |
|
DO j=jMin,jMax |
138 |
|
DO i=iMin,iMax |
139 |
|
ddRp=ddRp1 |
140 |
|
ddRm=ddRm1 |
141 |
|
IF (hFacC(I,J, K ,bi,bj).EQ.0.) ddRp=0. |
142 |
|
IF (hFacC(I,J,K-1,bi,bj).EQ.0.) ddRm=0. |
143 |
|
phiHyd(i,j,K)=phiHyd(i,j,K-1) |
144 |
|
& -( ddRm*(theta(I,J,K-1,bi,bj)-tRef(K-1)) |
145 |
|
& +ddRp*(theta(I,J, K ,bi,bj)-tRef( K )) ) |
146 |
|
ENDDO |
147 |
|
ENDDO |
148 |
|
ENDIF |
149 |
|
|
150 |
ELSE |
ELSE |
151 |
STOP 'CALC_PHI_HYD: We should never reach this point!' |
STOP 'CALC_PHI_HYD: We should never reach this point!' |
152 |
ENDIF |
ENDIF |