37 integer,
parameter :: komax=70
38 integer,
parameter :: lsmdef=46
39 integer,
PARAMETER :: nfd=20,nbnd=6
40 REAL,
PARAMETER :: qmin = 1.e-15
44 character(len=256) :: filename,filenameflux,filenamed3d,filenameaer, &
46 character(len=19) :: datestr
47 character(len=4) :: modelname, submodelname
48 character(len=8) :: fullmodelname
49 character(len=20) :: ioform
50 character(len=4) :: vtimeunits
54 integer :: cfld,ntlfld,npset
56 real,
allocatable :: datapd(:,:,:)
58 logical :: gocart_on, gccpp_on, nasa_on, d3d_on, hyb_sigp, rdaod, d2d_chem, aqf_on, slrutah_on
59 logical :: sigma,run,first,restrt
62 integer :: idat(5),ihrst, nfcst,nbc,list,iout,ifhr,ntstm, &
63 nddamp,nprec,idtad,nboco,nshde,ncp,imdlty,nphs, &
64 nrads,nradl,imin,ifmin,datahandle,imp_physics, &
65 icu_physics,isf_surface_physics,isec,icount_calmict, &
67 real :: dt,sdat(3),avrain,avcnvc,dtq2,pt,pdtop, &
68 spl(komax),alsl(komax),prec_acc_dt,pt_tbl,prec_acc_dt1,spval
71 integer :: num_procs,me,jsta,jend,ista,iend, &
72 jsta_m,jend_m, jsta_m2,jend_m2, &
73 ista_m,iend_m,ista_m2,iend_m2, &
74 iup,idn,icnt(0:1023),idsp(0:1023), icnt2(0:1023),idsp2(0:1023), &
75 jsta_2l, jend_2u,jvend_2u, &
76 ista_2l, iend_2u,ivend_2u, &
77 num_servers, mpi_comm_inter, &
78 mpi_comm_comp, im,jm,lm,nsoil,lp1,lm1,im_jm, &
83 integer,
allocatable :: icoords(:,:),ibcoords(:,:)
84 real ,
allocatable :: rcoords(:,:),rbcoords(:,:)
85 real,
allocatable :: bufs(:),buff(:)
86 integer ,
allocatable :: isxa(:),iexa(:),jsxa(:),jexa(:)
88 integer,
allocatable :: ibufs(:)
89 real,
allocatable :: rbufs(:)
91 real :: ardsw, ardlw, asrfc, tsrfc,trdlw,trdsw,tclod,theat, &
96 real(kind=8) :: etafld2_tim=0.,eta2p_tim=0.,surfce2_tim=0., &
97 cldrad_tim=0.,miscln_tim=0.,fixed_tim=0., &
98 mdl2sigma_tim=0.,readxml_tim=0.,mdl2agl_tim=0., &
99 mdl2std_tim=0.,mdl2thandpv_tim=0., &
100 calrad_wcloud_tim=0.,run_ifi_tim=0.
102 real(kind=8) :: time_output=0., time_e2out=0.
104 real :: spldef(lsmdef) = &
105 (/200.,500.,700.,1000.,2000.,3000. &
106 ,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000.,22500. &
107 ,25000.,27500.,30000.,32500.,35000.,37500.,40000.,42500.,45000. &
108 ,47500.,50000.,52500.,55000.,57500.,60000.,62500.,65000. &
109 ,67500.,70000.,72500.,75000.,77500.,80000.,82500.,85000. &
110 ,87500.,90000.,92500.,95000.,97500.,100000./)
112 REAL htfd(nfd),petabnd(nbnd),sigbnd(nbnd)
115 integer,
parameter :: nbin_du = 5
116 integer,
parameter :: nbin_ss = 5
117 integer,
parameter :: nbin_oc = 2
118 integer,
parameter :: nbin_bc = 2
119 integer,
parameter :: nbin_su = 1
120 integer,
parameter :: nbin_no3 = 3
121 integer,
parameter :: nbin_nh4 = 1
122 integer,
parameter :: nbin_sm = 1
125 DATA htfd / 20.e0,30.e0,40.e0,50.e0,80.e0,100.e0,160.e0,305.e0,320.e0,457.e0,610.e0, &
126 914.e0,1524.e0,1829.e0,2134.e0,2743.e0,3658.e0,4572.e0, &
130 DATA sigbnd / 0.985,0.955,0.925,0.895,0.865,0.835 /
131 DATA petabnd / 15.,45.,75.,105.,135.,165./
137 integer :: ifi_nflight = 0
138 real,
allocatable :: ifi_flight_levels(:)
141 end module ctlblk_mod