/[MITgcm]/MITgcm/model/src/external_forcing.F
ViewVC logotype

Diff of /MITgcm/model/src/external_forcing.F

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

revision 1.1 by cnh, Tue Nov 3 15:28:56 1998 UTC revision 1.2 by cnh, Fri Nov 6 22:44:46 1998 UTC
# Line 13  C     |================================= Line 13  C     |=================================
13  C     | Adds terms to gU for forcing by external sources         |  C     | Adds terms to gU for forcing by external sources         |
14  C     | e.g. wind stress, bottom friction etc..................  |  C     | e.g. wind stress, bottom friction etc..................  |
15  C     \==========================================================/  C     \==========================================================/
16          IMPLICIT NONE
17    
18  C     == Global data ==  C     == Global data ==
19  #include "SIZE.h"  #include "SIZE.h"
# Line 20  C     == Global data == Line 21  C     == Global data ==
21  #include "PARAMS.h"  #include "PARAMS.h"
22  #include "GRID.h"  #include "GRID.h"
23  #include "DYNVARS.h"  #include "DYNVARS.h"
24    #include "FFIELDS.h"
25    
26  C     == Routine arguments ==  C     == Routine arguments ==
27  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
# Line 31  C     kLev Line 33  C     kLev
33        INTEGER myCurrentTime, myThid        INTEGER myCurrentTime, myThid
34  CEndOfInterface  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        RETURN
52        END        END
53  CStartOfInterface  CStartOfInterface
# Line 44  C     |================================= Line 61  C     |=================================
61  C     | Adds terms to gV for forcing by external sources         |  C     | Adds terms to gV for forcing by external sources         |
62  C     | e.g. wind stress, bottom friction etc..................  |  C     | e.g. wind stress, bottom friction etc..................  |
63  C     \==========================================================/  C     \==========================================================/
64          IMPLICIT NONE
65    
66  C     == Global data ==  C     == Global data ==
67  #include "SIZE.h"  #include "SIZE.h"
# Line 51  C     == Global data == Line 69  C     == Global data ==
69  #include "PARAMS.h"  #include "PARAMS.h"
70  #include "GRID.h"  #include "GRID.h"
71  #include "DYNVARS.h"  #include "DYNVARS.h"
72    #include "FFIELDS.h"
73    
74    
75  C     == Routine arguments ==  C     == Routine arguments ==
76  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
# Line 61  C     kLev Line 81  C     kLev
81        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
82        INTEGER myCurrentTime, myThid        INTEGER myCurrentTime, myThid
83  CEndOfInterface  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        RETURN
100        END        END
101  CStartOfInterface  CStartOfInterface
102        SUBROUTINE EXTERNAL_FORCING_T(        SUBROUTINE EXTERNAL_FORCING_T(
103       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin, iMax, jMin, jMax,bi,bj,kLev,
104         I           maskC,
105       I           myCurrentTime,myThid)       I           myCurrentTime,myThid)
106  C     /==========================================================\  C     /==========================================================\
107  C     | S/R EXTERNAL_FORCING_T                                   |  C     | S/R EXTERNAL_FORCING_T                                   |
# Line 75  C     |================================= Line 110  C     |=================================
110  C     | Adds terms to gT for forcing by external sources         |  C     | Adds terms to gT for forcing by external sources         |
111  C     | e.g. heat flux, climatalogical relaxation..............  |  C     | e.g. heat flux, climatalogical relaxation..............  |
112  C     \==========================================================/  C     \==========================================================/
113          IMPLICIT NONE
114    
115  C     == Global data ==  C     == Global data ==
116  #include "SIZE.h"  #include "SIZE.h"
# Line 90  C     iMax Line 126  C     iMax
126  C     jMin  C     jMin
127  C     jMax  C     jMax
128  C     kLev  C     kLev
129          _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
130        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
131        INTEGER myCurrentTime, myThid        INTEGER myCurrentTime, myThid
132  CEndOfInterface  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        RETURN
152        END        END
153  CStartOfInterface  CStartOfInterface
154        SUBROUTINE EXTERNAL_FORCING_S(        SUBROUTINE EXTERNAL_FORCING_S(
155       I           iMin, iMax, jMin, jMax,bi,bj,kLev,       I           iMin, iMax, jMin, jMax,bi,bj,kLev,
156         I           maskC,
157       I           myCurrentTime,myThid)       I           myCurrentTime,myThid)
158  C     /==========================================================\  C     /==========================================================\
159  C     | S/R EXTERNAL_FORCING_S                                   |  C     | S/R EXTERNAL_FORCING_S                                   |
# Line 107  C     |================================= Line 162  C     |=================================
162  C     | Adds terms to gS for forcing by external sources         |  C     | Adds terms to gS for forcing by external sources         |
163  C     | e.g. fresh-water flux, climatalogical relaxation.......  |  C     | e.g. fresh-water flux, climatalogical relaxation.......  |
164  C     \==========================================================/  C     \==========================================================/
165          IMPLICIT NONE
166    
167  C     == Global data ==  C     == Global data ==
168  #include "SIZE.h"  #include "SIZE.h"
# Line 114  C     == Global data == Line 170  C     == Global data ==
170  #include "PARAMS.h"  #include "PARAMS.h"
171  #include "GRID.h"  #include "GRID.h"
172  #include "DYNVARS.h"  #include "DYNVARS.h"
173    #include "FFIELDS.h"
174    
175  C     == Routine arguments ==  C     == Routine arguments ==
176  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
# Line 121  C     iMax Line 178  C     iMax
178  C     jMin  C     jMin
179  C     jMax  C     jMax
180  C     kLev  C     kLev
181          _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
182        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj        INTEGER iMin, iMax, jMin, jMax, kLev, bi, bj
183        INTEGER myCurrentTime, myThid        INTEGER myCurrentTime, myThid
184  CEndOfInterface  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        RETURN
204        END        END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22