comses / comses.net

comses.net wagtail site
https://www.comses.net
GNU General Public License v3.0
17 stars 16 forks source link
agent-based-modeling codemeta community-project computational-modeling comses digital-repository open-science reproducibility wagtail

Support Open Science @ CoMSES Net

Django CI

All Contributors

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.

Computational Model Library

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.

Code of Conduct

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.

Ways to Contribute to CoMSES Net

Members are encouraged to participate and we welcome contributions of all kinds to our collective effort. Here's how you can contribute:

Publish your Model Source Code

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/

Peer Reviews

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.

Lead and Organize Community Activities on Our Forums

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.

Update Event and Job Boards

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/

Usability Testing

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.

Development

Technology Stack

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

Create an issue

Development Environment Setup

For more detailed development environment instructions, refer to the CoMSES Developer Guide.

Dependencies

  1. Install Docker (Ubuntu-specific install instructions)
  2. The new docker-compose-plugin (e.g., $ apt install -y docker-compose-plugin) provides a docker compose ... command that replaces old docker-compose ... invocations
  3. Create or update the file /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.

Apple Silicon + Docker workarounds

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:

  1. $ make build
  2. Edit the generated config.mk file and set BORG_REPO_URL to the URL of a borg backup with preserved comses.net gateway content (WIP)
  3. $ make restore

Debugging

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.

Other CoMSES Projects

Contributors ✨

This project follows the all-contributors specification. Contributions of all kinds are welcome!

Contributors (emoji key):

cpritcha
cpritcha

πŸ’» πŸ“– πŸ› 🚧 ⚠️ πŸ‘€
Christine Nguyα»…n
Christine Nguyα»…n

πŸ› πŸ’» πŸ“– 🎨 ⚠️ 🚧
Katrin Leinweber
Katrin Leinweber

πŸ’»
A Lee
A Lee

πŸ› πŸ’» πŸ“– πŸ” πŸ€” πŸš‡ 🚧 πŸ“† πŸ‘€ πŸ›‘οΈ ⚠️
sgfost
sgfost

πŸ’» 🎨 ⚠️
BlllueSea
BlllueSea

πŸ’»
Charles Sheelam
Charles Sheelam

πŸ’»
hwelsters
hwelsters

πŸ’»
Krisha Vekaria
Krisha Vekaria

πŸ’»