Software

From imk-tro wiki
Revision as of 15:20, 26 May 2023 by Gk5026 (talk | contribs)
Jump to navigation Jump to search

Essential Software

The following is a list of essential software packages and the links to their web pages:

Many of these can be installed using anaconda [1].

CDO

https://code.mpimet.mpg.de/projects/cdo/.

Note that CDO has a lot of built-in functions that are not well documented, but details about these can be usually found in their discussion forums, https://code.mpimet.mpg.de/projects/cdo/boards.

Python

Instructions on how to download and install Python for all OSs can be found at: https://www.python.org/.

It is usually recommended to use the Anaconda distribution to install Python. Details on how to do this are here: https://www.anaconda.com/

Python can be combined with a good Integrated Development Environment (IDE) of your choice. All existing IDEs have their pros and cons. Some of the most popular IDEs are the following:

Python boasts a large number of packages. Some of the most used packages for manipulating large files in NetCDF, HDF5 or CSV formats are the following:

Data analysis:

  • NumPy [9]
  • xarray [10], easy handling of large nc files.
  • pandas [11]
  • SciPy [12]

Parallel computing, Machine learning, Deep learning etc.:

Data visualization:

Most of these packages are distributed through either Conda [23] or Pip [24].

On top of these, various users also create packages tuned for specific purposes. They are usually made public through GitHub [25].

Various forums exist for the sole purpose of clearing specific questions about coding. One such forum is stackoverflow[26]. Medium [27] is also a good source for reading up about new ideas and tools in Python and other languages.

Visualisation

The visualisation of "nc" files can be made easier using:

  • NcView [28]
  • Panoply [29]
  • Paraview for 3D rendering [30], note this one requires more computational power and should ideally be run through a supercomputer via VNC client.
  • Cartopy (python package) for maps [31]
  • Matplotlib (standard python package) [32]


Colourblind Friendly Plotting Tools

Here's a list of a few websites that have information and also palette generation for colourblind friendly plots: