15 use par_mod, only: dp, numpath, maxnests, maxageclass, maxspec, ni, &
16 numclass, nymax, nxmax, maxcolumn, maxwf, nzmax, nxmaxn, nymaxn, &
17 maxreceptor, maxpart, maxrand, nwzmax, nuvzmax
25 character :: path(numpath+2*maxnests)*120
26 integer :: length(numpath+2*maxnests)
36 integer :: ibdate,ibtime,iedate,ietime
37 real(kind=dp) :: bdate,edate
48 integer :: ldirect,ideltas
54 integer :: loutstep,loutaver,loutsample,method,lsynctime
65 integer :: ifine,iout,ipout,ipin,iflux,mdomainfill
66 integer :: mquasilag,nested_output,ind_source,ind_receptor
67 integer :: ind_rel,ind_samp,ioutputforeachrelease,linit_cond
71 integer :: preprocessed_metdata
102 integer :: mintime,itsplit
107 integer :: lsubgrid,lconvection,lagespectra
114 integer :: nageclass,lage(maxageclass)
120 logical :: gdomainfill
132 character :: compoint(1001)*45
140 integer :: specnum(maxspec)
142 real :: decay(maxspec)
143 real :: weta(maxspec),wetb(maxspec)
144 real :: reldiff(maxspec),henry(maxspec),f0(maxspec)
145 real :: density(maxspec),dquer(maxspec),dsigma(maxspec)
146 real :: vsetaver(maxspec),cunningham(maxspec),weightmolar(maxspec)
147 real :: vset(maxspec,ni),schmi(maxspec,ni),fract(maxspec,ni)
148 real :: ri(5,numclass),rac(5,numclass),rcl(maxspec,5,numclass)
149 real :: rgs(maxspec,5,numclass),rlu(maxspec,5,numclass)
150 real :: rm(maxspec),dryvel(maxspec),kao(maxspec),ohreact(maxspec)
152 integer :: spec_ass(maxspec)
154 real :: area_hour(maxspec,24),point_hour(maxspec,24)
155 real :: area_dow(maxspec,7),point_dow(maxspec,7)
158 integer :: nspec,maxpointspec_act
159 character(len=10) :: species(maxspec)
213 integer :: nx_we(2),ny_sn(2)
215 integer :: numcolumn_we(2,0:nymax-1),numcolumn_sn(2,0:nxmax-1)
216 real :: zcolumn_we(2,0:nymax-1,maxcolumn)
217 real :: zcolumn_sn(2,0:nxmax-1,maxcolumn)
218 real :: xmassperparticle
219 real :: acc_mass_we(2,0:nymax-1,maxcolumn)
220 real :: acc_mass_sn(2,0:nxmax-1,maxcolumn)
244 integer :: numbwf,wftime(maxwf),lwindinterv
245 character(len=255) :: wfname(maxwf),wfspec(maxwf)
254 integer :: memtime(2),memind(2)
266 integer :: nx,ny,nxmin1,nymin1,nxfield,nuvz,nwz,nz,nmixz,nlev_ec
267 real :: dx,dy,xlon0,ylat0,dxconst,dyconst,height(nzmax)
296 real :: akm(nwzmax),bkm(nwzmax)
297 real :: akz(nuvzmax),bkz(nuvzmax)
298 real :: aknew(nzmax),bknew(nzmax)
310 real :: oro(0:nxmax-1,0:nymax-1)
311 real :: excessoro(0:nxmax-1,0:nymax-1)
312 real :: lsm(0:nxmax-1,0:nymax-1)
313 real :: xlanduse(0:nxmax-1,0:nymax-1,numclass)
323 real :: uu(0:nxmax-1,0:nymax-1,nzmax,2)
324 real :: vv(0:nxmax-1,0:nymax-1,nzmax,2)
325 real :: uupol(0:nxmax-1,0:nymax-1,nzmax,2)
326 real :: vvpol(0:nxmax-1,0:nymax-1,nzmax,2)
327 real :: ww(0:nxmax-1,0:nymax-1,nzmax,2)
328 real :: tt(0:nxmax-1,0:nymax-1,nzmax,2)
329 real :: qv(0:nxmax-1,0:nymax-1,nzmax,2)
330 real :: pv(0:nxmax-1,0:nymax-1,nzmax,2)
331 real :: rho(0:nxmax-1,0:nymax-1,nzmax,2)
332 real :: drhodz(0:nxmax-1,0:nymax-1,nzmax,2)
333 real :: tth(0:nxmax-1,0:nymax-1,nuvzmax,2)
334 real :: qvh(0:nxmax-1,0:nymax-1,nuvzmax,2)
335 real :: pplev(0:nxmax-1,0:nymax-1,nuvzmax,2)
336 integer(kind=1) :: clouds(0:nxmax-1,0:nymax-1,nzmax,2)
337 integer :: cloudsh(0:nxmax-1,0:nymax-1,2)
356 real :: ps(0:nxmax-1,0:nymax-1,1,2)
357 real :: sd(0:nxmax-1,0:nymax-1,1,2)
358 real :: msl(0:nxmax-1,0:nymax-1,1,2)
359 real :: tcc(0:nxmax-1,0:nymax-1,1,2)
360 real :: u10(0:nxmax-1,0:nymax-1,1,2)
361 real :: v10(0:nxmax-1,0:nymax-1,1,2)
362 real :: tt2(0:nxmax-1,0:nymax-1,1,2)
363 real :: td2(0:nxmax-1,0:nymax-1,1,2)
364 real :: lsprec(0:nxmax-1,0:nymax-1,1,2)
365 real :: convprec(0:nxmax-1,0:nymax-1,1,2)
366 real :: sshf(0:nxmax-1,0:nymax-1,1,2)
367 real :: ssr(0:nxmax-1,0:nymax-1,1,2)
368 real :: surfstr(0:nxmax-1,0:nymax-1,1,2)
369 real :: ustar(0:nxmax-1,0:nymax-1,1,2)
370 real :: wstar(0:nxmax-1,0:nymax-1,1,2)
371 real :: hmix(0:nxmax-1,0:nymax-1,1,2)
372 real :: tropopause(0:nxmax-1,0:nymax-1,1,2)
373 real :: oli(0:nxmax-1,0:nymax-1,1,2)
374 real :: diffk(0:nxmax-1,0:nymax-1,1,2)
397 real :: vdep(0:nxmax-1,0:nymax-1,maxspec,2)
414 character(len=255) :: wfnamen(maxnests,maxwf)
415 character(len=18) :: wfspecn(maxnests,maxwf)
426 integer :: nxn(maxnests),nyn(maxnests)
427 real :: dxn(maxnests),dyn(maxnests),xlon0n(maxnests),ylat0n(maxnests)
438 real :: oron(0:nxmaxn-1,0:nymaxn-1,maxnests)
439 real :: excessoron(0:nxmaxn-1,0:nymaxn-1,maxnests)
440 real :: lsmn(0:nxmaxn-1,0:nymaxn-1,maxnests)
441 real :: xlandusen(0:nxmaxn-1,0:nymaxn-1,numclass,maxnests)
447 real :: uun(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
448 real :: vvn(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
449 real :: wwn(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
450 real :: ttn(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
451 real :: qvn(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
452 real :: pvn(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
453 integer(kind=1) :: cloudsn(0:nxmaxn-1,0:nymaxn-1,0:nzmax,2,maxnests)
454 integer :: cloudsnh(0:nxmaxn-1,0:nymaxn-1,2,maxnests)
455 real :: rhon(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
456 real :: drhodzn(0:nxmaxn-1,0:nymaxn-1,nzmax,2,maxnests)
457 real :: tthn(0:nxmaxn-1,0:nymaxn-1,nuvzmax,2,maxnests)
458 real :: qvhn(0:nxmaxn-1,0:nymaxn-1,nuvzmax,2,maxnests)
463 real :: psn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
464 real :: sdn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
465 real :: msln(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
466 real :: tccn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
467 real :: u10n(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
468 real :: v10n(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
469 real :: tt2n(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
470 real :: td2n(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
471 real :: lsprecn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
472 real :: convprecn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
473 real :: sshfn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
474 real :: ssrn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
475 real :: surfstrn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
476 real :: ustarn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
477 real :: wstarn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
478 real :: hmixn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
479 real :: tropopausen(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
480 real :: olin(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
481 real :: diffkn(0:nxmaxn-1,0:nymaxn-1,1,2,maxnests)
482 real :: vdepn(0:nxmaxn-1,0:nymaxn-1,maxspec,2,maxnests)
489 real :: xresoln(0:maxnests),yresoln(0:maxnests)
494 real :: xln(maxnests),yln(maxnests),xrn(maxnests),yrn(maxnests)
504 logical :: xglobal,sglobal,nglobal
505 real :: switchnorthg,switchsouthg
513 real :: southpolemap(9),northpolemap(9)
524 integer(kind=1) :: landinvent(1200,600,6)
536 integer :: numxgrid,numygrid,numzgrid
537 real :: dxout,dyout,outlon0,outlat0,xoutshift,youtshift
538 integer :: numxgridn,numygridn
539 real :: dxoutn,dyoutn,outlon0n,outlat0n,xoutshiftn,youtshiftn
541 logical :: DEP,DRYDEP,DRYDEPSPEC(maxspec),WETDEP,OHREA,ASSSPEC
606 real :: xreceptor(maxreceptor),yreceptor(maxreceptor)
607 real :: receptorarea(maxreceptor)
608 real :: creceptor(maxreceptor,maxspec)
609 character(len=16) :: receptorname(maxreceptor)
610 integer :: numreceptor
622 integer :: numpart,itra1(maxpart)
623 integer :: npoint(maxpart),nclass(maxpart)
624 integer :: idt(maxpart),itramem(maxpart),itrasplit(maxpart)
625 integer :: numparticlecount
627 real(kind=dp) :: xtra1(maxpart),ytra1(maxpart)
628 real :: ztra1(maxpart),xmass1(maxpart,maxspec)
672 real :: rannumb(maxrand)