Skip to content
goldy edited this page Oct 24, 2024 · 1 revision

CaptureCase is a tool to tag and upload all the relevant data from a NorESM experiment run

Given a case directory store all the case files, commit them, create a tag, and push it to NorESMhub/noresm3_dev_simulations or another repository.

Command help:

./Tool/CaptureCase --help

USAGE: CaptureCase [OPTIONS]

  • <case path> must be a path to an existing NorESM case. This script requires that ./case.setup has been run. Building and running the case will allow more information to be saved.

  • <repository clone path> is a path to a https://github.com/NorESMhub/noresm3_dev_simulations repository.

    You can create one with:

  git clone https://github.com/NorESMhub/noresm3_dev_simulations
  1. Copies case files from to the appropriate branch in <repository clone path>. See the --branch option below.
  2. Commits these files to the branch.
  3. Creates a new tag for this commit (<case_name_v00x>).
  4. Pushes the branch and tag to the upstream git repo (see --url option below).
  • --branch <branch>

    Case information will be saved to <branch> This should be the experiment branch that represents the case being saved. If you do not specify this option, you will be asked to select a branch when the script is run.

  • --issue <issue #>

    GitHub issue number to document (default: none) If entered, the URL for the GitHub issue is added to the git log messages.

  • --num-timing-files <#>

    Number of timing files to store (default: 1) Each model run creates a set of timing files. Setting --num-timing-files to a positive number, N, will store timing file sets for up to the last N model runs. Setting --num-timing-files to zero will store all timing files.

  • --url <url>

    URL for pushing case info This is the upstream remote which by default is the noresm_simulations repo in the NorESMhub GitHub organization. The updated branch and the new tag are pushed to this URL unless --no-auto-push is specified on the command line.

  • --auto-push, --no-auto-push

    Push (Don't push) the new tag back to remote repo (default: --auto-push)