/[MITgcm]/MITgcm/verification/fizhi-gridalt-hs/code/fizhi_tendency_apply.F
ViewVC logotype

Diff of /MITgcm/verification/fizhi-gridalt-hs/code/fizhi_tendency_apply.F

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

revision 1.1 by edhill, Tue Dec 7 22:14:35 2004 UTC revision 1.2 by jmc, Wed Jul 9 17:07:07 2014 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "FIZHI_OPTIONS.h"  #include "FIZHI_OPTIONS.h"
5        subroutine fizhi_tendency_apply_u(iMin, iMax, jMin, jMax,        subroutine fizhi_tendency_apply_u(
6       .    bi,bj,kLev,myTime,myThid)       U                        gU_arr,
7         I                        iMin,iMax,jMin,jMax, kLev, bi, bj,
8         I                        myTime, myIter, myThid )
9  C=======================================================================  C=======================================================================
10  C Routine: fizhi_tendency_apply_u  C Routine: fizhi_tendency_apply_u
11  C     Interpolate tendencies from physics grid to dynamics grid and  C     Interpolate tendencies from physics grid to dynamics grid and
12  C     add fizhi tendency terms to U tendency.  C     add fizhi tendency terms to U tendency.
13  C    C
14  C INPUT:  C INPUT:
15  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
16  C     iMax  C     iMax
17  C     jMin  C     jMin
# Line 29  C======================================= Line 31  C=======================================
31  #include "fizhi_land_SIZE.h"  #include "fizhi_land_SIZE.h"
32  #include "fizhi_coms.h"  #include "fizhi_coms.h"
33    
34        integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid        _RL     gU_arr(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
35        _RL myTime        INTEGER iMin, iMax, jMin, jMax
36          INTEGER kLev, bi, bj
37          _RL     myTime
38          INTEGER myIter
39          INTEGER myThid
40    
41        integer i, j        integer i, j
42    
43        do j=jMin,jMax        do j=jMin,jMax
44         do i=iMin,iMax         do i=iMin,iMax
45          gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj) +          gU_arr(i,j) = gU_arr(i,j) +
46       .      maskW(i,j,kLev,bi,bj) * guphy(i,j,kLev,bi,bj)       .      maskW(i,j,kLev,bi,bj) * guphy(i,j,kLev,bi,bj)
47         enddo         enddo
48        enddo        enddo
49    
50        return        return
51        end        end
52        subroutine fizhi_tendency_apply_v(iMin, iMax, jMin, jMax,        subroutine fizhi_tendency_apply_v(
53       .    bi,bj,kLev,myTime,myThid)       U                        gV_arr,
54         I                        iMin,iMax,jMin,jMax, kLev, bi, bj,
55         I                        myTime, myIter, myThid )
56  C=======================================================================  C=======================================================================
57  C Routine: fizhi_tendency_apply_v  C Routine: fizhi_tendency_apply_v
58  C     Interpolate tendencies from physics grid to dynamics grid and  C     Interpolate tendencies from physics grid to dynamics grid and
59  C     add fizhi tendency terms to V tendency.  C     add fizhi tendency terms to V tendency.
60  C    C
61  C INPUT:  C INPUT:
62  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
63  C     iMax  C     iMax
64  C     jMin  C     jMin
# Line 70  C======================================= Line 78  C=======================================
78  #include "fizhi_land_SIZE.h"  #include "fizhi_land_SIZE.h"
79  #include "fizhi_coms.h"  #include "fizhi_coms.h"
80    
81        integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid        _RL     gV_arr(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
82        _RL myTime        INTEGER iMin, iMax, jMin, jMax
83          INTEGER kLev, bi, bj
84          _RL     myTime
85          INTEGER myIter
86          INTEGER myThid
87    
88        integer i, j        integer i, j
89    
90        do j=jMin,jMax        do j=jMin,jMax
91         do i=iMin,iMax         do i=iMin,iMax
92          gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj) +          gV_arr(i,j) = gV_arr(i,j) +
93       .      maskS(i,j,kLev,bi,bj) * gvphy(i,j,kLev,bi,bj)       .      maskS(i,j,kLev,bi,bj) * gvphy(i,j,kLev,bi,bj)
94         enddo         enddo
95        enddo        enddo
96    
97        return        return
98        end        end
99        subroutine fizhi_tendency_apply_t(iMin, iMax, jMin, jMax,        subroutine fizhi_tendency_apply_t(
100       .    bi,bj,kLev,myTime,myThid)       U                        gT_arr,
101         I                        iMin,iMax,jMin,jMax, kLev, bi, bj,
102         I                        myTime, myIter, myThid )
103  C=======================================================================  C=======================================================================
104  C Routine: fizhi_tendency_apply_t  C Routine: fizhi_tendency_apply_t
105  C     Interpolate tendencies from physics grid to dynamics grid and  C     Interpolate tendencies from physics grid to dynamics grid and
106  C     add fizhi tendency terms to T (theta) tendency.  C     add fizhi tendency terms to T (theta) tendency.
107  C    C
108  C INPUT:  C INPUT:
109  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
110  C     iMax  C     iMax
111  C     jMin  C     jMin
# Line 110  C======================================= Line 124  C=======================================
124  #include "fizhi_land_SIZE.h"  #include "fizhi_land_SIZE.h"
125  #include "fizhi_coms.h"  #include "fizhi_coms.h"
126    
127        integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid        _RL     gT_arr(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
128        _RL myTime        INTEGER iMin, iMax, jMin, jMax
129          INTEGER kLev, bi, bj
130          _RL     myTime
131          INTEGER myIter
132          INTEGER myThid
133    
134        integer i, j        integer i, j
135    
136        do j=jMin,jMax        do j=jMin,jMax
137         do i=iMin,iMax         do i=iMin,iMax
138          gT(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj)          gT_arr(i,j) = maskC(i,j,kLev,bi,bj)
139       .       *( gT(i,j,kLev,bi,bj) + gthphy(i,j,kLev,bi,bj) )       .       *( gT_arr(i,j) + gthphy(i,j,kLev,bi,bj) )
140         enddo         enddo
141        enddo        enddo
142    
143        return        return
144        end        end
145        subroutine fizhi_tendency_apply_s(iMin, iMax, jMin, jMax,        subroutine fizhi_tendency_apply_s(
146       .    bi,bj,kLev,myTime,myThid)       U                        gS_arr,
147         I                        iMin,iMax,jMin,jMax, kLev, bi, bj,
148         I                        myTime, myIter, myThid )
149  C=======================================================================  C=======================================================================
150  C Routine: fizhi_tendency_apply_s  C Routine: fizhi_tendency_apply_s
151  C     Interpolate tendencies from physics grid to dynamics grid and  C     Interpolate tendencies from physics grid to dynamics grid and
152  C     add fizhi tendency terms to S tendency.  C     add fizhi tendency terms to S tendency.
153  C    C
154  C INPUT:  C INPUT:
155  C     iMin - Working range of tile for applying forcing.  C     iMin - Working range of tile for applying forcing.
156  C     iMax  C     iMax
157  C     jMin  C     jMin
# Line 150  C======================================= Line 170  C=======================================
170  #include "fizhi_land_SIZE.h"  #include "fizhi_land_SIZE.h"
171  #include "fizhi_coms.h"  #include "fizhi_coms.h"
172    
173        integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid        _RL     gS_arr(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
174        _RL myTime        INTEGER iMin, iMax, jMin, jMax
175          INTEGER kLev, bi, bj
176          _RL     myTime
177          INTEGER myIter
178          INTEGER myThid
179    
180        integer i, j        integer i, j
181    
182        do j=jMin,jMax        do j=jMin,jMax
183         do i=iMin,iMax         do i=iMin,iMax
184          gS(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj)          gS_arr(i,j) = maskC(i,j,kLev,bi,bj)
185       .       *( gS(i,j,kLev,bi,bj) + gsphy(i,j,kLev,bi,bj) )       .       *( gS_arr(i,j) + gsphy(i,j,kLev,bi,bj) )
186         enddo         enddo
187        enddo        enddo
188    

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

  ViewVC Help
Powered by ViewVC 1.1.22