爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 122|回复: 6

请教CMIP6垂直坐标转气压坐标

[复制链接]
回帖奖励 8 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次

新浪微博达人勋

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

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

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

x
大家好!最近一个星期一直搜索怎样使用python把CNRM-ESM2-1输出数据中高度混合坐标转换为气压坐标。本人已下载的数据是concdust_Emon_CNRM-ESM2-1_amip_r1i1p1f2_gr_197901-201412,使用xr.open_dataset读取有变量:lev (lev): atmosphere_hybrid_sigma_pressure_coordinate
             long_name :atmospheric model level             units :1
             positive :down
             formula :p = ap + b*ps
             formula_term :ap: ap b: b ps: ps
             bounds :lev_bounds
ps (time, lat,lon): Surface Air Pressure
ap (lev) vertical coordinate formula term:ap (k)

b (lev): vertical coordinate formula term: b(k)
b_bnds (bnds, lev):vertical coordinate formula term: b(k+1/2)
ap_bnds (bnds, lev): vertical coordinate formula term: ap(k+1/2)

由于本人非大气科班出生且第一次使用CMIP6数据,对这些变量有疑惑,不知道是否可以使用geocat.comp.interpolation.interp_hybrid_to_pressure函数进行转换,若可以,geocat.comp.interpolation.interp_hybrid_to_pressure(data['concdust'], ps, hyam, hybm, p0=100000.0, new_levels),ps,hyam, hybm是数据中的ps,ap和b吗?在github和谷歌上搜索过,案例所使用数据都是明确了hyam, hybm。希望有知道的大佬能进行指点,非常感谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 3 天前 | 显示全部楼层

回帖奖励 +1 金钱

看ncl的对应函数,geocat和ncl函数形式一致
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 3 天前 | 显示全部楼层

回帖奖励 +1 金钱

ncl有函数处理这个
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 3 天前 | 显示全部楼层

我查了好像是vinth2p这个函数,参数基本相同,我看他们示例中都可以直接在数据中读取hyam和hybm,而我所用的这个数据中,只有ap和b,想着想着是不是ap和b对应着hyam和hybm参数
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 3 天前 | 显示全部楼层
看数据中变量lev 中p=ap+b*ps,查阅pres_hybird_ccm函数中有描述ap(k) =a(k)*p0,所以hyam = ap(k)/p0,geocat.comp.interpolation.interp_hybrid_to_pressure(data['concdust'], ps, hyam, ap/p0, p0=100000.0, new_levels)不知是否正确
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 3 天前 | 显示全部楼层
Lancelot 发表于 2024-11-20 10:27
看ncl的对应函数,geocat和ncl函数形式一致

感谢回复,看pres_hybird_ccm函数中有描述ap(k) =a(k)*p0,而我下载的数据中lev中p=ap+b*ps,所以我想着hyam = ap(k)/p0,hybm=b?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 3 天前 | 显示全部楼层
对的,实际上函数内部计算方法就像手册中描述的一样,需要一个hyam和hybm,然后简单计算就可以转换。不同模式输出的结果不同。从变量含义来看你的想法是对的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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