爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2487|回复: 21

[求助] 如果精通fortran,不学python能满足气象方面的研究编程需要吗?

[复制链接]

新浪微博达人勋

发表于 2023-7-27 17:12:01 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 jiayoufu 于 2023-7-28 11:01 编辑

如果精通fortran,不学python能满足气象方面的研究编程需要吗?研究也都是比较简单的一些东西。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-7-27 17:26:39 | 显示全部楼层
怕是你对精通fortran有什么误解  还是过度自信

为什么要重复造轮子
密码修改失败请联系微信:mofangbao
回复 支持 4 反对 0

使用道具 举报

新浪微博达人勋

发表于 2023-7-31 09:59:27 | 显示全部楼层
我个人感觉,Fortran属于不会没什么,但会一下更好。

如果你的研究需求就是处理简单txt、二进制数据,那完全OK
但如果你的研究目的是做很多专业性很高的计算,
除非你数理基础牛到了一个地步,不然Fortran是完全不够用的
举个简单的例子,你会用Fortran编程计算涡度和散度吗?
其实很多学生根本不会算,也不理解这两个概念的计算方法,那这时候,学个其他语言就很有必要了
比如GrADS、NCL、python都可以通过函数就得到这两个数据
再难一些的,计算锋生函数这类就更难了。
当然,什么东西学到精通都很牛,但Fortran想牛起来,还要结合很多其他的素质,例如高数和物理。

就我个人而言,我已经有七、八年的编程基础了,对常用的语言有一些了解。
在此给跟我一样的数理渣提供几个建议:
(1)对于简单的数据处理及简单绘图:可以只会Fortran+Excel。但能实现的目标有限,数据处理基本就是文本数据,能出的图就是折线、柱状、风玫瑰图这类的。但Fortran胜在计算功能强大,大量数据+大量do循环的debuff对Fortran来说都造不成影响,出结果速度一级快。

(2)对于有更高需求的气象研究er,我推荐如下组合:
①Fortran+GrADS,适合需要快速入门和上手的研究er,GrADS出图简单,有很多常用的统计和气象函数,但终究是后劲不足,想要学到精通有一定难度,处理十进制和grib数据也比较麻烦,想要把图调整更好,还需要参考本论坛大佬的帖子。
②NCL,本人目前主要的阵地,NCL是气象领域比较专精的语言,出图效果嘎嘎好,一些中等及以上的需求都可以实现,类似泰勒图、SVD、EP通量、路径轨迹这些常见但不一定多用的方法处理都很简单。最重要的是,它可以处理常见的格点气象数据格式,例如netCDF,grib和hdf,也可以处理txt、二进制这类的站点数据,但貌似不能处理excel。这类语言的缺点就是不适合用很多do循环,编程菜鸡在优化程序上面可能会有一些困难。
③Matlab,学到精通那真的是嘎嘎牛,毕竟Matlab的意思就是“矩阵实验室”,在数据处理方面真的没的说。但缺点就是绘图美观性有待提升,也可能是我还没有掌握这个语言的精髓,总之不是我常用的语言。
④Python,太多人提了,但是用不用还是要结合你的研究目的。如果楼主未来有挑战机器学习和深度算法的想法,那Python一定是绕不开了。如果只是数据处理+绘图,它在数据处理和绘图上,我认为不如NCL的性价比高。Python虽然很强大,但也不一定适合每一个人。

其他的还有R\MeteInfo\Origin\Suffer都有很多人应用,我对这些了解不多,不太好评价。
总之编程语言选择这个事儿,确实是仁者见仁,智者见者。
你可以把其中一样学到精通,也可以各个语言都了解一些。
我是NCL+Fortran+GrADS+Python+Matlab都能用一些,但最后还是根据目标去选择合适的语言处理任务。
其他人的建议可以参考,但终究要根据自己的研究方向、研究目的和学习能力去选择。
密码修改失败请联系微信:mofangbao
回复 支持 3 反对 0

使用道具 举报

新浪微博达人勋

发表于 2023-7-31 16:29:18 | 显示全部楼层
真的精通fortran的话科研肯定是没问题的。不过,至于学习其他语言,看需求吧,没有需求学了也会很快忘记。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2023-8-3 09:56:59 | 显示全部楼层
什么年代了还在学习传统语言,会用ai辅助就完全够了!
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

发表于 2023-7-28 08:50:20 | 显示全部楼层
完全无法满足,你不学,别人会学,你不用,别人会用,如果你的上下游合作者都用python,而你用fortran,想必衔接起来困难重重
你对fortran应该有很深的误解,最好查查fortran的优点和缺点
做研究最重要的是相互交流,不能在自己的世界里自娱自乐
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-7-28 09:20:59 | 显示全部楼层
放弃幻想,认清形势,你说的精通fortran,先来个nc文件读写,再来个绘图,再来个CUDA Fortran 并行编程
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-7-28 11:00:13 | 显示全部楼层
我认为是可以的,用fortran处理数据没什么问题。如果是做模式方面的话,会fortran是很必要的。不过画图用其它语言会方便一些,比如matlab
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-7-28 16:28:08 | 显示全部楼层
其实我更奇怪的是,如果都能精通fortran了,那,学一个python有什么难的嘛?为啥不学呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-7-28 19:13:29 | 显示全部楼层
不说精通fortran,只要有基础,python上手都是很快的,建议你开始用python
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-7-31 09:04:03 | 显示全部楼层
我只会fortran+grads也可以完成挺多数据处理的任务,但是好多功能实现要自己写,还是要学python,方便啊
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-7-31 10:03:51 | 显示全部楼层
aaaarong 发表于 2023-7-28 19:13
不说精通fortran,只要有基础,python上手都是很快的,建议你开始用python

好的,谢谢您的建议。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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