Skip to content

This is the modular version of CryoGrid which is based on an object-oriented programming paradigm.

License

Notifications You must be signed in to change notification settings

jannitzbon/CryoGrid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CryoGrid Community Model

This is the community version of CryoGrid, a numerical model to investigate land surface processes in permafrost environments. CryoGrid is implemented in MATLAB.

Documentation

The documentation of the model is hosted on ReadTheDocs. Some parts of the documentation have yet to be incorporated into ReadTheDocs and are currently provided in a separate PDF.

Repository structure and git workflow

This repository contains the code base of CryoGrid. The repository contains two major branches:

  • The master branch hosts stable versions of the code base which have undergone various tests.
  • The develop branch hosts the latest version of the code base which includes recent functionalities. It might, however, not have been extensively tested.

We follow (more or less) the git-flow workflow to structure the repository and we recommend users and developers of CryoGrid to also stick to this workflow. Essentially, this means that new features are developed on dedicated feature branches which have the develop branch as their base. From time to time, sufficiently tested functionalities are merged from the develop branch into the master branch and these versions are tagged with a release number.

Getting started as a CryoGrid user

In order to run the model, additional user-modifiable files need to be obtained from the repository CryoGridExamples. See this section in the documentation for detailed instructions on how to set up the model code and how to run simulations.

If you only want to try out CryoGrid or use it without modifying the code base, you can download this repository by clicking on the button Code > Download ZIP and save and unzip it wherever you prefer. Alternatively, you can clone it to your local machine by using the command

$ git clone https://github.com/CryoGrid/CryoGrid.git /path/to/my/CryoGrid,

or by using GitHub Desktop.

If you consider to extensively use CryoGrid and to potentially contribute to its development, we strongly suggest to sign up for your own GitHub account and to create your own Fork of the repository using the Fork button in the top right corner.

Contributing as a CryoGrid developer

If you are already or want to become an active developer of CryoGrid, you will need to sign up for your own GitHub account and create your own Fork of the repository using the Fork button in the top right corner.

You can then clone the forked repository to your local computer:

$ git clone https://github.com/YourGithubUserName/CryoGrid.git /path/to/my/CryoGrid,

and start to work on the code. Remember to regularly take snapshots of your work by creating commits.

Once you are happy with your developments, you can push changes from your local repository back to your forked repository on GitHub:

$ git push origin develop.

Finally, if you think the CryoGrid community would benefit from your implementations, you can create a Pull request on the GitHub website. While doing so, you need to choose the develop branch of the official CryoGrid code base repository as the BASE branch , and the branch with the changes you want to contribute as COMPARE branch. See this tutorial for detailed instructions and examples on pull requests.

About

This is the modular version of CryoGrid which is based on an object-oriented programming paradigm.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 99.5%
  • HTML 0.5%