<div dir="ltr"><div><div><div><div>Hi Kyle,<br></div>yes, I think it was the way I created the daily time series of GOES IR netcdf files.<br></div>I had to add a time dimension to each file and then join the files using <br><br>ncecat -O -h <a href="http://goes13_4_2013_185_0015_subset.nc">goes13_4_2013_185_0015_subset.nc</a> <a href="http://out.nc">out.nc</a><br>ncrename -O -d record,time <a href="http://out.nc">out.nc</a><br>ncap2 -O -v -s 'time=array(0,0,$time)' <a href="http://out.nc">out.nc</a><br>ncatted -O -a units,time,c,c,"seconds since 2013-185 00:15" <a href="http://out.nc">out.nc</a><br>mv <a href="http://out.nc">out.nc</a> <a href="http://goes13_4_2013_185_0015_subset.nc">goes13_4_2013_185_0015_subset.nc</a><br></div> <br>for each netcdf file<br>and then finally<br></div><div><div><br>ncrcat goes14_4_2013_185* <a href="http://test.nc">test.nc</a><br><br></div><div>to make the daily file.<br></div><div><br></div><div>I got this script from someone else, so I don´t really know how to modify it.<br></div><div>If you know how I should have written this more elegantly, please let me know.<br>Here is an ncdump -h for the netcdf file.<br><br>netcdf goes13_4_2013_185_0015_subset {<br>dimensions:<br> yc = 221 ;<br> xc = 141 ;<br>variables:<br> float new_temp(yc, xc) ;<br> new_temp:time = 1372896900 ;<br> new_temp:units = "K" ;<br> new_temp:coordinates = "lon lat" ;<br> new_temp:type = "GVAR" ;<br> new_temp:long_name = "Temperature" ;<br> float new_lat(yc, xc) ;<br> new_lat:units = "degrees_north" ;<br> new_lat:long_name = "lat" ;<br> float new_lon(yc, xc) ;<br> new_lon:units = "degrees_east" ;<br> new_lon:long_name = "lon" ;<br>}<br><br><br></div><div>thanks,<br>Dave<br></div><div><br><br><br><br><br><br><br><br></div><div><br><br></div><div><br><br><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 7, 2014 at 7:51 PM, Kyle Griffin <span dir="ltr"><<a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This requirement is due to the way the file seems to be created - for some reason, a LOT of duplicate data is stored in the file. Each new_lat/new_lon is only two dimensional, but you've also stored a value of new_lat and new_lon at each time. Unless the lat/lon points of each time differ from each other (VERY unusual and I don't think this is explicitly supported), the time dimension is unnecessary and stores identical lat/lon points 130 times over (your number of times) instead of just once (some extra 32 MB of data from some rough numbers).<div><br></div><div>More simply, lat2d needs 2-d points. Alan has simply had you pull the lat/lon coords for a single time, which is all you need. You can't give a two-dimensional variable (lat and lon) a three-dimensional coordinate.</div><div><br></div><div><br></div><div>Kyle</div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr">----------------------------------------<div>Kyle S. Griffin</div><div>Department of Atmospheric and Oceanic Sciences</div><div>University of Wisconsin - Madison</div><div>Room 1421</div><div>1225 W Dayton St, Madison, WI 53706</div><div>Email: <a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a></div></div></div><div><div class="h5">
<br><div class="gmail_quote">On Tue, Oct 7, 2014 at 7:23 PM, David Adams <span dir="ltr"><<a href="mailto:dave.k.adams@gmail.com" target="_blank">dave.k.adams@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thanks, Alan<br></div>yes, that was the trick<span><br><br><div>d@lat2d = new_lat(111,:,:)</div><div>d@lon2d = new_lon(111,:,:)</div></span><span><span><div><span style="font-family:arial,sans-serif;font-size:13px"> plot = gsn_csm_contour_map_ce(wks,d(</span><span style="font-family:arial,sans-serif;font-size:13px">111,:,:), res)</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div></span><div><span style="font-family:arial,sans-serif;font-size:13px">Although it seems strange to me that I can't write<br></span><div>d@lat2d = new_lat(:,:,:)</div>
<div>d@lon2d = new_lon(:,:,:)<br></div><div>for all 130 time dimensions. I have to fixed the first column.<br><br></div><div>saludos,<br>Dave<br></div><div><br><br><br></div>
<br></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br><br></span></div></span><br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 7, 2014 at 6:35 PM, Alan Brammer <span dir="ltr"><<a href="mailto:abrammer@albany.edu" target="_blank">abrammer@albany.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The error gives you a good starting point. So the coords of d are yc and xc which have no information associated with them. You've read in lat and lon, you just need to match that up to the plotting variable. It looks like the coords are 2 dimensional (maybe even 3 dimensional? ) <div><div><br></div><div>Take a look at example 3 here: <a href="https://www.ncl.ucar.edu/Applications/raster.shtml" target="_blank">https://www.ncl.ucar.edu/Applications/raster.shtml</a></div><div>Based on that I would do the below. There may be some more resources needed which will be in that example, or the 2 extra lines below may do it for you. </div><div><br></div><div>...</div><div>d@lat2d = new_lat(111,:,:)</div><div>d@lon2d = new_lon(111,:,:)</div><span><div><span style="font-family:arial,sans-serif;font-size:13px"> plot = gsn_csm_contour_map_ce(wks,d(</span><span style="font-family:arial,sans-serif;font-size:13px">111,:,:), res)</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div></span><div><span style="font-family:arial,sans-serif;font-size:13px">Good Luck, </span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Alan Brammer</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Tue, Oct 7, 2014 at 7:24 PM, David Adams <span dir="ltr"><<a href="mailto:dave.k.adams@gmail.com" target="_blank">dave.k.adams@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div><div><div><div>Hi NCLers (sorry if multiply posted, I am having trouble with my registration)<br><br></div><div><div>I am trying to plot of map of
GOES IR Brightness temperature, but am getting a flat field. When I
print the data they're fine, the values are correct.<br><br></div></div></div><div><div>The file I am using I created with <br>ncrcat<br></div></div></div><div><div>to
put all of the 15 minutes GOES netcdf images into a daily file. Maybe I
erred here, maybe something wrong with the time dimension.<br><br></div></div></div><div><div>Here is ncdump -h of the file I want to plot<br><div>-------------------------------------------------------------------------------<br>ncdump -h <a href="http://test.nc" target="_blank">test.nc</a><br>netcdf test {<br>dimensions:<br> yc = 221 ;<br> xc = 141 ;<br> time = UNLIMITED ; // (130 currently)<br>variables:<br> float new_temp(time, yc, xc) ;<br> new_temp:time = 1372896900 ;<br> new_temp:units = "K" ;<br> new_temp:coordinates = "lon lat" ;<br> new_temp:type = "GVAR" ;<br> new_temp:long_name = "Temperature" ;<br> float new_lat(time, yc, xc) ;<br> new_lat:units = "degrees_north" ;<br> new_lat:long_name = "lat" ;<br> float new_lon(time, yc, xc) ;<br> new_lon:units = "degrees_east" ;<br> new_lon:long_name = "lon" ;<br> int time(time) ;<br> time:units = "seconds since 2013-185 00:15" ;<br><br>// global attributes:<br> :history = "Mon Oct 6 18:26:36 2014: ncrcat <a href="http://goes13_4_2013_185_0015_subset.nc" target="_blank">goes13_4_2013_185_0015_subset.nc</a> ............<br><a href="http://goes13_4_2013_185_2345_subset.nc" target="_blank">goes13_4_2013_185_2345_subset.nc</a> <a href="http://test.nc" target="_blank">test.nc</a>\n",<br> "Mon Oct 6 18:24:58 2014: ncatted -O -a units,time,c,c,seconds since 2013-185 00:15 <a href="http://out.nc" target="_blank">out.nc</a>\n",<br> "Mon Oct 6 18:24:58 2014: ncap2 -O -v -s time=array(0,0,$time) <a href="http://out.nc" target="_blank">out.nc</a>\n",<br> "Mon Oct 6 18:24:58 2014: ncrename -O -d record,time <a href="http://out.nc" target="_blank">out.nc</a>" ;<br> :nco_openmp_thread_number = 1 ;<br>}<br>----------------------------------------------------------------------------------------------------------------------<br></div><div><br>Here is the map plotting code<br></div><div>-----------------------------------------------------------------------------------------------------------------------<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"<br><br>;*********************************<br>; read variable<br>;*********************************<br><br>f = addfile("<a href="http://test.nc" target="_blank">test.nc</a>","r")<br>d = f->new_temp ; float data(time, yc, xc) ;<br> ; data:type = "IR" ;<br> printVarSummary(d)<br>;*********************************<br>; Fix the variable so it has recognizable missing data<br>;*********************************<br> new_lat = f->new_lat<br> new_lon = f->new_lon<br><br>;*********************************<br>; create plot<br>;*********************************<br> pltType = "pdf" ; "ps", "eps", "pdf", "png"<br> pltDir = "./"<br><br> wks = gsn_open_wks(pltType, "test")<br> gsn_define_colormap(wks,"BlAqGrYeOrReVi200"); choose a color map<br><br> res = True<br> res@cnFillOn = True ; turn on color<br> res@cnFillMode = "RasterFill" ; cell mode<br> res@cnLinesOn = False ; Turn off contour lines<br> res@gsnSpreadColors = True ; use full colormap<br> res@gsnAddCyclic = False ; data not cyclic<br> res@gsnMaximize = True ; ps, pdf, pdf<br> res@pmTickMarkDisplayMode = "Always" ; use NCL default<br> res@lbLabelAutoStride = True ; let NCL decide spacing<br> res@mpMinLatF = 23.0 ; ; region to zoom in on<br> res@mpMaxLatF = 33.00 ; <br> res@mpMinLonF = -115.200 ; <br> res@mpMaxLonF = -102.20 ; <br> res@mpFillOn = False<br> res@mpOutlineBoundarySets = "National" ; turn on country boundaries<br> res@trGridType = "TriangularMesh" ; Necessary b/c lat, lon<br> res@lbLabelStride = 5.0 ; every other label bar label<br><br> plot = gsn_csm_contour_map_ce(wks,d(111,:,:), res)<br>----------------------------------------------------------------------------------------------------<br><br></div><div>Also, I am getting these warnings,<br></div><div><br>0)
check_for_y_lat_coord: Warning: Data either does not contain a valid
latitude coordinate array or doesn't contain one at all.<br>(0) A valid latitude coordinate array should have a 'units' attribute equal to one of the following values: <br>(0)
'degrees_north' 'degrees-north' 'degree_north' 'degrees north'
'degrees_N' 'Degrees_north' 'degree_N' 'degreeN' 'degreesN' 'deg north'<br>(0)
check_for_lon_coord: Warning: Data either does not contain a valid
longitude coordinate array or doesn't contain one at all.<br>(0) A valid longitude coordinate array should have a 'units' attribute equal to one of the following values: <br>(0)
'degrees_east' 'degrees-east' 'degree_east' 'degrees east'
'degrees_E' 'Degrees_east' 'degree_E' 'degreeE' 'degreesE' 'deg east'<br><br></div><div>Any ideas?<br><br>thanks in advance,<br></div>Dave</div></div></div>
<br></div></div>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div></div></div>
</blockquote></div><br></div>