1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
4 |
subroutine do_fizhi(uphy,vphy,thphy,sphy,pephy,lons,lats, |
subroutine do_fizhi(myid,uphy,vphy,thphy,sphy,pephy,lons,lats, |
5 |
. ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke, |
. ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke, |
6 |
. sst,sice,phis_var,landtype,emiss,albnidr,albnirdf, |
. tgz,sst,sice,phis_var,landtype,fracland,emiss,albnidr,albnirdf, |
7 |
. albvisdr,albvisdf,ityp,chfr,alai,agrn,igrd,chlat,chlon, |
. albvisdr,albvisdf,ityp,chfr,alai,agrn,igrd,chlat,chlon, |
8 |
. tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,snodep,capac, |
. tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,snodep,capac, |
9 |
. o3,qstr,co2,cfc11,cfc12,cfc22,n2o,methane, |
. o3,qstr,co2,cfc11,cfc12,cfc22,n2o,methane, |
10 |
. idim1,idim2,jdim1,jdim2,Nrphys,Nsx,Nsy,im1,im2,jm1,jm2,bi,bj, |
. idim1,idim2,jdim1,jdim2,Nrphys,Nsx,Nsy,im1,im2,jm1,jm2,bi,bj, |
11 |
. nchp, |
. nchp,nchpland, |
12 |
. duphy,dvphy,dthphy,dsphy) |
. duphy,dvphy,dthphy,dsphy) |
13 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
14 |
c Interface routine to calculate physics increments - calls fizhi_driver. |
c Interface routine to calculate physics increments - calls fizhi_driver. |
22 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
23 |
implicit none |
implicit none |
24 |
|
|
25 |
integer im1,im2,jm1,jm2,idim1,idim2,jdim1,jdim2 |
C Argument list declarations |
26 |
integer Nrphys,Nsx,Nsy,bi,bj,nchp |
integer myid,im1,im2,jm1,jm2,idim1,idim2,jdim1,jdim2 |
27 |
|
integer Nrphys,Nsx,Nsy,bi,bj,nchp,nchpland, |
28 |
_RL uphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL uphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
29 |
_RL vphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL vphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
30 |
_RL thphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL thphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
36 |
_RL zetamt(nchp,Nsx,Nsy) |
_RL zetamt(nchp,Nsx,Nsy) |
37 |
_RL xlmt(nchp,Nrphys,Nsx,Nsy),khmt(nchp,Nrphys,Nsx,Nsy) |
_RL xlmt(nchp,Nrphys,Nsx,Nsy),khmt(nchp,Nrphys,Nsx,Nsy) |
38 |
_RL tke(nchp,Nrphys,Nsx,Nsy) |
_RL tke(nchp,Nrphys,Nsx,Nsy) |
39 |
|
_RL tgz(im2,jm2) |
40 |
|
_RL sst(idim1:idim2,jdim1:jdim2,Nsx,Nsy) |
41 |
|
_RL sice(idim1:idim2,jdim1:jdim2,Nsx,Nsy) |
42 |
|
_RL phis_var(im2,jm2,Nsx,Nsy),landtype(im2,jm2,Nsx,Nsy) |
43 |
|
_RL fracland(im2,jm2,Nsx,Nsy),emiss(im2,jm2,10,Nsx,Nsy) |
44 |
|
_RL albvisdr(im2,jm2,Nsx,Nsy),albvisdf(im2,jm2,Nsx,Nsy) |
45 |
|
_RL albnirdr(im2,jm2,Nsx,Nsy),albnirdf(im2,jm2,Nsx,Nsy) |
46 |
|
_RL chfr(nchp,Nsx,Nsy),alai(nchp,Nsx,Nsy),agrn(nchp,Nsx,Nsy) |
47 |
|
integer ityp(nchp,Nsx,Nsy),igrd(nchp,Nsx,Nsy) |
48 |
|
_RL chlat(nchp,Nsx,Nsy),chlon(nchp,Nsx,Nsy) |
49 |
|
_RL tcanopy(nchp,Nsx,Nsy),tdeep(nchp,Nsx,Nsy) |
50 |
|
_RL ecanopy(nchp,Nsx,Nsy),swetshal(nchp,Nsx,Nsy) |
51 |
|
_RL swetroot(nchp,Nsx,Nsy),swetdeep(nchp,Nsx,Nsy) |
52 |
|
_RL snodep(nchp,Nsx,Nsy),capac(nchp,Nsx,Nsy), |
53 |
|
_RL o3(im2,jm2,Nsx,Nsy),qstr(im2,jm2,Nsx,Nsy) |
54 |
|
_RL co2,cfc11,cfc12,cfc22,n2o(Nrphys),methane(Nrphys) |
55 |
_RL duphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL duphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
56 |
_RL dvphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL dvphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
57 |
_RL dthphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL dthphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
58 |
_RL dsphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
_RL dsphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
59 |
c |
c |
60 |
|
integer ptracer,ntracer |
61 |
|
integer iras,nlwcld,nlwlz,nswcld,nswlz |
62 |
|
integer imstturbsw,imstturblw |
63 |
|
|
64 |
|
real xlats(im2,jm2), xlons(im2,jm2), sea_ice(im2,jm2), p(im2,jm2) |
65 |
|
real u(im2,jm2,Nrphys), v(im2,jm2,Nrphys), t(im2,jm2,Nrphys) |
66 |
|
real q(im2,jm2,Nrphys,ntracer) |
67 |
|
real pl(im2,jm2,Nrphys),ple(im2,jm2,Nrphys+1) |
68 |
|
real dpres(im2,jm2,Nrphys),pkht(im2,jm2,Nrphys) |
69 |
|
real lwdt(im2,jm2,Nrphys),lwdtclr(im2,jm2,Nrphys) |
70 |
|
real swdt(im2,jm2,Nrphys),swdtclr(im2,jm2,Nrphys) |
71 |
|
real turbu(im2,jm2,Nrphys),turbv(im2,jm2,Nrphys) |
72 |
|
real turbt(im2,jm2,Nrphys),turbq(im2,jm2,Nrphys) |
73 |
|
real moistu(im2,jm2,Nrphys),moistv(im2,jm2,Nrphys) |
74 |
|
real moistt(im2,jm2,Nrphys),moistq(im2,jm2,Nrphys) |
75 |
|
real radswt(im2,jm2),radswg(im2,jm2),swgclr(im2,jm2) |
76 |
|
real albedo(im2,jm2),fdirpar(im2,jm2),fdifpar(im2,jm2) |
77 |
|
real osr(im2,jm2),osrclr(im2,jm2) |
78 |
|
real tg0(im2,jm2),tg0c(im2,jm2),radlwg(im2,jm2),st4(im2,jm2) |
79 |
|
real dst4(im2,jm2),dlwdtg(im2,jm2),lwclr(im2,jm2) |
80 |
|
real rainlsp(im2,jm2),raincon(im2,jm2),snowfall(im2,jm2) |
81 |
|
real cldtot_lw(im2,jm2,Nrphys),clras_lw(im2,jm2,Nrphys) |
82 |
|
real cldlsp_lw(im2,jm2,Nrphys),lwlz(im2,jm2,Nrphys) |
83 |
|
real cldtot_sw(im2,jm2,Nrphys),clras_sw(im2,jm2,Nrphys) |
84 |
|
real cldlsp_sw(im2,jm2,Nrphys),swlz(im2,jm2,Nrphys) |
85 |
|
real qliqavesw(im2,jm2,Nrphys),qliqavelw(im2,jm2,Nrphys) |
86 |
|
real fccavesw(im2,jm2,Nrphys),fccavelw(im2,jm2,Nrphys) |
87 |
|
real qq(im2,jm2,Nrphys) |
88 |
|
real u2m(im2,jm2),v2m(im2,jm2),t2m(im2,jm2),q2m(im2,jm2) |
89 |
|
real u10m(im2,jm2),v10m(im2,jm2),t10m(im2,jm2),q10m(im2,jm2) |
90 |
|
real gwet(im2,jm2),snow(im2,jm2) |
91 |
|
|
92 |
integer i,j,L |
integer i,j,L |
93 |
|
|
94 |
call fizhi_driver (nymd,nhms,myid,im,jm,lm,ptracer,ntracer, |
call fizhi_driver(myid,im2,jm2,Nrphys,ptracer,ntracer,xlats,xlons, |
|
. ndmoist,ndturb,ndlw,ndsw,xlats,xlons, |
|
95 |
. p,u,v,t,q,pl,ple,dpres,pkht,pkl,fracland,landtype,radswt, |
. p,u,v,t,q,pl,ple,dpres,pkht,pkl,fracland,landtype,radswt, |
96 |
. maxtyp,surftype,tilefrac,phis_var,sea_ice, |
. phis_var,tgz,sea_ice, |
97 |
. nchp,chlat,chlon,igrd,nchpland,chfr,ityp, |
. nchp,chlat,chlon,igrd,nchpland,chfr,ityp, |
98 |
. tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,capac,snodep, |
. tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,capac,snodep, |
99 |
. ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke, |
. ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke, |
|
. stratq,nwatlevs,nwatlats,watlevs,watlats,ozone,nozolevs, |
|
100 |
. albvisdr,albvisdf,albnirdr,albnirdf,emiss,alai,agrn, |
. albvisdr,albvisdf,albnirdr,albnirdf,emiss,alai,agrn, |
101 |
. nozolats,ozolevs,ozolats,co2,cfc11,cfc12,cfc22,methane,n2o, |
. qstr,o3,co2,cfc11,cfc12,cfc22,methane,n2o, |
102 |
. lwdt,lwdtclr,swdt,swdtclr,turbu,turbv,turbt,turbq, |
. lwdt,lwdtclr,swdt,swdtclr,turbu,turbv,turbt,turbq, |
103 |
. moistu,moistv,moistt,moistq, |
. moistu,moistv,moistt,moistq, |
104 |
. radswg,swgclr,albedo,fdirpar,fdifpar,osr,osrclr,tg0,tg0c,radlwg, |
. radswg,swgclr,albedo,fdirpar,fdifpar,osr,osrclr,tg0,tg0c,radlwg, |
106 |
. cldtot_lw,clras_lw,cldlsp_lw,nlwlz,lwlz,nswcld,cldtot_sw, |
. cldtot_lw,clras_lw,cldlsp_lw,nlwlz,lwlz,nswcld,cldtot_sw, |
107 |
. clras_sw,cldlsp_sw,nswlz,swlz,imstturbsw,imstturblw,qliqavesw, |
. clras_sw,cldlsp_sw,nswlz,swlz,imstturbsw,imstturblw,qliqavesw, |
108 |
. qliqavelw,fccavesw,fccavelw,qq,u2m,v2m,t2m,q2m,u10m,v10m,t10m, |
. qliqavelw,fccavesw,fccavelw,qq,u2m,v2m,t2m,q2m,u10m,v10m,t10m, |
109 |
. q10m,tgz,gwet,snow,chemo3,chemq,diag2d,ndiag2d,diag3d,ndiag3d) |
. q10m,gwet,snow) |
|
|
|
110 |
|
|
111 |
return |
return |
112 |
end |
end |