[ncl-talk] Problem aligning data with map

Dave Allured - NOAA Affiliate dave.allured at noaa.gov
Tue Mar 27 17:37:42 MDT 2018


Chris,

Let me add this.  I took a quick look at the two netcdf files in your
original message, narr-a and D-Value.  Both files appear to be correctly
constructed for 2-D NARR coordinates, in conformance with CF conventions.
In particular, both lat and lon 2-D coordinate variables are independently
included in each file.  Also each data variable includes a properly
formed attribute for "auxiliary coordinates", e.g.:

    PRES_221_SFC:coordinates = "gridlat_221 gridlon_221" ;

This is sufficient for the ncview utility (yet another viewing tool) to
properly geo-locate the data over maps, as far as I can tell by eye.  I
confirmed this on several variables in each data file.  The Matlab image in
your original message also seems to be correctly geo-located, but I did not
confirm that.

My guess is that your current IDV version does not know how to decode this
type of coordinates.  Someone else will have to answer about that.

--Dave


On Tue, Mar 27, 2018 at 4:58 PM, Mary Haley <haley at ucar.edu> wrote:

> Hi Chris,
>
> You were almost there.
>
> The issue is that you are subsetting your data by selecting a lat/lon area
> of interest, but then trying to plot this data using the projection defined
> for the original data. When you set the "tfDoNDCOverlay" resource to True,
> this signals to NCL that you are plotting data in its "native" projection,
> and hence you need to set the map parameters exactly right for the data you
> are plotting.
>
> If you are plotting the original data (see narr_plot.ncl), then you can
> use the map projection parameters on the file to plot the data. This script
> shows how to plot the data on both a cylindrical equidistant projection
> using the 2D lat/lon arrays read off the file, and in the native projection
> using map projection information attached to the lat/lon arrays. I've
> attached the PNGs from this script.
>
> If you want to zoom in on the data, then unless you know the exact
> projection parameters for the zoomed data, you will have to subset the 2D
> lat/lon arrays in the same fashion as the data, and use these for
> plotting.  See the attached narr_plot_zoom.ncl and image.
>
> Finally, I took your original script and applied the same concepts I used
> in narr_plot_zoom.ncl. Instead of using tfDoOverlay, it uses the subsetted
> lat/lon arrays to get the overlay correct:
>
>   res at sfXArray               = lon2d_small
>   res at sfYArray               = lat2d_small
>
> Note that in narr_plot_zoom.ncl, I didn't use sfXArray / sfYArray.
> Instead, I used:
>
>   var_subset at lat2d = lat_subset
>   var_subset at lon2d = lon_subset
>
> These are essentially the same thing. I was just lazy and didn't want to
> have to attach the special "lat2d" and "lon2d" attributes to every variable
> being plotted.
>
> For more descriptive information on all this, you may want to visit our
> "plotting data on a map" page:
>
> http://www.ncl.ucar.edu/Applications/plot_data_on_map.shtml
>
> Let me know if you have any questions about what I did.
>
> --Mary
>
>
> On Tue, Mar 27, 2018 at 3:02 PM, Herbster, Christopher G. <
> herbstec at erau.edu> wrote:
>
>> Hi folks,
>>
>>
>>
>> Here is a sequence of events that we are using to download some NARR data
>> from NOMADS at NCDC:
>>
>> We use the get-httpsubset.pl script from
>>
>> https://nomads.ncdc.noaa.gov/guide/index.php?name=advanced#adv-httpsubset
>> and the Perl scripts from
>>
>> http://www.cpc.ncep.noaa.gov/products/wesley/fast_downloading_grib.html
>> to grab a handful of parameters from the NARR dataset.
>>
>>
>>
>> This gives us GRIB files like:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/narr-a_
>> 221_20101201_1200_000.sub.grb
>>
>>
>>
>> I then used: ncl_convert2nc narr-a_221_20101201_1200_000.sub.grb -nc4c -l
>>
>> To make
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/narr-a_
>> 221_20101201_1200_000.sub.nc4
>>
>>
>>
>> I did this for 30 years of data ending 12-31-2010.
>>
>>
>>
>> We then used an NCL script to do some calculations on a month of data,
>> and write the results into a new file.
>>
>> Here is the script:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/read_
>> narr_ncar-help.ncl
>>
>> My apologies to those of you who actually know how to code in NCL.  I am
>> strictly an amateur at this.
>>
>>
>>
>> Here is the file we created:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/D-Value
>> _Monthly_Stats.2010.12.averages.1200.nc
>>
>>
>>
>> Our problem seems to be aligning the data to the map background, as I can
>> show with the following images:
>>
>>
>>
>> The grey area in this image is supposed to be where the terrain is higher
>> than the calculated value:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/narr-
>> paper.000001.png
>>
>>
>>
>> The data mask area is too far to the west, even extending out over the
>> ocean.
>>
>>
>>
>> When we plot it in the Unidata IDV we get what we expect:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/IDV_4K_
>> Mask_D-Val.png
>>
>>
>>
>> Then we decided to try plotting it in Matlab as another test.  We got:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/Matlab_
>> Plot_NARR_Mask.jpg
>>
>>
>>
>>
>>
>> While I suspect that I am not doing something properly with the mapping
>> of the data, I am also wondering about the results of making the NetCDF
>> file from the ncl_convert command.
>>
>>
>>
>> First, is the compression lossy?  I realized that the default compression
>> is zero, so this step did not do much for disk space!  (Actually made
>> bigger files, but never mind.)
>>
>>
>>
>> When I load the original GRIB file into the IDV it displays the region
>> properly without any problem.  When I try to load the original NetCDF file,
>> the IDV does not seem to know the geographic region of the data.
>>
>>
>>
>> This can be seen in the following images:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/load-both-idv.png
>> shows the Mean Sea Level Pressure data from both files.  They appear to
>> match.  However, when I added the second panel (NetCDF file), the IDV did
>> not display the data properly, and did so only after I selected a
>> predefined CONUS projection (as shown).
>>
>>
>>
>> When I open the NetCDF file and plotted MSLP in a window by itself, I got
>> this:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/load-netcdf-idv.png
>>
>>
>>
>> I had to zoom way out to display this data.  It knows where to put the
>> data, but the IDV thinks the data should be in the white box area, I
>> think.  (I’m not really sure about this interpretation.)
>>
>>
>>
>> The questions I have are:
>>
>> 1)      Why does this happen?
>>
>> 2)      Is this related to my data masking and mapping problem, or are
>> they separate issues?
>>
>>
>>
>> Thanks in advance for any help on any of these problems/questions.
>>
>>
>>
>> Cheers,
>>
>>
>>
>> Chris
>>
>>
>>
>> PS  If you want to test our script, there is a month of data in this tar
>> file:
>>
>> http://wx.erau.edu/faculty/herbster/demo/.hidden/NCL/sample-narr.tgz
>>
>> --
>>
>>
>>
>> Dr. Christopher G. Herbster
>>
>> Associate Professor
>>
>> Director of Science and Technology
>>
>> for the ERAU Weather Center
>>
>> Applied Aviation Sciences
>>
>> Embry-Riddle Aeronautical Univ.
>>
>> 600 S. Clyde Morris Blvd.
>>
>> Daytona Beach, FL 32114-3900
>>
>>  386.226.6444 <(386)%20226-6444> Office
>>
>> 386.226.6446 <(386)%20226-6446> Weather Center
>>
>> http://wx.erau.edu/
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180327/909f7de0/attachment.html>


More information about the ncl-talk mailing list