/[MITgcm]/MITgcm/verification/exp2/external_forcing.F
ViewVC logotype

Contents of /MITgcm/verification/exp2/external_forcing.F

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


Revision 1.1 - (show annotations) (download)
Fri Nov 6 22:56:17 1998 UTC (25 years, 4 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint18
Put custom external_forcing intp exp2 directory

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/external_forcing.F,v 1.2 1998/11/06 22:44:46 cnh Exp $
2
3 #include "CPP_OPTIONS.h"
4
5 CStartOfInterface
6 SUBROUTINE EXTERNAL_FORCING_U(
7 I iMin, iMax, jMin, jMax,bi,bj,kLev,
8 I myCurrentTime,myThid)
9 C /==========================================================\
10 C | S/R EXTERNAL_FORCING_U |
11 C | o Contains problem specific forcing for zonal velocity. |
12 C |==========================================================|
13 C | Adds terms to gU for forcing by external sources |
14 C | e.g. wind stress, bottom friction etc.................. |
15 C \==========================================================/
16 IMPLICIT NONE
17
18 C == Global data ==
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "GRID.h"
23 #include "DYNVARS.h"
24 #include "FFIELDS.h"
25
26 C == Routine arguments ==
27 C iMin - Working range of tile for applying forcing.
28 C iMax
29 C jMin
30 C jMax
31 C kLev
32 INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
33 INTEGER myCurrentTime, myThid
34 CEndOfInterface
35
36 C == Local variables ==
37 C Loop counters
38 INTEGER I, J
39
40 C-- Forcing term
41 C Add windstress momentum impulse into the top-layer
42 IF ( kLev .EQ. 1 ) THEN
43 DO j=jMin,jMax
44 DO i=iMin,iMax
45 gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj)
46 & + foFacMom*fu(i,j,bi,bj)*_maskW(i,j,kLev,bi,bj)
47 ENDDO
48 ENDDO
49 ENDIF
50
51 RETURN
52 END
53 CStartOfInterface
54 SUBROUTINE EXTERNAL_FORCING_V(
55 I iMin, iMax, jMin, jMax,bi,bj,kLev,
56 I myCurrentTime,myThid)
57 C /==========================================================\
58 C | S/R EXTERNAL_FORCING_V |
59 C | o Contains problem specific forcing for merid velocity. |
60 C |==========================================================|
61 C | Adds terms to gV for forcing by external sources |
62 C | e.g. wind stress, bottom friction etc.................. |
63 C \==========================================================/
64 IMPLICIT NONE
65
66 C == Global data ==
67 #include "SIZE.h"
68 #include "EEPARAMS.h"
69 #include "PARAMS.h"
70 #include "GRID.h"
71 #include "DYNVARS.h"
72 #include "FFIELDS.h"
73
74
75 C == Routine arguments ==
76 C iMin - Working range of tile for applying forcing.
77 C iMax
78 C jMin
79 C jMax
80 C kLev
81 INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
82 INTEGER myCurrentTime, myThid
83 CEndOfInterface
84 C == Local variables ==
85 C Loop counters
86 INTEGER I, J
87
88 C-- Forcing term
89 C Add windstress momentum impulse into the top-layer
90 IF ( kLev .EQ. 1 ) THEN
91 DO j=jMin,jMax
92 DO i=iMin,iMax
93 gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj)
94 & + foFacMom*fv(i,j,bi,bj)*_maskS(i,j,kLev,bi,bj)
95 ENDDO
96 ENDDO
97 ENDIF
98
99 RETURN
100 END
101 CStartOfInterface
102 SUBROUTINE EXTERNAL_FORCING_T(
103 I iMin, iMax, jMin, jMax,bi,bj,kLev,
104 I maskC,
105 I myCurrentTime,myThid)
106 C /==========================================================\
107 C | S/R EXTERNAL_FORCING_T |
108 C | o Contains problem specific forcing for temperature. |
109 C |==========================================================|
110 C | Adds terms to gT for forcing by external sources |
111 C | e.g. heat flux, climatalogical relaxation.............. |
112 C \==========================================================/
113 IMPLICIT NONE
114
115 C == Global data ==
116 #include "SIZE.h"
117 #include "EEPARAMS.h"
118 #include "PARAMS.h"
119 #include "GRID.h"
120 #include "DYNVARS.h"
121 #include "FFIELDS.h"
122
123 C == Routine arguments ==
124 C iMin - Working range of tile for applying forcing.
125 C iMax
126 C jMin
127 C jMax
128 C kLev
129 _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
130 INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
131 INTEGER myCurrentTime, myThid
132 CEndOfInterface
133
134 C == Local variables ==
135 C Loop counters
136 INTEGER I, J
137
138 C-- Forcing term
139 C Add heat in top-layer
140 IF ( kLev .EQ. 1 ) THEN
141 DO j=jMin,jMax
142 DO i=iMin,iMax
143 gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
144 & +maskC(i,j)*(
145 & -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))
146 & -Qnet(i,j,bi,bj) )
147 ENDDO
148 ENDDO
149 ENDIF
150
151 RETURN
152 END
153 CStartOfInterface
154 SUBROUTINE EXTERNAL_FORCING_S(
155 I iMin, iMax, jMin, jMax,bi,bj,kLev,
156 I maskC,
157 I myCurrentTime,myThid)
158 C /==========================================================\
159 C | S/R EXTERNAL_FORCING_S |
160 C | o Contains problem specific forcing for merid velocity. |
161 C |==========================================================|
162 C | Adds terms to gS for forcing by external sources |
163 C | e.g. fresh-water flux, climatalogical relaxation....... |
164 C \==========================================================/
165 IMPLICIT NONE
166
167 C == Global data ==
168 #include "SIZE.h"
169 #include "EEPARAMS.h"
170 #include "PARAMS.h"
171 #include "GRID.h"
172 #include "DYNVARS.h"
173 #include "FFIELDS.h"
174
175 C == Routine arguments ==
176 C iMin - Working range of tile for applying forcing.
177 C iMax
178 C jMin
179 C jMax
180 C kLev
181 _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
182 INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
183 INTEGER myCurrentTime, myThid
184 CEndOfInterface
185
186 C == Local variables ==
187 C Loop counters
188 INTEGER I, J
189
190 C-- Forcing term
191 C Add fresh-water in top-layer
192 IF ( kLev .EQ. 1 ) THEN
193 DO j=jMin,jMax
194 DO i=iMin,iMax
195 gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
196 & +maskC(i,j)*(
197 & -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))
198 & +EmPmR(i,j,bi,bj) )
199 ENDDO
200 ENDDO
201 ENDIF
202
203 RETURN
204 END

  ViewVC Help
Powered by ViewVC 1.1.22