Skip to content

Git practices

Andrew Kiss edited this page Aug 15, 2023 · 10 revisions

ACCESS-OM2 standard configurations are maintained in separate GitHub repos (e.g. 01deg_jra55_ryf). For ACCESS-OM3, configurations that utilize the same model components are maintained as separate branches in one repo. For example, all ACCESS-OM3 MOM6-CICE6 configurations will be branches in the MOM6-CICE6 repo. This simplifies the syncing of changes across related configurations. In order to maintain clean and intuitive branch structure, the following practices should be followed:

Configuration branch naming

Each configuration branch name should include as minimum the following: {nominal_resolution}deg_{forcing_data}_{forcing_method} - e.g. 01deg_jra55_ryf. Additional required information can be appended if relevant, e.g. whether the configuration includes biogeochemistry.

Feature branch naming

All modifications to configuration branches should be carried out via a pull request from a feature branch. The name of the feature branch should be as follows: {configuration_branch}.issue{issue_number}, where {issue_number} is the number of a corresponding issue in the GitHub repo that provides context and information about the work being done in the feature branch - e.g. 01deg_jra55_ryf.issue99

Branch synchronisation

Modifications should be synchronised by cherry-picking across all main configurations and across repos.

Production runs

Production runs should be forked as separate repos, and the git runlog enabled.

Clone this wiki locally