爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11656|回复: 3

[其他] NCL运行出现段错误(核心已转存)如何解决呢

[复制链接]
发表于 2021-6-6 17:37:23 | 显示全部楼层 |阅读模式

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

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

x
我想要用ncl画TBB,参考http://bbs.06climate.com/forum.p ... 3&highlight=TBB画的,但是运行后提示:段错误,核心已转存,有没有大佬解决一下。。。已经按照网上的方法修改栈的大小为102400这些都不行,实在没办法了。难道我这个单机内存太小了,不配画这个图吗0.0

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2021-6-6 17:39:28 | 显示全部楼层
;---------------------------------------------------
; Plot FY2E TBB at 20130822_0000 (UTC)
;---------------------------------------------------
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"

begin

;---- Read FY2 satellite data TBB.
        f         = addfile("FY2E_TBB_IR1_NOM_20130822_0000.hdf","r")
        tbb = f->FY2E_TBB_Hourly_Product

        LVR = tbb@LowerValidRange ; The valid range of data is [LVR,UVR].
        UVR = tbb@UpperValidRange

;---- Read FY2 LatLon lookup table.
        f0                                 = "NOM_ITG_2288_2288(0E0N)_LE.dat"
        dims                         = (/2288,2288/)
        type                        = "float"
        ; Band 1 is lon: data1
        data1                        = fbindirread(f0,0,dims,type)
        ; Band 2 is lat: data2
        data2                         = fbindirread(f0,1,dims,type)
        
        lonCenter                 = 104.5                ; footpoint of FY-2E
        latCenter           = 0
        lon2d                         = data1+lonCenter
        lat2d                   = data2+latCenter
        lat2d@units         = "degrees_north"
        lon2d@units         = "degrees_east"

;---- Add meta data for TBB.
        tbb@lat2d                 = lat2d
        tbb@lon2d                 = lon2d
        tbb@units                 = "degree Kelvin"
        tbb@long_name         = "Temperature of Bright Blackbody"
        tbb@coordinates = "lat2d lon2d"
        tbb@_FillValue  = -999.

;---- Replace data outside the valid range with missing value.
        tbb_1d                                          = ndtooned(tbb)
        ind_notValid                         = ind(tbb_1d.lt.LVR.or.tbb_1d.gt.UVR)
        tbb_1d(ind_notValid)         = tbb@_FillValue
        tbb                                         = onedtond(tbb_1d,dimsizes(tbb))

        tbb = tbb-273.15        ;(convert degree Kelvin to degree Celsius)
        tbb@units = "degree Celsius"
        printMinMax(tbb,0)
        printVarSummary(tbb)



;---- Begin to plot.
        wks = gsn_open_wks("png","TBB_plot")
        res = True

        res@gsnDraw                                 = False
        res@gsnFrame                                = False
        res@gsnMaximize                                = True
        res@gsnPaperOrientation                = "portrait"
        res@gsnAddCyclic                         = False         ; regional data
        ;tfDoNDCOverlay should be set False (default) when lat2d and lon2d are used.
        ;res@tfDoNDCOverlay                        = True                        
        res@pmTickMarkDisplayMode          = "Always"

        ;---- Map Set
        res@mpDataSetName                                = "Earth..4"
        res@mpDataBaseVersion                        = "MediumRes"
        res@mpOutlineSpecifiers                        = (/"China","China:Provinces"/)
        res@mpOutlineBoundarySets           = "NoBoundaries"
        res@mpNationalLineColor                        = "black"
        res@mpProvincialLineColor                = "black"
        res@mpGeophysicalLineColor          = "black"
        res@mpNationalLineThicknessF         = 3
        res@mpProvincialLineThicknessF  = 3
        res@mpGeophysicalLineThicknessF = 3

        res@mpMinLonF                                = 105
        res@mpMaxLonF                                = 128
        res@mpMinLatF                                = 18
        res@mpMaxLatF                                = 35

        res@trGridType                                = "TriangularMesh"
        res@cnFillOn                                 = True
        res@cnFillMode                                 = "RasterFill"
        res@cnLinesOn                                 = False

        res@gsnLeftString                        = "TBB"
        res@gsnRightString                        = "~S~o~N~C"

        ;---- Color set
        cmap  = read_colormap_file("precip3_16lev")
        cmap1 = cmap(4::,:)
        cmap1(0,:) = cmap(0,:)
        cmap1 = cmap1(::-1,:)
        res@cnFillPalette = cmap1
        
        res@cnLevelSelectionMode = "ExplicitLevels"
        res@cnLevels = (/-30,-40,-50,-60,-70,-80/)
        res@lbOrientation = "vertical"

        plot = gsn_csm_contour_map_ce(wks,tbb,res)
        
        draw(plot)
        frame(wks)

end
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2021-6-6 19:56:34 | 显示全部楼层
电脑配置不行,太小了,用服务器吧
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-7 11:15:31 | 显示全部楼层
气象小鬼 发表于 2021-6-6 19:56
电脑配置不行,太小了,用服务器吧

呜呜,我猜到了果然这个没法解决,只能用服务器了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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