爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 28329|回复: 15

[经验总结] ncl计算假相当位温的函数pot_temp_equiv_tlcl

[复制链接]

新浪微博达人勋

发表于 2021-3-23 17:59:06 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 小懒C 于 2021-3-23 18:01 编辑

  • iounits(2)=0 input w are kg/kg
  • iounits(2)=1 input w are g/kg
在函数的源代码中,iounits(2)=1表示w是kg/kg,0则是g/kg
;===== 以下为该部分代码 ==========                                                                                        ; Bolton (2000); Eq 16
  xcon = 1000.                          ; water vapor pressure
  if (iounits(2).eq.1) then
      rmix = mixr*xcon                  ; kg/kg ==> g/kg
  else
      rmix = mixr
  end if                                ;evp@units = "hPa"

  evp  = (p*pcon)*rmix/(622+rmix)

;======================================================
附上看代码的方式,ncl官网一些函数在写说明时会告诉各位调用了什么库,这个库便是函数所在位置,例如
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"  
function pot_temp_equiv_tlcl (
        p  : numeric,  
        t  : numeric,  
        tlcl : numeric,
        w  : numeric,  
        iounits [4] : integer           )     
   return_val [dimsizes(t)] :  float or double

pot_temp_equiv_tlcl位于$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl中

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

新浪微博达人勋

发表于 2021-3-24 12:30:56 | 显示全部楼层
dei 官网写错了 实际应用的时候根据结果也应该是0表示g/kg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-6-10 10:28:29 | 显示全部楼层
确实很坑,文档说明和下面的例子都不一致
1623292034(1).jpg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-9-30 10:22:35 | 显示全部楼层
楼主,这个源代码不是说iounits(2)=1的话,w是g/kg吗,因为语句的意思应该是把原先的kg/kg乘以1000换算成了g/kg,
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-10-5 15:05:56 | 显示全部楼层
感谢楼主,我算的结果不对劲,排查了半天都不知道哪里有问题。变量的单位已经检查了无数次,没看到这个帖子的话不知道还要蒙蔽多久。。。。。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-10 16:42:13 | 显示全部楼层
versatile 发表于 2021-9-30 10:22
楼主,这个源代码不是说iounits(2)=1的话,w是g/kg吗,因为语句的意思应该是把原先的kg/kg乘以1000换算成了 ...

因为他0-1指示的是函数里虚参(mixr)的单位,最终计算ncl是规定必须转化为g/kg,所以你看到的是要kg/kg===>g/kg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-6-1 12:03:57 来自手机 | 显示全部楼层
用了这个公式出现一堆nan是什么问题呢

                               
登录/注册后可看大图

                               
登录/注册后可看大图

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

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-6-5 20:02:18 | 显示全部楼层
我超胖 发表于 2022-6-1 12:03
用了这个公式出现一堆nan是什么问题呢

我用不会,检查一下数据
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-6-6 14:41:22 | 显示全部楼层
我超胖 发表于 2022-6-1 12:03
用了这个公式出现一堆nan是什么问题呢

我偶尔也会出现这个问题 如果使用不含抬升凝结高度的函数就不会 我检查过原数据 但是这个问题没法解决 建议找出nan的位置 然后对部分有问题的数据进行处理
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-1 14:13:55 | 显示全部楼层
我就说算出来怎么严重低估了!!!我的天,我改一下再试试
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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