Tutorials, Links, and Other Helpful Information

Last updated February 28th, 2024

Multimedia Content

Videos

File Formats

Our videos are primarily released in .mp4 and .webm. Both of these file formats are supported in all modern web browsers. If you're having issues viewing either of these, we'd recommend either downloading the videos and attempting to preview them with your media viewer of choice, or trying to view the page in a different browser.

Some of our older content is also available in .mpg and .dv. While these formats are not supported for web display, we have retroactively generated .webm copies of these visualizations, which should display without any issues. .mpg and .dv are generally still supported in desktop media viewer applications, and you may have luck downloading them.

Resolutions

In most cases, our newer visualizations are created in 4K (3840 x 2160) at either 30 or 60 frames per second. All of our newer visualizations, and most of our older visualizations, are also published in HD (1920 x 1080 or 1280 x 720; 30fps / 60fps). Some of our oldest work is also published in NTSC (720 x 480; 29.97fps).

Images

File Formats

Out images are primarily released in .jpg, .jpeg, or .png. These are pretty universally supported, so you should (hopefully) have no issue viewing any of these.

We also occasionally release some of our higher-resolution content in .tif, .tiff, or .exr. These files on the site are generally accompanied by more-compatible (albeit, lower-resolution) versions in more common formats. These are likely what your web browser displays on pages containing images with these file extensions.

.tif and .tiff files are commonly supported by desktop image viewers, but not web browsers (save for Safari on Apple devices). As a result, we'd recommend downloading them and previewing them in a desktop image viewer.

Likewise, .exr files are commonly supported by desktop image viewers, but not web browsers.

Resolutions

Much like our videos, the vast majority of our newer visualizations are published in 4K, with smaller resolutions being available through the "downloads" dropdown menu. All of our newer content, and most of our older content, is also published in HD.

Frames

In addition to making compiled versions of our videos available, we commonly include links to directories containing all of the individual frames that make up those visualizations. These directories can be found linked in the "downloads" menu, under the "frames" heading.

File Formats

Our frames are generally released in .exr, .tif, and .tiff. For more information about handling these file types, see the images section.

Downloading

Understandably, it is desirable to fetch more than one frame at a time. There are currently two recommended tools for downloading multiple frames from our site:

1. DownThemAll

