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

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

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


Revision 1.2 - (hide annotations) (download)
Mon Dec 14 23:57:16 1998 UTC (25 years, 4 months ago) by adcroft
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
Restructuring verification experiments.

1 adcroft 1.2 C $Header: /u/gcmpack/models/MITgcmUV/verification/exp2/external_forcing.F,v 1.1 1998/11/06 22:56:17 cnh Exp $
2 cnh 1.1
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