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

Last modified: Mon Aug 25 17:13:29 2025.

# Directory Listing of Routines

# projects/emm/OrbitGeometryPlotFiles

- EXTREMA
  This function returns the locations of the local extrema in a
- MVN_CYLPLOT_PANEL
- MVN_CYLPLOT_PANEL_BRAIN
- MVN_GET_ORBIT_TIMES_BRAIN
- MVN_GROUNDTRACK_PANEL
- MVN_GROUNDTRACK_PANEL_BRAIN
- MVN_LOAD_EPH_BRAIN
- MVN_ORBIT_SURVEY_PLOT_EPHEMERIS
- MVN_ORBPROJ_PANEL
- MVN_ORBPROJ_PANEL_BRAIN
- MVN_ORBPROJ_PANEL_EMUS
- MVN_THREED_PROJECTION_PANEL
- MVN_THREED_PROJECTION_PANEL_BRAIN
- SYMCAT

# Routine Descriptions

## EXTREMA

[Next Routine] [List of Routines]

     NAME:
    	EXTREMA

     PURPOSE:
    	This function returns the locations of the local extrema in a
    	given time series.

     CATEGORY:
    	Time Series Analysis

     CALLING SEQUENCE:
    	Result = EXTREMA( Data )

     INPUTS:
    	Data:  A vector of type integer or floating point.

     KEYWORD PARAMETERS:
    	FLAT:  If set, all locations along broad flat extrema are returned.
    		The default is for only the middle location to be returned.
    	ENDS:  If set, end points are always returned as extrema.  The default
    		is to return the end points only if they lie outside the next
    		minimum and maximum.

     OPTIONAL OUTPUTS:
    	MAXIMA:  Returns the locations of the maxima.
    	MINIMA:  Returns the locations of the minima.

     OUTPUTS:
    	Result:  Returns the locations of the extrema.

     PROCEDURE:
    	For each point, neighbouring values are compared to see if the given
    	point is an extremum.

     EXAMPLE:
    	Define a vector.
    	  data = [1,2,3,2]
    	Find the local maxima.
    	  result = extrema( data )
    	The result should be [ 0, 2 ].

     MODIFICATION HISTORY:
     	Written by:	Daithi A. Stone (stoned@atm.ox.ac.uk), 2003-10-09.

(See projects/emm/OrbitGeometryPlotFiles/extrema.pro)

## MVN_CYLPLOT_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_cylplot_panel_brain.pro

     Procedure to create a 2D cylindrical projection plot for a MAVEN spaecraft
     trajectory.

     Syntax:
          trange = mvn_cylplot_panel_brain, trange, res

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_cylplot_panel.pro)

## MVN_CYLPLOT_PANEL_BRAIN

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_cylplot_panel_brain.pro

     Procedure to create a 2D cylindrical projection plot for a MAVEN spaecraft
     trajectory.

     Syntax:
          trange = mvn_cylplot_panel_brain, trange, res

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_cylplot_panel_brain.pro)

## MVN_GET_ORBIT_TIMES_BRAIN

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_get_orbit_times_brain.pro

     Function to return a trange corresponding to the start and stop
     times (measured apoapsis to apoapsis) of a single MAVEN orbit
     containing the timestamp passed to the function

     Syntax:
          trange = mvn_get_orbit_times( time )

     Inputs:
          time              - single timestamp. If an array is passed
                              the function only acts on the first element

     Dependencies:
          none outside of Berkeley MAVEN software (I think)

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_get_orbit_times_brain.pro)

## MVN_GROUNDTRACK_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_groundtrack_panel_brain.pro

     Procedure to create a 2D groundtrack plot for a MAVEN spaecraft
     trajectory. It automatically includes a map of crustal Br from MGS.

     Syntax:
          trange = mvn_groundtrack_panel_brain, trange, res

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          terminator        - Boolean: Indicate the location of the
                              terminator and subsolar point at the
                              midpoint of the timerange, and shade the
                              nightside. Default = not set

          showtermrange     - Boolean: Indicate the *range* in terminator
                              location over the trange passed to the
                              routine. Automatically sets /terminator,
                              and adds terminator lines and subsolar
                              locations for the start and stop of the
                              timerange. Default = not set

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~116 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_groundtrack_panel.pro)

## MVN_GROUNDTRACK_PANEL_BRAIN

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_groundtrack_panel_brain.pro

     Procedure to create a 2D groundtrack plot for a MAVEN spaecraft
     trajectory. It automatically includes a map of crustal Br from MGS.

     Syntax:
          trange = mvn_groundtrack_panel_brain, trange, res

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          terminator        - Boolean: Indicate the location of the
                              terminator and subsolar point at the
                              midpoint of the timerange, and shade the
                              nightside. Default = not set

          showtermrange     - Boolean: Indicate the *range* in terminator
                              location over the trange passed to the
                              routine. Automatically sets /terminator,
                              and adds terminator lines and subsolar
                              locations for the start and stop of the
                              timerange. Default = not set

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~116 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_groundtrack_panel_brain.pro)

