{"id":23832007,"url":"https://github.com/csdms/reccs","last_synced_at":"2026-04-17T13:31:58.636Z","repository":{"id":37941950,"uuid":"362539394","full_name":"csdms/reccs","owner":"csdms","description":"An interactive workshop on programming in the geosciences for the CU Boulder RECCS program","archived":false,"fork":false,"pushed_at":"2025-05-29T19:01:14.000Z","size":5219,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-10T16:55:54.541Z","etag":null,"topics":["csdms","geoscience","python"],"latest_commit_sha":null,"homepage":"","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/csdms.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,"governance":null}},"created_at":"2021-04-28T16:35:19.000Z","updated_at":"2025-05-29T18:22:36.000Z","dependencies_parsed_at":"2023-09-26T07:34:39.068Z","dependency_job_id":null,"html_url":"https://github.com/csdms/reccs","commit_stats":{"total_commits":38,"total_committers":1,"mean_commits":38.0,"dds":0.0,"last_synced_commit":"2d41f6d6d3ec490ed7d79b10ba3bc53c38a57836"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/csdms/reccs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Freccs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Freccs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Freccs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Freccs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csdms","download_url":"https://codeload.github.com/csdms/reccs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Freccs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31931285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["csdms","geoscience","python"],"created_at":"2025-01-02T14:16:57.063Z","updated_at":"2026-04-17T13:31:58.630Z","avatar_url":"https://github.com/csdms.png","language":"Jupyter Notebook","readme":"# Python Programming in the Geosciences\n\nThis is a two-part (morning and afternoon) interactive workshop\non using the Python programming language\nto perform data ingest, analysis, and visualization.\nThe workshop is a part of the [RECCS][reccs] program at CU Boulder.\n\nThe workshop will not teach the details of Python--others have done this (see \"Resources\" below),\nand it takes more time than we have.\nThe goal of this workshop is to show how a working geoscientist\nmight use some of the plentiful scientific libraries available in Python.\n\n\n## Instructor\n\n* [Mark Piper](https://instaar.colorado.edu/people/mark-piper/)\n\n\n## Requirements\n\n* Computer\n* Web browser\n* Internet access\n* Coffee (optional, but recommended)\n\n\n## Agenda\n\nThe workshop is divided into morning and afternoon sessions.\n\n### Morning\n\nThe morning session runs from 9 am until noon,\nwith a break around the midpoint.\nIt covers more basic concepts,\nbut people with experience using Python\ncan help those with less experience.\n\n*Topics:*\n\n* Introductions\n* Why Python?\n* Logging in to EarthscapeHub\n* Using Jupyter Notebook\n* Python fundamentals\n* Importing Python libraries\n* Reading data from a csv file with *pandas*\n* Exercises and discussion\n\n:arrow_forward: [Run the workshop material on EarthscapeHub][nbgitpuller-link]\n\n### Afternoon\n\nThe afternoon session runs from 1 pm until 4 pm,\nwith a break around the midpoint.\nIt covers more advanced topics.\n\n*Topics:*\n\n* Loops, conditionals, `try` statement, functions\n* Reading data from a NetCDF file with *scipy*\n* Analyzing and visualizing data with *Basemap* and *matplotlib*\n* Exercises and discussion\n\n:arrow_forward: [Run the workshop material on EarthscapeHub][nbgitpuller-link]\n\n### Extra\n\nGiven time,\nsome additional topics that can be covered.\n\n*Topics:*\n\n* Exporting a notebook to a PDF file\n* Using shell commands in a terminal\n* [Anaconda][anaconda] and *conda*\n* Using Python modules\n\n\n## Resources\n\nPython:\n* [Software Carpentry][swc], especially the [Programming with Python][swc-python] lesson\n* [Data Carpentry][dc]\n* The official [Python tutorial][python-tutorial] is somewhat advanced, but has a lot of information\n* The [TutorialsPoint Python tutorial][tp-tutorial] is also well done, and perhaps easier to follow\n* When I have a Python question, usually someone on [Stack Overflow][stack-overflow] has an answer\n* The [Matplotlib Gallery][mpl-gallery]\n* The [CSDMS Ivy][ivy] course material\n\nCU Boulder:\n* [Community Surface Dynamics Modeling System (CSDMS)][csdms]\n* [Cooperative Institute for Research in Environmental Sciences (CIRES)][cires]\n* [Institute for Arctic and Alpine Research (INSTAAR)][instaar]\n\n\n## Acknowledgments\n\nCSDMS is supported by the National Science Foundation\nunder Award No. [1831623][csdms-award],\n*Community Facility Support: The Community Surface Dynamics Modeling System (CSDMS)*.\n\nPortions of the Python language fundamentals section were derived\nfrom material that is copyright Software Carpentry\nand remixed under their [license][swc-license].\n\nNEON (National Ecological Observatory Network). 2D wind speed and direction\n(DP1.00001.001). https://data.neonscience.org (accessed May 26, 2021)\n\n20th Century Reanalysis V2 data provided by the NOAA/OAR/ESRL PSL, Boulder, Colorado, USA,\nfrom their website at https://psl.noaa.gov/data/gridded/data.20thC_ReanV2.html.\n\n\u003c!-- Links --\u003e\n\n[anaconda]: https://www.anaconda.com/\n[cires]: https://cires.colorado.edu/\n[csdms]: http://csdms.colorado.edu\n[csdms-award]: https://nsf.gov/awardsearch/showAward?AWD_ID=1831623\n[dc]: https://datacarpentry.org/\n[instaar]: https://instaar.colorado.edu/\n[ivy]: https://github.com/csdms/ivy\n[mpl-gallery]: https://matplotlib.org/stable/gallery/index.html\n[nbgitpuller-link]: https://explore.openearthscape.org/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2Fcsdms%2Freccs\u0026urlpath=lab%2Ftree%2Freccs%2Fnotebooks%2F0_overview.ipynb\u0026branch=main\n[python-tutorial]: https://docs.python.org/3/tutorial/\n[reccs]: https://cires.colorado.edu/outreach/reccs\n[swc]: https://software-carpentry.org/\n[swc-license]: https://github.com/swcarpentry/python-novice-inflammation/blob/gh-pages/LICENSE.md\n[swc-python]: https://swcarpentry.github.io/python-novice-inflammation/\n[stack-overflow]: https://stackoverflow.com/\n[tp-tutorial]: https://www.tutorialspoint.com/python/index.htm\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Freccs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsdms%2Freccs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Freccs/lists"}