Tips and Tricks

How can I smooth a geologic surface even if it doesn’t honor my data?

Posted by on Oct 21, 2018 in FAQ, Tips and Tricks | Comments Off on How can I smooth a geologic surface even if it doesn’t honor my data?

If I have surfaces that look like this with lots of peaks and troughs, is there an easy way to create a smooth surface, even if it doesn’t necessarily try to “honor” every point, more like a least squares fit? All of our estimation methods in krig_3d_geology honor your data, as best they can subject to your specified grid resolution.  The simplest way to get a smoother “apparent” surface is to coarsen your grid resolution.  However this method has some potential pitfalls, since the value computed at any give node will always approach the value nearest to that node.  This means that if one of your spike values (you can see that type of noise above) land very close to one of your coarse grid nodes, you can still get a spike in your coarse surface. However, there is an absolutely true way to smooth your surface regardless of grid resolution that is direct contradiction to my statement above (All of our estimation methods in krig_3d_geology honor your data). If you use the Advanced variography options in krig_3d_geology and set a non-zero nugget term, you can smooth your noisy data! I don’t have the customer’s dataset shown above, so I used one of our Sample Project datasets: This application has a DEM top surface, and a GMF file for the 4 additional stratigraphic surfaces.  After loading the app, delete these 6 modules: and after adding geologic_surfaces, change the Z Scale to 3.0 As you can see, the uppermost of our 4 surfaces is rather noisy (actually just accurately following this stratigraphic horizon, but good enough for this lesson!).   Right now we’re using Natural Neighbors with Gradients, which tends to give us the smoothest surface of all of our Estimation Methods that honors our data, but what if you wanted something much smoother? If you switch to Kriging, but don’t change anything else, you’d get: This is different, but not necessarily smoother (right)?  So let’s switch to Advance Variography and click on the Display and Edit Variogram button. To smooth our surface, we need to let the kriging DIS-honor our data.  The parameter that does that is the Nugget term.  For over 20 of our 29 years, we never let you set this parameter to a non-zero value.  Especially when dealing with environmental data (or surface data), it was our contention that the data was sacrosanct and that it should be honored.  For most sites, we still feel this is true. When the nugget term is set to zero and you use the expert system’s Defaults, they will often seem to do a poor job of fitting the variogram as shown below: First, you have to remember that the variogram fit is a constrained best-fit and second, you’re fitting the squares of the differences between your values.  When you choose a nugget term, you won’t be choosing a potential surface variation value in actual units (feet or meters), but rather the square of that value.  The nugget is a potential variance as you approach one of your data points, not a forced error. So, I will admit to having tried many different sets of values before converging on the selections below.  I even tried some Gaussian options that seemed to “fit” better, but that gave bizarre results.   So I will leave...

read more

Free Mini Class on Advanced Visualization Techniques

Posted by on Jun 22, 2017 in Tips and Tricks | Comments Off on Free Mini Class on Advanced Visualization Techniques

C Tech will conduct a free mini-class on Advanced Visualization Techniques using Earth Volumetric Studio, on July 12, 2017 at 11:00 am EDT. We will cover some clever tricks with the buffer and union modules and some surprises.   The class was open to the first 50 registrants. It was posted Thursday June 22 and the final registrant was early Monday morning on June 26. The recorded video of the class is...

read more

Fault Surfaces in Earth Volumetric Studio

Posted by on Feb 7, 2017 in Tips and Tricks | Comments Off on Fault Surfaces in Earth Volumetric Studio

