Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

27
1

description

Presented at the 1st Workshop on Maintainable Software Practices in e-Science, Chicago, 9 October 2012. Co-located with e-Science 2012.

Transcript of Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Page 1: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

1

Page 2: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Ewa Deelman

Gideon Juve

Mats Rynge

Information Sciences Institute, USC John Good, Anastasia Laity

NASA Exoplanet Science Institute, Caltech Joe Jacob, Dan Katz

JPL 2

Page 3: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Funded 2002-2005 by NASA Earth Sciences Technology Office Compute Technologies Program

•  Current release, version 3.3, available for download at http://montage.ipac.caltech.edu o Licensed through Caltech by a clickwrap

license •  Maintained at the Infrared Processing and

Analysis Center, Caltech. 3

Page 4: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Over 11,000 downloads to date •  Individual astronomers and (teams of) IT researchers •  Spitzer Wide Area Infrared Extragalactic Survey •  Surveying the Agents of a Galaxy’s Evolution •  Galactic Legacy Infrared Mid-plane Survey Extraordinary •  Isaac Newton Telescope Photometric Survey of the Northern

Galactic Plane •  Sloan Digital Sky Survey •  Large Synoptic Survey Telescope •  Bolocam Galactic Plane Survey

4

Page 5: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Expérience pour la Recherche d'Objets Sombres-2 •  Cosmic Background Imager •  Arecibo Legacy Fast ALFA Survey •  Atacama Large Millimeter Array •  Las Cumbres Observatory Global Telescope E/PO •  Galaxy Zoo/Zooniverse

5

Page 6: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Use rigorous software engineering practices to ensure well-organized and well-documented code, and control and manage interfaces.

•  Listen to your user community, and if possible have a formal user-advisory group. Build a community that encourages users to contribute to sustainability; take advantage of Web 2.0 in this endeavor.

6

Page 7: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Develop when possible in an open software, open data mode, where source code, a set of input data, and tests are freely available.

•  Build software that meets specific scientific goals; don’t be a solution that looks for a problem. ✔

•  Make sure the software is easy to build. ✔ •  Design for sustainability, extensibility, re-use and portability

from the outset. Use modular designs. Avoid “flavor of the month” new technologies. ✔

7

Page 8: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

8

Page 9: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

9

Page 10: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

10

3.6 µm

8.0 µm

24 µm

Page 11: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Scale •  Preserve calibration and

positional information •  Port to all common Unix/

Linux platforms •  Support all common

coordinate systems and projections

•  Be easy to build ... Careful what you ask!

11

Page 12: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Montage Workflow

Reprojection Background Rectification Co-addition Output Input

•  ANSI-compliant C •  Component Based Toolkit

Design •  Parallelizes

•  All software and libraries bundled together

•  No third-party dependencies

Page 13: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Type “make”

13

Page 14: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Unzip •  Untar •  cd into main Montage directory, type

“make” •  Add $INSTALL/Montage_vX.Y/bin to

your path to run from any directory •  Perform build test: produce test mosaic

and compare with prebuilt mosaic 14

Page 15: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  Detection of diffuse radio emission in the galaxy clusters A800, A910, A1550, and CL1446+26 Govoni et al.

•  Comparing near-infrared extinction and submillimeter data in the molecular cloud TMC-1 Malinen et al.

•  Integral Field Spectroscopy studies of 14 early-type galaxies in the Coma cluster Scott et al.

•  The Dust Properties of Bubble HII Regions as seen by Herschel Anderson et al.

15

Page 16: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

16

Page 17: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

17 Developed by Dr Tom Robitaille, MPIA

Page 18: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

18

APLpy (the Astronomical Plotting Library in Python) is a Python module for producing publication-quality plots of astronomical imaging data.

- 600 downloads since April 2012

Developed by Dr Tom Robitaille, MPIA

Page 19: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

19

•  1500 square degree area mapped at 21-cm as part of the Arecibo Legacy Fast ALFA Survey (ALFALFA)

•  Spitzer Galactic Legacy Infrared Midplane Survey Extraordinaire

Page 20: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

find mJPEG mImgtbl mMakeHdr

mProjExec mJPEG

convert

edit html

mImgtbl

Find all the FITS images within a galaxy dataset

IRAC Instrument Data Only

Create image metadata of all raw files

Create a header encompassing all data files

Reproject all files to the same scale, orientation and sky projection

Create grayscale JPEG previews of all FITS images

Create 3-color JPEG Previews Using different bandpasses

Create thumbnails of all JPEG files for HTML display pages

Create HTML summary page per galaxy with all FITS images and JPEG preview links

Create image metadata for general search engine, inventory search and image cutouts application.

Loop over each SINGS galaxy dataset

ngc4450 Optical 3-Color Preview ngc4450 IRAC 3-Color

Page 21: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

21

Used Montage components to generate 235,000 galaxies measured by the Sloan Digital Sky Survey. Used Amazon EC2 cloud.

Page 22: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

22

Create movies of the sky to see how it changes with time

Use Montage to re-project images from multiple wavelengths on to onto a common set of image parameters.

Page 23: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

23

•  Task scheduling in distributed environments (performance-focused)

•  Designing job schedulers for the grid •  Designing fault tolerance techniques for job schedulers •  Exploring issues of data provenance in scientific workflows •  Exploring the cost and performance of scientific

applications running on Clouds •  Developing high-performance workflow restructuring

techniques •  Developing application performance frameworks •  Developing workflow orchestration techniques

Page 24: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Montage 1 degree workflow run with cleanup on OSG-PSU 24

Page 25: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Small 1,200 Montage Workflow

Cluster small workflow tasks for performance

Page 26: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

Montage is maintained without funding

26

Page 27: Adoption of Software By A User Community: The Montage Image Mosaic Engine Example

•  G. B. Berriman, J. Good, E. Deelman and A. Alexov. “Ten years of software sustainability at the Infrared Processing and Analysis Center.” Phil. Trans. Roy. Soc. A, vol. 369, pp. 3384-3397. 2011.

•  D. S. Katz, G. B. Berriman and R. G. Mann. “Collaborative astronomical image mosaics.” In “Reshaping research and development using Web 2.0-based technologies.” M. Baker, ed., in press.

•  Astronomy Computing Today http://astrocompute.wordpress.com.

•  The Montage web page http://montage.ipac.caltech.edu 27