MeteoInfoLab脚本示例:合并数组

对于全球数据来说,经度要么是-180 - 180,要么是0 - 360,都会存在边界数据不连续的问题。比如0 - 360的数据,怎么得到 -20 - 30度的连续格点数据就是个问题(跨越了数据的经度边界),在MeteoInfoLab中可以用DimArray或MIArray的join函数来将两个数组合并为一个,参数分别是另一个数组和合并的维的序号,比如下面例子中的二维数组(y, x),经度维是第二维(序号为1),也就是说两个数组沿着经度维合并。还需要给合并后的数组的经度维设置新的经度值。

脚本程序:

f = addfile('D:/Temp/GrADS/model.ctl')
psv = f['PS']
ps = psv[0,[10,50],[340,360]]
ps1 = psv[0,[10,50],[0,30]]
ps = ps.join(ps1, 1)
n = ps.dimlen(1)
ps.setdimvalue(1, linspace(-20,30,n))
axesm()
mlayer = shaperead('D:/Temp/map/country1.shp')
geoshow(mlayer, edgecolor=(0,0,255))
layer = contourfm(ps, 20)
title('Pressure')
colorbar(layer, aspect=12)
#savefig('D:/Temp/test/map_test.png', 600, 400)

原文地址:https://www.cnblogs.com/yaqiang/p/4856744.html