(available for Firefox and Chromium-based (e.g. Google Chrome or Microsoft Edge) browsers.

For instructions on using this extension, see its website .

2. Using curl on the command line

If you do not already have curl installed on your system, download it here .
Basic command usage:

prompt> curl [options] url
  • url - the url you want to download. You can specify a numeric sequence using a range of numbers between brackets (see the example below).
  • [options] - a variety of option flags. We suggest using the options '-LO' which will follow links and will store your downloaded frames in the current directory as their original file names.

For example, suppose we wish to download a frame sequence from animation ID 3032 which is located at:

						https://svs.gsfc.nasa.gov/vis/a000000/a003000/a003032/frames/1024x512/
					

The frame files have the form cld_f.nnnn.png, where nnnn are the frame numbers ranging from 0060 to 0119. In the directory where you wish to place the frames, execute the following command:

prompt> curl -LO "https://sfc.nasa.gov/vis/a000000/a003000/a003032/frames/1024x512/cld_f.[0060-0119].png"

This command will download each specified file in the given sequence if it exists.

Using our APIs

In order to make our content more publicly accessible, and allow for automatic querying of our multimedia collection, the SVS has a number of free, publicly-available web APIs. All of our APIs can be accessed by sending GET requests to specific URLs on this site. These requests can be further customized through the usage of URL parameters. Their responses are sent back as JSON dictionaries.

If you have additional questions as to how to use any of the following APIs, contact directly.

Page API

The page API provides more detailed information on specific site pages. Whereas the search API's results provide a broad overview of a page, the page API provides the full breadth of information that the SVS has available for any given page. This allows for automatic querying of datasets, keywords, credit information, and many many more pieces of metadata about our visualizations.

Currently, the page API supports:

The basic format for a page API call is:
https://svs.gsfc.nasa.gov/api/{page ID}/

The page ID for any given page can be found by looking for the "ID: XXXXX" box, located just underneath the page's title. For visualization pages, this can also be found in the URL. Additionally, there is a link to the API on relevant pages, available by clicking on the small file-with-brackets icon () located next to the "ID: XXXXX" box.

Example: let's say we wanted to get information on the visualization 5101: Sea Surface Temperature (SST) - Near Real Time.

Visiting the page for that visualization results in the following URL:
https://svs.gsfc.nasa.gov/5101/ ( )

We would be able access that page in the API by visiting the following URL:
https://svs.gsfc.nasa.gov/api/5101/ ( )

Data Specification

As an example, consider the following request:
https://svs.gsfc.nasa.gov/api/5101/ ( )

At the time this documentation was written, this request would return the following JSON data:

{
	"id": 5101,
	"url": "https://svs.gsfc.nasa.gov/5101/",
	"page_type": "Visualization",
	"title": "Sea Surface Temperature (SST) - Near Real Time",
	"description": "An equirectangular view of sea surface temperature (SST) data for the past two and half years, updated daily to include the latest available data. || This visualization shows Sea Surface Temperature (SST) data from the Jet Propulsion Laboratory (JPL) Multi-scale Ultra-high Resolution (MUR) Sea Surface Temperature Analysis.  This visualization is updated once a day to include the latest available data. || ",
	"release_date": "2023-05-08T00:00:00-04:00",
	"update_date": "2023-09-06T09:01:42.770455-04:00",
	"main_image": {
		"id": 855019,
		"url": "https://svs.gsfc.nasa.gov/vis/a000000/a005100/a005101/sst_mur_colobar_print.jpg",
		"filename": "sst_mur_colobar_print.jpg",
		"media_type": "Image",
		"alt_text": "Sea Surface Temperature color bar.  Color range is light blue - white - orange - red.  -10 to 40 degrees Celsius",
		"width": 1024,
		"height": 576,
		"pixels": 589824
	},
	"main_video": {
		"id": 855700,
		"url": "https://svs.gsfc.nasa.gov/vis/a000000/a005100/a005101/sst_30_sec_robinson_4096x2048_2x1_30p.mp4",
		"filename": "sst_30_sec_robinson_4096x2048_2x1_30p.mp4",
		"media_type": "Movie",
		"alt_text": "A view of sea surface temperature (SST) data for the past two and half years, updated daily to include the latest available data.  This version is a robinson projection. ",
		"width": 4096,
		"height": 2048,
		"pixels": 8388608,
		"audio_track": null,
		"captions": null
	},
	"progress": "Complete",
	"media_groups": [
		{
			"id": 312499,
			"url": "https://svs.gsfc.nasa.gov/5101#media_group_312499",
			"widget": "Video player",
			"title": "",
			"caption": "",
			"description": "An equirectangular view of sea surface temperature (SST) data for the past two and half years, updated daily to include the latest available data.  ",
			"items": [
				{
					"id": 206430,
					"item_type": "media",
					"extra_data": null,
					"title": null,
					"caption": null,
					"media": {
						"id": 855015,
						"url": "https://svs.gsfc.nasa.gov/vis/a000000/a005100/a005101/sst_mur_print.jpg",
						"filename": "sst_mur_print.jpg",
						"media_type": "Image",
						"alt_text": "An equirectangular view of sea surface temperature (SST) data for the past two and half years, updated daily to include the latest available data.  ",
						"width": 1024,
						"height": 512,
						"pixels": 524288
					}
				},
				{
					"id": 206431,
					"item_type": "media",
					"extra_data": null,
					"title": null,
					"caption": null,
					"media": {
						"id": 855014,
						"url": "https://svs.gsfc.nasa.gov/vis/a000000/a005100/a005101/sst_mur_searchweb.png",
						"filename": "sst_mur_searchweb.png",
						"media_type": "Image",
						"alt_text": "An equirectangular view of sea surface temperature (SST) data for the past two and half years, updated daily to include the latest available data.  ",
						"width": 320,
						"height": 180,
						"pixels": 57600
					}
				},
				.
				.
				.
			],
			"extra_data": {}
		},
		{
			"id": 312498,
			"url": "https://svs.gsfc.nasa.gov/5101#media_group_312498",
			"widget": "Basic text with HTML",
			"title": "",
			"caption": "",
			"description": "This visualization shows Sea Surface Temperature (SST) data from the Jet Propulsion Laboratory (JPL) Multi-scale Ultra-high Resolution (MUR) Sea Surface Temperature Analysis.  This visualization is updated once a day to include the latest available data.",
			"media": [],
			"extra_data": {}
		},
		{
			"id": 312500,
			"url": "https://svs.gsfc.nasa.gov/5101#media_group_312500",
			"widget": "Single image",
			"title": "",
			"caption": "",
			"description": "An equirectangular view of the most recent sea surface temperature (SST) data available (still image). ",
			"items": [
				{
					"id": 206435,
					"item_type": "media",
					"extra_data": null,
					"title": null,
					"caption": null,
					"instance": {
						"id": 856705,
						"url": "https://svs.gsfc.nasa.gov/vis/a000000/a005100/a005101/sst_mur_most_recent_print.jpg",
						"filename": "sst_mur_most_recent_print.jpg",
						"media_type": "Image",
						"alt_text": "An equirectangular view of the most recent sea surface temperature (SST) data available (still image). ",
						"width": 1024,
						"height": 512,
						"pixels": 524288
					}
				},
				{
					"id": 206434,
					"item_type": "media",
					"extra_data": null,
					"title": null,
					"caption": null,
					"instance": {
						"id": 856704,
						"url": "https://svs.gsfc.nasa.gov/vis/a000000/a005100/a005101/sst_mur_most_recent.exr",
						"filename": "sst_mur_most_recent.exr",
						"media_type": "Image",
						"alt_text": "An equirectangular view of the most recent sea surface temperature (SST) data available (still image). ",
						"width": 4096,
						"height": 2048,
						"pixels": 8388608
					}
				}
			],
			"extra_data": {}
		},
		.
		.
		.
	],
	"studio": "SVS",
	"funding_sources": [
		"ESE"
	],
	"credits": [
		{
			"role": "Visualizer",
			"people": [
				{
					"name": "Kel Elkins",
					"employer": "USRA"
				},
				{
					"name": "Greg Shirah",
					"employer": "NASA/GSFC"
				}
			]
		},
		{
			"role": "Technical support",
			"people": [
				{
					"name": "Laurence Schuler",
					"employer": "ADNET Systems, Inc."
				},
				{
					"name": "Ian Jones",
					"employer": "ADNET Systems, Inc."
				}
			]
		}
	],
	"missions": [],
	"series": [],
	"tapes": [],
	"papers": [],
	"datasets": [
		{
			"name": "Multi-scale Ultra-high Resolution (MUR) Sea Surface Temperature (SST) Analysis",
			"common_name": "MUR SST",
			"platform": null,
			"sensor": null,
			"type": "Analysis",
			"organization": "JPL PO DAAC",
			"description": null,
			"credit": null,
			"url": null
		}
	],
	"nasa_science_categories": [
		"Earth"
	],
	"keywords": [
		"Earth Information Center",
		"Earth Science",
		"Ocean",
		"Ocean Temperature",
		"Oceans",
		"Physical oceanography",
		"sea surface temperature"
	],
	"recommended_pages": [],
	"related": [
		{
			"id": 4809,
			"url": "https://svs.gsfc.nasa.gov/4809/",
			"page_type": "Visualization",
			"title": "Earth Day 2020: Sea Surface Temperature (SST) from January 2016 through March 2020",
			"description": "Sea Surface Temperature - composited version with all layers includedThis video is also available on our YouTube channel. || ",
			"release_date": "2020-04-21T00:00:00-04:00",
			"update_date": "2023-09-07T00:18:08.898152-04:00",
			"main_image": {
				"url": "https://svs.gsfc.nasa.gov/vis/a000000/a004800/a004809/sst_comp_layer.1300_print.jpg",
				"filename": "sst_comp_layer.1300_print.jpg",
				"media_type": "Image",
				"alt_text": "Sea Surface Temperature - composited version with all layers includedThis video is also available on our YouTube channel.",
				"width": 1024,
				"height": 576,
				"pixels": 589824
			}
		}
	],
	"sources": [],
	"products": [],
	"newer_versions": [],
	"older_versions": [],
	"alternate_versions": []
}
					
Note: this is a fairly large block of text. You may need to scroll to see the whole thing.

The response will always contain the following fields:

  • id - The page ID of the requested item.
  • url - The url that this page can be found at.
  • page_type - What type of page this is.

This response will also contain extra fields that vary depending on the type of page requested.

Visualization pages
  • title - The title of the visualization.
  • description - A brief description of the visualization.
  • release_date - The date and time this visualization was released. This timestamp is in ISO 8601.
  • update_date - The date and time this visualization was last updated. This timestamp is in ISO 8601.
  • main_image - The media item that's been selected to be the "main" image for this visualization. This is also used as the thumbnail for this item in a variety of places across the site.
    For more information on media items, see the section on media items .
  • main_video - The media item that's been selected to be the "main" video for this visualization. This is mostly used on other sites, if they link to SVS visualizations.
    For more information on media items, see the section on media items .
  • progress - What stage this visualization is at in the development process. This will always be Complete for visualizations publicly released on this site.
  • media_groups - Media items and blocks of text on the SVS website are organized into groups for display purposes. These are essentially the "blocks" that compose a visualization page.
    • id - The ID of this media group.
    • url - A link to this particular media group.
    • widget - The widget used for this media item.
    • title - The title of this media group.
    • caption - The caption of this media group. In a standard media group, this is rendered just below the media display, and to the right of the "downloads" button.
    • description - The description of this media group. This is where the vast majority of the text in a media group is stored.
    • items - A list of items contained in this media group.
      For more information on media group items, see the section on media group items .
    • extra_data - Additional data used the generate the media group. The most common piece of information contained in this block is page_list, which is a full list of pages linked to this media group.
  • studio - A string which indicates which studio created the material, or what product the material was created for. studio will always be one of the following:
    • SVS - The material was created directly by NASA Scientific Visualization Studio.
    • GMS - The material was created by NASA's Goddard Media Studios.
    • CILab - The material was created by NASA's Conceptual Image Lab.
    • HW - The material was created or formatted explicity for the NASA Hyperwall.
  • funding_sources - A list of sources that funded the creation of this visualization.
  • credits - A list of credits for this visualization.
    • role - The name of the role that this chunk of credits is for.
    • people - A list of people who are credited with this role.
      • name - This person's name.
      • employer - This person's employer, when this page was published.
  • missions - A list of missions that this visualization is associated with.
  • series - A list of series (sets of visualizations) that this visualization is associated with.
  • tapes - A list of tapes that this visualization appeared on.
  • papers - A list of research papers associated with this visualization.
  • datasets - A list of datasets used in the creation of this visualization.
    • name - The full name of this dataset.
    • common_name - A more common name for this dataset (if applicable).
    • platform - The location where this dataset was collected from. It's easiest to think of "where this dataset was collected from physically". Often, this is the name of a particular mission (e.g. TERRA, SDO, OSIRIS-REx, etc.)
    • sensor - The sensor this dataset was collected with (if applicable).
    • type - What type of dataset this is.
    • organization - The organization responsible for maintaining this dataset (if applicable).
    • description - A description of this dataset.
    • credit - Who should be credited for this dataset.
    • url - A URL that this dataset can be found at (if applicable).
  • nasa_science_categories - The NASA Science Categories that this visualization belongs to.
  • keywords - A list of keywords associated with this visualization.
  • recommended_pages - A list of pages (on our site) recommended by this page's author
  • related - A list of pages (on our site) considered to be "related" to this page.
  • sources - A list of pages (on our site) used as sources for this page.
  • products - A list of pages (on our site) that use this page as a source.
  • newer_versions - A list of pages (on our site) that are newer versions of this page.
  • older_versions - A list of pages (on our site) that are older versions of this page.
  • alternate_versions - A list of pages (on our site) that are considered to be alternate versions of this page. These are usually versions of the page in a different language, a different part of the world, or a different viewpoint.

Dial-A-Moon API

The Dial-A-Moon API is used to power the Dial-A-Moons (e.g. on #5048 ) across the SVS site. It also serves as a useful resource for getting astronomical information about the Moon for a given date.

If you have any questions specifically about the data returned by this API, please contact . For general API inquiries, please contact .

Note: the Dial-A-Moon API has a couple of specific restrictions:

  • Data is only available in 1-hour increments, except during eclipses, where it switches to 1-minute increments.
  • The earliest data available is January 1st, 2011, 00:00 UTC.
  • The latest data available is December 31st, 23:00 UTC for the current year. We add in the next year of data when the yearly Moon Phase and Libration visualization comes out, which has historically happened in November.

The basic format for a Dial-A-Moon API call is:
https://svs.gsfc.nasa.gov/api/dialamoon/{UTC timestamp in YYYY-MM-DDTHH:MM}
Note: there is always a letter T in between the date and time, and it is not something that should be converted.

Example: the Dial-A-Moon API call for January 2nd, 2023 at 03:00 UTC is:
https://svs.gsfc.nasa.gov/api/dialamoon/2023-01-02T03:00 ( )

Data Specification

As an example, consider the following request:
https://svs.gsfc.nasa.gov/api/dialamoon/2023-07-12T15:37 ( )
Note: even though the time requested is 15:37 UTC, the API will always round that to the closest point it has data for. In this case, 15:37 becomes 16:00. This is also true during eclipses, where the increments switch to 1 minute instead of 1 hour.

{
    "image": {
        "url": "https://svs.gsfc.nasa.gov/vis/a000000/a005000/a005048/frames/730x730_1x1_30p/moon.4625.jpg",
        "filename": "frames/730x730_1x1_30p/moon.4625.jpg",
        "media_type": "Image",
        "alt_text": "An image of the moon, as it would appear on 2023-07-12 16:00:00+00:00. (Frame: 4625)",
        "width": 730,
        "height": 730,
        "pixels": 532900
    },
    "image_highres": {
        "url": "https://svs.gsfc.nasa.gov/vis/a000000/a005000/a005048/frames/5760x3240_16x9_30p/fancy/comp.4625.tif",
        "filename": "frames/5760x3240_16x9_30p/fancy/comp.4625.tif",
        "media_type": "Image",
        "alt_text": "An image of the moon, as it would appear on 2023-07-12 16:00:00+00:00. (Frame: 4625)",
        "width": 5760,
        "height": 3240,
        "pixels": 18662400
    },
    "su_image": {
        "url": "https://svs.gsfc.nasa.gov/vis/a000000/a005000/a005049/frames/730x730_1x1_30p/moon.4625.jpg",
        "filename": "frames/730x730_1x1_30p/moon.4625.jpg",
        "media_type": "Image",
        "alt_text": "An image of the moon, as it would appear on 2023-07-12 16:00:00+00:00. (Frame: 4625)",
        "width": 730,
        "height": 730,
        "pixels": 532900
    },
    "su_image_highres": {
        "url": "https://svs.gsfc.nasa.gov/vis/a000000/a005000/a005049/frames/5760x3240_16x9_30p/fancy/comp.4625.tif",
        "filename": "frames/5760x3240_16x9_30p/fancy/comp.4625.tif",
        "media_type": "Image",
        "alt_text": "An image of the moon, as it would appear on 2023-07-12 16:00:00+00:00. (Frame: 4625)",
        "width": 5760,
        "height": 3240,
        "pixels": 18662400
    },
    "time": "2023-07-12T16:00",
    "phase": 23.81,
    "obscuration": 0.0,
    "age": 24.474,
    "diameter": 1845.5,
    "distance": 388369.0,
    "j2000_ra": 3.2364,
    "j2000_dec": 19.875,
    "subsolar_lon": -115.103,
    "subsolar_lat": 1.525,
    "subearth_lon": 6.457,
    "subearth_lat": -2.417,
    "posangle": 346.15
}
					

The response will always contain the following fields:

  • image - An image of the Moon at the requested timestamp. This follows the same format as the media items from the visualization page API.
  • image_highres - A higher resolution image of the Moon (often annotated with some additional information) at the requested timestamp. This follows the same format as the media items from the visualization page API.
  • su_image - The south-up version of image.
  • su_image_highres - The south-up version of image_highres.
  • time - The timestamp corresponding to the data fetched.
  • phase - The illuminated percentage of the Moon, as seen from Earth. 0.00 represents a new moon and 100.00 represents a full moon.
  • obscuration - The percentage of the Moon inside the Earth's umbra shadow.
    Note: this is only used during Eclipses, and is 0.0 during all other times.
  • age - The age (in days) since the start of the current lunar cycle.
  • diameter - The current diameter (in arcseconds) of the Moon, as it appears from Earth.
  • distance - The distance of the Moon (in kilometers) from Earth.
  • j2000_ra - The J2000 right ascension (in degrees) of the Moon at the requested timestamp.
  • j2000_dec - The J2000 declination (in degrees) of the Moon at the requested timestamp.
  • subsolar_lon, subsolar_lat - The longitude and latitude (in degrees) of the subsolar point on the Moon at the requested timestamp. This can be thought of as the point on the Moon where the Sun is directly overhead.
  • subearth_lon, subearth_lat - Like the subsolar point, but for the Earth instead of the Sun. These angles define the libration in longitude and latitude (in degrees).
  • posangle - The position angle of the north polar axis. This is the tilt of the Moon relative to its line of right ascension, or the north celestial pole, measured counterclockwise.

Media Group Items

Media group items do not have their own API, but are formatted the same across other APIs that use them. This section is intended to serve as a data specification for that common format.

All media group items contain the following parameters:

  • id - The id number of this media group item.
  • item_type - A string indicating the type of this media group item. item_type will always be one of the following:
    • media - A media item. For more information on media items, see the section on media items .
    • media_group - Another media group.
    • link - A link to another page.
    • details_page - A visualization page.
    • gallery_page - A gallery page.
  • instance - A summary of the actual object this media group item points to.

media and link items contain the following extra fields:

  • title - An optional title used when displaying this item.
  • caption - An optional caption used when displaying this item.

link items also contain an additional extra field:

  • target - The URL that this item points to.

Media Items

Media items do not have their own API, but are formatted the same across other APIs that use them. This section is intended to serve as a data specification for that common format.

  • id - The id number of this media item.
  • url - The url that this media item can be found at.
  • filename - The filename of this media item.
  • media_type - A string indicating the type of this media item. media_type will always be one of the following:
    • Image - An image file.
    • Movie - A video file.
    • Frames - A set of images that are individual frames from a particular video. Note: despite being treated as individual media items, Frames are actually groups of individual images.
    • Captions - A set of captions for a particular video.
    • Audio - An audio file.
    • Presentation - A presentation file (usually PowerPoint or .pdf).
    • File - A file that can't be categorized into one of the other media types.
  • alt_text - Alt text for this media item.
  • width - The width of this item (in pixels). Note: this value is 0 for items that don't contain resolution information (e.g., audio files or caption files).
  • height - The height of this item (in pixels). Note: this value is 0 for items that don't contain resolution information (e.g., audio files or caption files).
  • pixels - The total number of pixels in this image (= width x height). This is used internally and can probably be ignored.

Movie items also contain two extra pieces of information:

  • audio_track - A media item containing just the sound of this movie. If specified, it will follow the same format as other media items.
  • captions - A media item containing the captioning information for this movie. If specified, it will follow the same format as other media items.

Frequently Asked Questions

All of our content is in the public domain (unless otherwise noted), meaning that it is free to download, use, and redistribute for whatever purposes you see fit. For more information, see NASA’s media usage guidelines.

Note: some of our visualizations feature licensed music, which is not in the public domain. In these instances, the visualizations themselves are still in the public domain, meaning you're allowed to use them without the associated audio tracks. Individual visualizations will make note of this where applicable.

  • Videos – Primarily .mp4 and .webm. Some of our older content is also available in .mpg and .dv.
  • Frames – Most of our visualizations are accompanied by directories containing individual frames. These are generally released as .exr or .tiff.
  • Images.jpg, .png, or .tiff.

The exact software used for visualizations varies from visualizer to visualizer, but here are some popular ones:

  • 3D modeling / animation – Maya, Houdini
  • Rendering – Pixar Renderman, SideFX Mantra
  • Scripting – Python / C / IDL / C++

Fun fact! We were very early adopters of Python. Some of our early visualizations (2000 ~ 2002) were written in Python 1.6. The SVS was also a fairly early adopter of Renderman. Our first Renderman visualization (released in 2002) was created using BMRT (Blue Moon Rendering Tools), a Renderman compliant renderer.

Further Assistance

Still have a question regarding svs.gsfc.nasa.gov?