Advects the flow fields depending upon which fields are active in the model in a column.
202 type(model_state_type),
target,
intent(inout) :: current_state
203 integer,
intent(in) :: current_x_index, current_y_index
207 do k=2,current_state%local_grid%size(z_index)-1
209 current_state%su%data(k, current_y_index, current_x_index)=&
210 current_state%global_grid%configuration%horizontal%tcx*(current_state%u%data(k, current_y_index, current_x_index-1)*&
211 (current_state%u%data(k, current_y_index, current_x_index)+&
212 current_state%u%data(k, current_y_index, current_x_index-1))-&
213 current_state%u%data(k, current_y_index, current_x_index+1)*&
214 (current_state%u%data(k, current_y_index, current_x_index)+&
215 current_state%u%data(k, current_y_index, current_x_index+1)))
217 current_state%su%data(k, current_y_index, current_x_index)=current_state%su%data(k, current_y_index, current_x_index)+&
218 current_state%global_grid%configuration%horizontal%tcy*(current_state%u%data(k, current_y_index-1, current_x_index)*&
219 (current_state%v%data(k, current_y_index-1, current_x_index)+&
220 current_state%v%data(k, current_y_index-1, current_x_index+1))-&
221 current_state%u%data(k, current_y_index+1, current_x_index)*&
222 (current_state%v%data(k, current_y_index, current_x_index)+&
223 current_state%v%data(k, current_y_index, current_x_index+1)))
226 current_state%su%data(k, current_y_index, current_x_index)=current_state%su%data(k, current_y_index, current_x_index)+&
227 (current_state%global_grid%configuration%vertical%tzc1(k)*current_state%u%data(k-1, current_y_index, current_x_index)*&
228 (current_state%w%data(k-1, current_y_index, current_x_index)+&
229 current_state%w%data(k-1, current_y_index, current_x_index+1))-&
230 current_state%global_grid%configuration%vertical%tzc2(k)*current_state%u%data(k+1, current_y_index, current_x_index)*&
231 (current_state%w%data(k, current_y_index, current_x_index)+&
232 current_state%w%data(k, current_y_index, current_x_index+1)))
237 current_state%sv%data(k, current_y_index, current_x_index)=current_state%global_grid%configuration%horizontal%tcy*(&
238 current_state%v%data(k, current_y_index-1, current_x_index)*&
239 (current_state%v%data(k, current_y_index, current_x_index)+&
240 current_state%v%data(k, current_y_index-1, current_x_index))-&
241 current_state%v%data(k, current_y_index+1, current_x_index)*&
242 (current_state%v%data(k, current_y_index, current_x_index)+&
243 current_state%v%data(k, current_y_index+1, current_x_index)))
245 current_state%sv%data(k, current_y_index, current_x_index)=current_state%sv%data(k, current_y_index, current_x_index)+&
246 current_state%global_grid%configuration%horizontal%tcx*(current_state%v%data(k, current_y_index, current_x_index-1)*&
247 (current_state%u%data(k, current_y_index, current_x_index-1)+&
248 current_state%u%data(k, current_y_index+1, current_x_index-1))-&
249 current_state%v%data(k, current_y_index, current_x_index+1)*&
250 (current_state%u%data(k, current_y_index, current_x_index)+&
251 current_state%u%data(k, current_y_index+1, current_x_index)))
254 current_state%sv%data(k, current_y_index, current_x_index)=current_state%sv%data(k, current_y_index, current_x_index)+&
255 (current_state%global_grid%configuration%vertical%tzc1(k)*current_state%v%data(k-1, current_y_index, current_x_index)*&
256 (current_state%w%data(k-1, current_y_index, current_x_index)+&
257 current_state%w%data(k-1, current_y_index+1, current_x_index))-&
258 current_state%global_grid%configuration%vertical%tzc2(k)*current_state%v%data(k+1, current_y_index, current_x_index)*&
259 (current_state%w%data(k, current_y_index, current_x_index)+&
260 current_state%w%data(k, current_y_index+1, current_x_index)))
265 current_state%sw%data(k, current_y_index, current_x_index)=(current_state%global_grid%configuration%vertical%tzd1(k)*&
266 current_state%w%data(k-1, current_y_index, current_x_index)*&
267 (current_state%w%data(k, current_y_index, current_x_index)+&
268 current_state%w%data(k-1, current_y_index, current_x_index))-&
269 current_state%global_grid%configuration%vertical%tzd2(k)*current_state%w%data(k+1, current_y_index, current_x_index)*&
270 (current_state%w%data(k, current_y_index, current_x_index)+&
271 current_state%w%data(k+1, current_y_index, current_x_index)))
273 current_state%sw%data(k, current_y_index, current_x_index)=current_state%sw%data(k, current_y_index, current_x_index)+&
274 current_state%global_grid%configuration%horizontal%tcx*(current_state%w%data(k, current_y_index, current_x_index-1)*&
275 (current_state%u%data(k, current_y_index, current_x_index-1)+&
276 current_state%u%data(k+1, current_y_index, current_x_index-1))-&
277 current_state%w%data(k, current_y_index, current_x_index+1)*&
278 (current_state%u%data(k, current_y_index, current_x_index)+&
279 current_state%u%data(k+1, current_y_index, current_x_index)))
282 current_state%sw%data(k, current_y_index, current_x_index)=current_state%sw%data(k, current_y_index, current_x_index)+&
283 current_state%global_grid%configuration%horizontal%tcy*(current_state%w%data(k, current_y_index-1, current_x_index)*&
284 (current_state%v%data(k, current_y_index-1, current_x_index)+&
285 current_state%v%data(k+1, current_y_index-1, current_x_index))-&
286 current_state%w%data(k, current_y_index+1, current_x_index)*&
287 (current_state%v%data(k, current_y_index, current_x_index)+&
288 current_state%v%data(k+1, current_y_index, current_x_index)))
294 k=current_state%local_grid%size(z_index)
296 current_state%su%data(k, current_y_index, current_x_index)=current_state%global_grid%configuration%horizontal%tcx*&
297 (current_state%u%data(k, current_y_index, current_x_index-1)*&
298 (current_state%u%data(k, current_y_index, current_x_index)+&
299 current_state%u%data(k, current_y_index, current_x_index-1))-&
300 current_state%u%data(k, current_y_index, current_x_index+1)*&
301 (current_state%u%data(k, current_y_index, current_x_index)+&
302 current_state%u%data(k, current_y_index, current_x_index+1)))
304 current_state%su%data(k, current_y_index, current_x_index)=current_state%su%data(k, current_y_index, current_x_index)+&
305 current_state%global_grid%configuration%horizontal%tcy*(current_state%u%data(k, current_y_index-1, current_x_index)*&
306 (current_state%v%data(k, current_y_index-1, current_x_index)+&
307 current_state%v%data(k, current_y_index-1, current_x_index+1))-&
308 current_state%u%data(k, current_y_index+1, current_x_index)*&
309 (current_state%v%data(k, current_y_index, current_x_index)+&
310 current_state%v%data(k, current_y_index, current_x_index+1)))
313 current_state%su%data(k, current_y_index, current_x_index)=current_state%su%data(k, current_y_index, current_x_index)+&
314 current_state%global_grid%configuration%vertical%tzc1(k)*current_state%u%data(k-1, current_y_index, current_x_index)*&
315 (current_state%w%data(k-1, current_y_index, current_x_index)+&
316 current_state%w%data(k-1, current_y_index, current_x_index+1))
321 current_state%sv%data(k, current_y_index, current_x_index)=current_state%global_grid%configuration%horizontal%tcy*&
322 (current_state%v%data(k, current_y_index-1, current_x_index)*&
323 (current_state%v%data(k, current_y_index, current_x_index)+&
324 current_state%v%data(k, current_y_index-1, current_x_index))-&
325 current_state%v%data(k, current_y_index+1, current_x_index)*&
326 (current_state%v%data(k, current_y_index, current_x_index)+&
327 current_state%v%data(k, current_y_index+1, current_x_index)))
329 current_state%sv%data(k, current_y_index, current_x_index)=current_state%sv%data(k, current_y_index, current_x_index)+&
330 current_state%global_grid%configuration%horizontal%tcx*(current_state%v%data(k, current_y_index, current_x_index-1)*&
331 (current_state%u%data(k, current_y_index, current_x_index-1)+&
332 current_state%u%data(k, current_y_index+1, current_x_index-1))-&
333 current_state%v%data(k, current_y_index, current_x_index+1)*&
334 (current_state%u%data(k, current_y_index, current_x_index)+&
335 current_state%u%data(k, current_y_index+1, current_x_index)))
338 current_state%sv%data(k, current_y_index, current_x_index)=current_state%sv%data(k, current_y_index, current_x_index)+&
339 current_state%global_grid%configuration%vertical%tzc1(k)*current_state%v%data(k-1, current_y_index, current_x_index)*&
340 (current_state%w%data(k-1, current_y_index, current_x_index)+&
341 current_state%w%data(k-1, current_y_index+1, current_x_index))