This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:python:jyp_steps [2021/06/30 13:18] jypeter [Quick Reference and cheat sheets] |
other:python:jyp_steps [2021/09/22 13:21] jypeter [cdms2] uv-cdat => cdat |
||
---|---|---|---|
Line 124: | Line 124: | ||
==== Extra numpy information ==== | ==== Extra numpy information ==== | ||
- | * More information about array indexing: | + | * More information about **array indexing**:\\ <wrap em>Always check what you are doing on a simple test case, when you use advanced/fancy indexing!</wrap> |
* Examples: | * Examples: | ||
* {{ :other:python:indirect_indexing_2.py.txt |}}: Take a vertical slice in a 3D zyx array, along a varying y 'path' | * {{ :other:python:indirect_indexing_2.py.txt |}}: Take a vertical slice in a 3D zyx array, along a varying y 'path' | ||
- | * [[https://numpy.org/doc/stable/user/basics.indexing.html|Indexing]] (//index arrays//, //boolean index arrays//, //np.newaxis//, //Ellipsis//, //variable numbers of indices//, ...) | + | * [[https://numpy.org/doc/stable/user/basics.indexing.html|Array indexing basics (user guide)]] (//index arrays//, //boolean index arrays//, //np.newaxis//, //Ellipsis//, //variable numbers of indices//, ...) |
+ | * [[https://numpy.org/doc/stable/reference/arrays.indexing.html|Array indexing (reference manual)]] | ||
* [[https://numpy.org/doc/stable/user/quickstart.html#advanced-indexing-and-index-tricks|Advanced indexing and index tricks]] and [[https://numpy.org/doc/stable/user/quickstart.html#the-ix-function|the ix_() function]] | * [[https://numpy.org/doc/stable/user/quickstart.html#advanced-indexing-and-index-tricks|Advanced indexing and index tricks]] and [[https://numpy.org/doc/stable/user/quickstart.html#the-ix-function|the ix_() function]] | ||
- | * [[https://numpy.org/doc/stable/reference/arrays.indexing.html|Indexing (in the numpy reference manual)]] | ||
* [[https://numpy.org/doc/stable/reference/routines.indexing.html#routines-indexing|Indexing routines]] | * [[https://numpy.org/doc/stable/reference/routines.indexing.html#routines-indexing|Indexing routines]] | ||
* More information about arrays: | * More information about arrays: | ||
- | * [[https://numpy.org/doc/stable/reference/routines.array-creation.html#routines-array-creation|Array creation routines]] | + | * [[https://numpy.org/doc/stable/reference/routines.array-creation.html|Array creation routines]] |
* [[https://numpy.org/doc/stable/reference/routines.array-manipulation.html|Array manipulation routines]] | * [[https://numpy.org/doc/stable/reference/routines.array-manipulation.html|Array manipulation routines]] | ||
* [[https://numpy.org/doc/stable/reference/maskedarray.html|Masked arrays]] | * [[https://numpy.org/doc/stable/reference/maskedarray.html|Masked arrays]] | ||
Line 149: | Line 149: | ||
==== cdms2 ==== | ==== cdms2 ==== | ||
- | Summary: cdms2 can read/write netCDF files (and read //grads// dat+ctl files) and provides a higher level interface than netCDF4. cdms2 is available in the [[other:python:starting#uv-cdat|UV-CDAT distribution]], and can theoretically be installed independently of UV-CDAT (e.g. it will be installed when you install [[https://cmor.llnl.gov/mydoc_cmor3_conda/|CMOR in conda)]]. When you can use cdms2, you also have access to //cdtime//, that is very useful for handling time axis data. | + | Summary: cdms2 can read/write netCDF files (and read //grads// dat+ctl files) and provides a higher level interface than netCDF4. cdms2 is available in the [[other:python:starting#cdat|CDAT distribution]], and can theoretically be installed independently of CDAT (e.g. it will be installed when you install [[https://cmor.llnl.gov/mydoc_cmor3_conda/|CMOR in conda)]]. When you can use cdms2, you also have access to //cdtime//, that is very useful for handling time axis data. |
How to get started: | How to get started: | ||
Line 166: | Line 166: | ||
===== CDAT-related resources ===== | ===== CDAT-related resources ===== | ||
- | Some links, in case they can't be found easily on the [[https://uv-cdat.llnl.gov|UV-CDAT]] web site... | + | Some links, in case they can't be found easily on the [[https://cdat.llnl.gov|CDAT]] web site... |
- | * [[https://uv-cdat.llnl.gov/tutorials.html|Tutorials in ipython notebooks]] | + | * [[https://cdat.llnl.gov/tutorials.html|Tutorials in ipython notebooks]] |
* [[http://cdat-vcs.readthedocs.io/en/latest/|VCS: Visualization Control System]] | * [[http://cdat-vcs.readthedocs.io/en/latest/|VCS: Visualization Control System]] | ||
* [[https://github.com/CDAT/vcs/issues/238|Colormaps in vcs examples]] | * [[https://github.com/CDAT/vcs/issues/238|Colormaps in vcs examples]] | ||
Line 296: | Line 296: | ||
//json// files look basically like a **list of (nested) python dictionaries** that would have been dumped to a text file | //json// files look basically like a **list of (nested) python dictionaries** that would have been dumped to a text file | ||
- | * [[https://docs.python.org/2/library/json.html|json module]] documentation | + | * [[https://docs.python.org/3/library/json.html|json module]] documentation |
* [[https://realpython.com/python-json/|Working With JSON Data in Python]] tutorial | * [[https://realpython.com/python-json/|Working With JSON Data in Python]] tutorial | ||
* example script: ''/home/users/jypeter/CDAT/Progs/Devel/beaugendre/nc2json.py'' | * example script: ''/home/users/jypeter/CDAT/Progs/Devel/beaugendre/nc2json.py'' |