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/02/12 15:04] jypeter [Graphics related resources] Added IPCC related links |
other:python:jyp_steps [2021/09/22 13:18] jypeter [CDAT-related resources] 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://docs.scipy.org/doc/numpy/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://docs.scipy.org/doc/numpy/user/quickstart.html#fancy-indexing-and-index-tricks|Fancy indexing]] and [[https://docs.scipy.org/doc/numpy/user/quickstart.html#the-ix-function|the ix_() function]] | + | * [[https://numpy.org/doc/stable/reference/arrays.indexing.html|Array indexing (reference manual)]] |
- | * [[https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html|Indexing (in the numpy 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://docs.scipy.org/doc/numpy/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://docs.scipy.org/doc/numpy/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://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html|Array manipulation routines]] | + | * [[https://numpy.org/doc/stable/reference/routines.array-manipulation.html|Array manipulation routines]] |
- | * [[https://docs.scipy.org/doc/numpy/reference/maskedarray.html|Masked arrays]] | + | * [[https://numpy.org/doc/stable/reference/maskedarray.html|Masked arrays]] |
- | * [[https://docs.scipy.org/doc/numpy/reference/routines.ma.html|Masked array operations]] | + | * [[https://numpy.org/doc/stable/reference/routines.ma.html|Masked array operations]] |
- | * [[https://docs.scipy.org/doc/numpy/user/misc.html#ieee-754-floating-point-special-values|Dealing with special numerical values]] (//Nan//, //inf//) | + | * [[https://numpy.org/doc/stable/user/misc.html#ieee-754-floating-point-special-values|Dealing with special numerical values]] (//Nan//, //inf//) |
- | * If you know that your data has missing values, it is cleaner and safer to handle them with [[https://docs.scipy.org/doc/numpy/reference/maskedarray.html|masked arrays]]! | + | * If you know that your data has missing values, it is cleaner and safer to handle them with [[https://numpy.org/doc/stable/reference/maskedarray.html|masked arrays]]! |
- | * [[https://docs.scipy.org/doc/numpy/user/misc.html#how-numpy-handles-numerical-exceptions|Handling numerical exceptions]] | + | * [[https://numpy.org/doc/stable/user/misc.html#how-numpy-handles-numerical-exceptions|Handling numerical exceptions]] |
- | * [[https://docs.scipy.org/doc/numpy/reference/routines.err.html|Floating point error handling]] | + | * [[https://numpy.org/doc/stable/reference/routines.err.html|Floating point error handling]] |
===== cdms2 and netCDF4 ===== | ===== cdms2 and netCDF4 ===== | ||
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 204: | Line 204: | ||
* [[https://www.carbonbrief.org/guest-post-the-perils-of-counter-intuitive-design-in-ipcc-graphics|The perils of counter-intuitive design in IPCC graphics]] | * [[https://www.carbonbrief.org/guest-post-the-perils-of-counter-intuitive-design-in-ipcc-graphics|The perils of counter-intuitive design in IPCC graphics]] | ||
* Working with **colors** | * Working with **colors** | ||
- | * **Do not use the outdated //rainbow// colormap!** | + | * Choosing specific colors: use [[https://www.w3schools.com/colors/colors_names.asp|HTML color names]], the [[https://www.w3schools.com/colors/colors_picker.asp|HTML color picker]], etc... |
- | * [[http://geog.uoregon.edu/datagraphics/EOS/Light-and-Bartlein.pdf|The End of the Rainbow? Color Schemes for Improved Data Graphics]] (Light and Bartlein, EOS 2004, including replies and comments) | + | * **Do not use the outdated //rainbow// and //jet// colormaps!** |
+ | * [[https://pjbartlein.github.io/datagraphics/index.html|The End of the Rainbow? Color Schemes for Improved Data Graphics]] (Light and Bartlein, EOS 2004, including replies and comments) | ||
* [[http://colorspace.r-forge.r-project.org/articles/endrainbow.html|Somewhere over the Rainbow]] | * [[http://colorspace.r-forge.r-project.org/articles/endrainbow.html|Somewhere over the Rainbow]] | ||
+ | * [[https://www.nature.com/articles/s41467-020-19160-7|The misuse of colour in science communication]] | ||
* [[https://matplotlib.org/users/colormaps.html|Choosing colormaps]] | * [[https://matplotlib.org/users/colormaps.html|Choosing colormaps]] | ||
* [[https://matplotlib.org/cmocean/|cmocean: Beautiful colormaps for oceanography]] | * [[https://matplotlib.org/cmocean/|cmocean: Beautiful colormaps for oceanography]] | ||
Line 213: | Line 215: | ||
* The [[http://hclwizard.org/|hclwizard]] provides tools for manipulating and assessing colors and palettes based on the underlying ''colorspace'' software | * The [[http://hclwizard.org/|hclwizard]] provides tools for manipulating and assessing colors and palettes based on the underlying ''colorspace'' software | ||
* NCL (NCAR Command Language) [[https://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml|Color table Gallery]] | * NCL (NCAR Command Language) [[https://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml|Color table Gallery]] | ||
+ | * JYP's favorite title: [[https://www.researchgate.net/publication/220943662_The_Which_Blair_Project_A_Quick_Visual_Method_for_Evaluating_Perceptual_Color_Maps|The "Which Blair Project": A Quick Visual Method for Evaluating Perceptual Color Maps]] | ||
Line 237: | Line 240: | ||
===== Cartopy + Iris ===== | ===== Cartopy + Iris ===== | ||
- | Summary: //Cartopy is a Python package for advanced map generation with a simple matplotlib interface// and //Iris is a Python package for analysing and visualising meteorological and oceanographic data sets// | + | Summary: |
+ | * **Cartopy** is //a matplolib-based Python package designed for geospatial data processing in order to produce maps and other geospatial data analyses// | ||
+ | * **Iris** is //a powerful, format-agnostic, community-driven Python package for analysing and visualising Earth science data.// | ||
- | Where: [[http://scitools.org.uk/cartopy/docs/latest/|Cartopy]] and [[http://scitools.org.uk/iris/index.html|Iris]] web sites | + | Where: [[http://scitools.org.uk/cartopy/docs/latest/|Cartopy]] and [[https://scitools-iris.readthedocs.io/en/stable/|Iris]] web sites |
Examples: | Examples: | ||
* [[other:python:maps_by_jyp|Examples provided by JYP]] | * [[other:python:maps_by_jyp|Examples provided by JYP]] | ||
- | * [[http://scitools.org.uk/cartopy/docs/latest/gallery.html|Gallery on the Cartopy web site]] | + | * Official gallery pages: [[https://scitools.org.uk/cartopy/docs/latest/gallery/index.html|Cartopy]] - [[https://scitools-iris.readthedocs.io/en/stable/generated/gallery/|Iris]] |
- | * [[http://scitools.org.uk/iris/docs/latest/gallery.html|Gallery on the Iris web site]] | + | |
- | * [[http://scitools.org.uk/iris/docs/latest/examples/index.html|Examples on the Iris web site]] | + | |
- | Help on //stack overflow//: [[https://stackoverflow.com/questions/tagged/cartopy|cartopy help]] | + | Help on //stack overflow//: [[https://stackoverflow.com/questions/tagged/cartopy|Cartopy help]] - [[https://stackoverflow.com/questions/tagged/python-iris|Iris help]] |
===== Maps and projections resources ===== | ===== Maps and projections resources ===== | ||
Line 293: | 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'' | ||
Line 348: | Line 351: | ||
* [[https://www.cheatography.com/weidadeyue/cheat-sheets/jupyter-notebook/pdf_bw/|Jupyter Notebook Keyboard Shortcuts]] | * [[https://www.cheatography.com/weidadeyue/cheat-sheets/jupyter-notebook/pdf_bw/|Jupyter Notebook Keyboard Shortcuts]] | ||
+ | |||
+ | ===== Miscellaneous Python stuff ===== | ||
+ | |||
+ | Check the page about [[other:python:misc_by_jyp|useful python stuff that has not been sorted yet]] | ||
===== Misc tutorials ===== | ===== Misc tutorials ===== |