/[MITgcm]/MITgcm/pkg/fizhi/fizhi_driver.F
ViewVC logotype

Contents of /MITgcm/pkg/fizhi/fizhi_driver.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Tue Jun 15 16:06:03 2004 UTC (20 years ago) by molod
Branch: MAIN
Include cpp options and diagnostics common if needed

1 C $Header: $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5 subroutine fizhi_driver (nymd,nhms,myid,im,jm,lm,ptracer,ntracer,
6 . ndmoist,ndturb,ndlw,ndsw,xlats,xlons,
7 . p,u,v,t,q,pl,ple,dpres,pkht,pkl,fracland,landtype,radswt,
8 . maxtyp,surftype,tilefrac,phis_var,sea_ice,
9 . nchp,chlat,chlon,igrd,nchpland,chfr,ityp,
10 . tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,capac,snodep,
11 . ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke,
12 . stratq,nwatlevs,nwatlats,watlevs,watlats,ozone,nozolevs,
13 . albvisdr,albvisdf,albnirdr,albnirdf,emiss,alai,agrn,
14 . nozolats,ozolevs,ozolats,co2,cfc11,cfc12,cfc22,methane,n2o,
15 . lwdt,lwdtclr,swdt,swdtclr,turbu,turbv,turbt,turbq,
16 . moistu,moistv,moistt,moistq,
17 . radswg,swgclr,albedo,fdirpar,fdifpar,osr,osrclr,tg0,tg0c,radlwg,
18 . st4,dst4,dlwdtg,lwclr,rainlsp,raincon,snowfall,iras,nlwcld,
19 . cldtot_lw,clras_lw,cldlsp_lw,nlwlz,lwlz,nswcld,cldtot_sw,
20 . clras_sw,cldlsp_sw,nswlz,swlz,imstturbsw,imstturblw,qliqavesw,
21 . qliqavelw,fccavesw,fccavelw,qq,u2m,v2m,t2m,q2m,u10m,v10m,t10m,
22 . q10m,tgz,gwet,snow,chemo3,chemq)
23 C***********************************************************************
24 C Purpose
25 C -------
26 C Driver for the FIZHI high-end Atmospheric Physics
27 C
28 C Arguments Description
29 C ----------------------
30 C nymd ..... Current YYMMDD
31 C nhms ..... Current HHMMSS
32 C fracland.. Land Fractions
33 C landtype.. Land Vegetation Types
34 C radswt ... Incident Solar Radiation
35 C
36 C***********************************************************************
37 implicit none
38
39 c Diagnostic Common
40 c -----------------
41 #ifdef ALLOW_DIAGNOSTICS
42 #include 'diagnostics.h'
43 #endif
44
45 c Timers Common
46 c -------------
47 #include 'chronos.h'
48
49 c Input Parameters
50 c ----------------
51 integer nymd,nhms,myid,im,jm,lm,ptracer,ntracer
52 integer maxtyp
53 integer nchp,chlat,chlon,igrd,nchpland,chfr,ityp
54 integer nwatlevs,nwatlats
55 integer nozolevs,nozolats
56 integer iras,nlwcld,nlwlz,nswcld,nswlz
57 integer imstturbsw,imstturblw
58 integer ndmoist,ndturb,ndlw,ndsw
59
60 real xlats(im,jm), xlons(im,jm)
61 real p(im,jm)
62 real u(im,jm,lm), v(im,jm,lm), t(im,jm,lm)
63 real q(im,jm,lm,ntracer)
64 real pl(im,jm,lm),ple(im,jm,lm+1),dpres(im,jm,lm),pkht(im,jm,lm)
65 real radswt(im,jm), fracland(im,jm), landtype(im,jm)
66 integer surftype(im,jm,maxtyp)
67 real tilefrac(im,jm,maxtyp)
68 real phis_var(im,jm), sea_ice(im,jm)
69 real tcanopy(nchp),tdeep(nchp),ecanopy(nchp),swetshal(nchp)
70 real swetroot(nchp),swetdeep(nchp),capac(nchp),snodep(nchp)
71 real ctmt(nchp),xxmt(nchp),yymt(nchp),zetamt(nchp)
72 real xlmt(nchp,lm),khmt(nchp,lm),tke(nchp,lm)
73 real stratq(nwatlats,nwatlevs )
74 real watlats(nwatlats)
75 real watlevs(nwatlevs)
76 real ozone(nozolats,nozolevs)
77 real ozolevs(nozolevs),ozolats(nozlats)
78 real co2,cfc11,cfc12,cfc22,methane(lm),n2o(lm)
79 real lwdt(im,jm,lm),lwdtclr(im,jm,lm)
80 real swdt(im,jm,lm),swdtclr(im,jm,lm)
81 real turbu(im,jm,lm),turbv(im,jm,lm),turbt(im,jm,lm)
82 real turbq(im,jm,lm)
83 real moistu(im,jm,lm),moistv(im,jm,lm),moistt(im,jm,lm)
84 real moistq(im,jm,lm)
85 real chemo3(im,jm,lm),chemq(im,jm,lm)
86 real albvisdr(im,jm),albvisdf(im,jm),albnirdr(im,jm)
87 real albnirdf(im,jm),emiss(im,jm)
88 real alai(nchp),agrn(nchp)
89 real radswg(im,jm),swgclr(im,jm),albedo(im,jm)
90 real fdirpar(im,jm),fdifpar(im,jm),osr(im,jm),osrclr(im,jm)
91 real tg0(im,jm),tg0c(im,jm),radlwg(im,jm),st4(im,jm),dst4(im,jm)
92 real dlwdtg(im,jm),lwclr(im,jm)
93 real rainlsp(im,jm),raincon(im,jm),snowfall(im,jm)
94 real cldtot_lw(im,jm,lm),clras_lw(im,jm,lm),cldlsp_lw(im,jm,lm)
95 real lwlz(im,jm,lm)
96 real cldtot_sw(im,jm,lm),clras_sw(im,jm,lm),cldlsp_sw(im,jm,lm)
97 real swlz(im,jm,lm)
98 real qliqavesw(im,jm,lm),qliqavelw(im,jm,lm)
99 real fccavesw(im,jm,lm),fccavelw(im,jm,lm)
100 real qq(im,jm,lm)
101 real u2m(im,jm),v2m(im,jm),t2m(im,jm),q2m(im,jm),u10m(im,jm)
102 real v10m(im,jm),t10m(im,jm),q10m(im,jm),tgz(im,jm)
103 real gwet(im,jm),snow(im,jm)
104
105 c Local Variables
106 c ---------------
107 logical alarm
108 external alarm
109
110 integer istrip,npcs
111 integer i,j,L,n
112 integer ndum,ndpnt
113 real dum,akap,getcon
114 real ptop
115 logical lpnt
116
117 istrip = min( im*jm,71 )
118 npcs = ((im*jm-1)/istrip) + 1
119
120 ptop = 0.
121 akap = getcon('KAPPA')
122
123 C **********************************************************************
124 C **** Initialization ****
125 C **********************************************************************
126
127 call get_alarm ( 'pnt',ndum,ndum,ndpnt,ndum )
128 lpnt = ndpnt.ne.0
129
130 C Compute pl,ple,pkht,pkl,dpres and pcheck for use by mini-drivers
131
132 C Make 'model theta' out of theta, ie, divide by p0**kappa
133
134 C **********************************************************************
135 C **** Call Physics Mini-Drivers ****
136 C **********************************************************************
137
138 C SHORT WAVE RADIATION
139 C ====================
140 IF ( alarm('radsw') ) THEN
141
142 call swrio ( nymd,nhms,ndsw,myid,istrip,npcs,
143 . p,pl,ple,dpres,pkht,pkl,t,chemq,chemo3,co2,
144 . albvisdr,albvisdf,albnirdr,albnirdf,swdt,swdtclr,
145 . radswg,swgclr,albedo,fdifpar,fdirpar,osr,osrclr,im,jm,lm,
146 . ptop,nswcld,cldtot_sw,cldras_sw,nswlz,swlz,
147 . .false.,imstturbsw,qliqavesw,
148 . fccavesw,landtype,xlats,xlons )
149
150 ENDIF
151
152 C LONG WAVE RADIATION
153 C ===================
154 IF ( alarm('radlw') ) THEN
155
156 c Set Reference Ground Temperature
157 c --------------------------------
158 do j=1,jm
159 do i=1,im
160 tg0(i,j) = tgz(i,j)
161 enddo
162 enddo
163 do j=1,jm
164 do i=1,im
165 tg0c(i,j) = tg0(i,j)
166 enddo
167 enddo
168
169 call lwrio ( nymd,nhms,istrip,npcs,
170 . p,pl,ple,dpres,pkht,pkl,t,chemq,pkht,chemo3,co2,
171 . cfc11,cfc12,cfc22,methane,n2o,emiss,tgz,radlwg,st4,dst4,
172 . lwdt,dlwdtg,lwdtclr,lwgclr,im,jm,lm,ptop,
173 . nlwcld,cldtot_lw,cldras_lw,nlwlz,lwlz,
174 . .false.,imstturblw,qliqavelw,
175 . fccavelw,landtype )
176
177 ENDIF
178
179 C TURBULENCE
180 C ==========
181 IF ( alarm('turb') ) THEN
182
183 call turbio (im,jm,lm,maxtyp,1,nymd,nhms,ndturb,
184 . ptop,p,u,v,t,q,ntracer,ptracer,pl,ple,dpres,pkht,pkl,
185 . ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke,
186 . tgz,gwet,snow,fracland,landtype,
187 . tcanopy,ecanopy,tdeep,swetshal,swetroot,swetdeep,snodep,capac,
188 . nchp,nchpland,chfr,chlt,chlon,igrd,ityp,alai,agrn,
189 . surftype,tilefrac,sea_ice,lpnt,
190 . turbu,turbv,turbt,turbq,radlwg,st4,dst4,radswg,radswt,
191 . fdifpar,fdirpar,rainlsp,rainconv,snowfall,tg0,
192 . imstturblw,imstturbsw,qliqavelw,qliqavesw,fccavelw,fccavesw,qq,
193 . u2m ,v2m ,t2m ,q2m,u10m,v10m,t10m,q10m,myid,comm )
194
195 c Add Gravity-Wave Drag Tendency
196 c ------------------------------
197 C Comment this out for now - run tropospheric resolutions only.
198 C Need to see how to get zonal wavelengths on the cube.
199
200 c call gwdrag (myid,p,pl,ple,dpres,pkht,pkl,u,v,t,q,phis_var,
201 c . turbu,turbv,turbt,im,jm,lm,ptop,istrip,npcs,
202 c . imglobal)
203
204 endif
205
206 C MOIST PROCESSES
207 C ===============
208 if ( alarm('moist') ) then
209 call moistio (ndmoist,istrip,npcs,
210 . p,pl,ple,dpres,pkht,pkl,t,q,ntracer,ptracer,qq,
211 . moistu,moistv,moistt,moistq,im,jm,lm,ptop,iras,
212 . rainlsp,rainconv,snowfall,
213 . nswcld,cldtot_sw,cldras_sw,cldlsp_sw,nswlz,swlz,
214 . nlwcld,cldtot_lw,cldras_lw,cldlsp_lw,nlwlz,lwlz,
215 . .false.,myid)
216
217 endif
218
219 return
220 end

  ViewVC Help
Powered by ViewVC 1.1.22