1 | module radar_simulator_types |
---|
2 | |
---|
3 | ! Collection of common variables and types |
---|
4 | ! Part of QuickBeam v1.03 by John Haynes |
---|
5 | ! http://reef.atmos.colostate.edu/haynes/radarsim |
---|
6 | |
---|
7 | integer, parameter :: & |
---|
8 | maxhclass = 20 ,& ! max number of hydrometeor classes |
---|
9 | nd = 85 ,& ! number of discrete particles |
---|
10 | nRe_types = 250 ! number or Re size bins allowed in N and Z_scaled look up table |
---|
11 | |
---|
12 | real*8, parameter :: & |
---|
13 | dmin = 0.1 ,& ! min size of discrete particle |
---|
14 | dmax = 10000. ! max size of discrete particle |
---|
15 | |
---|
16 | integer, parameter :: & |
---|
17 | mt_nfreq = 5 , & |
---|
18 | mt_ntt = 39 , & ! num temperatures in table |
---|
19 | mt_nf = 14 , & ! number of ice fractions in table |
---|
20 | mt_nd = 85 ! num discrete mode-p drop sizes in table |
---|
21 | |
---|
22 | |
---|
23 | ! ---- hydrometeor class type ----- |
---|
24 | |
---|
25 | type class_param |
---|
26 | real*8, dimension(maxhclass) :: p1,p2,p3,dmin,dmax,apm,bpm,rho |
---|
27 | integer, dimension(maxhclass) :: dtype,col,cp,phase |
---|
28 | logical, dimension(maxhclass,nRe_types) :: scaled |
---|
29 | logical, dimension(maxhclass,mt_ntt,nRe_types) :: z_flag |
---|
30 | real*8, dimension(maxhclass,mt_ntt,nRe_types) :: Ze_scaled,Zr_scaled,kr_scaled |
---|
31 | real*8, dimension(maxhclass,nd,nRe_types) :: fc, rho_eff |
---|
32 | integer, dimension(maxhclass,nd,nRe_types) :: ifc |
---|
33 | integer, dimension(maxhclass) :: idd |
---|
34 | end type class_param |
---|
35 | |
---|
36 | ! ----- mie table structure ----- |
---|
37 | |
---|
38 | type mie |
---|
39 | real*8 :: freq(mt_nfreq), tt(mt_ntt), f(mt_nf), D(mt_nd) |
---|
40 | real*8, dimension(mt_nd,mt_ntt,mt_nf,mt_nfreq) :: qext, qbsca |
---|
41 | integer :: phase(mt_ntt) |
---|
42 | end type mie |
---|
43 | |
---|
44 | real*8, dimension(:), save, allocatable :: & |
---|
45 | mt_ttl, & ! liquid temperatures (C) |
---|
46 | mt_tti, & ! ice temperatures (C) |
---|
47 | mt_qext, mt_qbsca ! extincion/backscatter efficiency |
---|
48 | !$OMP THREADPRIVATE(mt_ttl,mt_tti,mt_qext, mt_qbsca) |
---|
49 | |
---|
50 | integer*4,save :: & |
---|
51 | cnt_liq, & ! liquid temperature count |
---|
52 | cnt_ice ! ice temperature count |
---|
53 | !$OMP THREADPRIVATE(cnt_liq,cnt_ice) |
---|
54 | |
---|
55 | end module radar_simulator_types |
---|