Framework
All of the Packages and Modules that are not in the components (mesh
, ocean
and seaice
) belong to the polaris framework. Some of these
modules and packages are used by the Command-line interface, while others are
meant to be called within tasks and steps to simplify tasks like adding
input and output files, downloading data sets, building up config files,
yaml files, namelists and streams files, setting up and running the E3SM
component, and verifying the output by comparing steps with one another or
against a baseline.
The framework is organized to separate tasks and shared framework code. Tasks
for each component are located in polaris.tasks.<component>
, while shared
framework code (e.g., config files, YAML files, utilities) is located in
polaris.<component>
. This separation ensures clarity and avoids circular
dependencies.