Skip to content

Commit

Permalink
Add a deprecation notice to the GNU Makefile based component dependency
Browse files Browse the repository at this point in the history
section. Point toward ESMX as the recommended solution.
  • Loading branch information
theurich committed Oct 5, 2023
1 parent 8b1d02f commit 922b4a4
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/addon/NUOPC/doc/NUOPC_StandardComponentDep.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

\label{componentDep}

{\bf DEPRECATION NOTICE:} The mechanism described in this section for defining build dependencies between components has been deprecated! The approach discussed here is based exclusively on GNU Makefiles. It has been superseded by the functionality implemented in the \htmladdnormallink{ESMX Layer}{http://earthsystemmodeling.org/esmx/}. The ESMX approach addresses all of the issues discussed here, but represents are more holistic solution. It includes a standard CMake based option, which is the recommended approach for all new NUOPC projects.

Most of the NUOPC Layer deals with specifying the interaction between ESMF components within a running ESMF application. ESMF provides several mechanisms of how an application can be made up of individual Components. This chapter deals with reigning in the many options supported by ESMF and setting up a standard way for assembling NUOPC compliant components into a working application.

ESMF supports single executable as well as some forms of multiple executable applications. Currently the NUOPC Layer only addresses the case of single executable applications. While it is generally true that executing single executable applications is easier and more widely supported than executing multiple executable applications, building a single executable from multiple components can be challenging. This is especially true when the individual components are supplied by different groups, and the assembly of the final application happens apart from the component development. The purpose of standardizing component dependencies as part of the NUOPC Layer is to provide a solution to the technical aspect of assembling applications built from NUOPC compliant components.
Expand Down

0 comments on commit 922b4a4

Please sign in to comment.