cape.pylava.case: LAVACURV case control module

This module contains LAVACURV-specific versions of some of the generic methods from cape.cfdx.case.

All of the functions from cape.case are imported here. Thus they are available unless specifically overwritten by specific cape.pylava versions.

class cape.pylava.casecntl.CaseRunner(fdir=None)
check_complete() bool

Check if a case is complete (DONE)

In addition to the standard CAPE checks, this version checks residuals convergence udner certain conditions.

Call:
>>> q = runner.check_complete()
Inputs:
runner: CaseRunner

Controller to run one case of solver

Versions:
  • 2024-09-16 @sneuhoff: v1.0

  • 2024-10-11 @ddalle: v2.0; use parent method directly

finalize_files(j: int)

Clean up files after running one cycle of phase j

Call:
>>> runner.finalize_files(j)
Inputs:
runner: CaseRunner

Controller to run one case of solver

j: int

Phase number

Versions:
  • 2024-10-11 @ddalle: v1.0

getx_iter()

Get the most recent iteration number for LAVACURV case

Call:
>>> n = runner.getx_iter()
Inputs:
runner: CaseRunner

Controller to run one case of solver

Outputs:
n: int | None

Last iteration number

Versions:
  • 2024-08-02 @sneuhoff: v1.0

  • 2024-10-11 @ddalle: v2.0; use DataIterFile(meta=True)

getx_restart_iter()

Get total iteration number of most recent flow file

Call:
>>> n = runner.getx_restart_iter()
Inputs:
runner: CaseRunner

Controller to run one case of solver

Outputs:
n: int

Index of most recent check file

Versions:
  • 2024-09-16 @sneuhoff: v1.0

init_post()

Custom initialization for pyfun

Call:
>>> runner.init_post()
Inputs:
runner: CaseRunner

Controller to run one case of solver

Versions:
  • 2023-06-28 @ddalle: v1.0

read_data_iter(fname: str = 'data.iter', meta: bool = True) DataIterFile

Read data.iter, if present

Call:
>>> db = runner.read_data_iter(fname, meta=False)
Inputs:
runner: CaseRunner

Controller to run one case of solver

fname: {"data.iter"} | str

Name of file to read

meta: {True} | False

Option to only read basic info such as last iter

Versions:
  • 2024-08-02 @sneuhoff; v1.0

  • 2024-10-11 @ddalle: v2.0

read_runyaml(j: int | None = None) RunYAMLFile

Read case namelist file

Call:
>>> yamlfile = runner.read_runyaml(j=None)
Inputs:
runner: CaseRunner

Controller to run one case of solver

j: {None} | int

Phase number

Outputs:
yamlfile: RunYAMLFile

LAVA YAML input file interface

Versions:
  • 2024-10-11 @ddalle: v1.0

run_phase(j: int)

Run one phase using appropriate commands

Call:
>>> runner.run_phase(j)
Inputs:
runner: CaseRunner

Controller to run one case of solver

j: int

Phase number

Versions:
  • 2024-08-02 @sneuhoff: v1.0

  • 2024-10-11 @ddalle: v1.1; split run_superlava()

run_superlava(j: int)

Run one phase of the superlava executable

Call:
>>> runner.run_superlava(j)
Inputs:
runner: CaseRunner

Controller to run one case of solver

j: int

Phase number

Versions:
  • 2024-10-11 @ddalle: v1.0

cape.pylava.casecntl.run_lavacurv()

Setup and run the appropriate LAVACURV command

Call:
>>> run_lavacurv()
Versions:
  • 2024-09-30 @sneuhoff: v1.0;