JWST Moving Target Visibility Tool Help

The JWST Moving Target Visibility Tool (MTVT) is a command-line Python tool that provides quick-look assessments of moving target visibilities and position angles for all JWST instruments.

On this page

See also: JWST General Target Visibility Tool Help, JWST Position Angles, Ranges, and OffsetsSolar System Special Requirements, JWST Observatory Coordinate System and Field of Regard

The JWST Moving Target Visibility Tool (MTVT) is a Python command-line tool for calculating moving (solar system) target visibility windows as a function of time. It has similar functionality to that of the JWST General Target Visibility Tool (GTVT), with a few additional features specific to moving targets. The MTVT is bundled with the GTVT, and is automatically installed when users install the GTVT (no stand-alone installation process is provided for the MTVT). Additional documentation can be found at this GitHub page. Both the GTVT and MTVT currently use assumed pre-launch JWST orbital parameters.

Unlike the GTVT, users input a solar system target designation, rather than a fixed (RA, Dec) sky position. The designation can be an official name (e.g., Saturn, Gaspra, Encke), number (e.g., 599, 20000), or provisional designation (e.g., 1992 QB1).  MTVT uses the JPL Horizons system to resolve the designation, and retrieves the target ephemeris (RA, Dec) at one day intervals. At that point, the functionality of the MTVT is identical to that of the GTVT.

For a given RA and Dec, the MTVT provides the reference position angle information for all 4 science instruments and the FGS within the allowed visibility windows. It also outputs the V3 axis position angle (PA) for reference. Results are in the form of an ASCII file as well as one or more summary plots. A number of options are available from the command line for tailoring the output to your needs (examples are provided below). Once the plot is displayed, icons can be selected to pan and zoom in on the plot to see detailed information. To execute a new run of the MTVT the plot window must first be closed.

The allowable position angles output by the MTVT can, for example, be used to help users plan observations of giant planet satellites to ensure that the giant planet avoids falling on a nearby science or FGS aperture, or to determine the visibility windows and durations for fast moving near-Earth objects (NEOs). In order to visualize an observation in APT using Aladin, users should add a PA range special requirement that reflects the range of allowed position angles from MTVT, and create a fixed target proxy with coordinates consistent with those position angles. Once that is done, visualization can proceed as described in the Visualizing Dithers of a Solar System Observation in APT tutorial.

Note: Use of a fixed target proxy is for planning and visualization purposes only. You should not submit your APT file with the fixed target proxy in place of the moving target.

The schedulability of a given target observation is more complex that just its visibility. It also involves the availability of guide stars as a function of time and other constraints that may be set with special requirements and/or Solar System special requirements in APT. The MTVT is a "quick look" tool for pre-planning purposes, but the Astronomers Proposal Tool is the true arbiter of schedulability for a given proposed observation.

Installation and dependencies

MTVT 0.2.0 is the most recent release (July 2021). It is compatible with Python 3.7 and up.

The GTVT is currently incompatible with Windows operating systems.

The MTVT comes packaged with the GTVT as of January 1, 2018. The user is referred to the "Installation and usage" section on the JWST General Target Visibility Tool Help article for instructions on how to install the GTVT/MTVT (or update it if an older version of GTVT was installed). Note that the assumed orbital ephemeris and default time period over which the calculations run are sufficient to accommodate the expected launch date of JWST and the duration of Cycle 1.

Similarly, the user should refer to the "Dependencies" section on the JWST General Target Visibility Tool Help page for information on the packages and libraries required to run GTVT/MTVT. In addition to those packages and libraries, MTVT also requires the Astroquery Python package. This package can be installed with the following command:

pip install astroquery

Once successfully installed, MTVT is run from the command line, as described below.

Usage tips

To see the MTVT help information, type jwst_mtvt -h.

Note that the --v3pa optional argument in MTVT is identical to the --pa optional argument in GTVT. 

$ jwst_mtvt [-h] [--smallbody] [--v3pa V3PA] [--save_plot SAVE_PLOT]
                 [--save_table SAVE_TABLE] [--instrument INSTRUMENT]
                 [--name NAME] [--start_date START_DATE] [--end_date END_DATE]
                 desg [desg ...]

positional arguments:
  desg                  Moving target designation.

optional arguments:
  -h, --help            show this help message and exit
  --smallbody           Set if the designation is that of a comet or asteroid.
                        This is required for periodic comets with multiple
                        orbit solutions in JPL/HORIZONS.
  --v3pa V3PA           Specify a desired V3 (telescope frame) Position Angle.
  --save_plot SAVE_PLOT
                        Path of file to save plot output.
  --save_table SAVE_TABLE
                        Path of file to save table output.
  --instrument INSTRUMENT
                        If specified plot shows only windows for this
                        instrument. Options: nircam, nirspec, niriss, miri,
                        fgs, v3 (case insensitive).
  --name NAME           Target Name to appear on plots. Names with space
                        should use double quotes e.g. "NGC 6240".
  --start_date START_DATE
                        Start date for visibility search in yyyy-mm-dd format.
                        Earliest available is 2020-01-01.
  --end_date END_DATE   End date for visibility search in yyyy-mm-dd format.
                        Latest available is 2023-12-31.
  --no_verbose          Suppress table output to screen

