/[MITgcm]/MITgcm/pkg/exf/exf_swapffields.F
ViewVC logotype

Contents of /MITgcm/pkg/exf/exf_swapffields.F

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


Revision 1.3 - (show annotations) (download)
Tue Nov 12 20:34:41 2002 UTC (21 years, 7 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint47e_post, checkpoint47c_post, checkpoint50c_post, checkpoint48e_post, checkpoint50c_pre, checkpoint48i_post, checkpoint51, checkpoint50, checkpoint50d_post, checkpoint50b_pre, checkpoint51f_post, checkpoint48b_post, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint47a_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint47d_post, checkpoint48d_post, checkpoint48f_post, checkpoint48h_post, checkpoint51b_pre, checkpoint47g_post, checkpoint51h_pre, checkpoint48a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint47j_post, branch-exfmods-tag, branchpoint-genmake2, checkpoint48c_post, checkpoint51b_post, checkpoint51c_post, checkpoint47b_post, checkpoint50g_post, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51i_pre, checkpoint47f_post, checkpoint50e_post, checkpoint50d_pre, checkpoint51e_post, checkpoint47, checkpoint48, checkpoint49, checkpoint51f_pre, checkpoint48g_post, checkpoint47h_post, checkpoint51g_post, checkpoint50b_post, checkpoint51a_post
Branch point for: branch-exfmods-curt, branch-genmake2
Changes since 1.2: +1 -1 lines
Merging from release1_p8:
o exf:
  updated external forcing package
  - bug fixes carried over from ecco-branch
    (missing OBCS_OPTIONS.h in two routines)
  - enable easy to use "no forcing".
  - added exf I/O for atmospheric loading
  - added exf I/O for runoff data
  - transfered scaling between exf <-> MITgcm to exf namelist
  - removing old exfa stuff

1 c $Header: /u/gcmpack/MITgcm/pkg/exf/exf_swapffields.F,v 1.1.4.2 2002/11/07 17:07:57 heimbach Exp $
2
3 #include "EXF_CPPOPTIONS.h"
4
5
6 subroutine exf_SwapFFields(
7 U ffld0,
8 U ffld1,
9 I mythid
10 & )
11
12 c ==================================================================
13 c SUBROUTINE exf_SwapFFields
14 c ==================================================================
15 c
16 c o Copy a forcing field ffld1 to ffld0 and set ffld0 to zero.
17 c
18 c started: Christian Eckert eckert@mit.edu 30-Jun-1999
19 c
20 c changed: Christian Eckert eckert@mit.edu 14-Jan-2000
21 c
22 c - Restructured the code in order to create a package
23 c for the MITgcmUV.
24 c
25 c Christian Eckert eckert@mit.edu 12-Feb-2000
26 c
27 c - Changed Routine names (package prefix: exf_)
28 c
29 c ==================================================================
30 c SUBROUTINE exf_SwapFFields
31 c ==================================================================
32
33 implicit none
34
35 c == global variables ==
36
37 #include "EEPARAMS.h"
38 #include "SIZE.h"
39
40 c == routine arguments ==
41
42 integer mythid
43 _RL ffld0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
44 _RL ffld1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
45
46 c == local variables ==
47
48 integer bi
49 integer bj
50 integer i
51 integer j
52 integer itlo,ithi
53 integer jtlo,jthi
54
55 c == end of interface ==
56
57 jtlo = mybylo(mythid)
58 jthi = mybyhi(mythid)
59 itlo = mybxlo(mythid)
60 ithi = mybxhi(mythid)
61
62 do bj = jtlo,jthi
63 do bi = itlo,ithi
64 do j = 1,sny
65 do i = 1,snx
66 ffld0(i,j,bi,bj) = ffld1(i,j,bi,bj)
67 ffld1(i,j,bi,bj) = 0. _d 0
68 enddo
69 enddo
70 enddo
71 enddo
72
73 end
74
75 subroutine exf_SwapFFields_3d(
76 U ffld0,
77 U ffld1,
78 I mythid
79 & )
80
81 c ==================================================================
82 c SUBROUTINE exf_SwapFFields_3d
83 c ==================================================================
84 c
85 c o Copy a forcing field ffld1 to ffld0 and set ffld0 to zero.
86 c
87 c ==================================================================
88 c SUBROUTINE exf_SwapFFields
89 c ==================================================================
90
91 implicit none
92
93 c == global variables ==
94
95 #include "EEPARAMS.h"
96 #include "SIZE.h"
97
98 c == routine arguments ==
99
100 integer mythid
101 _RL ffld0(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
102 _RL ffld1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
103
104 c == local variables ==
105
106 integer bi
107 integer bj
108 integer i
109 integer j
110 integer k
111 integer itlo,ithi
112 integer jtlo,jthi
113
114 c == end of interface ==
115
116 jtlo = mybylo(mythid)
117 jthi = mybyhi(mythid)
118 itlo = mybxlo(mythid)
119 ithi = mybxhi(mythid)
120
121 do bj = jtlo,jthi
122 do bi = itlo,ithi
123 do k = 1,nr
124 do j = 1,sny
125 do i = 1,snx
126 ffld0(i,j,k,bi,bj) = ffld1(i,j,k,bi,bj)
127 ffld1(i,j,k,bi,bj) = 0. _d 0
128 enddo
129 enddo
130 enddo
131 enddo
132 enddo
133
134 end
135
136 subroutine exf_swapffields_xz(
137 U ffld0,
138 U ffld1,
139 I mythid
140 & )
141
142 c ==================================================================
143 c SUBROUTINE exf_swapffields_xz
144 c ==================================================================
145 c
146 c o Copy a forcing field ffld1 to ffld0 and set ffld0 to zero.
147 c
148 c started: heimbach@mit.edu 01-May-2001
149 c
150 c ==================================================================
151 c SUBROUTINE exf_swapffields_xz
152 c ==================================================================
153
154 implicit none
155
156 c == global variables ==
157
158 #include "EEPARAMS.h"
159 #include "SIZE.h"
160
161 c == routine arguments ==
162
163 integer mythid
164 _RL ffld0(1-olx:snx+olx,Nr,nsx,nsy)
165 _RL ffld1(1-olx:snx+olx,Nr,nsx,nsy)
166
167 c == local variables ==
168
169 integer bi, bj
170 integer i, k
171 integer itlo,ithi
172 integer jtlo,jthi
173
174 c == end of interface ==
175
176 jtlo = mybylo(mythid)
177 jthi = mybyhi(mythid)
178 itlo = mybxlo(mythid)
179 ithi = mybxhi(mythid)
180
181 do bj = jtlo,jthi
182 do bi = itlo,ithi
183 do k = 1,Nr
184 do i = 1,snx
185 ffld0(i,k,bi,bj) = ffld1(i,k,bi,bj)
186 ffld1(i,k,bi,bj) = 0. _d 0
187 enddo
188 enddo
189 enddo
190 enddo
191
192 end
193
194 subroutine exf_swapffields_yz(
195 U ffld0,
196 U ffld1,
197 I mythid
198 & )
199
200 c ==================================================================
201 c SUBROUTINE exf_swapffields_yz
202 c ==================================================================
203 c
204 c o Copy a forcing field ffld1 to ffld0 and set ffld0 to zero.
205 c
206 c started: heimbach@mit.edu 01-May-2001
207 c
208 c ==================================================================
209 c SUBROUTINE exf_swapffields_yz
210 c ==================================================================
211
212 implicit none
213
214 c == global variables ==
215
216 #include "EEPARAMS.h"
217 #include "SIZE.h"
218
219 c == routine arguments ==
220
221 integer mythid
222 _RL ffld0(1-oly:sny+oly,Nr,nsx,nsy)
223 _RL ffld1(1-oly:sny+oly,Nr,nsx,nsy)
224
225 c == local variables ==
226
227 integer bi, bj
228 integer j, k
229 integer itlo,ithi
230 integer jtlo,jthi
231
232 c == end of interface ==
233
234 jtlo = mybylo(mythid)
235 jthi = mybyhi(mythid)
236 itlo = mybxlo(mythid)
237 ithi = mybxhi(mythid)
238
239 do bj = jtlo,jthi
240 do bi = itlo,ithi
241 do k = 1,Nr
242 do j = 1,sny
243 ffld0(j,k,bi,bj) = ffld1(j,k,bi,bj)
244 ffld1(j,k,bi,bj) = 0. _d 0
245 enddo
246 enddo
247 enddo
248 enddo
249
250 end

  ViewVC Help
Powered by ViewVC 1.1.22