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