7 |
CBOP |
CBOP |
8 |
C !ROUTINE: INI_EOS |
C !ROUTINE: INI_EOS |
9 |
C !INTERFACE: |
C !INTERFACE: |
10 |
subroutine ini_eos( myThid ) |
SUBROUTINE INI_EOS( myThid ) |
11 |
C !DESCRIPTION: \bv |
C !DESCRIPTION: \bv |
12 |
C *==========================================================* |
C *==========================================================* |
13 |
C | SUBROUTINE INI_EOS |
C | SUBROUTINE INI_EOS |
14 |
C | o Initialise coefficients of equation of state. |
C | o Initialise coefficients of equation of state. |
15 |
C *==========================================================* |
C *==========================================================* |
16 |
C \ev |
C \ev |
17 |
|
|
18 |
C !USES: |
C !USES: |
19 |
|
|
20 |
implicit none |
IMPLICIT NONE |
21 |
C == Global variables == |
C == Global variables == |
22 |
#include "SIZE.h" |
#include "SIZE.h" |
23 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
33 |
|
|
34 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
35 |
C == Local variables == |
C == Local variables == |
36 |
C I,K - Loop counters |
C i,k :: Loop counters |
37 |
INTEGER I, K |
INTEGER i, k |
38 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
39 |
|
|
40 |
IF ( .NOT.fluidIsWater ) RETURN |
IF ( .NOT.fluidIsWater ) RETURN |
41 |
|
|
42 |
|
_BARRIER |
43 |
|
_BEGIN_MASTER(myThid) |
44 |
|
|
45 |
equationOfState = eosType |
equationOfState = eosType |
46 |
|
|
47 |
do k = 1,6 |
DO k = 1,6 |
48 |
eosJMDCFw(k) = 0. _d 0 |
eosJMDCFw(k) = 0. _d 0 |
49 |
end do |
ENDDO |
50 |
do k = 1,9 |
DO k = 1,9 |
51 |
eosJMDCSw(k) = 0. _d 0 |
eosJMDCSw(k) = 0. _d 0 |
52 |
end do |
ENDDO |
53 |
do k = 1,5 |
DO k = 1,5 |
54 |
eosJMDCKFw(k) = 0. _d 0 |
eosJMDCKFw(k) = 0. _d 0 |
55 |
end do |
ENDDO |
56 |
do k = 1,7 |
DO k = 1,7 |
57 |
eosJMDCKSw(k) = 0. _d 0 |
eosJMDCKSw(k) = 0. _d 0 |
58 |
end do |
ENDDO |
59 |
do k = 1,14 |
DO k = 1,14 |
60 |
eosJMDCKP(k) = 0. _d 0 |
eosJMDCKP(k) = 0. _d 0 |
61 |
end do |
ENDDO |
62 |
do k = 0,11 |
DO k = 0,11 |
63 |
eosMDJWFnum(k) = 0. _d 0 |
eosMDJWFnum(k) = 0. _d 0 |
64 |
end do |
ENDDO |
65 |
do k = 0,12 |
DO k = 0,12 |
66 |
eosMDJWFden(k) = 0. _d 0 |
eosMDJWFden(k) = 0. _d 0 |
67 |
end do |
ENDDO |
68 |
|
|
69 |
if ( equationOfState .eq. 'LINEAR' ) then |
IF ( equationOfState .EQ. 'LINEAR' ) THEN |
70 |
if ( tAlpha .eq. UNSET_RL ) tAlpha = 2. _d -4 |
IF ( tAlpha .EQ. UNSET_RL ) tAlpha = 2. _d -4 |
71 |
if ( sBeta .eq. UNSET_RL ) sBeta = 7.4 _d -4 |
IF ( sBeta .EQ. UNSET_RL ) sBeta = 7.4 _d -4 |
72 |
elseif ( equationOfState .eq. 'POLY3' ) then |
ELSEIF ( equationOfState .EQ. 'POLY3' ) THEN |
|
_BEGIN_MASTER( myThid ) |
|
73 |
OPEN(37,FILE='POLY3.COEFFS',STATUS='OLD',FORM='FORMATTED') |
OPEN(37,FILE='POLY3.COEFFS',STATUS='OLD',FORM='FORMATTED') |
74 |
READ(37,*) I |
READ(37,*) k |
75 |
IF (I.NE.Nr) THEN |
IF (k.NE.Nr) THEN |
76 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
77 |
& 'ini_eos: attempt to read POLY3.COEFFS failed' |
& 'ini_eos: attempt to read POLY3.COEFFS failed' |
78 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , myThid ) |
79 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
80 |
& ' because bad # of levels in data' |
& ' because bad # of levels in data' |
81 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , myThid ) |
82 |
STOP 'Bad data in POLY3.COEFFS' |
STOP 'Bad data in POLY3.COEFFS' |
83 |
ENDIF |
ENDIF |
84 |
READ(37,*) (eosRefT(K),eosRefS(K),eosSig0(K),K=1,Nr) |
READ(37,*) (eosRefT(k),eosRefS(k),eosSig0(k),k=1,Nr) |
85 |
DO K=1,Nr |
DO k=1,Nr |
86 |
READ(37,*) (eosC(I,K),I=1,9) |
READ(37,*) (eosC(i,k),i=1,9) |
87 |
ENDDO |
ENDDO |
88 |
CLOSE(37) |
CLOSE(37) |
|
_END_MASTER( myThid ) |
|
|
_BARRIER |
|
89 |
|
|
90 |
elseif ( equationOfState(1:5) .eq. 'JMD95' |
ELSEIF ( equationOfState(1:5) .EQ. 'JMD95' |
91 |
& .or. equationOfState .eq. 'UNESCO' ) then |
& .OR. equationOfState .EQ. 'UNESCO' ) THEN |
92 |
C |
C |
93 |
C Jackett & McDougall (1995, JPO) equation of state |
C Jackett & McDougall (1995, JPO) equation of state |
94 |
C rho = R(salinity, potential temperature, pressure) |
C rho = R(salinity, potential temperature, pressure) |
95 |
C pressure needs to be available (from the previous |
C pressure needs to be available (from the previous |
96 |
C time step to linearize the problem) |
C time step to linearize the problem) |
97 |
C |
C |
98 |
if ( equationOfState .eq. 'JMD95Z' .and. usingPCoords ) then |
IF ( equationOfState .EQ. 'JMD95Z' .AND. usingPCoords ) THEN |
99 |
write(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
100 |
& 'ini_eos: equation of state ''JMD95Z'' should not' |
& 'ini_eos: equation of state ''JMD95Z'' should not' |
101 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , myThid ) |
102 |
write(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
103 |
& ' be used together with pressure coordinates.' |
& ' be used together with pressure coordinates.' |
104 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , myThid ) |
105 |
write(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
106 |
& ' Use only ''JMD95P'' with ''OCEANICP''.' |
& ' Use only ''JMD95P'' with ''OCEANICP''.' |
107 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , myThid ) |
108 |
STOP 'ABNORMAL END: S/R INI_EOS' |
STOP 'ABNORMAL END: S/R INI_EOS' |
109 |
endif |
ENDIF |
110 |
|
|
111 |
C coefficients nonlinear equation of state in pressure coordinates for |
C coefficients nonlinear equation of state in pressure coordinates for |
112 |
C 1. density of fresh water at p = 0 |
C 1. density of fresh water at p = 0 |
126 |
eosJMDCSw(7) = 1.0227 _d -04 |
eosJMDCSw(7) = 1.0227 _d -04 |
127 |
eosJMDCSw(8) = - 1.6546 _d -06 |
eosJMDCSw(8) = - 1.6546 _d -06 |
128 |
eosJMDCSw(9) = 4.8314 _d -04 |
eosJMDCSw(9) = 4.8314 _d -04 |
129 |
if ( equationOfState(1:5) .eq. 'JMD95' ) then |
IF ( equationOfState(1:5) .EQ. 'JMD95' ) THEN |
130 |
C 3. secant bulk modulus K of fresh water at p = 0 |
C 3. secant bulk modulus K of fresh water at p = 0 |
131 |
eosJMDCKFw(1) = 1.965933 _d +04 |
eosJMDCKFw(1) = 1.965933 _d +04 |
132 |
eosJMDCKFw(2) = 1.444304 _d +02 |
eosJMDCKFw(2) = 1.444304 _d +02 |
157 |
eosJMDCKP(13) = 6.128773 _d -08 |
eosJMDCKP(13) = 6.128773 _d -08 |
158 |
eosJMDCKP(14) = 6.207323 _d -10 |
eosJMDCKP(14) = 6.207323 _d -10 |
159 |
|
|
160 |
elseif ( equationOfState .eq. 'UNESCO' ) then |
ELSEIF ( equationOfState .EQ. 'UNESCO' ) THEN |
161 |
|
|
162 |
write(msgBuf,'(a)') |
WRITE(msgBuf,'(a)') |
163 |
& 'WARNING WARNING WARNING WARNING WARNING WARNING ' |
& 'WARNING WARNING WARNING WARNING WARNING WARNING ' |
164 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
165 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
166 |
write(msgBuf,'(a,a)') |
WRITE(msgBuf,'(a,a)') |
167 |
& 'WARNING: using the UNESCO formula with potential ', |
& 'WARNING: using the UNESCO formula with potential ', |
168 |
& 'temperature' |
& 'temperature' |
169 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
170 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
171 |
write(msgBuf,'(a)') |
WRITE(msgBuf,'(a)') |
172 |
& 'WARNING: can result in density errors of up to 5%' |
& 'WARNING: can result in density errors of up to 5%' |
173 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
174 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
175 |
write(msgBuf,'(a)') |
WRITE(msgBuf,'(a)') |
176 |
& 'WARNING: (see Jackett and McDougall 1995, JAOT)' |
& 'WARNING: (see Jackett and McDougall 1995, JAOT)' |
177 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
178 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
179 |
write(msgBuf,'(a)') |
WRITE(msgBuf,'(a)') |
180 |
& 'WARNING WARNING WARNING WARNING WARNING WARNING ' |
& 'WARNING WARNING WARNING WARNING WARNING WARNING ' |
181 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
182 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
183 |
|
|
184 |
C 3. secant bulk modulus K of fresh water at p = 0 |
C 3. secant bulk modulus K of fresh water at p = 0 |
185 |
eosJMDCKFw(1) = 1.965221 _d +04 |
eosJMDCKFw(1) = 1.965221 _d +04 |
210 |
eosJMDCKP(12) = - 9.9348 _d -07 |
eosJMDCKP(12) = - 9.9348 _d -07 |
211 |
eosJMDCKP(13) = 2.0816 _d -08 |
eosJMDCKP(13) = 2.0816 _d -08 |
212 |
eosJMDCKP(14) = 9.1697 _d -10 |
eosJMDCKP(14) = 9.1697 _d -10 |
213 |
else |
ELSE |
214 |
STOP 'INI_EOS: We should never reach this point!' |
STOP 'INI_EOS: We should never reach this point!' |
215 |
endif |
ENDIF |
216 |
|
|
217 |
elseif ( equationOfState .eq. 'MDJWF' ) then |
ELSEIF ( equationOfState .EQ. 'MDJWF' ) THEN |
218 |
|
|
219 |
eosMDJWFnum( 0) = 9.99843699 _d +02 |
eosMDJWFnum( 0) = 9.99843699 _d +02 |
220 |
eosMDJWFnum( 1) = 7.35212840 _d +00 |
eosMDJWFnum( 1) = 7.35212840 _d +00 |
228 |
eosMDJWFnum( 9) = 5.18761880 _d -06 |
eosMDJWFnum( 9) = 5.18761880 _d -06 |
229 |
eosMDJWFnum(10) = -3.24041825 _d -08 |
eosMDJWFnum(10) = -3.24041825 _d -08 |
230 |
eosMDJWFnum(11) = -1.23869360 _d -11 |
eosMDJWFnum(11) = -1.23869360 _d -11 |
231 |
|
|
232 |
|
|
233 |
eosMDJWFden( 0) = 1.00000000 _d +00 |
eosMDJWFden( 0) = 1.00000000 _d +00 |
234 |
eosMDJWFden( 1) = 7.28606739 _d -03 |
eosMDJWFden( 1) = 7.28606739 _d -03 |
235 |
eosMDJWFden( 2) = -4.60835542 _d -05 |
eosMDJWFden( 2) = -4.60835542 _d -05 |
243 |
eosMDJWFden(10) = 5.30848875 _d -06 |
eosMDJWFden(10) = 5.30848875 _d -06 |
244 |
eosMDJWFden(11) = -3.03175128 _d -16 |
eosMDJWFden(11) = -3.03175128 _d -16 |
245 |
eosMDJWFden(12) = -1.27934137 _d -17 |
eosMDJWFden(12) = -1.27934137 _d -17 |
|
|
|
|
elseif( equationOfState .eq. 'IDEALG' ) then |
|
|
C |
|
|
else |
|
246 |
|
|
247 |
write(msgbuf,'(3a)') ' INI_EOS: equationOfState = "', |
ELSEIF( equationOfState .EQ. 'IDEALG' ) THEN |
248 |
|
|
249 |
|
ELSE |
250 |
|
|
251 |
|
WRITE(msgbuf,'(3a)') ' INI_EOS: equationOfState = "', |
252 |
& equationOfState,'"' |
& equationOfState,'"' |
253 |
call print_error( msgbuf, mythid ) |
CALL PRINT_ERROR( msgbuf, myThid ) |
254 |
stop 'ABNORMAL END: S/R INI_EOS' |
STOP 'ABNORMAL END: S/R INI_EOS' |
255 |
|
|
256 |
end if |
ENDIF |
257 |
|
|
|
_BEGIN_MASTER( myThid ) |
|
258 |
C-- Check EOS initialisation: |
C-- Check EOS initialisation: |
259 |
|
|
260 |
call check_eos( myThid ) |
CALL CHECK_EOS( myThid ) |
261 |
|
|
262 |
_END_MASTER( myThid ) |
_END_MASTER( myThid ) |
263 |
|
_BARRIER |
264 |
|
|
265 |
RETURN |
RETURN |
266 |
END |
END |
268 |
CBOP |
CBOP |
269 |
C !ROUTINE: CHECK_EOS |
C !ROUTINE: CHECK_EOS |
270 |
C !INTERFACE: |
C !INTERFACE: |
271 |
subroutine check_eos( myThid ) |
SUBROUTINE CHECK_EOS( myThid ) |
272 |
C !DESCRIPTION: \bv |
C !DESCRIPTION: \bv |
273 |
C *==========================================================* |
C *==========================================================* |
274 |
C | SUBROUTINE CHECK_EOS |
C | SUBROUTINE CHECK_EOS |
275 |
C | o check the equation of state. |
C | o check the equation of state. |
276 |
C *==========================================================* |
C *==========================================================* |
277 |
C \ev |
C \ev |
278 |
|
|
279 |
C !USES: |
C !USES: |
280 |
|
|
281 |
implicit none |
IMPLICIT NONE |
282 |
#include "SIZE.h" |
#include "SIZE.h" |
283 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
284 |
#include "PARAMS.h" |
#include "PARAMS.h" |
296 |
C I,J,K |
C I,J,K |
297 |
INTEGER bi, bj |
INTEGER bi, bj |
298 |
INTEGER imin, imax, jmin, jmax |
INTEGER imin, imax, jmin, jmax |
299 |
INTEGER I, J, K |
INTEGER i, j, k |
300 |
_RL tFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL tFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
301 |
_RL sFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL sFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
302 |
_RL rhoLoc (1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL rhoLoc (1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
303 |
_RL bulkMod(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL bulkMod(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
310 |
|
|
311 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
312 |
|
|
313 |
DATA tloc |
DATA tloc |
314 |
& /3.25905152915860 _d 0, 20.38687090048638 _d 0, |
& /3.25905152915860 _d 0, 20.38687090048638 _d 0, |
315 |
& 25.44820830309568 _d 0, 20.17368557065936 _d 0, |
& 25.44820830309568 _d 0, 20.17368557065936 _d 0, |
316 |
& 13.43397459640398 _d 0, |
& 13.43397459640398 _d 0, |
324 |
& 12. _d 0, |
& 12. _d 0, |
325 |
& 5. _d 0, 25. _d 0, |
& 5. _d 0, 25. _d 0, |
326 |
& 5. _d 0, 25. _d 0, |
& 5. _d 0, 25. _d 0, |
327 |
& 4.03692566635316 _d 0, 22.84661726775120 _d 0, |
& 4.03692566635316 _d 0, 22.84661726775120 _d 0, |
328 |
& 3.62720389416752 _d 0, 22.62420229124846 _d 0/ |
& 3.62720389416752 _d 0, 22.62420229124846 _d 0/ |
329 |
& sloc |
& sloc |
330 |
& /35.5 _d 0, 35. _d 0, |
& /35.5 _d 0, 35. _d 0, |
359 |
& 23643.52599 _d 0, 25405.09717 _d 0, |
& 23643.52599 _d 0, 25405.09717 _d 0, |
360 |
& 25577.49819 _d 0, 27108.94504 _d 0/ |
& 25577.49819 _d 0, 27108.94504 _d 0/ |
361 |
|
|
362 |
|
|
363 |
bi = 1 |
bi = 1 |
364 |
bj = 1 |
bj = 1 |
365 |
k = 1 |
k = 1 |
369 |
jmax = 1 |
jmax = 1 |
370 |
i = 1 |
i = 1 |
371 |
j = 1 |
j = 1 |
372 |
if ( equationOfState.ne.'LINEAR' |
IF ( equationOfState.NE.'LINEAR' |
373 |
& .and. equationOfState.ne.'POLY3' ) then |
& .AND. equationOfState.NE.'POLY3' ) THEN |
374 |
C check nonlinear EOS |
C check nonlinear EOS |
375 |
write(msgBuf,'(a,a)') |
WRITE(msgBuf,'(a,a)') |
376 |
& 'check_eos: Check the equation of state: Type ', |
& 'check_eos: Check the equation of state: Type ', |
377 |
& equationOfState |
& equationOfState |
378 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
379 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
380 |
psave = pressure(i,j,k,bi,bj) |
psave = pressure(i,j,k,bi,bj) |
381 |
do kcheck = 1,ncheck |
DO kcheck = 1,ncheck |
382 |
pressure(i,j,k,bi,bj) = ploc(kcheck) |
pressure(i,j,k,bi,bj) = ploc(kcheck) |
383 |
if ( equationOfState.ne.'UNESCO' ) then |
IF ( equationOfState.NE.'UNESCO' ) THEN |
384 |
tFld(i,j,k,bi,bj) = ptloc(kcheck) |
tFld(i,j,k,bi,bj) = ptloc(kcheck) |
385 |
else |
ELSE |
386 |
tFld(i,j,k,bi,bj) = tloc(kcheck) |
tFld(i,j,k,bi,bj) = tloc(kcheck) |
387 |
endif |
ENDIF |
388 |
sFld(i,j,k,bi,bj) = sloc(kcheck) |
sFld(i,j,k,bi,bj) = sloc(kcheck) |
389 |
rholoc(i,j) = 0. _d 0 |
rholoc(i,j) = 0. _d 0 |
390 |
bulkMod(i,j) = -1. _d 0 |
bulkMod(i,j) = -1. _d 0 |
391 |
|
|
392 |
call find_rho( |
CALL FIND_RHO( |
393 |
& bi, bj, iMin, iMax, jMin, jMax, k, k, |
& bi, bj, iMin, iMax, jMin, jMax, k, k, |
394 |
& tFld, sFld, rholoc, myThid ) |
& tFld, sFld, rholoc, myThid ) |
395 |
|
|
396 |
call find_bulkmod( |
CALL FIND_BULKMOD( |
397 |
& bi, bj, imin, imax, jmin, jmax, k, k, |
& bi, bj, imin, imax, jmin, jmax, k, k, |
398 |
& tFld, sFld, bulkMod, myThid ) |
& tFld, sFld, bulkMod, myThid ) |
399 |
|
|
400 |
write(msgBuf, |
WRITE(msgBuf, |
401 |
& '(a4,f4.1,a5,f4.1,a6,f5.0,a5,a3,f10.5,1x,f11.5)') |
& '(a4,f4.1,a5,f4.1,a6,f5.0,a5,a3,f10.5,1x,f11.5)') |
402 |
& 'rho(', sFld(i,j,k,bi,bj), ' PSU,', |
& 'rho(', sFld(i,j,k,bi,bj), ' PSU,', |
403 |
& tFld(i,j,k,bi,bj), ' degC,', |
& tFld(i,j,k,bi,bj), ' degC,', |
404 |
c & pressure(i,j,k,bi,bj)*SItoBar, ' bar)',' = ', |
c & pressure(i,j,k,bi,bj)*SItoBar, ' bar)',' = ', |
405 |
& rloc(kcheck), bloc(kcheck) |
& rloc(kcheck), bloc(kcheck) |
406 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
407 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
408 |
write(msgBuf,'(a14,a22,f10.5,1x,f11.5)') |
WRITE(msgBuf,'(a14,a22,f10.5,1x,f11.5)') |
409 |
& 'rho(find_rho) ', |
& 'rho(find_rho) ', |
410 |
& ' = ', rholoc(i,j)+rhoConst, bulkMod(i,j) |
& ' = ', rholoc(i,j)+rhoConst, bulkMod(i,j) |
411 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
412 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
413 |
|
|
414 |
call find_rho_scalar( tFld(i,j,k,bi,bj), sLoc(kcheck), |
CALL FIND_RHO_SCALAR( tFld(i,j,k,bi,bj), sLoc(kcheck), |
415 |
& pLoc(kcheck), rhoLoc(i,j), myThid ) |
& pLoc(kcheck), rhoLoc(i,j), myThid ) |
416 |
bulkMod(i,j) = 0. _d 0 |
bulkMod(i,j) = 0. _d 0 |
417 |
write(msgBuf,'(a21,a15,f10.5,1x,f11.5)') |
WRITE(msgBuf,'(a21,a15,f10.5,1x,f11.5)') |
418 |
& 'rho(find_rho_scalar) ', |
& 'rho(find_rho_scalar) ', |
419 |
& ' = ', rholoc(i,j)+rhoConst, bulkMod(i,j) |
& ' = ', rholoc(i,j)+rhoConst, bulkMod(i,j) |
420 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
421 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
422 |
|
|
423 |
enddo |
ENDDO |
424 |
C end check nonlinear EOS |
C end check nonlinear EOS |
425 |
c pressure(i,j,k,bi,bj) = psave |
c pressure(i,j,k,bi,bj) = psave |
426 |
|
|
427 |
write(msgBuf,'(A)') 'end check the equation of state' |
WRITE(msgBuf,'(A)') 'end check the equation of state' |
428 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
429 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid ) |
430 |
|
|
431 |
endif |
ENDIF |
432 |
#endif /* EXCLUDE_EOS_CHECK */ |
#endif /* EXCLUDE_EOS_CHECK */ |
433 |
|
|
434 |
RETURN |
RETURN |