Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Some of the subdirectories in the ACME code contain code that was brought in from another repository.  List them all.

...

  • external any subdirectory in ACME whose entire content is from another repository
  • upstream master  the repository everyone is sending their changes to.  Only one so that everyone pulling from the same source is working with all the same changes.   The source of an external.

Methods for including externals

  • submodule  a link that points to another git repository.  See Sharing External Code using Git Submodules  or submodules vs. subtrees . Submodules require an extra step after cloning to get the code.
  • subtree a set of files and commits from another git repo, brought in to your repo.  See Sharing External Code using Git Subtree.  Subtrees are included in ACME when you "git clone".
  • monorepo adding multiple projects, related or not, in the same repo.
  • buildtime  the repo is checked out to the $CIME_OUTPUT_ROOT/$CASE/bld when compiling a case for the first time.  Code does not exist in ACME repo.

ACME Rules for adding externals

...

Development in externals

In general, there are several ways to develop with external code in ACME

...

More specific instructions for externals are below.  NOTE:  a commit should never mix external and non-external code.

Table of Externals currently in ACME

Subdirectory in ACMEexternal methodupstream masterdevelopment methodPOCNotes
cimesubtreehttps://github.com/ESMCI/cime

2-way


cime/externals/MCTsubtreehttps://github.com/MCSclimate/MCT

mostly 1-way

usually brought in with CIME
cime/externals/pio*subtreehttps://github.com/NCAR/ParallelIO

mostly 1-way

usually brought in with CIME

components/mpas-o/model

submodule

https://github.com/ACME-Climate/MPAS clone of https://github.com/MPAS-Dev/MPAS

strict 1-way

components/mpasli/model

submodulehttps://github.com/ACME-Climate/MPAS clone of https://github.com/MPAS-Dev/MPASstrict 1-wayMatt Hoffman

components/mpas-cice/model

submodulehttps://github.com/ACME-Climate/MPAS clone of https://github.com/MPAS-Dev/MPAS: branch cice/developstrict 1-way

components/clm/src/external_models/fates

submodule

https://github.com/ACME-Climate/fates clone of https://github.com/NGEET/fates

strict 1-way ?

components/clm/src/external_models/mpp

submodulehttps://github.com/ACME-Climate/mpp branch

alm/develop

strict 1-way ?Gautam Bisht
components/hommemonorepoNANAMark TaylorACME CAM uses

homme/src/share and homme/src/preqx

CVMixbuildtimehttps://github.com/CVMix/CVMix-srcstrict 1-way?After case.build, can be found in

bld$EXEROOT/ocn/source/core_ocean/.cvmix_all

ocean BGCbuildtimehttps://github.com/ACME-Climate/Ocean-BGCstrict 1-way?After case.build, can be found in

bld$EXEROOT/ocn/source/core_ocean/.BGC_all

...

 Externals planned for ACME

Subdirectory in ACMEexternal methodupstream masterdevelopment methodPOCNotes
CICE column physics?





Specific external development instructions