[ncl-talk] Fatal error of "NclVar.c":1390

Rick Brownrigg brownrig at ucar.edu
Wed Sep 10 09:16:28 MDT 2014


Hi Azizul,

I see the problem now.  The error is coming from the do-loop:

   do i=0,9
   ...
   end do

Previously in the script, you created variables named "a" through "j" as
file-variables.  Thus by the time the do-loop is encountered, a
file-variable named "i" already exists, and thus can't be reassigned as an
integer.  Make sense?

HTH
Rick

On Wed, Sep 10, 2014 at 4:38 AM, azizul haque <haque.azizul320 at yahoo.com>
wrote:

> Hi Rick,
> Thanks for your reply. I am still having same problem in runing following
> script and getting  error include
> ***fatal:["NclVar.c":1390]:Assignment type mismatch, right hand side
> can't be coerced to type of left hand side
> fatal:["Execute.c":8567]:Execute: Error occurred at or near line 199 in
> file cmipdaily5sa.ncl****
>
> Script is follows for you kind looking up
>
> ;::::Load
> Libraries::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> 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"
>
> ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> begin
>  ;   modi1=”GPCP”
>   ;  modi2="CNRM-CM5"
>   ; modi3="CESM1-BGC"
>    ;modi4="CCSM4"
>   ; timi=”1850-2005”
>   ; region="South Asia"
>  ;::::Open file and read data
>     ;  dir  = "/Desktop/CMIP5/RCP85/"
>   ;filename = "GPCP_1DD_v1.2_199610-201312.nc"
>    ; a      = addfile(dir+filename,"r")
>  ;a=addfile("/Users/ahaque/Desktop/CMIP5/RCP85/
> GPCP_1DD_v1.2_199610-201312.nc","r")
>
>  ;prec   = a->PREC ; dimensions and size ; 6301x180x360 ; timexlatxlon
>  a
> =addfile("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/HadGEM2-ES/r1i1p1/pr_day_HadGEM2-ES_historical_r1i1p1_18591201-200511_sa.nc","r")
>  pr0= a->pr ;dimensions and size; 105120x43x55  ;time xlatxlon
>
>  b=addfile("/Users/ahaque/Desktop/CMIP5//historical/Daily/historical/CNRM-CM5/r1i1p1/pr_day_CNRM-CM5_historical_r1i1p1_18500101-20051231_sa.nc","r")
>  pr1= b->pr ;dimensions and size;56978x43x55 ;timexlatxlon
>  c=addfile("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/CESM1-BGC/r1i1p1/pr_day_CESM1-BGC_historical_r1i1p1_18500101-20051231_sa.nc",
> "r")
>  pr2= c->pr ;dimensions and size;56940x43x55  ;time xlatxlon
>  d=addfile
> ("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/NorESM1-M/r1i1p1/pr_day_NorESM1-M_historical_r1i1p1_18500101-20051231_sa.nc",
> "r")
>  pr3= d->pr;dimensions and size; 56940x43x55   ;time xlatxlon
>  e=addfile
> ("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/GFDL-ESM2M/r1i1p1/pr_day_GFDL-ESM2M_historical_r1i1p1_18610101-20051231_sa.nc",
> "r")
>  pr4= e->pr;dimensions and size; 56940x43x55   ;time xlatxlon
>  f=addfile
> ("//Users/ahaque/Desktop/CMIP5/historical/Daily/historical/GFDL-ESM2G/pr_day_GFDL-ESM2G_historical_r1i1p1_18610101-20051231_sa.nc",
> "r")
>  pr5= f->pr;dimensions and size; 56940x43x55   ;time xlatxlon
>  g=addfile
> ("//Users/ahaque/Desktop/CMIP5/historical/Daily/historical/MIROC-ESM/r1i1p1/pr_day_MIROC-ESM_historical_r1i1p1_18500101-20051231_sa.nc",
> "r")
>  pr6= g->pr;dimensions and size; 56940x43x55   ;time xlatxlon
>  h=addfile
> ("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/MPI-ESM1-LR/r1i1p1/pr_day_MPI-ESM-LR_historical_r1i1p1_18500101-20051231_sa.nc",
> "r")
>  pr7= h->pr;dimensions and size; 56940x43x55   ;time xlatxlon
>  i=addfile
> ("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/bcc-csm1-1-m/r1i1p1/
> pr_day_bcc-csm1-1-m_historical_r1i1p1_18500101-20121231_sa.nc", "r")
>  pr8= i->pr;dimensions and size; 56940x43x55   ;time xlatxlon
>  j=addfile ("/Users/ahaque/Desktop/CMIP5/historical/Daily/historical/
> GPCP_1DD_v1.2_199610-201312_sa.nc", "r")
>  pr9= j->PREC;dimensions and size; 56940x43x55   ;time xlatxlon
>
> ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mod_names =
> (/"HadGEM2-ES","CNRM-CM5","CESM1-BGC","NorESM1-M","GFDL-ESM2M","GFDL-ESM2G","MIROC-ESM","MPI-ESM-LR","bcc-csm1-1-m","GPCP"/)
> pre_mm=
> (/"pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day","pr(mm/day"/)
>
> ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> ;:::: Convert units kg/(m2-s) to mm/day;
>
>  ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>       pr0=pr0*86400.
>       pr0 at units= "mm/day" ;to mm/day;
>       printVarSummary(pr0)
>       printMinMax(pr0,1)
>
> ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>       pr1 = pr1*86400.
>       pr1 at units = "mm/day"
>       printVarSummary(pr1)
>       printMinMax(pr1,1)
>
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr2 = pr2*86400.
>       pr2 at units = "mm/day"
>       printVarSummary(pr2)
>       printMinMax(pr2,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr3 = pr3*86400.
>       pr3 at units = "mm/day"
>       printVarSummary(pr3)
>       printMinMax(pr3,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr4 = pr4*86400.
>       pr4 at units = "mm/day"
>       printVarSummary(pr4)
>       printMinMax(pr4,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr5 = pr5*86400.
>       pr5 at units = "mm/day"
>       printVarSummary(pr5)
>       printMinMax(pr5,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr6 = pr6*86400.
>       pr6 at units = "mm/day"
>       printVarSummary(pr6)
>       printMinMax(pr6,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr7 = pr7*86400.
>       pr7 at units = "mm/day"
>       printVarSummary(pr7)
>       printMinMax(pr7,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr8 = pr8*86400.
>       pr8 at units = "mm/day"
>       printVarSummary(pr8)
>       printMinMax(pr8,1)
> ;::::Convert units kg/(m2-s) ;to mm/day;
>       pr9 = pr9*1.
>       pr9 at units = "mm/day"
>       printVarSummary(pr9)
>       printMinMax(pr9,1)
> ;::::Compute daily long term  mean
>       pr0Dayavg=dim_avg_n_Wrap(pr0,0); daily mean
>       printVarSummary(pr0Dayavg)
>       printMinMax(pr0Dayavg,1)
> ;::::Compute daily long term  mean
>       pr1Dayavg=dim_avg_n_Wrap(pr1,0); daily mean
>       printVarSummary(pr1Dayavg)
>       printMinMax(pr1Dayavg,1)
> ;::::Compute daily long term  mean
>       pr2Dayavg=dim_avg_n_Wrap(pr2,0); daily mean
>       printVarSummary(pr2Dayavg)
>       printMinMax(pr2Dayavg,1)
> ;::::Compute daily long term mean
>       pr3Dayavg=dim_avg_n_Wrap(pr3,0); daily mean
>       printVarSummary(pr3Dayavg)
>       printMinMax(pr3Dayavg,1)
> ;::::Compute daily long term mean
>       pr4Dayavg=dim_avg_n_Wrap(pr4,0); daily mean
>       printVarSummary(pr4Dayavg)
>       printMinMax(pr4Dayavg,1)
> ;::::Compute daily long term mean
>       pr5Dayavg=dim_avg_n_Wrap(pr5,0); daily mean
>       printVarSummary(pr5Dayavg)
>       printMinMax(pr5Dayavg,1)
> ;::::Compute daily long term mean
>       pr6Dayavg=dim_avg_n_Wrap(pr6,0); daily mean
>       printVarSummary(pr6Dayavg)
>       printMinMax(pr6Dayavg,1)
> ;::::Compute daily long term mean
>       pr7Dayavg=dim_avg_n_Wrap(pr7,0); daily mean
>       printVarSummary(pr7Dayavg)
>       printMinMax(pr7Dayavg,1)
> ;::::Compute daily long term mean
>       pr8Dayavg=dim_avg_n_Wrap(pr8,0); daily mean
>       printVarSummary(pr8Dayavg)
>       printMinMax(pr8Dayavg,1)
> ;::::Compute daily long term mean
>       pr9Dayavg=dim_avg_n_Wrap(pr9,0); daily mean
>       printVarSummary(pr9Dayavg)
>       printMinMax(pr9Dayavg,1)
>
> ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> ;:::Setting resources for Plotting
> wks = gsn_open_wks("x11","Smalllat1")
> gsn_define_colormap(wks,"rainbow")
>
> res1                 = True            ; Variable to hold plot options
>
> res1 at gsnMaximize     = True            ; Maximize plot in frame.
> res1 at gsnSpreadColors = True            ; Span full color map
> res1 at gsnLeftString = ""
> res1 at gsnRightString = ""
> ;res1 at gsnMajorLonSpacing = 10       ;labeling lat and lon spacing on the
> map
> ;res1 at gsnMajorLatSpacing = 10
> res1 at gsnAddCyclic = False
> res1 at gsnDraw      =  False                   ; do not draw the plot
> res1 at gsnFrame     =  False                   ; do not advance the frame
>
>
> res1 at cnLinesOn       = False           ; turn off contour line color
> res1 at cnLineLabelsOn  = False
> res1 at cnFillOn        = True            ; Contour fill on
> ;res1 at cnLevelSelectionMode = "ManualLevels"  ; manual contour levels
> ;res1 at cnMinLevelValF       = 5.0           ; min level
> ;res1 at cnMaxLevelValF       = 100.0           ; max level
> ;res1 at cnLevelSpacingF      = 5           ; interval
> ;res1 at cnLevelSelectionMode = "ExplicitLevels"
> ;res1 at cnLevels             = (/0.1,1,2.5,5,10,15,20,25,50,75/) ; "mm/day"
>
> ;res1 at lbOrientation   = "Vertical"      ; Move labelbar to side
> ;res1 at lbLableBarFontHeightF=0.01
> ;res1 at lbLableBarOrthogonalposF=-0.030
> res1 at lbLabelBarOn = False ; added procedure to do a single label bar for
> the panel
>
> res1 at mpLimitMode     = "LatLon"
> res1 at mpMinLatF       = 20 ;min(lat2d)
> res1 at mpMaxLatF       = 35 ;max(lat2d)
> res1 at mpMinLonF       = 70 ;min(lon2d)
> res1 at mpMaxLonF       = 90 ;max(lon2d)
> ;res1 at mpProjection       = "LambertConformal"
> ;res1 at mpLambertMeridianF     =  0.5*res1 at mpMinLonF + 0.5*res1 at mpMaxLonF
> ;res1 at mpLambertParallel1F    =  0.7*res1 at mpMinLatF + 0.3*res1 at mpMaxLatF
> ;res1 at mpLambertParallel2F    =  0.3*res1 at mpMinLatF + 0.7*res1 at mpMaxLatF
> ;res1 at mpOutlineDrawOrder = "postdraw" ; predraw, draw, postdraw
> ;res1 at mpUSStateLineDashPattern = 4
> ;res1 at mpOutlineBoundarySets = "GeophysicalAndUSStates"  ;turn on state
> boundaries
> ;res1 at mpLabelsOn = True
>
> res1 at pmTickMarkDisplayMode       = "Always" ; turn on tick marks
> ;res1 at tmXBLabelsOnF    = True   ; do not draw bottom labels
> ;res1 at tmYRLabelsOn          = False ; no right labels
> ;res1 at tmYLLabelsOnF         = True ; yes left labels
> ;res1 at tmXBOnF               = True ; yes bottom tickmarks
> ;res1 at tmXTOn                = False
> ;res1 at tmYLOnF               = True
> ;res1 at tmYROnF               = True
>
> ;res1 at vpWidthF = 1.80                              ; plot width
> ;res1 at vpHeightF= 0.50                              ; plot height
>
> ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> ;plotting procedure
>  plot = new(10,graphic)
>   do i=0,9
>
>       res1 at gsnCenterString = mod_names(i)+"       "+pre_mm(i)
>       res1 at gsnCenterStringFontHeightF = 0.022
>
>       plot(i) = gsn_csm_contour_map(wks,t(i,:,:),res1)
> end do
>
>
>       ;res1 at gsnLeftString = "HadGEM2-ES: Pr: ("+pr0Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr0Dayavg at units+")"
>       ;res1 at gsnLeftStringFontHeightF = 0.010
>       ;res1 at gsnRightStringFontHeightF = 0.010
>       ;plot(0) = gsn_csm_contour_map(wks,pr0Dayavg,res1)
>
>       ;res1 at gsnLeftString = "CNRM-CM5: Pr: ("+pr1Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr1Dayavg at units+")"
>       ;res1 at gsnLeftStringFontHeightF = 0.015
>       ;res1 at gsnRightStringFontHeightF = 0.015
>       ;plot(1) = gsn_csm_contour_map(wks,pr1Dayavg,res1)
>
>       ;res1 at gsnLeftString = "CESM1-BGC: Pr: ("+pr2Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr2Dayavg at units+")"
>       ;res1 at gsnLeftStringFontHeightF = 0.015
>       ;res1 at gsnRightStringFontHeightF = 0.015
>       ;plot(2) = gsn_csm_contour_map(wks,pr2Dayavg,res1)
>
>       ;res1 at gsnLeftString = "NorESM1-M: Pr: ("+pr3Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr3Dayavg at units+")"
>       ;plot(3) = gsn_csm_contour_map(wks,pr3Dayavg,res1)
>
>       ;res1 at gsnLeftString = "GFDL-ESM2M: Pr: ("+pr4Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr4Dayavg at units+")"
>       ;plot(4) = gsn_csm_contour_map(wks,pr4Dayavg,res1)
>
>       ;res1 at gsnLeftString = "GFDL-ESM2G: Pr: ("+pr5Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr5Dayavg at units+")"
>       ;plot(5) = gsn_csm_contour_map(wks,pr5Dayavg,res1)
>
>       ;res1 at gsnLeftString = "MIROC-ESM: Pr: ("+pr6Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr6Dayavg at units+")"
>       ;plot(6) = gsn_csm_contour_map(wks,pr6Dayavg,res1)
>
>       ;res1 at gsnLeftString = "MPI-ESM1-LR: Pr: ("+pr7Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr7Dayavg at units+")"
>       ;plot(7) = gsn_csm_contour_map(wks,pr7Dayavg,res1)
>
>       ;res1 at gsnLeftString = "bcc-csm1-1-m: Pr: ("+pr8Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr8Dayavg at units+")"
>       ;plot(8) = gsn_csm_contour_map(wks,pr8Dayavg,res1)
>
>       ;res1 at gsnLeftString = "GPCP: Pr: ("+pr9Dayavg at units+")"
>       ;res1 at gsnRightString = "Daily Mean:("+pr9Dayavg at units+")"
>       ;plot(9) = gsn_csm_contour_map(wks,pr9Dayavg,res1)
>     ;end do
>
> ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> ; panelling
>
>   resP = True
>   resP at txString = "Daily Mean Precipitation by Historical in South Asia
> from CMIP 5 Models"
>   resP at gsnFrame= True
>   resP at txFontHeightF = 0.0125
>   resP at gsnPanelLabelBar = True   ; add common colorbar
>   resP at lbOrientation   = "Vertical"      ; Move labelbar to side
>   resP at gsnMaximize    = True                ; maximize plots
>   resP at lbTitleString = "mm/d"
>   ;resP at lbTitleFontHeightF = 0.15
>   ;resP at lbTitleOffsetF = 0.08
>   resP at lbLabelAutoStride   = True
>   resP at lbLabelFontHeightF = 0.015
>   resP at lbBoxLinesOn = False
>   ;resP at lbBoxMinorExtentF = 0.7
>   ;resP at pmLabelBarWidthF = 0.5
>   ;resP at pmLabelBarOrthogonalPosF = -0.05
>   ;resP at pmLabelBarParallelPosF = 0.6,5/),resP) ; not draw as one plot
>
>   txres =True
>   txres at gsnFrame= False  ; do not advance the frame
>   txres at txFontHeightF = 0.0321
>   gsn_text_ndc(wks,"Source: Azizul Haque, NOAA ESRL",087,024, txres)
>  frame(wks)
> end
>
>
>   On Tuesday, September 9, 2014 6:25 AM, Rick Brownrigg <brownrig at ucar.edu>
> wrote:
>
>
> Hi,
>
> Its almost impossible to say with certainty, as we have no idea what line
> 199 corresponds to in your script fragment. However as a general comment,
> you have a do-loop and within that are explicitly making the same 10 plots
> on each iteration.  I can't recall offhand if one can re-assign a plot
> variable without first deleting its previous value.
>
> Rick
>
>
> On Tue, Sep 9, 2014 at 1:42 AM, azizul haque <haque.azizul320 at yahoo.com>
> wrote:
>
> Hi All,
> I am plotting 10 plots from CMIP5(5/2). dat reading is fine and during
> visualization it shows following error message.
> ****fatal:["NclVar.c":1390]:Assignment type mismatch, right hand side
> can't be coerced to type of left hand side
> fatal:["Execute.c":8567]:Execute: Error occurred at or near line 199 in
> file cmipdaily5sa.ncl************
> You can find a parts of the script at the line 199
> ;plotting procedure
>  plot = new(10,graphic)
>   do i=0,9
>       res1 at gsnLeftString = "HadGEM2-ES: Pr: ("+pr0Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr0Dayavg at units+")"
>       res1 at gsnLeftStringFontHeightF = 0.010
>       res1 at gsnRightStringFontHeightF = 0.010
>       plot(0) = gsn_csm_contour_map(wks,pr0Dayavg,res1)
>
>       res1 at gsnLeftString = "CNRM-CM5: Pr: ("+pr1Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr1Dayavg at units+")"
>       ;res1 at gsnLeftStringFontHeightF = 0.015
>       ;res1 at gsnRightStringFontHeightF = 0.015
>       plot(1) = gsn_csm_contour_map(wks,pr1Dayavg,res1)
>
>       res1 at gsnLeftString = "CESM1-BGC: Pr: ("+pr2Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr2Dayavg at units+")"
>       ;res1 at gsnLeftStringFontHeightF = 0.015
>       ;res1 at gsnRightStringFontHeightF = 0.015
>       plot(2) = gsn_csm_contour_map(wks,pr2Dayavg,res1)
> res1 at gsnLeftString = "NorESM1-M: Pr: ("+pr3Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr3Dayavg at units+")"
>       plot(3) = gsn_csm_contour_map(wks,pr3Dayavg,res1)
>
>       res1 at gsnLeftString = "GFDL-ESM2M: Pr: ("+pr4Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr4Dayavg at units+")"
>       plot(4) = gsn_csm_contour_map(wks,pr4Dayavg,res1)
>
>       res1 at gsnLeftString = "GFDL-ESM2G: Pr: ("+pr5Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr5Dayavg at units+")"
>       plot(5) = gsn_csm_contour_map(wks,pr5Dayavg,res1)
>
>       res1 at gsnLeftString = "MIROC-ESM: Pr: ("+pr6Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr6Dayavg at units+")"
>       plot(6) = gsn_csm_contour_map(wks,pr6Dayavg,res1)
>
>       res1 at gsnLeftString = "MPI-ESM1-LR: Pr: ("+pr7Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr7Dayavg at units+")"
>       plot(7) = gsn_csm_contour_map(wks,pr7Dayavg,res1)
>
>       res1 at gsnLeftString = "bcc-csm1-1-m: Pr: ("+pr8Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr8Dayavg at units+")"
>       plot(8) = gsn_csm_contour_map(wks,pr8Dayavg,res1)
>
>       res1 at gsnLeftString = "GPCP: Pr: ("+pr9Dayavg at units+")"
>       res1 at gsnRightString = "Daily Mean:("+pr9Dayavg at units+")"
>       plot(9) = gsn_csm_contour_map(wks,pr9Dayavg,res1)
>     end do
>
> Your suggestion are highly appreciated.
> Regards
> azizul
>
>
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140910/94fffab5/attachment.html 


More information about the ncl-talk mailing list