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

Last modified: Mon Aug 25 16:46:41 2025.

# Directory Listing of Routines

# projects/maven/mvn_orb_ql

- MVN_ORBQL_3D_PROJECTION_PANEL
- MVN_ORBQL_BAREBONES_EPH
- MVN_ORBQL_CART_PANEL
- MVN_ORBQL_CYLPLOT_PANEL
- MVN_ORBQL_GEO2MSO_CRUSTAL_FIELD_MAP
- MVN_ORBQL_GROUNDTRACK_PANEL
- MVN_ORBQL_MULTIPLOT
- MVN_ORBQL_SCPOSITION
- MVN_ORBQL_SYMCAT

# Routine Descriptions

## MVN_ORBQL_3D_PROJECTION_PANEL

[Next Routine] [List of Routines]

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_3d_projection_panel.pro

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

     Syntax:
          trange = mvn_orbql_3d_projection_panel, 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)

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

          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. mvn_orbql_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_orbql_barebones_eph.pro. If it doesn't find them, it
             will load them.

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

(See projects/maven/mvn_orb_ql/mvn_orbql_3d_projection_panel.pro)

## MVN_ORBQL_BAREBONES_EPH

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_barebones_eph.pro

     A heavily reduced version of Dave Brain's original ephemeris retrieval function
     to be compatible with making the mvn_orb_ql plots. Retrieves
     MSO, GEO, altitude, latitude, longitude, and orbit number for a given time range.

     Syntax:
          mvn_orbql_barebones_eph, 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.
     30 June, 2017 - Update to include plasma regions
     9 Feb 2023 - Reduced to only necessary
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/maven/mvn_orb_ql/mvn_orbql_barebones_eph.pro)

## MVN_ORBQL_CART_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_cart_panel.pro

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

     Syntax:
          trange = mvn_orbql_cart_panel, 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

          msofields     - structure: Color Mars with a map of the
                              radial component of crustal magnetic field,
                              as measured by MGS.

          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]

          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. mvn_orbql_colorscale.pro - Dave Brain version of bytscl.pro

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

(See projects/maven/mvn_orb_ql/mvn_orbql_cart_panel.pro)

## MVN_ORBQL_CYLPLOT_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_cylplot_panel.pro

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

     Syntax:
          trange = mvn_orbql_cylplot_panel, 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]

          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. mvn_orbql_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/maven/mvn_orb_ql/mvn_orbql_cylplot_panel.pro)

## MVN_ORBQL_GEO2MSO_CRUSTAL_FIELD_MAP

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_geo2mso_crustal_field_map

     Routine to determine the MSO x, y, z projection for a given
     GEO map of crustal fields at a particular time.

     Requires loaded spice kernels and location of the crustl field file

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/maven/mvn_orb_ql/mvn_orbql_geo2mso_crustal_field_map.pro)

## MVN_ORBQL_GROUNDTRACK_PANEL

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_groundtrack_panel.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_orbql_groundtrack_panel, 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

          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. mvn_orbql_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/maven/mvn_orb_ql/mvn_orbql_groundtrack_panel.pro)

## MVN_ORBQL_MULTIPLOT

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_multiplot

     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_orbql_multiplot, 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)

     Dependencies:
         - mvn_orbql_geo2mso_crustal_field_map.pro - loads Br map
         - mvn_orbql_barebones_eph.pro - loads ephemeris info into tplot vars
         - mvn_orbql_scposition.pro - calculates to-be-plotted parameters from eph
         - mvn_orbql_orbproj_panel.pro - makes a projection plot
         - mvn_orbql_cylplot_panel.pro - makes a cylindrical coords plot
         - mvn_orbql_groundtrack_panel.pro - makes a groundtrack
         - mvn_orbql_3d_projection_panel.pro - makes a 3D projection
        - mvn_orbql_plotposn.pro - positions a plot
        - mvn_orbql_colorscale.pro - scales a color map (Dave Brain version of bytscl.pro)
        - mvn_orbql_overlay_map.pro - plots a 2d map
        - mvn_orbql_symcat.pro - gives special plotting symbols

     Caution:
       2. This routine makes 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
     24 Jan, 2024 - (RD Jolitz) cleaned routine

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/maven/mvn_orb_ql/mvn_orbql_multiplot.pro)

## MVN_ORBQL_SCPOSITION

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     mvn_orbql_scposition.pro

     A centralization of all calculated parameters that are plotted
     in each panel of mvn_orb_ql by mvn_orbql_cart_panel, mvn_orbql_cylplot_panel,
     mvn_orbql_groundtrack_panel, and mvn_orbql_3d_projection_panel.

     For a given time range, returns structures containing
     - tick locations (ticks)
     - periapse location (periapse)
     - apoapse information (apoapse)
     - any additional location on MAVEN's path (interest_point)

     Syntax:
          mvn_orbql_scposition, trange, ticks, /showperiapsis

     Inputs:
          trange            - timerange over which to load ephemeris

     Dependencies:
          uses structures created by mvn_orbql_barebones_eph

     9 Feb 2023 - Created by Rebecca Jolitz, originally written in
                  the plotting routines
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See projects/maven/mvn_orb_ql/mvn_orbql_scposition.pro)

## MVN_ORBQL_SYMCAT

[Previous Routine] [List of Routines]

     NAME:
           mvn_orbql_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: david@idlcoyote.com
           Coyote's Guide to IDL Programming: http://www.idlcoyote.com

     CATEGORY:

           Graphics

     CALLING SEQUENCE:

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

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

           Plot, findgen(11), PSYM=-mvn_orbql_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:

           COLOR:  Set this keyword to the color (index or 24-bit value) of
                   the color desired. For example:

                   Plot, Findgen(11), COLOR=cgColor('yellow'), PSYM=-SYMCAT(4, COLOR=cgColor('green'))

           THICK:  Set this keyword to the thickness desired. Default is 1.

     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.
           Whoops! Added two symbols but forgot to change limits to allow for them. 4 May 2007. DWF.
           Added THICK keyword. 21 Aug 2007. DWF.
           Added COLOR keyword and made THICK keyword apply to all symbols. 11 Nov 2008. DWF.
           If you are using USERSYM, the "color" can get "stuck" on the last color used to draw
              a symbol. To "unstick" the color,  you have to call USERSYM without a color keyword
              before calling it again with a color keyword. This is, without a doubt, the strangest
              bug I've ever seen in IDL! 20 June 2012. DWF.
           Changed the way I "unstick" the color from calling USERSYM to calling SYMCAT. This
              avoids a problem in changing the symbol when SYMCAT is used (unnecessarily) to pass
              a symbol into Coyote Graphics programs. 9 July 2012. DWF.

(See projects/maven/mvn_orb_ql/mvn_orbql_symcat.pro)