登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 qdzwxz 于 2011-9-16 18:43 编辑
如果你有一个全球分布的数据,比如地表温度 T(:,:),想分别画出海洋和陆地的等值线图,用 ncl 该怎么做呢? ncl 自带了一个1X1 度的海陆数据,可以实现以上功能。总共分三步: 1,需要在文件开头加上: load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl" 2, 打开自带海陆数据,并按照自己的地表温度数据产生用来区分海陆的新数据: b = addfile("$NCARG_ROOT/lib/ncarg/data/cdf/landsea.nc","r") lsm_T= landsea_mask(b->LSMASK,T&lat,T&lon) 其中 landsea_mask 是shea_util.ncl中的一个函数。 3,用新数据mask out 海洋或者陆地,得到自己想要的那部分: T_land = mask(T,lsm_T.eq.0, False) ; mask out ocean points
T_ocean = mask(T,lsm_T.eq.1, False) ; mask out ocean points copy_VarMeta(T,T_land) ;建议把这两句加上,这样新的land 和 ocean都有
copy_VarMeta(T,T_ocean) ;了和原始数据 T一样的meta信息,并且海洋(或陆地)设为了却测值-999
大功告成。现在可以用T_land 和T_ocean去画自己想要的图了。
|