attenAlgs.runAll(data, var='H') attenAlgs.runAll(data, var='diff') # <codecell> def calc_specific_atten(data, dt=datatypes.Attenuation, pol='H'): destMap = {datatypes.Attenuation:datatypes.SpecAttenuation, datatypes.DiffAtten:datatypes.SpecDiffAtten} fields = data.fields.grabAll(dt, filt=lambda f: f.pol==pol) for f in fields: d = data.fields[f] spec = np.gradient(d, 1, data.gate_length)[1].rescale('dB/km') data.addField(spec, destMap[dt], pol=f.pol, source=f.source) # <codecell> for d in data_cache.values(): d.fields.default_keys['source'] = 'average' run_attenuation_algs(d) calc_specific_atten(d, datatypes.Attenuation, pol='H') calc_specific_atten(d, datatypes.DiffAtten, pol=None) # <codecell> def setupDefaults(grid): ax = grid[0] ax.xaxis.set_major_locator(plt.MultipleLocator(10)) ax.set_xlim(-15, 15) ax.set_ylim(0, 50) def algLabelsNoSrc(dt, units): abbr, src_str = dt.string_parts()