# What is OMFIT and how does it work¶

The main idea at the heart of OMFIT is to treat files, data, and scripts as a uniform collection of objects organized into a tree structure. The OMFIT framework provides a consistent way to access and manipulate such a collection of heterogeneous objects, independent of their origin. Within the OMFIT tree, data in one node can be copied to or referred to from another node and tasks can call each other, allowing for complex compound tasks to be built.

Such a uniform structure allows the definition of a single top-level Graphical User Interface (GUI) to manage tree objects, carry out simulations, and analyze the data interactively. OMFIT has the ability to understand many scientific data formats, and when a file is loaded into OMFIT, its data populates the OMFIT tree, automatically endowing it with many potential uses. Furthermore, seamless integration with MDS+ and other databases allows direct manipulation of experimental data. OMFIT interfaces with the ITER IMAS data infrastructure via the OMAS Python library.

In OMFIT, modeling tasks are organized into modules, which can be easily combined to create arbitrarily-large multi-physics simulations. Module inter-dependencies are seamlessly defined by referencing variables between them. OMFIT is a lightweight framework, meaning that it does not ship with the executables of the codes you want to integrate. Instead it can be thought of as the glue which is used to easily stick together different codes and scripts.

The OMFIT approach is generic because it does not specify, a priori, which and how codes are to be coupled. Creation of new modules and customization of existing ones is encouraged and simplified by the availability of high level Python Application Programmer Interfaces (APIs) for the execution of codes on remote servers and the creation of application specific GUIs. Visualization of experimental and modeling data is possible within OMFIT, for both quick analysis and publication.

The framework design is described in two publications:

# Citing OMFIT¶

For publications that used OMFIT we encourage authors to include a sentence in the acknowledgement section, of the suggested form:

Part of the data analysis was performed using the OMFIT integrated modeling framework \cite{OMFIT2015}

@article{OMFIT2015,
author={O. Meneghini and S.P. Smith and L.L. Lao and O. Izacard and Q. Ren and J.M. Park and J. Candy and Z. Wang and C.J. Luna and V.A.
Izzo and B.A. Grierson and P.B. Snyder and C. Holland and J. Penna and G. Lu and P. Raum and A. McCubbin and D.M. Orlov and E.A.
Belli and N.M. Ferraro and R. Prater and T.H. Osborne and A.D. Turnbull and G.M. Staebler},
title={Integrated modeling applications for tokamak experiments with OMFIT},
journal={Nuclear Fusion},
volume={55},
number={8},
pages={083008},
url={http://iopscience.iop.org/article/10.1088/0029-5515/55/8/083008/meta},
year={2015}
}


Poster presentations can use of one of the following OMFIT logos: