UPP  001
 All Data Structures Files Functions Pages
CTLBLK.f
1  module ctlblk_mod
2 !-----------------------------------------------------------------------
3 ! module: CTLBLK
4 !
5 ! ABSTRACT:
6 ! this module is replacing the CTLBLK.comm, all the comm block is
7 ! removed.
8 ! Revision Log:
9 ! 2011-02 Jun Wang - ADD variables for grib2
10 ! 2011-12-14 SARAH LU - ADD AER FILENAME
11 ! 2011-12-23 SARAH LU - ADD NBIN FOR DU, SS, OC, BC, SU
12 !-----------------------------------------------------------------------
13 !
14  implicit none
15 !
16  type field_info
17  integer ifld
18  integer lvl
19  integer lvl1,lvl2
20  integer ntrange
21  integer tinvstat
22  end type
23  integer, parameter :: komax=70
24  integer, parameter :: lsmdef=46 ! default number of p levels
25  integer,PARAMETER :: nfd=18,nbnd=6
26  REAL, PARAMETER :: qmin = 1.e-15
27 !
28  integer :: novegtype ! max number of veg type
29 !
30  character(len=256) :: filename,filenameflux,filenamed3d,filenameaer, &
31  filenameflat
32  character(len=19) :: datestr
33  character(len=4) :: modelname, submodelname
34  character(len=8) :: fullmodelname
35  character(len=20) :: ioform
36  character(len=4) :: vtimeunits
37 !
38  character(5) :: grib
39  type(field_info),allocatable :: fld_info(:)
40  integer :: cfld,ntlfld,npset
41  real*8 :: gdsdegr
42  real,allocatable :: datapd(:,:,:)
43 !
44  logical :: gocart_on, d3d_on, hyb_sigp, rdaod, aqfcmaq_on
45  logical :: sigma,run,first,restrt
46  logical :: global
47  logical :: smflag
48  integer :: idat(5),ihrst, nfcst,nbc,list,iout,ifhr,ntstm, &
49  nddamp,nprec,idtad,nboco,nshde,ncp,imdlty,nphs, &
50  nrads,nradl,imin,ifmin,datahandle,imp_physics, &
51  icu_physics,isf_surface_physics,isec,icount_calmict, &
52  ivegsrc
53  real :: dt,sdat(3),avrain,avcnvc,dtq2,pt,pdtop, &
54  spl(komax),alsl(komax),prec_acc_dt,pt_tbl,prec_acc_dt1,spval
55 ! real :: SPVAL=9.9e10 ! Moorthi
56 !
57  integer :: num_procs,me,jsta,jend,jsta_m,jend_m, &
58  jsta_m2,jend_m2,iup,idn,icnt(0:1023),idsp(0:1023), &
59  jsta_2l, jend_2u,jvend_2u,num_servers, mpi_comm_inter, &
60  mpi_comm_comp, im,jm,lm,nsoil,lp1,lm1,im_jm, &
61  lsm,lsmp1 !comm mpi
62 !
63  real :: ardsw, ardlw, asrfc, tsrfc,trdlw,trdsw,tclod,theat, &
64  tprec,tmaxmin,td3d !comm rad
65 !
66  real pthresh ! moved from params because it is defined differently for NAM
67 !
68  real(kind=8) :: etafld2_tim=0.,eta2p_tim=0.,surfce2_tim=0., &
69  cldrad_tim=0.,miscln_tim=0.,fixed_tim=0., &
70  mdl2sigma_tim=0.,readxml_tim=0.,mdl2agl_tim=0., &
71  mdl2std_tim=0.,mdl2thandpv_tim=0.,calrad_wcloud_tim=0.!comm tim_info
72 !
73  real(kind=8) :: time_output=0., time_e2out=0. !comm jjt
74 !
75  real :: spldef(lsmdef) = &
76  (/200.,500.,700.,1000.,2000.,3000. &
77  ,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000.,22500. &
78  ,25000.,27500.,30000.,32500.,35000.,37500.,40000.,42500.,45000. &
79  ,47500.,50000.,52500.,55000.,57500.,60000.,62500.,65000. &
80  ,67500.,70000.,72500.,75000.,77500.,80000.,82500.,85000. &
81  ,87500.,90000.,92500.,95000.,97500.,100000./)
82 !
83  REAL htfd(nfd),petabnd(nbnd),sigbnd(nbnd)
84 
85 ! Add GOCART aerosol specification
86  integer, parameter :: nbin_du = 5 ! dust
87  integer, parameter :: nbin_ss = 5 ! sea salt
88  integer, parameter :: nbin_oc = 2 ! organic carbon
89  integer, parameter :: nbin_bc = 2 ! black carbon
90  integer, parameter :: nbin_su = 1 ! sulfate
91  integer, parameter :: nbin_sm = 1 ! smoke
92 !
93 ! SET FD LEVEL HEIGHTS IN GEOPOTENTAL METERS.
94  DATA htfd / 20.e0,30.e0,40.e0,50.e0,80.e0,100.e0,305.e0,457.e0,610.e0, &
95  914.e0,1524.e0,1829.e0,2134.e0,2743.e0,3658.e0,4572.e0, &
96  6000.e0,7010.e0/
97 !
98 ! SET MIDPOINT "SIGMA" VALUES FOR ETA BOUNDARY LAYERS.
99  DATA sigbnd / 0.985,0.955,0.925,0.895,0.865,0.835 /
100  DATA petabnd / 15.,45.,75.,105.,135.,165./
101 !
102 !-----------------------------------------------------------------------
103  end module ctlblk_mod