请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 147|回复: 4

[经验总结] 计算非绝热加热

[复制链接]

新浪微博达人勋

发表于 5 天前 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 雨落森林 于 2022-1-12 16:45 编辑

代码改自姚素香老师的Fortran程序,不过由于咱们使用Python,不可能用好几层for循环来套,咱们用矩阵思想,对格点求偏导,如T[...,1:-1,:],即可指定空间的纬度方向上第2个到倒数第2个格点的温度,以此类推。思路和公式见docx文档,代码我也写好了注释。数据来自NCEP,是nc格式,经过提取为npy,其中,T、U、V等变量的shape是41,282,17,73,144,即41年,248个时次(7和8月、逐6小时),17个高度层,73个纬度(-90到90,间隔2.5),144个经度(0到357.5,间隔2.5),由于数据太大占用硬盘空间28G,计算时需要四五十个G的内存,故本帖只放代码,不放数据了,仅供学习一个思路。最后见一下成果图吧,图给的是某年7、8月平均的1000hPa的非绝热加热,单位是(K/s),可以看到,在青藏高原有个特别大的加热,说明算出来是对的。附件里面的压缩文件有三个代码,data_process.py是数据的提取和处理(反转纬度),主要看main.py了解具体思路(每项都计算后存储在part变量里面,每次Q加上part后清零),test.py是用来画图。最后需要注意的是,计算出来的量级应当是10的-5次方的量级,否则就有可能是哪里错了。
Q.jpg

0112.zip

143.58 KB, 下载次数: 15, 下载积分: 金钱 -5

20220108.docx

516.38 KB, 下载次数: 15, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 5 天前 来自手机 | 显示全部楼层
好家伙你这昨天吃完回去还继续肝

                               
登录/注册后可看大图
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 5 天前 | 显示全部楼层
非常感谢大佬分享!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 5 天前 | 显示全部楼层
一大碗年糕 发表于 2022-1-12 07:11
好家伙你这昨天吃完回去还继续肝

好家伙,你这吃完回去还逛家园
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 5 天前 | 显示全部楼层
凌波微步! 发表于 2022-1-12 09:12
非常感谢大佬分享!

嘻嘻嘻,谢谢捧场
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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