Re: ContourPlotInitialize: no valid values in scalar field; ContourPlot not possible:[errno=1101]

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Tue Oct 18 2011 - 13:37:35 MDT

Ugo,

You will get this error message if your data is all missing. See this short script for an illustration:

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"

temp = new((/100,100/),float) ; Data are all missing

wks = gsn_open_wks("x11","plot")
plot = gsn_csm_contour(wks,temp,False)

You can verify if an array is all missing with:

print("Is temp all missing ? " + all(ismissing(temp)))

You should look at your data values closer, and make sure that whatever you're reading in is not all missing,
or that some calculation you're doing is resulting in all missing values.

Please note that you don't need to subscript arrays with:

  PIOGGIA = (gfs->cwatclm(:,:,:)) ; Rain

If you want the whole variable, then don't use (:,:,:):

  PIOGGIA = gfs->cwatclm ; Rain

--Mary

On Oct 18, 2011, at 1:10 PM, ugo merlini wrote:

> Hi,
>
>
> i'm getting this error and is referred to precipitazioni_convettive_plot I don't understand where the error is (probably i'm loosing myself in a glass of water)
>
> any sguggestion?
>
> Regards
>
> Ugo
>
> NCL script
>
>
> ;----------------------------------------------------------------------
> ; This example shows how to read geographic data
> ; from Natural Earth shapefiles
> ; and plot them as polylines and polygons.
> ;----------------------------------------------------------------------
> ; This particular example plots data for Switzerland.
> ;----------------------------------------------------------------------
> ; Download the shapefiles from http://www.naturalearthdata.com/
> ; Unzip to a directory
> ;----------------------------------------------------------------------
>
> 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"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/calendar_decode2.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/ut_string.ncl"
>
>
> ;****************************
> ; Funzioni personalizzate *
> ;****************************
>
> ; funzione Data validità
>
> undef("Nuova_data")
> function Nuova_data(data:string)
> local anno, mese, giorno, ora, formato_data, data, data_intermedia_1, data_intermedia_2, data_intermedia_3, data_intermedia_4, segsDims, geomDims, fnames, fillcolors, thicks
>
> begin
>
> anno = stringtointeger( str_get_cols( data, 0, 3) )
> mese = stringtointeger( str_get_cols( data, 4, 5) )
> giorno = stringtointeger( str_get_cols( data, 6, 7) )
> ora = stringtointeger( str_get_cols( data, 8, 9) )
> formato_data = "hours since 1800-01-01 00:00:00"
>
> data_intermedia_1 = cd_inv_calendar( anno, mese, giorno, ora, 0, 0, formato_data, 0 )
>
> ; since data_intermedia_1 has the units "hours since ..." the 2 here adds 2 hours
> data_intermedia_2 = data_intermedia_1 + 2
> data_intermedia_2@units = formato_data
>
>
> data_intermedia_3 = cd_calendar( data_intermedia_2, -3 )
>
>
> data_intermedia_4 = sprinti ( "%0.8i", data_intermedia_3 )
>
> ymd2String=str_get_cols ( data_intermedia_4, 0, 7 )
> hr2String =str_get_cols ( data_intermedia_4, 8, 9 )
>
> data_intermedia_5 = systemfunc( "date -d '"+ymd2String+" "+hr2String+"' '+%A, %d/%m/%Y ore %H:00'" )
>
> if ((str_get_cols( data_intermedia_5, 0, 6) ).eq.("lunedì")) then
> nuova_data = "Lunedi~H-10V2F35~A~FV-2H3~"+ str_get_cols( data_intermedia_5, 7, strlen(data_intermedia_5)-1 )
> end if
> if ((str_get_cols( data_intermedia_5, 0, 7) ).eq.("martedì")) then
> nuova_data = "Martedi~H-10V2F35~A~FV-2H3~" + str_get_cols( data_intermedia_5, 8, strlen(data_intermedia_5)-1 )
> end if
> if ((str_get_cols( data_intermedia_5, 0, 9) ).eq.("mercoledì")) then
> nuova_data = "Mercoledi~H-10V2F35~A~FV-2H3~" + str_get_cols( data_intermedia_5, 10, strlen(data_intermedia_5)-1 )
> end if
> if ((str_get_cols( data_intermedia_5, 0, 7) ).eq.("giovedì")) then
> nuova_data = "Giovedi~H-10V2F35~A~FV-2H3~" + str_get_cols( data_intermedia_5, 8, strlen(data_intermedia_5)-1 )
> end if
> if ((str_get_cols( data_intermedia_5, 0, 7) ).eq.("venerdì")) then
> nuova_data = "Venerdi~H-10V2F35~A~FV-2H3~" + str_get_cols( data_intermedia_5, 8, strlen(data_intermedia_5)-1 )
> end if
> if ((str_get_cols( data_intermedia_5, 0, 5) ).eq.("sabato")) then
> nuova_data = "Sabato" + str_get_cols( data_intermedia_5, 6, strlen(data_intermedia_5)-1 )
> end if
> if ((str_get_cols( data_intermedia_5, 0, 7) ).eq.("domenica")) then
> nuova_data = "Domenica" + str_get_cols( data_intermedia_5, 8, strlen(data_intermedia_5)-1 )
> end if
>
>
> return (nuova_data)
>
> end
>
> ;**********************
> ; Codice principale *
> ;**********************
>
> begin
>
>
> ;*****************************************
> ; Open workstation and define colormap *
> ;*****************************************
>
> wks_type = "png" ; use "newpdf" instead of "pdf" for smaller files
> wks_type@wkWidth = 1200
> wks_type@wkHeight = 1200
> wks = gsn_open_wks(wks_type,"File_temporaneo_precipitazioni")
> gsn_define_colormap(wks,"rainbow+white+gray") ; choose colormap
>
>
>
>
>
>
> ;******************
> ; read gfs data *
> ;******************
>
> systemdate = systemfunc("date +%H%M")
>
> if ((systemdate.eq."0645"))then
> url = "http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_hd" + systemfunc("date +%Y%m%d") + "/"
> filename = url + "gfs_hd_00z"
> run = "Run GFS 00 del " + systemfunc("date +%d/%m/%Y")
> run_nome_file = "Run_GFS_00Z"
> end if
> if ((systemdate.eq."1245")) then
> url = "http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_hd" + systemfunc("date +%Y%m%d") + "/"
> filename = url + "gfs_hd_06z"
> run = "Run GFS 06 del " + systemfunc("date +%d/%m/%Y")
> run_nome_file = "Run_GFS_06Z"
> end if
> if ((systemdate.eq."1845")) then
> url = "http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_hd" + systemfunc("date +%Y%m%d") + "/"
> filename = url + "gfs_hd_12z"
> run = "Run GFS 12 del " + systemfunc("date +%d/%m/%Y")
> run_nome_file = "Run_GFS_12Z"
> end if
> if ((systemdate.eq."0045")) then
> url = "http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_hd" + systemfunc("date -d '-1 day' +'%Y%m%d'") + "/"
> filename = url + "gfs_hd_18z"
> run = "Run GFS 18 del " + systemfunc("date -d '-1 day' +'%d/%m/&Y'")
> run_nome_file = "Run_GFS_18Z"
> end if
>
> url = "http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_hd20111018/"
> filename = url + "gfs_hd_00z"
> run = "Run GFS 00 del " + systemfunc("date +%d/%m/%Y")
> run_nome_file = "Run_GFS_00Z"
>
> exists = isfilepresent(filename)
> if(.not.exists) then
> print("OPeNDAP isfilepresent test unsuccessful.")
> print("Either file doesn't exist, or NCL does not have OPeNDAP capabilities on this system")
> else
> print("OPeNDAP isfilepresent test successful.")
> gfs = addfile(filename,"r")
> vars = getfilevarnames(gfs)
> end if
>
>
>
>
>
> ;*********************************
> ; risorse per la mappa di base *
> ;*********************************
> mappa = True ; plot mods desired
> mappa@mpProjection = "LambertConformal" ; choose projection
>
> mappa = True ; plot mods desired
>
> mappa@gsnMaximize = True
> mappa@gsnDraw = False ; do not draw the plot
> mappa@gsnFrame = False ; do not flip the page
>
> mappa@mpProjection = "LambertConformal" ; choose projection
> mappa@mpLimitMode = "LatLon"
> mappa@mpMaxLonF = 47.0
> mappa@mpMaxLatF = 88.5
> mappa@mpMinLatF = 27.0
> mappa@mpMinLonF = -43.0
> mappa@mpGridAndLimbOn = True ; turn on grid lines
> mappa@mpGridLineDashPattern = 10 ; lat/lon lines dashed
>
> ;******************************
> ; risorse generali dei plot *
> ;******************************
>
> plot_generale= True
> plot_generale@gsnMaximize = True
> plot_generale@gsnDraw = False ; do not draw the plot
> plot_generale@gsnFrame = False ; do not flip the page
> plot_generale@gsnAddCyclic = True
> plot_generale@gsnSpreadColors = False ; turn off the use entire color map
> plot_generale@gsnRightString = "" ; turn off right string
> plot_generale@gsnLeftString = ""
>
>
>
> ;*******************************
> ; risorse generali dei testi *
> ;*******************************
> testo_generale = True
> testo_generale@txFont = "times-roman" ; font
> testo_generale@txBackgroundFillColor = "Transparent"
>
>
> testo_titolo = testo_generale
> testo_titolo@txFontHeightF = 0.02 ; set the label size
> testo_titolo@txJust = "CenterLeft"
> testo_titolo@txPosXF = 0.02
> testo_titolo@txPosYF = 0.885
>
> testo_modello = testo_generale
> testo_modello@txFontHeightF = 0.015
> testo_modello@txJust = "BottomLeft"
> testo_modello@txPosXF = 0.02 ; Rough approximation
> testo_modello@txPosYF = 0.851
>
>
> testo_data = testo_generale
> testo_data@txFontHeightF = 0.015
> testo_data@txJust = "BottomRight"
> testo_data@txPosXF = 0.98 ; Rough approximation
> testo_data@txPosYF = 0.85
>
>
>
>
>
>
>
> drawNDCGrid(wks)
>
> ;******************************
> ; generazione mappa di base *
> ;******************************
>
> map = gsn_csm_map(wks,mappa)
>
> fnames = "/mnt/internetserver/map/shapefile/europa/aaa_full/" + (/"europa"/) + ".shp" ; Files to be open
> linecolors = (/"Black"/) ; color definition for each shapefile
> fillcolors = (/"Transparent"/) ; Fill color definition for each shapefile
> thicks = (/2/) ; Thickness for each shapefile
> lnres = True ; resources for polylines
> plres = True
> prims = True
> lines = True
> do n=0,dimsizes(fnames)-1 ; Loop through files that we want to read geographic information from.
> f = addfile(fnames(n),"r") ; Open the shapefile number n.
> segments = f->segments ; Read data off the shapefile
> geometry = f->geometry
> segsDims = dimsizes(segments)
> geomDims = dimsizes(geometry)
> geom_segIndex = f@geom_segIndex ; Read global attributes
> geom_numSegs = f@geom_numSegs
> segs_xyzIndex = f@segs_xyzIndex
> segs_numPnts = f@segs_numPnts
> geometry_type = f@geometry_type
> numFeatures = geomDims(0)
> lon = f->x
> lat = f->y
> if (geometry_type.eq."polygon") then ; Put if statement outside the loop
> plres@gsFillColor = fillcolors(n)
> plres@gsEdgesOn = True ; Draw border around polygons
> plres@gsEdgeColor = linecolors(n)
> plres@gsEdgeThicknessF = thicks(n)
> do i=0, numFeatures-1 ; Section to draw polygons on map.
> startSegment = geometry(i, geom_segIndex)
> numSegments = geometry(i, geom_numSegs)
> do seg=startSegment, startSegment+numSegments-1
> startPT = segments(seg, segs_xyzIndex)
> endPT = startPT + segments(seg, segs_numPnts) - 1
> dumstr = unique_string("lines") ; This call adds the polygon.
> map@$dumstr$ = gsn_add_polygon(wks, map , lon(startPT:endPT), lat(startPT:endPT), plres)
> end do
> end do
> else
> lnres@gsLineThicknessF = thicks(n)
> lnres@gsLineColor = linecolors(n)
> do i=0, numFeatures-1 ; Section to draw polylines on map.
> startSegment = geometry(i, geom_segIndex)
> numSegments = geometry(i, geom_numSegs)
> do seg=startSegment, startSegment+numSegments-1
> startPT = segments(seg, segs_xyzIndex)
> endPT = startPT + segments(seg, segs_numPnts) - 1
> dumstr = unique_string("primitive") ; This call adds the line segment.
> map@$dumstr$ = gsn_add_polyline(wks, map, lon(startPT:endPT), lat(startPT:endPT), lnres)
> end do
> end do
> end if
> delete(lat) ; Clean up before we read in same variables again.
> delete(lon)
> delete(segments)
> delete(geometry)
> delete(segsDims)
> delete(geomDims)
> end do
>
>
> ;******************
> ; Precipitazioni *
> ;******************
>
> ; Risorse
>
> precipitazioni = plot_generale
> precipitazioni@cnLinesOn = False ; turn on contour lines
> precipitazioni@cnLineLabelsOn = False ; turn on contour labels
> precipitazioni@cnFillOn = True ; turn on color
> precipitazioni@cnLevelSelectionMode = "ExplicitLevels" ; set how manage contour line levels
> precipitazioni@cnLevels = (/0.00,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.50,2.00,2.50,3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.00,10.50,11.00,11.50,12.00,12.50,13.00,13.50,14.00,14.50,15.00,16.00,17.00,18.00,19.00,20.00,21.00,22.00,23.00,24.00,25.00,30.00,35.00,40.00,45.00,50.00,55.00,60.00,65.00,70.00,75.00,80.00,85.00,90.00,95.00,100.00,105.00,110.00,115.00,120.00,125.00/)
> precipitazioni@cnFillColors = (/238,238,238,238,238,238,238,238,238,238,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224/)
>
>
> precipitazioni_convettive = plot_generale
> precipitazioni_convettive@cnLinesOn = True
> precipitazioni_convettive@cnLineLabelsOn = False ; turn on contour labels
> precipitazioni_convettive@cnFillOn = False ; turn off color
> precipitazioni_convettive@cnMonoLineDashPattern = True
> precipitazioni_convettive@cnLineDashPattern = 12
> precipitazioni_convettive@cnLevelSelectionMode = "ExplicitLevels" ; set how manage contour line levels
> precipitazioni_convettive@cnLevels = (/0.00,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.50,2.00,2.50,3.00,3.50,4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.00,10.50,11.00,11.50,12.00,12.50,13.00,13.50,14.00,14.50,15.00,16.00,17.00,18.00,19.00,20.00,21.00,22.00,23.00,24.00,25.00,30.00,35.00,40.00,45.00,50.00,55.00,60.00,65.00,70.00,75.00,80.00,85.00,90.00,95.00,100.00,105.00,110.00,115.00,120.00,125.00/)
> precipitazioni_convettive@cnMonoLineColor = False ; turn off auto contour line colors
> precipitazioni_convettive@cnLineColors = (/"Transparent","Transparent","Transparent","Transparent","Transparent","Transparent","Transparent","Transparent","Transparent","Transparent","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red","Red"/)
> precipitazioni_convettive@lbLabelsOn = False
>
> ;precipitazioni_neve = plot_generale
> ;precipitazioni_neve@cnLinesOn = False ; turn on contour lines
> ;precipitazioni_neve@cnFillOn = True ; turn on color
> ;precipitazioni_neve@cnLevelSelectionMode = "ManualLevels" ; set how manage contour line levels
> ;precipitazioni_neve@cnLevels = (/0,1/)
> ;precipitazioni_neve@cnFillPatterns = (/0,17/)
> ;precipitazioni_neve@cnFillColors = (/"Transparent","White"/)
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ;precipitazioni@lbAutoManage = False
> ;precipitazioni@lbLabelsOn = True ; turn on the labels
> ;precipitazioni@lbLabelAutoStride = True ; let NCL determine label spacing
> ;precipitazioni@lbLeftMarginF = 0.02
> ;precipitazioni@lbOrientation = "horizontal" ; label orientation
> ;precipitazioni@lbBoxLinesOn = True ; turn on lines between labelbar colors
> ;precipitazioni@lbLabelFont= "times-roman" ; font
> ;precipitazioni@lbLabelFontHeightF= 0.0045 ; set the label size
> ;precipitazioni@lbLabelAlignment = "BoxCenters"
> ;precipitazioni@pmLabelBarHeightF = 0.002
> ;precipitazioni@lbLabelStride = 5 ; label every other box
> ;precipitazioni@lbMonoFillColor = False
> ;precipitazioni@lbBoxCount = 148
> ;precipitazioni@lbBoxLinesOn = True
> ;precipitazioni@lbFillColors = (/90,90,90,90,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236/)
>
> ; Dati per plot
>
>
> PIOGGIA = (gfs->cwatclm(:,:,:)) ; Rain
> PIOGGIA_CONVETTIVA = (gfs->acpcpsfc(:,:,:)) ; Convective rain
> ;NEVE = gfs->csnowsfc(:,:,:) ;snow
> print(PIOGGIA_CONVETTIVA)
>
> NTIMES = dimsizes(gfs->time) ; number of times in the file
>
> do it = 0,10 ;NTIMES-1
> testo_titolo_plot = gsn_create_text(wks,"Precipitazioni accumultate nelle ultime 3 ore",testo_titolo)
> draw(testo_titolo_plot)
> testo_modello_plot = gsn_create_text(wks,(run),testo_modello)
> draw(testo_modello_plot)
> testo_data_plot = gsn_create_text(wks, (Nuova_data(ut_string(gfs->time(it),"%Y%N%D%H"))),testo_data)
> draw(testo_data_plot) ; Draw text box.
>
> precipitazioni_plot = gsn_csm_contour(wks,PIOGGIA(it,:,:),precipitazioni)
> overlay(map,precipitazioni_plot)
> draw(map)
> precipitazioni_convettive_plot = gsn_csm_contour(wks,PIOGGIA_CONVETTIVA(it,:,:),precipitazioni_convettive)
> overlay(map,precipitazioni_convettive_plot)
> draw(map)
> ;precipitazioni_neve_plot = gsn_contour(wks,NEVE(it,:,:),precipitazioni_neve)
> ;overlay(map,precipitazioni_neve_plot)
> ; precipitazioni_neve_plot = gsn_contour(wks,NEVE(it,:,:),precipitazioni_neve)
>
>
>
>
> ;draw(map)
>
>
> ;destroy(precipitazioni_plot)
>
> ;destroy(precipitazioni_convettive_plot)
> ;destroy(precipitazioni_neve_plot)
> frame(wks)
> end do
> do it = 0,10 ;NTIMES-1
> if (it.le.8) then
> system("mv File_temporaneo_precipitazioni.00000" + (it+1) + ".png" + " Precipitazioni0" + (it) + "_" + (run_nome_file) + ".png")
>
> end if
> if (it.eq.9) then
> system("mv File_temporaneo_precipitazioni.0000" + (it+1) + ".png" + " Precipitazioni0" + (it) + "_" + (run_nome_file) + ".png")
> end if
> if (it.ge.10) then
> system("mv File_temporaneo_precipitazioni.0000" + (it+1) + ".png" + " Precipitazioni" + (it) + "_" + (run_nome_file) + ".png")
> end if
> end do
>
> end
>
>
>
> _______________________________________________
> 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 Tue Oct 18 13:37:45 2011

This archive was generated by hypermail 2.1.8 : Wed Oct 19 2011 - 13:36:10 MDT