This page was created by the IDL library routine
mk_html_help2
.
Last modified: Wed Apr 14 11:49:06 2010.
procedure: cotrans, name_in, name_out [, time] Purpose: geophysical coordinate transformations GEI<-->GSE; GSE<-->GSM; GSM<-->SM; GEI<-->GEO; interpolates the spinphase, right ascension, declination updates coord_sys atribute of output tplot variable. inputs name_in ... data in the input coordinate system (t-plot variable name, or array) name_out ... variable name for output (t-plot variable name, or array) time ... optional input: array of times for input values, if provided then the first parameter is an array, and the second parameter is a named variable to contain the output array. keywords: TRANSFORMATIONS /GEI2GSE /GSE2GEI /GSE2GSM /GSM2GSE /GSM2SM /SM2GSM /GEI2GEO /GEO2GEI /IGNORE_DLIMITS: set so it won't require the coordinate system of the input tplot variable to match the coordinate system from which the data is being converted Examples: cotrans,'tha_fgl_gse','tha_fgl_gsm',/GSE2GSM cotrans,'tha_fgl_gsm','tha_fgl_gse',/GSM2GSE cotrans,'tha_fgl_gse','tha_fgl_gei',/GSE2GEI cotrans,'tha_fgl_gei','tha_fgl_gse',/GEI2GSE cotrans,'tha_fgl_gsm','tha_fgl_sm',/GSM2SM cotrans,'tha_fgl_sm','tha_fgl_gsm',/SM2GSM Notes: under construction!! Written by: Hannes Schwarzl & Patrick Cruce(pcruce@igpp.ucla.edu) $LastChangedBy: pcruce $ $LastChangedDate: 2008-01-29 11:06:43 -0800 (Tue, 29 Jan 2008) $ $LastChangedRevision: 2324 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/cotrans.pro $
(See ssl_general/cotrans/cotrans.pro)
Function: COTRANS_GET_COORD Purpose: determine the coordinate system of data by examining the contents of it's DLIMIT structure. Calling Sequence: tplot_var = 'tha_eff' get_data, tplot_var, data=d, limit=l, dlimit=dl coord = cotrans_get_coord( dl) ; -- or -- coord = cotrans_get_coord('tha_eff') Arguements: DL, Anonymous STRUCT, or tplot variable name. Notes: None. $LastChangedBy: kenb-mac $ $LastChangedDate: 2007-05-01 15:11:55 -0700 (Tue, 01 May 2007) $ $LastChangedRevision: 622 $ $URL $
(See ssl_general/cotrans/cotrans_get_coord.pro)
procedure: subGEI2GEO Purpose: transforms data from GEI to GEO INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subGEO2GEI Purpose: transforms data from GEO to GEI INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: csundir_vect Purpose: calculates the direction of the sun (vectorized version of csundir from ROCOTLIB by Patrick Robert) INPUTS: integer time output : gst greenwich mean sideral time (radians) slong longitude along ecliptic (radians) sra right ascension (radians) sdec declination of the sun (radians) obliq inclination of Earth's axis (radians) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: tgeigse_vect Purpose: GEI to GSE transformation (vectorized version of tgeigse from ROCOTLIB by Patrick Robert) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: tgsegei_vect Purpose: GSE to GEI transformation (vectorized version of tgsegei from ROCOTLIB by Patrick Robert) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: tgsegsm_vect Purpose: GSE to GSM transformation (vectorized version of tgsegsm from ROCOTLIB by Patrick Robert) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: tgsmgse_vect Purpose: GSM to GSE transformation (vectorized version of tgsmgse from ROCOTLIB by Patrick Robert) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: tgsmsm_vect Purpose: GSM to SM transformation (vectorized version of tgsmsma from ROCOTLIB by Patrick Robert) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: tsmgsm_vect Purpose: SM to GSM transformation (vectorized version of tsmagsm from ROCOTLIB by Patrick Robert) Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: cdipdir_vect Purpose: calls cdipdir from ROCOTLIB in a vectorized environment Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ faster algorithm (for loop across all points avoided) Hannes 05/25/2007 $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
pro sub_GSE2GSM Purpose: transforms data from GSE to GSM keywords: /GSM2GSE : inverse transformation Example: sub_GSE2GSM,tha_fglc_gse,tha_fglc_gsm sub_GSE2GSM,tha_fglc_gsm,tha_fglc_gse,/GSM2GSE Notes: under construction!! will run faster in the near future!! Written by Hannes Schwarzl $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/cotrans_lib.pro $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: cdipdir Purpose: cdipdir from ROCOTLIB. direction of Earth's magnetic axis in GEO Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
pro: sub_GEI2GSE Purpose: transforms THEMIS fluxgate magnetometer data from GEI to GSE keywords: /GSE2GEI : inverse transformation Example: sub_GEI2GSE,tha_fglc_gei,tha_fglc_gse sub_GEI2GSE,tha_fglc_gse,tha_fglc_gei,/GSE2GEI Notes: under construction!! will run faster in the near future!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
pro sub_GSM2SM Purpose: transforms data from GSM to SM keywords: /SM2GSM : inverse transformation Example: sub_GSM2SM,tha_fglc_gsm,tha_fglc_sm sub_GSM2SM,tha_fglc_sm,tha_fglc_gsm,/SM2GSM Notes: under construction!! will run faster in the near future!! Written by Hannes Schwarzl $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/cotrans_lib.pro $
(See ssl_general/cotrans/cotrans_lib.pro)
pro sub_GEI2GEO Purpose: transforms data from GEI to GEO keywords: /GEO2GEI : inverse transformation Example: sub_GEI2GEO,tha_fglc_gei,tha_fglc_geo sub_GEI2GEO,tha_fglc_geo,tha_fglc_gei,/GEO2GEI Notes: Written by Patrick Cruce(pcruce@igpp.ucla.edu) $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/cotrans_lib.pro $
(See ssl_general/cotrans/cotrans_lib.pro)
proceddure: subGEI2GSE Purpose: transforms data from GEI to GSE INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! will run faster in the near future!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subGSE2GEI Purpose: transforms data from GSE to GEI INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! will run faster in the near future!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subGSE2GSM Purpose: transforms data from GSE to GSM INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! will run faster in the near future!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subGSM2GSE Purpose: transforms data from GSM to GSE INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! will run faster in the near future!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subGSM2SM Purpose: transforms data from GSM to SM INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subSM2GSM Purpose: transforms data from SM to GSM INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2007-11-19 13:25:56 -0800 (Mon, 19 Nov 2007) $ $LastChangedRevision: 2056 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
Function: COTRANS_SET_COORD Purpose: set the coordinate system of data by setting the data_att structure of its DLIMIT structure. Calling Sequence: tplot_var = 'tha_eff' get_data, tplot_var, data=d, limit=l, dlimit=dl coord = cotrans_set_coord, dl, 'gei' store_data, tplot_var, data=d, limit=l, dlimit=dl Arguements: DL, Anonymous STRUCT. Notes: None. $LastChangedBy: kenb-mac $ $LastChangedDate: 2007-08-01 22:08:30 -0700 (Wed, 01 Aug 2007) $ $LastChangedRevision: 1318 $ $URL $
(See ssl_general/cotrans/cotrans_set_coord.pro)
procedure: dsl2gse Purpose: THEMIS coordinate transformations DSL<-->GSE; interpolates, right ascension, declination updates coord_sys atribute of output tplot variable. inputs name_thx_xxx_in ... data in the input coordinate system (t-plot variable name) name_thx_spinras ... right ascension (t-plot variable name) name_thx_spindec ... declination (t-plot variable name) name_thx_xxx_out ... name for output (t-plot variable name) keywords: TRANSFORMATIONS /GSE2DSL inverse transformation /IGNORE_DLIMITS if the specified from coord is different from the coord system labeled in the dlimits structure of the tplot variable setting this keyword prevents an error Example: dsl2gse('tha_fgl_dsl','tha_spinras','tha_spindec','tha_fglc_gse') expects attitude in GEI (tha_spinras,tha_spindec) dsl2gse('tha_fglc_gse','tha_spinras','tha_spindec','tha_fgl_dsl',/GSE2DSL) expects attitude in GEI (tha_spinras,tha_spindec) Notes: under construction!! will run faster in the near future!! Written by Hannes Schwarzl $LastChangedBy: pcruce $ $LastChangedDate: 2009-08-18 14:45:25 -0700 (Tue, 18 Aug 2009) $ $LastChangedRevision: 6602 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/dsl2gse.pro $
(See ssl_general/cotrans/dsl2gse.pro)
procedure: gse2sse Purpose: Coordinate transformation between GSE & SSE coordinates(and the inverse) SSE is defined as: X: Moon->Sun Line Y: Ecliptic North cross X Z: X cross Y GSE is defined as: X: Earth Sun Line(naturally in the ecliptic plane) Y: Z x X Z: Ecliptic North inputs: name_in: Name of input tplot variable to be transformed name_sun_pos: Name of the solar position tplot variable in GEI coordinates name_lun_pos: Name of the lunar position tplot variable in GEI coordinates name_out: Name that the rotated variable should take. keywords: /SSE2GSE inverse transformation /IGNORE_DLIMITS: Dlimits normally used to determine if coordinate system is correct, to decide if position needs offset, or to stop incorrect transforms. This option will stop this behavior. Examples: gse2sse,'tha_state_pos','slp_sun_pos_gse','slp_lun_pos_gse','tha_state_pos_sse' gse2sse,'tha_state_pos_sse','slp_sun_pos_gse','slp_lun_pos_gse','tha_state_pos_gse',/sse2gse,/ignore_dlimits Notes: #1 SSE coordinate Z-axis is generally not exactly parallel to ecliptic north, as the moon will not always be in the ecliptic plane, and thus the moon->sun line will not always lie in the ecliptic plane. #2 If dlimit-labeled position passed in without /ignore_dlimits, input will be offset to account for relative position of frames of reference. #3 If dlimit-labeled velocity passed in without /ignore_dlimits, input will be offset to account for relative motion of frames of reference #4 If dlimit-labeled acceleration passed in without /ignore_dlimits, warning will be raise, but offset will not be applied automatically #5 Uses tvector_rotate, and sse_matrix_make to perform the rotation. tvector_rotate will also interpolate the rotation matrix onto the time-grid of the input. Interpolation done using quaterions and the spherical linear interpolation algorithm (SLERP) Written by Jenni Kissinger and Patrick Cruce $LastChangedBy: pcruce $ $LastChangedDate: 2009-08-18 14:45:25 -0700 (Tue, 18 Aug 2009) $ $LastChangedRevision: 6602 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/gse2sse.pro $
(See ssl_general/cotrans/gse2sse.pro)
procedure: hdz2geo Purpose: Coordinate transformation between HDZ coordinates & GEO coordinates HDZ is defined as: H = horizontal field strength, in the plane formed by Z and GEO graphic north D = field strength in the Z x X direction in nT Z = downward field strength H should be a projection onto a basis vector pointing north from station in nT D should be a projection onto a basis vector perpendicular to H in the horizontal plane. Total field strength should be sqrt(H^2+D^2+Z^2) not sqrt(H^2+Z^2) D must be in nT not degrees GEO is defined as: X = Vector parallel to vector pointing outward at the intersection of the equatorial plane and the 0 degree longitudinal meridean(Greenwich Meridean) Y = Z x X Z = Vector parallel to orbital Axis of Earth Pointing northward. inputs: data_in: Name of input tplot variable to be transformed, or Nx3 array of data for transformation. If no tplot variable is specific latitude and longitude must be set. data_out: Name of tplot variable in which to store output. If this is a named variable and not a string, output data will instead be returned in variable. latitude: latitude of the HDZ station, must be set if data_in is not tplot variable, or latitude and longitude not stored in dlimit.data_att or dlimit.cdf.vatt longitude: longitude of the HDZ station, must be set if data_in is not tplot variable, or latitude and longitude not stored in dlimit.data_att or dlimit.cdf.vatt geo2hdz: If set, performs inverse transformation from GEO to HDZ error: Set to named variable that will return 1 if an error occurs and 0 otherwise rotation_matrix: Returns the rotation matrix that will be used to transform keywords: /SSE2GSE inverse transformation /IGNORE_DLIMITS: Dlimits normally used to determine if coordinate system is correct, to decide if position needs offset, or to stop incorrect transforms. This option will stop this behavior. Examples: hdz2geo,hdz_arr_in,geo_arr_out,latitude=60.4,longitude=173.6 hdz2geo,'in_tvar_name_hdz','out_tvar_name_geo' hdz2geo,'in_tvar_name_geo','out_tvar_name_hdz',/geo2hdz ;inverse transformation Notes: #1 HDZ coordinates only make sense relative to a location, assumedly a ground station(gmag) #2 Specific latitude and longitude keywords must be set if: (1) data_in is not a tplot variable name -OR- (2) tplot variable named by data_in does not specific site_latitude & site_longitude in dlimits #3 If latitude or longitude keywords are set, these values will be used, not dlimit values. #4 This transformation is a first order approximation. It treats the earth as if it is a true sphere, ignoring distortions due to the fact that the earth is actually an oblate spheroid. Written by Patrick Cruce(pcruce@igpp.ucla.edu) $LastChangedBy: pcruce $ $LastChangedDate: 2010-03-29 15:27:35 -0700 (Mon, 29 Mar 2010) $ $LastChangedRevision: 7445 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/hdz2geo.pro $
(See ssl_general/cotrans/hdz2geo.pro)
procedure: spg2ssl Purpose: coordinate transformation SPG<-->SSL; inputs name_thx_xxx_in ... data in the input coordinate system (t-plot variable name) name_thx_xxx_out ... name for output (t-plot variable name) keywords: TRANSFORMATIONS /SSL2SPG inverse transformation /IGNORE_DLIMITS if the specified from coord is different from the coord system labeled in the dlimits structure of the tplot variable setting this keyword prevents an error Example: spg2ssl,'tha_fgl_spg','tha_fgl_ssl' spg2ssl,'tha_fgl_ssl','tha_fgl_spg',/SSL2SPG Notes: under construction!! Written by Hannes Schwarzl $LastChangedBy: kenb-mac $ $LastChangedDate: 2007-05-05 10:29:05Z $ $LastChangedRevision: 645 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/cotrans/ssl2dsl.pro $
(See ssl_general/cotrans/spg2ssl.pro)
procedure: ssl2dsl Purpose: despins (spins) THEMIS data SSL<-->DSL; interpolates the spinphase, spin period updates coord_sys atribute of output tplot variable. inputs name_thx_xxx_in ... data in the input coordinate system (t-plot variable name) keywords: /NAME_INPUT : Always required; this argument is the name of a tplot variable to use as the input data. /NAME_OUTPUT: Always required; this argument is the name of a tplot variable to receive the output. TRANSFORMATIONS /DSL2SSL inverse transformation /IGNORE_DLIMITS if the specified from coord is different from the coord system labeled in the dlimits structure of the tplot variable setting this keyword prevents an error /INTERPOLATE_STATE : if specified, interpolate the spin phase from the 1-minute samples in the state CDF. Otherwise, use the spinmodel routines by default. /NAME_THX_SPINPER : required if /INTERPOLATE_STATE is specified; this is the name of a tplot variable containing the 1-minute spinper samples from the state CDF. /NAME_THX_SPINPHASE : required if /INTERPOLATE_STATE is specified; this is the name of a tplot variable containing the 1-minute spinphase samples from the state CDF. /SPINMODEL_PTR : required if /INTERPOLATE_STATE is NOT specified; this argument is a pointer to the appropriate spin model data structure. Example: ssl2dsl,name_input='tha_fgl_ssl',$ name_output='tha_fgl_dsl',$ /INTERPOLATE_STATE,$ name_thx_spinper='tha_state_spinper',$ name_thx_spinphase='tha_state_spinphase' ssl2dsl,name_input='tha_fgl_dsl',$ /INTERPOLATE_STATE,$ name_thx_spinper='tha_state_spinper',$ name_thx_spinphase='tha_state_spinphase',$ name_output='tha_fgl_ssl',$ /DSL2SSL ssl2dsl,name_input='tha_fgl_dsl',$ spinmodel_ptr=spinmodel_get_ptr('a'),$ name_output='tha_fgl_ssl' Notes: under construction!! Written by Hannes Schwarzl $LastChangedBy: pcruce $ $LastChangedDate: 2009-10-01 17:19:15 -0700 (Thu, 01 Oct 2009) $ $LastChangedRevision: 6799 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/tags/tdas_5_21/cotrans/ssl2dsl.pro $
(See ssl_general/cotrans/ssl2dsl.pro)