This page was created by the IDL library routine `mk_html_help2`.

Last modified: Fri Feb 6 01:15:10 2009.

# Directory Listing of Routines

# ssl_general/cotrans

- COTRANS
- COTRANS_GET_COORD
- COTRANS_LIB[1]
- COTRANS_LIB[2]
- COTRANS_LIB[2]
- COTRANS_LIB[3]
- COTRANS_LIB[4]
- COTRANS_LIB[5]
- COTRANS_LIB[6]
- COTRANS_LIB[7]
- COTRANS_LIB[8]
- COTRANS_LIB[9]
- COTRANS_LIB[10]
- COTRANS_LIB[11]
- COTRANS_LIB[12]
- COTRANS_LIB[13]
- COTRANS_LIB[14]
- COTRANS_LIB[15]
- COTRANS_LIB[16]
- COTRANS_LIB[17]
- COTRANS_LIB[18]
- COTRANS_LIB[19]
- COTRANS_LIB[20]
- COTRANS_SET_COORD
- DSL2GSE
- SPG2SSL
- SSL2DSL

# Routine Descriptions

## COTRANS

[Next Routine] [List of Routines]

    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/trunk/cotrans/cotrans.pro $

(See ssl_general/cotrans/cotrans.pro)

## COTRANS_GET_COORD

[Previous Routine] [Next Routine] [List of Routines]

    	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)

## COTRANS_LIB[10]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[11]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[12]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[13]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[14]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[15]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[16]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[17]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[18]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[19]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[1]

[Previous Routine] [Next Routine] [List of Routines]

    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/trunk/cotrans/cotrans_lib.pro $

(See ssl_general/cotrans/cotrans_lib.pro)

## COTRANS_LIB[20]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[2]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[2]

[Previous Routine] [Next Routine] [List of Routines]

    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/trunk/cotrans/cotrans_lib.pro $

(See ssl_general/cotrans/cotrans_lib.pro)

## COTRANS_LIB[3]

[Previous Routine] [Next Routine] [List of Routines]

    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/trunk/cotrans/cotrans_lib.pro $

(See ssl_general/cotrans/cotrans_lib.pro)

## COTRANS_LIB[4]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[5]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[6]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[7]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[8]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_LIB[9]

[Previous Routine] [Next Routine] [List of Routines]

    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)

## COTRANS_SET_COORD

[Previous Routine] [Next Routine] [List of Routines]

    	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)

## DSL2GSE

[Previous Routine] [Next Routine] [List of Routines]

    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: 2008-01-29 11:06:43 -0800 (Tue, 29 Jan 2008) $
     $LastChangedRevision: 2324 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/cotrans/dsl2gse.pro $

(See ssl_general/cotrans/dsl2gse.pro)

## SPG2SSL

[Previous Routine] [Next Routine] [List of Routines]

    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)

## SSL2DSL

[Previous Routine] [List of Routines]

    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: jwl $
     $LastChangedDate: 2008-08-04 16:02:26 -0700 (Mon, 04 Aug 2008) $
     $LastChangedRevision: 3341 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/cotrans/ssl2dsl.pro $

(See ssl_general/cotrans/ssl2dsl.pro)