专题:AMS Symposiums on Python
Twitter:@amspython
教程地址:
https://carpentrieslab.github.io/python-aos-lesson/
PPT获取地址:点击文末原文阅读
在2020年的AMS的Python研讨会上,Damien Irving发布了主要针对于气象学家和海洋学家的Python教程,具体的内容可以详见后文的PPT。作者在开源软件教育方面深耕多年,具体可以参考:Irving D (2019). Python for atmosphere and ocean scientists. Journal of Open Source Education. 2(11), 37. doi:10.21105/jose.00037。
教程的内容涉及到手把手教你基于conda环境安装气象/海洋需要的软件、处理并可视化CMIP数据、自定义函数、命令行编程、代码版本控制、GitHub从零开始教你使用、防止循环过多导致运行过慢采取数组矢量化策略、防御性编程确保编程可信赖、数据溯源确保每一步都有理有据。
常用的库
处理CMIP数据
ACCESS1.3降水
CSIRO-Mk降水
Git处理流程图
Python is rapidly emerging as the programming language of choice for data analysis in the atmosphere and ocean sciences. By consulting online tutorials and help pages, most researchers in this community are able to pick up the basic syntax and programming constructs (e.g. loops, lists and conditionals). This self-taught knowledge is sufficient to get work done, but it often involves spending hours to do things that should take minutes, reinventing a lot of wheels, and a nagging uncertainty at the end of it all regarding the reliability and reproducibility of the results. To help address these issues, these Data Carpentry lessons cover a suite of programming and data management best practices that aren’t so easy to glean from a quick Google search.
The skills covered in the lessons are taught in the context of a typical data analysis task: creating a command line program that plots the precipitation climatology for any given month, so that two different CMIP5 models (ACCESS1-3 and CSIRO-Mk3-6-0) can be compared visually.
These lessons work with raster or “gridded” data that are stored as a uniform grid of values using the netCDF file format. This is the most common data format and file type in the atmosphere and ocean sciences; essentially all output from weather, climate and ocean models is gridded data stored as a series of netCDF files.
The other data type that atmosphere and ocean scientists tend to work with is geospatial vector data. In contrast to gridded raster data, these vector data are composed of discrete geometric locations (i.e. x, y values) that define the shape of a spatial point, line or polygon. They are not stored using the netCDF file format and are not covered in these lessons. Data Carpentry have separate lessons on working with geospatial vector data.
Participants must already be using Python for their data analysis. They don’t need to be highly proficient, but a strong familiarity with Python syntax and basic constructs such as loops, lists and conditionals (i.e. if statements) is required.
To cite these lessons, please refer to the following paper:
Irving D (2019). Python for atmosphere and ocean scientists. Journal of Open Source Education. 2(11), 37. doi:10.21105/jose.00037
后文附上AMS上的PPT