36         nhclass,hp,nprof,ngate,nsizes,d,hgt_matrix,hm_matrix,re_matrix,p_matrix,t_matrix, &
 
   37         rh_matrix,ze_non,ze_ray,h_atten_to_vol,g_atten_to_vol,dbze, &
 
   38         g_to_vol_in,g_to_vol_out)
 
   47         type(
mie), 
intent(in) :: mt
 
   49         real*8, 
intent(in) :: freq,k2
 
   50         integer, 
intent(in) ::  do_ray,use_gas_abs,use_mie_table, &
 
   51             nhclass,nprof,ngate,nsizes
 
   52         real*8, 
dimension(nsizes), 
intent(in) :: D
 
   53         real*8, 
dimension(nprof,ngate), 
intent(in) :: hgt_matrix, p_matrix, &
 
   55         real*8, 
dimension(nhclass,nprof,ngate), 
intent(in) :: hm_matrix
 
   56         real*8, 
dimension(nhclass,nprof,ngate), 
intent(inout) :: re_matrix
 
   58         real*8, 
dimension(nprof,ngate), 
intent(out) :: Ze_non,Ze_ray, &
 
   59             g_atten_to_vol,dBZe,h_atten_to_vol    
 
   61         real*8, 
optional, 
dimension(ngate,nprof) :: &
 
   62             g_to_vol_in,g_to_vol_out
 
   88   real*8, 
dimension(:,:), 
allocatable :: &
 
   91   real*8, 
dimension(:,:), 
allocatable :: &
 
  102   real*8, 
dimension(:,:,:), 
allocatable :: &
 
  106   integer, 
parameter :: one = 1
 
  107   logical :: hgt_reversed
 
  108   integer :: pr,i,j,k,unt
 
  112   freq = gbx%radar_freq
 
  122   allocate(hgt_matrix(gbx%Npoints,gbx%Nlevels),p_matrix(gbx%Npoints,gbx%Nlevels), &
 
  123            t_matrix(gbx%Npoints,gbx%Nlevels),rh_matrix(gbx%Npoints,gbx%Nlevels))
 
  124   allocate(hm_matrix(gbx%Nhydro,gbx%Npoints,gbx%Nlevels)) 
 
  125   allocate(re_matrix(gbx%Nhydro,gbx%Npoints,gbx%Nlevels))
 
  128   allocate(ze_non(gbx%Npoints,gbx%Nlevels))
 
  129   allocate(ze_ray(gbx%Npoints,gbx%Nlevels))
 
  130   allocate(h_atten_to_vol(gbx%Npoints,gbx%Nlevels))
 
  131   allocate(g_atten_to_vol(gbx%Npoints,gbx%Nlevels))
 
  132   allocate(dbze(gbx%Npoints,gbx%Nlevels))
 
  136   allocate(g_to_vol(gbx%Nlevels,gbx%Npoints))
 
  138   p_matrix   = gbx%p/100.0     
 
  139   hgt_matrix = gbx%zlev/1000.0 
 
  140   t_matrix   = gbx%T-273.15    
 
  145   call order_data(hgt_matrix,hm_matrix,p_matrix,t_matrix, &
 
  146       rh_matrix,gbx%surface_radar,hgt_reversed)
 
  152       if (hgt_reversed) 
then   
  154             hm_matrix(i,:,:) = sghydro%mr_hydro(:,pr,gbx%Nlevels:1:-1,i)*1000.0 
 
  155             if (gbx%use_reff) 
then 
  156               re_matrix(i,:,:) = sghydro%Reff(:,pr,gbx%Nlevels:1:-1,i)*1.e6     
 
  161             hm_matrix(i,:,:) = sghydro%mr_hydro(:,pr,:,i)*1000.0 
 
  162             if (gbx%use_reff) 
then 
  163               re_matrix(i,:,:) = sghydro%Reff(:,pr,:,i)*1.e6       
 
  171          if (gbx%Npoints == 53) 
then 
  175          if (gbx%Npoints == 153) 
then 
  179          call radar_simulator(freq,k2,gbx%do_ray,gbx%use_gas_abs,gbx%use_mie_tables,gbx%mt, &    
 
  180            gbx%Nhydro,gbx%hp,gbx%Npoints,gbx%Nlevels,gbx%nsizes,gbx%D, &                         
 
  181            hgt_matrix,hm_matrix,re_matrix,p_matrix,t_matrix,rh_matrix, &
 
  182            ze_non,ze_ray,h_atten_to_vol,g_atten_to_vol,dbze,g_to_vol_out=g_to_vol)
 
  184          call radar_simulator(freq,k2,gbx%do_ray,gbx%use_gas_abs,gbx%use_mie_tables,gbx%mt, &
 
  185            gbx%Nhydro,gbx%hp,gbx%Npoints,gbx%Nlevels,gbx%nsizes,gbx%D, &
 
  186            hgt_matrix,hm_matrix,re_matrix,p_matrix,t_matrix,rh_matrix, &
 
  187            ze_non,ze_ray,h_atten_to_vol,g_atten_to_vol,dbze,g_to_vol_in=g_to_vol)
 
  191       if (gbx%surface_radar == 1) 
then 
  192         z%Ze_tot(:,pr,:)=dbze(:,:)
 
  193       else if (gbx%surface_radar == 0) 
then  
  194         z%Ze_tot(:,pr,:)=dbze(:,gbx%Nlevels:1:-1)
 
  200   where (z%Ze_tot == -999.0) z%Ze_tot = 
r_undef 
  202   deallocate(hgt_matrix,p_matrix,t_matrix,rh_matrix)
 
  203   deallocate(hm_matrix,re_matrix, &
 
  204       ze_non,ze_ray,h_atten_to_vol,g_atten_to_vol,dbze)
 
real *8, dimension(:), allocatable, save mt_tti
 
real *8, dimension(:), allocatable, save mt_ttl
 
subroutine cosp_radar(gbx, sgx, sghydro, z)