Python Interface to MAPL: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 9: | Line 9: | ||
In this example, the very top root component is implemented entirely in a shared library. | In this example, the very top root component is implemented entirely in a shared library. | ||
"""" | """" | ||
The GEOSgcm application written in python, starting from a | The GEOSgcm application written in python, starting from a | ||
Root Component implemented in Fortran. | Root Component implemented in Fortran. | ||
""" | """ | ||
import MAPL | import MAPL | ||
if __name == "__main__": | if __name == "__main__": | ||
# Instantiate the root component | # Instantiate the root component | ||
# ------------------------------ | # ------------------------------ | ||
gcs = MAPL.GridComp(lib='/some/path/libGEOSana.so') | |||
# Instantiate MAPL, using a "Fortran" as a root component | # Instantiate MAPL, using a "Fortran" as a root component | ||
# ------------------------------------------------------- | # ------------------------------------------------------- | ||
mapl = MAPL(root=gcs) | |||
# Run the cap | # Run the cap | ||
# ----------- | # ----------- | ||
mapl.go() |
Revision as of 11:46, 18 August 2008
This document presents a very high level description of a python interface to MAPL.
GEOS-5 Use Cases
The examples below are based on the actual GEOS-5 GCM Application, and a few components at the very top of the hierarchy. Here we assumed that MAPL Grid Components can be implemented entirely in C/Fortran or in Python.
GEOS-5 Application with Fortran Root Component =
In this example, the very top root component is implemented entirely in a shared library.
"""" The GEOSgcm application written in python, starting from a Root Component implemented in Fortran. """
import MAPL
if __name == "__main__":
# Instantiate the root component # ------------------------------ gcs = MAPL.GridComp(lib='/some/path/libGEOSana.so')
# Instantiate MAPL, using a "Fortran" as a root component # ------------------------------------------------------- mapl = MAPL(root=gcs)
# Run the cap # ----------- mapl.go()