Learning to code#
There is a wide diversity of programming languages and open source software suited to Climate and Environmental research.
We present below a list of resources suggested to help strengthen your coding skills for the Reproducibility Challenge and some Scientific ecosystems supporting Climate and Environmental research.
Foundations#
Python#
Duke STA-663 - Colin Rundel. Lecture slides & recordings, code & notebooks. Features Jupyter, git, numpy, scipy, pandas, scikit-learn
Intro to Geospatial Raster and Vector Data with Python - Carpentries. Follow-along tutorials & code. Features NEON data, intro to rasters & geostats rioxarray, geopandas
Intro to Earth and Environmental Data Science- Ryan Abernathy. Intro to Python, JupyterLab, Unix, Git, some packages & workflows
Scalable and Computationally Reproducible Approaches to Arctic Research - NCEAS. Advanced topics in computationally reproducible research in python, including environments, docker containers, and parallel processing using tools like parsl and dask, responsible research and data management practices including data sovereignty and the CARE principles, and ethical concerns with data-intensive modeling and analysis
Project Pythia Foundations Book. Learn how to navigate and integrate the myriad packages within the Python ecosystem for the geosciences
R#
Intro to Open Data Science with R - Lowndes & Horst. Follow-along tutorials & code. Features workflows with RMarkdown, tidyverse, RStudio, GitHub
What they forgot to teach you about R - Bryan & Hester. Reinforcing lessons for moderately experienced R users
R for Data Science - Wickham & Grolemund.. All things tidyverse, including dates, plots, modeling, programming, RMarkdown
Online learning community/book club: rfordatasci.com
R for Reproducible Scientific Analysis. For novice programmers to write modular code and covers best practices for using R for data analysis
Julia#
JuliaEO 2023- AirCentre. Global Workshop on Earth Observation with Julia
Julia Programming: A Hands-On Tutorial - MartĂn D. Maas. Introductory material about Julia, focusing on its use in Science and Engineering
From zero to Julia! - Aurelio Amerio. An expanding series of short tutorials about Julia, starting from the beginner level and going up to deal with the more advanced topics
Solving PDEs in parallel on GPUs with Julia -ETH course. aims to cover state-of-the-art methods in modern parallel Graphical Processing Unit (GPU) computing, supercomputing and code development with applications to natural sciences and engineering.
Cross-languages (Python, R and/or Julia)#
CU EarthLab’s Earth Data Science. Provide resources to access and work with data using R and Python and to setup R and Python environments
Open Scientific Ecosystems#
We list below some communities developing and maintaining Open source scientific software.
Python#
R#
rspatial: Tools for spatial data analysis.
Julia#
JuliaGeo: Tools for geospatial and geosciences domains.
JuliaClimate: Tools for climate science.
EcoJulia: Tools for ecology, biodiversity, and biogeography research
Attribution#
Some material in this section have been adapted from NASA Earthdata Cloud Cookbook under a CC-BY license.