1 |
molod |
1.9 |
C $Header: /u/gcmpack/MITgcm/pkg/fizhi/do_fizhi.F,v 1.8 2004/06/15 21:18:18 molod Exp $ |
2 |
edhill |
1.2 |
C $Name: $ |
3 |
molod |
1.9 |
#include "CPP_EEOPTIONS.h" |
4 |
molod |
1.7 |
subroutine do_fizhi(uphy,vphy,thphy,sphy,pephy,lons,lats, |
5 |
molod |
1.8 |
. ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke, |
6 |
|
|
. sst,sice,phis_var,landtype,emiss,albnidr,albnirdf, |
7 |
|
|
. albvisdr,albvisdf,ityp,chfr,alai,agrn,igrd,chlat,chlon, |
8 |
|
|
. tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,snodep,capac, |
9 |
|
|
. o3,qstr,co2,cfc11,cfc12,cfc22,n2o,methane, |
10 |
|
|
. idim1,idim2,jdim1,jdim2,Nrphys,Nsx,Nsy,im1,im2,jm1,jm2,bi,bj, |
11 |
|
|
. nchp, |
12 |
|
|
. duphy,dvphy,dthphy,dsphy) |
13 |
molod |
1.1 |
c----------------------------------------------------------------------- |
14 |
molod |
1.9 |
c Interface routine to calculate physics increments - calls fizhi_driver. |
15 |
|
|
c Purpose of this routine is to set up arrays local to fizhi and 'save' |
16 |
|
|
c them from one iteration to the next, and act as interface between the |
17 |
|
|
c model common blocks (held in fizhi_wrapper) and fizhi_driver. |
18 |
|
|
c Copies of variables that are 'shadowed' are made here without shadows |
19 |
|
|
c for passing to fizhi_driver. |
20 |
|
|
c Note: routine is called from inside a bi-bj loop |
21 |
molod |
1.1 |
c |
22 |
|
|
c----------------------------------------------------------------------- |
23 |
molod |
1.5 |
implicit none |
24 |
molod |
1.1 |
|
25 |
molod |
1.5 |
integer im1,im2,jm1,jm2,idim1,idim2,jdim1,jdim2 |
26 |
|
|
integer Nrphys,Nsx,Nsy,bi,bj,nchp |
27 |
molod |
1.7 |
_RL uphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
28 |
|
|
_RL vphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
29 |
|
|
_RL thphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
30 |
|
|
_RL sphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
31 |
|
|
_RL pephy(idim1:idim2,jdim1:jdim2,Nrphys+1,Nsx,Nsy) |
32 |
|
|
_RL lons(idim1:idim2,jdim1:jdim2,Nsx,Nsy) |
33 |
|
|
_RL lats(idim1:idim2,jdim1:jdim2,Nsx,Nsy) |
34 |
molod |
1.5 |
_RL ctmt(nchp,Nsx,Nsy),xxmt(nchp,Nsx,Nsy),yymt(nchp,Nsx,Nsy) |
35 |
|
|
_RL zetamt(nchp,Nsx,Nsy) |
36 |
|
|
_RL xlmt(nchp,Nrphys,Nsx,Nsy),khmt(nchp,Nrphys,Nsx,Nsy) |
37 |
|
|
_RL tke(nchp,Nrphys,Nsx,Nsy) |
38 |
molod |
1.7 |
_RL duphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
39 |
|
|
_RL dvphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
40 |
|
|
_RL dthphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
41 |
|
|
_RL dsphy(idim1:idim2,jdim1:jdim2,Nrphys,Nsx,Nsy) |
42 |
molod |
1.1 |
c |
43 |
molod |
1.5 |
integer i,j,L |
44 |
molod |
1.1 |
|
45 |
molod |
1.6 |
call fizhi_driver (nymd,nhms,myid,im,jm,lm,ptracer,ntracer, |
46 |
molod |
1.5 |
. ndmoist,ndturb,ndlw,ndsw,xlats,xlons, |
47 |
|
|
. p,u,v,t,q,pl,ple,dpres,pkht,pkl,fracland,landtype,radswt, |
48 |
|
|
. maxtyp,surftype,tilefrac,phis_var,sea_ice, |
49 |
|
|
. nchp,chlat,chlon,igrd,nchpland,chfr,ityp, |
50 |
|
|
. tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,capac,snodep, |
51 |
|
|
. ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke, |
52 |
|
|
. stratq,nwatlevs,nwatlats,watlevs,watlats,ozone,nozolevs, |
53 |
|
|
. albvisdr,albvisdf,albnirdr,albnirdf,emiss,alai,agrn, |
54 |
|
|
. nozolats,ozolevs,ozolats,co2,cfc11,cfc12,cfc22,methane,n2o, |
55 |
|
|
. lwdt,lwdtclr,swdt,swdtclr,turbu,turbv,turbt,turbq, |
56 |
|
|
. moistu,moistv,moistt,moistq, |
57 |
|
|
. radswg,swgclr,albedo,fdirpar,fdifpar,osr,osrclr,tg0,tg0c,radlwg, |
58 |
|
|
. st4,dst4,dlwdtg,lwclr,rainlsp,raincon,snowfall,iras,nlwcld, |
59 |
|
|
. cldtot_lw,clras_lw,cldlsp_lw,nlwlz,lwlz,nswcld,cldtot_sw, |
60 |
|
|
. clras_sw,cldlsp_sw,nswlz,swlz,imstturbsw,imstturblw,qliqavesw, |
61 |
|
|
. qliqavelw,fccavesw,fccavelw,qq,u2m,v2m,t2m,q2m,u10m,v10m,t10m, |
62 |
|
|
. q10m,tgz,gwet,snow,chemo3,chemq,diag2d,ndiag2d,diag3d,ndiag3d) |
63 |
molod |
1.1 |
|
64 |
molod |
1.5 |
|
65 |
|
|
return |
66 |
|
|
end |