Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion emc2/core/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,7 @@ def __init__(self, file_path, time_range=None, load_processed=False, time_dim="t

# set interpolator objects for essential bulk and single-particle quantities
for key in ["A_tot_norm", "A_tot_eq_V_norm", "A_tot_Mie_norm",
"vt_m_weight", "Z", "ri_eff", "Dm_m_weight"]:
"vt_m_weight", "Z", "ri_eff", "Dm_m_weight", "rho_m_weight"]:
self.interpobj["bulk"][key] = RegularGridInterpolator(
(instrument.scat_table['p3_ice']["Fr"].values,
instrument.scat_table['p3_ice']["rho_r"].values,
Expand Down
1 change: 1 addition & 0 deletions emc2/simulator/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
classification.lidar_emulate_cosp_phase
classification.calculate_phase_ratio
psd.calc_mu_lambda
psd.calc_and_set_psd_params
psd.calc_velocity_nssl
radar_moments.calc_total_reflectivity
radar_moments.accumulate_attenuation
Expand Down
6 changes: 4 additions & 2 deletions emc2/simulator/lidar_moments.py
Original file line number Diff line number Diff line change
Expand Up @@ -406,11 +406,13 @@ def calc_lidar_bulk(instrument, model, is_conv, p_values, z_values, OD_from_sfc=
A_interped = i_calc_kws["A_tot"]((
i_calc_kws["Fr_in"], i_calc_kws["rho_r_in"], i_calc_kws["q_norm_in"]))
A_hyd = np.tile(A_interped * i_calc_kws["Ni_ice"], (model.num_subcolumns, 1, 1))
else: # using bulk r_eff, in which the eff. density is already implicitly incorporated
else: # using bulk r_eff and applying fluffiness
rho_b = instrument.rho_i # bulk ice
re_interped = model.interpobj["bulk"]["ri_eff"]((
i_calc_kws["Fr_in"], i_calc_kws["rho_r_in"], i_calc_kws["q_norm_in"])) * 1e6 # um for now
re_array = np.tile(re_interped, (model.num_subcolumns, 1, 1))
rhoi_eff_interped = model.interpobj["bulk"]["rho_m_weight"]((
i_calc_kws["Fr_in"], i_calc_kws["rho_r_in"], i_calc_kws["q_norm_in"]))
re_array = np.tile(re_interped * rhoi_eff_interped / rho_b, (model.num_subcolumns, 1, 1))
else:
rho_b = instrument.rho_i # bulk ice
rho_hyd = model.Rho_hyd[hyd_type]
Expand Down
6 changes: 4 additions & 2 deletions emc2/simulator/radar_moments.py
Original file line number Diff line number Diff line change
Expand Up @@ -352,11 +352,13 @@ def calc_radar_bulk(instrument, model, is_conv, p_values, z_values, atm_ext, OD_
A_interped = i_calc_kws["A_tot"]((
i_calc_kws["Fr_in"], i_calc_kws["rho_r_in"], i_calc_kws["q_norm_in"]))
A_hyd = np.tile(A_interped * i_calc_kws["Ni_ice"], (model.num_subcolumns, 1, 1))
else: # using bulk r_eff, in which the eff. density is already implicitly incorporated
else: # using bulk r_eff and applying fluffiness.
rho_b = instrument.rho_i # bulk ice
re_interped = model.interpobj["bulk"]["ri_eff"]((
i_calc_kws["Fr_in"], i_calc_kws["rho_r_in"], i_calc_kws["q_norm_in"])) * 1e6 # um for now
re_array = np.tile(re_interped, (model.num_subcolumns, 1, 1))
rhoi_eff_interped = model.interpobj["bulk"]["rho_m_weight"]((
i_calc_kws["Fr_in"], i_calc_kws["rho_r_in"], i_calc_kws["q_norm_in"]))
re_array = np.tile(re_interped * rhoi_eff_interped / rho_b, (model.num_subcolumns, 1, 1))
else:
rho_b = instrument.rho_i.magnitude # bulk ice
if model.Rho_hyd[hyd_type] == 'variable':
Expand Down