This page was created by the IDL library routine
mk_html_help2.
Last modified: Thu Jan 10 18:18:27 2013.
procedure: cotrans, name_in, name_out [, time]
Purpose: geophysical coordinate transformations
GEI<-->GSE;
GSE<-->GSM;
GSM<-->SM;
GEI<-->GEO;
GEO<-->MAG;
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
/GEO2MAG
/MAG2GEO
/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!!
clrussell, 03-30-12, added GEO2MAG and MAG2GEO conversions
Written by: Hannes Schwarzl & Patrick Cruce(pcruce@igpp.ucla.edu)
$LastChangedBy: pcruce $
$LastChangedDate: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/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: 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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $URL $
(See ssl_general/cotrans/cotrans_lib.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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subGEO2MAG Purpose: transforms data from GEO to MAG INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $URL $
(See ssl_general/cotrans/cotrans_lib.pro)
procedure: subMAG2GEO Purpose: transforms data from MAG to GEO INPUTS: TIMES as time_struct, DATA_in as nx3 array keywords: Example: Notes: under construction!! $LastChangedBy: pcruce $ $LastChangedDate: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/cotrans/cotrans_lib.pro $
(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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ faster algorithm (for loop across all points avoided) Hannes 05/25/2007 $URL $
(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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/cotrans/cotrans_lib.pro $
(See ssl_general/cotrans/cotrans_lib.pro)
pro sub_GEO2MAG
Purpose: transforms data from GEO to MAG
keywords:
/MAG2GEO : inverse transformation
Example:
sub_GEO2MAG,tha_fglc_geo,tha_fglc_mag
sub_GEO2MAG,tha_fglc_mag,tha_fglc_geo,/MAG2GEO
Notes:
Written by Cindy Russell(clrussell@igpp.ucla.edu)
$LastChangedBy: pcruce $
$LastChangedDate: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $
$LastChangedRevision: 10772 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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: 2012-08-02 16:18:13 -0700 (Thu, 02 Aug 2012) $ $LastChangedRevision: 10772 $ $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)
NAME:
geo2mag
PURPOSE:
Convert from geographic to geomagnetic coordinates
CALLING SEQUENCE:
geo2mag, time, data_in, data_out
INPUT:
time = an array [n] of double precision time in seconds from 1970-Jan-01/00:00:00.000
data_in = an array [n,3] of position data in km. in GEO coordinates or a tplot variable
KEYWORD INPUTS:
None
OUTPUT:
data_out = an array [n,3] of the input data in MAG coordinates
EXAMPLE:
IDL> geo2mag, data_in data_out
NOTES:
The algorithm and rotational matrices were developed by Pascal Saint-Hilaire
(Saint-Hilaire@astro.phys.ethz.ch), May 2002
MODIFICATION HISTORY:
(See ssl_general/cotrans/geo2mag.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/trunk/cotrans/hdz2geo.pro $
(See ssl_general/cotrans/hdz2geo.pro)
NAME:
mag2geo.pro
PURPOSE:
Convert from geomagnetic to geographic coordinates
CALLING SEQUENCE:
mag2geo, time, data_in, data_out
INPUT:
data_in = an [n,3] element array of position data in km and in
MAG coordinates
KEYWORD INPUTS:
None
OUTPUT:
data_in = an [n,3] element array of position data in km in
newly transformed GEO coordinates
EXAMPLE:
IDL> geo2mag, data_in data_out
NOTES:
The algorithm and rotational matrices were developed by Pascal Saint-Hilaire
(Saint-Hilaire@astro.phys.ethz.ch), May 2002
MODIFICATION HISTORY:
(See ssl_general/cotrans/mag2geo.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)