This page was created by the IDL library routine
mk_html_help2
.
Last modified: Wed Jun 12 10:49:46 2024.
FUNCTION: atan2 PURPOSE: Utility routine to calculate the arc tangent. This routine is currently used by the ELFIN orbit plots KEYWORDS: yin: y variable xin: x variable degrees: set this flag to output results in degrees. if not set the result will be in radians full_circle: if set, output is 0-360 degs, if not it is +-180 degs OUTPUT: arc tangent AUTHOR: Jiang Liu
(See projects/elfin/plots/atan2.pro)
Procedure: batch_procedure_error_handler Purpose: This routine catches errors for procedure calls, to prevent individual routine failures from killing the whole process Inputs: proc_name: is a string naming the procedure to be called date: The date for the call(positional argument is common to all calls being error handled _extra: is used to allow any set of keyword parameters for the call arg0-arg9: Support for up to 10 positional parameters. How many are used depends upon the procedure Example: check_state_files_error_handler,'map_themis_state_south_t96','2007-03-23',/gifout,noview=noview,/move $LastChangedBy: jimm $ $LastChangedDate: 2016-03-14 12:22:36 -0700 (Mon, 14 Mar 2016) $ $LastChangedRevision: 20440 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/thmsoc/asi/batch_procedure_error_handler.pro $
(See projects/elfin/plots/batch_procedure_error_handler.pro)
FUNCTION: elf_calc_sci_zone_att PURPOSE: Calculates the science attitude vector and determines which auroral crossing (science zone name) KEYWORDS: trange: time frame to be used for calculation (format can be time string '2020-03-20' or time double). Example: trange=['2020-03-20;,'2020-03-21'] probe: probe name, probes include 'a' and 'b' lat: lattitude (used to determine which zone) lshell: lshell used to determine whether IBO or OBO obo: set this keyword to get inner belt att OUTPUT: creates a tplot variable 'el'+probe+'_spin_att_ang' that contains the following data={x:times, y:colats, z:zone_names}
(See projects/elfin/plots/elf_calc_sci_zone_att.pro)
PROCEDURE: elf_convert_state_gei2sm PURPOSE: Convert previously loaded state data from gei coordinates to SM. This is a utility routine. This coordinate conversion occurs frequently in ELFIN code KEYWORDS: probe: spacecraft probe name 'a' or 'b'
(See projects/elfin/plots/elf_convert_state_gei2sm.pro)
PROCEDURE: elf_create_instrument_all PURPOSE: This procedure will download data availability files by auroral zone and instrument. All data availability from all zones is writen to a file for all KEYWORDS: trange: time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] probe: spacecraft probe name 'a' or 'b' instrument: name of instrument, 'epd', 'fgm', 'mrm' nodownload: set this flag to read files from the local disk and not from the server (this is used by cronjobs when automatically running procedures) update: set this flag to force the update of the data availability flag
(See projects/elfin/plots/elf_create_instrument_all.pro)
FUNCTION: elf_get_eiscat_positions PURPOSE: This routine will return the position (latitude and longitude) of three EISCAT stations (incoherent radar scattering) Stations include: Tromso_UHF, Tromso_VHF, Svalbard KEYWORDS: None OUTPUT: eiscat_pos - a structure containing the station names, latitudes, and longitudes. ** Structure <28f7a620>, 3 tags, length=72, data length=72, refs=1: NAME STRING Array[3] LAT FLOAT Array[3] LON FLOAT Array[3] EXAMPLE: eiscat_pos = elf_get_eiscat_positions()
(See projects/elfin/plots/elf_get_eiscat_positions.pro)
FUNCTION: elf_get_vlf_positions PURPOSE: This routine will return the position (geo latitude/longitude and mag latitude/longitude) of seven VLF stations (incoherent radar scattering) stations include: 'IST', 'OUJ', 'MAM', 'GAK', 'ATH', 'KAP', 'KAN' KEYWORDS: None OUTPUT: vlf_pos - a structure containing the station names, geo and magh lat/lon. ** Structure <3d936c30>, 5 tags, length=224, data length=224, refs=1: NAME STRING Array[7] GLAT FLOAT Array[7] GLON FLOAT Array[7] MLAT FLOAT Array[7] MLON FLOAT Array[7] EXAMPLE: vlf_pos = elf_get_vlf_positions()
(See projects/elfin/plots/elf_get_vlf_positions.pro)
PROCEDURE: elf_load_epd_fast_segments PURPOSE: Loads the EPD fast segment intervals into a bar that can be plotted KEYWORDS: tplotname: name of tplot variable (should be ela_epdef or elb_ela_epdif) nodownload: set this flag to force routine to load local data only (no download) $LastChangedBy: egrimes $ $LastChangedDate: 2017-08-08 09:33:48 -0700 (Tue, 08 Aug 2017) $ $LastChangedRevision: 23763 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/elf/common/data_status_bar/elf_load_fast_segments.pro $
(See projects/elfin/plots/elf_load_epd_fast_segments.pro)
PROCEDURE: elf_load_epd_survey_segments PURPOSE: Loads the EPD survey segment intervals into a bar that can be plotted KEYWORDS: tplotname: name of tplot variable (should be ela_epdes or elb_ela_epdis) $LastChangedBy: egrimes $ $LastChangedDate: 2017-08-08 09:33:48 -0700 (Tue, 08 Aug 2017) $ $LastChangedRevision: 23763 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/elf/common/data_status_bar/elf_load_fast_segments.pro $
(See projects/elfin/plots/elf_load_epd_survey_segments.pro)
PROCEDURE: elf_load_fgm_fast_segments PURPOSE: Loads the FGM fast segment intervals into a bar that can be plotted KEYWORDS: tplotname: name of tplot variable (should be ela_fgf or elb_fgf) probe: elfin spacecraft name, 'a' or 'b' $LastChangedBy: egrimes $ $LastChangedDate: 2017-08-08 09:33:48 -0700 (Tue, 08 Aug 2017) $ $LastChangedRevision: 23763 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/elf/common/data_status_bar/elf_load_fast_segments.pro $
(See projects/elfin/plots/elf_load_fgm_fast_segments.pro)
PROCEDURE: elf_load_fgm_survey_segments PURPOSE: Loads the FGM survey segment intervals into a bar that can be plotted KEYWORDS: tplotname: name of tplot variable (should be ela_fgs or elb_fgs) no_download: set this flag to use local data only $LastChangedBy: egrimes $ $LastChangedDate: 2017-08-08 09:33:48 -0700 (Tue, 08 Aug 2017) $ $LastChangedRevision: 23763 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/elf/common/data_status_bar/elf_load_fast_segments.pro $
(See projects/elfin/plots/elf_load_fgm_survey_segments.pro)
PROCEDURE: elf_load_science_times PURPOSE: Get science data for FGM and EPD and load into tplot vars Return science collection times structure (for elfin a and b) This routine is used by elf_map_state_t96_intervals. KEYWORDS: tdate: time of interest (start time) with the format 'YYYY-MM-DD' dur: duration of time frame in factional days. default value is 1 pred: use this flag if you want to check predicted data
(See projects/elfin/plots/elf_load_science_times.pro)
PROCEDURE: elf_load_sun_shadow_bar PURPOSE: Loads the survey segment intervals into a bar that can be plotted KEYWORDS: tplotname: name of tplot variable (should be ela_pos_sm or ela_pos_sm) no_download: set this flag to force $LastChangedBy: egrimes $ $LastChangedDate: 2017-08-08 09:33:48 -0700 (Tue, 08 Aug 2017) $ $LastChangedRevision: 23763 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/elf/common/data_status_bar/elf_load_fast_segments.pro $
(See projects/elfin/plots/elf_load_sun_shadow_bar.pro)
PROCEDURE: elf_make_geo_grid INPUTS: mlat: magnetic latitude mlon: magnetic longitude height: elevation in km glat: geographic latitude glon: geographic longitude OUTPUTS: geo_grid: returns a structure with geographic grid PURPOSE: Create a geographic grid for orbit plots KEYWORDS: None
(See projects/elfin/plots/elf_make_geo_grid.pro)
PROCEDURE: elf_make_sm_grid PURPOSE: Create SM latitude rings and longitude spokes, expresented in GEO. (for use with ELFIN orbit plots) KEYWORDS: tdate: time to be used for calculation (format can be time string '2020-03-20' or time double) south: use this flag for grids in southern hemisphere OUTPUT: sm_grids: structure with lat rings, lon spokes, and poles EXAMPLE: sm_grid = elf_make_sm_grid('2020-03-20') sm_grid = elf_make_sm_grid('2020-03-20', /south)
(See projects/elfin/plots/elf_make_sm_grid.pro)
PROCEDURE: elf_make_spin_att_string PURPOSE: Utility routine to construct the attitude string displayed on ELFIN Orbit plots. KEYWORDS: probe: spacecraft identifier 'a' or 'b' OUTPUT: spin attitude string EXAMPLE: spin_str=elf_make_spin_att_string('a') NOTE: This routine assumes that the spin attitude angle tplot variable exists
(See projects/elfin/plots/elf_make_spin_att_string.pro)
polar orbit JWu change south pole position in GEO plot NAME: ELF_MAP_STATE_T96_INTERVALS PURPOSE: map ELFIN spacecraft to their magnetic footprints CATEGORY: None CALLING SEQUENCE: elf_map_state_t96_intervals,'2018-11-10/00:00:00' INPUTS: tstart start time for the map KEYWORD PARAMETERS: gifout generate a gif image at output south use southern hemisphere (otherwise, north) noview do not open window for display model specify Tsyganenko model like 't89' or 't01', default is 't96' dir_move directory name to move plots to quick_trace run ttrace2iono on smaller set of points for speed tstep use this to turn on tick marks and set the frequency in seconds clean obsolete (parameter should be removed) no_trace set this flag if you already have the data in hand and calculated in a previous run one_hour_only: set this flag to only plot the first orbit hires set this flag to create a higher resolution plot sm set this keyword for footprint in SM coordinates, default is GEO bfirst set this keyword for probe b footprint on top (default is for a on top) note that this keyword is only used if the coordinates are in SM pred set this flag to use predicted state data insert_stop set this flag to stop after the first plot (used for debugging) OUTPUTS: GIF images EXAMPLE: elf_map_state_t96_intervals,'2018-11-10/00:00:00' ; this will defer to defaults and plot only ; northern hemisphere, geographic grids in ; normal resolution MODIFICATION HISTORY: Written by: C L Russell May 2020 VERSION: $LastChangedBy: $LastChangedDate: $LastChangedRevision: $URL:
(See projects/elfin/plots/elf_map_state_t96_intervals_eom.pro)
polar orbit JWu change south pole position in GEO plot NAME: ELF_MAP_STATE_T96_INTERVALS PURPOSE: map ELFIN spacecraft to their magnetic footprints CATEGORY: None CALLING SEQUENCE: elf_map_state_t96_intervals,'2018-11-10/00:00:00' INPUTS: tstart start time for the map KEYWORD PARAMETERS: gifout generate a gif image at output south use southern hemisphere (otherwise, north) noview do not open window for display model specify Tsyganenko model like 't89' or 't01', default is 't96' dir_move directory name to move plots to quick_trace run ttrace2iono on smaller set of points for speed tstep use this to turn on tick marks and set the frequency in seconds clean obsolete (parameter should be removed) no_trace set this flag if you already have the data in hand and calculated in a previous run one_hour_only: set this flag to only plot the first orbit hires set this flag to create a higher resolution plot sm set this keyword for footprint in SM coordinates, default is GEO bfirst set this keyword for probe b footprint on top (default is for a on top) note that this keyword is only used if the coordinates are in SM pred set this flag to use predicted state data insert_stop set this flag to stop after the first plot (used for debugging) OUTPUTS: GIF images EXAMPLE: elf_map_state_t96_intervals,'2018-11-10/00:00:00' ; this will defer to defaults and plot only ; northern hemisphere, geographic grids in ; normal resolution MODIFICATION HISTORY: Written by: C L Russell May 2020 VERSION: $LastChangedBy: $LastChangedDate: $LastChangedRevision: $URL:
(See projects/elfin/plots/elf_map_state_t96_intervals.pro)
Procedure: elf_map_state_t96_wrapper PURPOSE: Routine just wraps elf_map_state_t96(north and south tracing variants). Making separate calls for each type of overview interval. Mainly used to reprocess. INPUT: Date: date for plot creation, if not set, assumes current date and duration counts backwards(ie last N days from today) KEYWORDS: dur: If set, number of days to process, default is 1 south_only: If set, does tracing to southern hemisphere only north_only: If set, does tracing to northern hemisphere only The default value is to plot both north and south pred: Set this flag to use predicted data and title to predicted sm: Set this flag to create plots in sm coordinates (default is geo) bfirst: Set this flag to plot b on top of a (default is a on top of b) do_all: Set this flag to create all plots (north, south, geo, sm, a on b, and b on a) $LastChangedBy: pcruce $ $LastChangedDate: 2012-07-31 14:50:02 -0700 (Tue, 31 Jul 2012) $ $LastChangedRevision: 10758 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/thmsoc/asi/map_themis_state_t96_wrapper.pro $
(See projects/elfin/plots/elf_map_state_t96_intervals_wrapper.pro)
Procedure: elf_mlt_l_lat Purpose: subroutine to calculate mlt,l,mlat under dipole configuration Inputs: variable_state: tplot variable containing position data in sm coordinates Keywords: mlt0: l0: lat0: Latitude Example: elf_mlt_l_lat,probe='a',date='2007-03-23' Notes: Based on a routine by Qianli Ma (qianlima@atmos.ucla.edu) $LastChangedBy:$ $LastChangedDate:$ $LastChangedRevision:$ $URL:$
(See projects/elfin/plots/elf_mlt_l_lat.pro)
PROCEDURE: elf_plot_attitude PURPOSE: Create attitude plots (3 panels - att_gei vector, theta, phi) with timebars for maneuvers KEYWORDS: trange: time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] EXAMPLES: elf> elf_plot_attitude, trange=['2019-07-01', '2019-11-01'] NOTES:
(See projects/elfin/plots/elf_plot_attitude.pro)
Procedure: elf_plot_multispec_overviews PURPOSE: Routine just wraps epde_plot_wigrf_multispec_overviews. Mainly used for processing. INPUT Date: date for plot creation, if not set, assumes current date and duration counts backwards(ie last N days from today) KEYWORDS Dur: If set, number of days to process, default is 1 probe: 'a' or 'b' no_download: If set no files will be downloaded sci_zone: If set this flag will create overplots by science zone rather than by hour quick_run: set this flag to reduce the resolution of the data for a quicker run one_zone_only: set this flag to plot only the first zone (this is for debug purposes)
(See projects/elfin/plots/elf_plot_multispec_overviews.pro)
NAME: elf_plot_orbit_conjunctions_test PURPOSE: create ELFIN, THEMIS, MMS, ERG orbit plots in GSM coordinates for web site INPUT: tstart like '2009-12-01' OUTPUT: gif files may be generated KEYWORDS: gifout = gif images are generated file = specify file if not reading THEMIS ephemeris insert = insert stop at end of program rbsp_too = if set, overlay RBSP orbits mms_too = if set, overlay MMS orbits erg_too = if set, overlay ERG orbigts goes_too = if set, GOES 15 and 16 orbits are overlaid (NOTE: need to modify to handle any goes orbits) model = name of Tsyganenko model ('t89', 't96', 'ta15'). default is 't96' (Not yet implemented) HISTORY: original file in March 2007, hfrey MODIFICATIONS: 2010-01-14, hfrey, new definition of plot area REQUIREMENTS: compile two programs for instance in .r /home/sfrey/themis/MOC/pro/mpause_2 .r /home/sfrey/themis/MOC/pro/bshock_2 VERSION: $LastChangedBy: jimm $ $LastChangedDate: 2020-11-18 13:03:02 -0800 (Wed, 18 Nov 2020) $ $LastChangedRevision: 29359 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/thmsoc/asi/themis_orbits.pro $
(See projects/elfin/plots/elf_plot_orbit_conjunctions.pro)
PROCEDURE: elf_plot_sci_zone_lat PURPOSE: This routine will plot the latitude values at the start and end times of science zones Scienc zone panels are separated by science zone North Ascending, South Ascending, North Descending, and South Descending KEYWORDS: tstart: start time to be used for the plot (format can be time string '2020-03-20' or time double) dur: duration in days probe: probe name, probes include 'a' and 'b' instrument: instrument name, insturments include 'epd', 'fgm', 'mrm' OUTPUT: EXAMPLE: elf_update_data_availability_table, '2020-03-20', probe='a', instrument='epd'
(See projects/elfin/plots/elf_plot_sci_zone_lat.pro)
PROCEDURE: epde_plot_overviews PURPOSE: Loads EPDE, performs pitch angle determination and plotting of energy and pitch angle spectra Including precipitating and trapped spectra separately. EPDI can be treated similarly, but not done yet Regularize keyword performs rebinning of data on regular sector centers starting at zero (rel.to the time of dBzdt 0 crossing which corresponds to Pitch Angle = 90 deg and Spin Phase angle = 0 deg.). If the data has already been collected at regular sectors there is no need to perform this. KEYWORDS: trange - time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] probe - 'a' or 'b' no_download - set this flag to not download data from the server and use local files only sci_zone - if set this flag will plot epd overview plots by science zone (rather than by day) not yet implemented quick_run - set this flag to reduce the resolution of t89/ttrace2equator (from 1 sec to 1 min) one_zone_only - set this keyword to only plot the first sci zone (this is a kluge for the pink plots) regularize - set this keyword to use the regularize keyword when calling elf_getspec TO DO: implement plots by sci zone only
(See projects/elfin/plots/epde_plot_overviews.pro)
PROCEDURE: epde_plot_overviews_solo PURPOSE: Loads EPDE, performs pitch angle determination and plotting of energy and pitch angle spectra Including precipitating and trapped spectra separately. EPDI can be treated similarly, but not done yet Regularize keyword performs rebinning of data on regular sector centers starting at zero (rel.to the time of dBzdt 0 crossing which corresponds to Pitch Angle = 90 deg and Spin Phase angle = 0 deg.). If the data has already been collected at regular sectors there is no need to perform this. KEYWORDS: trange - time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] probe - 'a' or 'b' no_download - set this flag to not download data from the server and use local files only sci_zone - if set this flag will plot epd overview plots by science zone (rather than by day) not yet implemented quick_run - set this flag to reduce the resolution of t89/ttrace2equator (from 1 sec to 1 min) one_zone_only - set this keyword to only plot the first sci zone (this is a kluge for the pink plots) regularize - set this keyword to use the regularize keyword when calling elf_getspec TO DO: implement plots by sci zone only
(See projects/elfin/plots/epde_plot_overviews_solo.pro)
PROCEDURE: epde_plot_wigrf_multispec_overviews PURPOSE: Loads EPDE, performs pitch angle determination and plotting of energy and pitch angle spectra Including precipitating and trapped spectra separately. EPDI can be treated similarly, but not done yet Regularize keyword performs rebinning of data on regular sector centers starting at zero (rel.to the time of dBzdt 0 crossing which corresponds to Pitch Angle = 90 deg and Spin Phase angle = 0 deg.). If the data has already been collected at regular sectors there is no need to perform this. KEYWORDS: trange - time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] probe - 'a' or 'b' no_download - set this flag to not download data from the server and use local files only sci_zone - if set this flag will plot epd overview plots by science zone (rather than by day) TO DO: elb can be done similarly but the code has not been generalized to either a or b yet. But this is straightforward.
(See projects/elfin/plots/epde_plot_wigrf_multispec_overviews.pro)
PROCEDURE: epdi_plot_overviews PURPOSE: Loads EPDE and EPDI performs pitch angle determination and plotting of energy and pitch angle spectra Including precipitating and trapped spectra separately. Regularize keyword performs rebinning of data on regular sector centers starting at zero (rel.to the time of dBzdt 0 crossing which corresponds to Pitch Angle = 90 deg and Spin Phase angle = 0 deg.). If the data has already been collected at regular sectors there is no need to perform this. KEYWORDS: trange - time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] probe - 'a' or 'b' no_download - set this flag to not download data from the server and use local files only sci_zone - if set this flag will plot epd overview plots by science zone (rather than by day) TO DO: elb can be done similarly but the code has not been generalized to either a or b yet. But this is straightforward.
(See projects/elfin/plots/epdi_plot_overviews.pro)
PROCEDURE: find_interval PURPOSE: This routine looks for intervals of consecutive indices in an index array and determines start and end index of each interval. INPUT: index: index array usually from where function OUTPUT: istart: index of first element of an interval iend : index of last element of an interval AUTHOR: v1.0 S.Frey 12-30-03
(See projects/elfin/plots/find_interval.pro)
PROCEDURE: find_orbits PURPOSE: Procedure returns indices of perigees and apogees. Apsides are determined as the local minima and maxima based on x,y,z orbit coordinates only. Orbit sets are split into single orbits by node crossings. If nodes are close to or at local minima then cutoffs are shifted to meet local minima and maxima conditions. For orbits sets, arcs that are ascending or decsending only determination of first and last apsides is based on average orbit length and can be off by orbit variation. For a partial orbit this method works only if apside is well insight the arc. This indicated by message 'Orbit is not complete, apogee might not be true'. INPUT x y Components preferrably in GEI z KEYWORDS: info: if set some details are printed tolerance: Flag to pick orbit variation, period perturbations make orbit size varying from one orbit to another, and different time resolutions might call for different tolerances (orbit length/[3.,10.]) <[100,8] tolerance=3 picks smaller value (low resolution) tolerance>3 picks higher value (high resolution) This has some heritage halt: flag to stop test: selects three test cases (=1,=2,=3) nostop: flags to not stop if different orbits sizes cause stop if max(abs(diff2),ibad) gt round(median(abs(dstart-astart))/10.) should not be set for maneuver calculation but is helpful when all statevectors from archive are put into one structure and then processed for visualization such as in plot_elements, helps to keep automation as orbits go into final size OUTPUT: ind_pg ; index of perigee passes ind_ap ; index of apogee passes ind_asnode: index of ascending node orbitnumber: orbit count starts at 1, increments at ascending node norbits: numbers of orbits ag,pg : flag to indicate which one is first AUTHOR: S. Frey, UCB, SSL
(See projects/elfin/plots/find_orbits.pro)
PROCEDURE: get_elf_science_zone_start_end PURPOSE: This routine searches a specified time range for science zone collections and returns a structure sci_zones={starts:sz_starttimes, ends:sz_endtimes} This is a utility routine used by some of the plot routines but can be used standalong KEYWORDS: trange: time range of interest [starttime, endtime] with the format ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss'] probe: spacecraft specifier, 'a' or 'b'. default value is 'a' instrument: string containing name of instrument to find the science zone time frame. 'epd' is the only instrument implemented in this routine 'fgm' needs to be added OUTPUT: sci_zones={starts:sz_starttimes, ends:sz_endtimes} AUTHOR: v1.0 S.Frey 12-30-03
(See projects/elfin/plots/get_elf_science_zone_start_end.pro)
FUNCTION get_vec_angle PURPOSE: determines angle between two vectors INPUT: vec1, vec2: either 2d or 3d vectors, arrays possible, one array, one vector also possible vec[0,*]-x component vec[1,*]-y component vec[2,*]-z component OUTPUT: ang: angle between vec1,vec2 mag1,mag2: Optional output of magnitude of vectors dot_product: scalar product between the two vectors (Optional) sfrey v1.0 05-19-08 sfrey added dot_product 02-23-16 sfrey made it work for 2 or 3 dimensions with one being a vector and theother an array this did only work for 3 dims in the past 03-03-16 sfrey replaced !d.radeg by 180.d/!dpi moved header to top of file 01-09-17 sfrey No more return of modified input
(See projects/elfin/plots/get_vec_ang.pro)
PROCEDURE: elf_make_att_gif, filename NAME: makegif PURPOSE: Creates a GIF file from the currently displayed image. This is a modified version of makegif.pro that does not create a png file in addition to a gif file. This creates only a gif file. PARAMETERS: filename filename of gif file to create. Defaults to 'plot'. Note: extension '.gif' is added automatically KEYWORDS: ct Index of color table to load. Note: will have global consequences! multiple Write multiple gifs to a single file. Subsequent calls to makegif with same filename argument will append to the file. Use /close to close. close close the gif file. Useful when writing multiple gifs to a single file. Does not write any image to the file. no_expose Don't print index of current window. Restrictions: Current device should have readable pixels (ie. 'x' or 'z') Created by: Davin Larson FILE: makegif.pro VERSION: 1.11 LAST MODIFICATION: 02/11/06
(See projects/elfin/plots/elf_make_att_gif.pro)
PROCEDURE: ovalget PURPOSE: reads oval files and returns values for poleward/equatorward lon/lat (arrays) INPUT: qindx OUTPUT pwdboundlonlat: p for poleward longitude and latitude (nx2) ewdboundlonlat: e for equatorward longitude and latitude (nx2)
(See projects/elfin/plots/ovalget.pro)
PROCEDURE: plot_science_zone_mlat PURPOSE: This routine plots the magnetic latitudes whenever data is collected during a science zones KEYWORDS: This was a one off routine but seems useful. Keywords should be added to this routine OUTPUT: AUTHOR: v1.0 S.Frey 12-30-03
(See projects/elfin/plots/plot_science_zone_mlat.pro)
NAME: WHERE_ARRAY PURPOSE: Return the indices where vector B exists in vector A. Basically a WHERE(B EQ A) where B and A are 1 dimensional arrays. CATEGORY: Array CALLING SEQUENCE: result = WHERE_ARRAY(A,B) INPUTS: A vector that might contains elements of vector B B vector that we would like to know which of its elements exist in A OPTIONAL INPUTS: KEYWORD PARAMETERS: iA_in_B return instead the indices of A that are in (exist) in B OUTPUTS: Index into B of elements found in vector A. If no matches are found -1 is returned. If the function is called with incorrect arguments, a warning is displayed, and -2 is returned (see SIDE EFFECTS for more info) OPTIONAL OUTPUTS: COMMON BLOCKS: None SIDE EFFECTS: If the function is called incorrectly, a message is displayed to the screen, and the !ERR_STRING is set to the warning message. No error code is set, because the program returns -2 already RESTRICTIONS: This should be used with only Vectors. Matrices other then vectors will result in -2 being returned. Also, A and B must be defined, and must not be strings! PROCEDURE: EXAMPLE: IDL> A=[2,1,3,5,3,8,2,5] IDL> B=[3,4,2,8,7,8] IDL> result = where_array(a,b) IDL> print,result 0 0 2 2 3 5 SEE ALSO: where MODIFICATION HISTORY: Written by: Dan Carr at RSI (command line version) 2/6/94 Stephen Strebel 3/6/94 made into a function, but really DAN did all the thinking on this one! Stephen Strebel 6/6/94 Changed method, because died with Strings (etc) Used ideas from Dave Landers. Fast TOO! Strebel 30/7/94 fixed checking structure check
(See projects/elfin/plots/where_array.pro)