× This Challenge was posted 5 months ago

Challenge Project

Reproducible research environments

Sometimes you really need to run this awful old code. How to make this easier for your future self?

Why is it important?

Sometimes you really need to run some old code. Maybe it is a obscure Fortran 77 program, written by an advisor of your advisor. Maybe it is a Python script from another PhD student who left a few years ago, which uses particular combination of packages no longer working in Python 3.10. With some luck there might be a README file, but you never know for sure how accurate it is.

Needless to say, how painful it could be.

So, what can I do?

Time-traveling still works in only one direction. There is never enough time to write the documentation.  However, not all hope is lost: you can always try to make things easier for your future self (or for another poor soul).

The idea of this session is to overview & compare the tools, which can help with creating the environments for your projects and reconstruct the same environments in the future.

Which tools?

  • conda / mamba  or any language-specific package manager
  • environment modules or spack
  • containerization:  Docker, Charliecloud or Apptainer
  • functional package managment: Nix and Guix
  • something else?

How to contribute to this session?

  • Tell a story how you were trying to run some very old code
  • Do you pack your stuff in Docker? You can show the Dockerfile and explain what's inside.
  • Do you compile some MPI codes on a few different clusters and also on your PC and laptop? (where there is MPICH insted of IMPI for example) How do you archive it?
  • Share your tricks to make python scripts do not break with every python update :)

I (Iliya) have some experience with conda, Docker and Guix, so I can talk about all these things. Something similar (but not limited to) to this.

There would be topics and ideas.

So far, * Iliya (something about Docker & Guix) * add yourself!

This content is a preview from an external site.
 
👋 TBD (on zulip)
💻 Source
Be excellent to each other :)
The IMPRS-Astro Hackathon is a community event intended for networking and collaboration as well as learning. We value the participation of every member of the workshop and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees throughout the workshop and to abide by following our Code of Conduct. Any issues can be brought to the confidential attention of the workshop organizers, and thank you for helping make this a welcoming, friendly event for all.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.