Key Points

Getting Started with the Shell


  • “The shell is a powerful interface for scientific workflows and automation.”
  • pwd, ls, and cd are core commands for navigation.”
  • mkdir, touch, cp, mv, and rm cover most basic file operations.”
  • echo with > and >> lets you create files and append text from the command line.”
  • cat displays text file contents quickly in the terminal.”
  • nano is a beginner-friendly terminal editor for creating and updating text files.”
  • “Use --help, man, and tab completion to work faster and more safely.”

Working with data in Xarray


  • “Xarray can load NetCDF files (and other formats such as GRIB and Zarr).”
  • “We can address dimensions by name with dot syntax, bracket syntax, sel, and isel.”
  • “With lazy loading, data are only loaded into memory when needed.”
  • “Whole-array math operations are usually more efficient than explicit Python loops.”
  • “Custom functions can be applied across arrays with tools such as apply_ufunc.”
  • “Xarray can plot directly through Matplotlib-backed plotting methods.”
  • “Hvplot enables interactive visualisations.”
  • “Xarray includes built-in patterns such as resampling, grouping, rolling, and coarsening.”

Introduction to Git


  • “Install Git locally and configure your identity before starting a project.”
  • “Create a GitHub account so you are ready for collaboration and remote repositories.”
  • git status, git diff, git add, and git commit form the core local workflow.”
  • “Git history (git log, git show) lets you track what changed and when.”
  • “Branches isolate work; merging brings reviewed changes back into main.”
  • “The staging area is central to Git: it lets you build clean, intentional commits.”
  • “Frequent git status checks help you stay oriented and avoid mistakes.”