我想知道哪些编程语言是最地球科学中使用吗?我现在开始与Python编程但是我阅读关于R越来越多!我想问有经验的科学家,他们使用的语言,特别是为什么?我也想知道这个问题有一种普遍的共识在气候和地球科学社区!江南体育网页版
-
3\ begingroup美元 我不认为这是一个经验性栈交流的问题,因为它是100%。江南电子竞技平台但就其价值而言,去年我写这个主题>agilescientific.com/blog/2021/4/8/… \ endgroup美元- - - - - -马特·霍尔2022年5月24日在第13章13节呢
-
4\ begingroup美元 我同意这是一个有趣的问题,但栈交流江南电子竞技平台不是讨论网站。 \ endgroup美元- - - - - -马特·霍尔2022年5月24日在33吗
-
1\ begingroup美元 地球科学的@kwinkunks我什么都不知道,我甚至才刚刚江南体育网页版加入这个社区。我只是想芯片在这谈话:假设问题是“Python或汇编程序,我应该使用哪一个?”,你还说它的意见?不,当然不是。没有一个头脑清醒的人会建议汇编程序,因为Python有一堆有用的库这种东西。困难,但类似的问题是Python与r可以回答这个问题的合理参数,如容易使用和可用的库。另外:行业标准是什么? \ endgroup美元- - - - - -Opifex2022年5月24日23:12
-
3\ begingroup美元 我觉得这个问题不是舆论基础。删除“一般”,我们有一个问题,可能很难回答,但有一个明确的答案:编程语言是最常用在地球科学吗? \ endgroup美元- - - - - -Joscha Fregin2022年6月6日16:09
-
2\ begingroup美元 我认为这个问题的目的是有效的,但是它被问太广泛而假定的。应该提到你想要完成编程任务的范围,并提供你的观察程序运行(例如python和R)。然后问“编程语言是最常用的地球科学来完成这些任务,为什么”。 \ endgroup美元- - - - - -f.thorpe ♦2022年6月8日在0:47
3答案
在我看来,python是一种更成熟的全球语言,使用更多的学科/用户,而r .这可能是有利的,因为/教程的例子到处都是,你可以在一个环境完成许多编程任务。另一方面,R有一个非常强大的用户基础是特定于数据分析和显示。如此,大多数的用户在科学或数学学科和知道如何完成这些任务。特定于地质,python历来与GIS的工作,这是一个重要的遗产。python包(如geopandas)处理GIS工作很容易和快速。但是,如果你想要得到一些真正的东西完成了实时数据显示,我的大多数同事推荐R动态计算和显示。
Python实现天气模型也存在天气模型速度。
我需要一个比另一个稍微不同的观点的答案。天气预报模型的Fortran 2018强HPC链接是最好的解决方案。
但是文章的数据分析呢?这里由于容易获得库如numpy和scipy(和测试)python是最好的选择。毫无疑问,这样的选择在R世界也确实存在但我刚刚没有看到任何大规模采用语言在气象社区。3是一个AMCAMC Python年会致力于使用python语言的进步。
最后从个人的角度来看现有的库处理天气模型代码(有限差分或光谱模型如GEMPAK或SPHEREPACK)在fortran。但个体研究人员可以很容易地使用一个实用程序,比如f2py结合最好的两种语言,这些库合并到他们的工作。
事实上,库numpy和scipy自己使用C和Cython接口速度库。
本质上没有达成共识。在某种程度上这要归结于个人喜好也取决于应用程序,需要做什么。
Python是一种非常流行的规模较小的科学语言和使用它是一个很好的语言。的主要负关于Python是它的速度处理。它的计算速度慢。如果你有一个大型的数据集或需要执行复杂的计算,我不建议Python。Python是一种很好的语言概念证明用途或小任务。对于大数据集或复杂的计算,更快的语言是必需的。天气预报建模并不是使用Python来完成。
在某些情况下仍然使用Fortran。尽管年龄和大多数人抱怨它的编程风格,它仍然有应用程序。如果做不到这一点,重型计算有时使用C或c++。
遵守语言往往比解释型语言。一个更新的、以科学为导向、语言产生兴趣是茱莉亚。这是比Fortran和C略慢,但多速度比Python。
R语言最初写统计分析软件包,这仍然是它的强项。
-
\ begingroup美元 这是一个很好的凝聚的答案,但我将增加,R的主要缺点是它的可怕的处理依赖关系的方法,尽管有些人认为它是力量,这真的是一个麻烦与python相比,nodejs甚至java。天气模型至今仍主要是Fortran,但是茱莉亚有一些特性使得它在地球科学有趣,即你可以直接代码的衍生品(arxiv.org/abs/1607.07892) \ endgroup美元- - - - - -呼呼声2022年5月23日20:13
-
\ begingroup美元 同意这一观点。维斯你提到模型、固体的是计算密集型的……所以认为大多数的语言像Fortran和C(他们肯定曾经是)。而简单的我在用matlab等项目为了便于工作。 \ endgroup美元- - - - - -JeopardyTempest2022年5月23日20:50
-
\ begingroup美元 @JeopardyTempest我强烈建议不使用matlab。你不能做任何与并行化严重。花费一大笔钱,没有公司,只是有点技术意义上应该是愿意支付这么多的开源替代品。我知道经常使用matlab大学和我们得到的新员工,依靠matlab的邦也是一个巨大的知识差距,他们需要付出很多的努力去减少。 \ endgroup美元- - - - - -呼呼声2022年5月24日在29吗
-
7\ begingroup美元 尊重,“Python是缓慢”是相当肤浅的。Python是明显好很多大,计算密集型任务。例如,它使用到处都在计算地球物理学和天体物理学极大的数据集。更快的代码编写和调试比Fortran和C,而且实现的数值是通过LAPACK Fortran, LINPACK等,就像在MATLAB当然大多数Fortran程序。添加Numba、Jax Dask CuPy的东西,和本地的速度CPython的仅仅是一个巨大的问题。 \ endgroup美元- - - - - -马特·霍尔2022年5月24日16:24
-
\ begingroup美元 @Whir我当然不是表明matlab……回到20年前崭新的数学软件和Matlab等项目的一些人员涉足。它仍然显示了更广泛的观点,有很多程序的人使用,和我的专业教授早在一天,Matlab是关键,它仍然有它的使用在其他领域,这听起来像。但我更开放的软件的支持者。 \ endgroup美元- - - - - -JeopardyTempest2022年5月24日20:03