From abebc6dd79932b8902a3039287506fa4f2903e85 Mon Sep 17 00:00:00 2001 From: Tom Bendall Date: Sat, 3 Aug 2024 09:31:12 +0100 Subject: [PATCH 1/6] update PR template and add case study template --- .github/pull_request_template.md | 29 +++-- templates/template_case_study.py | 178 +++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 11 deletions(-) create mode 100644 templates/template_case_study.py diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 5ca3050..ab96fd8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,16 +1,23 @@ # Add or update a Gusto case study -Here is a checklist of things that must be done before a new case study -will be included: -- [ ] Readme with: - - [ ] Instructions for running the case study. - - [ ] Instructions for reproducing included checkpoint and image. - - [ ] -- [ ] Case study as a function -- [ ] Test added to the root directory -- [ ] Output checkpoint (or link to GH-LFS of the checkpoint) -- [ ] Image of the case study -- [ ] +Here is a checklist of things that should be done to add a new case study to +the repository: +- [ ] The case study has been prepared from the case studies template in `templates/template_case_study.py`. This ensures that the case study: + - [] begins with documentation of the case + - [] includes a dictionary of default argument values + - [] is run through a function + - [] follows the standard order of sections: + 1. test case parameters + 2. set up of model objects + 3. initial conditions + 4. run + - [] includes a `__main__` routine with arg-parsing of command line arguments +- [ ] The case study has a quick-to-run test form in the relevant `test_*.py` file, so that it will be run as part of CI +- [ ] A plotting script has been added to the relevant `plotting` directory, with a name that matches the case study script +- [ ] Neat figures have been added to the relevant `figures` directory, with names that match the case study script +# Add or update a plotting script +Here is a checklist of things that should be done to add a new plotting script to the repository: +- [] The plotting script has been prepared from the template in `templates/template_plot.py`