COSIMA 2-day Hackathon v5.0 – Monday Sep 8 & Tuesday Sep 9, 2025

:man_technologist: :woman_technologist: :man_technologist: :woman_technologist:

Hackathon v5.0 is on! This time it’s a 2-day event.

This year’s dress up theme is: extravagant op-shop find :kimono: :woman_s_hat: :woman_dancing:t4::sari::running_shirt: (thanks to @JuliaN)

When: Monday, Sep 8th, 10am-4pm & Tuesday, Sep 9th, 9am-5pm
Where: Melbourne Connect Building, Carlton, Melbourne (UniMelb campus)

What to expect?

The first day there will be some lots training sessions, some discussions, working on open issues/new ones, some hacking, and the COSIMA Annual Bocce Tournament.

The second day we hack! All day!

We’ve had interest from many people and like last year we decided to split the participants into four different groups: G1, G2, G3, G4. These groups are mostly relevant for the Monday day with the training sessions.

What follows is the agenda and where each group fits in…

Monday, Sep 8th

(pre-party)

  • 9:00–10:00
    G1, G2, G3, G4: Coffee :hot_beverage:, chit-chat, people arriving, some start working on issues, some start catching up, hugs, laughs, etc

(hackathon time)

  • 10:00–10:10
    G1, G2, G3, G4 @ Room Forum 3: Welcome, Outline of hackathon, then disperse into groups

  • 10:15–11:15
    G1 @ Room M13/14: Training on git, Github, cloning and editing the recipes for own use. [Training lead: ACCESS-NRI]
    G2 @ Room M01/02. Training session on editing recipes and submitting PRs. [Training lead: ACCESS-NRI]
    G3 @ Room M07: Training session on reviewing PRs + good coding practices. [Training leads: @taimoorsohail and @navidcy]
    G4 @ Room Forum 3: Work on issues :computer: (update/close/issue new ones) [leading: @JuliaN and @adele-morrison]

  • 11.15-11:45
    G1, G2, G3, G4: Morning tea, coffee, and cake :cake:

  • 11:45-1:00
    G1, G2, G3, G4 @ Room Forum 3: COSIMA ethics recap, COSIMA Recipes style guide discussion + Start assigning issues and hacking

  • 1:00-2:00
    G1, G2, G3, G4: Lunch :green_salad: :sandwich: :pizza:

  • 2:00-2:45
    G1, G2, G3, G4 @ Room Forum 3: Finish allocate issues to work on; hack hack hack

  • 2:45-3:45
    G1, G2, G3, G4 @ All rooms (Room Forum 3 and M13/14 and M01/02 and M07). Hack away!

(post-day 1 bocce)

  • 3:45-late
    Annual COSIMA Bocce Tournament :pool_8_ball:

Tuesday, Sep 9th @ Studio Room

  • 9-10:45am: Hacking

  • 10:45–11:15: Morning tea, coffee, and cake :cake:

  • 11:15-12:45: Hacking

  • 12:45-2:00: Lunch :green_salad: :sandwich: :pizza:

  • 2:00-3:15: Hacking

  • 3:15-3:45: Afternoon tea, coffee, and cake :cake:

  • 3:45-5pm: Hacking

(post-hackathon drinks)

The GitHub project for the Hackathon v5.0 is online! Feel free to browse and find an issue that you’d like to work on. Feel even more free to assign yourself to that issue!

If you have a new idea of something you’d like to do that is not already include in the project then just open a new issue about it in the COSIMA Recipes and add it on the Hackathon v5.0 project. (Ask here and we’ll help you do that if you don’t know how.)

4 Likes

As more information comes in, we will be updating the top post in this thread!

So keep looking. Soon the dress up theme will be announced…

I can’t wait!

Who wants to volunteer for taking on the role of choosing the 2025 Hackathon dress-up theme? Most important job on the team!

This year’s dress up theme is: extravagant op-shop find :kimono: :woman_s_hat: :woman_dancing:t4: :sari::running_shirt: (thanks to @JuliaN)

For those who’ve been holding on their chairs for Hackathon v5.0 dress up theme: time to hit those op shops in your hood!

2 Likes

The Hackathon v5.0 Github Project is online at COSIMA Hackathon v5.0 🧑🏻‍💻👩🏾‍💻 · GitHub

The vision for the Cookbook which we would like to be the backbone of this hackathon (and moving forward) is summarised below:

Who are the COSIMA Cookbook Recipes for?

Everyone! But often the people who need them most are students and ECRs learning how to analyse COSIMA output for the first time. Thus we aim to keep the code as easy to understand as possible; pedagogy is top priority.

For example: use in-line commenting, use variable and function names that are self-explanatory, limit use of additional layers of coding complexity (dictionaries, cf-xarray, etc) that are not essential.

Action items:

  1. Make clear instructions for where new users should start and which tutorials we recommend completing before they begin tackling any of the Recipes. Suggested tutorial order:
    a) COSIMA_CookBook_Tutorial
    b) ACCESS-NRI_Intake_Catalog
    c) Making_Maps_with_Cartopy
    d) [New] Tutorial_on_model_grids_and_xgcm
  2. Add more in-line commenting, and use variable and function names that are self-explanatory.
  3. Remove cf-xarray & pint.

What is the assumed knowledge for users?

Python, xarray and Jupyter notebooks.
How to find and solve bugs in code when adapting for own use.

Action items:

  1. Ensure that we link to basic Python and xarray material somewhere in the Tutorials/Wiki/Cookbook Docs.

Overall philosophy we are aiming for:

We would like the Recipes to be educational rather than black boxes for people to copy-paste code. This means that we don’t need examples of every use case, and there needs to be enough documentation for users to understand code so they can adapt it to different use cases. e.g. We don’t need every recipe to have code for both MOM5/MOM6.

Action items:

  1. Add a tutorial explaining grid basics and grid differences between MOM5/MOM6 to help users understand how models work under the hood and also enable them to convert Recipes to a different model for their own use.
  2. Remove model agnosticity, so that each recipe works only for either MOM5 or MOM6 (prioritise MOM6). At the top of each Recipe, add instructions for converting to the other model. (In most cases it’s just the different variable/coord names, but in some cases grid differences come into play.)
  3. Some Recipes may need more documentation.
  4. Add tags / labels to Recipes so people can find specific pieces of code within the larger recipe (e.g. how to use the GibbSeaWater package, how to save intermediate output files etc).
1 Like