[ncl-talk] problem with plotting
Anahita Amiri Farahani
aamir003 at ucr.edu
Mon Apr 1 16:08:53 MDT 2019
Dear all,
I try to extract some part of Africa and plot it but it does not work, here
is the code and attached is the plot.
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
ana=addfile("SDE_sw_lw_cam4_dust_base.nc","r")
FSNT = lonFlip(ana->FSNT)
FSNTC = lonFlip(ana->FSNTC)
FLNT = lonFlip(ana->FLNT)
FLNTC= lonFlip(ana->FLNTC)
lat=ana->lat
lon=ana->lon
delete(ana)
ana=addfile("SDE_sw_lw_cam4_dust.nc","r")
FSNT_diff = lonFlip(ana->FSNT)
FSNTC_diff = lonFlip(ana->FSNTC)
FLNT_diff = lonFlip(ana->FLNT)
FLNTC_diff = lonFlip(ana->FLNTC)
delete(ana)
;************** AFRICA *****************
lat1 = lat(45:61)
lon1=fspan(-30,15,19)
lat1 at units = "degrees_north"
lon1 at units = "degrees_east"
rad = 4.0*atan(1.0)/180.0
clat = cos(lat1*rad)
;********************** BASE ******************************
sde_toa_sw1=FSNT(:,45:61,{-30:15})-FSNTC(:,45:61,{-30:15})
sde_toa_lw1=-1.*(FLNT(:,45:61,{-30:15})-FLNTC(:,45:61,{-30:15}))
;********************** Dust ******************************
sde_toa_sw_diff1=FSNT_diff(:,45:61,{-30:15})-FSNTC_diff(:,45:61,{-30:15})
sde_toa_lw_diff1=-1.*(FLNT_diff(:,45:61,{-30:15})-FLNTC_diff(:,45:61,{-30:15}))
; ******** Annual Global Mean CHANGES ********
sde_toa_tot= sde_toa_sw1 + sde_toa_lw1
sde_toa_tot_diff= sde_toa_sw_diff1 + sde_toa_lw_diff1
sde_toa=sde_toa_tot_diff-sde_toa_tot
;copy_VarCoords(FSNT,sde_toa)
sde_toa!2 = "lon" ; variable/dim name
sde_toa&lon = lon1 ; create coordinate variable
sde_toa!1 = "lat" ; variable/dim name
sde_toa&lat = lat1 ; create coordinate variable
sde_toa!0 = "time"
copy_VarCoords(sde_toa,sde_toa_tot)
copy_VarCoords(sde_toa,sde_toa_tot_diff)
sde_toa_tot!0 = "time" ; variable/dim name
sde_toa_tot_diff!0 = "time" ; variable/dim name
;toa_toa_area = avg(wgt_areaave(sde_toa, area, 1.0, 0))
toa_toa_clat = avg(wgt_areaave(sde_toa, clat, 1.0, 0))
;print("sde_toa_tot="+toa_toa_area)
print("sde_toa_tot="+toa_toa_clat)
sde_toa_tot_annual = month_to_annual(sde_toa_tot, 1)
sde_toa_tot_diff_annual = month_to_annual(sde_toa_tot_diff, 1)
dsizesPD = dimsizes(sde_toa_tot_diff_annual)
ntim = dsizesPD(0)
nlat = dsizesPD(1)
mlon = dsizesPD(2)
low_base = sde_toa_tot_annual(lat|:,lon|:,year|:)
low_dust = sde_toa_tot_diff_annual(lat|:,lon|:,year|:)
low_avebase = dim_avg(low_base)
low_avedust = dim_avg(low_dust)
low_varbase = dim_variance(low_base)
low_vardust = dim_variance(low_dust)
low_sPD = conform_dims((/nlat,mlon/),ntim,-1)
;alpha = swPD(0,:,:)
alpha =
(1.0-ttest(low_avebase,low_varbase,low_sPD,low_avedust,low_vardust,low_sPD,False,False))
alpha!0 = "lat"
alpha&lat = lat1
alpha!1 = "lon"
alpha&lon = lon1
;***** Global Annual Significance ********
low_base_area = wgt_areaave(sde_toa_tot_annual, clat, 1.0, 0)
low_dust_area = wgt_areaave(sde_toa_tot_diff_annual, clat, 1.0, 0)
low_avD = avg(low_base_area)
low_avI = avg(low_dust_area)
low_vaD = variance(low_base_area)
low_vaI = variance(low_dust_area)
low_sD = ntim
low_prob =
100.0*(1.0-ttest(low_avD,low_vaD,low_sD,low_avI,low_vaI,low_sD,False,False))
print("Significance level of SDE_global = " + sprintf("%5.2f", low_prob))
low_AAE = dim_avg(sde_toa(lat|:,lon|:,time|:))
low_AAE!1 = "lon" ; variable/dim name
low_AAE&lon = lon1 ; create coordinate variable
low_AAE!0 = "lat" ; variable/dim name
low_AAE&lat = lat1 ; create coordinate variable
wks = gsn_open_wks("eps","SDE_TOA_tot_ann")
gsn_define_colormap(wks,"BlWhRe") ; choose color
;gsn_define_colormap(wks,"BlAqGrYeOrRe")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
res = True ; plot mods desired
res at cnFillOn = True ; turn on color
res at gsnSpreadColors = True ; use full color map
res at cnLinesOn = False ; no contour lines
res at cnLineLabelsOn = False ; no line labels
res at mpMaxLatF = 90 ; specify the plot domain
res at mpMinLatF = -90 ;
res at mpMinLonF = 0 ;
res at mpMaxLonF = 357.5
res at mpCenterLonF= 0;178.75
;res at gsnAddCyclic = False
;res at cnLevelSelectionMode = "AutomaticLevels" ; AutomaticLevels
res at cnLevelSelectionMode = "ManualLevels" ; AutomaticLevels
res at cnMinLevelValF = -4. ; min level
res at cnMaxLevelValF = 4. ; max level
res at cnLevelSpacingF = 0.2 ; interval
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
res at tiMainString = "Annual changes SDE at TOA "
res at gsnDraw = False ; Do not draw plot
res at gsnFrame = False ; Do not advance frome
plot = gsn_csm_contour_map_ce(wks,low_AAE(:,:), res)
; ========================= PLOT 2 ==============================
res2 = True ; res2 probability plots
res2 at gsnDraw = False ; Do not draw plot
res2 at gsnFrame = False ; Do not advance frome
res2 at cnLevelSelectionMode = "ManualLevels" ; set manual contour levels
res2 at cnMinLevelValF = 0.00 ; set min contour level
res2 at cnMaxLevelValF = 1.05 ; set max contour level
res2 at cnLevelSpacingF = 0.05 ; set contour spacing
res2 at cnInfoLabelOn = False ; turn off info label
res2 at cnNoDataLabelOn = False
res2 at cnLinesOn = False ; do not draw contour lines
res2 at cnLineLabelsOn = False ; do not draw contour labels
res2 at gsnLeftString = ""
res2 at gsnRightString = ""
res2 at cnFillScaleF = 0.6 ; add extra density
res2 at cnLevelSpacingF = 0.04 ; set contour spacing
plot2 = gsn_csm_contour(wks,gsn_add_cyclic_point(alpha(:,:)), res2)
plot2 = ShadeGtContour(plot2, 0.95, 17) ; shade all areas less than the
; 0.05 contour level
overlay (plot, plot2)
draw (plot)
frame(wks)
delete(wks)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190401/d75beaaf/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SDE_TOA_tot_ann.eps
Type: application/postscript
Size: 510137 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190401/d75beaaf/attachment-0001.eps>
More information about the ncl-talk
mailing list