Source code for pytplot.tplot_math.multiply

import pytplot
import copy
import logging


[docs] def multiply(tvar1, tvar2, newname=None, new_tvar=None): """ Multiplies two tplot variables. Will interpolate if the two are not on the same time cadence. Parameters ---------- tvar1 : str Name of first tplot variable. tvar2 : int/float Name of second tplot variable. newname : str Name of new tplot variable. If not set, then the data in tvar1 is replaced. new_tvar : str (Deprecated) Name of new tplot variable. If not set, then the data in tvar1 is replaced. Returns ------- None Examples -------- >>> x1 = [0, 4, 8, 12, 16] >>> x2 = [0, 4, 8, 12, 16, 19, 21] >>> time1 = [pyspedas.time_float("2020-01-01") + i for i in x1] >>> time2 = [pyspedas.time_float("2020-01-01") + i for i in x2] >>> pyspedas.store_data("a", data={"x": time1, "y": [1, 2, 3, 4, 5]}) >>> pyspedas.store_data("c", data={"x": time2, "y": [1, 4, 1, 7, 1, 9, 1]}) >>> n = pyspedas.multiply("a", "c", newname="a_x_c") >>> print('new tplot variable:', n) >>> ac = pyspedas.get_data(n) >>> print(ac) """ # new_tvar is deprecated in favor of newname if new_tvar is not None: logging.info( "multiply: The new_tvar parameter is deprecated. Please use newname instead." ) newname = new_tvar # interpolate tvars tv2 = pytplot.tplot_math.tinterp(tvar1, tvar2) # separate and multiply data data1 = pytplot.data_quants[tvar1].values data2 = pytplot.data_quants[tv2].values data = data1 * data2 if newname is None: pytplot.data_quants[tvar1].values = data return tvar1 if "spec_bins" in pytplot.data_quants[tvar1].coords: pytplot.store_data( newname, data={ "x": pytplot.data_quants[tvar1].coords["time"].values, "y": data, "v": pytplot.data_quants[tvar1].coords["spec_bins"].values, }, ) pytplot.data_quants[newname].attrs = copy.deepcopy( pytplot.data_quants[tvar1].attrs ) else: pytplot.store_data( newname, data={"x": pytplot.data_quants[tvar1].coords["time"].values, "y": data}, ) pytplot.data_quants[newname].attrs = copy.deepcopy( pytplot.data_quants[tvar1].attrs ) return newname