写在前面的话
最近在学习NCL绘图,不是在debug就是在debug的路上┭┮﹏┭┮,决定慢慢记录一下不断发现的错误,很多问题回看起来有点无脑,有些还在解决中~冲就完事啦!
Fatal
1.Number of subscripts do not match number of dimensions of variable,(2) Subscripts used, (3) Subscripts expected【√】
2021.6.4
存在数组或函数维度与原数据维度不一致的问题
解决方案1. 核查代码是否存在维度不一致
;根据DJF海温计算区域ENSO指数
ensoi=wgt_areaave_Wrap(sst_DJF({
-5:5},{
190:240}),1.0,1.0,0)
首先利用哈德莱海温资料计算DJF海温季节平均值,后利用wgt_areaave_Wrap 函数计算南北纬5°之间、经度190°至240°间的区域平均值。
函数中sst_DJF数组维数为二维,与资料不符。
;改后代码
ensoi=wgt_areaave_Wrap(sst_DJF(0,{
-5:5},{
190:240}),1.0,1.0,0)
解决方案2.进行数据升/降维操作
以下给出常见的函数
;多维数组转换为另一多维数组(仅改变维数,不改变大小)
reshape(val,dims)
2. mixhum_ptrh: The first three input arrays must have the same dimensions【√】
2021.10.30
用于计算混合比的函数mixhum_ptrh后参数的大小不一致,压强为17层的一位数组,而温度为包含压强p,经度lon和纬度lat的三维数组。对于既定的计算函数一般都要求计算参量维度match。
解决方案. 将p数组拓展到和t数组