ROMSExternalCodeBase

Attention

This project is still in an early phase of development.

The python API is not yet stable, and some aspects of the schema for the blueprint and workplan will likely evolve. Therefore whilst you are welcome to try out using the package, we cannot yet guarantee backwards compatibility. We expect to reach a more stable version in 2026.

ROMSExternalCodeBase#

class cstar.roms.external_codebase.ROMSExternalCodeBase(source_repo: str | None = None, checkout_target: str | None = None)#

Bases: ExternalCodeBase

An implementation of the ExternalCodeBase class for the UCLA Regional Ocean Modeling System.

This subclass sets unique values for ExternalCodeBase properties specific to ROMS, and overrides the get() method to compile ROMS-specific libraries.

Methods:#

get()

overrides ExternalCodeBase.get() to clone the UCLA ROMS repository, set environment, and compile libraries

Methods

ROMSExternalCodeBase.configure()

Configure (set environment, compile, etc.) the external codebase on your local machine.

ROMSExternalCodeBase.get([target_dir])

Retrieve and stage this ExternalCodeBase

ROMSExternalCodeBase.setup([target_dir])

Retrieve and configure this codebase in a single call

ROMSExternalCodeBase.to_dict()

Return this ExternalCodeBase as a dictionary of kwargs to ExternalCodeBase.__init__

Attributes

ROMSExternalCodeBase.is_configured

Returns True if this ExternalCodeBase exists locally and is correctly configured

ROMSExternalCodeBase.key

Return a string that uniquely identifies ExternalCodeBase subclasses.

ROMSExternalCodeBase.log

Return the logger instance for this class.

ROMSExternalCodeBase.root_env_var

Environment variable pointing to the location of the codebase when configured, e.g. MARBL_ROOT.

ROMSExternalCodeBase.source

The SourceData instance associated with this ExternalCodeBase

ROMSExternalCodeBase.working_copy

StagedRepository instance describing the local clone of this codebase (if it exists)