• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

spedas / pyspedas / 25391193746

05 May 2026 05:15PM UTC coverage: 76.027% (+19.6%) from 56.446%
25391193746

push

github

jameswilburlewis
Restore Cluster tests -- CSA seems to be back online

37244 of 48988 relevant lines covered (76.03%)

2.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.89
/pyspedas/tplot_tools/tplot_math/subtract.py
1
# Copyright 2020 Regents of the University of Colorado. All Rights Reserved.
2
# Released under the MIT license.
3
# This software was developed at the University of Colorado's Laboratory for Atmospheric and Space Physics.
4
# Verify current version before use at: https://github.com/MAVENSDC/Pytplot
5

6
import pyspedas
4✔
7
from pyspedas.tplot_tools import store_data, tinterp
4✔
8
import copy
4✔
9
import logging
4✔
10

11
def subtract(
4✔
12
        tvar1,
13
        tvar2,
14
        newname=None,
15
):
16
    """
17
    Subtracts two tplot variables.  Will interpolate if the two are not on the same time cadence.
18

19
    Parameters
20
    ----------
21
        tvar1 : str
22
            Name of first tplot variable.
23
        tvar2 : int/float
24
            Name of second tplot variable
25
        newname : str
26
            Name of new tvar for added data.
27
            Default: None. If not set, then the data in tvar1 is replaced.
28

29
    Returns
30
    -------
31
        None
32

33
    Examples
34
    --------
35
        >>> pyspedas.store_data('a', data={'x':[0,4,8,12,16], 'y':[1,2,3,4,5]})
36
        >>> pyspedas.store_data('c', data={'x':[0,4,8,12,16,19,21], 'y':[1,4,1,7,1,9,1]})
37
        >>> pyspedas.subtract('a','c',newname='a-c')
38

39
    """
40

41
    #interpolate tvars
42
    tv2 = tinterp(tvar1,tvar2)
3✔
43

44
    #separate and subtract data
45
    data1 = pyspedas.tplot_tools.data_quants[tvar1].values
3✔
46
    data2 = pyspedas.tplot_tools.data_quants[tv2].values
3✔
47
    data = data1 - data2
3✔
48

49
    #store subtracted data
50
    if newname is None:
3✔
51
        pyspedas.tplot_tools.data_quants[tvar1].values = data
×
52
        return tvar1
×
53

54
    if 'spec_bins' in pyspedas.tplot_tools.data_quants[tvar1].coords:
3✔
55
        store_data(newname, data={'x': pyspedas.tplot_tools.data_quants[tvar1].coords['time'].values, 'y': data, 'v':pyspedas.tplot_tools.data_quants[tvar1].coords['spec_bins'].values})
2✔
56
        pyspedas.tplot_tools.data_quants[newname].attrs = copy.deepcopy(pyspedas.tplot_tools.data_quants[tvar1].attrs)
2✔
57
    else:
58
        store_data(newname,data={'x': pyspedas.tplot_tools.data_quants[tvar1].coords['time'].values, 'y': data})
3✔
59
        pyspedas.tplot_tools.data_quants[newname].attrs = copy.deepcopy(pyspedas.tplot_tools.data_quants[tvar1].attrs)
3✔
60

61
    return newname
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc