Program Generation for Ocean Modeling

Project Description

We are developing a program generator that can create inversion programs for ocean models depending on a characterization of these models in form of a set of parameters. To this end, we have designed and implemented a domain-specific language to describe ocean modeling tools. Tool descriptions are translated into Fortran 90 programs. One focus in the design of the DSL is safety, that is, the DSL compiler guarantees that generated Fortran programs are syntactically correct and, to a large degree, also type correct.

Recently, we have developed a framework for defining generic programming extensions for Fortran called Parametric Fortran. The tools can now be generically expressed in Parametric Fortran and will be translated into Fortran.

Selected Publications

Generic Programming in Fortran, Martin Erwig, Zhe Fu and Ben Pflaum
ACM SIGPLAN 2006 Workshop on Partial Evaluation and Program Manipulation, 130-139, 2006

Software Reuse for Scientific Computing Through Program Generation, Martin Erwig and Zhe Fu
ACM Transactions on Software Engineering and Methodology, Vol. 14, No. 2, 168-198, 2005

Parametric Fortran - A Program Generator for Customized Generic Fortran Extensions , Martin Erwig and Zhe Fu
6th Int. Symp. on Practical Aspects of Declarative Languages, LNCS 3057, 209-223, 2004


Parametric Fortran

Participating Researchers

Andrew Bennett
Boon Chua
Martin Erwig
Zhe Fu
Ben Pflaum


This project is supported by the National Science Foundation under the grant ITR/AP-0121542 "Collaborative Research: Modular Ocean Data Assimilation".

Related Links

Home Page of the IOM
last change: March 04, 2012 Martin Erwig