This page was created by the IDL library routine
mk_html_help2.
Last modified: Tue Jan 28 18:16:41 2025.
FUNCTION: findpath.pro
PURPOSE: Finds the path to a particular file in current IDL paths
ARGUMENTS:
FILENAME -> Name of the file to find - STRING
PATH <- Path to file (without "/") - STRING
RETURNS: Status of find
0 - Failure
1 - Success (exact match)
2 - Success (after adding ".pro")
KEYWORDS:
EXACT / Find exact match only (Don't try to add '.pro')
VERBOSE / Print out search pathes
CALLING SEQUENCE: found=findpath('filename',pathname)
case found of
0 : ERROR
1 : fullpath=pathname+'/'+filename
2 : fullpath=pathname+'/'+filename+'.pro'
endcase
or
if not findpath('filename',path,/exact) then ERROR
NOTES: By default, FINDPATH searches for exact match. If not found
looks for 'filename' with ".pro" appended (unless /EXACT keyword
is set).
CREATED BY: John P. Dombeck 7/03/2001
MODIFICATION HISTORY:
07/03/01- J. Dombeck Original writing
06/25/04- J. Dombeck Added VERBOSE keyword
Changed close -> free_lun
(See general/missions/rbsp/efw/findpath.pro)
NAME:
rbsp_ac_highpass_response (function)
PURPOSE:
Calculate the response of the one-pole 10 Hz high-pass analog filter applied
to RBSP AC channel field signals.
CATEGORIES:
CALLING SEQUENCE:
resp = rbsp_ac_highpass_response(f)
ARGUMENTS:
f: (Input, required) A frequency array for which the response of the filter
is calcuated. The frequency should be in units of Hz.
KEYWORDS:
None.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-08: Created by Jianbao Tao, SSL, UC Berkeley.
Version:
$LastChangedBy: jianbao_tao $
$LastChangedDate: 2012-09-06 11:42:13 -0700 (Thu, 06 Sep 2012) $
$LastChangedRevision: 10895 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_ac_highpass_response.pro $
(See general/missions/rbsp/efw/rbsp_ac_highpass_response.pro)
NAME:
rbsp_adc_response (function)
PURPOSE:
Calculate the responses of the RBSP DFB ADC chip.
CATEGORIES:
CALLING SEQUENCE:
response = rbsp_adc_response(f, channel, delay = delay)
ARGUMENTS:
f: (Input, required) A floating array of frequencies at which the responses
are calculated.
channel: (Input, required) A string of channel names. Valid channels are:
'V1DC', 'V2DC', 'V3DC', 'V4DC', 'V5DC', 'V6DC',
'E12DC', 'E34DC', 'E56DC', 'E12AC', 'E34AC', 'E56AC',
'V1AC', 'V2AC', 'V3AC', 'V4AC', 'V5AC', 'V6AC',
'MAGU', 'MAGV', 'MAGW', 'MSCU', 'MSCV', 'MSCW'
KEYWORDS:
delay: (Output, optional) A variable name to hold the time delay of the
given channel.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-10: Created by Jianbao Tao (JBT), SSL, UC Berkley.
Version:
$LastChangedBy: jianbao_tao $
$LastChangedDate: 2012-09-06 11:42:13 -0700 (Thu, 06 Sep 2012) $
$LastChangedRevision: 10895 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_adc_response.pro $
(See general/missions/rbsp/efw/rbsp_adc_response.pro)
NAME:
rbsp_anti_aliasing_response (function)
PURPOSE:
Calculate the frequency responses of the anti-aliasing filters for RBSP
field signals.
CATEGORIES:
CALLING SEQUENCE:
response = rbsp_anti_aliasing_response(f)
ARGUMENTS:
f: (Input, required) A floating array of frequencies at which the responses
are calculated.
KEYWORDS:
None.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-10: Created by Jianbao Tao (JBT), SSL, UC Berkley.
Version:
$LastChangedBy: jianbao_tao $
$LastChangedDate: 2012-09-06 11:42:13 -0700 (Thu, 06 Sep 2012) $
$LastChangedRevision: 10895 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_anti_aliasing_response.pro $
(See general/missions/rbsp/efw/rbsp_anti_aliasing_response.pro)
NAME: rbsp_corotation_efield
PURPOSE: Determine the co-rotation electric field for RBSP. Saves as tplot variable
INPUT: probe -> 'a' or 'b'
date -> ex '2012-10-13'
KEYWORDS: no_spice_load -> don't load SPICE kernels
NOTES: 1) I've tested this with the hires mag data as well as lowres 4-sec data.
The lowres data work just as well.
2) uses accurate 1-min cadence spinaxis pointing direction
HISTORY:
2013-07-08: Adapted by Aaron Breneman from program by Scott Thaller, University of Minnesota
2014-12-12: added data_preloaded keyword. Designed for when I call
this from rbsp_efw_vxb_subtract_crib (and other cribs) so that
program doesn't reload a bunch of data that's already been loaded.
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2017-06-15 11:18:24 -0700 (Thu, 15 Jun 2017) $
$LastChangedRevision: 23480 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_corotation_efield.pro $
(See general/missions/rbsp/efw/rbsp_corotation_efield.pro)
NAME:
rbsp_cotrans (procedure)
PURPOSE:
A wrapper of cotrans for RBSP, with a few mission-specific features added.
CATEGORIES:
CALLING SEQUENCE:
rbsp_cotrans, from_tvar, to_tvar $
, gse2gsm = gse2gsm $
, gsm2gse = gsm2gse $
, dsc2gse = dsc2gse $
, dsc2mgse = dsc2mgse $
, dsc2gsm = dsc2gsm $
, gse2dsc = gse2dsc $
, gse2mgse = gse2mgse $
, gsm2dsc = gsm2dsc $
, dsc2fac = dsc2fac $
, mat_dsc = mat_dsc $
, tmag = tmag $
, vectype = vectype $
, verbose = verbose
NOTES:
1. A tplot variable of magnetic field in DSC, specified with tmag keyword,
is required to perfrom dsc2fac. The default value of tmag is something
like 'rbspa_mag_dsc'.
2. A tplot variable of rotation matrix from DSC to GSE, specified with the
mat_dsc keyword, is required to perform dsc2gse, gse2dsc, dsc2gsm,
and gsm2dsc. The rotation matrix is usually generated by
*rbsp_load_state*. The default value of mat_dsc is something like
'rbspa_mat_dsc'.
ARGUMENTS:
from_tvar: (In, required) A tplot variable to which the rotation is applied.
to_tvar: (Out, required) A tplot name for storing the rotation results.
KEYWORDS:
The following keywords enable the transformations indicated by their names.
/gse2gsm, /gsm2gse, /dsc2gse, /dsc2gsm, /gse2dsc, /gsm2dsc
mat_dsc: (In, optional) A tplot name of the rotation matrix between DSC and
GSE. It is usually loaded in rbsp_load_state. By default, this name is
derived as
strmid(from_tvar, 0, 6) + 'mat_dsc'
vectype: (In, optional) The type of the vectors being transformed. Valid
types are 'E', 'B', and 'V'. By default, vectype = ''. This string is
used for labelling the to_tvar.
verbose: (In, optional) A number to indicate the verbose level. See dprint.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-11-03: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2012-11-05: JBT, SSL, UC Berkley.
Initial release to TDAS.
2012-11-20: JBT, SSL, UC Berkley.
1. Added dsc-to-fac transformation.
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2019-12-19 12:45:43 -0800 (Thu, 19 Dec 2019) $
$LastChangedRevision: 28129 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_cotrans.pro $
(See general/missions/rbsp/efw/rbsp_cotrans.pro)
NAME:
rbsp_despin (procedure)
PURPOSE:
Rotate data from a spinning frame to DSC. By default, the spinning frame is
assumed to be the UVW frame.
CATEGORIES:
CALLING SEQUENCE:
rbsp_despin, sc, tvar, angle_offset = angle_offset, pertvar = pertvar, $
newname = newname, uvw = uvw, xyz = xyz, offset_name = offset_name, $
no_axial_processing = no_axial_processing, $
no_offset_remove = no_offset_remove, $
tper = tper, tphase = tphase
ARGUMENTS:
sc: (In, required) Spacecraft name. Should be 'a' or 'b'.
tvar: (In, required) Tplot variable to be despun, such as 'rbspa_mag_uvw'.
KEYWORDS:
angle_offset: (In, optional) Angle offset additional to spin phase. For UVW,
angle_offset is 10 degree, which is the default.
pertvar: (In, optional) Spin period tplot data. By default,
pertvar = 'rbsp' + strlowcase(sc[0]) + '_spinper'.
newname: (In, optional) New name for the despun data. By default,
newname = tvar + '_dsc'
/uvw: Shortcut for rotating UVW data.
/xyz: Shortcut for rotating XYZ data. Equivalent to set angle_offset = 45.
offset_name: A tplot name for saving offsets in spin-plane components.
/no_axial_processing: If set, axial component is not processed. By default,
the first spin-tone harmonic is removed in the axial component.
/no_offset_remove: If set, offsets in spin-plane components are not removed.
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-11-03: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2012-11-05: Initial release to TDAS. JBT, SSL/UCB.
2012-11-06: JBT, SSL/UCB.
1. Added tper and tphase to use eclipse-corrected spin data.
2. Added keyword *no_offset_remove*.
VERSION:
$LastChangedBy: nikos $
$LastChangedDate: 2016-10-06 16:51:43 -0700 (Thu, 06 Oct 2016) $
$LastChangedRevision: 22061 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_despin.pro $
(See general/missions/rbsp/efw/rbsp_despin.pro)
NAME:
rbsp_dfb_response (function)
PURPOSE:
Calculate DFB responses at given frequencies. Two modes are suppored. If the
sample rate keyword, SAMPLE_RATE, is specified, it will calculate the
response of the low-pass output from DFB. If the the filter bank level
keyword, FBK_LEVEL, is specified, it will calculate the response of the
corresponding filter bank level.
Warning: If both keywords are set, FBK_LEVEL is ignored. If neither is set,
a NaN will be returned.
Filter bank level look-up table:
Frequency range in Hz | Level
8192 - 4096 | 1
4096 - 2048 | 2
2048 - 1024 | 3
1024 - 512 | 4
512 - 256 | 5
256 - 128 | 6
128 - 64 | 7
64 - 32 | 8
32 - 16 | 9
16 - 8 | 10
8 - 4 | 11
4 - 2 | 12
2 - 1 | 13
CATEGORIES:
CALLING SEQUENCE:
result = rbsp_dfb_response(f, sample_rate = sample_rate, $
fbk_level = fbk_level)
ARGUMENTS:
f: (Input, required) A floating array of frequencies at which the responses
are calculated.
KEYWORDS:
sample_rate: (Input, optional) See PURPOSE.
fbk_level: (Input, optional) See PURPOSE.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-08: Created by Jianbao Tao (JBT), SSL, UC Berkley.
Version:
$LastChangedBy: jianbao_tao $
$LastChangedDate: 2012-09-06 11:42:13 -0700 (Thu, 06 Sep 2012) $
$LastChangedRevision: 10895 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_dfb_response.pro $
(See general/missions/rbsp/efw/rbsp_dfb_response.pro)
NAME: rbsp_efw_boom_length (function) PURPOSE: Return the boom length for a give time. CATEGORIES: CALLING SEQUENCE: result = rbsp_efw_boom_length(sc, time) ARGUMENTS: sc: (In, required) Spacecraft name. Should be 'a' or 'b'. time: (In, required) A value of time. KEYWORDS: COMMON BLOCKS: EXAMPLES: SEE ALSO: HISTORY: 2012-10-08: Created by Jianbao Tao (JBT), SSL, UC Berkley. 2012-11-05: Initial release to TDAS. JBT, SSL/UCB. 2013-06-20: JBT. Accounted for AXB trimming. VERSION: $LastChangedBy: jianbao_tao $ $LastChangedDate: 2013-06-20 14:01:20 -0700 (Thu, 20 Jun 2013) $ $LastChangedRevision: 12561 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_boom_length.pro $
(See general/missions/rbsp/efw/rbsp_efw_boom_length.pro)
NAME: rbsp_efw_boom_response (function) PURPOSE: CATEGORIES: CALLING SEQUENCE: resp = rbsp_efw_boom_response(f, boom_type, rsheath = rsheath, $ H_before = H_before, H_after = H_after) ARGUMENTS: KEYWORDS: COMMON BLOCKS: EXAMPLES: SEE ALSO: HISTORY: 2012-08-12: Created by Jianbao Tao (JBT), SSL, UC Berkley. VERSION: $LastChangedBy: jianbao_tao $ $LastChangedDate: 2012-08-14 18:00:24 -0700 (Tue, 14 Aug 2012) $ $LastChangedRevision: 10823 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_boom_response.pro $
(See general/missions/rbsp/efw/rbsp_efw_boom_response.pro)
NAME: rbsp_efw_cal_fbk PURPOSE: Calibrate RBSP filterbank data NOTES: -This is meant to be called from rbsp_load_efw_fbk.pro -No check at this point to see if the channel changes over day. Now I'm using the channels at the start of day. -Boom lengths currently set to 100.02000 100.02000 10.000000 -add in boom shorting factor SEE ALSO: HISTORY: 2012-xx-xx: Created by Aaron W Breneman, University of Minnesota 2013-04-xx: added support for FBK 7 2013-04-18: Added freq-dependent gain correction. At this point the gain curves are "hard-wired" into the code. In the future they will be accessed from the Berkeley RBSP website. 2013-05-15: freq-dependent gain curves now obtained from rbsp_get_efw_gain_results.pro and are no longer "hard-wired" into this code. Also added the full freq-dependent correction as well as the mu-metal square can (nT/v) curves to correct the SCM data. 2013-09-20: Switched the channels for FBK7. Previously they were flipped. 2013-10-02: Re-switched the channels for FBK7. The L1 files have been corrected and all works as it should. VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2020-01-03 14:13:58 -0800 (Fri, 03 Jan 2020) $ $LastChangedRevision: 28162 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_cal_fbk.pro $
(See general/missions/rbsp/efw/rbsp_efw_cal_fbk.pro)
NAME: rbsp_efw_cal_spec
PURPOSE: Calibrate RBSP spectral data
NOTES: Intended to be called from rbsp_load_efw_spec.pro
TO DO:
-No accounting for possible midday source change
-not using boom shorting factor
There are 7 returned spec channels. The possibilities are
Select 7 of: E12dc,E34dc,E56dc
E12ac,E34ac,E56ac
Edcpar,Edcprp
Eacpar,Eacprp
V1ac,V2ac,V3ac,V4ac,V5ac,V6ac
SCMU,SCMV,SCMW
SCMpar,SCMprp,
(V1dc+V2dc+V3dc+V4dc)/4,
Edcprp2, Eacprp2, SCMprp2
Calibration procedure
subtract offset
vals = (double(vals) - offset[j])
Compensate for 4 bit dynamic range compression
vals /= 16.
Divide the 0th bin by 4 (from weirdness doc)
vals[*,0] /= 4.
Compensate for using Hanning window
vals /= 0.375^2
Apply ADC conversion
vals *= adc_factor^2
Apply channel gain
vals *= gain[j]^2 (V^2/Hz at this point)
Apply boom length to change from V^2/Hz to mV/m^2/Hz
vals *= conversion[j]^2 ;mV/m ^2 /Hz
Apply freq dependent gain
HISTORY:
2012-09-xx: Created by Aaron W Breneman, University of Minnesota
2013-04-xx: added automated channel selection
2013-04-23: added freq-dependent gain
2013-05-15: freq-dependent gain curves now obtained from rbsp_efw_get_gain_results.pro and
are no longer "hard-wired" into this code. Also added the full
freq-dependent correction as well as the mu-metal square can (nT/v)
curves to correct the SCM data.
VERSION:
$LastChangedBy: $
$LastChangedDate: $
$LastChangedRevision: $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/missions/rbsp/efw/rbsp_efw_cal_fbk.pro $
(See general/missions/rbsp/efw/rbsp_efw_cal_spec.pro)
NAME:
rbsp_efw_cal_waveform (procedure)
PURPOSE:
Calibrate EFW waveform data.
CATEGORIES:
CALLING SEQUENCE:
rbsp_efw_cal_waveform, probe = probe, datatype = datatype, $
trange = trange, get_support_data = get_support_data, $
coord = coord, no_adc = no_adc, $
tper = tper, tphase = tphase
ARGUMENTS:
KEYWORDS:
probe: (In, optional) RBSP spacecraft names, either 'a', or 'b', or
['a', 'b']. The default is ['a', 'b']
datatype: (In, optional) A string scalar of data types that acceptable to
*rbsp_load_efw_waveform*.
trange: (In, optional) Time range for performing the calibration. By
default, trange = timerange()
/get_support_data: If set, offsets in spin-plane components are stored in a
tplot variable with format '*_uvw_offset'.
coord: (In, optional) If set to 'uvw', despinning will not be performed.
/no_adc: If set, ADC-to-physical units is ignored.
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-07: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2012-11-06: JBT, SSL/UCB.
1. Added despinning capability.
2012-11-12: JBT, SSL/UCB.
1. Added esvy and vsvy cleaning.
2013-06-21: JBT, SSL/UCB.
1. Added instrument response deconvolution for eb1.
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2019-01-29 10:01:48 -0800 (Tue, 29 Jan 2019) $
$LastChangedRevision: 26513 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_cal_waveform.pro $
(See general/missions/rbsp/efw/rbsp_efw_cal_waveform.pro)
NAME: rbsp_efw_cal_xspec PURPOSE: Calibrate RBSP cross-spectral data NOTES: meant to be called from rbsp_load_efw_xspec.pro The default is that xspec0 is SCMw x E12AC and xspec1 is V1AC x V2AC xspec3 is not used at this time A note on the various channels. From the LASP DFB document Fig 4, the spectral FFT of each channel (ex SCMw and E12AC) is sent directly into the Xspec processor. The "top" channel in this figure shows the calculation of the real and imaginary parts. FFT(SCMw) and FFT(E12AC) --> Xspec calc (eg SCMw x E12AC) --> bin averaging --> xspec compression The power is calculated via the "bottom" channel FFT(SCMw) --> FFT(SCMw)*FFT(SCMw)* --> bin averaging --> spec compression These values are "src1" and "src2" src1 and src2 refer to the individual sources that comprise the xspec. These are power spectral densities Data calibration (ex, starting with src1, described above) subtract offset src1_2 = (double(src1.y) - offset_chn1) Compensate for dynamic range compression src1_2 /= 16 (/8 for the real and imaginary parts) Divide the 0th bin by 4 (from weirdness doc) src1_2[*,0] /= 4. Compensate for using Hanning window src1_2 /= 0.375^2 Apply ADC conversion src1_2 *= adc_factor^2 Apply channel gain src1_2 *= gain[0]^2 Resulting data in V^2/Hz The coherence values are calculated as in Eqn 3.91 in "Engineering Applications of Correlation and Spectral Analysis" by Bendat and Piersol (vol 1 apparently) Coherence(f) = |Gxy(f)|^2 / Gxx(f)*Gyy(f) where |Gxy(f)|^2 = (Real^2 + Imaginary^2) Gxx(f) = src1_2 Gyy(f) = src2_2 SEE ALSO: HISTORY: Sept 2012: Created by Aaron W Breneman, University of Minnesota VERSION: $LastChangedBy: $ $LastChangedDate: $ $LastChangedRevision: $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/missions/rbsp/efw/rbsp_efw_cal_fbk.pro $
(See general/missions/rbsp/efw/rbsp_efw_cal_xspec.pro)
NAME:
rbsp_efw_clean_esvy (procedure)
PURPOSE:
Clean the axial component of EFW esvy data type.
CATEGORIES:
CALLING SEQUENCE:
rbsp_efw_clean_esvy, tvar, newname = newname, $
notch = notch, phase_tolerance = phase_tol, $
ind_spike = ind_spike, threshold = thres, $
sc = sc, tper = tper, tphase = tphase
ARGUMENTS:
tvar: (In, required) Tplot name of esvy data.
KEYWORDS:
newname: (In, optional) Tplot name for cleaned data. Default is something
like 'rbspa_esvy_clean'.
notch: (In, optional) Number of data points to be notched. Default = 43.
phase_tolerance: (In, optional) Spin phase tolerance for locating spikes in
the axial component. Default = 5 (degree)
ind_spike: (Out, optional) A named variable to return the found spikes to.
threhold: (In, optional) Threshold for finding extrema when locating spikes.
Default = 1.
sc: (In, optional) Spacecraft name. Default = strmid(tvar, 4, 1)
tper: (In, optional) Tplot name of spin period data. Default is something
like 'rbspa_spinper'.
tphase: (In, optional) Tplot name of spin phase data. Default is something
like 'rbspa_spinphase'.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-10-12: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2012-11-12: Initial release in TDAS. JBT, SSL/UCB.
VERSION:
$LastChangedBy: jianbao_tao $
$LastChangedDate: 2012-11-12 14:34:49 -0800 (Mon, 12 Nov 2012) $
$LastChangedRevision: 11226 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_clean_esvy.pro $
(See general/missions/rbsp/efw/rbsp_efw_clean_esvy.pro)
NAME:
rbsp_efw_clean_vsvy (procedure)
PURPOSE:
Clean the axial components (V5 and V6) of EFW vsvy data type.
CATEGORIES:
CALLING SEQUENCE:
rbsp_efw_clean_vsvy, tvar, newname = newname, $
notch = notch, phase_tolerance = phase_tol, $
ind_spike = ind_spike, threshold = thres, $
sc = sc, tper = tper, tphase = tphase
ARGUMENTS:
tvar: (In, required) Tplot name of esvy data.
KEYWORDS:
newname: (In, optional) Tplot name for cleaned data. Default is something
like 'rbspa_esvy_clean'.
notch: (In, optional) Number of data points to be notched. Default = 21.
phase_tolerance: (In, optional) Spin phase tolerance for locating spikes in
the axial component. Default = 5 (degree)
ind_spike: (Out, optional) A named variable to return the found spikes to.
threhold: (In, optional) Threshold for finding extrema when locating spikes.
Default = 0.1.
sc: (In, optional) Spacecraft name. Default = strmid(tvar, 4, 1)
tper: (In, optional) Tplot name of spin period data. Default is something
like 'rbspa_spinper'.
tphase: (In, optional) Tplot name of spin phase data. Default is something
like 'rbspa_spinphase'.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-11-11: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2012-11-12: Initial release in TDAS. JBT, SSL/UCB.
VERSION:
$LastChangedBy: jianbao_tao $
$LastChangedDate: 2012-11-12 14:34:49 -0800 (Mon, 12 Nov 2012) $
$LastChangedRevision: 11226 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_clean_vsvy.pro $
(See general/missions/rbsp/efw/rbsp_efw_clean_vsvy.pro)
PRO rbsp_efw_config
This procedure serves as the RBSP EFW configuration file. It sets global (system)
variables and initializes devices
This procedure will define the location of data files and the data server.
This procedure is intended to be called from within the "RBSP_EFW_INIT" procedure.
This should be the only RBSP EFW file that requires modification for use in different
locations.
There is no need to modify this file if:
- Your computer is an SSL UNIX machine that mounts "/disks/data/" (i.e. ALL Linux and Solaris machines at SSL)
- You use a portable computer that will be caching files on a local hard drive.
Settings in this file will be overridden by settings in the environment.
(see setup_themis or setup_themis_bash for examples of setting environment
variables on UNIX-like systems. The environment can also be set on Windows
systems.)
KEYWORDS
no_color_setup: do not set colors if already taken care of
Author: Peter Schroeder Jul 2011
$LastChangedBy: peters $
$LastChangedDate: 2012-02-09 14:17:52 -0800 (Thu, 09 Feb 2012) $
$LastChangedRevision: 9704 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_config.pro $
(See general/missions/rbsp/efw/rbsp_efw_config.pro)
Function: rbsp_efw_config_filedir.pro Purpose: Get the applications user directory for RBSP EFW data analysis software $LastChangedBy: peters $ $LastChangedDate: 2011-12-28 10:26:47 -0800 (Wed, 28 Dec 2011) $ $LastChangedRevision: 9477 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_config_filedir.pro $
(See general/missions/rbsp/efw/rbsp_efw_config_filedir.pro)
NAME: rbsp_efw_create_esvy_uvw_from_vsvy.pro
(see rbsp_efw_create_esvy_uvw_from_vsvy_testing.pro to compare to known
good data)
SYNTAX:
PURPOSE: Create the UVW Ew waveform data from the single-ended measurements.
Returns tplot variable rbspx_efw_esvy.
This routine is similar to rbsp_load_efw_waveform.pro called with
the 'esvy' keyword. That routine will just load Esvy straight from
the L1 files. However, the output is based on V12 and V34, which is
not useful if one of the antennas is bad. This routine allows you
to construct Esvy UVW from any combination of antenna pairs.
INPUT: date -> 'yyyy-mm-dd'
probe -> 'a' or 'b'
bad_probe -> (integer) probe to avoid (1,2,3, or 4)
KEYWORDS:
pairs -> can directly input antenna pairs to be used instead of
just indicating the bad_antennas
rerun -> don't reload spice kernels or other stuff
method -> 1 = (default) Calculate Ew directly using linear combination of diagonal antenna pairs.
Project the result onto the usual u or v axis. For
ex, if V1 is bad we can calculate V12 from V23 and V24
method -> 2 = Calculate Ew using average of good boom pair. Ex, if V1
is bad then E12 = 2*(V3+V4)/2 - V2
method -> 3 = (NOT WORKING YET) mimic the bad antenna by time-shifting data from adjacent
antenna by 1/4 spinperiod. For ex, if V4 is bad we can
substitute V4 data with time-shifted V1 data. This method
can be useful if two probe potentials are misbehaving. Ex.
2015-03-17 at 20:00. Only V2 and V4 are good.
Comparison of method 1 and 2
method 1 -> disadvantage: shorter baseline for calculating Ew
(length*cos(45)
advantage: No time-shift involved. Higher resolution
for final data product
method 2 -> disadvantage: larger time-shift (1/4 sp as opposed to 1/8)
advantage: longer antenna baselines. Always 100 m.
OUTPUT: tplot variable rb_efw_esvy, which is the Efield in UVW coord.
This can then be despun using rbsp_uvw_to_mgse.pro or spinfit
with rbsp_spinfit.
EXAMPLES: Call for two bad antennas.
rbsp_efw_create_esvy_uvw_from_vsvy,'a',bad_antennas=[1,2],method=1
For this example V34 will be time-shifted by 1/4 spinperiod to mimic V12
Call for one bad antenna
rbsp_efw_create_esvy_uvw_from_vsvy,'a',bad_antennas=1,method=1
explicitly define antenna pairs to be used (assume V4 is bad)
rbsp_efw_create_esvy_uvw_from_vsvy,'a',pairs=['12','31'],method=1
In this case V1 will be time-shifted by 1/4 spinperiod to mimic V4.
HISTORY: Written by Aaron W Breneman, June 2016
VERSION:
(See general/missions/rbsp/efw/rbsp_efw_create_esvy_uvw_from_vsvy.pro)
NAME:
rbsp_efw_deconvol_inst_resp (function)
PURPOSE:
De-convolve instrument responses for RBSP EFW data, including search-coil
data that are channeled into EFW. It will return a tplot data structure.
CATEGORIES:
CALLING SEQUENCE:
result = rbsp_efw_deconvol_inst_resp(data, probe, datatype)
ARGUMENTS:
data: (Input, required) A tplot data structure, i.e., a structure with the
form {x:time_array, y:[nt, 3]}.
probe: (Input, required) RBSP probe name. It should be 'a' or 'b'.
datatype: (Input, required) Data type name. Valid names are:
'eb2', 'mscb1', 'mscb2'.
KEYWORDS:
None.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-23: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2013-06-21: JBT.
1. Added support to eb1.
2. Removed hard-wired sample rate.
2014-06-01: AWB
Checks to be sure that block length is greater than kernel length
Not doing this can cause blk_con to fail for short bursts.
Version:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2014-09-17 14:33:45 -0700 (Wed, 17 Sep 2014) $
$LastChangedRevision: 15817 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_deconvol_inst_resp.pro $
(See general/missions/rbsp/efw/rbsp_efw_deconvol_inst_resp.pro)
NAME: RBSP_EFW_DSC_TO_MGSE SYNTAX: rbsp_dsc_to_mgse,'a',tplot_var,wgse PURPOSE: Rotates data from despun spacecraft coordinates (DSC) into the modified GSE (MGSE) coordinate system. DSC is defined: Z_DSC is the spin axis direction, W_SC X_DSC is the sun sensor triggering direction, perpendicular to the spin axis Y_DSC completes the RH system in the spin plane MGSE is defined: Y_MGSE=-W_SC(GSE) x Z_GSE Z_MGSE=W_SC(GSE) x Y_MGSE X_MGSE=Y_MGSE x Z_MGSE INPUT: probe - either 'a' or 'b' tvar - TPLOT variable containing 3-component DSC data (either string or integer). tvar_wgse - TPLOT variable containing the spin axis pointing direction in GSE coord. Get this from rbsp_load_spice_cdf_file.pro KEYWORDS: suffix = 'string', suffix appended to the tplot variable name. Default is 'mgse' uangle = degrees, angle between sun sensor and +U (EFW 1) boom /debug - save various quantities for debugging NOTES: 0) This routine does not check that the supplied data is in DSC system. HISTORY: 1. Created July 2020 - Aaron Breneman forked from Kris Kersten's rbsp_dsc_to_mgse.pro VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2020-09-11 13:41:36 -0700 (Fri, 11 Sep 2020) $ $LastChangedRevision: 29145 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_dsc_to_mgse.pro $
(See general/missions/rbsp/efw/rbsp_efw_dsc_to_mgse.pro)
NAME:
rbsp_efw_get_cal_params (function)
PURPOSE:
Return RBSP EFW calibration parameters for converting L1 data to L2 data.
CATEGORIES:
CALLING SEQUENCE:
cp = rbsp_efw_get_cal_params(time)
ARGUMENTS:
time: (Input, required) A floating time scalar for determining
time-dependent calibration parameters.
KEYWORDS:
None.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-08-07: Created by Jianbao Tao (JBT), SSL, UC Berkley.
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2014-02-25 11:57:04 -0800 (Tue, 25 Feb 2014) $
$LastChangedRevision: 14428 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_get_cal_params.pro $
(See general/missions/rbsp/efw/rbsp_efw_get_cal_params.pro)
NAME: rbsp_efw_get_gain_results PURPOSE: return structure with freq-dependent calibration curves for the searchcoil and EDC channnels on EFW. Also includes notes on how to apply the calibration CATEGORIES: CALLING SEQUENCE: x = rbsp_efw_get_gain_results() ARGUMENTS: KEYWORDS: COMMON BLOCKS: EXAMPLES: SEE ALSO: HISTORY: 2013-05-15: Created by Aaron Breneman (UMN) VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2013-05-16 13:03:08 -0700 (Thu, 16 May 2013) $ $LastChangedRevision: 12351 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_get_gain_results.pro $
(See general/missions/rbsp/efw/rbsp_efw_get_gain_results.pro)
PROCEDURE: rbsp_efw_init
PURPOSE: Initializes system variables for RBSP EFW. Can be called from idl_startup to set
custom locations.
The system variable !RBSP_EFW is defined here. The elements of this structure are explained below:
!RBSP_EFW.LOCAL_DATA_DIR This is the root location for all RBSP EFW data files.
The RBSP EFW software expects all data files to reside in specific subdirectories relative
to this root directory.;
!RBSP_EFW.REMOTE_DATA_DIR This is the URL of the server that can provide the data files.
(default is: "http://themis.ssl.berkeley.edu/data/themis/")
if the software does not find a needed file in LOCAL_DATA_DIR,
then it will attempt to download the data from the URL and REMOTE_DATA_DIR is defined,
the software will attempt to download the file from REMOTE_DATA_DIR, place it in LOCAL_DATA_DIR
with the same relative pathname, and then continue processing.
(NOT YET IMPLEMENTED)
KEYWORDS:
RESET: Reset !rbsp to values in environment (or values in keywords).
LOCAL_DATA_DIR: use given value for local_data_dir, rather than environment. Only works on
initial call or reset.
REMOTE_DATA_DIR: Use given value for remote_data_dir, rather than env. Only works on inital
call or reset.
NO_COLOR_SETUP do not set colors if already taken care of
Typical examples:
Desktop UNIX/LINUX computer located at SSL
LOCAL_DATA_DIR = '/disks/data/rbsp/' ; This master directory is read only.
REMOTE_DATA_DIR = '' ; Should be empty string. (/disks/data/rbsp and server are the same)
Desktop WINDOWS computer located at SSL
LOCAL_DATA_DIR = '\\justice\data\rbsp\' ; Justice is a samba server (physically the same as /disk/data/rbsp)
REMOTE_DATA_DIR = ''
laptop WINDOWS computer located far from a data server, but with internet connection.
LOCAL_DATA_DIR = 'C;\data\rbsp\' ; Local (portable) directory on laptop
REMOTE_DATA_DIR = 'http://themis.ssl.berkeley.edu/data/themis/' ; URL used to download data to LOCAL_DATA_DIR
MacOS computer located away from SSL without a nearby data server
LOCAL_DATA_DIR = '/data/rbsp/' ; Local (portable) directory on laptop
REMOTE_DATA_DIR = 'http://themis.ssl.berkeley.edu/data/themis/' ; URL used to download data to LOCAL_DATA_DIR
Note: If automatic downloads are used. (i.e. REMOTE_DATA_DIR is not an empty string) the user must ensure that
LOCAL_DATA_DIR is writeable.
Note to WINDOWS users: the WINDOWS version of IDL accepts both the '\' and '/' character as the directory
separation character. The converse is not true.
HISTORY
Written by Peter Schroeder July 2011
$LastChangedBy: peters $
$LastChangedDate: 2014-02-06 15:28:08 -0800 (Thu, 06 Feb 2014) $
$LastChangedRevision: 14187 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_init.pro $
(See general/missions/rbsp/efw/rbsp_efw_init.pro)
NAME:
rbsp_efw_read_config
PURPOSE:
Reads the rbsp_efw_config file
CALLING SEQUENCE:
cstruct = rbsp_efw_read_config()
INPUT:
none, the filename is hardcoded, 'rbsp_efw_config.txt',and is s put in a
folder given by the routine rbsp_efw_config_filedir, that uses the IDL
routine app_user_dir to create/obtain it
OUTPUT:
cstruct = a structure with the changeable fields of the !rbsp_efw
structure
HISTORY:
01-jul-2011, peters
$LastChangedBy: nikos $
$LastChangedDate: 2015-11-18 14:03:31 -0800 (Wed, 18 Nov 2015) $
$LastChangedRevision: 19411 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_efw_read_config.pro $
(See general/missions/rbsp/efw/rbsp_efw_read_config.pro)
Remove spikes around perigee due to mode switch.
(See general/missions/rbsp/efw/rbsp_emfisis_remove_perigee_spike.pro)
NAME: rbsp_get_efw_dfb_config (function) PURPOSE: Decode the EFW DFB Config byte CALLING SEQUENCE: result = rbsp_get_efw_dfb_config(config_byte) ARGUMENTS: config_byte: (Input, required) Integer or array of integers containing the DFB config byte KEYWORDS: COMMON BLOCKS: EXAMPLES: SEE ALSO: HISTORY: 2013-04-03: Created by Peter Schroeder (PCS), SSL, UC Berkley. Version: $LastChangedBy: peters $ $LastChangedDate: 2013-04-08 10:45:51 -0700 (Mon, 08 Apr 2013) $ $LastChangedRevision: 11983 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_get_efw_dfb_config.pro $
(See general/missions/rbsp/efw/rbsp_get_efw_dfb_config.pro)
Procedure: rbsp_gse2mgse
Purpose: Transforms from GSE to MGSE (modified GSE coord..defined below)
If W gse is the spin axis unit vector in GSE coordinates, then
(1) Ymgse = -(Wgse x Zgse)
So Ymgse is now in the spin plane and in the ecliptic plane and duskward. (nearly same as Ygse)
(2) Zmgse = (Wgse x Ymgse)
So Z mgse points in the spin plane nearly along the positive normal to the ecliptic
(3) Xmgse= Ymgse x Zmgse
This actually the spin axis of the spacecraft X mgse= W gse
One of the properties of this coordinate system is that if the spin axis points
towards the sun, then the MGSE system is exactly the same as the GSE system.
This is a real advantage when thinking about the data and comparing to other instruments.
Second, since on RBSP the spin axis has a large angle relative to the z GSE axis the
cross product in equation 1 is well defined. None of the cross products involve nearly
parallel vectors- nothing is ever close to degenerate.
Input : tname = the tplot variable with data in GSE coord [n,3]
wgse = the w-antenna direction in GSE coord. This can either be a [3] element
array or an [n,3] element array.
Here's how to get wgse:
1) rbsp_efw_position_velocity_crib.pro
2) rbsp_load_state,probe='a',datatype=['spinper','spinphase','mat_dsc','Lvec']
Whichever way you choose, you'll get the direction from:
get_data,rbspx+'_spinaxis_direction_gse',data=wsc_GSE
wgse = wsc_gse.y
newname = name for output tplot variable. If not set then new name is
old name + '_mgse'
Example:
rbsp_gse2mgse,'mag_gse',[1,0,0],/nochange
Written by Aaron Breneman, Oct 31, 2012
2013-10-02 -> added a check to make sure the WGSE array is the correct size.
Returns if it isn't.
2022-08-07 -> just use rbsp_mgse2gse with inverse.
(See general/missions/rbsp/efw/rbsp_gse2mgse.pro)
NAME:
rbsp_interp_spin_phase (function)
PURPOSE:
Calculate spin phases at arbitrary times using linear interpolation.
CATEGORIES:
CALLING SEQUENCE:
phase = rbsp_interp_spin_phase(sc, time_array, $
newname = newname $
, tper = tper $
, tphase = tphase $
, tumbra_sta = tumbra_sta $
, tumbra_end = tumbra_end $
, umbra_pad = umbra_pad)
ARGUMENTS:
sc: (In, required) Spacecraft name. Should be 'a' or 'b'.
time_array: (In, required) A time array at which spin phases are returned.
KEYWORDS:
newname: (In, optional) A tplot name for storing the returned spin phases.
If not provided, the spin phases are not stored into a tplot name.
tper: (In, optional) Spin-period tplot name. By default,
tper = 'rbsp' + strlowcase(sc[0]) + '_spinper'
tphase: (In, optional) Spin-phase tplot name. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
tumbra_sta: (In, optional) Umbra starting time tplot name. By default,
tumbra_sta = 'rbsp' + strlowcase(sc[0]) + '_umbta_sta'
tumbra_end: (In, optional) Umbra ending time tplot name. By default,
tumbra_sta = 'rbsp' + strlowcase(sc[0]) + '_umbta_end'
umbra_pad: (In, optional) Time padding to the umbra times. By default,
umbra_pad = [-20d, 20d] * 60d
This padding is to account for spin-period distrotion around umbra.
APL has learned this problem, so this default padding will likely
change in the future.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-10-24: Created by Jianbao Tao (JBT), SSL, UC Berkley.
2012-11-05: Initial release to TDAS. JBT, SSL/UCB.
VERSION:
$LastChangedBy: nikos $
$LastChangedDate: 2016-10-06 16:51:43 -0700 (Thu, 06 Oct 2016) $
$LastChangedRevision: 22061 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_interp_spin_phase.pro $
(See general/missions/rbsp/efw/rbsp_interp_spin_phase.pro)
NAME: RBSP_LOAD_EFW_BURST_TIMES SYNTAX: rbsp_load_efw_burst_times,probe='a b' PURPOSE: Loads EFW B1 and B2 availability KEYWORDS: probe = 'a', 'b', 'a b', or ['a','b'] trange = time range local_data_dir = local data directory, for overriding default location set in !rbsp_efw or root_data_dir() b1_times, b2_times -> set to named variables to return [x,2] arrays of the start and stop times of each burst in trange HISTORY: 11/2012 - Created - Kris Kersten, kris.kersten@gmail.com 22 Apr 2013 - changed remote_data_dir location 04 Sept 2013 - added support for EB1,2 and MSCB1,2 13 Jan 2014 - added b1_times, b2_times keywords (AWB) VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2020-01-13 10:26:26 -0800 (Mon, 13 Jan 2020) $ $LastChangedRevision: 28188 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_burst_times.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_burst_times.pro)
NAME: RBSP_LOAD_EFW_ESVY_MGSE SYNTAX: rbsp_load_efw_esvy_mgse,probe='a' rbsp_load_efw_esvy_mgse,probe='a',/no_spice_load PURPOSE: Loads EFW ESVY data and despins using SPICE via rbsp_uvw_to_mgse.pro The MGSE coordinate system is defined: Y_MGSE=-W_SC(GSE) x Z_GSE Z_MGSE=W_SC(GSE) x Y_MGSE X_MGSE=Y_MGSE x Z_MGSE where W_SC(GSE) is the spin axis direction in GSE. This is equivalent to the GSE coordinate system if the spin axis lies along the X_GSE direction. KEYWORDS: probe = 'a' or 'b' NOTE: single spacecraft only, does not accept ['a b'] NOTE: defaults to probe='a' /no_spice_load - skip loading/unloading of SPICE kernels NOTE: This assumes spice kernels have been manually loaded using: rbsp_load_spice_predict ; (optional) rbsp_load_spice_kernels ; (required) /debug - prints debugging info /qa - load the QA test file instead of standard L1 file bad_probe -> integer indicating a bad probe. NOTES: HISTORY: 1. Created Nov 2012 - Kris Kersten, kris.kersten@gmail.com VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2017-04-05 10:09:53 -0700 (Wed, 05 Apr 2017) $ $LastChangedRevision: 23110 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_esvy_mgse.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_esvy_mgse.pro)
Procedure: RBSP_LOAD_EFW_FBK_L2
Purpose: Loads RBSP EFW L2 filterbank data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=strin
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
kw to narrow the data products. Wildcards and glob-style patterns accepted (e.g., ef?, *_dot0).
VARNAMES: names of variables to load from cdf: default is all.
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
Example:
rbsp_load_efw_filterbank_l2,probe=['a', 'b']
HISTORY:
1. Written by Aaron Breneman, August, 2015
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:55:59 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26349 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_fbk_l2.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_fbk_l2.pro)
Procedure: RBSP_LOAD_EFW_FIT
Purpose: Loads RBSP EFW FIT data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=string
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
VARNAMES: names of variables to load from cdf: default is all.
/GET_SUPPORT_DATA: load support_data variables as well as data variables
into tplot variables. (NOT IMPLEMENTED YET)
/INTEGRATION: If set, load data from integration.
/QA: If set, load data from l1_qa testing directory.
/MSIM: If set, load data from mission simulations.
/ETU: If set, load data from the ETU.
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
type: set to 'calibrated' to automatically convert data into physical units
Example:
rbsp_load_efw_fit,/get_suppport_data,probe=['a', 'b']
Notes:
1. Written by Peter Schroeder, February 2012
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:57:49 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26350 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_fit.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_fit.pro)
Procedure: RBSP_LOAD_EFW_SPEC
Purpose: Loads RBSP EFW SPEC data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=string
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
VARNAMES: names of variables to load from cdf: default is all.
/GET_SUPPORT_DATA: load support_data variables as well as data variables
into tplot variables. (NOT IMPLEMENTED YET)
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/QA: If set, load data from 11_qa testing directory.
/INTEGRATION: If set, load data from integration.
/MSIM: If set, load data from mission simulations.
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
type: set to 'calibrated' to automatically convert data into physical units
Example:
rbsp_load_efw_spec,/get_support_data,probe=['a', 'b']
Notes:
1. Written by Peter Schroeder, February 2012
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:27:59 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26344 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_spec.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_spec.pro)
Procedure: RBSP_LOAD_EFW_SPEC_L2
Purpose: Loads RBSP EFW L2 spectrogram data from EFW server
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=strin
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
kw to narrow the data products. Wildcards and glob-style patterns accepted (e.g., ef?, *_dot0).
VARNAMES: names of variables to load from cdf: default is all.
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
Example:
rbsp_load_efw_spec_l2,probe=['a', 'b']
HISTORY:
1. Written by Aaron Breneman, August, 2015
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2020-07-27 13:36:11 -0700 (Mon, 27 Jul 2020) $
$LastChangedRevision: 28942 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_spec_l2.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_spec_l2.pro)
Procedure: RBSP_LOAD_EFW_WAVEFORM
Purpose: Loads RBSP EFW Waveform data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=strin
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
DATATYPE: Input, string. Default setting is to calibrate all raw quantites and also produce all _0 and _dot0 quantities. Use DATATYPE
kw to narrow the data products. Wildcards and glob-style patterns accepted (e.g., ef?, *_dot0).
VARNAMES: names of variables to load from cdf: default is all.
/GET_SUPPORT_DATA: load support_data variables as well as data variables
into tplot variables. (NOT IMPLEMENTED YET)
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/QA: If set, load data from l1_qa testing directory.
/INTEGRATION: If set, load data from integration.
/MSIM: If set, load data from mission simulations.
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
type: set to 'calibrated' to automatically convert data into physical units
coord: Set to 'uvw' to return data in UVW. Otherwise the output is in DSC
coordinate system
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
Example:
rbsp_load_efw_waveform,/get_suppport_data,probe=['a', 'b']
HISTORY:
1. Written by Peter Schroeder, February 2012
2012-11-06: JBT, SSL/UCB.
1. Added keywords *coord*, *tper*, and *tphase* that are passed into
*rbsp_efw_cal_waveform*.
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:06:25 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26341 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_waveform.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_waveform.pro)
Procedure: RBSP_LOAD_EFW_WAVEFORM_L2
Purpose: Loads RBSP EFW L2 Waveform data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=strin
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
DATATYPE: Input, string. Default setting is to calibrate all raw quantites and also produce all _0 and _dot0 quantities. Use DATATYPE
kw to narrow the data products. Wildcards and glob-style patterns accepted (e.g., ef?, *_dot0).
VARNAMES: names of variables to load from cdf: default is all.
/GET_SUPPORT_DATA: load support_data variables as well as data variables
into tplot variables. (NOT IMPLEMENTED YET)
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/QA: If set, load data from l1_qa testing directory.
/INTEGRATION: If set, load data from integration.
/MSIM: If set, load data from mission simulations.
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
type: set to 'calibrated' to automatically convert data into physical units
coord: Set to 'uvw' to return data in UVW. Otherwise the output is in DSC
coordinate system
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
Example:
rbsp_load_efw_waveform_l2,/get_suppport_data,probe=['a', 'b']
HISTORY:
1. Written by Peter Schroeder, February 2012
2012-11-06: JBT, SSL/UCB.
1. Added keywords *coord*, *tper*, and *tphase* that are passed into
*rbsp_efw_cal_waveform*.
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:16:58 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26342 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_waveform_l2.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_waveform_l2.pro)
Procedure: RBSP_LOAD_EFW_WAVEFORM_L3
Purpose: Loads RBSP EFW L3 Waveform data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=strin
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
kw to narrow the data products. Wildcards and glob-style patterns accepted (e.g., ef?, *_dot0).
VARNAMES: names of variables to load from cdf: default is all.
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
tper: (In, optional) Tplot name of spin period data. By default,
tper = pertvar. If tper is set, pertvar = tper.
tphase: (In, optional) Tplot name of spin phase data. By default,
tphase = 'rbsp' + strlowcase(sc[0]) + '_spinphase'
Note: tper and and tphase are mostly used for using eclipse-corrected
spin data.
Example:
rbsp_load_efw_waveform_l3,probe=['a', 'b']
HISTORY:
1. Written by Peter Schroeder, February 2012
2012-11-06: JBT, SSL/UCB.
1. Added keywords *coord*, *tper*, and *tphase* that are passed into
*rbsp_efw_cal_waveform*.
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:19:27 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26343 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_waveform_l3.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_waveform_l3.pro)
Procedure: RBSP_LOAD_EFW_XSPEC
Purpose: Loads RBSP EFW XSPEC data
keywords:
probe = Probe name. The default is 'all', i.e., load all available probes.
This can be an array of strings, e.g., ['a', 'b'] or a
single string delimited by spaces, e.g., 'a b'
varformat=string
TRANGE= (Optional) Time range of interest (2 element array), if
this is not set, the default is to prompt the user. Note
that if the input time range is not a full day, a full
day's data is loaded
VARNAMES: names of variables to load from cdf: default is all.
/GET_SUPPORT_DATA: load support_data variables as well as data variables
into tplot variables. (NOT IMPLEMENTED YET)
/DOWNLOADONLY: download file but don't read it. (NOT IMPLEMENTED YET)
/QA: If set, load data from l1_qa testing directory.
/INTEGRATION: If set, load data from integration.
/MSIM: If set, load data from mission simulations.
/ETU: If set, load data from the ETU.
/valid_names, if set, then this routine will return the valid probe, datatype
and/or level options in named variables supplied as
arguments to the corresponding keywords.
files named varible for output of pathnames of local files.
/VERBOSE set to output some useful info
type: set to 'calibrated' to automatically convert data into physical units
Example:
rbsp_load_efw_xspec,/get_suppport_data,probe=['a', 'b']
Notes:
1. Written by Peter Schroeder, February 2012
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-17 14:50:55 -0800 (Mon, 17 Dec 2018) $
$LastChangedRevision: 26347 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_efw_xspec.pro $
(See general/missions/rbsp/efw/rbsp_load_efw_xspec.pro)
NAME: RBSP_LOAD_EMFISIS_BURST_TIMES SYNTAX: rbsp_load_emfisis_burst_times,probe='a b' PURPOSE: Loads EMFISIS Burst data availability. Creates a tplot variable indicating available times. date = 'yyyy-mm-dd' probe = 'a' or 'b' VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2018-12-06 09:25:24 -0800 (Thu, 06 Dec 2018) $ $LastChangedRevision: 26261 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_emfisis_burst_times.pro $
(See general/missions/rbsp/efw/rbsp_load_emfisis_burst_times.pro)
NAME: rbsp_load_maneuver_file
SYNTAX: x = rbsp_load_maneuver_file(probe,date)
PURPOSE: Returns a structure with start and end times of maneuvers
from the MOC data product "maneuver_sequence" files.
INPUT: probe = 'a' or 'b'
date = '2012-10-13' format
http://themis.ssl.berkeley.edu/data/rbsp/MOC_data_products
NOTES: uses the MAXARMTIME variable to determine the extent of the
maneuver. This may be the maximum upper limit maneuver time and not
the actual maneuver time. Unfortunately the final maneuver log files are
Word documents.
HISTORY: Written by Aaron W Breneman - University of Minnesota 2014-10-26
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2019-12-19 11:19:56 -0800 (Thu, 19 Dec 2019) $
$LastChangedRevision: 28126 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_load_maneuver_file.pro $
(See general/missions/rbsp/efw/rbsp_load_maneuver_file.pro)
TYPE:
function.
NAME:
rbsp_mgse2gse.
PURPOSE:
Convert vector in mGSE coord to GSE. (Also see rbsp_gse2mgse.pro)
PARAMETERS:
tname, in, type = string or int, required.
tplot variable name or number, data must be in [n,3].
wgse, in/out, type = [3] or [n,3], optional.
The w-antenna direction in GSE.
By default, we load wgse automatically. It is saved for backward compatibility.
If set, then keywords probe and no_spice_load has no effect.
If omitted, then use spice to get wgse.
KEYWORDS:
newname = newname, in, string, optional.
name of output tplot variable. If not set, newname = oldname+'_mgse'.
inverse = inverse, in, boolean, optional.
If set do gse->mgse, otherwise do mgse->gse.
probe = probe, in, string, optional.
probe can be 'a' or 'b'. Default is 'a'.
Used only when wgse is not set.
no_spice_load = no_spice_load, in, boolean, optional.
Set when spice kernel is loaded already. Set to 0, to use spice kernel.
RETURN:
none.
EXAMPLE:
rbsp_mgse2gse, 'rbspa_pos_mgse', wgse, newname = 'rbspa_pos_gse'
rbsp_mgse2gse, 'rbspa_pos_gse', wgse, newname = 'rbspa_pos_mgse', /inverse
rbsp_mgse2gse, 'rbspa_pos_mgse', newname = 'rbspa_pos_gse', $
probe = 'a', /no_spice_load
rbsp_mgse2gse, 'rbspa_pos_gse', newname = 'rbspa_pos_mgse', /inverse, $
probe = 'a', /no_spice_load
DEPENDENCE:
idl_icy module, see icy_test.pro in tdas.
NOTES:
* wgse and x_mgse are the same, x_mgse = {sint*cosp, sint*sinp, cost}.
* v_gse = {vx_gse, vy_gse, vz_gse},
v_mgse = {vx_mgse, vy_mgse, vz_mgse},
gse->mgse, M1 = | sint*cosp, sint*sinp, cost |
| -sinp , cosp , 0 |
|-cost*cosp,-cost*sinp, sint |
mgse->gse, M2 = transpose(M1), v_gse = M2*v_mgse.
HISTORY:
Sheng Tian, UMN 2013-09-18 (created)
Sheng Tian, 2022-07-08, load wsc_gse from spice_var.
VERSION:
$LastChangedBy: jimm $
$LastChangedDate: 2024-07-10 12:50:20 -0700 (Wed, 10 Jul 2024) $
$LastChangedRevision: 32732 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_mgse2gse.pro $
(See general/missions/rbsp/efw/rbsp_mgse2gse.pro)
NAME:
rbsp_msc_response (function)
PURPOSE:
Calculate the transmittance of the search-coil magnetometer.
CATEGORIES:
CALLING SEQUENCE:
response = rbsp_msc_response(f, probe, component)
ARGUMENTS:
f: (Input, required) A floating array of frequencies at which the responses
are calculated.
probe: (Input, required) RBSP probe name. It should be 'a' or 'b'.
component: (Input, required) Component name. Valid names are:
'Bu', 'Bv', 'Bw'.
KEYWORDS:
None.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2012-09-04: Created by Jianbao Tao (JBT), SSL, UC Berkley.
Version:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2014-02-25 12:02:41 -0800 (Tue, 25 Feb 2014) $
$LastChangedRevision: 14431 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_msc_response.pro $
(See general/missions/rbsp/efw/rbsp_msc_response.pro)
PROCEDURE : rbsp_poynting_flux
PURPOSE : calculates Poynting flux (ergs/s/cm^2). Separates into field-aligned and perp components
Returns results as tplot variables. Includes
values with and w/o spinaxis component
REQUIRES: tplot library
KEYWORDS:
Bw -> tplot name of the [n,3] magnetic field
waveform (nT) in MGSE
Ew -> tplot name of the [n,3] electric field
waveform (mV/m) in MGSE
Tshort, Tlong -> short and long period of waveform to use.
Bo -> (optional keyword) array of DC magnetic field directions in MGSE.
Use, for example, if Bw is from AC-coupled data.
If not included then Bw is downsampled and used as background field
method1 -> uses smoothing instead of a bandpass_filter which
results in a sharper freq rolloff than smoothing method.
Both methods give very similar results for test chorus waves
method2 (default -- seems to work much better for higher freqs) ->
The waveform data are first downsampled to 1/Tshort to avoid the wasted
computation of having to run program with data at unnecessarily high
sample rate. The waveform is then run through
bandpass_filter to the frequency range flow=1/Tlong...fhigh=1/Tshort
NOTES: DO NOT INPUT DATA WITH SIGNIFICANT GAPS
********************************************************************
Tested on Van Allen Probes chorus from EFW's B1
data on 2014-08-27 at ~07:42 on probe A. A is at +20
mlat and the Pflux indicates propagation away from eq
with magnitude values consistent with those in Li et
al., 2013 and Santolik et al., 2010
********************************************************************
Poynting flux coord system
P1mgse = Bmgse x xhat_mgse (xhat_mgse is spin axis component)
P2mgse = Bmgse x P1mgse
P3mgse = Bmgse
The output tplot variables are:
These three output variables contain a mix of spin axis and spin plane components:
pflux_perp1 -> Poynting flux in perp1 direction
pflux_perp2 -> Poynting flux in perp2 direction
pflux_para -> Poynting flux along Bo
These partial Poynting flux calculations contain only spin plane Ew.
pflux_nospinaxis_perp
pflux_nospinaxis_para
All of the above variables projected
to the ionosphere
CREATED: 11/28/2012
CREATED BY: Aaron W. Breneman
LAST MODIFIED: MM/DD/YYYY v1.0.0
MODIFIED BY:
(See general/missions/rbsp/efw/rbsp_poynting_flux.pro)
NAME: rbsp_read_ect_mag_ephem
SYNTAX:
PURPOSE: Read in RBSP ECT's official magnetic field model predicted quantities
INPUT: sc -> 'a' or 'b'
date -> '2014-01-01'
type -> defaults to OP77Q. Can also have "TS04D" (definitive)
or "T89Q" for predicted.
OUTPUT: tplot variables with prefix 'rbsp'+sc+'_ME_'
Will also return perigeetimes as keyword
KEYWORDS:
HISTORY: Written by Aaron W Breneman, UMN
VERSION:
$LastChangedBy: $
$LastChangedDate: $
$LastChangedRevision: $
$URL: $
(See general/missions/rbsp/efw/rbsp_read_ect_mag_ephem.pro)
NAME:
rbsp_spinfit (procedure)
PURPOSE:
Derive spin-fit E-field from instantaneous E-field measurements. The
spin-fit model is as such:
fit = A + B * cos(phi) + C * sin(phi)
where B and C are E-fields in the DSC X and Y dimensions, and angle is the
angle between the DSC X direction and the EFW spin plane boom used in the
spin-fit derivation, as demonstrated below.
DSC Y
| / EFW spin plane boom
| /
| /
| /
| /
| /
| /
|/)angle________ DSC X
NOTES: 1. Similar to thm_spinfit.pro, this routine is a wrapper of
spinfit.pro for RBSP. Unlike thm_spinfit, this routine only works
on one tplot variable at a time.
2. Normally, this routine saves four tplot variables, such as
'rbspa_efw_esvy_spinfit_a'
'rbspa_efw_esvy_spinfit_b'
'rbspa_efw_esvy_spinfit_c'
'rbspa_efw_esvy_spinfit'
where the first three are the three cooefficients from the fit and
the last one is like a normal EFW data type in DSC.
CATEGORIES:
CALLING SEQUENCE:
rbsp_spinfit ,var_name_in, $
sigma=sigma, npoints=npoints, spinaxis=spinaxis, median=median, $
plane_dim=plane_dim, axis_dim=axis_dim, $
min_points=min_points,alpha=alpha,beta=beta, $
phase_mask_starts=phase_mask_starts, $
phase_mask_ends=phase_mask_ends, $
sc = sc, force = force, tper = tper, tphase = tphase
ARGUMENTS:
var_name_in: IN, REQUIRED
EFW tplot data used for the spin-fit derivation. Must be in UVW.
KEYWORDS:
sc: IN, OPTIONAL
Spacecraft name. Must be 'a' or 'b'.
/force: IN, OPTIONAL
If set, force to do the derivation. Useful when the input tplot data
do not have coord_sys information.
tper: IN, OPTIONAL
Spin-period tplot name.
tphase: IN, OPTIONAL
Spin-phase tplot name.
See spinfit.pro and thm_spinfit.pro for usage of other keywords.
Exception:
AXIS_DIM defaults to 2 instead of 0 in this routine.
COMMON BLOCKS:
EXAMPLES:
SEE ALSO:
HISTORY:
2013-01-22: Created by Jianbao Tao (JBT), SSL, UC Berkley.
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2018-12-21 11:30:03 -0800 (Fri, 21 Dec 2018) $
$LastChangedRevision: 26393 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_spinfit.pro $
(See general/missions/rbsp/efw/rbsp_spinfit.pro)
NAME: rbsp_split_fbk PURPOSE: Split the filterbank data into separate tplot variables for each channel. Can also combine peak and average on a single panel KEYWORDS: probe = 'a' or 'b' NOTE: single spacecraft only, does not accept ['a b'] combine -> set to combine peak and average onto a single plot meansz -> number of data points over which to calculate the number of values the local mean is away from the local standard deviation. This is used to set y-scaling. If not done then the yscale of the FBK plots is often dominated by single large amplitude spikes, masking the majority of the data. Default is 100. ; meansz -> number of data points over which to calculate the mean. This is used ; to set y-scaling. If not done then the yscale of the FBK plots ; is often dominated by single large amplitude spikes, masking the majority ; of the data. Default is 20. ; ysc -> Scale factor for y-scaling. Default is 1. This should be set to ; values greater than 1 for meansz larger than the default. For ; example, ysc=3. works well for meansz=1000. CREATED: Aaron Breneman 11/07/2012 MODIFIED: changed y-scaling based on a running average rather than the max value for each FBK channel. This avoids having a ridiculous yscaling based on a few very large amplitude spiky events. VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2014-04-21 13:19:06 -0700 (Mon, 21 Apr 2014) $ $LastChangedRevision: 14901 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_split_fbk.pro $
(See general/missions/rbsp/efw/rbsp_split_fbk.pro)
NAME: RBSP_UVW_TO_DSC
SYNTAX:
rbsp_uvw_to_dsc,'a',tplot_var
rbsp_uvw_to_dsc,'a',tplot_var,/no_spice_load
PURPOSE: Rotates data from spinning spacecraft (UVW) coordinates into despun
spacecraft (DSC) coordinates.
DSC is defined:
Z_DSC is the spin axis direction, W_SC
X_DSC is the sun sensor triggering direction, perpendicular to
the spin axis
Y_DSC completes the RH system in the spin plane
INPUT:
probe - either 'a' or 'b'
tvar - TPLOT variable containing 3-component UVW data (either string or
integer).
KEYWORDS:
uangle = degrees, angle between SSH and U
suffix = 'string', suffix appended to the tplot variable name. Default is
'mgse'
/debug - save various quantities for debugging
NOTES:
0) This routine does not check that the supplied data is in UVW system.
HISTORY:
1. Created Nov 2012 - Kris Kersten, kris.kersten@gmail.com
VERSION:
$LastChangedBy: aaronbreneman $
$LastChangedDate: 2020-09-21 18:16:09 -0700 (Mon, 21 Sep 2020) $
$LastChangedRevision: 29174 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_uvw_to_dsc.pro $
(See general/missions/rbsp/efw/rbsp_uvw_to_dsc.pro)
NAME: RBSP_UVW_TO_GSE SYNTAX: rbsp_uvw_to_gse,'a','rbspa_efw_esvy' rbsp_uvw_to_gse,'a','rbspa_efw_esvy',/no_spice_load PURPOSE: Transforms from spinning UVW (RBSP SCIENCE) frame to GSE. INPUT: probe - either 'a' or 'b' tvar - TPLOT variable containing 3-component UVW data (either string or integer tplot variable id) KEYWORDS: suffix=suffix - optional suffix for rotated tplot variable names /no_spice_load - skip loading/unloading of SPICE kernels NOTE: This assumes spice kernels have been manually loaded using: rbsp_load_spice_predict ; (optional) rbsp_load_spice_kernels ; (required) /remove_offset - remove slowly varying offsets in spin plane /debug - prints debugging info NOTES: HISTORY: 1. Created Jan 2013 - Kris Kersten, kris.kersten@gmail.com VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2019-08-14 14:21:17 -0700 (Wed, 14 Aug 2019) $ $LastChangedRevision: 27604 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_uvw_to_gse.pro $
(See general/missions/rbsp/efw/rbsp_uvw_to_gse.pro)
NAME: RBSP_UVW_TO_MGSE SYNTAX: rbsp_uvw_to_mgse,'a','rbspa_efw_esvy' rbsp_uvw_to_mgse,'a','rbspa_efw_esvy',/no_spice_load PURPOSE: Transforms from spinning UVW (RBSP SCIENCE) frame to MGSE. The MGSE coordinate system is defined: Y_MGSE=-W_SC(GSE) x Z_GSE Z_MGSE=W_SC(GSE) x Y_MGSE X_MGSE=Y_MGSE x Z_MGSE where W_SC(GSE) is the spin axis direction in GSE. This is equivalent to the GSE coordinate system if the spin axis lies along the X_GSE direction. INPUT: probe - either 'a' or 'b' tvar - TPLOT variable containing 3-component UVW data (either string or integer tplot variable id) OUTPUT: N/A Rotated timeseries is saved in a new tplot var with _mgse suffix.. KEYWORDS: suffix=suffix - suffix for rotated tplot var name (default is _mgse) /no_offset - skip offset removal in spin plane /force_offset - force offset removal for slowly sampled data /nointerp - use SPICE to calculate rotation matrix directly at each timestep instead of default quaternion interpolation rotation matrix nointerp=2 - use SPICE to calculate spin axis pointing at each timestep instead of interpolating from 5m cadence pointing (this may be useful during maneuvers) _extra --> useful keywords are: 'no_spice_load' 'no_rbsp_efw_init' /debug - prints debugging info NOTES: By default this routine uses SPICE to generate the spin axis pointing direction at a 5 minute cadence, and the despinning matrix at a 1s cadence. These quantities are interpolated (spin axis linearly, and despinning matrix via quaternion interpolation) to the sample times of the input time series. If the input time series is sampled at <= 1S/s, the routine will calculate the SPICE pointing and rotation directly at each time stamp rather than using the interpolation described above. The nointerp keyword is provided to bypass the interpolation and calculate the spin axis pointing direction and rotation matrix at the time stamps of the input time series. Calling the routine with /nointerp or nointerp=1 will cause the rotation matrix to be calculated directly. Calling with nointerp=2 will cause both the rotation matrix and the spin axis pointing direction to be calculated directly. This will be VERY time consuming for high time resolution data, but may be useful for debugging or during spacecraft maneuvers. SPIN PLANE OFFSETS: By default, offsets in the spin plane quantities are removed. This is only valid for quantities sampled faster than the spin period (~12s). The offset removal is automatically skipped for quantities sampled at or below 1S/s. This can be overridden by using the /force_offset keyword. HISTORY: 1. Created Nov 2012 - Kris Kersten, kris.kersten@gmail.com VERSION: $LastChangedBy: aaronbreneman $ $LastChangedDate: 2020-09-21 18:15:56 -0700 (Mon, 21 Sep 2020) $ $LastChangedRevision: 29173 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/missions/rbsp/efw/rbsp_uvw_to_mgse.pro $
(See general/missions/rbsp/efw/rbsp_uvw_to_mgse.pro)
*****************************************************************************************
FUNCTION : vector_bandpass.pro
PURPOSE : This program does a bandpass filter on the input data using IDL's
built-in FFT.PRO routine. The data is first padded with zeroes
to ensure the number of elements remains an integer power of 2.
The user defines the input vector array of data, the sample rate,
and frequency range(s) before running the program, then tells the
program whether a low-pass (i.e. only return low frequency
signals), high-pass, or middle frequency bandpass filter. The
program eliminates the postitive AND negative frequency bins in
frequency space to ensure symmetry before performing the inverse
FFT on the data.
CALLED BY: NA
CALLS:
power_of_2.pro
REQUIRES: NA
INPUT:
DAT : [N,3]-Array of magnetic or electric field data
SR : Scalar defining the sample rate (mHz, Hz, kHz, etc. doesn't
matter as long as everything is consistent)
LF : Scalar defining the low frequency cutoff (Default = 0)
[Note: MUST be same units as SR]
HF : Scalar defining the high frequency cutoff (Default = Nyquist)
[Note: MUST have same units as SR AND LF]
EXAMPLES:
htr_mfi2tplot,DATE=date
get_data,'WIND_B3_HTR(GSE,nT)',DATA=mag
magf = mag.Y
tt = mag.X ; -Unix time (s since 01/01/1970)
nt = N_ELEMENTS(tx)
evl = MAX(tt,/NAN) - MIN(tt,/NAN) ; -Event length (s)
nsps = ((nt - 1L)/evl) ; -Approx Sample Rate (Hz)
lfmf1 = vector_bandpass(magf,nsps,15d-2,15d-1,/LOWF)
KEYWORDS:
LOWF : If set, program returns low-pass filtered data with freqs
below LF
MIDF : If set, program returns bandpass filtered data with freqs
between LF and HF **[Default]**
HIGHF : If set, program returns high-pass filtered data with freqs
above HF
CHANGED: 1) Fixed Low Freq. bandpass to get rid of artificial
zero frequency bin created by FFT calc. [01/14/2009 v1.0.1]
2) Fixed case where NaN's are in data [01/18/2009 v1.0.2]
3) Changed program my_power_of_2.pro to power_of_2.pro
and renamed [08/10/2009 v2.0.0]
CREATED: 12/30/2009
CREATED BY: Lynn B. Wilson III
LAST MODIFIED: 08/10/2009 v2.0.0
MODIFIED BY: Lynn B. Wilson III
*****************************************************************************************
(See general/missions/rbsp/efw/rbsp_vector_bandpass.pro)
Type: function.
Purpose: Interpolate given data of at abscissa x to new x.
Parameters:
data, in, [*], req. For scalar array, dimension is [n0].
For m dimension vector array, dimension is [m, n0] or [n0, m].
oldabs, in, [n0], req. Old abscissa.
newabs, in, [n1], req. New abscissa.
Keywords:
_extra = extra, in, struct, opt. Keywords for interpol, see idl help.
/LSQuadratic, /NaN, /Quatradic, /Spline.
Return: [*]. If data is array of [n0], then return [n1];
if data is array of [m, n0], then return, [m, n1].
if data is array of [n0, m], then return, [n1, m].
Notes: Do not work if given data has more than 2 dimensions. Do NOT set /NaN
automatically for interpol().
History:
2011-07-20, Sheng Tian, create.
2011-08-16, Sheng Tian, add throw exterpolate.
2012-09-17, Sheng Tian, auto deal with dims.
(See general/missions/rbsp/efw/sinterpol.pro)