爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 15367|回复: 29

[参考资料] 喜爱Python的国外气候学者谈为之着迷的原因

[复制链接]

新浪微博达人勋

发表于 2013-12-28 15:41:14 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 hillside 于 2017-3-12 11:08 编辑

    以下网页文章来自国外大学的气候研究者们:

一、芝加哥大学气候系统中心:http://geosci.uchicago.edu/~rtp1/itr/
                                                http://geosci.uchicago.edu/~rtp1/itr/Python.html
                                               https://geosci.uchicago.edu/~rtp ... ures/PyLecHome.html

What is Python, and why are we so enthusiastic about it?
                                                                    (为什么我们痴迷于Python?)
Flexible climate modeling requires two things: a well designed toolkit, and a package allowing easy assembly of the tools into a complete model. We have adopted Python as our means of building models from their components.
Python is an object oriented interpreted language. If you know what c++ is, you won't be far wrong if you think of Python as a simplified and interpreted version of c++ with all the hard parts and gotchas left out -- but with most of the power left in. "Interpreted" means you don't need to compile in order to run something. You just type a command, and get instant gratification. Or, if something is wrong, you know right away.
Python has several compelling advantages. The first is that it is object oriented, but very easy to learn. This means that neophyte programmers, or tough and hardened climate modellers from the Fortran world, can gain an easy and pleasant entry into the world of modern software development methods. It is literally possible to gain a useful command of Python, including basic notions of classes and objects, in about two hours. Unlike other simple languages, though, Python is not something you outgrow. It continues to become more and more useful as you learn more of it. Further, Python offers a nice blend of access to operating system services and powerful data structures, with mathematical orientation. This makes it ideal for complex tasks like building data structures for keeping track of task assignments on parallel computers such as Linux Beowulf clusters. Python has very deep support in the open source community, with many powerful extension modules already available and more on the way each day. There is already considerable experience in using Python in scientific problems.
Python is open source, and runs or can be made to run, on virtually any machine. Further, it is in the public domain, so that it can easily be used in classes and labs without incurring onerous licensing fees.
Python is being used as the common programming language for our advanced undergraduate and beginning graduate climate dynamics class (geosci 232). Check the course web page for examples of use of Python in class, in labs and in problem sets.
We have a number of Python modules under development for climate modeling and data analysis problems. As these become ready for prime time, you'll find them posted under the "Tools" section of our home page. Additional examples of the use of Python in climate dynamics and data analysis can be found on our "Projects" page. Although our original interest in Python stemmed from it's potential role as glue for building components into a general circulation model, as we gain more experience with the language we find more and more uses for it. We have used it for a range of idealized climate models, for data analysis, for building web pages, for running asynchronously coupled models, and as a versatile scripting language supplanting Perl and shell scripts.
Interpreted languages are great for flexibility, but are much slower than compiled code at numerically intensive tasks. This is where another of Python's desirable features come in. Python is very easily extensible. One can write c or c++ or Fortran code to do numerically intensive things like finding eigenvalues or timestepping an array, and then make these routines callable from within Python. Doing this by hand is tedious, but fortunately, there is an automated interface builder, known as SWIG, that makes it a snap to build Python modules out of compiled libraries. SWIG does not actually directly interface to Fortran. There is a solution for that, known as PyFort, but we have found it easier to stick with SWIG and write c-stubs for Fortran routines. More information on SWIG, together with downloads of the SWIG software, can be found at www.swig.org .
Python Resources
Our experiences in using Python in climate research are encapsulated in the Climate Systems Center Python Lectures, also listed on the Tutorial page.
There are many excellent books on Python. One that we find especially useful is our own David Beazley's book, Python Essential Reference (New Riders Publishing). Python 2.1 Bible, by Brueck and Tanner (Hungry Minds Publishing) is also very good. You can find many Python resources, and Python implementations for most of the world's operating systems (including Palm OS) at python.org.

