Developing Scientific Software in Python
Mr. Duncan S Gray (Geoscience Australia) bio
30min ◊◊ Intermediate
Saturday 03:10pm, Ionic
categories:
science
This presentation will outline key lessons learnt in developing scientific software in
Python. Methods of maintaining and assuring code quality will be discussed, in particular:
- designing effective unit tests;
- visualising output data to discover defects; and
- designing characterisation tests to test the actual system behaviour and to
identify unintended system changes.
The challenges in optimising and parallelising Python code will also be presented,
including:
- profiling;
- using NumPy to optimise numerical computations;
- using C code for intensive computational tasks; and
- parallelising software to run on high performance environments such as clusters.
Python. Methods of maintaining and assuring code quality will be discussed, in particular:
- designing effective unit tests;
- visualising output data to discover defects; and
- designing characterisation tests to test the actual system behaviour and to
identify unintended system changes.
The challenges in optimising and parallelising Python code will also be presented,
including:
- profiling;
- using NumPy to optimise numerical computations;
- using C code for intensive computational tasks; and
- parallelising software to run on high performance environments such as clusters.


# Permalink