## MVN_LOAD_EPH_BRAIN

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_load_eph_brain.pro

     Procedure to create tplot variables containing ephemeris information
     at a given time resolution over a given range. I realize
     there's a routine for this in the Berkeley distribution. I
     wanted things organized my own way, and had already started creating
     something when I found it.

     Syntax:
          mvn_load_eph_brain, trange, 30d0

     Inputs:
          trange            - timerange over which to load ephemeris

          res               - time resolution, in seconds. Default = 60

     Dependencies:
          none outside of Berkeley MAVEN software (I think)

     Dave Brain
     19 February, 2015 - Initial version (approximate date). Not the
                         prettiest code ever.
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_load_eph_brain.pro)

## MVN_ORBIT_SURVEY_PLOT_EPHEMERIS

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbit_survey_plot_ephemeris

     Routine to create an ephemeris survey plot with 6 different panels,
      given a single timestamp. The plot is for the entire orbit
      containing that timestamp

     Syntax: mvn_orbit_survey_plot_ephemeris, time, fileroot, screen=screen

     Inputs:
          time              - any UTC timestamp, as string or double precision

          fileroot          - the name of the file, without extension
                              (i.e. no '.jpg' at the end)

          screen            - boolean keyword to send the output to the
                              screen; used for testing. Default = 0

          overlay           - Structure describing the image/data to be
                              overlaid on the sphere of Mars. Contains
                              the following tags:

                               LAT: N-element array of latitudes of each
                               point to be painted on the sphere.

                               ELON: N-element array of East longitudes
                               of each point to be painted on the sphere

                               DATA: N-element array of values
                               (e.g. brightnesses etc.) to be painted on
                               the sphere

                               COLOR_TABLE: which color table is wanted
                               for the overlay

                               LOG: 0 or 1 for whether the data should be
                               plotted with a logarithmic color scale

                               RANGE: the color scale range for the data

                               OBSPOS: in the case of images of Mars
                               captured by orbital assets, this is the
                               position of the "camera", in Cartesian
                               coordinates.

                               DESCRIPTION: a string, briefly describing
                               what is being overlaid on the
                               sphere. Ideally this should be less than
                               20 characters

                               FILENAME: if the image comes from a
                               particular file

     obspos: pos, description:disk [0, 0].bands[band_index], $
              Filename:file, time: time}

     Dependencies:
          There are many code dependencies here, not including the
          obvious dependency on Berkeley's MAVEN software. I haven't had
          time to compile a complete list, but here's a partial
          list of code by Dave Brain that is needed to run this routine:
          mvn_get_orbit_times_brain.pro - gets start/stop times for orbit
          mvn_load_eph_brain.pro - loads ephemeris info into tplot vars
          mvn_orbproj_panel_brain.pro - makes a projection plot
          mvn_cylplot_panel_brain.pro - makes a cylindrical coords plot
          mvn_groundtrack_panel_brain.pro - makes a groundtrack
          mvn_threed_projection_panel_brain.pro - makes a 3D projection
          ps_set.pro - establishes a postscript plot
          plotposn.pro - positions a plot
          cleanup.pro - resets plotting system variables
          colorscale.pro - Dave Brain version of bytscl.pro
          ctload.pro - Dave Fanning (coyote) version of loadct, with
                       brewer color mode enabled.

     Caution:
       1. VERY IMPORTANT! Three of the routines contain a hard link to a
          file containing crustal field information. This link needs to be
          edited for the location of the file on your machine.
          Please check header comments for:
             mvn_orbproj_panel_brain.pro
             mvn_groundtrack_panel_brain.pro
             mvn_threed_projection_panel_brain.pro
       2. This routine make use of the ImageMagick "convert" utility,
          installed on Dave's machine. This step is used when
          converting the .eps file producded by the program into a .jpg
          file. If you don't have "convert", simply comment out
          the lines below that create the .jpg and remove the .eps
          files. (lines ~219-223, right under ;;;Cleanup)
       3. This is optimized to work on Dave's machine. No
          guarantees about your machine!

     Dave Brain
     18 Jan, 2017 - Original version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_orbit_survey_plot_ephemeris.pro)

