ncl函数 mixhum_ptrh

描述:用给出的气压、温度和相对湿度计算混合比或比湿。
注意:允许但忽略缺省值。V6.2.1修复了无法识别负值iswit选项的问题。
相关:mixhum_ptd
Prototype
函数 mixhum_ptrh( p, tk, rh, iswit) 
Arguments
p : 气压 hPa,数组
tk : 温度 K,和p同形的数组
rh : 相对湿度 %,同上
iswit : 选项 (1 = 混合比 kg/kg,-1 = 混合比 g/kg;2 = 比湿 kg/kg,-2 = 比湿 g/kg)
Return value
返回与p同形的数组,通过iswit选项得到q比湿或w混合比。
Examples
官网的例子:https://www.ncl.ucar.edu/Document/Functions/Built-in/mixhum_ptrh.shtml
bing的例子:这是一个在NCL中使用mixhum_ptrh函数的例子:
p  = 1000.0 
tk = 18.0 + 273.15 
rh = 46.5 
q = mixhum_ptrh(p, tk, rh, 1)
这计算了给定压力p(以hPa(mb)为单位),温度tk(以K为单位)和相对湿度rh(以百分比为单位)的混合比或比湿。最后一个参数iswit确定返回哪个变量:1表示混合比(kg/kg),2表示比湿(kg/kg)。负值将单位更改为g/kg。

在NCAR Command Language (NCL)中,要按照给定公式建立一个名为 `dx` 的变量,首先需要理解该公式的作用是计算地球纬度(lat)上两点之间的经度变化。由于地球是一个球体,这个变换需要用到弧度制以及地球半径相关的换算。下面是详细的NCL编程步骤: 1. **导入必要的库函数**: 首先,我们需要包含一些基本的数学和常量函数库,例如`mathLib`,它包含了三角函数,以及`constants`库用于获取π值。 ```ncl use mathLib use constants ``` 2. **定义变量和常数**: - 设置lat的范围和步长,并将其转换为角度单位(°): ```ncl lat_start = -90.0; ! starting latitude value (-90 degrees) lat_end = 90.0; ! ending latitude value (90 degrees) lat_step = 2.5; ! step size in degrees lat_degrees = lat_start / 180.0 * pi ; ! convert to radians ``` - 获取π值: ```ncl pi_value = get_pi(); ! using the NCL function to get the value of π ``` 3. **创建数组**: - 创建一个lat的数组,覆盖整个范围,每一步间隔为2.5度。 ```ncl n_lat = floor((lat_end - lat_start) / lat_step); ! number of latitudes lat_array = lat_degrees + (/ lat_step * i for i in 0:n_lat - 1 /); ``` 4. **计算dx**: - 使用cos函数和上述定义的lat数组,计算每个纬度对应的dx值。 ```ncl dx_array = cos(lat_array * pi_value); ``` 5. **存储结果**: - 最后,你可以选择将 `dx_array` 存储到一个变量或者二维数组中,以便后续处理。 ```ncl ; store dx values into a variable or an array var dx = dx_array; ``` 完整的NCL代码段应该是这样的: ```ncl use mathLib use constants lat_start = -90.0; lat_end = 90.0; lat_step = 2.5; lat_degrees = lat_start / 180.0 * pi; pi_value = get_pi(); n_lat = floor((lat_end - lat_start) / lat_step); lat_array = lat_degrees + (/ lat_step * i for i in 0:n_lat - 1 /); dx_array = cos(lat_array * pi_value); ; ... (store dx_array as needed) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值