Re: FW: passing values

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Wed Oct 21 2009 - 20:25:22 MDT

Hello Jam,

I am sure people saw the previous post. NCL tries to answer
all questions but our time is valuable also. Many of us volunteer
to help. We are *not* paid to do so. In fact, most people who respond
are not paid by the NCL project.

When people see a 'big' script, it means that 'someone' will have to
spend time but sometimes we are too busy to look at 'big' scripts.

As noted at:

http://www.ncl.ucar.edu/report_bug.shtml

it greatly facilitates the debugging process if the poster
reduces the script to focus on the error.

===
Having said that:

[1] "stringtointeger" does not explicitly appear in your script
[2] Therefore, it must be called by some other function. Looking at
     WRF_contributed.ncl The "WRF_Times2Udunits_c" does invoke
     "stringtointeger"

[3] Look at the WRF_contributed.ncl [WRF_Times2Udunits_c]

     %> less WRF_contributed.ncl

[4] The times are 'hard' wired

   year = stringtointeger((/Times(:, 0:3) /))
   month = stringtointeger((/Times(:, 5:6) /))
   day = stringtointeger((/Times(:, 8:9) /))
   hour = stringtointeger((/Times(:,11:12)/))
   minute = stringtointeger((/Times(:,14:15)/))
   sec = stringtointeger((/Times(:,17:18)/))

[5] Try the following smaller script

diri2 = "/ptmp/ucharuso/jam/LLJ/WRF_LDAS_USGS/" &nb sp; ; input directory
fili2 = systemfunc("cd "+diri2 +"; ls *wrfout_d02*")
fili2 = fili2 +".nc" ; explicitly add file extension
f2 = addfiles(diri2+fili2, "r") ; refers to *all* files
ListSetType (f2, "cat") ; concatenate or "merge" (default)

Times = chartostring(f[:]->Times) ; Times is of type character
Time = WRF_Times2Udunits_c(f[:]->Times, 0) ; convert to "hours since"

I speculate you will get the 'stringtointeger' error

If so, look at the above "Times" variable

or, add

Timesc = f[:]->Times
print(Timesc)
8:9, ...
Are there non-numeric characters in the 0:3, 5:6, 8:9 , ... slots

This is what 'we' would end up doing.

Good luck

