Skip to content

margaretlindeman/eps135-oceanobs

Repository files navigation

EPS/ESE 135

Observing the Ocean: Measurements and Instrumentation

Fall 2025

Materials and code for EPS/ESE 135 data visualization & analysis assignments will be available in this Github repository. The course syllabus and other information can be found on the Canvas page. This page includes some tips for setting up Python and some helpful resources — if you have different suggestions, or if there are other resources that you find especially helpful, please share them with me and I'll update this page!

Setting up Python

If you don't already have Python set up on your machine, I recommend installing the Anaconda Distribution. Python is open-source and modular, which means that there are nearly limitless libraries with potentially useful functions that you may wish to explore, but the Anaconda distribution includes most of the most-commonly used packages. (You can also install Miniconda from the same link, which is a smaller download but will require you to download other packages later.) The Anaconda Navigator itself is basically an app that allows you to edit your Python environment via a GUI/graphical user interface and launch various Python applications, including Jupyter Lab. We will be using Jupyter Notebooks for coding assignments in this course because they are interactive and also lend themselves to good documentation, which is a key part of data analysis and visualization.

It's good practice to maintain separate Python environments for different projects, which may require different versions of certain libraries or various packages with incompatible dependencies. You can create an environment that includes the packages needed for these assignments from the environment.yaml file in this repo by following the steps here or using the Import button under the Environments tab in Anaconda Navigator.

Getting started with Python

If you are new to Python, I strongly recommend this thorough primer from Project Pythia, which covers the foundational skills and key Python packages that you are likely to use in earth science data analysis. It's great either to work through systematically or to use as a reference as needed. They also offer more advanced, specialized cookbooks for certain applications.

Python resources

There are many other excellent Python resources around the internet that you may find useful, including:

  • Software Carpentry, which will introduce you to basic coding principles and Python syntax. If you have not done much or any coding previously, this is a nice first stop. (In addition to programming in Python, they have open-source materials on how to use the Unix shell/Terminal and version control with Git, all of which I'd recommend if you're interested in developing those skills further!)
  • ClimateMatch Academy, which is an open-source climate-focused data science course with videos and hands-on data examples. These can be worked through in order as a structured course, or you can identify modules that cover methods you're interested in applying to your own work.
  • Jupyter notebook tutorial
  • If you have previously worked in Matlab, you may find this cheat sheat helpful. It provides Python "translations" for some basic Matlab operations and syntaxes. (A key point not covered here: Matlab indexing starts at 1 and Python indexing starts at 0!)
  • All of the code libraries you are using have extensive online documentation that will help you determine the necessary inputs and outputs for each function, etc. Google is a great way to find this information!

If you are stuck...

  1. If you can, ask a classmate first! This will help you both learn.

  2. If you Google the issue or the error that you are running into, you can often find forum posts from people who dealt with a similar issue in the past, which can be helpful.

  3. If you're still stuck, email me the details of your issue or set up a meeting!

  4. Generative AI chatbots can save you time with certain types of coding tasks, but the code they generate can contain errors. It's important to develop some basic understanding of how Python works so that you can identify issues and debug code that you get from outside sources. The course AI policy also applies to these assignments: use AI only where explicitly permitted and disclose/document any such use. (I will do the same!)

About

Code for ocean observing course (Fall 2025).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages