CoMSES Net is an open, international community of researchers, educators and professionals with the common goal of improving the way we develop, document, share, and (re)use computational models in the social and ecological sciences. This repository contains the codebase for the comses.net CMS and Model Library, built with Wagtail, Django Rest Framework, and VueJS.
The Computational Model Library maintains distinct submission information packages (SIPs) and archival information packages (AIPs) using bagit, and emits structured, standardized metadata on every model landing page. All computational models offer citations that adhere to the guidelines and practices set forth by the Force 11 Software Citation Working Group. Models can also undergo peer review to receive a DOI and open code badge.
Members who participate in this project agree to abide by the CoMSES Net Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to editors@comses.net.
Members are encouraged to participate and we welcome contributions of all kinds to our collective effort. Here's how you can contribute:
We develop and maintain the CoMSES Model Library, a digital repository for publishing model code that supports discovery and the FAIR Principles for Research Software, software citation, reproducibility and reuse.
Publish your model here: https://www.comses.net/codebases/
The CoMSES Net Peer Review Process helps to verify that a computational model's source code and documentation meets baseline community standards from the software engineering and scientific communities that we serve.
Peer reviewers follow a simple checklist and inspect model code and documentation for completeness, cleanliness, and the ability to run the computational model without errors.
We're always looking for new members willing to review computational models. Feel free to submit your own computational models for peer review as well - after they pass peer review they will be eligible to be issued a DOI.
Members of our community also use the CoMSES Net Discourse Forums to discuss models, events, jobs, ask questions, and more. If you'd like to lead a journal club or model club or coordinate any other activities on these forums, please contact us.
All registered CoMSES Net members can post information about upcoming conferences, workshops and job openings on our events and jobs boards. If you would like to spread the word for new job opportunities or events, please feel free to register on our site and post it on our site!
Events board: https://www.comses.net/events/
Jobs board: https://www.comses.net/jobs/
CoMSES Net is actively working with the Science Gateways Community Institute to improve the usability of our services. Please let us know if you'd like to participate in upcoming usability studies, or help us conduct usability studies in your institution or area. If you encounter any usability issues while using CoMSES Net we'd love to hear your feedback too! You can use the GitHub issues here or send us a private note through the contact form.
Javascript: VueJS, typescript
Python: Django Rest Framework, Wagtail
Linux, PostgreSQL, Redis, Elasticsearch, Docker
Pull requests, issues to request new features, enhancements, or bug reports are all welcome. Please make sure to review the CONTRIBUTING.md guidelines.
Create a pull request from a fork
For more detailed development environment instructions, refer to the CoMSES Developer Guide.
docker-compose-plugin
(e.g., $ apt install -y docker-compose-plugin
) provides a docker compose ...
command that replaces old docker-compose ...
invocations/etc/sysctl.d/99-docker.conf
and add a line vm.max_map_count=262144
so elasticsearch can run properly. You can create / access the file with any plaintext editor like nano e.g., $ sudo nano /etc/sysctl.d/99-docker.conf
- follow the in-terminal nano instructions to save and exit.For M1/M2 chipsets you must have export DOCKER_DEFAULT_PLATFORM=linux/amd64
set to properly build the Docker images from the command-line. Place this environment variable setting in a shell startup file e.g., .bashrc
| .profile
| .zshrc
| .zprofile
so that it will be automatically set when you open an interactive CLI shell to initiate a Docker build.
Building and installing from a fresh clone of the repository can be done by:
$ make build
config.mk
file and set BORG_REPO_URL
to the URL of a borg backup with preserved comses.net
gateway content (WIP)$ make restore
Enabling debugging requires custom workarounds to make the Docker environment accessible to your local system and IDEs. Visual Studio Code has a container environment that can be useful: https://code.visualstudio.com/docs/remote/containers
You can also install project dependencies into your local system. Maintaining isolation with Python and JavaScript virtual environments is strongly recommended.
This project follows the all-contributors specification. Contributions of all kinds are welcome!
Contributors (emoji key):