/[MITgcm]/MITgcm/pkg/fizhi/fizhi_tendency_apply.F
ViewVC logotype

Annotation of /MITgcm/pkg/fizhi/fizhi_tendency_apply.F

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


Revision 1.2 - (hide annotations) (download)
Mon Feb 23 20:34:38 2004 UTC (20 years, 4 months ago) by molod
Branch: MAIN
CVS Tags: checkpoint52l_pre, checkpoint52l_post, checkpoint52m_post, hrcube5
Changes since 1.1: +4 -4 lines
check in of working fizhi routines

1 molod 1.1 subroutine fizhi_tendency_apply_u(iMin, iMax, jMin, jMax,
2     . bi,bj,kLev,myTime,myThid)
3     C=======================================================================
4     C Routine: fizhi_tendency_apply_u
5     C Interpolate tendencies from physics grid to dynamics grid and
6     C add fizhi tendency terms to U tendency.
7     C
8     C INPUT:
9     C iMin - Working range of tile for applying forcing.
10     C iMax
11     C jMin
12     C jMax
13     C kLev
14     C
15     C Notes: Routine works for one level at a time
16     C Assumes that U and V tendencies are already on C-Grid
17     C=======================================================================
18     implicit none
19    
20     #include "CPP_OPTIONS.h"
21     #include "SIZE.h"
22     #include "GRID.h"
23     #include "EEPARAMS.h"
24     #include "DYNVARS.h"
25     #include "fizhi_SIZE.h"
26     #include "land_SIZE.h"
27     #include "fizhi_coms.h"
28    
29     integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
30     _RL myTime
31    
32     integer i, j
33    
34     do j=jMin,jMax
35     do i=iMin,iMax
36     gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj) +
37     . maskC(i,j,kLev,bi,bj) * guphy(i,j,kLev,bi,bj)
38     enddo
39     enddo
40    
41     return
42     end
43     subroutine fizhi_tendency_apply_v(iMin, iMax, jMin, jMax,
44     . bi,bj,kLev,myTime,myThid)
45     C=======================================================================
46     C Routine: fizhi_tendency_apply_v
47     C Interpolate tendencies from physics grid to dynamics grid and
48     C add fizhi tendency terms to V tendency.
49     C
50     C INPUT:
51     C iMin - Working range of tile for applying forcing.
52     C iMax
53     C jMin
54     C jMax
55     C kLev
56     C
57     C Notes: Routine works for one level at a time
58     C Assumes that U and V tendencies are already on C-Grid
59     C=======================================================================
60     implicit none
61    
62     #include "CPP_OPTIONS.h"
63     #include "SIZE.h"
64     #include "GRID.h"
65     #include "EEPARAMS.h"
66     #include "DYNVARS.h"
67     #include "fizhi_SIZE.h"
68     #include "land_SIZE.h"
69     #include "fizhi_coms.h"
70    
71     integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
72     _RL myTime
73    
74     integer i, j
75    
76     do j=jMin,jMax
77     do i=iMin,iMax
78     gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj) +
79     . maskC(i,j,kLev,bi,bj) * gvphy(i,j,kLev,bi,bj)
80     enddo
81     enddo
82    
83     return
84     end
85     subroutine fizhi_tendency_apply_t(iMin, iMax, jMin, jMax,
86     . bi,bj,kLev,myTime,myThid)
87     C=======================================================================
88     C Routine: fizhi_tendency_apply_t
89     C Interpolate tendencies from physics grid to dynamics grid and
90     C add fizhi tendency terms to T (theta) tendency.
91     C
92     C INPUT:
93     C iMin - Working range of tile for applying forcing.
94     C iMax
95     C jMin
96     C jMax
97     C kLev
98     C
99     C Notes: Routine works for one level at a time
100     C=======================================================================
101     implicit none
102    
103     #include "CPP_OPTIONS.h"
104     #include "SIZE.h"
105     #include "GRID.h"
106     #include "EEPARAMS.h"
107     #include "DYNVARS.h"
108     #include "fizhi_SIZE.h"
109     #include "land_SIZE.h"
110     #include "fizhi_coms.h"
111    
112     integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
113     _RL myTime
114    
115     integer i, j
116    
117 molod 1.2 do j=jMin,jMax
118     do i=iMin,iMax
119 molod 1.1 gT(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj)
120     . *( gT(i,j,kLev,bi,bj) + gthphy(i,j,kLev,bi,bj) )
121     enddo
122     enddo
123    
124     return
125     end
126     subroutine fizhi_tendency_apply_s(iMin, iMax, jMin, jMax,
127     . bi,bj,kLev,myTime,myThid)
128     C=======================================================================
129     C Routine: fizhi_tendency_apply_s
130     C Interpolate tendencies from physics grid to dynamics grid and
131     C add fizhi tendency terms to S tendency.
132     C
133     C INPUT:
134     C iMin - Working range of tile for applying forcing.
135     C iMax
136     C jMin
137     C jMax
138     C kLev
139     C
140     C Notes: Routine works for one level at a time
141     C=======================================================================
142     implicit none
143    
144     #include "CPP_OPTIONS.h"
145     #include "SIZE.h"
146     #include "GRID.h"
147     #include "EEPARAMS.h"
148     #include "DYNVARS.h"
149     #include "fizhi_SIZE.h"
150     #include "land_SIZE.h"
151     #include "fizhi_coms.h"
152    
153     integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
154     _RL myTime
155    
156     integer i, j
157    
158 molod 1.2 do j=jMin,jMax
159     do i=iMin,iMax
160 molod 1.1 gS(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj)
161     . *( gS(i,j,kLev,bi,bj) + gsphy(i,j,kLev,bi,bj) )
162     enddo
163     enddo
164    
165     return
166     end

  ViewVC Help
Powered by ViewVC 1.1.22