1 |
molod |
1.1 |
subroutine step_physics(uphy,vphy,thphy,sphy, |
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 |
|
|
c |
21 |
|
|
integer i,j,L |
22 |
|
|
|
23 |
|
|
do L = 1,Nrphys |
24 |
|
|
do j = jdim1,jdim2 |
25 |
|
|
do i = idim1,idim2 |
26 |
|
|
uphy(i,j,L,bi,bj) = uphy(i,j,L,bi,bj) + duphy(i,j,L,bi,bj) |
27 |
|
|
vphy(i,j,L,bi,bj) = vphy(i,j,L,bi,bj) + dvphy(i,j,L,bi,bj) |
28 |
|
|
thphy(i,j,L,bi,bj) = thphy(i,j,L,bi,bj) + dthphy(i,j,L,bi,bj) |
29 |
|
|
sphy(i,j,L,bi,bj) = sphy(i,j,L,bi,bj) + dsphy(i,j,L,bi,bj) |
30 |
|
|
enddo |
31 |
|
|
enddo |
32 |
|
|
enddo |
33 |
|
|
|
34 |
|
|
return |
35 |
|
|
end |