/[MITgcm]/MITgcm_contrib/bbl/code/mypackage_tendency_apply.F
ViewVC logotype

Annotation of /MITgcm_contrib/bbl/code/mypackage_tendency_apply.F

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


Revision 1.1 - (hide annotations) (download)
Thu Nov 18 04:00:05 2010 UTC (14 years, 7 months ago) by dimitri
Branch: MAIN
This is a first sketch of a bottom boundary layer parameterization
for MITgcm.  The hooks to main model currently reside with pkg/mypackage
and it is temporarily checked in MITgcm_contrib until it clears the
App Store vetting process.  Instructions on running a simple test
integration in a periodic channel are in MITgcm_contrib/bbl/readme.txt
and some output can be viewed using lookat_output.m in same directory.

1 dimitri 1.1 C $Header: $
2     C $Name: $
3    
4     #include "BBL_OPTIONS.h"
5     C-- File bbl_tendency_apply.F: Routines to apply BBL tendencies
6     C-- Contents
7     C-- o BBL_TENDENCY_APPLY_U
8     C-- o BBL_TENDENCY_APPLY_V
9     C-- o BBL_TENDENCY_APPLY_T
10     C-- o BBL_TENDENCY_APPLY_S
11    
12     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
13     CBOP 0
14     C !ROUTINE: BBL_TENDENCY_APPLY_U
15    
16     C !INTERFACE:
17     SUBROUTINE MYPACKAGE_TENDENCY_APPLY_U(
18     & iMin, iMax, jMin, jMax,
19     & bi, bj, k, myTime, myThid )
20    
21     C !DESCRIPTION:
22     C Add bbl tendency terms to U tendency. Routine works for one
23     C level at a time. Assumes that U and V tendencies are on C-Grid or
24     C on A-grid.
25    
26     C !USES:
27     IMPLICIT NONE
28     #include "SIZE.h"
29     #include "GRID.h"
30     #include "EEPARAMS.h"
31     #include "DYNVARS.h"
32     #include "BBL.h"
33    
34     C !INPUT PARAMETERS:
35     INTEGER iMin, iMax, jMin, jMax, k, bi, bj, myThid
36     _RL myTime
37     CEOP
38    
39     RETURN
40     END
41    
42     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
43     CBOP 0
44     C !ROUTINE: BBL_TENDENCY_APPLY_V
45    
46     C !INTERFACE:
47     SUBROUTINE MYPACKAGE_TENDENCY_APPLY_V(
48     & iMin, iMax, jMin, jMax,
49     & bi, bj, k, myTime, myThid )
50    
51     C !DESCRIPTION:
52     C Add bbl tendency terms to V tendency. Routine works for one
53     C level at a time. Assumes that U and V tendencies are on C-Grid or
54     C on A-grid.
55    
56     C !USES:
57     IMPLICIT NONE
58     #include "SIZE.h"
59     #include "GRID.h"
60     #include "EEPARAMS.h"
61     #include "DYNVARS.h"
62     #include "BBL.h"
63    
64     C !INPUT PARAMETERS:
65     INTEGER iMin, iMax, jMin, jMax, k, bi, bj, myThid
66     _RL myTime
67     CEOP
68    
69     RETURN
70     END
71    
72     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
73     CBOP 0
74     C !ROUTINE: BBL_TENDENCY_APPLY_T
75    
76     C !INTERFACE:
77     SUBROUTINE MYPACKAGE_TENDENCY_APPLY_T(
78     & iMin, iMax, jMin, jMax,
79     & bi, bj, k, myTime, myThid )
80    
81     C !DESCRIPTION:
82     C Add bbl tendency terms to T (theta) tendency. Routine works
83     C for one level at a time
84    
85     C !USES:
86     IMPLICIT NONE
87     #include "SIZE.h"
88     #include "GRID.h"
89     #include "EEPARAMS.h"
90     #include "DYNVARS.h"
91     #include "BBL.h"
92    
93     C !INPUT PARAMETERS:
94     INTEGER iMin, iMax, jMin, jMax, k, bi, bj, myThid
95     _RL myTime
96     CEOP
97    
98     C !LOCAL VARIABLES:
99     INTEGER i, j
100    
101     DO j=jMin,jMax
102     DO i=iMin,iMax
103     IF ( k .EQ. kLowC(i,j,bi,bj) )
104     & gT(i,j,k,bi,bj) = gT(i,j,k,bi,bj)
105     & + maskC(i,j,k,bi,bj) * bbl_TendTheta(i,j,bi,bj)
106     ENDDO
107     ENDDO
108    
109     RETURN
110     END
111    
112     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
113     CBOP 0
114     C !ROUTINE: BBL_TENDENCY_APPLY_S
115    
116     C !INTERFACE:
117     SUBROUTINE MYPACKAGE_TENDENCY_APPLY_S(
118     & iMin, iMax, jMin, jMax,
119     & bi, bj, k, myTime, myThid )
120    
121     C !DESCRIPTION:
122     C Add bbl tendency terms to S tendency. Routine works for one
123     C level at a time
124    
125     C !INPUT PARAMETERS:
126     IMPLICIT NONE
127     #include "SIZE.h"
128     #include "GRID.h"
129     #include "EEPARAMS.h"
130     #include "DYNVARS.h"
131     #include "BBL.h"
132    
133     C !INPUT PARAMETERS:
134     INTEGER iMin, iMax, jMin, jMax, k, bi, bj, myThid
135     _RL myTime
136     CEOP
137    
138     C !LOCAL VARIABLES:
139     INTEGER i, j
140    
141     DO j=jMin,jMax
142     DO i=iMin,iMax
143     IF ( k .EQ. kLowC(i,j,bi,bj) )
144     & gS(i,j,k,bi,bj) = gS(i,j,k,bi,bj)
145     & + maskC(i,j,k,bi,bj) * bbl_TendSalt(i,j,bi,bj)
146     ENDDO
147     ENDDO
148    
149     RETURN
150     END

  ViewVC Help
Powered by ViewVC 1.1.22