[gradsusr] Speed optimizations
Wesley Ebisuzaki - NOAA Federal
wesley.ebisuzaki at noaa.gov
Fri Jan 15 07:59:16 EST 2016
Travis,
Opening your ctl file takes about 6 seconds on my linux machine. A
display takes about 2 seconds.
The memory requirements for displaying the field ranges from 55% to 92% of
the total memory
of a 16 GB machine. Perhaps your displays are slow because you are using
swap/virtual memory.
You mentioned that 1km radar fields are part of an archive. You can
reduce the file size by
using special values for undefined values rather than a bitmap and by using
wgrib2's
more efficient packing routines. For your sample file, you can save
56%. This will speed
up the I/O time. The downside is that using special values for undefined
is not supported by
all programs. Most grib software supports special values because special
values have been used
by NDFD grib2 files for several years. However, YMMV.
bash-4.1$ wgrib2 1kmradar_201512241600.grib2 -set_grib_type c1 -grib_out
1kmradar_201512241600.grib2.c1
1:189:d=2015122416:BREF:surface - surface:anl:
bash-4.1$ ls -l 1kmradar_201512241600.grib2*
-rw-r--r--. 1 wd51we wd5 2597063 Jan 15 07:01 1kmradar_201512241600.grib2
-rw-r--r--. 1 wd51we wd5 1152668 Jan 15 07:18 1kmradar_201512241600.grib2.c1
Jennifer also mentioned that the PDEFS require calculation by GrADS. You
can use
wgrib2 to interpolate to a lat-lon grib file. This has the advantage of
eliminating the
pdef calculation and reducing memory footprint of GrADS. If your computer
is
running out of memory, this should be a big speed up.
wgrib2 1kmradar_201512241600.grib2 -set_grib_type c1 -new_grid_winds earth
-new_grid latlon -129.209875:6541:0.0100363502228856
21.747560:3298:0.00923772727272727 1kmradar_201512241600.grib2.latlon
I used the same weird lat-lon grid as used in your ctl file. Opening the
lat-lon
grid was probably less than 1 second. Plotting started immediately.
So the slowness of in your system was probably caused by too little computer
memory. The slowness in my system was caused by the interpolation from
lambert-conformal to the lat-lon grid. NetCDF was probably faster because
(1) it allowed partial grid to be extracted which reduced the memory
footprint
and avoided swapping and (2) the NetCDF data was already stored in a
lat-lon grid.
You mentioned that the NetCDF file was 3x times larger. You had not used a
bitmap, you
would have found that the NetCDF file was 6x larger. (Now waiting for a
some NetCDF user to reduce that number.)
Wesley
On Thu, Jan 14, 2016 at 8:57 PM, Jennifer M Adams <jadams21 at gmu.edu> wrote:
>
> On Jan 14, 2016, at 8:25 PM, Travis Wilson - NOAA Federal <
> travis.wilson at noaa.gov> wrote:
>
> Hi James,
>
> I converted the file to a netcdf via sdfwrite and you are right. The file
> opens almost instantly. I wonder why grib files are so slow to open and if
> this could be avoided?
>
> Please see my earlier email for an explanation.
>
> It is worth noting that the netcdf file is about 3x larger even with using
> the -zip option. Unfortunately since this is an archive, we can't just
> increase the data stored by a factor of 3.
>
> Did you use the -flt option?
> If file size is really a problem, you can archive the grib2 files but use
> the netcdf file for the real-time web server — overwrite the netcdf file
> every time a new radar file comes in.
>
>
> I like your idea of the OPenDAP server, we may have to check into this if
> there is no other option.
>
> I don’t think this is going to save you any time because under the hood of
> the opendap server, the I/O problems remain. You’re just adding overhead by
> putting it behind GDS, which takes extra time to write out the subsets in
> flat binary and then send them to the opendap client.
> —Jennifer
>
>
>
>
>
>
> On Thu, Jan 14, 2016 at 4:05 PM, James T. Potemra <jimp at hawaii.edu> wrote:
>
>> Hi Travis,
>>
>> This seems a little strange to me. I did a quick test with one of our
>> higher res data sets (global bathy) that is 21600 by 64800 (x,y) and it
>> loads almost instantly in GrADS. Of course generating a display takes a
>> long time, and my test was done on a netCDF file.
>>
>> This aside, could you run the data through an OPeNDAP server? Even
>> though it would be on the same machine, you could use the server to subset
>> via the DAP call, rather than relying on GrADS to load the entire file.
>>
>> Jim
>>
>>
>> On 1/14/16 12:54 PM, Travis Wilson - NOAA Federal wrote:
>>
>> Hi,
>>
>>
>> At the NWS we have been using grads to create images from grib files on
>> the fly. Users use a front end interface to select a model (which is just
>> a grib file on a server), field, and view, and submits a job. Within 3-4
>> seconds the server is able to launch grads, open the grib file, and produce
>> 50-100 images for the user to view. This works extremely well for CONUS
>> datasets with medium to coarse resolutions (up to 6km).
>>
>> We have started using higher resolution grib files (1 km radar files are
>> attached) and they are substantially slower. The main problem comes from
>> opening the file. If a user selects radar for Northern California, it
>> takes grads approximately 18 seconds just to open the 1km CONUS radar file
>> (scanning descriptor file)..and then grads plots rather quickly.
>>
>>
>> A workaround we have been using is to subset the data on the fly (since
>> we don’t know the area the user will select). This example regrids the
>> CONUS radar for northern California.
>>
>>
>> wgrib2 1kmradar_201512241600.grib2 -small_grib 233:243 36.8:42.8
>> 1kmradar_201512241600.grib2.small
>>
>>
>> The small grib file will open in GrADS in about 1 second. Regridding,
>> and remaking the ctl and idx is substantially faster, but still requires a
>> lot of time. My question is, is there any way to speed up the scanning of
>> the CONUS descriptor file without subset the grib file. For example, grads
>> would not scan the entire conus descriptor file when we just need to look
>> at Northern California (or whatever portion of the US the users selects).
>>
>>
>> We appreciate all the help,
>>
>> Travis
>>
>>
>> _______________________________________________
>> gradsusr mailing listgradsusr at gradsusr.orghttp://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20160115/1916d664/attachment-0001.html
More information about the gradsusr
mailing list