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

spedas / pyspedas / 26171438601

20 May 2026 02:07AM UTC coverage: 90.571% (+0.01%) from 90.557%
26171438601

push

github

jameswilburlewis
Fix crash when a spectrogram is plotted with Y axis interpolation is enabled and Y scaling is linear.
Add regression test for y_interp bug.

0 of 4 new or added lines in 2 files covered. (0.0%)

17831 existing lines in 383 files now uncovered.

44379 of 48999 relevant lines covered (90.57%)

1.43 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
2✔
7
from pyspedas.tplot_tools import store_data, tinterp
2✔
8
import copy
2✔
9
import logging
2✔
10

11
def subtract(
2✔
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)
2✔
43

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

49
    #store subtracted data
50
    if newname is None:
2✔
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:
2✔
UNCOV
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})
1✔
UNCOV
56
        pyspedas.tplot_tools.data_quants[newname].attrs = copy.deepcopy(pyspedas.tplot_tools.data_quants[tvar1].attrs)
1✔
57
    else:
58
        store_data(newname,data={'x': pyspedas.tplot_tools.data_quants[tvar1].coords['time'].values, 'y': data})
2✔
59
        pyspedas.tplot_tools.data_quants[newname].attrs = copy.deepcopy(pyspedas.tplot_tools.data_quants[tvar1].attrs)
2✔
60

61
    return newname
2✔
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