function [eff_diameter,num_particles,LWC,mean_diameter]=d_eff_from_d_eff_prime(eff_diameter_prime... ,beta_a_backscat,depol,beta_a,pparm); %[eff_diameter,num_particles,LWC,mean_diameter]=d_eff_from_d_eff_prime(eff_diameter_prime... % ,beta_a_backscat,beta_a,depol,pparm); %beta_a_backscat = lidar backscatter cross section, 1/(m sr) %beta_a = lidar scattering cross section, 1/m %depol = lidar measured circular depolarization. %pparm = structure containing the following elements(shown % with sample values) % alpha_ice: 2 % g_ice: 1 % sigma_a: 1 % delta_a1: 2 % delta_a2: 2 % sigma_v: 1 % delta_v1: 3 % delta_v2: 3 % h20_depol_threshold: 0.1000 % Dr: 100 % alpha_water: 2 % g_water: 1 % p180_ice: 0.0350 % where: %h20_depol_threshold = linear depolarization threshold, linear_depol/(pi*))^.25 %LWC = liquid water content gr/m^3 %mean_diameter = mean value of particle diameter(ie mean of max dimension) %eff_diameter = effective diameter (microns) % = 2*/(3*) % computed from lidar and radar backscatter cross sections % assuming and a particle sizes given by a modified gamma % distribution as presented by Deirmendjian, % 'Electromagnetic Scattering on Spherical % Polydispersions', Elsevier, NY, 1969: % % n(D) = a * D^alpha * exp(-b*D^g) (equation 1) % % Where: % D = Maximum dimension of particle % a = Num_particles*g*b^((alpha+1)/g)*gamma((alpha+1)/g) % n = number of particles per unit volume % b = parameter computed from lidar-radar signal ratio % gamma= the gamma function % % Assumptions: % - Size distribution given by equation 1 % - cloud at a given data point is either all water or all ice % - when depolarization is < h20_depol_threshold, cloud is water % - backscatter phase function for water droplets, p(180)/4pi = 0.05 % - particles are large compared to the lidar wavelength such that % the optical scattering cross section is twice the % projected area of the particle. % - particles are small compared to the radar wavelength % - radar attenuation is negligible % - the volume of ice in a particle is related to its max dimension, D, by: % % Volume = sigma_v * pi/6 *Dr^(3-delta_v)* D^delta_v % for water, sigma_v =1, delta_v=3 thus Volume= pi/6 * D^3 % % - the projected area of an ice particle is related to D by: % % Area = sigma_a *pi/4 *Dr^(2-delta_a)* D^delta_a % for water, sigma_a =1, delta_a=2, thus Area=(pi/4) * D^2 % - because the power laws for volume and area are often different % for small and large particles two values can be specified for % delta_a and delta_v: % delta_a=delta_a1, delta_v=delta_v1 for D < Dr (microns) % delta_a=delta_a2, delta_v=delta_v2 for D>= Dr % % - sigma_a=the area fill fraction at D=Dr, it is the projected area of an % ice crystal of size D=Dr divided by (pi/4)*Dr^2. % - sigma_v=volume fill fraction at D=Dr, it is the volume of ice % within an ice particle of size D=Dr divided by (pi/6)*Dr^3. h20_depol_threshold=pparm.h20_depol_threshold; %convert depol threshold to work with circular depolarization h20_depol_threshold=2*h20_depol_threshold/(1-h20_depol_threshold); p180_ice=pparm.p180_ice; alpha_water=pparm.alpha_water; g_water=pparm.g_water; density_ice=0.92; %g/cm^3 warning off MATLAB:divideByZero %this returns vectors of d_prime and the corresponding values of d_eff %which can be used as a lookup table and covert from microns to meters. [d_prime_table,d_eff_table,ave_area_table,mean_diameter_table]=d_prime_to_eff_table(pparm); %figure(1000); % plot(d_prime_table,mean_diameter_table);grid;xlabel('d_e_f_f prime');ylabel('d_e_f_f') % pause %convert from microns to meters d_prime_table=d_prime_table/1e6; d_eff_table=d_eff_table/1e6; ave_area_table=ave_area_table/1e12; mean_diameter_table=mean_diameter_table/1e6; eff_diameter=zeros(size(eff_diameter_prime)); %create empty array %convert eff_diamter_prime from microns to meters eff_diameter_prime=eff_diameter_prime/1e6; %convert d_eff_prime in those portions of the cloud dominated by ice %to d_eff by interpolating lookup table [ntimes,nalts]=size(eff_diameter_prime); reshape(eff_diameter_prime,1,ntimes*nalts); eff_diameter=zeros(size(eff_diameter_prime)); %create empty array eff_diameter=interp1(d_prime_table,d_eff_table,eff_diameter_prime); reshape(eff_diameter,ntimes,nalts); reshape(eff_diameter_prime,ntimes,nalts); if ~isempty(p180_ice) beta_a=beta_a_backscat/p180_ice; end %compute beta_a in water clouds using a fixed value of p180. beta_a(depol< h20_depol_threshold)=beta_a_backscat(depol; %in ice regions area_per_particle=zeros(size(eff_diameter_prime)); area_per_particle(depol>=h20_depol_threshold)=... interp1(d_prime_table,ave_area_table,eff_diameter_prime(depol>=h20_depol_threshold)); num_particles=beta_a./(2*area_per_particle); %1/m^3 %eff_diameter = 3*/(2*) %LWC = num_particles * * density of water %multiply by 10^6 to convert m^3 to cm^3 yielding gr/m^3 LWC = (2/3)*density_ice*num_particles .* eff_diameter .*area_per_particle *1e6; %in water regions area_per_particle(depol/(2*) %LWC = num_particles * * density of water %multiply by 10^6 to convert m^3 to cm^3 yielding gr/m^3 LWC(depol