There are normally two reasons to create fault surfaces in EVS.  We either just want to display them, or we want to use them to create fault blocks as part of a more complex geologic model.  When we create fault blocks, we are using the surf_cut module and the fault surface is input to the right input port.  There are three main cases to consider with respect to the creation of fault surfaces: 1) Planar surfaces.  A planar surface is a surface which is flat.  It can be oriented in any way, but is has no curvature, bumps, etc.  This type of fault if very easy to create with the create_fault_surface module.  However, you can also cut any 3D model using the “cut” module to create a fault block. 2) Non-planar surfaces created in EVS.  There are two cases here.  Single-Valued and Multi-Valued surfaces Single-Valued or simple surfaces can be created using krig_3d_geology, krig_2d or scat_to_tin using x-y-z points formatted as .GEO, .GMF or .APDV files.  This is the easiest way to create more complex surfaces which have only ONE Z coordinate for any X-Y location. Multi-Valued surfaces are surfaces which which have TWO or more Z coordinates for any X-Y location. Some simple examples would be a sphere or a tube (pipe). Some are easily created in EVS.  For examples it is easy to create tubes of constant or variable diameter with the tubes module, and these can be used to cut tunnels through geologic models. However, in general the creation of multi-valued surfaces is a very difficult process since traditional estimation methods such as kriging, IDW, splining, TIN, etc. cannot be used.  In some cases it is possible to find a coordinate transformation where the surface would not be multi-valued. For example, imagine a cross-section through a multi-valued fault surface below.  The red line shows where this surface is multi-valued.  If we rotate counterclockwise 90 degrees, this surface is no longer multi-valued and could be created using any of our traditional methods.  All we need to do is rotate the data, create the surface and then counter-rotate the resultant surface back.  We can rotate the data using transform_field, create the TIN (or krige, etc.) , and then rotate back to the original coordinates.  Be sure to use the same center of rotation in transform_field. To confirm everything is correct, we check it against the original data.  Sometimes the angle needed is not 90 degrees, but since you don’t need to do the math yourself, it doesn’t matter.  In the case below, it would probably be better to use -75 vs. -90, since the “rotated new” left edge is nearly vertical. However:  Sometimes, there is no set of rotations that will work, as in the case of a sphere.  3) Multi-Valued surfaces created outside of EVS.  Though we don’t always provide ways to create every possible type of complex multi-valued surface, if you do have a complex multi-valued surface that was created in CAD software or by some other method, it can still be used in EVS as a fault cutting surface.  There are just a few simple requirements: The surface can be composed of triangles or quadrilateral cells.  When these cells are defined, the order that the cell’s nodes define the cells determine the normal vector of...

read more

Volumetrics Study: Studio vs. MVS

Posted by on Jan 18, 2017 in Tips and Tricks, Training | Comments Off on Volumetrics Study: Studio vs. MVS

Prior to the formal release of Studio, we did a comprehensive volumetrics study because we were making significant changes to both volumetrics and subsetting (e.g. plume) modules in Studio.  In that study we looked at our new Studio algorithms compared with MVS as a function of grid resolution. We’ve always known that as you increase the resolution of your model, the accuracy improves and we always see volumetrics results approach an asymptotic “theoretical” value as the grid resolution is increased. Our new algorithms in Studio work dramatically better than MVS, but we didn’t make a big deal about it, primarily out of concern that by saying that Studio is much better, we could be misconstrued as saying that MVS was somehow WRONG before.  In reality, everything we do (and by reference, everything you do with our software) is geostatistical by nature.  It is a best estimate.  And usually it is only a fair estimate because of data quality. In our study we focused on Chemical Mass (not plume volume) of the entire model, as well as X, Y, Z CG and Average Concentration.  If you additionally consider subsetting (plumes) they will effectively decrease the model resolution since the subset upon which you are computing volumetrics is a portion of your total model that has a lower effective resolution.  The higher the subsetting (plume) level, the lower the effective resolution and the poorer your results may be. The tables below summarize our results which are also given as graphs.  For both Studio and MVS we did the calculations with and without Adaptive Gridding (AG) for the total number of nodes ranging from 30,000 to nearly 8 million.  For all cases, we are computing volumetrics on the entire grid without any subsetting.   Both Studio and MVS reported exactly the same volume for the full grid which was 350,950 cubic meters.  This was not affected by resolution nor by adaptive gridding. In our study, there were very minor if any differences in volumes or plume volumes between Studio and MVS.  The biggest differences seen were in the computation of Chemical Mass and those parameters derived from chemical mass. The first, and perhaps most surprising observation of our study is how little impact (improvement) Adaptive Gridding makes for either MVS or Studio.  Adaptive Gridding does ensure that the data extremes in your 3D gridded output will better match your input data, but with respect to improving volumetrics accuracy, your time is better spent kriging a finer grid than waiting for Adaptive Gridding to finish.  The reason for this is that Adaptive Gridding refines the grid in localized areas around your data samples, but does not improve the grid globally.   As you can see, the Studio volumes are always higher than MVS, but are within 1-2% of the asymptotic value at virtually all grid resolutions.  For MVS, the volumes can be 20-25% low when the resolution is too coarse, but both Studio and MVS approach the same solution at high resolutions.. Average Concentration is derived from Contaminant Mass, and therefore is equally affected by the differences in accuracy as can be seen in the graph above. The three graphs below show the deviations in the CG or centroid of the contaminant mass in X, Y and Z.  A similar affect is seen here where Studio is markedly better at...

