Skip to content

CMIP6 Shell Application

The CMIP6 shell is a command line interface for interacting specifically with the ES-DOC CMIP6 documentation eco-system. Once installed one can manage the full set of CMIP6 documentation.

Installation

cd YOUR_WORKING_DIRECTORY
git clone https://github.com/ES-DOC/cmip6.git
source cmip6/activate
cmip6-setup

Once installed it is recommended to add the following to your ~/.bashrc file:

source YOUR_WORKING_DIRECTORY/cmip6/activate

Commands

Activiating the cmip6 shell exposes a wide set of commands to streamline various operations. Each command is documented below.

Citations

cmip6-citations-init-xls

Initialises set of citation spreadsheets from a template. One spreadsheet per institute is created.

cmip6-citations-generate-json

Generates citation JSON documents from populated spreadsheets.

Experiments

cmip6-experiments-archive-cim-documents

Moves generated experiment CIM documents into ES-DOC archive for upstream processing.

cmip6-experiments-write-cim-documents

Parses spreadsheet & generates CIM documents. Documents are moved into repos/libs/esdoc-docs.

cmip6-experiments-write-config

Parses CIM documents & generates a condensed JSON file suitable for configuration purposes. Generated file is moved into repos/libs/esdoc-docs.

cmip6-experiments-write-d3

Parses CIM documents & generates a condensed JSON file suitable for use within a D3.js application. Generated file is moved into repos/libs/esdoc-docs.

cmip6-experiments-reset

Composite command that regenerates CIM documents & associated files.

Institutes

cmip6-institutes-list

Emits to command line name of all institutes participating in CMIP6.

cmip6-institutes-repos-clean

Ensures that all institutional repos have been correctly setup for CMIP6.

cmip6-institutes-repos-pull

Iterates set of institutional repos & pulls latest changes.

cmip6-institutes-repos-push

Iterates set of institutional repos & pushes local changes where applicable.

cmip6-institutes-repos-status

Iterates set of institutional repos & emits to command line each repo's git status.

cmip6-institutes-repos-sync

Iterates set of institutions & if necessary clones remote repository.

cmip6-institutes-repos-verify

Iterates set of institutional repos & verifies that expected CMIP6 assets are in place.

cmip6-institutes-teams-sync

Iterates set of institutional repos & emits to command line each repo's git status.

Models

cmip6-models-archive-cim-documents

Moves generated model CIM documents into ES-DOC archive for upstream processing.

cmip6-models-archive-cim-documents-of-mohc

Moves generated model MOHC CIM documents into ES-DOC archive for upstream processing.

cmip6-models-generate-cim

Parses set of JSON files generated from spreadsheets & generates a set of CIM files.

cmip6-models-generate-comparator-json

Parses set of JSON files generated from spreadsheets & generates a JSON file for use by upstream model comparator.

cmip6-models-generate-json

Parses set of model spreadsheets & generates a set of JSON files.

cmip6-models-generate-pdf

Parses set of model CIM files & generates a set of PDF files.

cmip6-models-generate-xls

Parses CMIP6 model specialisations, plus generated model JSON files, and regenerates the relevant model spreadsheets. Executed when specialisations have changed.

cmip6-models-init-cmip5-docs

Initialises set of CMIP5 model documents to be used as seeds for CMIP6 documentation.

cmip6-models-init-json-from-cmip5

Initialises set of JSON configuration documents from CMIP5 documentation.

cmip6-models-init-settings

Initialises model_publication.json & initialization_from_CMIP5.json file used by an institution to control seeding & publication.

cmip6-models-init-coupling-xls

Generates a set of XLS files to capture coupling information.

cmip6-models-reset-cim

Deletes previously generated CIM files in readiness for regeneration.

cmip6-models-reset-json

Deletes previously generated JSON files in readiness for regeneration.

Parties

cmip6-parties-init-xls

Initialises set of responsible party spreadsheets from a template. One spreadsheet per institute is created.

cmip6-parties-generate-json

Generates responsible party JSON documents from populated spreadsheets.

Specializations

cmip6-specializations-generate

Iterates set of specialisation repos and generates derived assets such as mindmaps & configuration files.

cmip6-specializations-repos-pull

Iterates set of specialisation repos & pulls latest changes.

cmip6-specializations-repos-push

Iterates set of specialisation repos & pushes local changes where applicable.

cmip6-specializations-repos-status

Iterates set of specialisation repos & emits to command line each repo's git status.

cmip6-specializations-sync-cim-profile

Iterates set of specialisation repos & synchronizes so-called associated CIM profile.

cmip6-specializations-sync-definitions

Iterates set of specialisation repos & synchronizes definitions with those in the pyesdoc library.

cmip6-specializations-sync-mappings

Moves CMIP5 document mappings into position ready for seeding.

cmip6-specializations-sync-templates

Iterates set of specialisation repos & synchronizes repo templates.

cmip6-specializations-sync-tooling

Iterates set of specialisation repos & synchronizes repo tooling.

cmip6-specializations-sync-viewer

Iterates set of specialisation repos & synchronizes assets used by specialisations viewer.

cmip6-specializations-validate

Iterates set of specialisations & emits a validation report for each one.

Vocabularies

cmip6-vocabs-write-bash-vars

Emits a bash file containing CMIP6 controlled vocabularis pulled from pyessv.

Machines & Performances

cmip6-machines-init-xls

Initialises set of machine & performs spreadsheets from a template.

GitHub Repositories

  • https://github.com/ES-DOC/cmip6
  • https://github.com/ES-DOC/cmip6-specializations-aerosol
  • https://github.com/ES-DOC/cmip6-specializations-atmos
  • https://github.com/ES-DOC/cmip6-specializations-atmoschem
  • https://github.com/ES-DOC/cmip6-specializations-land
  • https://github.com/ES-DOC/cmip6-specializations-landice
  • https://github.com/ES-DOC/cmip6-specializations-ocean
  • https://github.com/ES-DOC/cmip6-specializations-ocnbgchem
  • https://github.com/ES-DOC/cmip6-specializations-seaice
  • https://github.com/ES-DOC/cmip6-specializations-toplevel