/[MITgcm]/MITgcm/pkg/gmredi/gmredi_calc_uvflow.F
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/gmredi_calc_uvflow.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Wed Mar 6 01:42:37 2002 UTC (22 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint46l_post, checkpoint46g_pre, checkpoint46f_post, checkpoint46b_post, checkpoint46l_pre, checkpoint46d_pre, checkpoint45d_post, checkpoint46j_pre, checkpoint44h_pre, checkpoint46a_post, checkpoint46j_post, checkpoint46k_post, checkpoint46b_pre, checkpoint45a_post, checkpoint46e_pre, checkpoint45b_post, checkpoint46c_pre, checkpoint46, checkpoint46h_pre, checkpoint46m_post, checkpoint46a_pre, checkpoint45c_post, checkpoint44h_post, checkpoint46g_post, checkpoint46i_post, checkpoint46c_post, checkpoint46e_post, checkpoint45, checkpoint46h_post, checkpoint46d_post
 new S/R: add GM-bolus transport to Eulerian transport

1 C $Header: $
2 C $Name: $
3
4 #include "GMREDI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GMREDI_CALC_UVFLOW
8 C !INTERFACE:
9 SUBROUTINE GMREDI_CALC_UVFLOW(
10 U uTrans, vTrans,
11 I bi, bj, k, myThid)
12 C !DESCRIPTION: \bv
13 C *==========================================================*
14 C | o SUBROUTINE GMREDI_CALC_UVFLOW
15 C | Add GM-bolus flow to Eulerian horizontal transport
16 C *==========================================================*
17 C \ev
18
19 C !USES:
20 IMPLICIT NONE
21
22 C == GLobal variables ==
23 #include "SIZE.h"
24 #include "EEPARAMS.h"
25 #include "PARAMS.h"
26 #include "GRID.h"
27 #include "GMREDI.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C == Routine arguments ==
31 C bi,bj :: tile indices
32 C k :: level index
33 C myThid :: thread number
34 C uTrans :: zonal volume transport (updated)
35 C vTrans :: meridional volume transport (updated)
36 INTEGER bi, bj, k, myThid
37 _RL uTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
38 _RL vTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
39
40 #ifdef ALLOW_GMREDI
41 #ifdef GM_BOLUS_ADVEC
42
43 C !LOCAL VARIABLES:
44 C == Local variables ==
45 C i, j :: loop indices
46 INTEGER i, j
47 INTEGER kp1
48 _RL maskp1
49 CEOP
50
51 IF (GM_AdvForm .AND. .NOT.GM_AdvSeparate) THEN
52
53 kp1 = MIN(k+1,Nr)
54 maskp1 = 1.
55 IF (k.GE.Nr) maskp1 = 0.
56 DO j=1-OLy,sNy+OLy
57 DO i=1-OLx,sNx+OLx
58 uTrans(i,j) = uTrans(i,j)
59 & + dyG(i,j,bi,bj)*( GM_PsiX(i,j,kp1,bi,bj)*maskp1
60 & -GM_PsiX(i,j,k,bi,bj) )
61 & *maskW(i,j,k,bi,bj)
62 vTrans(i,j) = vTrans(i,j)
63 & + dxG(i,j,bi,bj)*( GM_PsiY(i,j,kp1,bi,bj)*maskp1
64 & -GM_PsiY(i,j,k,bi,bj) )
65 & *maskS(i,j,k,bi,bj)
66 ENDDO
67 ENDDO
68
69 ENDIF
70 #endif /* GM_BOLUS_ADVEC */
71 #endif /* ALLOW_GMREDI */
72
73 RETURN
74 END

  ViewVC Help
Powered by ViewVC 1.1.22