Oct 04, 2022

ekea: E3SM Kernel Extraction and Analysis

ekea automates the process of kernel extraction from a large Fortran application. It is customized for E3SM so that, in many kernel extraction cases from E3SM, the user only needs to specify a E3SM case directory and a code region for kernel extraction.

In addition to the kernel extraction, users can easily extend ekea to create new E3SM analysis software tools(ekea-app). Several examples of ekea-app are included in this distribution too.

ekea is a Python module and command-line tool. It can be downloaded using the Python package manager (pip).

>>> pip install ekea

The usage of ekea could be as simple as a shell command shown below.


, where $CASEDIR is a directory path to E3SM case directory and $CALLSITEFILE is a file path to a E3SM source file containing ekea kernel region directives(See Getting-started for more details). “ocn” subcommand is used to extract a kernel from Ocean model.

In addition to kernel source files, ekea also generates input data to drive the kernel execution and out-type data to verify the correctness of the execution. With combined the extracted kernel code and generated data, users can perform various software engineering tasks such as performance optimization, GPU porting, simulation validation, debugging, unit testing, and more without depending on the whole E3SM as well as the batch system.

As of this version, ekea supports MPAS Ocean model and EAM model.

Indices and tables