Submitting your source code to the CSDMS repository is an easy three step process:
Watch how to contribute a model
Choose a License for your model
It is important to choose a license for your source code, once you have decided to make your model freely available on the CSDMS website. CSDMS requires that all source code that is freely available through the CSDMS model repository is licensed. Read more about how to choose the proper license and how to integrate the license into your source code.
Why is there a Model questionnaire
You first need to provide basic information about your model to the CSDMS community before you can submit the source code. This will make it easier for people to understand how to use your model, what they are allowed to do with your source code and what not. It also provides the opportunity to advertise papers that describe the model in more detail.
Submit source code to the CSDMS repository
Submitting the source code of your model is very straight forward. Zip or tar the source code and mail it to: CSDMSsupport@colorado.edu, or let us know when the files are to large, we can open a ftp site for you so you can upload your model.
Implement a Basic Model Interface to your model
CSDMS has created a [[BMI_Description|Basic Model Interface (BMI)] standards that make it possible to couple modules to each other. Implementing BMI to your model makes your model a plug-and-play component. Applying BMI introduces no dependencies into your model and therefore your model can still be used in a "stand-alone" manner. More...
CSDMS Standard Names
CSDMS developed standards to be able to map input and output variable names, so that models can be coupled to each other. These standards make it possible to automatically determine whether an input variable in one model (or database) is equivalent to (or compatible with) an output variable in another model (or database). Applying these standards does not require to have these standard names to be used within your model. However, CSDMS requires model contributors to implement the BMI, and this includes mapping each of the model's input and output variables to a CSDMS Standard Name. More...