## MVN_ORBPROJ_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbproj_panel_brain.pro

     Procedure to create a 2D orbit projection plot for a MAVEN spaecraft
     trajectory.

     Syntax:
          trange = mvn_orbproj_panel_brain, trange, res, /xy

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          xy, xz, yz        - Boolean keywords indicating which
                              projection to plot. No default.

          solidmars         - Boolean: Treat Mars as a solid
                              object (don't plot trajectory behind
                              the planet). Default = not set

          crustalfields     - Three options:
                                0: no crustal field info used in plot
                                1: colored crustal field map used
                                image: a 3x 360x 180-element array

          showbehind        - Boolean: Even if Mars is solid, show the
                              trajectory behind the planet (using
                              different, smaller symbols). Default = not
                              set

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

          overlay           - Structure describing the image to be
                              overlaid on the sphere of Mars. Contains
                              the following tags:
                               LAT: N-element array of latitudes of each
                               point to be painted on the sphere.
                               ELON: N-element array of East longitudes
                               of each point to be painted on the sphere
                               DATA: N-element array of values
                               (e.g. brightnesses etc.) to be painted on
                               the sphere
                               COLOR_TABLE: which color table is wanted
                               for the overlay
                               LOG: 0 or 1 for whether the data should be
                               plotted with a logarithmic color scale
                               RANGE: the color scale range for the data

          night              - If this keyword is set along with /yz,
                               that it will plot the view from the
                               nightside towards the dayside
     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~177 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_orbproj_panel.pro)

## MVN_ORBPROJ_PANEL_BRAIN

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbproj_panel_brain.pro

     Procedure to create a 2D orbit projection plot for a MAVEN spaecraft
     trajectory.

     Syntax:
          trange = mvn_orbproj_panel_brain, trange, res, /xy

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          xy, xz, yz        - Boolean keywords indicating which
                              projection to plot. No default.

          solidmars         - Boolean: Treat Mars as a solid
                              object (don't plot trajectory behind
                              the planet). Default = not set

          crustalfields     - Boolean: Color Mars with a map of the
                              radial component of crustal magnetic field,
                              as measured by MGS. Default = 1

          showbehind        - Boolean: Even if Mars is solid, show the
                              trajectory behind the planet (using
                              different, smaller symbols). Default = not
                              set

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

          overlay           - Structure describing the image to be
                              overlaid on the sphere of Mars. Contains
                              the following tags:
                               LAT: N-element array of latitudes of each
                               point to be painted on the sphere.
                               ELON: N-element array of East longitudes
                               of each point to be painted on the sphere
                               DATA: N-element array of values
                               (e.g. brightnesses etc.) to be painted on
                               the sphere
                               COLOR_TABLE: which color table is wanted
                               for the overlay
                               LOG: 0 or 1 for whether the data should be
                               plotted with a logarithmic color scale
                               RANGE: the color scale range for the data

          night              - If this keyword is set along with /yz,
                               that it will plot the view from the
                               nightside towards the dayside
     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~177 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_orbproj_panel_brain.pro)

## MVN_ORBPROJ_PANEL_EMUS

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbproj_panel_brain.pro

     Procedure to create a 2D orbit projection plot for a MAVEN spaecraft
     trajectory

     Syntax:
          trange = mvn_orbproj_panel_brain, trange, res, /xy

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          xy, xz, yz        - Boolean keywords indicating which
                              projection to plot. No default.

          solidmars         - Boolean: Treat Mars as a solid
                              object (don't plot trajectory behind
                              the planet). Default = not set

          crustalfields     - Boolean: Color Mars with a map of the
                              radial component of crustal magnetic field,
                              as measured by MGS. Default = 1

          showbehind        - Boolean: Even if Mars is solid, show the
                              trajectory behind the planet (using
                              different, smaller symbols). Default = not
                              set

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~177 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_orbproj_panel_emus.pro)

## MVN_THREED_PROJECTION_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_threed_projection_panel_brain.pro

     Procedure to create a 2D orbit projection plot for a MAVEN spaecraft
     trajectory.

     Syntax:
          trange = mvn_orbproj_panel_brain, trange, res, /xy

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          obstime           - The time to use when orienting Mars with
                              respect to the Sun. Default = mean(trange)

          obspos            - explicitly defined the observer's
                              position in MSO coordinates

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~178 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_threed_projection_panel.pro)

