1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "PACKAGES_CONFIG.h" |
#include "FIZHI_OPTIONS.h" |
|
#include "CPP_OPTIONS.h" |
|
5 |
subroutine fizhi_step_diag(myThid,p,uphy,vphy,thphy,sphy,qq,pk,dp, |
subroutine fizhi_step_diag(myThid,p,uphy,vphy,thphy,sphy,qq,pk,dp, |
6 |
. radswt,radswg,swgclr,osr,osrclr,st4,dst4,tgz,tg0,radlwg,lwgclr, |
. radswt,radswg,swgclr,osr,osrclr,st4,dst4,tgz,tg0,radlwg,lwgclr, |
7 |
. turbu,turbv,turbt,turbq,moistu,moistv,moistt,moistq, |
. turbu,turbv,turbt,turbq,moistu,moistv,moistt,moistq, |
17 |
#endif |
#endif |
18 |
|
|
19 |
integer myThid,im1,im2,jm1,jm2,Nrphys,Nbi,Nbj,bi,bj,ntracer |
integer myThid,im1,im2,jm1,jm2,Nrphys,Nbi,Nbj,bi,bj,ntracer |
20 |
real p(im2,jm2,Nbi,Nbj) |
_RL p(im2,jm2,Nbi,Nbj) |
21 |
real uphy(im2,jm2,Nrphys,Nbi,Nbj),vphy(im2,jm2,Nrphys,Nbi,Nbj) |
_RL uphy(im2,jm2,Nrphys,Nbi,Nbj) |
22 |
real thphy(im2,jm2,Nrphys,Nbi,Nbj),sphy(im2,jm2,Nrphys,Nbi,Nbj) |
_RL vphy(im2,jm2,Nrphys,Nbi,Nbj) |
23 |
real qq(im2,jm2,Nrphys),pk(im2,jm2,Nrphys,Nbi,Nbj) |
_RL thphy(im2,jm2,Nrphys,Nbi,Nbj) |
24 |
real dp(im2,jm2,Nrphys,Nbi,Nbj) |
_RL sphy(im2,jm2,Nrphys,Nbi,Nbj) |
25 |
real radswt(im2,jm2,Nbi,Nbj),radswg(im2,jm2,Nbi,Nbj) |
_RL qq(im2,jm2,Nrphys),pk(im2,jm2,Nrphys,Nbi,Nbj) |
26 |
real swgclr(im2,jm2,Nbi,Nbj),osr(im2,jm2,Nbi,Nbj) |
_RL dp(im2,jm2,Nrphys,Nbi,Nbj) |
27 |
real osrclr(im2,jm2,Nbi,Nbj),st4(im2,jm2,Nbi,Nbj) |
_RL radswt(im2,jm2,Nbi,Nbj),radswg(im2,jm2,Nbi,Nbj) |
28 |
real dst4(im2,jm2,Nbi,Nbj),tgz(im2,jm2,Nbi,Nbj) |
_RL swgclr(im2,jm2,Nbi,Nbj),osr(im2,jm2,Nbi,Nbj) |
29 |
real tg0(im2,jm2,Nbi,Nbj),radlwg(im2,jm2,Nbi,Nbj) |
_RL osrclr(im2,jm2,Nbi,Nbj),st4(im2,jm2,Nbi,Nbj) |
30 |
real lwgclr(im2,jm2,Nbi,Nbj) |
_RL dst4(im2,jm2,Nbi,Nbj),tgz(im2,jm2,Nbi,Nbj) |
31 |
real turbu(im2,jm2,Nrphys,Nbi,Nbj),turbv(im2,jm2,Nrphys,Nbi,Nbj) |
_RL tg0(im2,jm2,Nbi,Nbj),radlwg(im2,jm2,Nbi,Nbj) |
32 |
real turbt(im2,jm2,Nrphys,Nbi,Nbj) |
_RL lwgclr(im2,jm2,Nbi,Nbj) |
33 |
real turbq(im2,jm2,Nrphys,ntracer,Nbi,Nbj) |
_RL turbu(im2,jm2,Nrphys,Nbi,Nbj) |
34 |
real moistu(im2,jm2,Nrphys,Nbi,Nbj),moistv(im2,jm2,Nrphys,Nbi,Nbj) |
_RL turbv(im2,jm2,Nrphys,Nbi,Nbj) |
35 |
real moistt(im2,jm2,Nrphys,Nbi,Nbj) |
_RL turbt(im2,jm2,Nrphys,Nbi,Nbj) |
36 |
real moistq(im2,jm2,Nrphys,ntracer,Nbi,Nbj) |
_RL turbq(im2,jm2,Nrphys,ntracer,Nbi,Nbj) |
37 |
real lwdt(im2,jm2,Nrphys,Nbi,Nbj),swdt(im2,jm2,Nrphys,Nbi,Nbj) |
_RL moistu(im2,jm2,Nrphys,Nbi,Nbj) |
38 |
real lwdtclr(im2,jm2,Nrphys,Nbi,Nbj) |
_RL moistv(im2,jm2,Nrphys,Nbi,Nbj) |
39 |
real swdtclr(im2,jm2,Nrphys,Nbi,Nbj) |
_RL moistt(im2,jm2,Nrphys,Nbi,Nbj) |
40 |
real dlwdtg(im2,jm2,Nrphys,Nbi,Nbj) |
_RL moistq(im2,jm2,Nrphys,ntracer,Nbi,Nbj) |
41 |
|
_RL lwdt(im2,jm2,Nrphys,Nbi,Nbj) |
42 |
|
_RL swdt(im2,jm2,Nrphys,Nbi,Nbj) |
43 |
|
_RL lwdtclr(im2,jm2,Nrphys,Nbi,Nbj) |
44 |
|
_RL swdtclr(im2,jm2,Nrphys,Nbi,Nbj) |
45 |
|
_RL dlwdtg(im2,jm2,Nrphys,Nbi,Nbj) |
46 |
|
|
47 |
integer i,j,L |
integer i,j,L |
48 |
real pinv(im2,jm2), qbar(im2,jm2) |
_RL pinv(im2,jm2), qbar(im2,jm2) |
49 |
|
|
50 |
C ********************************************************************** |
C ********************************************************************** |
51 |
|
|
52 |
|
#ifdef ALLOW_DIAGNOSTICS |
53 |
do j=jm1,jm2 |
do j=jm1,jm2 |
54 |
do i=im1,im2 |
do i=im1,im2 |
55 |
pinv(i,j) = 1.0 / p(i,j,bi,bj) |
pinv(i,j) = 1.0 / p(i,j,bi,bj) |
431 |
nvdtradlw = nvdtradlw + 1 |
nvdtradlw = nvdtradlw + 1 |
432 |
nvdtradsw = nvdtradsw + 1 |
nvdtradsw = nvdtradsw + 1 |
433 |
|
|
434 |
|
#endif |
435 |
return |
return |
436 |
end |
end |