MTVT command line examples

The user is referred to the "GTVT command line examples" section of the JWST General Target Visibility Tool Help article for basic GTVT/MTVT commands.

Basic use of the MTVT is shown with the example command below:

jwst_mtvt Ceres

Note that the following command will produce the same results:

jwst_mtvt ceres

After running this command, a table will be output in the terminal and a plot will open in a new window that includes the allowable position angles as a function of time for the V3 axis, the 4 science instruments (NIRCam, MIRI, NIRSpec, NIRISS), and the FGS. Examples of these outputs are shown in the section below, "MTVT outputs."

Official names such as "Ceres," "Jupiter," and "Chiron" are not case-sensitive. However, primary designations such as "1992 QB1" and "2002 MS4" are case-sensitive. Specifically, primary designations must use capital letters or else the MTVT will output an error.

Evaluating planet visibility

An example command for running the MTVT for a planet is shown below:

jwst_mtvt Jupiter

However, running the above command will result in the following message

 Multiple major-bodies match string "JUPITER*"
  ID#      Name                               Designation  IAU/aliases/other   
  -------  ---------------------------------- -----------  ------------------- 
        5  Jupiter Barycenter                                                   
      599  Jupiter                                                              
    Number of matches =  2. Use ID# to make unique selection.

In order to obtain a result from the MTVT, the user must select Jupiter Barycenter as the target using ID# 5:

jwst_mtvt 5

Or Jupiter as the target using ID# 599:

jwst_mtvt 599

The ID# of the planet barycenters and the planets themselves used by JPL Horizons are presented in Table 1.

Table 1. JPL Horizons planet ID numbers




Mars barycenter


Jupiter barycenter


Saturn barycenter


Uranus barycenter


Neptune barycenter


Pluto barycenter













Evaluating minor body visibility

An example command for running MTVT for a minor body using its name is shown below.

jwst_mtvt Makemake

An example command for running MTVT for a minor body using its provisional designation is shown below.

jwst_mtvt 2007 OR10

An example command for running the MTVT for a minor body using its number and the --smallbody optional argument is shown below. The purpose of this optional argument is to remove ambiguity between low-numbered minor bodies and major bodies. The example below will return information on the asteroid 4 Vesta. But, without the --smallbody optional argument, the MTVT would return information for the Mars barycenter.

jwst_mtvt 4 --smallbody

For higher-numbered minor bodies, the --smallbody optional argument is not necessary, as shown below for the dwarf planet Haumea.

jwst_mtvt 136108

The special case of comets

An example command for running the MTVT for a comet using its name is shown below:

jwst_mtvt Encke

An example command for running the MTVT for a comet using its designation is shown below. Use of the --smallbody optional argument is not necessary for comets when using the designation as the identifier.

jwst_mtvt 2P

The commands above are equivalent and will both result in the following message:

