# Reference material

- python.org | Official Python Website
- Matlab<>Python 1 | Table showing syntax differences between Matlab and Python
- Matlab<>Python 2 | Table showing syntax differences between Matlab and Python
- Matlab<>Python <>R | Table showing syntax differences between Matlab, Python and R

# Tutorials and documentation

- UBC’c Tutorials | Series of Jupyter Notebooks

# Packages and libraries

### Ocean modelling

- Salish Sea Documentation and Repository| Great resources from UBC
- PyDOM | Implements various diagnostics for NEMO ocean model output.
- OCTANT | Ocean C-grid model setup and analysis toolkit. Tools for ROMS and GETM. Replaces PyROMS.

### Tides

- ttide_py | A direct conversion of Matlab’s T_Tide to Python (from Mitchell O’Flaherty-Sproul)
- UTide | Python distribution of the MatLab package UTide (from Wesley Bowman)
- PySeidon | Standardized numerical toolbox gathering specific analysis functions for measured and simulated data (FVCOM model) to the EcoEII partners

### Seawater properties

- Seawater Library for Python and it’s Documentation
- Seawater package
- cbsyst – module for calculating seawater carbon and boron chemistry

### Other Ocean tools

- IOOS Repository | US Integrated Ocean Observing System

### Scientific visualization and data analysis

- PyNGL & PyNIO | NOAA package for visualization and data analysis
- Oceanography Colormaps

# Other websites with lists of links

- Rob Hetland’s links | List of links
- Blog (Python4Oceanographers) and GitHub Repository of Filipe Fernandes (ocefpaf)
- Bjørn Ådlandsvik links | List of links

# Other websites of interest

- PyAOS | Python for Atmospheric and Oceanic Sciences (Johnny Lin)

# Older links (from a while ago)

- docs.python.org | Official Python Documentation
- Glossary | Official python glossary
- Matplotlib Gallery | Thumbnails of plots doable with Matplotlib (also colormaps1, 2, 3)
- Official Tutorial | Tutorial from the official python documentation website
- Tutorial | Tutorial from tutorialspoint
- Google’s Python Class | …and YouTube Videos: 1, 2, 3, 4, 5, 6 and 7
- Spyder Doc | Documentation for Spyder, a Matlab-looking python interface
- OOFE | Python engine to control the daily execution of ocean model ROMS in operational mode
- soda2roms | Creates climatology, initial, and boundary files for ROMS
- SEAPY | List of links

Advertisements

Should add Codecademny as a tutorial reference:

http://www.codecademy.com/tracks/python

Useful site that includes a selection of algorithms in multiple languages (including R, python, Matlab, C, etc)

http://rosettacode.org/wiki/Rosetta_Code

MIT Open Courseware for Intro to Programming (Python)

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/

I just found a post elsewhere pointing to a bunch of useful links. The second below would be especially useful for current matlab users looking to tryout python.

Python Scientific Lecture Notes

http://scipy-lectures.github.com/

Numpy Guide for Matlab users

http://www.scipy.org/NumPy_for_Matlab_Users

The Python g-node also organises a yearly summer school on scientific programming with Python. All the lecture presentations are available on the website.

Advanced Scientific Programming in Python (St Andrews 2011 Course)

https://python.g-node.org/wiki/schedule

MIT open course ware

6.189 A Gentle Introduction to Programming Using Python

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2008/

How to Think Like a Computer Scientist: Learning with Python 2nd Edition

http://openbookproject.net/thinkCSpy/

There are also some books on scientific Python programming published by Springer:

http://www.springerlink.com/content/978-3-642-02474-0

http://www.springerlink.com/content/978-3-540-73915-9