% $Id$
%
% Earth System Modeling Framework
% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, 
% Massachusetts Institute of Technology, Geophysical Fluid Dynamics 
% Laboratory, University of Michigan, National Centers for Environmental 
% Prediction, Los Alamos National Laboratory, Argonne National Laboratory, 
% NASA Goddard Space Flight Center.
% Licensed under the University of Illinois-NCSA License.

%\subsection{Design}

The Component class defines a set of subroutine interfaces which
will be called by higher level code and must be provided by the user.
It uses instances of the State class to identify the data which is
to be exchanged between separate Components.  It uses the Time class
to describe the current model time, timesteps, and time intervals.


There are two subtypes of the Component class.  
A Gridded Component is a computational entity which
consumes and produces data.  A Coupler Component manages the
transformation of data between Components.
Either type of Component can create subcomponents of any
type and manage their execution.