JPL/DASTCOM3           Small-body Index Search Results     2018-Mar-02 19:16:20

 Comet AND asteroid index search:

 Matching small-bodies: 

    Record #  Epoch-yr  Primary Desig  >MATCH NAME<
    --------  --------  -------------  -------------------------
       9134             4822 P-L        Encke
     900034     1786    2P              Encke
     900035     1796    2P              Encke
     900036     1805    2P              Encke
     900037     1819    2P              Encke
     900038     1822    2P              Encke
     900039     1825    2P              Encke
     [ ... additional records not shown ... ]
     900088     1990    2P              Encke
     900089     1994    2P              Encke
     900090     1995    2P              Encke
     900091     1998    2P              Encke
     900092     2004    2P              Encke
     900093     2015    2P              Encke

 (61 matches. To SELECT, enter record # (integer), followed by semi-colon.)

JPL Horizons contains multiple orbital solutions for periodic comets, so the user must select one option to proceed. The user is less likely to receive this message for long-period comets. If the user does not know the Record # for the orbital solution of interest ahead of time, this is an easy way to see a list of possible values. If the user knows the Record # ahead of time, they can skip the step of viewing the list. If the user wants the most recent orbital solution for 2P/Encke, they would type the following command:

jwst_mtvt 900093

Note that the most recent orbital solution is not selected as a default when running the MTVT.

MTVT outputs

The default outputs for the MTVT are identical to the GTVT: a 6-panel plot showing the allowable position angles for the V3 axis, the 4 science instruments, and the FGS; and an ASCII table containing the information in the plot in table form. See the "Example plots from GTVT" section of the JWST General Target Visibility Tool Help page for instructions on how to output a plot for only one instrument.

Figure 1. Default 6-panel MTVT output plot

Allowable position angles are shown on the y-axis in degrees plotted against date on the x-axis. The allowable position angles for each date can be found in the ASCII output table. In general, the visibility windows for solar system objects along the ecliptic will be separated by position angles of ~180°; see the Moving Target Field of Regard article for a diagram of the JWST focal plane orientation for observations along the ecliptic. For a more distant, slower-moving target like the KBO 47171 Lempo, the range of allowable position angles will be very small. Objects closer to JWST will have a larger range of allowable position angles.
Figure 2. Zoom in on a MIRI visibility window

The Zoom tool (magnifying glass icon in the lower left corner of the plot window) can be used to zoom in on visibility windows of interest in individual plots. In the image above, the Zoom tool was used to focus on one particular visibility window for MIRI, showing the allowable position angles in more detail.

The table below shows the dates and duration of each visibility window when the target is in JWST's field of regard, as well as the allowable position angles and the start and end RA and Dec values for these dates. The RA and Dec, along with the allowable position angles for the V3 axis, each of the 4 science instruments, and the FGS, are output for each date that the object is observable by JWST. The table written to the terminal is much longer than shown and has been truncated for the purpose of presentation in this article. The table can be scrolled horizontally to reveal the hidden columns.

$ jwst_mtvt Lempo
TARGET NAME: 47171 Lempo (1999 TC36)

Checked interval [2020-01-01, 2023-12-31]
|           Window [days]                 |    Normal V3 PA [deg]    |            RA             |            Dec            |
   Start           End         Duration         Start         End        Start          End          Start          End     
 2020-01-01      2020-02-06        36.90      68.10571      73.14481      41.48176      41.38990       8.76397       8.90509 
 2020-08-03      2020-09-24        52.00     253.38581     260.62001      46.11453      45.90515      10.41327      10.20580 
 2020-12-20      2021-02-07        49.03      66.34203      73.71660      43.87966      43.59451       9.66935       9.79590 
 2021-08-06      2021-09-27        52.00     254.10637     261.11768      48.34696      48.12473      11.25661      11.05723 
 2021-12-23      2022-02-10        49.00      67.30620      74.43016      46.08608      45.81339      10.54683      10.67704 
 2022-08-08      2022-09-29        52.00     254.74056     261.41739      50.57650      50.36697      12.08125      11.89577 
 2022-12-25      2023-02-13        50.00      68.08745      75.16781      48.31593      48.03848      11.40777      11.53942 
 2023-08-11      2023-10-02        52.00     255.49719     261.95806      52.82065      52.59744      12.88443      12.70674 
 2023-12-28      2023-12-31         2.10      69.14895      69.58684      50.49721      50.49721      12.24485      12.24485 

                                V3PA          NIRCam           NIRSpec         NIRISS           MIRI          FGS
   Date      RA     Dec      min    max      min    max       min    max     min    max      min    max      min    max
2020-01-01    41.48   8.76    62.09  74.12    61.98  74.01   200.59 212.61    62.66  74.69    66.93  78.95    60.84  72.87
2020-01-02    41.47   8.76    62.33  74.22    62.22  74.11   200.82 212.71    62.90  74.79    67.16  79.06    61.08  72.97
2020-01-03    41.46   8.76    62.56  74.33    62.44  74.21   201.05 212.82    63.13  74.90    67.39  79.16    61.31  73.07
2020-01-04    41.45   8.77    62.78  74.43    62.67  74.32   201.27 212.92    63.35  75.00    67.61  79.26    61.53  73.18
2020-01-05    41.44   8.77    63.00  74.53    62.88  74.42   201.49 213.02    63.57  75.10    67.83  79.37    61.74  73.28
2020-01-06    41.43   8.77    63.21  74.64    63.09  74.52   201.70 213.13    63.78  75.21    68.04  79.47    61.95  73.38
2020-01-07    41.42   8.77    63.41  74.74    63.30  74.63   201.90 213.23    63.98  75.31    68.24  79.57    62.16  73.49
2020-01-08    41.41   8.77    63.61  74.84    63.50  74.73   202.10 213.33    64.18  75.41    68.44  79.68    62.36  73.59
2020-01-09    41.40   8.77    63.80  74.95    63.69  74.83   202.30 213.44    64.37  75.52    68.64  79.78    62.55  73.69
2020-01-10    41.39   8.77    63.99  75.05    63.88  74.94   202.48 213.54    64.56  75.62    68.83  79.88    62.74  73.80
2020-01-11    41.38   8.78    64.18  75.15    64.06  75.04   202.67 213.65    64.75  75.72    69.01  79.99    62.93  73.90
2020-01-12    41.38   8.78    64.36  75.26    64.25  75.15   202.85 213.75    64.93  75.83    69.19  80.09    63.11  74.01
2020-01-13    41.37   8.78    64.53  75.36    64.42  75.25   203.03 213.86    65.10  75.93    69.37  80.20    63.28  74.11
2020-01-14    41.36   8.78    64.71  75.47    64.59  75.36   203.20 213.96    65.28  76.04    69.54  80.30    63.46  74.22
2020-01-15    41.36   8.79    64.88  75.57    64.76  75.46   203.37 214.07    65.45  76.14    69.71  80.41    63.62  74.32
[ ... Additional output not shown ... ]


The MTVT was developed by Michael S. P. Kelley, University of Maryland.

Latest updates
    Updated for version 0.2.0.

  • Revised language about specific launch date to make generic.

    Added a note about incompatibility with Windows.

  • Removed mention of callhorizons and added installation instructions for astroquery.

    Added notation regarding updated orbital ephemeris.
Originally published