read more

Modeling of Karst Geology with Caves

Posted by on Jan 17, 2017 in Tips and Tricks | Comments Off on Modeling of Karst Geology with Caves

One of C Tech’s distributor’s in China asked us to explain how Earth Volumetric Studio could be used to model Caves. The most straightforward approach is to use indicator kriging (e.g. indicator_geology module) and treat the cave as as if it were another material in the site lithology.  The video below takes this approach.  You can also apply adaptive_indicator_kriging to stratigraphic geologic models.  In this way, if you have a site with stratigraphic geology, you can include a cave based on lithology data within the stratigraphic layers. Other approaches are to model the cave as a volumetric excavation within any type of 3D volumetric grid using either: Binary lithology (values of 1 inside the cave and 0 outside the cave).  You would format the binary data as an APDV or AIDV file and use krig_3d (turn off log processing),  or Using a closed surface created outside of Earth Volumetric Studio (such as LIDAR) and then using surf_cut I hope that this instructional video will be helpful.  The application shown here will be included in the next release of Studio Projects. Reed D. Copsey,...

read more

Video on Cut-Fill Optimization in Studio using Python Minimization

Posted by on Dec 2, 2016 in Tips and Tricks | Comments Off on Video on Cut-Fill Optimization in Studio using Python Minimization

We have posted a new Tips & Trick on Cut-Fill Optimization in Studio which uses a Python script to quickly converge on the optimal elevation for an excavation surface so that the amount of fill needed exactly matches the amount of material that is cut. The video is here:  

read more

Displaying Continuous Data

Posted by on Apr 30, 2013 in Tips and Tricks | Comments Off on Displaying Continuous Data

This Tips and Tricks video covers alternative options for displaying continuous data in MVS using post_samples and field_math.  

read more

Projecting Water Tables to 2D Cross Sections

Posted by on Feb 6, 2013 in Tips and Tricks | Comments Off on Projecting Water Tables to 2D Cross Sections

This Tips and Tricks video covers the process for adding a water table surface to a 2D Cross Section. It covers how to properly project the water table surface onto a straightened thin_fence module. The applications created for this tip and trick may be downloaded here: thin-fence_water_table-to-2d_start.v...

read more

3D Fence Diagrams Projected to Two Dimensions

Posted by on Oct 26, 2012 in Tips and Tricks | Comments Off on 3D Fence Diagrams Projected to Two Dimensions

We’re pleased to announce a two part series covering the creation of 3D Fence Diagrams and projecting them to two dimensions. Part One covers the creation in EVS/MVS and Part Two covers the specific tasks required to export as shapefiles and create a publication ready 2D cross-section in ArcGIS Desktop’s ArcMap. Part One: Creation of Fence Diagram in EVS and MVS: Part Two: Exporting Fence Diagram to ArcGIS Desktop   The application created by the end of Part One may be downloaded here: Fence-diagram-projected-to_2D.v...

read more

Time Domain Animation of Surface Data

Posted by on Aug 24, 2012 in Tips and Tricks | Comments Off on Time Domain Animation of Surface Data

In this episode of our Tips and Tricks, we’ve provided a video tutorial which covers the preparation of data and EVS/MVS applications to perform animation of time domain surface data such as water tables and ground subsidence.

read more