This page was created by the IDL library routine
mk_html_help2
.
Last modified: Thu Aug 6 12:53:14 2020.
Procedure: spd_dist_to_hash Purpose: Convert standard 3D partical distribution structure into hash compatible with ISEE_3D Calling Sequence: hash = spd_dist_to_hash( dist [,counts=dist_counts] Input: dist: Standard distribution structure array (pointer) in df units counts: Optional copy of dist in counts Output: return value: A hash whose elements are each single distributions, The keys are the sample time in millisecond precision. Notes: -Requires IDL 8.0+, 8.2+ recommended $LastChangedBy: aaflores $ $LastChangedDate: 2016-05-23 18:52:50 -0700 (Mon, 23 May 2016) $ $LastChangedRevision: 21180 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_dist_to_hash.pro $
(See general/science/spd_part_products/spd_dist_to_hash.pro)
Procedure: spd_part_copy Purpose: Performs deep copy on particle data that is returned by thm_part_dist_array Arguments: Old: A particle data structure to be copied New: A variable name to which the particle data should be copied Keywords: error=error: Set to named variable. Returns 0 if no error, nonzero otherwise. Usage: spd_part_copy,old,new $LastChangedBy: aaflores $ $LastChangedDate: 2016-02-09 16:31:11 -0800 (Tue, 09 Feb 2016) $ $LastChangedRevision: 19920 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_part_copy.pro $
(See general/science/spd_part_products/spd_part_copy.pro)
Procedure: spd_pgs_align_phi Purpose: Align phi bins with respect to energy in order to reduce fringing artifacts on field aligned spectrograms. Input: data: single sanitized data structure Output: -Phi values in DATA will be averaged across energy. -If the inter-energy phi difference is too large for an accurate average over energy then an error will be thrown. (Hopefully this will never happen, if it does a more sofisticated algorithm will be needed) Notes: -sigh $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 15:09:48 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19671 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_align_phi.pro $
(See general/science/spd_part_products/spd_pgs_align_phi.pro)
Procedure: spd_pgs_clip_spec Purpose: Place NaNs in areas of a spectrogram that are beyond the requested limits. Input: y: spectrogram y axis z: spectrogram data range: The initial range limit applied to the data along an axis where that axis now serves as the spectrogram's y axis. (e.g. phi=[0,180] for a phi spectrogram) Output: NaNs applied to out of range data in Z Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 15:09:48 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19671 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_clip_spec.pro $
(See general/science/spd_part_products/spd_pgs_clip_spec.pro)
Procedure: spd_pgs_concat_spec Purpose: Concatenates spectrograms pieces from across a mode change Input: a: First spectrogram piece (in time) b: Second spectrogram piece (in time) Output: None, appends b to end of a; b will be undefined afterwards. Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 15:09:48 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19671 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_concat_spec.pro $
(See general/science/spd_part_products/spd_pgs_concat_spec.pro)
Procedure: spd_pgs_concat_yaxis Purpose: Concatenates different y axes as spectrogram is built across mode changes Input: y: Previous y axes, either single dimension or ny x ntimes yc: Y axis for current sample, single dimension ns: Number of samples before the current one in the spectrogram. (used when 1D y axis is converted to 2D axis) Output: -If y is 1D and yc==y then no variables are changed. -If y is 1D and yc!=y then y will become a two dimensional and yc will be appended -If y is 2D then yc will be appended. -If y and yc have different numbers of elements the smaller will be expanded and padded with NaNs Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 15:09:48 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19671 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_concat_yaxis.pro $
(See general/science/spd_part_products/spd_pgs_concat_yaxis.pro)
Procedure: spd_pgs_do_fac Purpose: Applies field aligned coordinate transformation to input data Input: data: The struct to be rotated mat: The fac rotation matrix Output: output=output: The struct of rotated data error=error: 1 indicates error occured, 0 indicates no error occured $LastChangedBy: egrimes $ $LastChangedDate: 2017-03-10 11:44:24 -0800 (Fri, 10 Mar 2017) $ $LastChangedRevision: 22938 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_do_fac.pro $
(See general/science/spd_part_products/spd_pgs_do_fac.pro)
PROCEDURE: spd_pgs_export PURPOSE: Exports SPEDAS particle data to ASCII files INPUT: data_in: standard SPEDAS particle data structure KEYWORDS: filename: output filename precise: increases precision to the maximum (microseconds) $LastChangedBy: egrimes $ $LastChangedDate: 2019-04-10 07:20:38 -0700 (Wed, 10 Apr 2019) $ $LastChangedRevision: 26982 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_export.pro $
(See general/science/spd_part_products/spd_pgs_export.pro)
Procedure: spd_pgs_limits_range Purpose: Applies phi, theta, and energy limits to data structure(s) by turning off the corresponding bin flags. Input: data: single sanitized data structure phi: phi min/max (min>max allowed) theta: theta min/max energy: energy min/max Output: Turns off all bins that do not intersect the specified limits. Notes: $LastChangedBy: jimm $ $LastChangedDate: 2019-07-16 13:07:25 -0700 (Tue, 16 Jul 2019) $ $LastChangedRevision: 27461 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_limit_range.pro $
(See general/science/spd_part_products/spd_pgs_limit_range.pro)
Procedure: spd_pgs_make_e_spec Purpose: Builds energy spectrogram from simplified particle data structure. Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ny x ntimes) yaxis: The y axis (ny OR ny x ntimes) -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: $LastChangedBy: nikos $ $LastChangedDate: 2017-02-21 18:05:49 -0800 (Tue, 21 Feb 2017) $ $LastChangedRevision: 22843 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_make_e_spec.pro $
(See general/science/spd_part_products/spd_pgs_make_e_spec.pro)
Procedure: spd_pgs_make_phi_spec Purpose: Builds phi (longitudinal) spectrogram from simplified particle data structure. Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ny x ntimes) yaxis: The y axis (ny OR ny x ntimes) resolution: (optional) Specify output resolution -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: -Code for original value_locate() based version remains commented out below. It should produce identical spectrograms for regular phi grids. $LastChangedBy: aaflores $ $LastChangedDate: 2016-09-30 17:20:25 -0700 (Fri, 30 Sep 2016) $ $LastChangedRevision: 21989 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_make_phi_spec.pro $
(See general/science/spd_part_products/spd_pgs_make_phi_spec.pro)
Procedure: spd_pgs_make_theta_spec Purpose: Builds theta (latitudinal) spectrogram from simplified particle data structure. Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ny x ntimes) yaxis: The y axis (ny OR ny x ntimes) resolution: (optional) Specify output resolution colatitude: Flag to specify that data is in colatitude -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: -Resolution of output grid is determined by number of unique theta values for the first energy. History: 2016-01-20: Changed algorithm to allow ungrouped theta values (~8% slower now) 2016-09-23: Generalized to remove restrictions on data regularity $LastChangedBy: aaflores $ $LastChangedDate: 2016-09-30 17:20:25 -0700 (Fri, 30 Sep 2016) $ $LastChangedRevision: 21989 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_make_theta_spec.pro $
(See general/science/spd_part_products/spd_pgs_make_theta_spec.pro)
Procedure: spd_pgs_make_tplot Purpose: Create tplot variable with standard spectrogram settings. Input: name: name of new tplot variable to create x: x axis (time) y: y axis z: z axis (data) _extra: Any other keywords used will be passed to tplot and set in the dlimits of the new variable. (e.g. ylog=1 to set logarithmic y axis) Output: Creates a tplot variable. tplotnames=tplotnames : Concatenates the name of the new variable onto tnames argument Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 16:08:31 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19675 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_make_tplot.pro $
(See general/science/spd_part_products/spd_pgs_make_tplot.pro)
Procedure: spd_pgs_map_azimuth Purpose: Map any range of azimuth values in [-inf,inf] to [0,360] Calling Sequence: new_angles = thm_pgs_map_azimuth(angles) Input: phi: Array of azimuth values in degrees Output: return value: Input values mapped to [0,360] Notes: -values of 360 will not be wrapped to zero (otherwise a [0,360] range is mapped to [0,0]) $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 15:09:48 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19671 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_map_azimuth.pro $
(See general/science/spd_part_products/spd_pgs_map_azimuth.pro)
Procedure: spd_pgs_moments Purpose: Calculates moments from a simplified particle data structure. Arguments: data: single sanitized data structure Input Keywords: get_error: Flag indicating that error esitmates (sigma) should be returned mag_data: Optional array containing magnetic field vectors for all time samples scpot_data: Optional array containing spacecraft potential data for all time samples index: Index into mag_data/scpot_data specifying which sample to use Output Keywords: moments: Structure output from moments_3d containing the data. sigma: Structure output from moments_3d containing error estimates. Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2016-02-26 18:33:58 -0800 (Fri, 26 Feb 2016) $ $LastChangedRevision: 20235 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_moments.pro $
(See general/science/spd_part_products/spd_pgs_moments.pro)
Procedure: thm_pgs_moments_tplot Purpose: Creates tplot variables from moments structures Arguments: moments: Array of moments structures returned from moments_3d Keywords: get_error: Flag indicating that the current moment structure contains error estimates. no_mag: Flag to omit outputs associated with b field prefix: Tplot variable name prefix (e.g. 'tha_peif_') suffix: Tplot variable name suffix tplotnames: Array of tplot variable names created by the parent routine. Any tplot variables created in this routine should have their names appended to this array. Notes: Much of this code was copied from thm_part_moments.pro $LastChangedBy: egrimes $ $LastChangedDate: 2018-08-09 16:26:49 -0700 (Thu, 09 Aug 2018) $ $LastChangedRevision: 25623 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_moments_tplot.pro $
(See general/science/spd_part_products/spd_pgs_moments_tplot.pro)
Procedure: spd_pgs_progress_update Purpose: Helper routine prints status message indicating completion percent Input: last_update_time: The last time an update was posted(you can just set this to an undefined variable name) current_sample: The current sample index total_samples: The total number of samples display_object=display_object(optional): dprint display object type_string=type_string(optional): set to specify a type in the output message Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2016-01-04 15:09:48 -0800 (Mon, 04 Jan 2016) $ $LastChangedRevision: 19671 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_progress_update.pro $
(See general/science/spd_part_products/spd_pgs_progress_update.pro)
Procedure: spd_pgs_regrid Purpose: Regrids rotated data to a new set of regularly gridded spherical interpolates Input: data: The struct to be regridded regrid_dimen: 2-element array specifying the requested number of phis & thetas in regridded output. Output: output=output: The struct of regridded data error=error: 1 indicates error occured, 0 indicates no error occured $LastChangedBy: egrimes $ $LastChangedDate: 2017-07-05 09:17:03 -0700 (Wed, 05 Jul 2017) $ $LastChangedRevision: 23548 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_regrid.pro $
(See general/science/spd_part_products/spd_pgs_regrid.pro)
Purpose: The new y range may not align perfectly with the shifted data, causing a white bar at the top of the plot. This routine copies the botton row onto the top to cover the white space. (requested fix, probably no good solution) ^ The other solution would be to snap the new y axis range to that of the reordered bins rather than plotting exactly what the user requested. Arguments: data: data structure from tplot, already shifted yrange: full range of y data from main routine
(See general/science/spd_part_products/spd_pgs_shift_phi_spec.pro)
Procedure: spd_pgs_shift_phi_spec Purpose: Shifts phi (longitudinal) spectrogram's y-axis to start at a different angle. Input: names: string or string array of tplot variable names (wildcards accepted) start_angle: value in degrees at which to start the plot (e.g. 90, 180) Output: None, alters input tplot variable(s). Notes: -Bins intersected by the start angle will be copied to the top (end) of the spectrogram to ensure that the portion of those bin that is < the start angle is still plotted. -This procedure assumes that the input variables' y axes are monotonic and that any NaNs are at the end of the arrays. -NaNs in the y axis are shifted along with valid numbers to ensure that missing data along the original spectrogram's edge is represented correctly. $LastChangedBy: aaflores $ $LastChangedDate: 2016-08-04 18:15:27 -0700 (Thu, 04 Aug 2016) $ $LastChangedRevision: 21602 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_shift_phi_spec.pro $
(See general/science/spd_part_products/spd_pgs_shift_phi_spec.pro)
Procedure: spd_pgs_v_shift Purpose: Shift a single distribution strucure by a specified velocity vector Input: data: Sanitized particle data structure to be operated on vector: 3-vector in km/s matrix: (optional) rotation matrix to apply to vector before shift Output: error: flag, 1 indicates error, 0 none Notes: -Particle velocities are assumed to be small enough to use classical calculation. $LastChangedBy: aaflores $ $LastChangedDate: 2016-09-30 17:28:46 -0700 (Fri, 30 Sep 2016) $ $LastChangedRevision: 21990 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/science/spd_part_products/spd_pgs_v_shift.pro $
(See general/science/spd_part_products/spd_pgs_v_shift.pro)