Skip to content

Latest commit

 

History

History
29 lines (15 loc) · 1.86 KB

best-practices.md

File metadata and controls

29 lines (15 loc) · 1.86 KB

Best Practices

Helpful Templates

Thinking about starting a new project? It can be helpful to use a template so you are not starting from scratch.

Anderson Banihirwe (@andersy005) created a template repository for packages, which includes automated code-quality checkers. This can be a helpful place to start.

Within the Pangeo community, Julius Busecke (@jbusecke) created the "Cookiecutter-Science-Project" repository which serves as a template when you are working with Jupyter notebooks. This repository walks you through setting up your repository and syncing it up through Github.

Software Design

Currently, the ESDS group is experimenting with design documents for the next generation of diagnostics package. This is an example of the "4+1 View Model of Software Architecture" with an application to the diagnostics workflow. Feel free to use this example as a template!

A group of researchers and software engineers put together a helpful guide for developing scientific software, detailing the nuances of working Python stacks and the difference between daily use cases and more foundational libraries.

Managing Computational Resources

If you are using NCAR Computational and Information Systems Lab (CISL) resources such as Casper/Cheyenne, this is a great place to start with learning more making the most of your computing and storage allocations.