[ncl-talk] fatal error: "Assignment not supported for left-hand type"
Wei Huang
huangwei at ucar.edu
Thu Jul 24 16:31:31 MDT 2014
Franz,
Can print the value of: depth1dtC_surf(imod,ilev)
before 17306?
Wei
================================================
1850 Table Mesa Dr.
Boulder, CO 80307
Phone: 303-497-8924
On Thu, Jul 24, 2014 at 3:51 PM, franz <f.trotta at sincem.unibo.it> wrote:
> As you said, I have used 'mintempCstring' and 'mintempCstring' as local
> variable in the loop removing the line 17274 and 17275.
> Now the code look like:
>
> 17274
> 17275 if(lplot_outModSurfC) then
> 17276
> 17277 if (lplot_outModSurfC_temp) then
> 17278
> 17279 print("")
> 17280 print(" ### Plot SURF-TEMP")
> 17281 system("cd " + path_exp_figure_comp+"/outNemo/temp ; rm
> temp*.png")
> 17282
> 17283 tempC_diff(0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1) = \
> 17284 tempC(1,0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1)
> - \
> 17285 tempC(0,0:nt_max-1,0:nz_max-1,
> 0:ny_max-1,0:nx_max-1)
> 17286
> 17287 colorsMap = "rainbow"
> 17288 namefile = "tempC_xy"
> 17289 titleplot = "Temperature"
> 17290 label = " "
> 17291 ilev = 0
> 17292 itime = 0
> 17293 printVarSummary(LeftStringC)
> 17294 ;print(minmaxtempCstring)
> 17295 do imod=0,1
> 17296 print("imod="+imod)
> 17297 ;LeftStringC(imod) = "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m
> range=["+ \
> 17298 ; sprintf("%0.2f",min(tempC(
> imod,itime,ilev,0:ny(imod)-1,0:nx(imod)-1)))+","+ \
> 17299 ; sprintf("%0.2f",max(tempC(
> imod,itime,ilev,0:ny(imod)-1,0:nx(imod)-1)))+"]"
> 17300 mintempC = min(tempC(imod,itime,ilev,0:
> ny(imod)-1,0:nx(imod)-1))
> 17301 maxtempC = max(tempC(imod,itime,ilev,0:
> ny(imod)-1,0:nx(imod)-1))
> 17302 mintempCstring = sprintf("%0.2f",mintempC)
> 17303 maxtempCstring = sprintf("%0.2f",maxtempC)
> 17304 print(mintempCstring)
> 17305 print(maxtempCstring)
> 17306 LeftStringC(imod) = "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m
> range=["+ \
> 17307 mintempCstring+","+
> maxtempCstring+"]"
> 17308 end do
>
>
>
>
>
> but there is still the error "Assignment not supported for left-hand type"
> :
> at the end of the loop:
>
>
>
> Variable: LeftStringC
> Type: string
> Total Size: 16 bytes
> 2 values
> Number of Dimensions: 1
> Dimensions and sizes: [2]
> Coordinates:
> Number Of Attributes: 1
> _FillValue : missing
> fatal:Assignment not supported for left-hand type
> fatal:["Execute.c":8128]:Execute: Error occurred at or near line 17308 in
> file main.ncl
>
>
>
>
> other suggestion?
>
> thanks
> Francesco
>
>
>
> On 24-07-2014 22:12, Wei Huang wrote:
>
>> Franz,
>>
>> Change:
>>
>> 17274 mintempCstring = new(nmod,string,"")
>> 17275 maxtempCstring = new(nmod,string,"")
>>
>> to:
>>
>> 17274 mintempCstring = new((/nmod/),string,"")
>> 17275 maxtempCstring = new((/nmod/),string,"")
>>
>> Or just remove these two lines.
>> Then remove (imod) from mintempCstring and maxtempCstring.
>> So these two will be just local variable.
>>
>> Wei
>>
>> ================================================
>> 1850 Table Mesa Dr.
>> Boulder, CO 80307
>> Phone: 303-497-8924
>>
>> On Thu, Jul 24, 2014 at 1:53 PM, franz <f.trotta at sincem.unibo.it>
>> wrote:
>>
>> I tried to change the code how you said, now this part of the code
>>> look like:
>>>
>>> 17271
>>> 17272
>>> 17273 print(nmod)
>>> 17274 mintempCstring = new(nmod,string,"")
>>> 17275 maxtempCstring = new(nmod,string,"")
>>> 17276
>>> 17277 if(lplot_outModSurfC) then
>>> 17278
>>> 17279 if (lplot_outModSurfC_temp) then
>>> 17280
>>> 17281 print("")
>>> 17282 print(" ### Plot SURF-TEMP")
>>> 17283 system("cd " +
>>> path_exp_figure_comp+"/outNemo/temp ; rm temp*.png")
>>> 17284
>>> 17285
>>> tempC_diff(0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1) =
>>> 17286
>>> tempC(1,0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1) -
>>> 17287
>>> tempC(0,0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1)
>>> 17288
>>> 17289 colorsMap = "rainbow"
>>> 17290 namefile = "tempC_xy"
>>> 17291 titleplot = "Temperature"
>>> 17292 label = " "
>>> 17293 ilev = 0
>>> 17294 itime = 0
>>> 17295 printVarSummary(LeftStringC)
>>> 17296 print(mintempCstring)
>>> 17297 print(maxtempCstring)
>>> 17298 do imod=0,1
>>> 17299 print("imod="+imod)
>>> 17300 ;LeftStringC(imod) =
>>> "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m range=["+
>>> 17301 ;
>>>
>>> sprintf("%0.2f",min(tempC(imod,itime,ilev,0:ny(imod)-1,
>> 0:nx(imod)-1)))+","+
>>
>>>
>>> 17302 ;
>>>
>>> sprintf("%0.2f",max(tempC(imod,itime,ilev,0:ny(imod)-1,
>> 0:nx(imod)-1)))+"]"
>>
>>> 17303 mintempCstring(imod) =
>>>
>>> sprintf("%0.2f",min(tempC(imod,itime,ilev,0:ny(imod)-1,0:nx(imod)-1)))
>>
>>> 17304 maxtempCstring(imod) =
>>>
>>> sprintf("%0.2f",max(tempC(imod,itime,ilev,0:ny(imod)-1,0:nx(imod)-1)))
>>
>>> 17305 LeftStringC(imod) =
>>> "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m range=["+
>>> 17306
>>> mintempCstring(imod)+","+maxtempCstring(imod)+"]"
>>> 17307 end do
>>>
>>> but there is still the ERROR "Assignment not supported for
>>> left-hand type"
>>> this time al line 17274:
>>>
>>> Variable: nmod
>>> Type: integer
>>> Total Size: 4 bytes
>>>
>>> 1 values
>>> Number of Dimensions: 1
>>> Dimensions and sizes: [1]
>>> Coordinates:
>>> (0) 2
>>>
>>> fatal:Assignment not supported for left-hand type
>>> fatal:["Execute.c":8128]:Execute: Error occurred at or near line
>>> 17274 in file main.ncl
>>>
>>> ./run_surf.sh: line 65: 78002 Segmentation fault: 11 ncl
>>> 'CONFIG='"${CONFIG}" 'EXPERIM='"${EXPERIM}" 'DATE00='"${DATE00}"
>>> 'path_base='"${BASE_DIR}" main.ncl
>>> sincem29:experiments franz$
>>>
>>> How can it be? Now I'm confuse.
>>>
>>> If I remove the code line: 17298 - 17307 the program is ok.
>>>
>>> thanks
>>> Francesco
>>>
>>> On 24-07-2014 19 [1]:20, Wei Huang wrote:
>>>
>>> Franz,
>>>
>>> Try change your code line: 17299 - 17301 from:
>>>
>>> LeftStringC(imod) = "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m
>>> range=["+
>>>
>>> sprintf("%0.2f",min(tempC(imod,itime,ilev,0:ny(imod)-1,
>> 0:nx(imod)-1)))+","+
>>
>>>
>>>
>>> sprintf("%0.2f",max(tempC(imod,itime,ilev,0:ny(imod)-1,
>> 0:nx(imod)-1)))+"]"
>>
>>>
>>> to:
>>>
>>> mintempCstring =
>>>
>>> sprintf("%0.2f",min(tempC(imod,itime,ilev,0:ny(imod)-1,0:nx(imod)-1)))
>>
>>> maxtempCstring =
>>>
>>> sprintf("%0.2f",max(tempC(imod,itime,ilev,0:ny(imod)-1,0:nx(imod)-1)))
>>
>>> LeftStringC(imod) = "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m
>>> range=["+
>>> mintempCstring+","+
>>> maxtempCstring+"]"
>>>
>>> and let us see if the error persist.
>>>
>>> Wei
>>>
>>> ================================================
>>> 1850 Table Mesa Dr.
>>> Boulder, CO 80307
>>> Phone: 303-497-8924 [2]
>>>
>>>
>>> On Thu, Jul 24, 2014 at 11:05 AM, franz <f.trotta at sincem.unibo.it>
>>> wrote:
>>>
>>> Dear ncl-team
>>> I'm using the ncl 6.1.2 on imac Darwin 64bit
>>> I got this fatal error: "Assignment not supported for
>>> left-hand type"
>>> and I don't understand the source of this error.
>>>
>>> Below there is part of my code (where I think NCL does not
>>> like)
>>> (I putted printVarSummary(...) to shows the info of the
>>> suspected
>>> variables)
>>>
>>> |
>>> |
>>> 228 nmod = 2
>>> |
>>> |
>>> 1371 LeftStringC = new(2,string)
>>> |
>>> |
>>> |
>>> 1428 do imod=0,nmod-1
>>> 1429
>>> |
>>> |
>>> |
>>> 16321
>>> 16322 end do ;imod
>>>
>>> |
>>> |
>>> |
>>> 17276 if(lplot_outModSurfC) then
>>> 17277
>>> 17278 if (lplot_outModSurfC_temp) then
>>> 17279
>>> 17280 print("")
>>> 17281 print(" ### Plot SURF-TEMP")
>>> 17282 system("cd " +
>>> path_exp_figure_comp+"/outNemo/temp ; rm
>>> temp*.png")
>>> 17283
>>> 17284
>>> tempC_diff(0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1) =
>>>
>>> 17285
>>> tempC(1,0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1) -
>>> 17286
>>> tempC(0,0:nt_max-1,0:nz_max-1,0:ny_max-1,0:nx_max-1)
>>> 17287
>>> 17288 colorsMap = "rainbow"
>>> 17289 namefile = "tempC_xy"
>>> 17290 titleplot = "Temperature"
>>> 17291 label = " "
>>> 17292 ilev = 0
>>> 17293 itime = 0
>>> 17294 printVarSummary(LeftStringC)
>>> 17295 printVarSummary(depth1dtC_surf)
>>> 17296 printVarSummary(tempC)
>>> 17297 do imod=0,1
>>> 17298 print("imod="+imod)
>>> 17299 LeftStringC(imod) =
>>> "z("+ilev+")="+depth1dtC_surf(imod,ilev)+"m range=["+
>>> 17300
>>>
>>>
>>> sprintf("%0.2f",min(tempC(imod,itime,ilev,0:ny(imod)-1,
>> 0:nx(imod)-1)))+","+
>>
>>>
>>> 17301
>>>
>>>
>>> sprintf("%0.2f",max(tempC(imod,itime,ilev,0:ny(imod)-1,
>> 0:nx(imod)-1)))+"]"
>>
>>> 17302 end do
>>> 17303 minLevelVal = minTemp
>>> 17304 maxLevelVal = maxTemp
>>> 17305 levelSpacing = dTemp
>>> 17306 diffLevVal(0) = minTemp_diff
>>> 17307 diffLevVal(1) = maxTemp_diff
>>> 17308 diffLevVal(2) = dTemp_diff
>>> 17309 if(ltext) then print(" ### "+titleplot+"
>>> "+label+"
>>> ilev="+sprinti("%0.3i", ilev)) end if
>>> 17310
>>>
>>>
>>> mplot_2Dfield_xy(namefile,typefile,inforun(0),colorsMap,
>> titleplot,label,LeftStringC(0:1),
>>
>>>
>>> 17311 nx(0:1),ny(0:1),
>>> 17312
>>> lon2dtC_surf(0:1,0:ny_max-1,0:nx_max-1),
>>>
>>> 17313
>>> lat2dtC_surf(0:1,0:ny_max-1,0:nx_max-1),
>>>
>>> 17314
>>> tempC(0:1,itime,ilev,0:ny_max-1,0:nx_max-1),
>>> 17315
>>> tempC_diff(itime,ilev,0:ny_max-1,0:nx_max-1),
>>> 17316
>>> minLatF,maxLatF,minLonF,maxLonF,
>>> 17317
>>> minLevelVal,maxLevelVal,levelSpacing,
>>> 17318
>>> diffLevVal(0),diffLevVal(1),diffLevVal(2))
>>>
>>> |
>>> |
>>> |
>>>
>>> end the ERROR message is:
>>>
>>> (0)
>>> (0) ### Plot SURF-TEMP
>>> rm: temp*.png: No such file or directory
>>>
>>> Variable: LeftStringC
>>> Type: string
>>> Total Size: 16 bytes
>>> 2 values
>>> Number of Dimensions: 1
>>> Dimensions and sizes: [2]
>>> Coordinates:
>>> Number Of Attributes: 1
>>> _FillValue : missing
>>>
>>> Variable: depth1dtC_surf
>>> Type: float
>>> Total Size: 800 bytes
>>> 200 values
>>> Number of Dimensions: 2
>>> Dimensions and sizes: [2] x [deptht | 100]
>>> Coordinates:
>>> deptht: [0.5031146..1787.05]
>>> Number Of Attributes: 8
>>> axis : Z
>>> positive : down
>>> standard_name : depth
>>> long_name : depth
>>> units : m
>>> valid_min : 0.5031146
>>> valid_max : 1787.05
>>> _FillValue : 9.96921e+36
>>>
>>> Variable: tempC
>>> Type: float
>>> Total Size: 892800000 bytes
>>> 223200000 values
>>> Number of Dimensions: 5
>>> Dimensions and sizes: [2] x [time_counter | 72] x [deptht | 100]
>>> x [y |
>>> 100] x [x | 155]
>>> Coordinates:
>>> time_counter: [3600..259200]
>>> deptht: [0.5031146..1787.05]
>>> y: [41.5..43.5625]
>>> x: [9.35..12.55833]
>>> Number Of Attributes: 8
>>> missing_value : 1e+20
>>> coordinates : time depth lat lon
>>> units : degC
>>> long_name : temperature
>>> standard_name : sea_water_potential_temperature
>>> valid_min : 8.159986
>>> valid_max : 14.30364
>>> _FillValue : 1e+20
>>> fatal:Assignment not supported for left-hand type
>>> fatal:["Execute.c":8128]:Execute: Error occurred at or near line
>>> 17302
>>> in file main.ncl
>>>
>>> thanks
>>> Francesco Trotta
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk [3] [1]
>>>
>>> Links:
>>> ------
>>> [1] http://mailman.ucar.edu/mailman/listinfo/ncl-talk [3]
>>>
>>
>>
>>
>> Links:
>> ------
>> [1] tel:24-07-2014%2019
>> [2] tel:303-497-8924
>> [3] http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20140724/fe9d3d1e/attachment-0001.html
More information about the ncl-talk
mailing list