## MVN_THREED_PROJECTION_PANEL_BRAIN

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_threed_projection_panel_brain.pro

     Procedure to create a 2D orbit projection plot for a MAVEN spaecraft
     trajectory.

     Syntax:
          trange = mvn_orbproj_panel_brain, trange, res, /xy

     Inputs:
          trange            - 2-elelment timerange over which to plot the
                              trajectory

          res               - The time resolution to use when plotting

          [xy]range         - 2-element bounds for the plot, in
                              Rm. Default = [-3,3]

          obstime           - The time to use when orienting Mars with
                              respect to the Sun. Default = mean(trange)

          obspos            - explicitly defined the observer's
                              position in MSO coordinates

          showperiapsis     - Boolean: Indicate the location of
                              periapsis. Default = not set

          showticks         - Indicate regular intervals (centered on
                              periapsis) along the trajectory. Default =
                              not set

          tickinterval      - The interval at which to show ticks, in
                              seconds. Default = 600

          symsize           - Symbol size to use for the
                              trajectory. Sizes of periapsis, interval
                              ticks, crustal fields all scale from
                              this. Default = 1.

          charsize          - Character size to use for plot
                              axes. Default = 1

          noerase           - Boolean, default = 0. Setting to 1
                              indicates that and plot currently on the
                              plot device should not be erased.

     Dependencies:
          1. Berkeley MAVEN software
          2. ctload.pro - routine from David Fanning (coyote) to load
                          color tables, including Brewer colors.
          3. colorscale.pro - Dave Brain version of bytscl.pro
          4. Map of crustal field Br - edit line ~178 to point to the
                                       relevant location on your machine

     Comments:
          1. This was developed for use with a single orbit
             trajectory. I'm not sure how it would work with
             something larger.
          2. This routine acts on tplot variables loaded using
             mvn_load_eph_brain.pro. If it doesn't find them, it
             will load them.

     Dave Brain
     12 January, 2017 -Initial version
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/emm/OrbitGeometryPlotFiles/mvn_threed_projection_panel_brain.pro)

## SYMCAT

[Previous Routine] [List of Routines]

     NAME:
           SYMCAT

     PURPOSE:

           This function provides a symbol catalog for specifying a number of plotting symbols.

     AUTHOR:

           FANNING SOFTWARE CONSULTING
           David Fanning, Ph.D.
           1645 Sheely Drive
           Fort Collins, CO 80526 USA
           Phone: 970-221-0438
           E-mail: davidf@dfanning.com
           Coyote's Guide to IDL Programming: http://www.dfanning.com

     CATEGORY:

           Graphics

     CALLING SEQUENCE:

           Plot, findgen(11), PSYM=SYMCAT(theSymbol)

           To connect symbols with lines, use a negative value for the PSYM keyword:

           Plot, findgen(11), PSYM=-SYMCAT(theSymbol)

     INPUTS:

           theSymbol:    The number of the symbol you wish to use. Possible values are:

           0  : No symbol.
           1  : Plus sign.
           2  : Asterisk.
           3  : Dot (period).
           4  : Open diamond.
           5  : Open upward triangle.
           6  : Open square.
           7  : X.
           8  : Defined by the user with USERSYM.
           9  : Open circle.
          10  : Histogram style plot.
          11  : Open downward triangle.
          12  : Open rightfacing triangle.
          13  : Open leftfacing triangle.
          14  : Filled diamond.
          15  : Filled square.
          16  : Filled circle.
          17  : Filled upward triangle.
          18  : Filled downward triangle.
          19  : Filled rightfacing triangle.
          20  : Filled leftfacing triangle.
          21  : Hourglass.
          22  : Filled Hourglass.
          23  : Bowtie.
          24  : Filled bowtie.
          25  : Standing Bar.
          26  : Filled Standing Bar.
          27  : Laying Bar.
          28  : Filled Laying Bar.
          29  : Hat up.
          30  : Hat down.
          31  : Hat right.
          32  : Hat down.
          33  : Big cross.
          34  : Filled big cross.
          35  : Circle with plus.
          36  : Circle with X.
          37  : Upper half circle.
          38  : Filled upper half circle.
          39  : Lower half circle.
          40  : Filled lower half circle.
          41  : Left half circle.
          42  : Filled left half circle.
          43  : Right half circle.
          44  : Filled right half circle.
          45  : Star.
          46  : Filled star.

     RETURN VALUE:

           The return value is whatever is appropriate for passing along
           to the PSYM keyword of (for example) a PLOT or OPLOT command.
           For the vast majority of the symbols, the return value is 8.

     KEYWORDS:

           None.

     MODIFICATION HISTORY:

           Written by David W. Fanning, 2 September 2006. Loosely based on the
              program MC_SYMBOL introduced on the IDL newsgroup 1 September 2006,
              and MPI_PLOTCONFIG__DEFINE from the Coyote Library.
           2 October 2006. DWF. Modified to allow PSYM=8 and PSYM=10 to have
              their normal meanings. This shifted previous symbols by two values
              from their old meanings. For example, an hourglass went from symbol
              number 19 to 21.

(See projects/emm/OrbitGeometryPlotFiles/symcat.pro)