jam hong wrote:
> Dear all
> Sorry I post it again, nobody answers me yet. I try to fix my error, it
> did not show the severe error anymore only warning message that
> Somebody please give me idea.
> Thanks
> Jam
> .
> (66) 290.64
> (67) 289.83
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric d igits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings mus t
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
> warning:A bad value was passed to stringtointeger, input strings must
> contain numeric digits, replacing with missing value
>
>
> Variable: ntim
> Type: integer
> Total Size: 4 bytes
> 1 values
> Number of Dimensions: 1
> Dimensions and sizes: [1]
> Coordinates:
> (0) 68
> warning:lbLabelFont is not a valid resource in ihop_site2_xy.PlotManager
> at this time
> warning:mpShapeMode is not a valid resource in ihop_site2_xy at this
> time< br>
>
>
>
> This is my code
> ;************************************************
> ; open file and read in data
> ;************************************************
>
> diri = "/ptmp/ucharuso/jam/WRF3.1_RC/WRFV3/run/" ; input directory
> fili = systemfunc("cd "+diri +"; ls *wrfout_d02*")
> fili = fili +".nc" ; explicitly add file extension
> f = addfiles(diri+fili, "r") ; refers to *all* files
> print (f)
> ListSetType (f, "cat") ; concatenate or "merge" (default)
>
> T = f[:]->T2(:,109,82)
> T@_FillValue = 9.96921e+36
> U = f[:]->U10(:,109,82)
> V = f[:]->V10(:,109,82)
> WIND = sqrt(U*U + V*V)
> TH = f[:]->TH2(:,109,82)
> PS = f[:]->PSFC(:,109,82)
> PS = PS*.01
> TS = f[:]->TSK(:,109,82)
> RANC = f[:]->RAINC(:,109,82)
> RAIN = f[:]->RAINNC(:,109,82)
> TOTRAIN = RANC + RAIN
> QF = f[:]->QFX(:,109,82)
> HF = f[:]->HFX(:,109,82)
> L = f[:]->LH(:,109,82)
> TM = f[:]->TMN(:,109,82)
> PBL = f[:]->PBLH(:,109,82)
>
> lat = f[:]->XLAT(0,109,82)
> lon = f[:]->XLONG(0,109,82)
> SM = f[:]->SMOIS(:,0,109,82)
> ST = f[:]->TSLB(:,0,109,82)
> print(T)
> ; lat = 37.3781 and Lon=-98.1636 for ihop site 5.
>
> ;print(lat)
> ;print(lon)
> ivg_usgs = f[:]->IVGTYP(:,109,82)
> ;print(ivg_usgs)
> diri2 = "/ptmp/ucharuso/jam/LLJ/WRF_LDAS_USGS/" &nb sp; ; input directory
> fili2 = systemfunc("cd "+diri2 +"; ls *wrfout_d02*")
> fili2 = fili2 +".nc" ; explicitly add file
> extension
> f2 = addfiles(diri2+fili2, "r") ; refers to *all* files
> print (f2)
> ListSetType (f2, "cat") ; concatenate or "merge" (default)
>
> T1 = f2[:]->T2(:,109,82)
> U1 = f2[:]->U10(:,109,82)
> V1 = f2[:]->V10(:,109,82)
> WIND1 = sqrt(U1*U1 + V1*V1)
> TH1 = f2[:]->TH2(:,109,82)
> PS1 = f2[:]->PSFC(:,109,82)
> PS1 = PS1*.01
> TS1 = f2[:]->TSK(:,109,82)
> RANC1& nbsp; = f2[:]->RAINC(:,109,82)
> RAIN1 = f2[:]->RAINNC(:,109,82)
> TOTRAIN1 = RANC1 + RAIN1
> QF1 = f2[:]->QFX(:,109,82)
> HF1 = f2[:]->HFX(:,109,82)
> L1 = f2[:]->LH(:,109,82)
> TM1 = f2[:]->TMN(:,109,82)
> PBL1 = f2[:]->PBLH(:,109,82)
> T1A = T1(0:67)
> print(T1A)
> lat1 = f2[:]->XLAT(0,109,82)
> lon1 = f2[:]->XLONG(0,109,82)
> SM1 = f2[:]->SMOIS(:,0,109,82)
> ST1 = f2[:]->TSLB(:,0,109,82)
> ivg_modis = f2[:]->IVGTYP(:,109,82)
> ;print(ivg_modis)
> g1 = asciiread("IHOP_site21.txt",(/146,18/), "float")
>
> T11 = g1(:,5)+273.15
> T12 = T11(0:145:2)
> T13 = T12(0:67)
> T11@_FillValue = 9999
> T12@_FillValue = 9999
> HF11 = g1(:,16)
> HF11@_FillValue = 9999
> &nb sp; HF12 = HF11(0:145:2)
> print(T13)
> L11 = g1(:,15)
> L11@_FillValue = 9999
> L12 = L11(0:145:2)
> WIND11 = g1(:,7)
> WIND11@_FillValue = 9999
> WIND12 = WIND11(0:145:2)
> PS11 = g1(:,6)
> PS12 = PS11(0:145:2)
> PS11@_FillValue = 9999
> ; MR11 = g1(:,3)
> ;SFCTEMP11 = g1(:,5)+273.15
> ; print(HF12)
> ntim= dimsizes(T11)
> HF12@_FillValue = 9999
> L12@_FillValue = 9999
>
> ;print("usgs="+L+"modis="+L1+"obs="+L11)
>
> ;print("usgs="+ivg_usgs+"modis="+ivg_modis)
>
> ;************************************************
> ; Read all the times. Convert to units for plotting
> ;************************************************
>
> Times = chartostring(f[:]->Times) ; Times is of type character
> Time = WRF_Times2Udunits_c(f[:]->Times, 0) ; convert to "hours since"
> ntim = dimsizes(Time) ; # of times on file
> print(ntim)
> wks = gsn_open_wks("ps" ,"ihop_site2") ; ps,pdf,x11,ncgm,eps
> plot = new(1,graphic) ; create a plot array
> res1 = True ; plot mods desired
> res1@gsnDraw = False ; don't draw
> res1@gsnFrame & nbsp; = False ; don't advance frame
>
> res1@lbLabelFont = "times-roman"
> res1@tmXBLabelFont = "Times-Roman"
> res1@tiYAxisFont = "Times-Roman"
> res1@tiXAxisFont = "Times-Roman"
> res1@tiMainFont = "Times-Roman"
> res1@tiYAxisFontHeightF = 0.020
> res1@tiXAxisFontHeightF = 0.020
> res1@mpShapeMode = "FreeAspect"
> res1@vpWidthF = 0.7
> res1@vpHeightF = 0.4
>
>
> ; res1@tiMainString ="Walnut River(KS)" ; "+ lat+"N
> "+fabs(lon)+"E"
> res1@tiXAxisString & nbsp; = "UTC (2-5 June 2002)"
> ;Time@units ; label bottom axis with units
> res1@tiYAxisString = "Temp at 2m (K)" ; axis string
> res1@xyDashPattern = 1 ; Make curves all solid
> res1@xyLineThicknesses = 1
> res1@xyMarkLineMode = "MarkLines" ; Markers *and* lines
> res1@xyMarkers = 16 ; 3 different markers
> res1@xyMarkerSizeF = 0.015
> res1@trYMaxF = 310 ; axis max
> res1@trYMinF = 285
> res1@tmYROn ; = False ; Don't draw labels for
> res1@tmYRLabelsOn = False ; right Y axes, b/c left
> res1@tmXTOn = False
> res1@tmXTLabelsOn = False
> res1@tmXBLabelFontHeightF = 0.020
> res1@tmYLLabelFontHeightF = 0.020
> res1@tmYLMode = "Manual"
> res1@tmYLTickStartF = 285
> res1@tmYLTickEndF = 310
> res1@tmYLTickSpacingF = 4
> res1@tmXBMode = "Explicit" ; Define your own tick mark labels.
> res1@tmXBMinorOn = False ; No minor tick marks.
> res1@tmXBValues = ispan(0,67,1); Values from 0 to 12.
> ; res1@ tmXBLabels = (/"00UTC","12UTC","00UTC","12UTC","00UTC","12UTC"/)
>
>
>
> ;res1@gsnMaximize = True ; uncomment to maximize size
>
> res2 = True
> res2@gsnDraw = False ; don't draw
> res2@gsnFrame = False ; don't advance frame
> ; res2@gsnMaximize = True ; uncomment to maximize
> size
> res2@xyDashPattern = 1 ; ; Make curves all solid
> res2@xyLineThicknesses = 1
> res2@xyMarkLineMode = "MarkLines" ; Markers *and* lines
> res2@xyMarkers = 4 ; 3 different markers
> res2@xyMarkerSizeF = 0.015
> res2@trYMaxF = 310 ; axis max
> res2@trYMinF = 285
> res2@tmYROn = False ; Don't draw labels for
> res2@tmYRLabelsOn = False ; right Y axes, b/c left
> res2@tmXTOn = False
> res2@tmXTLabelsOn = False
>
>
>
> res3 = True
> res3@gsnDraw = False ; don't draw
> res3@gsnFrame = False ; don't advance frame
> ; res3@gsnMaximize = True ; uncomment to
> maximize size
> res3@xyDashPattern = 0 ; ; Make curves all solid
> res3@xyLineThicknesses = 1
> ; res3@xyMarkLineMode = "MarkLines" ; Markers *and* lines
> ; res3@xyMarkers = 4 ; 3 different markers
> res3@xyMarkerSizeF = 0.015
> res3@trYMaxF = 310 ; axis max
> res3@trYMinF = 285
> res3@tmYROn = False ; Don't draw labels for
> res3@tmYRLabelsOn = False ; right Y axes, b/c left
> res3@tmXTOn = False
> res3@tmXTLabelsOn = False
>
>
> plot(0) = gsn_csm_xy3(wks,Time,T,T1A,T13,res1,res2,res3)
>
>
> end
>
>
> ------------------------------------------------------------------------
> Windows Live Hotmail: Your friends can get your Facebook updates, right
> from HotmailŪ.
> <http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_4:092009>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Wed Oct 21 20:25:20 2009

This archive was generated by hypermail 2.1.8 : Fri Oct 23 2009 - 11:36:30 MDT