CESM is comprised of a number of different components that are developed and managed independently. Each component may have additional 'external' dependancies and optional parts that are also developed and managed independently. The checkout_externals.py tool manages retreiving and updating the components and their externals so you have a complete set of source files for the model. checkout_externals.py relies on a model description file that describes what components are needed, where to find them and where to put them in the source tree. The default file is called "CESM.xml" regardless of whether you are checking out CESM or a standalone component. checkout_externals requires access to git and svn repositories that require authentication. checkout_externals may pass through authentication requests, but it will not cache them for you. For the best and most robust user experience, you should have svn and git working without password authentication. See: https://help.github.com/articles/connecting-to-github-with-ssh/ ?svn ref? NOTE: checkout_externals.py *MUST* be run from the root of the source tree it is managing. For example, if you cloned CLM with: $ git clone git@github.com/ncar/clm clm-dev Then the root of the source tree is /path/to/cesm-dev. If you obtained CLM via an svn checkout of CESM and you need to checkout the CLM externals, then the root of the source tree for CLM is: /path/to/cesm-dev/components/clm The root of the source tree will be referred to as ${SRC_ROOT} below. To get started quickly, checkout all required components from the default model description file: $ cd ${SRC_ROOT} $ ./checkout_cesm/checkout_externals.py For additional information about using checkout model, please see: ${SRC_ROOT}/checkout_cesm/README or run: $ cd ${SRC_ROOT} $ ./checkout_cesm/checkout_externals.py --help