% $Id: NUOPC_desc.tex,v 1.2 2011/04/28 22:31:13 theurich Exp $
%
The NUOPC Layer is an add-on to the standard ESMF API. It consists of generic code of two different forms: utility routines and generic components. The utility routines are subroutines and functions that package frequently used calling sequences of ESMF methods into single calls. Unlike the pure ESMF API, which is very class centric, the utility routines of the NUOPC Layer often bridge tasks that involve several ESMF classes.

The generic components are provided in form of Fortran modules that implement GridComp and CplComp specific methods. Generic components are useful when implementing NUOPC compliant driver, model, mediator or connector components. The provided generic components form a hierarchy that allows the developer to pick and choose the correct level for a certain application. Depending on how specific the chosen level is generic components require more or less specialization to turn into fully implemented components.
