Madagascar for non-seismologists

From Madagascar
Jump to navigation Jump to search

What is Madagascar (A Tutorial)[edit]

Madagascar comprises a computational infrastructure, a display infrastructure and a literate programming tool kit. The parts work together smoothly and the whole is greater than the sum of the parts. However they are best understood individually.

COMPUTATIONAL INFRASTRUCTURE

  • a data file standard, RSF
  • a set of component standalone programs designed for piping.(Madagascar components)
  • an API for developing further MComps

DISPLAY INFRASTRUCTURE

  • a visualization tool, called vplot

LITERATE PROGRAMMING AND TECHNOLOGY TRANSFER TOOL

  • a build system, based on the SCons with Madagascar extensions
  • a documentation system which invokes latex and also invokes SCons

Prerequisistes[edit]

Madagascar has dependencies, but these are typically met on a scientific workstation:

  • LaTeX
  • python
  • a C compiler
  • X Window

Advice on building and testing a Madagascar installation are ****WHERE****?

The Name "Madagascar"[edit]

The name of the code is entirely whimsical. The former name "RSF" was hard to remember and hard to search for. There is no connection between this package and the Republic of Madagascar.

Motivation for this Document[edit]

The existing Madagascar community is entirely in the community of seismologists, a field in which a wide variety of computationally intensive tasks are commonly used.

The strengths of the system are such that other fields may benefit directly or indirectly from it. This page and linked pages attempt to describe the system for persons interested in using the system in production or as inspiration for comparable efforts built on alternative code bases.

Madagascar Components[edit]

A complete list of MComps is at Task-centric program list. A reduced introductory set (focusing on aspects which are not seismic-spe

Take basic info from Task-centric program list and expand here. Think in which chapter of the Manual this page should go.

The categories in the self-documentation are programmer-side categories, based on common ways in which programs are compiled. The list belows attempts to group programs in a way that would be natural for a user other than a seismologist.