二、牛津大学物理系:http://www2.physics.ox.ac.uk/res ... -climate-scientists                                 
                                              Python for climate scientists    Why python?
                                      (气候科学家为什么爱用Python?理由何在?)

Note, a more up-to-date version of this page is available here.Bryan Lawrence blog article: The choice is python
http://home.badc.rl.ac.uk/lawrence/blog/2010/10/13/the_choice_is_python
Bryan argues why he thinks python is the best choice for BADC, and the similar considerations apply generally to atmospheric science.Ray Pierrehumbert's python introduction, very to-the-point and clear.
http://geosci.uchicago.edu/~rtp1/PrinciplesPlanetaryClimate/Python/pytho...
It is supplementary material to his textbook, but is of general use to someone starting to use python.An astronomer's pros/cons list for IDL vs python. A little out of date now, but perhaps still useful.
http://www.astrobetter.com/idl-vs-python/Lists of IDL-to-python function equivalents.
http://www.scicoder.org/mapping-idl-to-python/
http://mathesaurus.sourceforge.net/idl-python-xref.pdf
https://www.cfa.harvard.edu/~jbattat/computer/python/science/idl-numpy.htmlpIDLy
http://astronomy.sussex.ac.uk/~anthonys/pidly/Will's Code Academy linkA rough list of the python climate packages, which it seems are (roughly in order of what I gather to be their sophistication, though this is a bit of a guess):cdat/cdms (developed at US DOE)
iris (developed at Met Office)
cf-python
pynio (the IO component of the NCAR stuff - handles nc files etc)
jasmin-cis (the one Philip Stier's group is involved in)
pygeode (stalled?)
pyclimate (seems no longer updated)And then for plotting specifically:matplotlib
basemap
pyngl
cf-plot
WxMAP2
GRADS interface to python
chaco(Of course cdat, iris,... contain plotting packages as part of the overall deal, but here I'm listing plotting packages specifically.)

三、工作在NCAR、从事Python
教学与研究的水文气候研究者Joe Hamman博士
Hydroclimatologist. Post-doc at@NCAR. Ph.D. from @UW-Hydro.
https://github.com/jhamman

Popular repositories
  • UW_Python_for_Geosciences
    Talks from the UW Python for Geosciences Seminar
    Jupyter Notebook [color=rgb(88, 96, 105) !important] 4 [color=rgb(88, 96, 105) !important] 5
  • pynco
    Forked from nco/pynco
    Language bindings for NCO
    Python [color=rgb(88, 96, 105) !important] 3 [color=rgb(88, 96, 105) !important] 2
  • VIC
    Forked from UW-Hydro/VIC
    The Variable Infiltration Capacity (VIC) Macroscale Hydrologic Model
    C [color=rgb(88, 96, 105) !important] 1 [color=rgb(88, 96, 105) !important] 1
  • storylines
    Using quantitative hydrologic storylines to assess climate impacts
    Python [color=rgb(88, 96, 105) !important] 1
  • xmap
    Geospatial mapping extension for xarray
    Python [color=rgb(88, 96, 105) !important] 1
  • rasmlib
    Plotting for rasm output
    Python [color=rgb(88, 96, 105) !important] 1




密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-28 18:05:02 | 显示全部楼层
感谢分享               
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-28 18:05:06 | 显示全部楼层
感谢分享               
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2013-12-29 08:33:02 | 显示全部楼层
一直在学python~感觉很不错~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-29 10:31:12 | 显示全部楼层
{:eb502:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-30 20:59:10 | 显示全部楼层
感谢楼主分享,python的在气象领域的崛起是很迅速,只是很多优秀的库:iris、pyNGL,pynio等都需要linux环境支持,希望这些库能有windows的版本,这样使用起来更方便。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-6 11:35:25 | 显示全部楼层
{:eb502:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-8 22:40:43 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-14 09:42:22 | 显示全部楼层
顶起!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-14 09:54:28 | 显示全部楼层
给力,顶起!!!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表