4 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
5 |
#define USE_FACTORIZED_POLY |
#define USE_FACTORIZED_POLY |
6 |
|
|
7 |
subroutine FIND_ALPHA ( |
CBOP |
8 |
|
C !ROUTINE: FIND_ALPHA |
9 |
|
C !INTERFACE: |
10 |
|
SUBROUTINE FIND_ALPHA ( |
11 |
I bi, bj, iMin, iMax, jMin, jMax, k, kRef, eqn, |
I bi, bj, iMin, iMax, jMin, jMax, k, kRef, eqn, |
12 |
O alphaloc ) |
O alphaloc ) |
|
C /==========================================================\ |
|
|
C | o SUBROUTINE FIND_ALPHA | |
|
|
C | Calculates [drho(S,T,z) / dT] of a horizontal slice | |
|
|
C |==========================================================| |
|
|
C | | |
|
|
C | k - is the Theta/Salt level | |
|
|
C | kRef - determines pressure reference level | |
|
|
C | (not used in 'LINEAR' mode) | |
|
|
C | eqn - determines the eqn. of state: 'LINEAR' or 'POLY3' | |
|
|
C | | |
|
|
C | alphaloc - drho / dT (kg/m^3/C) | |
|
|
C | | |
|
|
C \==========================================================/ |
|
|
implicit none |
|
13 |
|
|
14 |
|
C !DESCRIPTION: \bv |
15 |
|
C *==========================================================* |
16 |
|
C | o SUBROUTINE FIND_ALPHA |
17 |
|
C | Calculates [drho(S,T,z) / dT] of a horizontal slice |
18 |
|
C *==========================================================* |
19 |
|
C | |
20 |
|
C | k - is the Theta/Salt level |
21 |
|
C | kRef - determines pressure reference level |
22 |
|
C | (not used in 'LINEAR' mode) |
23 |
|
C | eqn - determines the eqn. of state: 'LINEAR' or 'POLY3' |
24 |
|
C | |
25 |
|
C | alphaloc - drho / dT (kg/m^3/C) |
26 |
|
C | |
27 |
|
C *==========================================================* |
28 |
|
C \ev |
29 |
|
|
30 |
|
C !USES: |
31 |
|
IMPLICIT NONE |
32 |
c Common |
c Common |
33 |
#include "SIZE.h" |
#include "SIZE.h" |
34 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
35 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
36 |
#include "PARAMS.h" |
#include "PARAMS.h" |
37 |
|
|
38 |
|
C !INPUT/OUTPUT PARAMETERS: |
39 |
c Arguments |
c Arguments |
40 |
integer bi,bj,iMin,iMax,jMin,jMax |
integer bi,bj,iMin,iMax,jMin,jMax |
41 |
integer k ! Level of Theta/Salt slice |
integer k ! Level of Theta/Salt slice |
43 |
character*(*) eqn |
character*(*) eqn |
44 |
_RL alphaloc(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL alphaloc(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
45 |
|
|
46 |
|
C !LOCAL VARIABLES: |
47 |
c Local |
c Local |
48 |
integer i,j |
integer i,j |
49 |
_RL refTemp,refSalt,tP,sP |
_RL refTemp,refSalt,tP,sP |
50 |
|
CEOP |
51 |
|
|
52 |
if (eqn.eq.'LINEAR') then |
if (eqn.eq.'LINEAR') then |
53 |
|
|