1 |
subroutine step_physics(uphy,vphy,thphy,sphy,dt, |
2 |
. im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,idim1,idim2,jdim1,jdim2,bi,bj, |
3 |
. duphy,dvphy,dthphy,dsphy) |
4 |
c----------------------------------------------------------------------- |
5 |
c Routine to step physics state forward using the increments |
6 |
c |
7 |
c----------------------------------------------------------------------- |
8 |
implicit none |
9 |
#include "CPP_OPTIONS.h" |
10 |
integer im1,im2,jm1,jm2,idim1,idim2,jdim1,jdim2 |
11 |
integer Nrphys,Nsx,Nsy,bi,bj |
12 |
_RL uphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
13 |
_RL vphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
14 |
_RL thphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
15 |
_RL sphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
16 |
_RL duphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
17 |
_RL dvphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
18 |
_RL dthphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
19 |
_RL dsphy(im1:im2,jm1:jm2,Nrphys,Nsx,Nsy) |
20 |
_RL dt |
21 |
c |
22 |
integer i,j,L |
23 |
|
24 |
do L = 1,Nrphys |
25 |
do j = jdim1,jdim2 |
26 |
do i = idim1,idim2 |
27 |
uphy(i,j,L,bi,bj) = uphy(i,j,L,bi,bj) + duphy(i,j,L,bi,bj) * dt |
28 |
vphy(i,j,L,bi,bj) = vphy(i,j,L,bi,bj) + dvphy(i,j,L,bi,bj) * dt |
29 |
thphy(i,j,L,bi,bj)=thphy(i,j,L,bi,bj) + dthphy(i,j,L,bi,bj)* dt |
30 |
sphy(i,j,L,bi,bj) = sphy(i,j,L,bi,bj) + dsphy(i,j,L,bi,bj) * dt |
31 |
enddo |
32 |
enddo |
33 |
enddo |
34 |
|
35 |
return |
36 |
end |