{"id":13935197,"url":"https://github.com/koldunovn/python_for_geosciences","last_synced_at":"2025-11-03T16:34:23.515Z","repository":{"id":64082232,"uuid":"13816054","full_name":"koldunovn/python_for_geosciences","owner":"koldunovn","description":"Introduction to python use in geosciences. ","archived":false,"fork":false,"pushed_at":"2020-04-29T18:36:01.000Z","size":12323,"stargazers_count":472,"open_issues_count":0,"forks_count":247,"subscribers_count":60,"default_branch":"master","last_synced_at":"2025-07-19T21:55:49.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koldunovn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-23T22:01:12.000Z","updated_at":"2025-07-03T05:27:04.000Z","dependencies_parsed_at":"2023-01-14T21:15:18.228Z","dependency_job_id":null,"html_url":"https://github.com/koldunovn/python_for_geosciences","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/koldunovn/python_for_geosciences","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldunovn%2Fpython_for_geosciences","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldunovn%2Fpython_for_geosciences/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldunovn%2Fpython_for_geosciences/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldunovn%2Fpython_for_geosciences/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koldunovn","download_url":"https://codeload.github.com/koldunovn/python_for_geosciences/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koldunovn%2Fpython_for_geosciences/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280893609,"owners_count":26409279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-07T23:01:27.872Z","updated_at":"2025-10-25T01:54:06.569Z","avatar_url":"https://github.com/koldunovn.png","language":"Jupyter Notebook","readme":"Python for Geosciences\n======================\n\nVideo of the course available here https://www.youtube.com/watch?v=5nunA-pSS2g\n\nYou can run this notebooks interactevely on [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/koldunovn/python_for_geosciences/master)\n \nThis is a short overview of how Python is used in science and particularly in geosciences. \nThe idea is to show how to setup Python for purposes of scientific computation and visualization, cover some basic features of the language and show some of the real world applications such as:\n\n* Array manipulations.\n* I/O (binary, txt, netCDF, mat).\n* Creation of maps and graphics.\n* Time series analysis.\n\nThis overview is aimed at the scientists who are interested in Python but don't know how to start using it (this might be really confusing for a newcomer), or would like to learn more about possible Python applications. For those of you who already use Python there will be nothing really new.\n\nThis notes will be helpful only if you know some programming language already (preferably Matlab). Notes are also avalible as webpages at [earthpy.org](http://earthpy.org/category/introduction-to-python.html).\n\nPRs with corrections are very welcomed.\n\n## Getting started for Linux/Mac\n\nThe fastest way is to install [Miniconda](http://conda.pydata.org/miniconda.html), that contains [`conda`](http://conda.pydata.org/docs/intro.html) package manager and `Python`. On the [Miniconda](http://conda.pydata.org/miniconda.html) page select **Python 3** installer script for your system and download it, for example:\n\n```\nwget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh\n```\n\nChange mode of the downloaded scrip to executable, e.g.:\n\n```\nchmod +x Miniconda3-latest-MacOSX-x86_64.sh\n```\n\nRun installation process:\n```\n./Miniconda3-latest-MacOSX-x86_64.sh\n```\nAt the end the script will offer you to add Miniconda3 install location to the PATH in your `.bashrc/.bash_profile`. You should say 'yes'. Please double check that you have something like this in your `.bashrc/.bash_profile`:\n\n```\n# added by Miniconda3 4.3.21 installer\nexport PATH=\"/Users/koldunovn/miniconda3/bin:$PATH\"\n```\nIf you for whatever strange reason use csh/tcsh, then add to your `.cshrc`:\n\n```\nsetenv PATH /Users/koldunovn/miniconda3/bin:$PATH\n```\nNow you can open a new terminal window (sourcing not always works) and try to type:\n\n```\nconda\n```\nif as a result you see conda help, then everything is set up properly. The last thing before installing packages is to add `conda-forge` channel:\n```\nconda config --add channels conda-forge \n```\nNow you can install nessesary packages:\n```\nconda install ipython jupyter matplotlib scipy pandas basemap netcdf4 requests xarray cartopy\n```\nTo begin working with notebooks execute:\n```\njupyter notebook\n```\nthe browser should pop up with jupyter main page. You can navigate to the folder with notebooks from there and open them.\n\n## Getting started for Windows\n\n- First you have to download and install Anaconda python distribution for your system from [here](https://www.anaconda.com/products/individual#windows) (scroll down to \"Anaconda installers\"). [There is a nice video tutorial](https://medium.com/@GalarnykMichael/install-python-anaconda-on-windows-2020-f8e188f9a63d). If installation is sucessful, you will be able to work with notebooks from 02 to 07. In order to work with `netCDF` files `Basemap`, `cartopy`, `xarray` some additional steps are required.\n\n- Go to start menu and launch `Anaconda prompt` programm.\n- Execute follwing commands:\n```\nconda config --add channels conda-forge \n```\nand then\n```\nconda install basemap netcdf4 requests xarray cartopy\n```\n- Agree with installation of additional packages by entering `Y`\n\nNow you should be good to go. You can launch Jupyter notebook from visual Anaconda interface, or by opening `Anaconda prompt` and typing:\n```\njupyter notebook\n```\n\n\nLinks to nbviewer versions\n======================\n\n[00 Why python?](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/00%2520-%2520Why%2520Python.ipynb)\n\n[01 Scientific modules and IPython](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/01%2520-%2520Scientific%2520modules%2520and%2520IPython.ipynb)\n\n[02 Python basics](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/02%2520-%2520Python%2520basics.ipynb)\n\n[03 NumPy arrays](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/03%2520-%2520NumPy%2520arrays.ipynb)\n\n[04 Work with different data formats](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/04%2520-%2520Work%2520with%2520different%2520data%2520formats.ipynb)\n\n[05 Graphs and maps (Matplotlib and Basemap)](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/05%2520-%2520Graphs%2520and%2520maps%2520%2528Matplotlib%2520and%2520Basemap%2529.ipynb)\n\n[06 Time series analysis (Pandas)](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/06%2520-%2520Time%2520series%2520analysis%2520%2528Pandas%2529.ipynb)\n\n[07 Other modules for geoscientists and collection of links](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/07%2520-%2520Other%2520modules%2520for%2520geoscientists.ipynb)\n\n[Links](http://nbviewer.ipython.org/urls/raw.github.com/koldunovn/python_for_geosciences/master/Links.ipynb)\n\nAuthor\n========\nNikolay Koldunov\n\nkoldunovn@gmail.com\n","funding_links":[],"categories":["Jupyter Notebook","IPython Notebooks"],"sub_categories":["Pandas"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldunovn%2Fpython_for_geosciences","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoldunovn%2Fpython_for_geosciences","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldunovn%2Fpython_for_geosciences/lists"}