Github#

The CESM project is managed through the GitHub online software development platform. The CESM Project is hosted under the Earth System Community Modeling Portal (ESCOMP) which is managed by the University Corporation for Atmospheric Research (UCAR). The ESCOMP portal and the CESM project are publicly available and do not require a Github account for read and download access. You can find information, track conversations, create issues, and learn lots about what’s going on with CESM development through the CESM GitHub repository and the associated wiki.

Note: In the tutorial, where git commands are needed we explicitly detail what commands to use. You will not need to use Github for other activities in this Tutorial. We do however suggest that in your own time you become familar with Github, register as a Github user, and then become an active member of the CESM user and development community. When you make a free account in GitHub to access numerous repositories for different software code development at NCAR and beyond. Github, ESCOMP, and the CESM project are vast and you can get lost in this material for hours, days, weeks or even years. Don’t go too far off the path in this tutorial as we are expecting that you will focus on learning other Cheyenne and CESM code download tasks.

What are Git and GitHub?#

Git is an open-source version control software to track your changes in the source code.

GitHub is an online software development platform. GitHub provides a centralized online service to host the source code and version control using Git. GitHub is used for storing, tracking, and collaborating on software projects. It makes it easy for developers to share code files and collaborate with fellow developers on open-source projects. GitHub also serves as a social networking site where developers can openly network, collaborate, and pitch their work. GitHub allows software developers to create remote, publically available repositories on the cloud for free. A repository, or “repo” for short, is a coding project’s files and the revision history for each file.

Github Image

Figure: Top Level Github Header

Learning all the tricks and features of Git and GitHub takes some time to figure out. Below are some links to GitHub tutorials that can help you become more familiar with this powerful tool.

ESCOMP#

The ESCOMP github organization is managed by UCAR and NCAR to organize and manage large, community-oriented earth system modeling projects of broad interest. As shown below there are many projects beyond CESM managed under the ESCOMP organization. The component models (see CAM and CTSM in figure below) that make up CESM are also hosted under the ESCOMP organization.

ESCOMP Image

Figure: ESCOMP Github Header

CESM and GitHub#

The CESM Project has been hosted on Github since CESM2.0 under the ESCOMP organization. The CESM Project contains all development and release code for all subsequent versions of CESM. The CESM GitHub repository has the tools for managing the exeternal components that make up a CESM model tag. Additionally, the documentation at this repository provides information about software requirements to run CESM, developer guidelines, and a Quikstart guide to accessing CESM through GitHub.

CESM Project Image

Figure: CESM Project Github Header