Tutorials
Learn Madagascar by completing the tutorial series below. The tutorials are aimed at a few types of individuals:
1 - Users - Individuals who want to know how to use Madagascar immediately for data processing.
2 - Developers - Individuals who are already Users, who want to write their own programs and/or contribute to Madagascar.
3 - Authors - Individuals interested in creating reproducible documents using Madagascar.
Additionally, we have a series of tutorials that show users how to perform common tasks, such as SEG-Y read/write, and conversion to and from SU formats.
All tutorials are documented by examples in the Madagascar release. You can work alongside the examples!
Tutorials are organized into levels. Higher level courses in a section require the lower level courses to be completed first.
Users[edit]
The user tutorials are focused on getting a new user running Madagascar from the ground up. These tutorials cover everything from: the command line interface, to advanced SCons functionality. By the end of these tutorials, you should be able to process large datasets using Madagascar very quickly, and write powerful Python scripts that are reproducible.
Name | Level | Description |
---|---|---|
RSF file format | 0 | An introduction to Madagascar and the RSF file format |
Command line interface | 1 | Using the command line interface |
Plotting | 2 | Creating and viewing vplot files |
Intro to SCons | 3 | Creating simple SCons scripts for build control |
Advanced SCons | 4 | Creating advanced SCons scripts |
Advanced SCons II | 5 | Abusing SCons |
Python | 6 | Loops, flow control, functions |
Advanced visualization | 6 | 3D visualization using the Mines JTK and VTK |
Developers[edit]
The developer tutorials are targeted to people who are already familiar with processing data in Madagascar. You should have completed the User tutorial series before beginning this tutorial series. This tutorial set covers: designing and developing simple programs in Madagascar, using the various language APIs, and parallel programming. Following completion of this tutorial series, you should be able to write advanced programs in Madagascar that can be contributed back to the community for others to use!
Name | Level | Description |
---|---|---|
Intro to Development | 0 | Learn how to write simple C programs using Madagascar |
Advanced development | 1 | Learn how to link against other libraries |
API development | 1 | Learn how to write a program in another API (Java, Python, Matlab, Fortran) |
Parallel computing | 2 | Write a program that uses MPI or OpenMP |
High performance Madagascar | 3 | Maximize your program's performance in Madagascar |
Authors[edit]
The author tutorials are targeted at those who want to create reproducible documents using Madagascar. You should have completed the User tutorial before attempting these tutorials. This tutorial covers: combining Latex and Madagascar in a reproducible fashion, adding your own Latex style-sheets and macros, and building an SEG expanded abstract.
Name | Level | Description |
---|---|---|
Intro to Reproducible documents | 0 | Introduction to reproducible documents and the framework |
Using Latex | 1 | Create a simple document that uses Latex and Madagascar together. |
Slides | 2 | Create a Beamer presentation using Madagascar. |
SEG | 2 | Create an SEG abstract using Madagascar. |
Geophysics | 3 | Create a Geophysics paper using Madagascar. |
Reproduce past research | 3 | Reproduce someone else's research using Madagascar and Latex. |
Adding custom macros | 4 | Adding your own macros for Latex documents using Madagascar. |
Adding custom style sheets | 5 | Add or change style sheets to suit your own purposes easily using Madagascar. |
Tasks[edit]
These tutorials are side tutorials that show how to perform specific tasks. You should have completed the Users tutorials before using these tutorials.
Name | Description |
---|---|
SEG-Y conversion | Read and write SEG-Y data to and from RSF format |
Finite difference modeling | Create physical models and synthesize seismograms using a finite difference modeling code. |