Climate Code Clinic
“Speaking to you guys is way quicker than Googling it, and generally more successful”.
What is a Climate Code Clinic?
Code Clinics are bookable on-demand software consultation/support sessions run by the ICCS RSE team.
At each session, members of the RSE will be available to review code, advise, troubleshoot and suggest ways to improve your computational workflows.
Short coding questions as well as questions about the Climate Code Clinic are answered on the #climate-code-clinic channel of the VESRI + CLIMA Communities Slack workspace or by email: iccs@maths.ac.uk
Who can book a Code Clinic?
The sessions are open to anyone affiliated with the VESRI programme, University of Cambridge or ICCS hackathon participants, that are seeking help on climate related programming problems and general advice on best practice.
Examples of code clinic requests include:
- Looking for help with a coding problem
- Wanting to explore possible ways to improve your code
- Looking for ways to make your code or workflows more reproducible
- Looking to improve performance of your code or understanding the step of how to profile.
- Wanting to automate a task
- Unsure of which software tools to use for your project
- Have a lot of data and need help organising, storing, accessing or visualising it
- Looking for help with version control
- Want to know more about making your code open and/or citable
- Seeking informal mentoring (by requesting regular help sessions).
How to prepare for a Code Clinic
Once you have requested a session these will be reviewed during the ICCS weekly planning meeting and an ICCS engineer will contact you via email to arrange a suitable time. We will share a Teams meeting with you once this is agreed.
Notes on preparing for your session
- Please provide examples of the code you are working on, if possible. Often the best way to do this is via a “Minimal, Reproducible Example” but sometimes this isn’t possible. It is good software engineering practice to share code using collaborative version control (eg GitHub) and it is good open research practice to do this publicly, although these practices are not always possible. If your code is on a private GitLab or GitHub then please let us know in the description.
- Sometimes helping with the problem requires us to understand your data. Sharing data is not always possible. A readme or data dictionary is particularly useful in these situations.
- Please provide any information you can on the hardware, operating system and packages you are using.
Limitations
We will be able to look through code with you during the session but will be unable to spend time on it outside of the help sessions. The more you do to prepare the more you will get out of the time you spend with our engineering. If you're unsure then book a first session and we can provide you with some guidance for further sessions.