1 |
C $Header$ |
C $Header$ |
2 |
|
|
3 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
4 |
|
#define USE_FACTORIZED_POLY |
5 |
|
|
6 |
! ============================================================================== |
! ============================================================================== |
7 |
subroutine FIND_RHO( |
subroutine FIND_RHO( |
57 |
|
|
58 |
refTemp=eosRefT(kRef) |
refTemp=eosRefT(kRef) |
59 |
refSalt=eosRefS(kRef) |
refSalt=eosRefS(kRef) |
60 |
sigRef=eosSig0(kRef) |
sigRef=eosSig0(kRef) + (1000.-Rhonil) |
61 |
|
|
62 |
do j=jMin,jMax |
do j=jMin,jMax |
63 |
do i=iMin,iMax |
do i=iMin,iMax |
64 |
tP=theta(i,j,k,bi,bj)-refTemp |
tP=theta(i,j,k,bi,bj)-refTemp |
65 |
sP=salt(i,j,k,bi,bj)-refSalt |
sP=salt(i,j,k,bi,bj)-refSalt |
66 |
|
#ifdef USE_FACTORIZED_POLY |
67 |
deltaSig= |
deltaSig= |
68 |
& eosC(kRef,1)*tP |
& (( eosC(9,kRef)*sP + eosC(5,kRef) )*sP + eosC(2,kRef) )*sP |
69 |
& +eosC(kRef,2) *sP |
& + ( ( eosC(6,kRef) |
70 |
& +eosC(kRef,3)*tP*tP |
& *tP |
71 |
& +eosC(kRef,4)*tP *sP |
& +eosC(7,kRef)*sP + eosC(3,kRef) |
72 |
& +eosC(kRef,5) *sP*sP |
& )*tP |
73 |
& +eosC(kRef,6)*tP*tP*tP |
& +(eosC(8,kRef)*sP + eosC(4,kRef) )*sP + eosC(1,kRef) |
74 |
& +eosC(kRef,7)*tP*tP *sP |
& )*tP |
75 |
& +eosC(kRef,8)*tP *sP*sP |
#else |
76 |
& +eosC(kRef,9) *sP*sP*sP |
deltaSig= |
77 |
rholoc(i,j)=1000.*(1.+sigRef+deltaSig)-Rhonil |
& eosC(1,kRef)*tP |
78 |
|
& +eosC(2,kRef) *sP |
79 |
|
& +eosC(3,kRef)*tP*tP |
80 |
|
& +eosC(4,kRef)*tP *sP |
81 |
|
& +eosC(5,kRef) *sP*sP |
82 |
|
& +eosC(6,kRef)*tP*tP*tP |
83 |
|
& +eosC(7,kRef)*tP*tP *sP |
84 |
|
& +eosC(8,kRef)*tP *sP*sP |
85 |
|
& +eosC(9,kRef) *sP*sP*sP |
86 |
|
#endif |
87 |
|
rholoc(i,j)=sigRef+deltaSig |
88 |
enddo |
enddo |
89 |
enddo |
enddo |
90 |
|
|