3 |
|
|
4 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
5 |
|
|
6 |
|
CBOP |
7 |
|
C !ROUTINE: MOM_CDSCHEME |
8 |
|
|
9 |
|
C !INTERFACE: ========================================================== |
10 |
SUBROUTINE MOM_CDSCHEME( |
SUBROUTINE MOM_CDSCHEME( |
11 |
I bi,bj,k,phi_hyd, |
I bi,bj,k,phi_hyd, |
12 |
I myThid) |
I myThid) |
13 |
|
|
14 |
IMPLICIT NONE |
C !DESCRIPTION: |
15 |
|
C The C-D scheme. The less said the better :-) |
16 |
|
|
17 |
|
C !USES: =============================================================== |
18 |
C == Global variables == |
C == Global variables == |
19 |
|
IMPLICIT NONE |
20 |
#include "SIZE.h" |
#include "SIZE.h" |
21 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
22 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
24 |
#include "GRID.h" |
#include "GRID.h" |
25 |
#include "SURFACE.h" |
#include "SURFACE.h" |
26 |
|
|
27 |
C == Routine arguments == |
C !INPUT PARAMETERS: =================================================== |
28 |
C myThid - Instance number for this innvocation of CALC_MOM_RHS |
C bi,bj :: tile indices |
29 |
|
C k :: vertical level |
30 |
|
C phi_hyd :: hydrostatic pressure |
31 |
|
C myThid :: thread number |
32 |
INTEGER bi,bj,K |
INTEGER bi,bj,K |
33 |
_RL phi_hyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL phi_hyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
34 |
INTEGER myThid |
INTEGER myThid |
35 |
|
|
|
#ifdef INCLUDE_CD_CODE |
|
36 |
|
|
37 |
C == Local variables == |
C !LOCAL VARIABLES: ==================================================== |
38 |
|
#ifdef INCLUDE_CD_CODE |
39 |
|
C i,j :: loop indices |
40 |
|
C pF :: pressure gradient |
41 |
|
C vF :: work space |
42 |
|
C aF :: work space |
43 |
_RL pF(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL pF(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
44 |
_RL vF(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL vF(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
45 |
_RL aF(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL aF(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
46 |
INTEGER i,j,iMin,iMax,jMin,jMax |
INTEGER i,j,iMin,iMax,jMin,jMax |
47 |
_RL ab15,ab05 |
_RL ab15,ab05 |
48 |
|
CEOP |
49 |
|
|
50 |
C Compute ranges |
C Compute ranges |
51 |
iMin=1-Olx+1 |
iMin=1-Olx+1 |