Overview of the Tutorial
This tutorial guides you through the process of adding a new category of tasks to Polaris, using the ocean component as an example. Below is a step-by-step outline of the tutorial, with each step linked to its detailed instructions.
-
Set up your development environment, clone the Polaris repository, create a new branch, set up a conda environment, and obtain the necessary E3SM submodules.
Making a New Category of Tasks
Create a new Python package for your category of tasks, add an entry point function, and register it with the component.
-
Introduce a shared
init
step for your category, set up a shared config file, and implement the initial mesh generation logic. -
Create the first actual task (e.g.,
default
), add it to your category, and wire it up to use the shared step. Testing the First Task and Step
Test your new task by listing, setting up, and running it, and verify that the mesh is created as expected.
-
Expand the
init
step to add vertical coordinates and initial conditions, and update the config file accordingly. -
Add plotting functionality to visualize the initial condition as a sanity check.
-
Explicitly define the output files produced by your step to enable validation and future workflow enhancements.
-
Implement a
forward
step to run the model, configure model options, and add it to your task. -
Add a
viz
step to generate plots from the model output, and integrate it into your task. -
Document your new category of tasks for both users and developers, and pdate the API documentation.