LOD and Refinenment level explained

1 post / 0 new
clyne
LOD and Refinenment level explained

When you use VDC Type 2 data (the "-vdc2" option on vdfcreate, wrfvdfcreate, etc.) there are two data approximation quality controls available in vaporgui: LOD and Refinement.

LOD determines the *number*of wavelet coefficients used to reconstruct data from wavelet space (i.e. it determines how many wavelet coefficients are used in the inverse wavelet transform). Because the wavelet coefficients are sorted by their information content (their absolute value), which wavelet coefficients used are also implicitly determined. By default, four
different levels-of-detail (LODs) are available: 500:1, 100:1, 10:1, and 1:1. In the first case, 500:1, only the largest 1/500 wavelet coefficients are used to reconstruct data, and so on.

Refinement determines how many levels of the recursive inverse wavelet transform are applied during reconstruction. Because of the wavelet transforms multiresolution properties, each pass of the inverse wavelet transform effectively refines the grid, doubling the number of grids points along each axis. The number of refinement levels available is determined by a combination of wavelet family, and blocking factor (these parameters are set by the -wname and -bs options , respectively, of the *vdfcreate commands). The default wavelet and blocking factor are "bior3.3" and 64^3, which results in four refinement levels: 0, 1, 2, 3. Refinement level 0 is always the coarsest. Thus, for example, if your native grid resolution is 512^3, refinement level 3 would be the native grid, level 2 would be 256^3, and so on.

Some important things to keep in mind with LOD and Refinement: both impact the quality of the data approximation. However, they have different impacts on your computing resources. Since LOD determines how many wavelet coefficients are read from disk, it chiefly impacts disk I/O (which usually dominates vaporgui performance). On the other hand, Refinement has no impact on I/O, but does impact both CPU and GPU performance, and memory (RAM). The higher the refinement level, the more grid points. Thus the more "work" the CPU or GPU needs to do.

In terms of which LOD level or Refinement level to use, it is highly data set dependent. You just have to play around and see what gives the best performance vs accuracy trade off. Always verify final results by using the highest LOD and Refinement level.

More details can be found in these book chapters:

https://www.vapor.ucar.edu/sites/default/files/releases/multires.pdf
https://www.vapor.ucar.edu/sites/default/files/releases/HPVvapor.pdf

and in the document:

https://www.vapor.ucar.edu/docs/vapor-data-preparation/vapor-data-prepar...