Earth Volumetric Studio Help

Earth Volumetric Studio Help System

C Tech’s Earth Volumetric Studio is the world’s leading three-dimensional volumetric Earth Science software system developed to address the needs of all Earth science disciplines. Studio is the culmination of C Tech’s 30+ years of 3D modeling development, building upon the developments of legacy software EVS-Pro, MVS and EnterVol. Studio’s customizable toolkit is targeted at geologists, environmental engineers, geochemists, geophysicists, mining engineers, civil engineers and oceanic scientists. Whether your project is a corner gas station with leaking underground fuel tanks, a geophysics survey of a large earthen dam combining 3D resistivity and magnetics data, or modeling of salt domes and solution mined caverns for the U.S. Strategic Petroleum Reserves, C Tech’s Earth Volumetric Studio has the speed and functionality to address your most challenging tasks. Our software is used by organizations worldwide to analyze all types of analyte and geophysical data in any environment (e.g. soil, groundwater, surface water, air, etc.).

For more information visit https://ctech.com

For technical support contact support@ctech.com

For sales contact sales@ctech.com

Earth Volumetric Studio and the Earth Volumetric Studio End User License Agreement (EULA) are available for download at https://ctech.com/downloads/

  • Installation & Licensing

    Earth Volumetric Studio is available only as download from https://ctech.com/downloads/

  • The EVS Environment

    This section of the documentation provides a guide to the main components of the Earth Volumetric Studio (EVS) user interface. It is designed to help you understand the layout, functionality, and interaction between the different windows and tools that form the core of the application. From the initial Startup Window to the detailed Properties panels and the powerful Viewer, these articles cover everything you need to know to navigate and manage your workspace effectively.

  • C Tech Web Scenes

    C Tech Web Scenes (*.ctws) are single file deliverables which can contain full 3D models, multiple states of content, end-user controllable views, an

  • EVS Presentations

    EVS Presentations (.EVSP) provide a single file deliverable which allows our customers to provide versions of their Earth Volumetric Studio (EVS) applications to their clients, who can then modify properties interactively. For example, an EVS Presentation can allow your clients to: Choose their own plume levels Change Z-Scale and/or Explode distance Move slices or cuts through the model Draw their own paths for (cross section) cross-sections This works by creating a restricted version of an EVS application, saved as an EVS Presentation (.evsp file).

  • EVS Training

    Basic Training: Workbooks Overview The Earth Volumetric Studio Environment 2D Estimation Exporting from Excel to C Tech File Formats 3D Data Requirements Overview Packaging Data into Applications Geostatistics Overview Visualization Fundamentals Video Tutorials at ctech.com The workbooks in this help cover only the most basic functionality. We offer two levels of training videos which can be accessed at ctech.com which provide more comprehensive training from a novice to an advanced user. We offer two levels of training videos in addition to the limited workbooks which are built-into the software help system (and are included online). The training videos include:

  • File Format Details

    EVS Data Input & Output Formats EVS Data Input & Output Formats Input EVS conducts most of its analysis using input data contained in a number of ASCII files. These files can generally be created using the Data Transformation Tools, which are on the Tools tab of EVS. These tools will create C Tech’s formats from from Microsoft Excel files. Handling Non-Detects Handling Non-Detects It is important to understand how to properly handle samples that are classified as non-detects. A non-detect is an analytical sample where the concentration is deemed to be lower than could be detected using the method employed by the laboratory. Non-detects are accommodated in EVS for analysis and visualization using a few very important parameters that should be well understood and carefully considered. These parameters control the clipping non-detect handling in all of the EVS modules that read chemistry (.apdv, or .aidv) files. The affected modules are 3d estimation, krig_2d, post_samples, and file_statistics.

  • Module Libraries

    Module Libraries EVS modules can each be considered software applications that can be combined together by the user to form high level customized applications performing analysis and visualization. These modules have input and output ports and user interfaces. The library of modules are grouped into the following categories: Estimation — modules take sparse data and map it to surface and volumetric grids Geology — modules provide methods to create surfaces or 3D volumetric grids with lithology and stratigraphy assigned to groups of cells Display — modules are focused on visualization functions Analysis — modules provide quantification and statistical information Annotation — modules allow you to add axes, titles and other references to your visualizations Subsetting — modules extract a subset of your grids or data in order to perform boolean operations Proximity — modules create new data which can be used to subset or assess proximity to surfaces, areas or lines Processing — modules act on your data Import — modules read files that contain grids, data and/or archives Export — modules write files containing grids, data and/or archives Sequences — modules provide the ability to create animated sequences from driven, scripted, or object-based state changes Modeling — modules are focused on functionality related to simulations and vector data Geometry — modules create or act upon grids and geometric primitives Projection — modules transform grids into other coordinates or dimensionality Image — modules are focused on aerial photos or bitmap operations Time — modules provide the ability to deal with time domain data Tools — a collection of modules to make life easier View — modules are focused on visualization and output of results Estimation

  • Automation of EVS

    Command Line Automation Automation of EVS Given an appropriate Enterprise license or Automation license, EVS can be run in a fully automated manner in two ways. The first is to use special command line flags to run the program, open applications, run scripts, and cleanly close when complete. The second is to use an external language and programming API to control EVS via custom written code. Automating EVS via Custom Code

  • Best Practices

    Reducing Complexity in Applications C Tech recommends avoiding overly large applications. There are numerous ways to reduce the number of modules and complexity of an application, including but not limited to: Once the grid and estimation is complete, save those results as an EF2 file. A single read evs field module can then (typically) replace 3 to 5 modules. If the complexity is there to address multiple analytes and/or threshold levels in a CTWS file, scripted sequences can often reduce the number of modules by a factor of 5 or more. Understanding Display Resolution and Scaling The usability of EVS is influenced by your display’s effective resolution, which is a combination of its native resolution (e.g., 4K) and the scaling setting in Windows (e.g., 150%).

Subsections of Earth Volumetric Studio Help

Earth Volumetric Studio is available only as download from https://ctech.com/downloads/

There are four different licensing types:

  1. Presentation and Demo
  2. Fixed
  3. Floating
  4. Enterprise

Detailed instructions for installation and licensing of all license types are available here.

This section of the documentation provides a guide to the main components of the Earth Volumetric Studio (EVS) user interface. It is designed to help you understand the layout, functionality, and interaction between the different windows and tools that form the core of the application.

From the initial Startup Window to the detailed Properties panels and the powerful Viewer, these articles cover everything you need to know to navigate and manage your workspace effectively.

By familiarizing yourself with these components, you will be able to build, visualize, and analyze your projects more efficiently.

  • Startup Window

    The Earth Volumetric Studio startup window is your launchpad for any project. From here, you can start with a clean slate by creating a new application, jump back into a previous project by opening an existing file, or access helpful resources. Licensing and Version Information The bottom of the window shows you the current version of EVS as well as well as your license status.

  • Main EVS Window

    Getting Started with the EVS User Interface The main window is organized into five primary sections in the default layout configuration, each designed to provide a streamlined workflow for your data processing, visualization, and analysis needs. Most windows can be freely docked or undocked in any configuration and layouts can be loaded and saved.

  • Themes

    The application offers both a Light and a Dark theme to customize the appearance of the user interface. This choice is purely a matter of personal pre

  • Main Toolbar

    The Main Toolbar The Main Toolbar is the primary command bar in Earth Volumetric Studio, located at the top of the main application window. It provides streamlined access to the application’s most common features and functions. The toolbar is organized into logical sections: File, Display, Documents, and Tools, making it easier to locate and use the necessary commands for your projects.

  • Menu

    The main application menu serves as the central hub for managing your projects and configuring the application. Opening this menu will temporarily rep

  • Properties

    The Properties window is the primary interface in Earth Volumetric Studio for viewing and editing the parameters of various objects within your applic

  • Application

    The Application window is the central workspace in Earth Volumetric Studio for creating and managing your data processing and visualization workfl

  • Viewer

    The Viewer is the primary 3D visualization window in Earth Volumetric Studio. It serves as the canvas where all the visual outputs from your Application Network - such as geologic layers, contaminant plumes, sample data, and annotations - are rendered and combined into a single, interactive scene. This is the main environment for exploring, analyzing, and presenting your 3D model.

  • Information Window

    The Information Window provides detailed, contextual output from various components within Earth Volumetric Studio. Unlike the Output Log, which primarily displays text-based messages and system logs, the Information Window is designed to present data in a structured, readable, and often interactive format. It is commonly used by modules to display analysis reports or to show detailed data about a specific point in the model that a user has “picked” in the Viewer (via Ctrl+Left Mouse Click).

  • Output Log

    The Output Log window is a critical tool for monitoring the real-time status of Earth Volumetric Studio. It provides a chronological and hierarchical record of events, module execution details, warnings, and diagnostic messages. Whether you are running a complex analysis or troubleshooting an unexpected issue, the Output Log offers valuable insight into the application’s internal processes.

  • Packaged Files

    The Packaged Files feature in Earth Volumetric Studio provides a robust solution for managing project dependencies. Packaged Files are external data files that are embedded directly into your Earth Volumetric Studio application (.evs) file. This creates a completely self-contained project, ensuring that all necessary input files are always available. It eliminates the problem of broken file paths and the need to manually copy dependent files when sharing your application with colleagues or moving it to a different computer. While this increases the size of the application file, the benefit of portability is often more important.

  • Python Scripting

    Introduction to Python Scripting Python scripting in Earth Volumetric Studio provides a method to programmatically control and automate virtually every aspect of the application. By leveraging the Python programming language, you can move beyond manual interaction to create dynamic, data-driven workflows, automate repetitive tasks, and perform custom analyses that are not possible with standard interface controls alone.

  • Sequences in EVS

    Sequences are used to create dynamic and interactive applications by managing an ordered collection of predefined “states.” A state can capture and control the properties of one or more modules simultaneously. This functionality allows you to guide a user through a narrative or a series of analytical steps, such as changing an isosurface level, animating a cutting plane through a model, or stepping through time-based data.

  • Animation

    Animations in EVS Animations allow you to generate video files of smoothly changing content and views. This allows for complete control over the messaging conveyed in a single, often small deliverable file. In Earth Volumetric Studio, an animation is built from one or more timelines. Each timeline represents a single, animatable property within your application. This could be anything from the camera’s position in the 3D viewer to the visibility of a specific object, a numeric value like a plume level, or the current frame of a sequence.

Subsections of The EVS Environment

The Earth Volumetric Studio startup window is your launchpad for any project. From here, you can start with a clean slate by creating a new application, jump back into a previous project by opening an existing file, or access helpful resources.

Licensing and Version Information

The bottom of the window shows you the current version of EVS as well as well as your license status.

Alerts will also be displayed near the top of the Window when your license subscription is close to its end date. This helps with preventing an unexpected shutdown due to license subscription termination.

The startup screen provides several options to begin your session:

  • Open .EVS Application: Allows you to browse your file system to open any existing .evs project file.
  • New Application: Closes the startup screen and opens a blank workspace to begin a new project from scratch.
  • Open recent: Displays a list of your most recently used applications for quick access.

Additionally, the startup screen provides a button with C Tech’s contact information and links to helpful Tips and Tricks articles.

Creating a New Application

To start a project from scratch, click the New Application button.

This will immediately close the startup screen and open the main EVS workspace with a blank Application Network. This provides a clean canvas, ready for you to begin building your data processing and visualization workflow by adding and connecting modules.

Opening an Existing Application

If you want to work on a project that is not in your “Open recent” list, you can browse your computer to find it. Click the Open .EVS Application button which will start EVS and navigate to the Open Files pane in the Menu.

Using the Recent Applications List

The list is interactive and provides helpful information to ensure you are opening the correct project. When you hover your mouse over an application in the list, a preview window appears with key details.

The startup screen showing the ‘Open recent’ list with a hover preview. The startup screen showing the ‘Open recent’ list with a hover preview.

Preview Window Details

The hover preview provides the following information:

ElementDescription
Preview ImageA visual snapshot of the application’s 3D viewer as it appeared the last time the project was saved. This gives you an immediate visual reminder of the project’s output.
File NameThe name of the application file (e.g., site-planning-xylene-initial.evs).
Folder PathThe full directory path where the file is located on your system.
Last Modified DateThe date the file was last saved.
Show Full DetailsA link that navigates to the main Open screen, where you can see more comprehensive metadata, including the application network preview.

Opening an Application

To open a project from the list, simply click directly on the application’s name. The application will load immediately, allowing you to resume your work.

Click on any Tips and Tricks link, which will open a browser to read the selected article.

The Tips and Tricks window showing a list of articles and navigation arrows. The Tips and Tricks window showing a list of articles and navigation arrows.

Getting Started with the EVS User Interface

The main window is organized into five primary sections in the default layout configuration, each designed to provide a streamlined workflow for your data processing, visualization, and analysis needs. Most windows can be freely docked or undocked in any configuration and layouts can be loaded and saved.

1. Main Toolbar

The Main Toolbar is the row of icons at the top of the window that provides immediate access to essential commands. It is designed to help you manage your projects and control your application workflow efficiently. From here, you can perform file management tasks like opening and saving EVS applications. You can also control visual aspects of the UI by loading layouts and hiding or showing individual windows. The toolbar also includes access to automatisation through Python scripting or animations and several input file creation options.

2. Viewer

The Viewer is your primary window for 3D visualization, displaying the output of your data processing networks. It offers a suite of tools for interacting with your model. You can intuitively rotate, pan, and zoom to inspect your model from any angle. The Viewer provides dedicated controls to switch between standard viewing angles or to set a precise camera azimuth and inclination. A scene tree allows you to toggle the visibility of individual model components, helping you focus on specific parts of your data. You can also access built-in measurement tools to calculate distances directly within the 3D scene. For reports and presentations, you can capture and export the current view as high-resolution images or animations.

3. Application Window

The Application Window is a dynamic, node-based workspace where you construct your data processing pipelines. This visual programming environment, often called a “pegboard,” is central to the EVS workflow. You can drag and drop modules from the module library onto this canvas, where each module represents a specific function like data input, filtering, or visualization. To create complex workflows, you draw connections between modules to define the flow of data from inputs through various processing steps to the final outputs. The connection style can be customized to use either curved or straight lines. You can also organize and group modules to create logical and readable application networks.

4. Properties Window & Application Properties

This multi-functional section allows you to configure every aspect of your project. When a module is selected in the Application Window, this panel displays all of its configurable parameters, allowing you to control how it processes data. You can also modify global settings that affect the entire project, such as adjusting the vertical exaggeration with z-scale or separating objects for better visibility with an explode factor. This area also lets you save and manage specific camera positions as bookmarks, enabling you to quickly return to important views. The Application Favorites allows you to build a custom collection of frequently used or important module and application properties.

5. Output Log, Information, and Python Interactive Panel

This tabbed panel at the bottom of the screen provides critical feedback, logs, and advanced scripting capabilities. The Output Log displays the information your modules provide, along with execution warnings and errors. The Information tab provides details about probed locations or objects and the data at the probe point. For advanced users, the integrated Python Interactive Panel offers a full scripting console to programmatically control the EVS application, manipulate data, and extend the built-in functionality.

  • Docking and Undocking Windows

    The application’s user interface is highly customizable, allowing you to arrange tool windows like the Viewer, Properties, and Application Network to best suit your workflow. Windows can be “docked” to the edges of the main application or other window, grouped with other windows in tabs, or “floated” as independent windows on your desktop. This flexibility enables you to create a personalized layout that keeps the tools you need most frequently within easy reach.

Subsections of Main EVS Window

The application’s user interface is highly customizable, allowing you to arrange tool windows like the Viewer, Properties, and Application Network to best suit your workflow. Windows can be “docked” to the edges of the main application or other window, grouped with other windows in tabs, or “floated” as independent windows on your desktop. This flexibility enables you to create a personalized layout that keeps the tools you need most frequently within easy reach.

Window Title Bar and Context Menu

Each tool window has a title bar containing several controls for managing its state. You can access these functions by right-clicking the title bar or by using buttons provided on the title bar directly.

Undocking and Floating Windows

A floating window is one that is detached from the main application window and can be moved freely around your screen, even to a second monitor. To make a window float:

  • Drag the Title Bar: Click and hold the title bar of any docked window and drag it away from the edge. As you drag it towards the center of the screen, it will detach and become a floating window.
  • Drag the Tab: For windows docked as tabs in same pane as other windows, drag the window by its tab.
  • Use the Context Menu: Open the window’s context menu and select the Float option. The window will immediately detach from its docked position.

Docking Windows

To dock a floating window, simply drag it by its title bar. As you move it over the main application window or any floating window, a set of docking guide icons will appear. Dropping the window onto one of these icons will dock it to the corresponding location.

  • Edge Docking: The four arrow icons at the edges of the screen will dock the window to the top, bottom, left, or right side of the main application, spanning its full width or height.
  • Pane Docking: The five-icon control that appears in the center of an existing window pane allows for more precise placement. The four outer arrows will dock the window to the side of that specific pane, creating a split view. The center icon will dock the window as a new tab within that pane group.
  • Document Area: One pane is designated as the central document area. It occupies the main, central space of the application window. The other docking guides for top, bottom, left, and right positions are usually arranged around this central area.
  • Context Menu Docking: You can also use the context menu of a floating window. Dock will typically return it to its last docked position, while Dock as Document will place it as a tab in the central document area.

Note: The Application window is the central point of any EVS application and layout. It can only be either docked in the Document Area or made a floating window.

Auto-Hiding Windows (Pinning)

The Auto-Hide feature allows you to keep windows accessible without them permanently taking up screen space. You can control this using the pin icon in the window’s title bar or the Auto Hide option in the context menu.

  • Pinned (Vertical Pin): When the pin icon is vertical, the window is pinned open. It will remain visible in its docked location.
  • Unpinned / Auto-Hidden (Horizontal Pin): When the pin icon is horizontal, the window is set to auto-hide. It will collapse into a named tab on the edge of the window. To temporarily view it, simply hover your cursor over its tab. It will slide out for you to use and slide away again when you move your cursor off it. To keep it open, click the pin icon to return it to the pinned state.

Saving and Loading Layouts

When you created a layout you like, you can save it through the Options in the Menu. Layouts can be switched to previously saved ones through either the Menu or the Window Layouts button in the Main Toolbar.

The application offers both a Light and a Dark theme to customize the appearance of the user interface. This choice is purely a matter of personal preference and does not affect the application’s functionality or the output of your visualizations. You can switch between themes at any time to best suit your working environment and visual comfort.

Choosing Your Theme: Light vs. Dark

Selecting a theme can have a significant impact on readability and eye comfort depending on your work environment and personal preferences.

  • Dark Theme: The dark theme uses a dark background with light-colored text. Many users find this reduces eye strain, especially when working for long periods or in low-light conditions. It can also help reduce screen glare and improve focus on the central content by making the surrounding interface elements recede.
  • Light Theme: The light theme provides a traditional light background with dark text. This often offers superior readability in brightly lit environments, such as a well-lit office or a room with significant natural light. For some users, the high contrast of dark text on a light background can appear sharper and more familiar.

How to Change Themes

You can switch between the Light and Dark themes from three different locations within the application.

1. Setting the Default Theme in Options

To set your preferred theme that the application will use every time it starts, you can use the Options window.

  1. Navigate to the main application Menu > Options.
  2. In the Options window, select User Interface Options.
  3. Under “Color Options for Applications”, choose your desired theme.

Setting the default theme in the User Interface Options. Setting the default theme in the User Interface Options.

2. Toggling on the Launch Window

When you first start the application, you can quickly toggle the theme directly from the launch window before opening a project. Click the half-moon icon in the upper-right corner to switch between the Light and Dark themes.

Toggling the theme from the launch window. Toggling the theme from the launch window.

3. Toggling in the Main Application Window

You can also switch themes on-the-fly while you are working. In the upper-right corner of the main application window, you will find the same half-moon icon. Clicking this icon will instantly toggle the interface between the Light and Dark themes, allowing you to adapt to changing lighting conditions or preferences without interrupting your workflow.

Main window with Light Theme active:

Main application window in Light Theme. Main application window in Light Theme.

Main window after toggling to Dark Theme:

Main application window in Dark Theme. Main application window in Dark Theme.

The Main Toolbar

The Main Toolbar is the primary command bar in Earth Volumetric Studio, located at the top of the main application window. It provides streamlined access to the application’s most common features and functions. The toolbar is organized into logical sections: File, Display, Documents, and Tools, making it easier to locate and use the necessary commands for your projects.

File

This section contains essential commands for file management.

File section of the Main Toolbar. File section of the Main Toolbar.

ButtonDescription
Show MenuOpens the main application menu, which provides access to a comprehensive list of commands, including those not present on the Main Toolbar.
OpenProvides quick access to open Earth Volumetric Studio project files.
SaveSaves the currently active project. If the project has not been saved before, it will prompt you for a file name and location.
Save As…Saves the current project under a new name or in a different location.

Display

This section provides tools to manage the application’s user interface, windows, and general options.

Display section of the Main Toolbar. Display section of the Main Toolbar.

ButtonDescription
Presentation ModeToggles a full-screen mode that maximizes the viewer and hides certain UI elements, ideal for presentations.
Window LayoutA dropdown menu that allows you to quickly load saved window layout configurations. Use the Windows Layouts section in the Options menu to create new layouts.
WindowsA dropdown menu to show, hide, or bring focus to specific windows within the application, such as the Properties or Output Log windows.
Help WindowsA dropdown menu to access the main help file or show the module help window.
OptionsOpens the main Options dialog, where you can configure application-wide settings.

Documents

This section is dedicated to managing document-centric features like scripting and animation.

Documents section of the Main Toolbar. Documents section of the Main Toolbar.

ButtonDescription
Python ScriptingA dropdown menu that provides access to the Python scripting interface, allowing you to create, open, and run Python scripts to automate tasks and extend functionality.
AnimationA dropdown menu for creating and opening animations. This includes commands for the Animation Control panel, which allows you to define keyframes and playback your animated sequences.

Tools

This section contains a collection of specialized tools and utilities.

Tools section of the Main Toolbar. Tools section of the Main Toolbar.

ButtonDescription
Generate EVS InputA dropdown menu with tools that assist in creating or formatting data files for use in Earth Volumetric Studio from various input file formats.
ToolsA dropdown menu that provides access to a variety of supplementary tools and utilities available within the application.

Toolbar Styles

You can customize the appearance of the Main Toolbar to suit your preferences. Right-click anywhere on the toolbar to open the “Ribbon Style and Density” menu, or use the arrow to the right of the toolbar.

The Ribbon Style and Density menu. The Ribbon Style and Density menu.

These settings can also be configured in the main Options dialog in the Menu. The available styles are detailed below.

StyleDescriptionExample
Full SizeThe default style, featuring large buttons with descriptive text for clarity.Full Size toolbar style. Full Size toolbar style.
ComfortableA more compact style that reduces the size of buttons and text, providing a balance between usability and screen space.Comfortable toolbar style. Comfortable toolbar style.
CompactThe most space-efficient style, displaying only icons without text labels for a minimal footprint.Compact toolbar style. Compact toolbar style.
Display in Application Title Bar AreaThis option moves the toolbar into the application’s title bar, freeing up additional vertical space in the main window.Toolbar displayed in the application title bar. Toolbar displayed in the application title bar.
  • Presentation Mode

    Presentation Mode optimizes the user interface for interacting with a completed application. It simplifies the workspace by hiding development-focused UI elements, allowing you to focus on the application’s controls and outputs. Accessing Presentation Mode You can enable Presentation Mode using the Presentation Mode button in the Main Toolbar.

  • Help Windows

    Accessing Help The help can be found through the Help Windows button in the Main Toolbar. General Application Help For general information, searching, and browsing all help topics, you can use the main Help window.

  • Tools

    The Tools menu provides a collection of utilities for file conversion, data processing, and creating animations. These tools are designed to help you prepare your data for use in EVS. Accessing Tools The Tools button can be found in the Main Toolbar. Clicking it will open a list of available tools.

Subsections of Main Toolbar

Presentation Mode optimizes the user interface for interacting with a completed application. It simplifies the workspace by hiding development-focused UI elements, allowing you to focus on the application’s controls and outputs.

Accessing Presentation Mode

You can enable Presentation Mode using the Presentation Mode button in the Main Toolbar.

Presentation mode can be left using the Edit Mode button in the Main Toolbar. This button is only visible when Presentation Mode is active.

Purpose of Presentation Mode

Presentation Mode provides a cleaner, more streamlines experience ideal for presenting your work or for any scenario where you are primarily executing and interacting with the application rather than building or modifying it.

For this reason, the following elements are hidden or inactive:

  • Application Window: The window containing the application workflow and for adding new modules is hidden.
  • Module and Port Connections: The ability to create or modify connections between modules is disabled.
  • Main Toolbar: Most buttons focused on creating applications are hidden.

Presentation Mode vs. EVS Presentation Files

While Presentation Mode is similar to the view when loading an EVS Presentation file, it is less restrictive. An EVS Presentation file (.evsp) is a self-contained, read-only version of an application that limits user editing and intended for delivery to end users. Its main purpose is for distribution to clients who need to run an application and change predetermined properties, but not modify it.

In contrast, Presentation Mode still allows for editing of module and application properties and options. It is merely a simplified user interface. This provides a flexible way to display interactive applications that are simplified for presentations but not entirely locked down.

Accessing Help

The help can be found through the Help Windows button in the Main Toolbar.

General Application Help

For general information, searching, and browsing all help topics, you can use the main Help window.

  1. In the Main Toolbar, click the Help Windows button.
  2. From the dropdown menu, select Contents.

This action opens the main Help window, where you can search for topics.

Module-Specific Help

When the Module Help window is opened, any module being edited (selected in the application window) will also show its help contents in the Module Help window. As you edit different modules, the Module Help will reflect the currently selected module.

To get help for a module which hasn’t been instanced, follow these steps:

  1. Hover your mouse over the question mark in the desired module in the Module Library.
  2. Wait for the module’s tooltip to appear:
  3. While the tooltip is visible, press the F1 key.

This will open the Module Help window containing specific information for that module.

The Tools menu provides a collection of utilities for file conversion, data processing, and creating animations. These tools are designed to help you prepare your data for use in EVS.

Accessing Tools

The Tools button can be found in the Main Toolbar. Clicking it will open a list of available tools.

Tool Buttons

EVS Input File Conversions

This section contains tools for processing and converting various data files into formats optimized for EVS.

ToolDescription
Data ReductionThis utility helps you manage large datasets by reducing the number of data points. It can be used to sample or filter your data, which can improve application performance and reduce processing times with configurable loss of detail. It is used to get optimal results when kriging dense data. See the Dense Data tutorial video.
File Refinement and FilteringUse this tool to clean and refine your data files. It allows you to apply filters to remove outliers, correct errors, or extract a specific subset of your data based on defined criteria, ensuring higher quality input for your models.
Convert LSDV to LPDVThis is a file conversion utility to transform boring based Lithology Screen Data Value (.lsdv) files into the point based Lithology Point Data Value (.lpdv) format.
Convert GEO to GMFThis tool converts the Borehole Geology (.geo) file format into the Geology Multi-File (.gmf) format. This is useful if you want to replace a single surface in a GEO hierarchy (such as the ground surface) with more high-resolution data that is not synchronous with your .GEO borings.

Image and Animation Tools

This group of tools helps you create animations and prepare images for use in your projects.

ToolDescription
Images to AnimationThis utility takes a sequence of individual image files and compiles them into a single animation video. This is useful for creating time-lapse visualizations of your models or other dynamic presentations.
Georeference ImageCreates and edits world files or .gcp (ground control point) files for images. Use this tool to assign real-world geographic coordinates to a raster image, such as an aerial photograph or a scanned map. Georeferencing allows the image to be accurately positioned and scaled within your 3D scene alongside other spatial data.

Legacy File Processing

This section provides tools for working with older, outdated file formats.

ToolDescription
Legacy Field ConverterReads older format files that can contain EVS Fields, such as Field (.FLD), UCD (.INP) and netCDF files (.CDF) and converts them to standard EVS Field File format (.EFB). The .EFB format is used because it is the smallest and old file formats do not require the more complex features that the .EF2 format allows.
  • Images To Animation

    The Images To Animation tool allows you to compile a sequence of individual image files into a single video animation. This is ideal for creating time-lapse visualizations, showcasing model changes over time, or presenting a series of related images, for example written by EVS through sequences and Python Scripting, as a dynamic video.

  • Georeference Image

    The Georeference Image tool is a useful utility for assigning real-world geographic coordinates to raster images. This process, known as georeferencing, allows you to accurately overlay images with other spatial data in your project. The tool enables you to create and edit world files (e.g., .jgw, .tfw) or ground control point files (.gcp), which store the image’s location, scale, and orientation information.

Subsections of Tools

The Images To Animation tool allows you to compile a sequence of individual image files into a single video animation. This is ideal for creating time-lapse visualizations, showcasing model changes over time, or presenting a series of related images, for example written by EVS through sequences and Python Scripting, as a dynamic video.

Accessing the Images to Animation Tool

The Images to Animation tool can be opened from the Tools button in the Main Toolbar.

Animation Settings

Before creating your animation, you can configure the output settings to meet your specific needs for quality, file size, and compatibility.

SettingDescription
Frame RateDetermines the number of frames (images) displayed per second. You can enter a custom value or select from standard presets:
  • 60 FPS
  • 30 FPS
  • NTSC (29.97 FPS)
  • PAL (25 FPS)
File TypeLets you choose the container format for your output video file.
  • MP4 (Default): A widely supported modern option with a good balance of quality and file size.
  • AVI: An older, less compressed option that may result in larger files.
  • WebM: An open-source choice designed for web use, providing efficient compression.
QualityControls the trade-off between visual quality and file size.
  • Lossless: Preserves the exact quality of the source images but results in very large files.
  • Very High & High Quality: Produce excellent quality with efficient compression.
  • Medium & Low Quality: Offer progressively more compression for smaller file sizes, with some loss of visual detail.
CodecDetermines the compression algorithm used to encode your video.
  • H264: A highly compatible codec supported by most devices and platforms.
  • H265: A newer codec offering better compression than H264, resulting in smaller file sizes for the same quality.
  • H264RGB: A variant of H264 that preserves full color information, ideal for technical or scientific visualizations.

Managing Files

The File List section is where you add and manage the images that will make up your animation.

FunctionDescription
The File List ViewThis area displays the list of images you have added. Each entry shows a small preview thumbnail of the image on the left and its full file path on the right. The order of the files in this list determines the sequence in which they will appear in the final animation.
Adding and Removing FilesTo add images, click the Add button to open a file dialog, where you can browse for and select one or more files. To remove a specific image, select it from the list and click the Delete button. The Clear button will remove all images from the list, allowing you to start over.
Adding Sequential FilenamesWhen the Add Sequential Filenames toggle is enabled, the behavior of the Add button is modified to streamline the import of numbered image sequences. If you select a single file that has a number at the end of its name (e.g., image1.png), the tool will automatically search for and add all other files in the same directory that share the same base name and have a matching extension (e.g., image2.png, image3.png, etc.).

Note that this feature requires both the file extension and the base filename (the part before the number) to match exactly. For example: Adding image1.png would add image2.png, but not image3.jpg because of its differing extension. |

About source image sizes

You may encounter a warning messages about image dimensions during conversion. This occurs because most video codecs require the dimensions of the video frame (both width and height) to be even numbers. This requirement is due to the way video compression algorithms process images. If a source image has an odd dimension, the encoder may not be able to process it. To ensure compatibility, the Images to Animation tool will automatically resize the image to the nearest even resolution before adding it to the video. While this automatic resizing is necessary for the video encoding process, it may result in a slight loss of image quality or the softening of fine features in the image.

The Georeference Image tool is a useful utility for assigning real-world geographic coordinates to raster images. This process, known as georeferencing, allows you to accurately overlay images with other spatial data in your project. The tool enables you to create and edit world files (e.g., .jgw, .tfw) or ground control point files (.gcp), which store the image’s location, scale, and orientation information.

When you launch the tool, you will first be prompted to open an image file. Once loaded, the main interface provides all the necessary functions to link pixel coordinates on the image to known map coordinates.

Accessing the Georeference Image tool

The Georeference Image tool can be opened from the main Tools tab in the Main Toolbar.

Interface Overview

The Georeference Image tool is organized into several key areas:

ComponentDescription
Image PanelThe central part of the window displays your image. This is your primary workspace for viewing the image and placing, selecting, and moving ground control points.
GCP ListThe panel on the left lists all the Ground Control Points (GCPs) for the current image. Each point has an entry showing its pixel coordinates (Pixel X/Y) and the corresponding map coordinates (Coord X/Y).
ToolbarLocated at the top, the toolbar provides access to the main functions for managing GCPs and the georeferencing process.
Status BarThe area at the bottom of the window displays important information, including the georeferencing method, accuracy metrics, and live coordinate readouts for your cursor’s position.

Workflow: How to Georeference an Image

Georeferencing involves creating links between points on the image and their known real-world coordinates. These links are called Ground Control Points (GCPs).

  1. Choose a Georeferencing Method: Use the Georeferencing Method dropdown in the status bar to select the mathematical model that will be used to transform the image from pixel coordinates to map coordinates. The best method depends on the quality of the image and the number of GCPs you have. The available methods are:

    • Map to Min/Max: Stretches the image to fit a bounding box defined by two GCPs representing the minimum and maximum map coordinates. Requires 2 GCPs.
    • Translate: Shifts the entire image based on the location of a single GCP without any rotation or scaling. Requires 1 GCP.
    • 2 Point Translate / Rotate: Moves and rotates the image to align with two GCPs, but does not perform any scaling. Requires 2 GCPs.
    • Translate / Scale: Moves and uniformly resizes the image to fit two GCPs, but does not perform any rotation. Requires 2 GCPs.
    • Affine: A first-order polynomial transformation that can perform translation, scaling, rotation, and skewing. This is a versatile and common method for standard georeferencing. Requires a minimum of 3 GCPs. This is the recommended option, but requires at least 3 GCP points to be specified.
    • 2nd, 3rd, and 4th Order: These are higher-order polynomial transformations used to correct for more complex, non-linear distortions in an image (e.g., lens distortion or terrain relief). They require progressively more GCPs (a 2nd Order transformation needs at least 6 GCPs) and should be used when a simpler model like Affine is not sufficient.
  2. Add Ground Control Points:

    • Set the Mode on the toolbar to Insert.
    • Zoom and pan to a recognizable feature on the image (e.g., a road intersection, a building corner).
    • Click on the feature. A new entry will be created in the GCP in the list on the left of the pixel location selected.
    • Alter the X/Y coordinates to your desired real-world coordinates.
    • Repeat this process for several points distributed across the image.
  3. Review Accuracy:

    • Once you have enough GCPs for your chosen method, click the Calculate RMS button. The Total RMS Error value will update. This value represents the root mean squared error, which is a measure of the average distance between the true map locations of your GCPs and their calculated locations based on the current transformation. A lower RMS error indicates a more accurate fit.
  4. Export the Georeference File:

    • When you are satisfied with the accuracy, click the Export button on the toolbar. This will save the coordinate information to a file (e.g., a world file or a .gcp file) that accompanies your image.

    NOTE: In general, add as many control points as possible. More control points will almost always result in a better georeferencing, as any error due to precision will be averaged out across all of the entered control points. Our recommendation is to use an Affine transformation method (which is typically the industry standard) with as many control points as possible. While three is the minimum required, ten or more is typically recommended.

Toolbar Functions

FunctionDescription
DeleteDeletes the currently selected GCP.
ImportLoads GCPs from an existing file (e.g., a .gcp file).
ExportSaves the current set of GCPs to a world file or .gcp file. The .gcp files are compatible with ArcGIS image link files.
ModeSelect: Allows you to select a GCP from the list or by clicking it on the image.
Pan: Allows you to pan around the image by clicking and dragging. You can also pan using the middle mouse button.
Insert: Enables you to add new GCPs by clicking on the image.
MoveAllows you to adjust the position of a selected GCP. After clicking this button, select a GCP and click its new desired location on the image to update its pixel coordinates.

Interpreting Coordinates

Once an image is georeferenced, you can use the tool to find the map coordinates of any point. As you move your cursor over the image, the Pixel X/Y and Map Coord X/Y displays in the status bar will update in real-time, showing the pixel location and the corresponding calculated geographic coordinate.

The main application menu serves as the central hub for managing your projects and configuring the application. Opening this menu will temporarily replace the standard workspace, including the Application Network and viewers, with a dedicated interface for file management, options, and project oversight. The Menu defaults to the Info screen, which provides an at-a-glance summary of your current project’s metadata and saved state.

The main application menu showing the Info screen. The main application menu showing the Info screen.

Accessing the Menu

To open the menu, click the Show Menu button in the Main Toolbar.

The Show Menu button in the main toolbar. The Show Menu button in the main toolbar.

The navigation bar on the left side of the menu allows you to switch between several screens, each with a specific function.

OptionDescription
Return to ApplicationLocated at the top of the navigation bar, this button closes the menu and takes you back to your main workspace.
InfoThe default screen, which serves as a dashboard for your current project. It displays important metadata (author, save date, version, etc.) and shows preview images of the Viewer Contents and Application Contents from the last save.
NewAllows you to start a new, empty project.
OpenNavigates to a screen for loading existing projects. This screen provides several ways to find and open files:
  • Recent Documents: Shows a searchable list of your recently opened files. Selecting a file displays its metadata and preview images.
  • Browse…: Opens a standard file dialog to navigate your file system.
  • Custom Path: Allows you to navigate to a user-defined file path. Included paths can be configured in the Options tab in the Menu.
  • Sample Projects: Provides access to a collection of example projects to learn about the software’s capabilities, if installed.
SaveSaves the current project.
Save As…Saves the current project to a new file or location.
To PresentationUsed to prepare or export your work for presentation purposes. See Creating Presentation Applications.
OptionsOpens the application’s settings and preferences window.
AboutDisplays information about the software.
ExitCloses the application entirely.
  • Open Files

    Opening Projects The Open screen, accessible from the main application Menu, provides a comprehensive interface for loading existing projects. It is designed to give you quick access to your recent work, sample files, and any project on your system, complete with metadata and visual previews to help you find the right file quickly.

  • Options

    The Operation and User Preferences window is the central hub for configuring application-wide settings in Earth Volumetric Studio. It allows you to customize the user interface, set default behaviors for new projects, manage system resources, and personalize user information. Tailoring these settings can significantly improve your workflow and efficiency. To access this window, click the Options button on the main application menu located on the left side of the screen.

  • Windows and Layout

    Earth Volumetric Studio features a flexible interface composed of several windows. You can customize their size, position, and docking state to create

Subsections of Menu

Opening Projects

The Open screen, accessible from the main application Menu, provides a comprehensive interface for loading existing projects. It is designed to give you quick access to your recent work, sample files, and any project on your system, complete with metadata and visual previews to help you find the right file quickly.

File Access Options

OptionDescription
Browse…Launches your operating system’s standard file explorer, allowing you to navigate your entire file system (local drives, network locations, etc.) to locate and open any .evs project file. This is ideal for accessing files not in your recent list or usual project folders.
Info

While applications on network drives or shared drives may load, our customers often experienced file locking or similiar access issues when saving them. For the best experience, we recommend loading applications from a local filesystem if possible.

| | Recent Documents | The default view, offering the quickest way to resume work. It presents a scrollable and searchable list of your most recently accessed projects, ordered from newest to oldest. | | Custom Path | Acts as a configurable bookmark for frequently used folders. Once you set a directory in the application’s options, this button lists all application files in that location, saving you from navigating to it manually.

Note: The Custom Path option will not recurse subdirectories. Only application files directly in the favorited directories will be shown.
| | Sample Projects | Provides access to a curated collection of official C Tech sample applications that demonstrate best practices and diverse capabilities. These are the applications used in the EVS Training tutorials.

Note: If this list is empty, the C Tech Sample Applications have not been installed. You can obtain the installer from the C Tech website at www.ctech.com.
|

Filtering and Searching

When using the open file views, you can use the search and filter boxes to quickly locate a specific project. These tools are especially useful when dealing with a long list of files.

ToolDescription
Search for file…This text box allows you to filter the list by filename. As you type, the list dynamically updates to show only the files whose names contain the text you have entered.
Search for module…This dropdown helps you find projects based on their content. Selecting a module type will filter the view to show only application files containing that module. This is useful for finding examples or projects when you remember a key component but not the file name.

Project Information and Preview

When you select a file, the right-hand side of the screen populates with detailed information about that project.

PanelDescription
Metadata PanelAt the top, you will find key details about the file. This includes when it was last edited and by whom, its creation date, the software version used, and (for applications saved in recent releases) a list of any external files it references and any packaged data in the application.
Viewer PreviewThis panel displays a static image of the 3D viewer’s contents as they appeared the last time the project was saved. This gives you an immediate visual reminder of the project’s output.
Application PreviewBelow the viewer preview, a snapshot of the application network is shown. This allows you to see the module layout and connections, providing insight into the project’s workflow and structure.

The Operation and User Preferences window is the central hub for configuring application-wide settings in Earth Volumetric Studio. It allows you to customize the user interface, set default behaviors for new projects, manage system resources, and personalize user information. Tailoring these settings can significantly improve your workflow and efficiency.

To access this window, click the Options button on the main application menu located on the left side of the screen.

Operation and User Preferences Window Operation and User Preferences Window

The window is divided into several logical sections, each handling a different aspect of the application’s configuration.

The options on the left side are all user preferences, and determine the look, feel, and operation of EVS for the current user. The options on the right side change the default values used for new modules and applications.

User

This section specifies the active user and their organization. This information is saved with .evs application files and other outputs, helping to track authorship and ownership of projects.

SettingDescription
NameThe name of the primary user. This name is stored as metadata within your project files.
OrganizationThe name of your company or organization. This is also saved as metadata for project management and collaboration.

System

The System section controls settings that impact the core operation of EVS system-wide, including file handling, hardware utilization, and integration with external tools like Python.

SettingDescription
Open EVS Files With Existing InstanceWhen enabled, any .evs file you open from Windows File Explorer will launch within the currently running instance of Earth Volumetric Studio. If disabled, a completely new instance of the program will be launched for each file.
Processing settingsThis section allows you to manage how EVS utilizes your computer’s hardware.
  • **Logical Processors (CPU) to keep unused**: Reserves a specific number of your CPU's logical processors (cores/threads) for the operating system and other applications. This prevents EVS from consuming 100% of your CPU during intensive calculations, keeping your system responsive.
  • **Use GPU for fast calculations**: When enabled, EVS leverages your graphics processing unit (GPU) to accelerate certain calculations. It is recommended to keep this enabled if you have a dedicated graphics card.
  • **Force Emulated GPU**: An advanced troubleshooting setting. It forces EVS to use a software-based GPU emulator instead of your physical graphics card, which can help diagnose graphics-related issues but at a significant performance cost.
| | **Use Custom Python Installation** | Enable this toggle to use a specific Python installation on your system, rather than the one bundled with EVS. NOTE: A restart of EVS is required for this change to take effect. | | **Custom Python Install** | When "Use Custom Python Installation" is enabled, this field becomes active. Specify the path to the root directory of the desired Python installation. EVS must be restarted after changing this path. Any Python 3.10-3.13 installation will be detected and work, including Anaconda and similar (provided they are registered as a system Python install). Do not use Microsoft Store installed Python installations, as they are not allowed by Windows to be used by other software packages directly. | | **Culture** | Specifies the language and regional format used throughout the EVS user interface, which affects language as well as the display of dates, times, and numbers. | | **Custom Paths** | Define shortcuts to frequently used folders. These paths will appear directly in the **Open** menu and other file browsers, allowing you to navigate to project directories with a single click. ![](options_window_3.png) |

User Interface Options

This section controls the visual appearance and layout of the EVS user interface.

SettingDescription
ThemeChoose a visual theme for the application. For more details, see the Themes topic.
  • Light: A bright theme with dark text.
  • Dark: A dark theme with light text, which can reduce eye strain.
Window LayoutsSave, manage, and apply different arrangements of the application’s windows. For more about creating layouts, see Docking and Undocking Windows and Windows and Layout.
  • **Layout List**: Displays all saved layouts.
  • **+ / - Buttons**: Save the current window arrangement as a new layout or delete the selected layout.
  • **Apply Selected Layout**: Applies the window positions from the selected layout.
  • **Overwrite Current Layout**: Updates the selected layout with the current arrangement of windows.
  • **Revert to Default**: Resets the selected layout to its original state.
| | **Ribbon Style and Density** | Customizes the appearance of the [Main Toolbar](../../main-toolbar/).
  • **Full Size**: The default style, featuring large icons with descriptive text.
  • **Comfortable**: A more compact style with smaller icons and text.
  • **Compact**: A minimal style with icons only.
  • **Display in Title Bar**: Moves the toolbar into the application's title bar to maximize vertical space.
| | **Application Window Options** | Controls the visual complexity and behavior of module connections in the [Application](../../the-application-window/) window. ![](options_window_5.png)
  • **Hide Viewer Connections**: Hides connection lines to and from Viewer modules to reduce visual clutter.
  • **Always Display Minor Ports**: When enabled, all module ports are visible. When disabled, less-used "minor" ports are hidden until you hover over the module.
  • **Connection Checking**: Determines how strictly EVS validates module connections. "Strict Checking" ensures data types are perfectly compatible.
  • **Connection Style**: Sets the visual style of connection lines (Curved or Straight).
  • **Highlight Potential Connections**: Controls which available ports are highlighted as valid targets when dragging a connection (Major Ports Only, Include Minor Ports, or None).
  • **Max Potential Connections**: Limits the number of potential connections highlighted at once to maintain performance.
| | **Properties Window Options** | Customizes the behavior of the EVS Properties Window. ![](options_window_6.png)
  • **Display Expert Properties**: Reveals advanced or less commonly used module parameters.
  • **Always Show Critical Properties**: Ensures that important parameters are always visible, even if their category is collapsed.
  • **Automatically Collapse Categories**: When enabled, all property categories collapse when you select a new module.
| | **Module Window Options** | Options specific to the EVS [Module Library](../../the-application-window/module-library/) window. ![](options_window_7.png)
  • **Include Deprecated Modules**: Shows older modules kept for backward compatibility.
  • **Automatically Collapse Module Categories**: When enabled, all module categories in the Module Library will be collapsed by default.
|

New Module and Application Default Settings

This area defines the default settings that are applied to new applications, modules, and data processing tasks.

New Application Defaults

SettingDescription
Z ScaleSets the default vertical exaggeration (Z-Scale) for new applications.
ExplodeSets the default explode factor for new applications, which pushes modules apart in the 3D viewer.
Application ColorsSets the default colors for elements in the Viewer window for new applications.
  • **Coloring Option**: Select from predefined color schemes (Light, Dark) or choose "Custom" to enable the color pickers below.
  • **Background Color**: Sets the solid background color of the Viewer.
  • **Gradient Color**: Creates a two-color vertical gradient with the Background Color.
  • **Foreground Color**: Defines the default color for text, axes, and other primary annotations.
  • **Secondary Color**: Defines the default color for less prominent visual elements.
|

Module Defaults

SettingDescription
Viewer SettingsDefines the default rendering and behavior for new Viewer modules.
  • **Auto Fit Scene**: Controls when the viewer automatically rescales to fit all objects (On Significant Change, On Any Change, or Never).
  • **Background Style**: Sets the default background rendering style (Two Color Gradient, Solid, or Vignette).
  • **Smooth Lines**: When enabled, applies anti-aliasing to produce thicker, smoother lines.
| | **Text and Font Settings** | Controls the default font settings for new modules that display text. ![](options_window_10.png)
  • **Default Font**: Sets the default font family for text in new modules.
  • **Force True Type Fonts**: When enabled, forces modules to use scalable TrueType fonts.
  • **Include Language Specific Fonts**: Loads additional font sets for displaying characters from non-Latin languages (e.g., Chinese, Japanese, or Korean).
|

Model Generation Defaults

Provides fine-grained control over the default parameters used in modules for gridding, data processing, and statistical estimation.

Setting AreaDescription
Gridding DefaultsDefines the default settings for new gridding modules like krige_3d.
  • **Grid Resolution**: Sets the default number of nodes in the X, Y, and Z dimensions.
  • **Boundary Offset**: Defines a default percentage to expand the grid boundary beyond the input data extents.
  • **Use Convex Hull**: When enabled, automatically uses the convex hull of the input data as the gridding boundary.
  • **Use Adaptive Gridding**: When enabled, uses adaptive gridding techniques by default.
| | **Data Processing Defaults** | Changes the default data processing options in various modules.
  • **Pre Clip Minimum**: Sets the default minimum clipping value applied to data **before** interpolation.
  • **Post Clip Minimum**: Sets the default minimum clipping value applied to data **after** interpolation.
| | **Estimation Defaults** | Defines the default parameters for estimation modules. ![](options_window_13.png)
  • **Horizontal Vertical Anisotropy**: Sets the default ratio of horizontal to vertical anisotropy.
  • **Use all samples if # samples below**: When enabled, the module uses all data samples for estimation if the total count is below the specified limit.
  • **Number of Points**: Specifies the number of nearby data points to use for estimation.
  • **Statistical Confidence Tolerance**: Sets the default tolerance for statistical confidence when data processing is "Linear".
  • **Statistical Confidence Factor**: Sets the default factor for statistical confidence when data processing is set to "Log Processing".
  • **Confidence for Min and Max Plume**: Sets the default statistical confidence level for determining plume extents.
|

Reset All Options

The Reset All Options button at the bottom of the window reverts all settings to their original factory defaults. This action is irreversible and affects all sections, so it should be used with caution.

Earth Volumetric Studio features a flexible interface composed of several windows. You can customize their size, position, and docking state to create a layout that suits your workflow.

Customizing Your Workspace with Window Layouts

EVS provides a flexible windowing system that allows you to customize the layout of your workspace. You can control the position, size, grouping, and visibility of most windows to suit your workflow. These customized layouts can be saved and reloaded, which is useful for different tasks or screen resolutions.

For example, here is an application with a personalized window layout:

Window Visibility and Docking

You can manage window visibility and docking using the controls located on each window’s title bar. While most windows can be moved, resized, or closed, there are a couple of exceptions:

  1. Application Window: The main area for adding and connecting modules is always part of the main EVS application window, except in EVS Presentations or when working in Presentation mode.
  2. Viewer Window: The Viewer cannot be closed, but it can be undocked and moved to another monitor for a multi-screen setup.

Example: Optimizing for a Larger Viewer

You can create different layouts to optimize your workspace. For instance, the layout below is configured to maximize the Viewer’s screen space. Notice how windows are tabbed together to save space:

  • The Application and Viewer windows are tabbed, with the Viewer active.
  • The Information, Packaged Files, and Output Log windows are tabbed, with the Output Log active.

Saving a Custom Window Layout

Once you have arranged the windows to your liking, you can save the layout for future use.

  1. Click the Options button in the Main Toolbar.
  2. In the Options window, expand the Window Layouts section.
  3. Here you have the option to create a new layout or overwrite the currently active layout.
    1. Create a new layout: Click the + (Add) button to save your current window arrangement as a new layout. It will appear in the list along with any previously saved layouts and the “Default” configuration.
    2. Overwrite the current layout: Click the Overwrite Current Layout button.

Loading or reverting a Custom Window Layout

There are two ways to switch to a different layout.

The Options window

You can load a previous or revert a layout in the same section as described above.

  1. Click the Options button in the Main Toolbar.
  2. In the Options window, expand the Window Layouts section.
  3. Here you have the option to load a layout or revert to the “Default” layout.
    1. Load a layout: Select the desired layout and click the Apply Selected Layout button or alternatively revert to the “Default” layout using the Revert to Default button.
    2. Revert to default: Click the Revert to Default button to revert the current layout to the one saved as “Default”.

The Quick Access Button

You can easily switch between your saved layouts directly from the Main Toolbar.

  1. Click the dropdown arrow next to the Window Layouts button in the Main Toolbar.
  2. Select your desired layout from the list to apply it instantly.

The Properties window is the primary interface in Earth Volumetric Studio for viewing and editing the parameters of various objects within your application. These objects can include modules, output ports, or the application itself. All properties for a selected object are displayed here, organized into logical, collapsible categories.

Module properties:Application properties:Port properties:

Accessing the Properties Window

If the Properties window is not already open, navigate to the Windows button in the Main Toolbar to show it.

Editing Objects

Once the window is visible, you can load an object’s properties for editing. The most direct method is to double-click a module or a port of a module in the Application Network. Alternatively, you can use the Choose Object to Edit dropdown menu at the top of the Properties window, which provides a list of all objects in your application and allows you to quickly switch between them.

The Properties window includes several tools to help you find and manage parameters efficiently. A Search for Property box at the top of the window allows you to filter the displayed properties by typing a search string; you can also use the Ctrl+P keyboard shortcut to focus on the search box. Next to the search box, the Collapse Categories button lets you expand or collapse all property categories at once.

Options

Further customization is available through the Options menu, accessible via the gear icon. These are global settings for the Properties window and allow you to change how properties are displayed.

OptionDescription
Automatically Collapse PropertiesWhen enabled, all property categories are collapsed when properties of a new object are loaded.
Sort AlphabeticallyChanges the order of properties to an alphabetical sorting.
Show Expert OptionsReveals advanced parameters.
Always Show CriticalEnsures essential properties are never hidden.

Toggling Module and Display Properties

The Switch to Display Properties button allows quick switching between the properties of the selected module and the properties of the primary red output port of it, if it has one. This is the same as double-clicking on the primary red port, but allows faster swapping right within the Properties window.

Toggling Application Properties and Application Favorites

The same button when shown in the Application Properties is labeled Switch To Application Favorites. It allows toggling between the two.

Property Descriptions

At the bottom of the Properties window is a description area. When you select a property from the list, this area displays a brief explanation of what the property does and how to use it, providing helpful context as you configure your modules.

  • Application Properties

    The Application Properties provide a centralized location to access critical parameters needed to control your application. Any property that impacts the application itself and is not specific to an instanced module will show here. Accessing Application Properties The Application Properties are available via a button in the Application Window toolbar:

  • Application Favorites

    The Application Favorites feature provides a powerful way to create a custom control panel for your EVS application. It allows you to gather the most

  • Module Properties

    Module Properties When you select a module in the Application Network, its settings are displayed in the Properties window. This window allows you to configure the module’s parameters and control its execution behavior. At the top of the window, the name of the module you are editing is displayed.

  • Linked Properties

    Understanding Linked Properties In Earth Volumetric Studio, a Linked Property is a parameter whose value is automatically determined within the application, rather than being manually set by the user. This dynamic connection allows for a more intelligent and consistent workflow. You can identify a linked property by the link icon located next to it in the Properties window

  • Port Properties

    Port Properties When you double-click an output port on a any module in the Application Network, the Properties window displays detailed information and settings for that specific port. While the properties shown vary depending on the type of data the port provides, certain elements are common to all ports.

  • Datamaps

    Introduction to Datamaps In the fields of scientific and geometric visualization, a datamap is a fundamental concept that serves as the bridge between raw numerical data and its visual representation. At its core, a datamap is a function or a lookup table that translates data values into visual properties, most commonly color. Think of it as a sophisticated legend that instructs the rendering engine how to “paint” the data onto a geometric object, such as a surface, a volume, or a set of points.

Subsections of Properties

The Application Properties provide a centralized location to access critical parameters needed to control your application. Any property that impacts the application itself and is not specific to an instanced module will show here.

Accessing Application Properties

The Application Properties are available via a button in the Application Window toolbar:

Alternatively, you can also access these when editing the Application Favorites. When the Application Favorites are displayed in the Properties window, click the Switch to Application Properties button at the top.

Finally, double clicking on the background of the network area will open the Application Favorites or Application Properties (whichever was most recently viewed).

Available Application Properties

Below is the default content of Application properties.

Following is a description of each category:

CategoryPropertyDescription
DataBookmarksView and manage saved bookmarks. See Bookmarks for details.
Python AssetsPython scripts reusable from other Python files in your application. Right-clicking will generate the proper import syntax using the EVS python API, which allows these to be imported in scripts even when packaged.
SettingsZ ScaleAdjusts the vertical exaggeration of 3D data.
ExplodeControls the separation of layered data components.
Output QualitySet the quality setting used in certain modules (e.g., Highest Quality). Allows optimization of workflow by using a low quality file while manipulating and a high quality file when producing output.
Application InformationProvides a mechanism to supply reusable metadata in various outputs and scripts. Often available as environment variables in modules which produce text, as well as used in CTWS output.
Application ColorsCustomize the appearance of many module outputs by default. See Application Colors for details.
Application OriginDefines the spatial anchor for the project coordinates. The first time a file is read, the origin will be set based off the coordinates of that data. Everything is then computed relative to the application origin from then on in order to maintain the best precision for 3d calculations. If you reuse an application and change the data, you must reset the application origin.
Reset or Edit OriginAllows manual recalibration of the project center.
Export ImageViewer SnapshotWrites the contents of the viewer to an image file.
Application SnapshotWrites the contents of the application window (the network) to an image file.
OptimizationInclude All Data In ProbeWhen enabled, all data is included in probe results in the viewer. This uses more memory, but increases the functionality for inspecting the data.
  • Bookmarks

    Bookmarks provide an easy way to save and recall specific configurations of your application. They act as saved “snapshots” that can instantly change the camera view, which objects are visible, and the current state of any sequences. They also export to C Tech Web Scenes. This is essential for creating presentations, standardizing views for analysis, and optimizing the user experience in any exported C Tech Web Scenes.

  • Application Colors

    The Application Colors feature provides a centralized way to manage a consistent color palette across your entire application. By setting a few base colors, you can ensure that various annotation modules - such as titles, legends, and axes - as well as the viewer background all share a coordinated and professional look. This feature is particularly powerful when used with linked properties, as it allows you to switch between entire color themes (e.g., from a light to a dark theme) with a single click.

Subsections of Application Properties

Bookmarks provide an easy way to save and recall specific configurations of your application. They act as saved “snapshots” that can instantly change the camera view, which objects are visible, and the current state of any sequences. They also export to C Tech Web Scenes.

This is essential for creating presentations, standardizing views for analysis, and optimizing the user experience in any exported C Tech Web Scenes.

What Bookmarks Control

A single bookmark can be configured to control one, two, or all three of the following aspects of your application:

AspectDescription
ViewThe camera’s position, orientation, and zoom level in the Viewer.
VisibilityThe visibility and opacity settings of all modules in the application.
Sequence StateThe currently selected state of all Sequence modules.

Finding the Bookmarks Panel

The Bookmarks panel is part of the Application Properties window.

Creating Bookmarks

Bookmarks are created and managed from the Bookmarks panel in the Application Properties.

Follow these steps to create a new bookmark:

  1. Set up your scene: Arrange the application to the exact state you want to save.

    • Adjust the camera to the desired view.
    • Set the visibility and opacity of each object in the Viewer.
    • Select the desired frame for any sequence animations.
  2. Select Action Types: In the Bookmarks panel, click the buttons to activate the aspects you want this bookmark to control. The active buttons are highlighted in blue. From left to right, they are Views, Visibilities, and Sequence States. One or more of these must be selected to create a new bookmark.

  3. Create the Bookmark: Click the New button (the plus icon). A new bookmark will appear in the list with a default name.

  4. Rename the Bookmark: The default name can be generic. It is highly recommended to give it a descriptive name. Click the dropdown arrow on the far right of the bookmark and select Rename.

    For example, a name like “Trichlor Plume > 0.01 mg/kg” is much more informative.

Using Bookmarks

To apply a bookmark, simply click the “Play” icon (the white triangle) next to the bookmark’s name in the list. This will instantly update the application to the saved view, visibility, and/or sequence state defined by that bookmark.

When you save your project as a C Tech Web Scene (.ctws file), these bookmarks are included, allowing others to interact with your scene in the predefined ways you have designed.

Advanced Visibility Options

When saving visibility in a bookmark, you have advanced control over how objects behave, which is especially useful for Web Scenes.

OptionDescription
LockedA “Locked” object is always visible and cannot be turned off by the user in the C Tech Web Scene Viewer. This is ideal for essential items like a site map, buildings, or a company logo that should always remain in view.
ExcludedAn “Excluded” object is not written to the Web Scene at all. This is equivalent to disconnecting the module from the viewer and can be used to hide intermediate or unnecessary components from the final output.

For more information on setting these properties, see Module Icons and Module Status Indicators.

The Application Colors feature provides a centralized way to manage a consistent color palette across your entire application. By setting a few base colors, you can ensure that various annotation modules - such as titles, legends, and axes - as well as the viewer background all share a coordinated and professional look.

This feature is particularly powerful when used with linked properties, as it allows you to switch between entire color themes (e.g., from a light to a dark theme) with a single click.

Accessing Application Colors

The Application Colors settings are located in the **Application Properties**application-properties.md panel.

Application Colors settings in the Application Properties panel. Application Colors settings in the Application Properties panel.

Color Properties and Options

The panel contains several options for defining your color scheme.

OptionDescription
Coloring OptionThis dropdown menu allows you to quickly switch between predefined color themes. By default, it includes “White” and “Dark” themes, which are designed for light and dark viewer backgrounds, respectively.
Interface ColorsThese four properties define the core colors of your theme.
  • Background Color: Sets the background color of the viewer.
  • Gradient Color: Used with the Background Color to create a two-color gradient in the viewer background.
  • Foreground Color: The primary color used for text and lines in most annotation modules.
  • Secondary Color: A supplementary color used for secondary elements, such as shading on the compass rose in the direction_indicator module.

Linked Properties: The Key to Automatic Updates

For the Application Colors to automatically update your modules, the color properties within those modules must be linked. When a property is linked, it inherits its value from the global Application Colors settings. If you unlink a color property in a module, it will use its own manually set color and will no longer be affected by theme changes.

You can identify a linked property by the link icon next to it. For more information, see the Linked Properties topic.

Affected Modules

The following modules are designed to use the Application Colors when their color properties are linked:

ModuleUsage
viewerUses the Background Color and Gradient Color for its background.
axes, titles, 3d_titles, legend, and 3d_legendThese modules primarily use the Foreground Color for their text and lines.
direction_indicatorThis module uses the Foreground Color for its text and the Secondary Color for shading effects on elements like the compass rose.

Example of Switching Coloring Option

When the modules’ color properties are linked, changing the Coloring Option has an immediate effect on the entire scene.

The application below is using the White Coloring Option. Note the dark text and lines on the title, axes, and legend, which provide high contrast against the light background.

By simply switching the Coloring Option to Dark, all linked modules automatically update. The text and lines change to a light color to maintain contrast against the new dark viewer background.

Light and dark themes can also be toggled in the Options panel in the Menu.

The Application Favorites feature provides a powerful way to create a custom control panel for your EVS application. It allows you to gather the most important properties from various modules and global settings into a single, centralized location within the Properties window.

Info

When creating EVS Presentations, the only properties which will be editable in the resulting Presentation Application (*.evsp) are the Application Favorites. All other properties are unavailable in an EVS Presentation.

This is especially useful in large or complex applications, as it eliminates the need to navigate to each individual module to adjust key parameters. Instead, you can manage all critical settings from one convenient view.

Accessing Application Favorites

The Application Favorites are available via a button in the Application Window toolbar:

Alternatively, you can also access these when editing the Application Properties. When the Application Properties are displayed in the Properties window, click the Switch to Application Favorites button at the top.

Finally, double clicking on the background of the network area will open the Application Favorites or Application Properties (whichever was most recently viewed).

The Application Favorites View

Once you switch to the Application Favorites view, you will see a list of all the properties you have marked with a star. The properties are organized into groups based on their source module. For example, global settings like Z Scale and Explode are listed under “Application Properties,” while module-specific properties are grouped under the name of their respective module (e.g., “viewer”).

You can edit any of these properties directly from this view, just as you would in the standard properties editor.

How to Favorite a Property

You can favorite almost any property from any module.

  1. Select a module in the Application Network to display its parameters in the Properties window.
  2. To favorite a property, click in the empty space to the left of its name. A star icon will appear, indicating that the property has been added to your Application Favorites.

It is important to note that this action favorites the property for that specific instance of the module, not for all modules of that type. This allows you to select different key parameters from different modules. The same property from different modules can appear in the Application Favorites at the same time.

How to Remove a Property from Favorites

To remove a favorited property, simply click the star icon in either the module or the Application Favorites again.

Module Properties

When you select a module in the Application Network, its settings are displayed in the Properties window. This window allows you to configure the module’s parameters and control its execution behavior. At the top of the window, the name of the module you are editing is displayed.

Switch to Display Properties

This button provides a quick way to access the properties of the module’s primary Renderable Port (red) if they are being displayed in a viewer. The Red Port Properties will also feature a button to quickly switch back again.

Execution Control

The toolbar at the top of the Module Properties window provides powerful tools for managing when and how a module executes.

  • Run Toggle: This switch controls the module’s automatic execution. By default, it is on, meaning the module will automatically run whenever one of its properties is changed or when an upstream module it depends on finishes running. Toggling this off prevents the module from running automatically. This is particularly useful when you want to make multiple changes to a module’s settings without triggering potentially time-consuming computations after each adjustment. This is also displayed and configurable on the modules in the Application Network. See Module Status Indicators.
  • Run Once Button: When available, this button allows you to manually trigger the execution of the currently selected module. It forces the module to run a single time. This is most effective when the Run toggle is turned off, as it lets you apply your changes and see the result without having to re-enable automatic execution.

Module-Specific Properties

Below the execution controls, the Properties section contains all the configurable parameters for the selected module. The settings here are unique to each module’s function. These properties allow you to customize the module’s behavior to fit the specific needs of your analysis.

Property Description

At the bottom of the Properties window is a description panel. This panel is your first and most important resource for understanding what a specific property does. When you select a property from the list, this panel automatically updates to show a detailed explanation of that property and its function. For instance, selecting “Data Processing” will display text explaining that this property allows to declare whether the input data is to be treated as linear or log processed. This immediate, context-sensitive help makes it easy to learn and configure even complex modules without having to consult external documentation.

Here is an example for the Property Description of the “Glyph Size” property:

Understanding Linked Properties

In Earth Volumetric Studio, a Linked Property is a parameter whose value is automatically determined within the application, rather than being manually set by the user. This dynamic connection allows for a more intelligent and consistent workflow. You can identify a linked property by the link icon located next to it in the Properties window

  • When the link icon is closed/connected, the property is linked, and its value will update automatically based on its source.
  • When the link icon is broken, the property is unlinked, and its value is fixed to whatever you have manually set.

You can toggle a property’s linked state by simply clicking on the link icon.

Linked Property:Unlinked Property:
Info

Not all properties can be linked. If a property does not have a link icon next to it, it is a manual property. Its value may be set directly by the user and will not change automatically.

The Purpose of Linked Properties

Linked properties are a core feature of the EVS expert system, designed to streamline the modeling process. By linking properties, EVS can ensure consistency across your entire application, provide smart defaults based on your data, and maintain visual coherence. For example, linking the Z Scale of multiple modules to the global Application Z Scale means you only have to change it in one place, but can still unlink and override it as needed. Linked properties may also provide good automatic starting values for further unlinked manual refinement.

While you can unlink any linked property to gain manual control, it is generally recommended to keep properties linked unless you have a specific reason and understand the effect of the change. This approach leads to a faster and better-looking result.

Info

Re-linking a previously unlinked property will cause its value to revert to the automatic, context-driven setting. This change may also trigger the module to re-execute immediately to reflect the new state, unless the module’s Run toggle is turned off.

Common Categories of Linked Properties

Z Scale

This is the most common linked property and the one you should change least often. Nearly every module that deals with 3D data has a Z Scale property that is, by default, linked to the global Z Scale found in the Application Properties. This ensures that all visual components in your scene use the same vertical exaggeration, which is critical for correct spatial representation.

Colors

Many modules that create visual elements, such as titles or legends, have color properties that are linked to the global Application Colors setting. When you switch the application theme between Dark, White, or Custom, these linked colors will automatically adjust to ensure they remain visible and aesthetically pleasing against the new background color. Unlinking a color property, such as Title Color, will fix it to a specific color, and it will no longer adapt to theme changes.

Coordinates

Many modules that process spatial data have coordinate properties (e.g., Min/Max extents) that are linked to the incoming data. When the module is run, it analyzes the input field and automatically populates these properties with the correct coordinate values. If the input data changes, re-running the module will cause these linked properties to update accordingly.

Expert System Parameters

EVS includes an expert system that analyzes your data to provide intelligent, scientifically appropriate default values for complex parameters. This is most common in geostatistical modules like kriging or lithologic modeling. Parameters for kriging and variogram settings are often linked to the expert system, which suggests optimal values based on the input data. Unlinking these properties allows for manual fine-tuning but overrides the data-driven recommendations.

Port Properties

When you double-click an output port on a any module in the Application Network, the Properties window displays detailed information and settings for that specific port. While the properties shown vary depending on the type of data the port provides, certain elements are common to all ports.

At the top of the window, a Switch to Module Properties button provides a convenient way to navigate back to the properties of the module that owns the port.

Common Port Properties

All output ports display a Port Information section with the following properties:

PropertyDescription
Common ElementsControls as described in Properties, such as search or general options.
Port NameThis read-only field displays the name of the selected port.
Port DetailsThis expandable property provides in-depth technical information about the port’s data type and status.

  • Red Port Properties (Renderable Port)

    Renderable Object Port Properties In Earth Volumetric Studio, a red port is a Renderable Object port. It outputs a visual object—such as a surface, a set of points, or a volume—that can be displayed in a viewer. By editing the properties of this port, you can control every aspect of how the object is visualized in the 3D scene. See the Visualization Fundamentals section for additional details on rendering options.

  • Blue Port Properties (Field Port)

    Field Port Properties In Earth Volumetric Studio, a blue port is a Field Port. It is the most common port type and is responsible for passing grid structures and their associated data between modules. A “field” contains the geometry (nodes and cells) as well as any data values defined on that grid, such as analytical results or material properties.

Subsections of Port Properties

Renderable Object Port Properties

In Earth Volumetric Studio, a red port is a Renderable Object port. It outputs a visual object—such as a surface, a set of points, or a volume—that can be displayed in a viewer. By editing the properties of this port, you can control every aspect of how the object is visualized in the 3D scene. See the Visualization Fundamentals section for additional details on rendering options.

To access these properties, you can double-click on a red port in the Application Network, which will load its settings into the Properties window.

Port Information

General information about the port as described in the Port Properties topic.

General Properties

This is the primary section for controlling the object’s appearance, coloring, and visibility in the 3D scene.

PropertyDescription
VisibleA master toggle to show or hide the object in the viewer.
PickableDetermines if the object can be selected in the viewer using the probe tool (Ctrl + Left-click). Disabling this can be useful for large, transparent objects that might interfere with selecting objects behind them.
OpacityControls the transparency of the object. A value of 100% makes the object fully opaque, while 0% makes it completely invisible.
Faces To DisplayControls which faces of a 3D object are rendered.
  • Display All: Renders both the front and back sides of faces.
  • Camera Facing: Renders only the faces pointing toward the camera. This is useful for making closed transparent objects look correct and can improve performance.
  • Facing Away: Renders only the faces pointing away from the camera.
Color ByDetermines the source of the object’s color.
  • Nodal Data: Colors the object based on data values at the nodes, often resulting in smooth color gradients.
  • Cell Data: Applies a uniform color to each entire cell based on its data value.
  • Solid Color: Applies a single, uniform color to the entire object.
Node Data / Cell DataIf coloring by data, these dropdowns let you select which specific data component to use for coloring.
Vector Component / Use Vector MagnitudeIf the selected data is a vector, this allows you to color the object by a single component or by the vector’s overall magnitude.
Node/Cell Data DatamapOpens the datamap editor to define the mapping between data values and colors. See the Datamaps topic for more information.
Object ColorIf Color By is set to Solid Color, this control allows you to select the specific color for the object.
Object Secondary ColorThis color is primarily used for drawing the outlines of cells when “Hide Cell Outlines” is disabled.
Normals GenerationAffects how lighting is calculated on surfaces.
  • Default: Selects the best method based on the input data type.
  • Cell Normals: Results in flat shading with hard transitions between cells.
  • Point Normals: Averages normals at each point, creating a smooth, continuous appearance.
Rendering PriorityA numeric value that influences the drawing order of objects. Objects with higher numbers are drawn later (on top of others).

Export Properties

This section contains settings related to exporting the application.

PropertyDescription
Exclude From CompressionIf checked, this object’s geometry will not be compressed when exporting to a C Tech Web Scene. This preserves full precision but can result in a significantly larger file size.

Advanced Properties

These settings provide fine-grained control over geometry processing and rendering. They are intended for advanced users and should generally be left at their default values unless you are addressing a specific rendering issue.

Rendering Modes

This section controls how different geometric components of the object are displayed.

PropertyDescription
Point/Line/Surface/Volume/Bounds Display ModeEach dropdown allows you to change the rendering style for a specific component (e.g., render a surface as a wireframe (Lines) or display points as spheres (Glyphs)).
Hide Cell OutlinesToggles the visibility of the wireframe edges of the cells that make up the object.

Surface Properties

These properties control how the object’s surface interacts with light in the scene. They are intended for advanced users and should generally be left at their default values unless you are addressing a specific rendering issue.

PropertyDescription
AmbientControls how much ambient light the surface reflects (the object’s color in the absence of direct light).
DiffuseControls how much light the surface reflects from direct light sources, determining the primary illuminated color.
SpecularControls the color of specular highlights (bright spots where light reflects directly toward the camera).
GlossControls the size and intensity of specular highlights. Higher values create smaller, sharper highlights, making the surface appear shinier.

Point And Line Properties

This section contains settings that apply specifically to objects composed of points or lines.

PropertyDescription
Line StyleSets the pattern for lines.
  • Solid: A continuous, unbroken line.
  • Dashed: A line made of a series of short segments.
  • Dotted: A line made of a series of dots.
  • **Dashed-Dotted: **A combination of the Dashed and Dotted line styles.
Line ThicknessControls the width of lines in pixels. A value of 0 uses a default, fast-rendering single-pixel line.
Glyph SizeIf points or lines are rendered as glyphs (e.g., quads), this controls their size.
Smooth LinesToggles anti-aliasing for lines. When enabled, lines will appear smoother with less jaggedness.

Texture Settings

If the object has a texture applied, these properties control how it is mapped and rendered. They are intended for advanced users and should generally be left at their default values unless you are addressing a specific rendering issue.

PropertyDescription
InterpolationDetermines how the texture is sampled when magnified or minified. Bilinear (default) averages the four nearest texels for a smooth but potentially blurry appearance.
TileControls the texture’s behavior at its boundaries. Clamp causes the edge pixels to be stretched to fill the rest of the surface.
BlendingDefines how the texture’s color is combined with the object’s underlying color. Replace causes the texture’s color to completely overwrite the object’s original color.
TypeRelates to the use of mipmaps. Single Level indicates that only the original, full-resolution texture is used, without any lower-resolution versions for distant objects.

Field Port Properties

In Earth Volumetric Studio, a blue port is a Field Port. It is the most common port type and is responsible for passing grid structures and their associated data between modules. A “field” contains the geometry (nodes and cells) as well as any data values defined on that grid, such as analytical results or material properties.

To access the properties of a Field Port, you can double-click on any blue port in the Application Network. This will load its settings and summary information into the Properties window.

Port Information

General information about the port as described in the Port Properties topic.

Statistics

This section gives a high-level summary of the contents of the field.

PropertyDescription
Number Of NodesThe total count of nodes (points) that define the field geometry.
Number Of Cell SetsThe number of distinct groups of cells. Cell sets are often used to represent different geologic layers or materials.
Total Number Of CellsThe total count of all cells across all cell sets in the field.
Number Of Node Data / Number Of Cell DataThe count of different data components attached to the nodes or cells.
Coordinate UnitsThe measurement unit for the grid’s coordinates (e.g., meters, feet).
Coordinate ExtentsThe overall dimensions (X, Y, Z) of the grid’s bounding box.

Coordinates

This table displays the minimum and maximum coordinate values for the X, Y, and Z axes, defining the spatial bounding box of the grid. The Z (Scaled) value reflects the coordinates after any global Z Scale has been applied.

Summary Statistics

This section provides a quick statistical overview of a selected data component within the field.

PropertyDescription
Data ComponentA dropdown menu to select which data component you wish to analyze.
Data UnitsThe measurement unit for the selected data component.
Is LogA checkbox indicating if the data is on a logarithmic scale.
Data Min / Data MaxThe minimum and maximum values for the selected data component.
HistogramA small histogram plot provides a quick visual summary of the data’s distribution.
Open Statistics WindowThis button launches a separate, more detailed window for in-depth statistical analysis.

The Statistics Window

The Statistics Window provides a comprehensive and interactive environment for analyzing the data within a field. It is composed of several panels that allow you to customize the analysis and view detailed statistical results, both graphically and textually.

Panel / ComponentDescription
Analysis SettingsLocated in the top-left corner, this panel allows you to control how the statistical analysis is performed and displayed.
  • Bin Count: Adjusts the number of columns in the histogram to change the granularity of the distribution plot.
  • Significant Figures: Controls the precision of the displayed numerical results.
  • Restrict Plot Range: When enabled, allows you to manually define the minimum and maximum values for the analysis.
Selected Component StatisticsLocated below the analysis settings, this panel presents key statistical metrics for the chosen data component.
  • Data Mean: The average value.
  • Data Median: The middle value of the dataset.
  • Standard Dev.: The standard deviation, a measure of data dispersion.
  • Interquartile Rng.: The range between the first and third quartiles.
Histogram PlotThe main area on the right, providing a clear visual representation of the data’s distribution by showing the number of data values (Counts) that fall into each bin.
Statistics SummaryA text-based report below the plot, offering a summary of coordinate extents and a detailed breakdown of the statistics.
Bin Data TableLocated at the bottom, this table lists the specific data for each bin, including its minimum and maximum range, the count of values it contains, and the cumulative percentage of the total data set.

Introduction to Datamaps

In the fields of scientific and geometric visualization, a datamap is a fundamental concept that serves as the bridge between raw numerical data and its visual representation. At its core, a datamap is a function or a lookup table that translates data values into visual properties, most commonly color. Think of it as a sophisticated legend that instructs the rendering engine how to “paint” the data onto a geometric object, such as a surface, a volume, or a set of points.

Every value in your dataset, whether it represents temperature, contaminant concentration, pressure, or a geologic material type, is assigned a color based on the rules defined in the datamap. This transformation is what turns an abstract collection of numbers into an intuitive and immediately understandable visual model. Without datamaps, a 3D model of contaminant distribution would be a colorless, featureless shape, providing no insight into where the highest concentrations are or how they vary in space. The datamap is what brings the data to life, allowing us to see the patterns, trends, and anomalies that would otherwise be hidden in spreadsheets and data files.

The Purpose of Datamaps in EVS

In Earth Volumetric Studio, datamaps are the primary tool for communicating the meaning of your data within a visual context. Their purpose extends beyond simply making things colorful; they are a critical component of data analysis and presentation for several key reasons.

First, they make complex data interpretable. A bright red area in a plume model is instantly recognizable as a “hotspot” of high concentration, while a transition from green to blue can clearly show the gradient where values are decreasing.

Second, they provide a quantitative reference. A well-designed datamap, coupled with a legend, ensures that the visualization is not just a pretty picture but a scientifically accurate representation. Each color corresponds to a specific data value or range, allowing a viewer to probe any point on a model and understand its precise quantitative meaning.

Finally, they are essential for highlighting features of interest. Data in environmental and geological sciences often spans many orders of magnitude. A datamap can be carefully designed to focus the visual contrast on the most critical parts of the data range, making subtle but important variations stand out while de-emphasizing less relevant data.

Types of Data and Datamap Processing

Datamaps in EVS are highly flexible and can be configured to handle different types of data and distributions. The way a datamap translates values to color can be linear, non-linear, or categorical.

Linear Datamaps

A linear datamap applies a smooth, uniform color gradient across the entire range of the data. The relationship between a data value and its position in the color gradient is a straight line. For example, in a dataset ranging from 0 to 1000, a value of 500 would be mapped to the exact middle of the color ramp. This type of mapping is best suited for data that is evenly distributed and where the importance of changes is consistent across the entire range, such as a simple temperature scale.

Non-Linear Datamaps

A non-linear datamap is used when the data is not uniformly distributed or when certain ranges are more important than others. In this case, the relationship between data values and colors is not a straight line. This allows you to allocate more “color space” to the most critical parts of your data range.

A classic example is contaminant concentration data, which might range from 0.01 to 10,000. If a linear datamap were used, most of the color gradient would be dedicated to the high-end values, making it impossible to distinguish between low-level concentrations (e.g., 0.1 vs. 1.0), which might be the most critical range for regulatory purposes. A non-linear datamap can be configured to stretch the color gradient across the lower values, providing high visual contrast where it is needed most.

The colors of breaks on both sides don’t have to be continuous. If the Lock Adjacent Breaks toggle in the Datamap Editor is disabled, you can choose both colors separately.

A note on precision: Due to the nature of precision in floating-point calculations, a value that is identical to a break point can be categorized into either the adjacent upper or lower interval. If you need to ensure a specific value is colored correctly, we recommend slightly shifting the break point. For example, changing a break from 500.0 to 500.0001 ensures the value 500.0 falls into the lower interval.

Categorical Data

Datamaps are also used for categorical data, which is qualitative rather than quantitative. Examples include geologic material types (“Sand”, “Clay”, “Gravel”), land-use classifications, or sample location IDs. For this type of data, the datamap assigns a single, discrete color to each unique category. There is no gradient or blending between colors. In EVS, this is typically handled by assigning an integer ID to each category (e.g., Sand=1, Clay=2). The datamap is then configured with distinct colors for each integer value, effectively creating a color key for your categorical data.

Logarithmic Processing

Logarithmic processing is a specific type of non-linear mapping designed for data that spans several orders of magnitude. By taking the logarithm of the data values before mapping them to color, vast ranges are compressed into a more manageable scale. This makes logarithmic datamaps the standard and most effective way to visualize data like hydraulic conductivity or contaminant concentrations. EVS handles this transformation automatically when the log processing option is selected in many modules, so you do not need to manually convert your data. The datamap works with the log-transformed values, but associated legends will still display the original, human-readable values.

  • Datamap Editor

    The Datamap Editor is the primary tool in Earth Volumetric Studio for creating and customizing the mapping between your data values and the colors used to represent them in a visualization. It provides a powerful, interactive interface to control color gradients, data ranges, and scaling, allowing you to effectively highlight the features of interest in your data.

Subsections of Datamaps

The Datamap Editor is the primary tool in Earth Volumetric Studio for creating and customizing the mapping between your data values and the colors used to represent them in a visualization. It provides a powerful, interactive interface to control color gradients, data ranges, and scaling, allowing you to effectively highlight the features of interest in your data.

You can access the Datamap Editor by clicking the Edit button next to the Node Data Datamap or Cell Data Datamap properties in a module’s rendering settings.

The editor is composed of three main areas: the toolbar at the top, the color ramp preview in the middle, and the color break editor at the bottom.

Toolbar

The toolbar provides access to file operations, settings, and tools for manipulating the datamap.

File and Replace Operations

OperationDescription
OpenAllows you to load a previously saved datamap configuration from a .CTDmap file, enabling you to reuse complex color schemes across different projects and models.
SaveThis dropdown menu provides two distinct ways to save the current datamap configuration to a .CTDmap file.
  • Save As Generic: Saves the datamap with its breaks defined by their relative positions (e.g., percentages). This makes the saved datamap a flexible template that will adapt to a new dataset’s minimum and maximum values.
  • Save With Values: Saves the datamap with its breaks locked to their current, fixed data values. This is useful for applying a consistent color mapping to multiple datasets that share the same data extents or have specific, meaningful thresholds.
Use TemplateApplies one of the default datamap templates, such as Default Node Map, Linear Grayscale, or perceptually uniform scientific colormaps.
Copy FromOpens a dialog to copy a datamap from another module in your application, allowing you to select a specific source and apply its datamap to the current module.
Copy ToPerforms the reverse of Copy From. It allows you to apply the current datamap’s configuration to one or more selected modules and ports.

Settings

SettingDescription
Lock Adjacent BreaksThis toggle locks the colors between breaks. When enabled, changing the color of a break point will also update the adjacent break point in the next range, ensuring a continuous color gradient.
Gradient Color RangesThis toggle controls whether to use smoothly changing colors. When enabled, colors blend seamlessly between break points. When disabled, each range is filled with a single, solid color.
Use Perceptual ColorspaceThis option switches the color interpolation method to a “visual perceptual colorspace,” which can produce gradients that are perceived as more uniform and natural by the human eye.

Operations

OperationDescription
Add BreakAdds a new break position to the datamap, allowing you to introduce a new color and data value point to refine your color gradient.
Evenly Space BreaksRedistributes all existing color breaks linearly across the full data range, creating a uniform gradient.
Clear BreaksRemoves all intermediate color breaks, leaving only the start and end points and creating a simple, two-color gradient.
Create Breaks From BandsAutomatically creates new color breaks at the exact data values used by another module (like isolines), ensuring color changes align perfectly with contour lines or other banded visualizations.
Flip RangesReverses the color ramp, so that the color previously at the maximum value is now at the minimum value, and vice-versa.
Apply Geologic MappingDesigned for categorical data, this function creates a series of discrete, solid color ranges corresponding to the integer IDs used to represent different geologic materials.

The toolbar also has similar options to the EVS Main Toolbar in terms of display style and density.

Color Ramp and Break Editor

This is the main interactive part of the editor where you define the datamap.

Color Ramp Preview: The large horizontal bar shows a preview of the final datamap. It displays the colors and the smooth transitions between them, based on the color breaks you have defined below it. The minimum and maximum data values of the current range are displayed at the ends of the ramp.

Logarithmic Scaling Indicator: Text such as “Logarithmic Scaling On” will appear to the right of the color ramp. This indicates that the datamap is currently processing the data on a logarithmic scale. This is essential for effectively visualizing data that spans several orders of magnitude, as it allocates more color variation to the lower-end values.

Color Break Editor: This section is where you define the specific points of your datamap. The datamap is composed of one or more color intervals, and the points that define the start and end of these intervals are called color breaks. Within each interval, the color transitions in a linear gradient based on the data values and colors set at its start and end breaks. A key feature of the editor is that the color at the end of one interval does not need to be continuous with the color at the start of the next. By disabling the Lock Adjacent Breaks setting, you can create a “hard break,” or an abrupt change in color at a specific data value. This is useful for visually separating distinct data ranges. Furthermore, the length of each interval can be adjusted independently, allowing you to create a non-linear datamap by stretching or compressing the color gradient across different parts of the data range.

Each color break is represented by a row in the editor, which includes:

ComponentDescription
Data Value Input BoxAllows for precise numeric entry of the data value for the break.
Color SwatchOpens a color picker to set the color for the break.
SliderProvides interactive adjustment of the data value for the break.
Delete ButtonA trash can icon to remove the break.

The Application window is the central workspace in Earth Volumetric Studio for creating and managing your data processing and visualization workflows. It provides a visual, node-based environment where you build networks by placing and connecting modules to define a data flow.

The window is divided into two main sections: the Module Library on the left and the Application Network on the right.

Module Library

The Module Library contains a comprehensive list of all available modules, organized into categories such as Estimation, Geology, and Annotations. To build your application, you can find the desired module in the library and drag it onto the Application Network canvas.

This topic is discussed in more detail in the Module Library topic.

Application Network

The Application Network is the gridded canvas where you assemble your workflow. Modules are placed here and connected to one another to control the flow of data. Each module has input and output ports, and you create connections between matching ports on different modules. This visual representation allows you to easily understand and modify the data processing pipeline. The style of the connections (curved, straight) can be controlled in the Application Options.

See the Application Network topic and its subtopics for more.

Toolbar Functions

A toolbar at the top of the Application window provides quick access to various tools and settings for managing your application.

ToolIconDescription
Show Module LibraryShow Module Library icon Show Module Library iconToggles the visibility of the Module Library panel on the left.
Edit Application PropertiesEdit Application Properties icon Edit Application Properties iconOpens the Application Properties in the Properties window. These properties are global settings that apply to the entire application, such as Bookmarks and Colors.
Edit Application FavoritesEdit Application Favorites icon Edit Application Favorites iconOpens the Application Favorites in the Properties window. This panel contains a collection of all module properties that you have manually marked as favorites, providing quick access to them.
Z Scale Controls the global vertical exaggeration for all viewers in the application.
Explode Controls the global explode factor, which separates objects in the viewer for better visibility.
Create SnapshotCreate Snapshot icon Create Snapshot iconSaves a snapshot image of the current state of the Application Network.
BookmarksBookmarks icon Bookmarks iconA dropdown menu that allows you to quickly toggle between saved bookmarks, which store specific camera views and other scene settings.
Find in ApplicationFind in Application icon Find in Application iconA search bar that helps you locate modules within your application by name. See Searching for a Module in the Application Window topic for more details.
Zoom Provides controls to manage the zoom level of the Application Network. You can zoom in or out, reset the zoom to its default level, or automatically adjust the zoom to fit the entire network within the view.
Application OverviewApplication Overview icon Application Overview iconShows a stylized, high-level overview of your Application Network, which is useful for navigating large and complex applications. You can click on that overview to zoom in on that part in the Application Network.

Options Menu

The Options menu contains settings related to connections and the Module Library.

  • Connection Settings
    • Hide Viewer Connections: Toggles the visibility of connection lines leading to any viewer modules.
    • Always Display Minor Ports: When enabled, all module ports (both major and minor) are displayed. When disabled, only major ports are shown by default.
    • Connection Checking: Submenu for settings related to data type validation when connecting modules.
    • Connection Style: Submenu to change the appearance of connection lines (e.g., curved or straight).
    • Highlight Potential Connections: Submenu to control which ports a connection can connect to when you are creating a new connection.
  • Module Library Settings
    • Show Module Library: Toggles the visibility of the Module Library.
    • Pin Module Library Window Open: Keeps the Module Library panel open and prevents it from automatically collapsing.
    • Automatically Collapse Categories: If enabled, module categories are collapsed by default.
    • Include Deprecated Modules: Toggles the visibility of older, outdated modules in the Module Library.
  • Module Library

    The Module Library is a core component of the Application window, serving as the repository for all modules used to build data processing and visualization workflows. It is located on the left side of the Application window and a fixed part of it. Unlike most other windows, it cannot be undocked, but it can be hidden when not in use.

  • Application Network

    The Application Network is the primary workspace in Earth Volumetric Studio for building and managing your data processing workflows. It is a visual,

  • Searching for a Module in the Application Window

    Finding Modules in the Application Network For large or complex application networks, the search functionality provides an efficient way to locate specific modules. The search tool is located in the toolbar at the top of the Application window. Using the Search Tool The appearance of the search tool depends on the available width of the Application window. In narrower views, it may appear as a magnifying glass icon. In wider views, it will be displayed as a full search box labeled “Search for Module in Application”.

Subsections of Application

The Module Library is a core component of the Application window, serving as the repository for all modules used to build data processing and visualization workflows. It is located on the left side of the Application window and a fixed part of it. Unlike most other windows, it cannot be undocked, but it can be hidden when not in use.

Modules are organized into collapsible categories, such as Estimation and Geology, allowing you to easily browse and find the tools you need. You can control whether these categories are expanded or collapsed by default in the Options menu of the Application window. To add a module to your workflow, simply drag it from the library and drop it onto the Application Network canvas. Alternatively, double clicking a module will also create a new instance on the Application Network.

At the top of the Module Library, you will find controls for searching and docking.

The Search bar allows you to quickly filter the list of modules. As you type, the library will display only those modules whose names match your search query. You can also use the keyboard shortcut Ctrl+M to focus on the search bar, even if the Module Library is unpinned and closed.

Next to the search bar is the Pin button. This button controls the auto-hide behavior of the Module Library. When the library is pinned, it remains permanently visible. If you unpin it, the library will automatically slide away when not in use and can be reopened by clicking the Show Module Library button in the Application window’s toolbar or via the keyboard shortcut Ctrl+M.

Annotations

At the bottom of the Module Library is a set of tools for adding visual annotations to your Application Network. These elements help document your workflow, clarify connections, and organize complex applications. Clicking on an annotation shows contextual menu items such as Delete, Copy, Paste and a coloring option.

AnnotationDescription
Text AnnotationAdds a text box directly onto the Application Network canvas. You can use it to add notes, titles, or descriptions for different parts of your workflow.
Line AnnotationsThere are two types of line annotations for drawing arrows on the canvas. These are useful for pointing to specific modules or visually grouping related items that may not be physically close to each other.
Group AnnotationCreates a visual container for a set of modules. You can drag modules inside a group annotation to organize them as a logical unit. The group can be named, resized, and collapsed, which can be useful for simplifying the view of a large Application Network. When you collapse a group, it is displayed as a single item, and all connections to the modules it contains are shown connecting to the group instead.
Image AnnotationPlaces an image from a file directly onto the Application Network canvas. This can be used for adding logos, diagrams, or other visual aids to your workflow documentation.

The Application Network is the primary workspace in Earth Volumetric Studio for building and managing your data processing workflows. It is a visual, node-based environment where you construct “applications” by placing modules and connecting them to define a data flow from input to final visualization.

Modules

Modules are the fundamental building blocks of an application. Each module performs a specific task, such as reading data, performing a calculation, creating a geometric object, or rendering a scene. They are represented by rectangles on the Application Network, each stating a user-defined name and the module type under it. You add modules to your network by dragging them from the Module Library onto the Application Network canvas.

Each module has a set of icons that appear when you hover over it, providing quick access to key functions:

IconDescription
Disable/Enable ModuleClicking this icon disables the module and any downstream modules that depend on it. A disabled module will not execute when the application is run. The icon appearance will change to quickly notice disabled modules. Clicking the icon again re-enables it and will make it run immediately.
Hide/Show OutputThis icon is available on modules that produce a visual output. Clicking the eye icon toggles the visibility of that module’s output in all viewers.

See Module Icons for more information.

Ports and Connections

Modules communicate with each other through ports. Each module has one or more input ports (on the top) and output ports (on the bottom). You create Connections between modules which define the top-down Data Flow of the application, directing the output of one module to become the input for the next. See the Connecting and Disconnecting Modules topic.

Ports are color-coded to indicate the type of data they handle, and you can only connect ports of a similar color. While there are many port types, the two most critical and frequently used are Field ports and Renderable Object ports.

See Port ColorsRed Port Properties (Renderable Port) and Blue Port Properties (Field Port) for more information about ports.

How to Remove connections

Connections can be removed by selecting the connection with the left mouse button in the Application Network and then either using the DEL key or by clicking the right mouse button and choosing the Disconnect option.

Module Right-Click Menu

Right-clicking on any module in the Application Network opens a context menu that provides quick access to several common actions and properties for that module.

OptionDescription
RenameAllows you to change the display name of the module as it appears on the Application Network canvas.
EditOpens the selected module’s parameters in the Properties window.
CopyCreates a duplicate of the selected module, including its current settings. The new module can be pasted with CTRL+V.
VisibleThis toggle, represented by an eye icon, controls the visibility of the module’s output in the viewer (applies only to modules with a red output port).
OpacityThis slider and input box allow you to adjust the transparency of the module’s visual output in the viewer.
PositionDisplays the read-only X and Y coordinates of the module’s top-left corner on the Application Network canvas.
DeleteRemoves the module and all of its connections from the Application Network.

Input Port Context Menu

Right-clicking on a module’s input port opens a context menu providing details and actions for the incoming connection.

OptionDescription
Port NameDisplays the name of the port.
Port TypeShows the type of data the port accepts, indicated by a colored icon and a description.
Port SubtypesLists the specific kinds of data this port requires the output port to provide.
No Connections Available / Connect from…Indicates if compatible output ports are available. If so, it allows you to create a connection.
DisconnectRemoves the connection that is currently feeding data into this port. See Connecting and Disconnecting Modules.

Output Port Context Menu

Right-clicking on a module’s output port opens a context menu with information and actions related to that specific port.

OptionDescription
Port NameDisplays the name of the port.
Port TypeShows the type of data the port provides, indicated by a colored icon and a description.
Port SubtypesLists the specific kinds of data this port provides, such as “Node Data” or “Cell Data”.
Connect to…Opens a submenu listing all compatible input ports on other modules in the network to create a new connection.
DisconnectRemoves an existing connection originating from this port. See Connecting and Disconnecting Modules.
Edit PortOpens the options for the port in the Properties window for more advanced configuration.
  • Module Icons

    Modules in the Application Network feature a set of icons directly on their surface that provide at-a-glance information and quick control over their execution and visibility. Modules that can be executed or produce a visible output have icons on their left and right sides. The right-side icon controls execution, while the left-side icon controls visibility in the viewer.

  • Module Status Indicators

    Modules in the Application Network display several visual cues to indicate their current status. These indicators help you quickly understand which module is selected, which is being edited, whether a module has run successfully, and if it is set to execute automatically. This allows for efficient management of your application’s workflow. Selection and Editing Status The border of a module changes color to reflect its selection and editing state.

  • Connecting and Disconnecting Modules

    Modules in the Application Network are linked together by connections, which represent the flow of data from an output port of one module to an input port of another. Creating and removing these connections is fundamental to building and modifying your application’s workflow. The system helps ensure that you only make valid connections between compatible port types.

  • Port Colors

    The color of the ports on a module provides an immediate visual cue about the type of data they accept or output. Understanding these colors and types helps in quickly assessing a module’s function and ensuring you are making valid connections within the Application Network. Port Types Each port type is designed to handle a specific kind of data. The primary types are listed below.

Subsections of Application Network

Modules in the Application Network feature a set of icons directly on their surface that provide at-a-glance information and quick control over their execution and visibility. Modules that can be executed or produce a visible output have icons on their left and right sides. The right-side icon controls execution, while the left-side icon controls visibility in the viewer.

Execution Control

The icon on the right side of a module indicates its execution status. Clicking this icon toggles the module’s Run property, which is the same setting found in the Module Properties window.

StateIconDescription
RunRun icon Run iconThe downward-pointing arrow signifies that the module is active. It will execute automatically whenever its properties change or when it receives new data from an upstream module.
OffOff icon Off iconThe pause symbol indicates that the module’s automatic execution is turned off. It will not run until it is manually triggered through the Run Once button in its Module Properties window or its status is toggled back to Run.

Visibility Control

The icon on the left side of a module controls the visibility of its output in the 3D viewer. Clicking this icon cycles through the available visibility states, which is the same as the visibility icon in the Table of Content in the Viewer.

StateIconDescription
VisibleVisible icon Visible iconThe open eye indicates that the module’s output is currently visible in the viewer.
HiddenHidden icon Hidden iconThe crossed-out eye indicates that the module’s output is hidden in the viewer.
ExcludedExcluded icon Excluded iconThis special state also hides the output in the main EVS viewer. More importantly, it completely excludes the object from being exported to web formats (CTWS) or 3D PDFs.
LockedLocked icon Locked iconThis state ensures the module’s output is always visible. It is primarily used for web exports (CTWS), where it forces the object to be visible, overriding any user attempts to hide it.

Special Visibility States for Parent Modules

Modules that can have multiple renderable children connected to them (such as group_objects or sequence modules) can display combined visibility states if their children have different settings.

StateIconDescription
Indeterminate Shown when some connected children are Visible and others are Hidden.
Visible with Excluded Child Shown when the parent is set to Visible, but at least one child is Excluded.
Hidden with Locked Child Shown when the parent is set to Hidden, but at least one child is Locked.

Modules in the Application Network display several visual cues to indicate their current status. These indicators help you quickly understand which module is selected, which is being edited, whether a module has run successfully, and if it is set to execute automatically. This allows for efficient management of your application’s workflow.

Selection and Editing Status

The border of a module changes color to reflect its selection and editing state.

StatusDescription
Selected Module (Darker Background)When you single-click a module, it becomes selected, indicated by a darker background. You can select multiple modules at once (e.g., by holding Ctrl or Shift), and all will show this background.
Selected module with a darker background Selected module with a darker background
Editable Module (Green Border)When you double-click a module, it becomes the single “editable” module, and its properties are displayed in the Properties window. This state is indicated by a thick green border. There can only be one editable module at a time.
Editable module with a green border Editable module with a green border
Editable PortIf you double-click on a specific output port of a module, that port’s properties will be shown in the Properties window. The parent module will receive the green “editable” border to indicate it is the focus of the properties window.
Module with an editable port, showing a green border Module with an editable port, showing a green border

Output Status

A key indicator of a module’s state is the presence or absence of a solid red bar along its bottom edge. This simple visual cue instantly tells you whether a module has successfully run and produced data that is available to downstream modules.

StatusDescription
No Output (Red Bar Visible)When a module displays a prominent red bar, it signifies a “No Output” state. This occurs if the module has not yet been executed or if it failed to generate any valid output. The red bar serves as a clear warning that downstream modules will not receive any data.
Module with a red bar indicating no output Module with a red bar indicating no output
Has Output (No Red Bar)When the red bar is absent, it indicates a “Has Output” state. This confirms that the module has run successfully and its output data is ready and available for downstream modules.
Module without a red bar, indicating it has output Module without a red bar, indicating it has output

Status in the Application Overview

The Application Overview window also provides a simplified summary of module statuses, which is useful for monitoring complex applications. In the overview, you can still see which module is selected for editing (highlighted in green) and which modules have successfully run (those without the red “No Output” bar).

Application Overview showing module statuses Application Overview showing module statuses

Modules in the Application Network are linked together by connections, which represent the flow of data from an output port of one module to an input port of another. Creating and removing these connections is fundamental to building and modifying your application’s workflow. The system helps ensure that you only make valid connections between compatible port types.

Creating Connections

There are two primary methods for connecting modules: dragging with the mouse or using the right-click context menu.

Method 1: Drag and Drop

This is the most common and intuitive way to connect modules.

  1. In the Application Network, locate the output port on the source module that you wish to connect from.
  2. Press and hold the left mouse button on the output port and begin dragging your cursor away from it. A line will appear and follow your cursor, originating from the port.
  3. Drag the cursor towards the target module. While you keep the left mouse button down, all compatible input ports will be highlighted, indicating where a valid connection can be made. Incompatible ports will remain un-highlighted. This guidance behavior can be controlled in the Options page in the Menu.
  4. Release the mouse button over one of the highlighted, compatible input ports. The connection will be established, and a solid line will now link the two ports.

Method 2: Using the Context Menu

This method is particularly useful in complex applications where modules are far apart, making dragging impractical.

  1. Move your cursor over the desired port (input or output) on the source module.
  2. Click the right mouse button to open the port’s context menu.
  3. Select the Connect to… option. This will typically open a sub-menu or a dialog window that lists all compatible ports available in the entire application.
  4. Choose the target module and port from the list. The connection will be created automatically.

Removing Connections

You can remove existing connections using either a keyboard shortcut or the right-click context menu.

Method 1: Using the Delete Key

  1. Move your cursor over the connection line you wish to remove. The line will highlight to indicate it is interactive.
  2. Click the connection with the left mouse button to select it. A selected connection is typically indicated by a change in its appearance, such as becoming thicker or changing to a dashed line.
  3. With the connection selected, press the Delete key on your keyboard. The connection will be removed if you confirm the warning that will pop up.

Method 2: Using the Context Menu

  1. Move your cursor directly over the connection line you wish to remove.
  2. Click the right mouse button to open the context menu for that connection.
  3. Select the Disconnect option from the menu. The connection will be removed immediately.

Once a connection is removed, the flow of data between the two modules is stopped. The downstream module will no longer receive updates from the upstream module and may enter a “No Output” state (indicated by a red bar) if it no longer has a valid data source. See Module Status Indicators.

Connection Style

The Application Network provides flexibility in how the connections between modules are displayed. You can customize the visual style of these connections, choosing between direct, straight lines or smooth, curved lines. This setting allows you to tailor the appearance of your workspace for optimal clarity, which can be particularly helpful when working with complex applications where numerous connections might overlap.

Curved Connections:Straight Connections:

The color of the ports on a module provides an immediate visual cue about the type of data they accept or output. Understanding these colors and types helps in quickly assessing a module’s function and ensuring you are making valid connections within the Application Network.

Port Types

Each port type is designed to handle a specific kind of data. The primary types are listed below.

Port TypeColor NameColorDescription
Renderable ObjectRedRed port icon Red port iconThis port handles renderable geometry and connects to the Viewer to display objects like isosurfaces, axes, or legends. It contains the fields, data, and rendering information necessary for visualization.
FieldBlueBlue port icon Blue port iconThis is the most common port type, used to pass datasets - such as grids with nodal or cell data - between the modules that create, subset, or modify them.
Realization FieldLight BlueLight Blue port icon Light Blue port iconThis is a special variant of the Field port used in stochastic modeling workflows to pass data for geostatistical realizations.
StringOlive GreenOlive Green port icon Olive Green port iconThis port is used to pass text data, which can range from single words and phrases to full file names and paths.
Geologic Legend InformationDark GreenDark Green port icon Dark Green port iconThis data port contains material names and related information from geology modules, often used to populate legends.
Vistas DataBrownBrown port icon Brown port iconThis port is specifically used to pass geologic surface information to Groundwater Vistas for initializing MODFLOW models.
NumberGreenGreen port icon Green port iconThis port passes a single real number between modules.
Date-TimeYellowish GreenYellowish Green port icon Yellowish Green port iconThis port passes date and time information.
ViewLight MaroonLight Maroon port icon Light Maroon port iconThis port is an output from the viewer that passes the entire scene’s information, used by modules that export the viewer contents.

Port Subtypes

In addition to the primary colors, some ports feature one or more small colored dots. These dots indicate port subtypes, which provide more specific information about the data and enforce stricter connection rules. A connection is only valid if the output port includes all subtypes on the input port. This system prevents invalid connections, such as connecting a module that expects cell-based data to a port that only provides node-based data.

Below is an example of the output port for the 3d estimation module, which has three subtypes: Node Data, Uniform, and Structured.

Example of a port with multiple subtypes. Example of a port with multiple subtypes.

The subtypes are grouped by their primary port category:

CategorySubtypeColorDescription
Field Subtypes
These subtypes describe the structure of the grid or the nature of the data within a Field object.GeologyGoldenrodIndicates that the field contains data representing geologic materials or stratigraphy, typically as integer material IDs.
StructuredLight SalmonIndicates that the field is a structured grid, where the grid points are arranged in a regular, logical pattern (i.e., an i, j, k lattice).
UniformPurpleA more specific version of a structured grid, indicating that the spacing between grid points is constant along each axis.
Node DataLight BlueIndicates that the data values in the field are associated with the nodes (vertices) of the grid.
Cell DataGreenIndicates that the data values in the field are associated with the cells of the grid.
Number Subtypes
These subtypes specify the intended use for a numeric value that is passed between modules.Z ScalePinkRepresents a numeric factor for vertical exaggeration, used to stretch or compress the Z-axis in the 3D viewer.
ExplodeGoldRepresents a numeric factor that controls the “explode” distance, which separates components of a model for better visibility.
String Subtypes
These subtypes specify that the string data represents a path to a particular kind of file.FilenameBlueA generic file path.
Analytical FileGreen YellowA path to a file containing analytical chemistry data.
Stratigraphy FileLight Goldenrod YellowA path to a file defining stratigraphic layers or surfaces.
Lithology FileDark GrayA path to a file defining lithologic materials and their properties.

Identifying Ports

To identify which port on a module corresponds to a specific item in the documentation, follow this order:

  • Input Ports are read from top to bottom on the left side of the module, then left to right on the top side.
  • Output Ports are read from top to bottom on the right side of the module, then left to right on the bottom side.

You can also hover your cursor over any port to see a tooltip with its name and data type details.

Finding Modules in the Application Network

For large or complex application networks, the search functionality provides an efficient way to locate specific modules. The search tool is located in the toolbar at the top of the Application window.

Using the Search Tool

The appearance of the search tool depends on the available width of the Application window. In narrower views, it may appear as a magnifying glass icon. In wider views, it will be displayed as a full search box labeled “Search for Module in Application”.

To use the search, you can either begin typing the name of the module you wish to find or click on the search box (or icon). Clicking will reveal a dropdown list containing all modules currently in the Application Network. Selecting a module from this list will immediately locate it.

Search Results

When you select a module from the search results, two actions occur simultaneously in the user interface:

  1. The Application Network view will automatically pan and zoom to center on the selected module, which will be highlighted with a green outline for easy identification.
  2. The **Properties**window will update to display the parameters for the selected module. This allows for immediate access to view or edit the module’s settings without needing to manually select it in the network.

This integrated functionality streamlines the process of navigating and editing complex workflows, making it easy to manage even the most extensive application networks.

The Viewer is the primary 3D visualization window in Earth Volumetric Studio. It serves as the canvas where all the visual outputs from your Application Network - such as geologic layers, contaminant plumes, sample data, and annotations - are rendered and combined into a single, interactive scene. This is the main environment for exploring, analyzing, and presenting your 3D model.

The Viewer Module and the Application Network

While the Viewer window is where you see your final 3D model, its content is entirely controlled by the viewer module within the Application Network. The viewer module acts as the final destination for all visual elements in your workflow.

Any module that generates a visual object will have a red Renderable Object output port. This port contains all the information needed to draw that object, including its geometry, colors, and rendering properties. See Red Port Properties (Renderable Port).

To display an object, you must connect its red output port to the input port on a viewer module. The Viewer window will then render all the objects it receives from these connections, layering them together to create the final, composite scene. A single application can have multiple viewer modules, each controlling a separate Viewer window with different content.

The Viewer allows you to intuitively navigate and inspect your model from any angle, providing a dynamic way to understand spatial relationships and validate your results.

Basic Mouse Controls

Navigating the 3D scene is done primarily with the mouse. The basic controls are designed to be intuitive for exploring your model.

ActionMouse Control
Rotate / TiltClick and drag with the Left Mouse Button to rotate the view (azimuth) and change the vertical viewing angle (inclination).
PanClick and drag with the Right Mouse Button to pan the camera, moving the view horizontally and vertically without changing the rotation.
ZoomUse the Mouse Wheel to zoom in and out of the scene.

Viewer UI Components

The Viewer window includes a dedicated sidebar on the left that provides access to a variety of tools for controlling the scene and managing its contents. This interface is divided into several key sections.

ComponentOverview
View Orientation ControlsAt the top of the sidebar, a compass rose and associated controls allow you to set precise viewing angles or snap to standard orthographic views (e.g., Top, Front, Side). This is essential for creating consistent, reproducible images and analyses.
Scene and View ControlsA toolbar below the compass provides buttons for managing the camera and scene. These controls allow you to perform actions like fitting the entire scene into the view, resetting the camera to a default state, and other view manipulations.
Table of ContentsThe lower section of the sidebar contains the Table of Contents, which lists every object currently being displayed in the Viewer. This acts as a layer manager, allowing you to quickly toggle the visibility of individual objects or groups of objects.
  • Viewer Features

    The Viewer is the primary 3D visualization window in Earth Volumetric Studio. It includes a dedicated user interface for navigating the 3D scene, managing the visibility of objects, and accessing various tools. Additional, more advanced properties are available in the Properties window when the viewer module is selected.

Subsections of Viewer

The Viewer is the primary 3D visualization window in Earth Volumetric Studio. It includes a dedicated user interface for navigating the 3D scene, managing the visibility of objects, and accessing various tools. Additional, more advanced properties are available in the Properties window when the viewer module is selected.

The EVS Viewer window with its user interface sidebar. The EVS Viewer window with its user interface sidebar.

Viewer Window Interface

The Viewer window features a sidebar on the left that contains controls for orientation, scene management, and a table of contents

View Orientation Controls

At the top of the sidebar, the orientation controls allow for precise camera positioning.

ControlDescription
Compass RoseProvides a visual indicator of the current view orientation (North, South, East, West). You can click and drag the needle on the compass to adjust the camera’s Azimuth (horizontal rotation) or click any of the subdivisions to set the view direction.
Inclination SliderThe vertical slider next to the compass controls the camera’s Inclination (vertical tilt). Drag the indicator up or down to change the viewing angle, from a top-down plan view (90°) to a side profile view (0°) or click any of the subdivisions for pre-set values.

Scene and View Controls Toolbar

A toolbar below the orientation controls provides quick access to common scene management functions.

ButtonIconDescription
Save Viewer Snapshot Saves the current contents of the viewer to an image file. Clicking the main button saves with the last used settings, while the dropdown arrow reveals several options to control the output:
  • **Use Transparent Background**: If enabled (and using PNG format), the viewer background will be transparent in the saved image.
  • **Prefer Lossless**: When enabled, attempts to save in a lossless format like PNG.
  • **Quality**: Sets the compression quality for lossy formats like JPEG (1-100).
  • **View Scale**: A multiplier for the output resolution. A scale of 2.0 will produce an image twice the width and height of the current viewer size.
  • **Scale Forward Facing Text**: Ensures that text elements scale correctly with the View Scale to maintain their relative size.
| | **Set Top View** | ![](viewer_features_3.png) | Instantly sets the camera to a top-down plan view (90° inclination), looking straight down the Z-axis. | | **Zoom To Fit** | ![](viewer_features_4.png) | Automatically adjusts the camera's zoom and position to ensure all visible objects in the scene fit perfectly within the viewer window. | | **Center On Picked Point** | ![](viewer_features_5.png) | Recenters the camera's rotation point around the location most recently "picked" in the viewer. To pick a new point, hold **Ctrl** and left-click on an object in the scene. | | **Measure Distances** | ![](viewer_features_6.png) | Activates the distance measurement tool. After enabling, you can pick two points in the scene (using **Ctrl+Left Click** for each) to measure the 2D and 3D distance between them. |

Table of Contents

The Contents section at the bottom of the sidebar acts as a layer manager for your scene. It displays a hierarchical tree view of every object connected to the viewer module in the Application Network.

  • Visibility Control: Each item in the list has an eye icon next to it. Clicking this icon toggles the visibility of that object in the viewer. This allows you to quickly show or hide different components of your model without disconnecting modules. Objects hidden in the Table of Contents will also be hidden in exported C Tech Web Scenes (.ctws).
  • Tree Structure: If you use modules like group_objects, the Table of Contents will reflect that structure. You can expand or collapse parent items to show or hide their children, and toggling the visibility of a parent will affect all the objects grouped under it.
  • Double Click Interaction: Double left-click with your mouse on any item in the Table of Contents will select that module in the the-application-window.mdApplication, as well as show it’s properties in the Properties Window.

The Information Window provides detailed, contextual output from various components within Earth Volumetric Studio. Unlike the Output Log, which primarily displays text-based messages and system logs, the Information Window is designed to present data in a structured, readable, and often interactive format.

It is commonly used by modules to display analysis reports or to show detailed data about a specific point in the model that a user has “picked” in the Viewer (via Ctrl+Left Mouse Click).

Window Components

The Information Window has a simple and functional layout.

ComponentDescription
History DropdownAt the top of the window, the History dropdown maintains a list of recently generated reports and data views. Each time a module or action sends new output to the window, a new entry is added to this list, timestamped for easy identification. You can select any item from this list to recall that specific information.
Clear ButtonThe Clear button removes all entries from the history, providing a clean slate.
Content AreaThe main area of the window displays the content itself. The format of this content is determined by the module or action that generated it.

Examples of Use

The content displayed in the Information Window is highly contextual. Below are two common examples.

Module Analysis Reports

Many analysis modules, such as volumetrics, send their summary reports to the Output Window. This provides a clean, organized summary of complex calculations, which can be easier to read than plain text logs.

In the example above, the output from a volumetrics analysis includes calculated values for soil volume, mass, chemical volume, average concentration, and cost, all presented in a clear, structured format.

Data from Picking

One of the most powerful uses of the Information Window is to display detailed data when you “pick” a location in the Viewer window via Ctrl+Left Mouse Click. This provides an in-depth look at the data values at a specific point in your model.

The example above shows the data displayed after picking a point on a plume. The window can contain structured UI elements, including:

ElementDescription
Header InformationDisplays the source module (Realization Plume), the object name, the data type (TOTHC) that the object is colored by, and the precise X, Y, Z location of the pick.
Interactive ControlsButtons like Edit Module Properties may appear, providing a direct shortcut to open the settings for the source module, allowing for quick adjustments.
Data TablesThe information is organized into tables, such as “Node Data” and “Cell Data”, which list the interpolated values for all available parameters (e.g., concentration, layer thickness, material type) at the selected location.

The Output Log window is a critical tool for monitoring the real-time status of Earth Volumetric Studio. It provides a chronological and hierarchical record of events, module execution details, warnings, and diagnostic messages. Whether you are running a complex analysis or troubleshooting an unexpected issue, the Output Log offers valuable insight into the application’s internal processes.

Key Features

The Output Log window includes several features to help you control and interpret the information it displays.

Logging Level

This dropdown menu controls the verbosity of the log messages, allowing you to filter the information to suit your needs.

LevelDescription
NormalThis is the default level. It displays standard operational messages, such as the start and completion of major processes, file loading information, and general warnings.
Include DiagnosticsThis level includes all “Normal” messages plus additional diagnostic information. It is useful for troubleshooting problems without being overwhelmed by excessive detail.
Detailed DiagnosticsThis is the most verbose level, providing in-depth information for advanced debugging. It may include performance timings, internal state data, and other technical details primarily useful for developers or advanced users.

Clear Button

Clicking the Clear button will immediately remove all current entries from the log display. This is useful for creating a clean slate before running a new process that you want to monitor closely.

Log Content Area

The main area of the window displays the log entries themselves, which have a rich, structured format:

FeatureDescription
Hierarchical ViewEntries are organized in a tree-like structure. A triangle icon ( ˃ ) indicates a collapsible entry that contains more detailed sub-entries. Clicking it expands the view to show the nested information.
Informational IconsAn icon next to a message provides a visual cue about its nature. For example, the ‘i’ in a circle denotes an informational message, while a yellow sign with an exclamation mark indicates a warning.
File LinksFile paths within the log are often rendered as clickable links. Clicking a link will open File Explorer and highlight the file.
Open FileA small folder icon next to an entry allows you to open the file directly in its associated application. For example, installing the Standalone C Tech 3D Scene Viewer will cause exported CTWS files in the log to have that icon, and clicking will open the file in the 3D Scene Viewer automatically.

Understanding Log Entries

The Output Log provides a step-by-step account of module execution. For example, when running a 3D estimation, you might see entries detailing each phase of the process:

  1. Data Loading: The log shows which files are being read and how many data points are found (e.g., “Reading APDV File… (105 samples)”).
  2. Process Execution: It reports the status of major calculations, such as kriging, including performance metrics like the time taken to complete the operation.
  3. Summary Statistics: After a process completes, modules often output summary statistics directly to the log. As shown in the image, an expanded entry for “Geologic Data” displays the minimum and maximum values for Nodal Data (like Layer Thickness) and Cell Data (like Material), providing a quick quality check of the results.

The Packaged Files feature in Earth Volumetric Studio provides a robust solution for managing project dependencies. Packaged Files are external data files that are embedded directly into your Earth Volumetric Studio application (.evs) file.

This creates a completely self-contained project, ensuring that all necessary input files are always available. It eliminates the problem of broken file paths and the need to manually copy dependent files when sharing your application with colleagues or moving it to a different computer. While this increases the size of the application file, the benefit of portability is often more important.

The Packaged Files Window

The Packaged Files window is the central interface for managing which files are embedded in your application. It is typically located as a tabbed window at the bottom of the main interface.

The Packaged Files window showing a list of embedded files. The Packaged Files window showing a list of embedded files.

The window includes a toolbar with several key functions:

FunctionDescription
Add File(s)The first button on the toolbar (a package with a plus sign) allows you to manually select one or more files from your computer to embed into the application.
Remove File(s)The second button removes the selected file(s) from the package. This does not delete the original file from your computer; it only un-embeds it from the .evs file.
Package All Files in ApplicationThis powerful button automatically finds every external file currently referenced by any module in your application and packages them all in a single operation. This is the quickest way to make an entire project self-contained.
Export Selected Packaged File to DiskThis button, located on the far right of the toolbar, allows you to save a copy of a selected packaged file to an external location on your disk. This is useful if you need to access the raw data file without un-packaging it from the application.

The main area of the window lists all currently packaged files, showing their Name, the date they were last Modified, and their Size.

Identifying Packaged Files

Earth Volumetric Studio provides a clear visual indicator for packaged files directly within the module properties. When a module is referencing a file that is embedded in the application, the filename in the input field will be displayed in blue text.

If the file is being read from an external path on your computer’s file system, the filename will be displayed in standard black text. The file tooltips shown when hovering over the control also reflect their embedded or external location.

A packaged file shown in blue text in a module’s properties. A packaged file shown in blue text in a module’s properties.

Working with Packaged Files in Modules

In addition to the main window, you can manage packaged files directly from the properties of the modules that use them.

Note that you can select to read a packaged file in a module by dragging the packaged file from the Packaged Files Window over the filename in the module.

Packing a file from the property

A file can be directly packed and switched to the embedded file from the Package option in the dropdown in filename controls in the Properties window.

Unpackaging a File

If you need to extract a packaged file and save it as a separate, external file, you can also do so directly from the file input control.

The Unpackage option in the file input control menu. The Unpackage option in the file input control menu.

To unpackage a file:

  1. In the module’s properties, locate the file input control displaying the blue, packaged filename.
  2. Click the dropdown arrow next to the folder icon.
  3. Select Unpackage from the menu.
  4. You will be prompted to choose a location on your computer to save the file.

Once saved, the embedded file is extracted to that location, and the module’s property is automatically updated to reference the new external file path. The filename text will change from blue to black, indicating it is no longer a packaged file.

When to Use Packaged Files

Packaging files is highly recommended in the following scenarios:

ScenarioReason
Sharing ProjectsWhen you need to send an application to a colleague or to technical support, packaging all files ensures they can open and run it without any missing data issues.
Archiving ProjectsFor long-term storage, a self-contained .evs file is much more reliable than relying on external file paths that may change or be deleted over time.
Working Across Multiple ComputersIf you move projects between a desktop and a laptop, packaging files prevents problems that can arise from different drive letters or folder structures.
Creating EVS PresentationsWhen making an EVS Presentation, all data must be packaged prior to converting to an .evsp file.

Introduction to Python Scripting

Python scripting in Earth Volumetric Studio provides a method to programmatically control and automate virtually every aspect of the application. By leveraging the Python programming language, you can move beyond manual interaction to create dynamic, data-driven workflows, automate repetitive tasks, and perform custom analyses that are not possible with standard interface controls alone.

This topic provides a high-level overview of what Python scripting is, why it is useful, and what it can achieve.

Accessing Python Scripting Features

The main entry point for all scripting functionality is the Python Scripting button in the main toolbar.

The Python Scripting button in the main toolbar. The Python Scripting button in the main toolbar.

This dropdown menu provides options to create, open, and run scripts, which are managed in the dedicated Python Window.

Why Use Python Scripting?

While the graphical interface is ideal for building and exploring applications, scripting excels at tasks that require logic, repetition, and automation. It allows you to codify your workflow, making it precise, repeatable, and easy to share.

The primary benefits of scripting include:

  • Automation: Automate repetitive tasks, such as generating reports or exporting images for a series of different datasets or parameters.
  • Custom Logic: Implement complex conditional logic and loops that are not possible with other features.
  • Data Integration: Read data from external sources (like CSV files, databases, or web APIs) and use it to dynamically control your EVS application.
  • Advanced Analysis: Use popular Python libraries like NumPy and Pandas to perform sophisticated data analysis and feed the results back into EVS modules.

Python Scripting vs. Sequences

Both Python scripts and Sequences can be used to create dynamic applications, but they serve different purposes.

FeatureSequencesPython Scripting
NatureA finite collection of predefined, static states.A program that can execute logic, loops, and calculations dynamically.
Use CaseIdeal for presentations and guided exploration through a set series of steps (e.g., a slider for plume levels).Ideal for automation, custom analysis, and workflows that require conditional logic or external data.
FlexibilityLimited to the states that were explicitly saved by the creator.Nearly limitless. Can respond to data, create or destroy modules, and change application structure on the fly.

In short, use sequences when you want to present a curated set of options to a user. Use Python scripting when you need to automate a process or perform actions that are data-dependent and cannot be predefined.

Common Use Cases and Examples

Python scripting opens up a vast range of possibilities. Here are a few common examples of what you can achieve.

Batch Processing and Report Generation

Imagine you have 50 different data files that all require the same analysis. A Python script can automate this entire workflow:

  1. Loop through a directory of input files.
  2. For each file, update the file path in a module.
  3. Execute the application.
  4. Export a screenshot of the final viewer with a unique name.
  5. Read a result from the volumetrics module and write it to a summary CSV file.

Parametric Studies

A script can be used to investigate how changing a key model parameter affects the results. For example, you could write a script to:

  • Loop through a range of values for the 3d estimation module’s Reach parameter (e.g., from 500 to 5000 in steps of 100).
  • For each value, execute the application and log the resulting plume volume.
  • This allows you to systematically assess the sensitivity of your model to that parameter.

Dynamic Application Control

Scripts can modify the application in response to data. For example, a script could:

  • Read a text file containing a list of coordinates.
  • For each coordinate, move the slice module to that location.
  • If a certain condition is met (e.g., the average concentration on the slice exceeds a threshold), the script could automatically log these locations to the Output Log.
  • Python Script Editor

    The Python Script Editor is the integrated environment within Earth Volumetric Studio for writing, editing, and running Python scripts. It provides a full-featured text editor with syntax highlighting, code formatting tools, and direct access to execution and debugging functions, making it the central hub for all your scripting activities. Accessing the Python Script Editor You can open the editor through the Python Scripting button located in the Main Toolbar.

  • Python Interactive Window

    The Python Interactive window provides a real-time environment to execute Python statements and expressions. This tool allows you to test code sni

  • Accessing Properties Using Python

    You can programmatically read and set the properties of any module using Python Scripting. This is a powerful feature for automating workflows and creating complex interactions between modules. The scripting engine provides programmatic access to the same underlying properties that are exposed as controls in the Properties window. This allows scripts to read, evaluate, and update values, mirroring manual user interaction. The easiest way to script a property is to copy the required syntax directly from the Properties window.

  • Python Functions & Operators

    Reference for the EVS Python API functions available in the evs and evs_util modules.

Subsections of Python Scripting

The Python Script Editor is the integrated environment within Earth Volumetric Studio for writing, editing, and running Python scripts. It provides a full-featured text editor with syntax highlighting, code formatting tools, and direct access to execution and debugging functions, making it the central hub for all your scripting activities.

Accessing the Python Script Editor

You can open the editor through the Python Scripting button located in the Main Toolbar.

The Python Scripting menu in the main toolbar. The Python Scripting menu in the main toolbar.

The dropdown menu provides three main options:

OptionDescription
Create New ScriptOpens the Python Script Editor with a new, blank script. The new script is prepopulated with default import statements for the essential EVS libraries (evs, evs_util) to get you started quickly.
Open Python ScriptAllows you to browse for and open an existing Python (.py) file from your computer. Clicking the button opens up a file dialog while hovering over the right arrow opens a list of recently used Python script files.
Run Python ScriptExecutes a Python script. Hovering over this option will also show a list of recent scripts for quick execution.

Once a script is created or opened, the Python Script Editor window will appear.

The Python Script Editor window with a new script. The Python Script Editor window with a new script.

Editor Toolbar Reference

The toolbar at the top of the editor provides a wide range of tools for managing and editing your code.

A composite image showing all buttons and tooltips in the Python Script Editor toolbar. A composite image showing all buttons and tooltips in the Python Script Editor toolbar.

File and Edit Operations

ButtonFunctionDescription
Open ScriptOpen a python fileOpens a file browser to load an existing script.
Save ScriptSave the current python fileSaves the currently active script.
Save Script AsSave the current python file with a new filenameSaves the script to a new file.
Cut (Ctrl+X)Cut the selection and put it on the Clipboard.Removes the selected text and copies it to the clipboard.
Copy (Ctrl+C)Copy the selection and put it on the Clipboard.Copies the selected text to the clipboard.
Paste (Ctrl+V)Paste the Clipboard contents into the document.Inserts text from the clipboard at the cursor location.
Undo (Ctrl+Z)Undo the last edit.Reverts the last change made to the script.
Redo (Ctrl+Y)Redo the last edit.Re-applies the last change that was undone.

Execution and Recording

ButtonFunctionDescription
Run (F5)Execute the Current Script.Runs the script.
Record (F12)Record all Property interactions.Toggles recording mode. When active, your interactions with module properties in the UI are automatically translated into Python code and appended to the script.
Run in Interactive (Alt+Enter)Execute the Selected Code in Python Interactive.Runs only the selected lines of code in the Python Interactive window, which is useful for testing small snippets.

Code Formatting and Navigation

ButtonFunctionDescription
Decrease IndentationDecrease indentation amount.Shifts the selected lines of code to the left.
Increase IndentationIncrease indentation amount.Shifts the selected lines of code to the right.
Comment LinesComment out the selected lines.Adds a ‘#’ character to the beginning of each selected line, disabling them as code.
Uncomment LinesUncomment out the selected lines.Removes the ‘#’ character from the beginning of each selected line.
Untabify Selected LinesConvert tabs to spaces in selected lines.Replaces tab characters with the equivalent number of spaces.
Trim Trailing WhitespaceRemove all trailing whitespace.Deletes any spaces or tabs at the end of each line in the script.
Find or Replace (Ctrl+F)Find or Replace in the current script.Opens a dialog to search for text and optionally replace it.
Goto Line (Ctrl+G)Goto a specific line by number.Jumps the cursor directly to the specified line number.

Additional Menus

On the far right of the toolbar are two dropdown menus for additional functionality.

Information Menu

This menu provides access to related information and output windows.

The Information Menu in the Python Script Editor toolbar. The Information Menu in the Python Script Editor toolbar.

OptionDescription
Show Output WindowOpens the Output window, where script print() statements and execution status are displayed.
Show Error WindowOpens a window that displays any errors encountered during script execution.
Find and ReplaceOpens the search and replace dialog.
Find ResultsShows the results from a find operation.

Editor Options Menu

This menu (gear icon) controls the visual display of the text editor itself.

The Editor Options Menu in the Python Script Editor toolbar. The Editor Options Menu in the Python Script Editor toolbar.

OptionDescription
Show Line NumbersToggles the visibility of the line number column on the left.
Display WhitespaceToggles the visibility of characters for spaces and tabs.
Highlight Current LineToggles a background highlight for the line the cursor is currently on.
Display Modified LinesToggles a visual indicator in the margin for lines that have been changed since the last save.
Enable Outline ModeToggles a feature that allows you to collapse and expand code blocks (like functions and classes).
Word WrapToggles whether long lines of code wrap to the next line or extend off-screen.

The Python Interactive window provides a real-time environment to execute Python statements and expressions. This tool allows you to test code snippets, perform quick calculations, and inspect data without needing to run a full script.

Window Components

The interface is divided into three primary sections:

ComponentDescription
Header BarDisplays the current Python runtime version used by EVS (e.g., Anaconda). Use the Reset button (circular arrow) on the right to restart the interactive session.
Output AreaShows a history of your inputs and the resulting outputs. Results are color-coded (e.g., gray for what you typed, green for successful evaluation) for high visibility.
Input BoxThe “Enter Python Statement or Expression” field at the bottom where you type your code. Press the Play button or Enter to execute.

To get started with the Python Interactive window, follow these steps:

  1. Enter Code: Click into the input field at the bottom of the window.
  2. Evaluate: Type a mathematical expression (e.g., 42 * 29.29) or a Python command.
  3. Submit: Click the play icon on the right or press your execution hotkey.
  4. Review: Check the Output Area for the result or any potential error messages.

While useful as a general tool (such as using as a calculator, as shown above), the window is typically used for interacting with the EVS API directly.

This is particularly useful when writing scripts, as you can interactively inspect the structure of the EVS API calls, and modify as needed.

For example, you can see the values in a dictionary returned by the API directly:

Clicking on the grey text in the Output Area will re-select it and enter it into the Input Box, which can then be edited. Using the above, this allows us to click on the previous code (evs.get_module_exte….), and then add the entry for SelectedOption to test and make sure we are fetching the results we would expect (the name of the analyte):

This shows us the results of the entered code, which could then be reused in a Python script (such as fetching the current analyte name above for use in a title).

You can programmatically read and set the properties of any module using Python Scripting. This is a powerful feature for automating workflows and creating complex interactions between modules. The scripting engine provides programmatic access to the same underlying properties that are exposed as controls in the Properties window. This allows scripts to read, evaluate, and update values, mirroring manual user interaction. The easiest way to script a property is to copy the required syntax directly from the Properties window.

Getting a Property’s Value

To get the current value of a property and assign it to a Python variable:

  1. Open the Properties window for the module you want to control.
  2. Right-click on the property you want to read.
  3. Select Get Value or Get Extended Value from the context menu.

This action copies a line of Python code to your clipboard. You can then paste this code into the Python Script Editor.

Reading Value Example

Right-clicking on the Explode property of the explode and scale module and selecting Get Value will copy the following syntax:

explode = evs.get_module('explode and scale', 'Properties', 'Explode')

After executing this line, the explode variable in your script will hold the current value of the Explode property. Note that the Python API call has three arguments: the module name, the category name, then the property name.

Difference between Get Value and Get Extended Value

The context menu provides two options for getting a value. The Get Value option will use the evs.get_value API call, which fetches the value that is used when saving an application, and contains whatever is required to set the property. This is the value that should be used if using evs.set_value.

The extended option will use evs.get_extended_value, which typically results in a dictionary with the original value, as well as other metadata. For example, a drop down with a list of analytes will typically just return the selected item by index in get_value, but the extended option will include other information, such as the list of options, the selected value by name and index, and more.

Setting a Property’s Value

To set the value of a property:

  1. In the Properties window, right-click on the property you want to modify.
  2. Select Set Value from the context menu.

This copies the Python syntax for setting the property to your clipboard. Paste the code into the Python Script Editor or the Python Interactive Window and utilize the value as needed.

Updating Value Example

For example, using the same Explode property, the copied syntax would be:

evs.set_module('explode and scale', 'Properties', 'Explode', {'Linked': True, 'Value': 0.0})

You can change 0.0 to any valid value for that property, such as:

evs.set_module('explode and scale', 'Properties', 'Explode', {'Linked': False, 'Value': 1.0})

When dealing with a Linked Property, you should disable the link to manually when setting its value. This is done by setting the corresponding Linked boolean property to false. If you attempt to set the value while it is still linked, your change may be overridden as the value is determined automatically.

Executing this command in the Python Script Editor or the Python Interactive Window will update the property in the module, and the change will be immediately visible in the Properties window.

Python Functions & Operators

Earth Volumetric Studio supports Python 3.12 and 3.13. It will use the highest supported system installed version by default, but can be configured in options.

A listing of Python Functions & Operators can be found at python.org. Below are links to relevant pages:

Please note: C Tech does not provide Python programming or syntax assistance as a part of Technical Support (included with valid subscriptions). Python scripting and functionality is provided as an advanced feature of Earth Volumetric Studio, but is not required to use the basic functionality.

Below are Earth Volumetric Studio specific functions and classes which provide means to get and set parameters, read field data, and act upon the modules in the libraries and network. All functions below are available through the evs module unless otherwise noted.

Module Properties

These functions read and write property values on modules. For a detailed walkthrough with examples, see Accessing Properties Using Python.

evs.get_module(module, category, property)

Gets a property value from a module within the application.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
categorystrYesThe category of the property
propertystrYesThe name of the property to read

Returns: The property value.

explode = evs.get_module('explode and scale', 'Properties', 'Explode')
evs.get_module_extended(module, category, property)

Gets an extended property value from a module within the application. Extended values include additional metadata beyond the basic value.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
categorystrYesThe category of the property
propertystrYesThe name of the property to read

Returns: The extended property value.

evs.set_module(module, category, property, value)

Sets a property value on a module within the application.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
categorystrYesThe category of the property
propertystrYesThe name of the property to set
valueanyYesThe new value for the property
evs.set_module('explode and scale', 'Properties', 'Explode', {'Linked': False, 'Value': 1.0})
evs.set_module_interpolated(module, category, property, start_value, end_value, percent, interpolation_method)

Sets a property value by interpolating between two values. Useful for animating properties across sequence states.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
categorystrYesThe category of the property
propertystrYesThe name of the property to set
start_valueanyYesThe start value for the interpolation
end_valueanyYesThe end value for the interpolation
percentfloatYesThe percentage (0.0 to 1.0) along the interpolation from start to end
interpolation_methodInterpolationMethodNoThe interpolation method. Default: InterpolationMethod.Linear

The interpolation_method parameter accepts one of the following evs.InterpolationMethod values:

ValueDescription
InterpolationMethod.StepStep interpolation — value jumps at the threshold
InterpolationMethod.LinearLinear interpolation (default)
InterpolationMethod.LinearLogLinear interpolation on a logarithmic scale
InterpolationMethod.CosineCosine interpolation — smooth ease-in/ease-out
InterpolationMethod.CosineLogCosine interpolation on a logarithmic scale
# Interpolate the Explode value from 0.0 to 5.0 at 50%
evs.set_module_interpolated('explode and scale', 'Properties', 'Explode',
    {'Linked': False, 'Value': 0.0},
    {'Linked': False, 'Value': 5.0},
    0.5, evs.InterpolationMethod.Cosine)

Port Properties

These functions read and write property values on module ports.

evs.get_port(module, port, category, property)

Gets a value from a port on a module within the application.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
portstrYesThe name of the port
categorystrYesThe category of the property
propertystrYesThe name of the property to read

Returns: The port property value.

evs.get_port_extended(module, port, category, property)

Gets an extended value from a port on a module within the application.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
portstrYesThe name of the port
categorystrYesThe category of the property
propertystrYesThe name of the property to read

Returns: The extended port property value.

evs.set_port(module, port, category, property, value)

Sets a property value on a port in a module within the application.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
portstrYesThe name of the port
categorystrYesThe category of the property
propertystrYesThe name of the property to set
valueanyYesThe new value for the property
evs.set_port_interpolated(module, port, category, property, start_value, end_value, percent, interpolation_method)

Sets a port property value by interpolating between two values. Accepts the same evs.InterpolationMethod values as set_module_interpolated.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
portstrYesThe name of the port
categorystrYesThe category of the property
propertystrYesThe name of the property to set
start_valueanyYesThe start value for the interpolation
end_valueanyYesThe end value for the interpolation
percentfloatYesThe percentage (0.0 to 1.0) along the interpolation from start to end
interpolation_methodInterpolationMethodNoThe interpolation method. Default: InterpolationMethod.Linear

Reading Field Data

These functions and classes allow Python scripts to read the contents of field data from module ports. This is useful for extracting coordinates, node data, and cell data from computed fields.

evs.get_field_info(module, port)

Gets a FieldInfo object for reading field data from a module port. The returned object should be used within a with statement, or you must call close() manually when finished.

ParameterTypeRequiredDescription
modulestrYesThe name of the module
portstrYesThe name of the port containing a field to read

Returns: FieldInfo — a field reader for accessing coordinates and data.

Raises: ValueError if the field reader cannot be created for the specified module and port.

with evs.get_field_info('kriging', 'Output Field') as field:
    print(f"Nodes: {field.number_coordinates}, Cells: {field.number_cells}")
    print(f"Units: {field.coordinate_units}")

    # Read coordinates
    for x, y, z in field.coordinates:
        print(f"  ({x}, {y}, {z})")

    # Read node data
    for i in range(field.number_node_data):
        data = field.get_node_data(i)
        print(f"  {data.name} ({data.units}): {len(data.values)} values")
evs.FieldInfo

Represents a field, providing access to its coordinates, node data, and cell data. Should be used within a with statement to ensure resources are properly released.

Properties:

PropertyTypeDescription
number_coordinatesintThe number of coordinate nodes in the field
number_cellsintThe number of cells in the field
number_node_dataintThe number of node data components
number_cell_dataintThe number of cell data components
coordinate_unitsstrThe units used for coordinates
coordinateslist of (x, y, z) tuplesThe node coordinate tuples, loaded lazily
cell_centerslist of (x, y, z) tuplesThe cell center coordinate tuples, loaded lazily

Methods:

MethodReturnsDescription
get_node_data(index)FieldDataGets the node data component at the specified index. Raises ValueError if the index is out of range.
get_cell_data(index)FieldDataGets the cell data component at the specified index. Raises ValueError if the index is out of range.
close()NoneDisposes the underlying field reader. Required if not using a with statement.
evs.FieldData

Represents one node or cell data component of a field. Returned by FieldInfo.get_node_data() and FieldInfo.get_cell_data().

Properties:

PropertyTypeDescription
namestrThe name of the data component
unitsstrThe units associated with the data
is_logboolTrue if the data component uses log processing
valueslist of float or tuplesThe data values. Log-processed values are exponentiated. Vector data will be a list of tuples.

Application and Module Management

evs.get_application_info()

Gets basic information about the current application.

Returns: dict — a dictionary with the following keys:

KeyDescription
AuthorThe application author
OrganizationThe organization
FilenameThe application filename
ExecutingScriptThe currently executing script
evs.get_modules()

Gets a list of all module names in the application.

Returns: list of str — module names.

for name in evs.get_modules():
    print(f"{name}: {evs.get_module_type(name)}")
evs.get_module_type(module)

Gets the type of a module given its name.

ParameterTypeRequiredDescription
modulestrYesThe name of the module

Returns: str — the module type.

evs.get_module_position(module)

Gets the position of a module in the network editor.

ParameterTypeRequiredDescription
modulestrYesThe name of the module

Returns: tuple of (x, y) — the module’s position coordinates.

evs.rename_module(module, suggested_name)

Renames a module and returns the actual new name. The actual name may differ from the suggested name if a module with that name already exists.

ParameterTypeRequiredDescription
modulestrYesThe current name of the module
suggested_namestrYesThe desired new name

Returns: str — the actual new name of the module.

evs.delete_module(module)

Deletes a module from the application.

ParameterTypeRequiredDescription
modulestrYesThe name of the module to delete

Returns: bool — True if successful.

evs.instance_module(module, suggested_name, x, y)

Creates a new instance of a module in the application at the specified position.

ParameterTypeRequiredDescription
modulestrYesThe module type to instance
suggested_namestrYesThe suggested name for the new module
xintYesThe x coordinate in the network editor
yintYesThe y coordinate in the network editor

Returns: str — the actual name of the instanced module.

name = evs.instance_module('Estimation.kriging', 'my kriging', 100, 200)
print(f"Created module: {name}")

Module Connections

evs.connect(starting_module, starting_port, ending_module, ending_port)

Connects a port on one module to a port on another module.

ParameterTypeRequiredDescription
starting_modulestrYesThe source module
starting_portstrYesThe port on the source module
ending_modulestrYesThe destination module
ending_portstrYesThe port on the destination module

Returns: bool — True if successful.

evs.connect('kriging', 'Output Field', 'cut', 'Input Field')
evs.disconnect(starting_module, starting_port, ending_module, ending_port)

Disconnects two previously connected module ports.

ParameterTypeRequiredDescription
starting_modulestrYesThe source module
starting_portstrYesThe port on the source module
ending_modulestrYesThe destination module
ending_portstrYesThe port on the destination module

Returns: bool — True if successful.

Execution Control

evs.check_cancel()

Checks whether the user has requested to cancel the script. If a cancellation has been requested, the script will stop at that point. Insert this in loops that may run for a long time so that canceling the script remains possible.

for i in range(10000):
    evs.check_cancel()
    # ... do work ...
evs.suspend()

Suspends the execution of the application until resume() is called. Use this when making multiple property changes to prevent the application from updating between each change.

evs.resume()

Resumes the execution of the application, causing any operations that were suspended to run.

evs.suspend()
evs.set_module('kriging', 'Properties', 'Allow Run', True)
evs.set_module('kriging', 'Properties', 'Variogram Range', 500.0)
evs.resume()
evs.refresh()

Refreshes the viewer and processes all mouse and keyboard actions in the application.

Use With Caution

This is a potentially unsafe operation under certain circumstances that are hard to predict.

At each occurrence of this function, your script will catch up to behave more like manual actions. In most cases this is the only way to see the consequences of commands reflected in the viewer during script execution.

If your script is malfunctioning with this command, try removing or commenting out all occurrences. This command is not recommended within Python scripts executed by the trigger script module.

evs.is_module_executed()

Returns whether the script is being executed by a module (such as trigger script) as opposed to being run directly by the user.

Returns: bool — True if executed by a module, False when the user executes directly (e.g., hitting play in the script window).

Number Formatting

evs.sigfig(number, digits)

Rounds a number to a specified number of significant figures.

ParameterTypeRequiredDescription
numberfloatYesThe number to round
digitsintYesThe number of significant digits

Returns: float — the rounded value.

evs.sigfig(123456.789, 4)  # Returns 123500.0
evs.fn(number, digits, include_thousands_separators, preserve_trailing_zeros)

Formats a number as a string using a specified number of significant figures. Also available as evs.format_number().

ParameterTypeRequiredDescription
numberfloatYesThe number to format
digitsintNoThe number of significant digits. Default: 6
include_thousands_separatorsboolNoWhether to include thousands separators. Default: True
preserve_trailing_zerosboolNoWhether to preserve trailing zeros. Default: False

Returns: str — the formatted number.

evs.fn(1234567.89)           # "1,234,570"
evs.fn(1234567.89, 3)        # "1,230,000"
evs.fn(1234567.89, 6, False) # "1234570"
evs.fn_a(number, adapt_size, digits, include_thousands_separators, preserve_trailing_zeros)

Formats a number as a string, adapting the precision to the magnitude of a second number. This is useful when formatting a value relative to a step size or range. Also available as evs.format_number_adaptive().

ParameterTypeRequiredDescription
numberfloatYesThe number to format
adapt_sizefloatYesThe reference value to adapt precision to
digitsintNoThe number of significant digits. Default: 6
include_thousands_separatorsboolNoWhether to include thousands separators. Default: True
preserve_trailing_zerosboolNoWhether to preserve trailing zeros. Default: False

Returns: str — the formatted number.

Export Scripting

The export scripting API allows Python scripts to respond to events during a web scene export. When the export web scene module writes a CTWS file, it triggers the attached Python script at each stage of the process. Use get_export_stage() to determine the current stage and respond accordingly.

evs.get_export_stage()

Gets the current export stage and related information.

Returns: ExportStage — an object describing the current stage of the export process.

stage = evs.get_export_stage()

# Run initialization code at the start of an export
stage.handle_init(lambda: print("Export starting"))

# Handle a specific module being exported
stage.handle_module('kriging', lambda: print("Kriging exported"))

# Handle sequence states with state number and name
stage.handle_sequence('scripted sequence', lambda num, name: print(f"State {num}: {name}"))

# Run finalization code at the end of an export
stage.handle_finalize(lambda: print("Export complete"))
evs.ExportStage

Represents the current export stage and provides handler methods for responding to specific stages. Constructed by get_export_stage().

Properties:

PropertyTypeDescription
stageExportStage.StagesThe current stage of the export process
modulestrThe module being exported (empty string if not applicable)
state_numberintThe current sequence state number (-1 if not applicable)
state_namestrThe current sequence state name (empty string if not applicable)

Stages:

StageDescription
Stages.NOT_EXPORTINGEVS is not currently exporting
Stages.START_EXPORTThe export process just started
Stages.START_MODULEThe specified module is starting the export process
Stages.END_SEQUENCE_STATEA sequence state of the specified module was just exported
Stages.END_MODULEThe specified module was just exported
Stages.END_EXPORTThe export process just finished

Handler Methods:

MethodParametersDescription
handle_init(func)func — a function taking no argumentsRuns func if currently in the START_EXPORT stage
handle_finalize(func)func — a function taking no argumentsRuns func if currently in the END_EXPORT stage
handle_module(module, func)module — module name, func — a function taking no argumentsRuns func if the specified module was just exported
handle_sequence(module, func)module — module name, func — a function taking (state_number, state_name)Runs func if a sequence state of the specified module was just exported

Python Assets

evs.import_asset(name)

Imports a Python module included in the Python Assets section of the Application Properties. This is used instead of a standard import statement when working with EVS presentation files or packaged data, since Python assets are embedded within the application rather than stored as separate files on disk.

ParameterTypeRequiredDescription
namestrYesThe name of the Python asset to import

Returns: module — the imported Python module.

Raises: ModuleNotFoundError if no Python asset exists with the given name.

helpers = evs.import_asset('my_utilities')
helpers.do_something()

Date Conversions (evs_util)

The evs_util module provides functions for converting between three date representations used in EVS:

FormatExampleDescription
EVS date string"2024-06-15T14:30:00"ISO 8601 format used by EVS module properties
Python datetimedatetime.datetime(2024, 6, 15, 14, 30)Standard Python datetime.datetime object
Excel date number45458.604Days since 1899-12-30, used in Excel spreadsheets

Each function converts from one format to another. The naming convention is {source}_to_{target}:

FunctionConverts FromConverts To
evs_util.evsdate_to_datetime(d)EVS date stringPython datetime
evs_util.datetime_to_evsdate(d)Python datetimeEVS date string
evs_util.datetime_to_excel(d)Python datetimeExcel date number
evs_util.evsdate_to_excel(d)EVS date stringExcel date number
evs_util.excel_to_datetime(d)Excel date numberPython datetime
evs_util.excel_to_evsdate(d)Excel date numberEVS date string
import evs_util
import datetime

# Convert an EVS date string to a Python datetime
dt = evs_util.evsdate_to_datetime("2024-06-15T14:30:00")

# Convert to an Excel date number
excel_num = evs_util.datetime_to_excel(dt)

# Convert back to an EVS date string
evs_date = evs_util.excel_to_evsdate(excel_num)

Testing

evs.test(assertion, error_on_fail)

Asserts that a condition is true. If the assertion is false, the specified error message is printed as an error.

ParameterTypeRequiredDescription
assertionboolYesThe condition to test
error_on_failstrYesThe error message to display if the assertion is false
value = evs.get_module('kriging', 'Properties', 'Allow Run')
evs.test(value == True, "Expected Allow Run to be enabled")

Sequences are used to create dynamic and interactive applications by managing an ordered collection of predefined “states.” A state can capture and control the properties of one or more modules simultaneously.

This functionality allows you to guide a user through a narrative or a series of analytical steps, such as changing an isosurface level, animating a cutting plane through a model, or stepping through time-based data.

What is a Sequence?

A sequence represents a set of saved configurations. Each state in the sequence stores specific values for properties in your application. When a user selects a state - typically through a UI control like a slider or dropdown menu - the application instantly updates all linked modules to their saved settings for that state.

It is important to understand that these states are discrete. The application creator defines exactly which states are included in the sequence. For example, if you create a plume sequence with concentration levels of [0.01, 0.1, 1.0, and 10.0], the user can only select those specific four levels; it would not be possible for them to view the plume at a level of 3.0.

Here is an example of the “scripted sequence” module’s UI showing several states:

Examples

Sequences can range from simple to complex, depending on what they control.

  • Simple Example: A common use is to control the isosurface level of a single plume module. The sequence would contain a series of states, each corresponding to a different concentration threshold. This creates a way to explore how the plume’s size and shape change at different levels.
  • Complex Example: An advanced sequence could link multiple modules together. For instance, a single slider could simultaneously:
    1. Move a slice plane through the model.
    2. Change the plume level being displayed.
    3. Update a titles module to show the calculated volume and mass of the currently visible plume.

Sequences in C Tech Web Scenes

When you export your application to a C Tech Web Scene (.ctws file), sequences become a primary component of the interactive experience.

  • In the Web Scene’s Table of Contents, each sequence appears as a single item with a unique icon, along with its associated UI control (e.g., a slider).
  • A Web Scene can contain multiple, independent sequences. The total number of unique model configurations is the product of the number of states in each sequence. For example, an application with one sequence of 10 plume levels and another sequence of 5 time steps has a total of 50 (10 x 5) possible combined states.

Important Considerations

  • Performance and File Size: Be mindful of the number of states in your sequences. An excessive number of states can significantly increase the size of your exported .ctws file and lead to longer load times. It is best to include only the most essential states needed to tell your story.
  • Discrete States: As mentioned, sequences are not continuous. They only contain the specific states you save. Plan ahead to ensure all necessary steps or levels are included in your sequence definition.

Animations in EVS

Animations allow you to generate video files of smoothly changing content and views. This allows for complete control over the messaging conveyed in a single, often small deliverable file.

In Earth Volumetric Studio, an animation is built from one or more timelines. Each timeline represents a single, animatable property within your application. This could be anything from the camera’s position in the 3D viewer to the visibility of a specific object, a numeric value like a plume level, or the current frame of a sequence.

Each timeline is controlled through keyframe animation. You define specific points in time, called keyframes, where you set a specific value for one or more properties (timelines). For example, at time 0.0s, you might set an object’s opacity to 0%, and at time 2.0s, you set its opacity to 100%. EVS will then automatically calculate all the in-between values, creating a smooth transition (interpolation) from transparent to opaque over two seconds. By adding multiple timelines and setting keyframes for each, you can create complex, multi-faceted animations where many different aspects of your scene change simultaneously.

Accessing the Animation Window

The Animation Window can be opened through the Animation button in the Main Toolbar.

Animations Window Controls

The Animations window allows users to create, edit, and export animations by managing timelines and keyframes. The following tables describe the available commands found in the toolbar and the timeline management sidebar.

Animating a Property through Timelines

To animate a property, you must first add a timeline for it. This is an easy process using the Select Property dialog.

  1. Click the Add Timeline   button in the timeline management sidebar. This opens the first view of the Select Property dialog.
  2. This initial view presents a hierarchical list of every module and object in your current application. You can either browse through the list or use the search bar at the top to quickly find a specific module or object by name. Select the target object and click Next. Select Property dialog, first step: selecting a module. Select Property dialog, first step: selecting a module.
  3. After clicking Next, the dialog updates to show a list of all animatable properties for the module you selected. These properties are organized into categories (e.g., “Properties”, “Grid Settings”).
  4. Use the “Search for Property…” bar to filter the list, or browse to find the specific property you wish to animate. Select it from the list. Select Property dialog, second step: selecting a specific property from the chosen module. Select Property dialog, second step: selecting a specific property from the chosen module.
  5. Click Ok. A new timeline for the selected property will be added to the animation window, ready for you to add keyframes.

One you’ve added one or more timelines, you can add key frames. Animated sections will display in different colors, depending on the interpolation mode of the property in the timeline.

For example, in the following timeline, Azimuth and Inclination are interpolated linearly from 0s to 5s, then changed following a curve from 7s to 10s:

The two colors show different interpolation modes, which can be controlled by right clicking on the icon when values change in a timeline:

Different timelines will have various options for allowable interpolation modes, depending on the type of property being animated.

Timeline Management Commands

The left sidebar provides controls for managing the specific timelines included in your animation project.

ButtonIconDescription
Add Timeline Add an additional timeline to the animation.
Remove Timeline Remove the selected timeline from the animation.
Select All Select all timelines currently in the list.
Move Timeline Up Move the selected timeline up in the list order.
Move Timeline Down Move the selected timeline down in the list order.

Toolbar Commands

The top toolbar contains tools for file management, playback control, duration settings, keyframe manipulation, and value transfer.

GroupButtonIconDescription
FileOpen Browse to open a new .EVS Animation.
Save Save the current .EVS Animation.
PlaybackPreview Set animation to preview mode. When in preview mode, the animation can be run without generating an output file.
Play Modify output settings and generate or preview the animation. Clicking this opens the Output Formatsettings, allowing you to configure:
  • Resolution: Choose from common resolutions (e.g., 1080p, 720p) or set custom width and height.
  • Frame Rate: Select a standard frame rate (e.g., 24p, 30p, 60i).
  • Output Format: Select the Codec (e.g., H.264, H.265) and Quality (e.g., Very High, Medium).
  • Render/Preview: Choose to simply preview or render the final output.
DurationChange Length Change the total length of the animation (in seconds).
Key FramesAdd Key Frame Add a new key frame to the animation at the current time cursor position.
Delete Key Frame Delete the current key frame.
Snap to Key Frames Snap the current time cursor to existing key frames when dragging or navigating.
Set Duration Set the specific duration of the currently selected key frame.
Set Time Set the start time of the current key frame.
Key Frame ValuesAutomatically Push Values Automatically pull values from the application and overwrite all values in the selected timelines of the animation for the current keyframe.
Pull Values Automatically pull values from the application and overwrite all values in the selected timelines of the animation for the current keyframe.
Push Values Push the values from the selected timeline in the animation and set the corresponding values in the Application.
ZoomZoom LevelAdjust the visual scale of the timeline (e.g., 50%, 100%, 200%) or reset to the default view.


A highly recommended free legacy training video on how to use the Animator is available at this link:

Animation in Earth Volumetric Studio

The appearances of the animator controls have changed, but they are still recognizable, and the concepts in the video still apply.

C Tech Web Scenes (*.ctws) are single file deliverables which can contain full 3D models, multiple states of content, end-user controllable views, and more. This is the suggested format for interactive 3D deliverables to clients, and can be used by clients without purchasing any additional license.

A CTWS file allows users to manipulate the view and content of 3D models quickly in a straightforward manner. They are created via the export web scene module.

See How to Create C Tech Web Scenes for details on creation.

Detailed Instructions for using the C Tech Scene Viewer are also available and maintained at https://www.ctech.com/viewer_help/.

  • How to Create C Tech Web Scenes

    The creation of C Tech 3D (Web) Scenes (.CTWS files) is very simple, but creating an optimized model output requires some forethought and planning.

Subsections of C Tech Web Scenes

The creation of C Tech 3D (Web) Scenes (.CTWS files) is very simple, but creating an optimized model output requires some forethought and planning.

Virtually any EVS model can be exported as CTWS, but there are a few very important considerations:

  • C Tech’s 3D Scenes have a powerful ToC (Table of Contents or model tree) that provides control over visibility, opacity and rendering settings for each module in your application that is connected to the viewer.

  • The name of each entry in the ToC will be the name of the module. Therefore, renaming the modules so that they are descriptive of the content of that module is strongly recommended.

  • Modules whose Visibility should be controlled as a group, should pass through a properly renamed group objects module.

    • Modules connected to the viewer via a group should still be appropriately named because they show up when the group is expanded.
  • Bookmarks provide easy control over views, module visibility and Sequence(s) state.

  • COMING SOON: Animations are a progression of frames which control camera orientations & all sequences’ states & visibilities

    • CTWS Animations can be compared to bitmap animations (e.g. .AVI or .MP4 files) which represent an ordered sequence of images that progress from start to end, telling a story.

      • CTWS Animations frames are analogous to the images in a bitmap animation.
    • Animations are produced by the model creator such that each frame can have a unique set of properties from within the content and visibility options of the CTWS:

      • A camera orientation
      • Visibilities for all modules (objects) in the table of contents
      • The selected states from all sequences

Below is an EVS model which we are using to demonstrate the creation process.

Please note that all modules have default names and none have name that are particular representative of the content they represent. We have the following modules connected to the viewer and describe what their content and function is:

  • plume shell: outputs the complete West portion of the cut model
  • select single data: outputs the East portion of the cut model with selected materials visible
  • post samples: Lithology Borings
  • legend: Legend of Lithologic materials
  • add logo: C Tech’s logo

After appropriate renaming of the modules we have our application almost ready to go. Please note that the order of the modules in the ToC is determined initially by the order they were connected to the viewer.

These names may not reflect all renaming until you rearrange or save and load the application.

To create a CTWS, we will use the export web scene module. We will add this to the network.

After rearranging the order by dragging them up or down and renaming the rest of the modules, we now have:

In the Application Properties, under Application Information, we add some basic information which will be used when exported to CTWS.

All you need to do now is click Save in export web scene and enter a file name.

To see how we use the CTWS created, please visit the dedicated C Tech Scene Viewer Help.

EVS Presentations (.EVSP) provide a single file deliverable which allows our customers to provide versions of their Earth Volumetric Studio (EVS) applications to their clients, who can then modify properties interactively.

For example, an EVS Presentation can allow your clients to:

  • Choose their own plume levels
  • Change Z-Scale and/or Explode distance
  • Move slices or cuts through the model
  • Draw their own paths for (cross section) cross-sections

This works by creating a restricted version of an EVS application, saved as an EVS Presentation (.evsp file).

The file will have all of its data stored as packaged files, always work in Presentation Mode, and prevents the application from being modified. In addition, only the Application Favorite properties can be modified, so the author of the Presentation needs to determine which properties are critical for the Application to modify in advance.

This functionality results in a single file deliverable which can allow unlimited changes to critical application properties, and is usable without and EVS license by your clients.

  • How to Use EVS Presentations

    C Tech's EVS Presentations (EVSP) are single-file deliverables that allow you to share interactive versions of your Earth Volumetric Studio (EVS) appl

  • Creating Presentation Applications

    The development of EVS Presentations (EVSP) from EVS Applications will nearly always require modification to your EVS application. The key steps are: Save your application (ideally under a new name, as you will be modifying it for the process of making an EVSP). Replace Disallowed Moduleswith acceptable replacements, if applicable. See Disallowed Modules and Replacements for specifics on which modules need to be replaced. Note: Not all Disallowed Modules have replacements which can be included in EVS Presentations. For example, many 3d exporters must just be removed altogether. Modules which create a model (gridding and horizons, 3d estimation, etc) must be removed. This is done by saving an EF2 file (using write evs field) of their output, and then using that EF2 file in read evs field as a replacement of the network portion doing the model creation. Packageall data files referenced in any modules. There cannot be any externally referenced data files. Some modules cannot be packaged and are automatically replaced by the packaging process. These include: import vector gis import cad import wavefront obj Best if you don’t do this step sooner. See Packaged Files and Packaging Data Into Your Applications for details on the process. Add all desired module properties to Application Favorites, so they can be accessed once the application is saved as an EVS Presentation. EVS Presentation files do not allow access to module properties unless they are added to the Application Favorites. Backup your application as an EVS application to serve as an editable backup. This is essential, should you wish to add additional module properties later. Convert the application to an EVS Presentation (.evsp file). This is not a reversible process, which is why you want the backup from step 5. Convert To Presentation The option to convert your current application to an .EVSP file is not a reversable process. To access this, choose Show Menu in the Main Toolbar:

Subsections of EVS Presentations

C Tech’s EVS Presentations (EVSP) are single-file deliverables that allow you to share interactive versions of your Earth Volumetric Studio (EVS) applications. Your clients can use these presentations to modify properties and explore the model without needing a full EVS license.

For example, an EVS Presentation can allow your clients to:

  • Choose their own plume levels
  • Change Z-Scale and/or Explode distance
  • Move slices or cuts through the model
  • Draw their own paths for cross-sections

While the content of each EVSP will vary, this guide covers the fundamental features common to all EVS Presentation applications.

Getting Started: Prerequisites

Before you begin, please ensure the following:

  • Verify your computer hardware meets the minimum requirements.
  • Install Earth Volumetric Studio.
  • Install Earth Volumetric Studio Sample Projects (same link as above).
  • Note that any EVS license version can open EVSPs. You only need to choose the Presentation and Demo license option if you do not have an existing EVS license.

Opening an EVSP File

EVSP files can be large (often 10-50 MB or more) because they contain a complete 3D volumetric model. Once EVS is installed, you can open an EVSP file in a couple of ways:

  1. Double-Click: Simply double-click the .evsp file in Windows Explorer to launch EVS and open the presentation.
  2. **From EVS:**Start EVS and use the initial window to open your file.
    • Select the file from the Recent Files list.
    • Click Open an existing application to browse for your file.

EVS startup window showing options to open a file. EVS startup window showing options to open a file.

Understanding the Interface

When your file opens, you will see the EVS Presentation Application, which has three main components:

  1. The Main Menu: Contains controls to manage windows and access this help guide.
  2. The Viewer: The main window where you see and interact with the 3D model.
  3. Application Properties: A panel with parameters you can adjust to modify the model.

EVS Presentation application interface with Home Tab, Viewer, and Application Properties highlighted. EVS Presentation application interface with Home Tab, Viewer, and Application Properties highlighted.

Your primary focus will be on the Viewer and Application Properties.

Interacting with the Viewer

The Viewer is your window into the 3D model. Basic controls include rotating, panning, and zooming. For a complete guide on navigation, see the Mouse Interactions topic. Also see the Viewer help topic.

The viewer contains view direction and other tools for quick access:

The Viewer Tab in EVS. The Viewer Tab in EVS.

  • View Controls:
    • Azimuth and Inclination: Use the dial and sliders to set a specific camera angle.
    • Top: Resets the model to a top-down view.
    • Fit: Resizes the model to fit entirely within the Viewer window.
    • Center: Sets the center of rotation. To use it, probe a point on an object (Ctrl+Left-Click), then click Center. The model will now rotate around that point.
    • Snapshot: Captures the current view and saves it as an image file (e.g., PNG, JPG). The output resolution is affected by the View Scale parameter if it is available in the Application Properties.
  • Measure Distance Tool:
    • Check the Measure Distance box to enable the tool.
    • Probe two points on the model using Ctrl+Left-Click.
    • The Information window will appear with the coordinates of both points and the calculated distances (X, Y, Z, and total).

See the Viewer Features topic for more information.

Using Application Properties

The Application Properties panel contains all the interactive parameters set by the EVSP creator. This is where the power of EVSPs lies, offering nearly limitless ways to customize the view.

Parameters are organized into hierarchical groups based on the modules in the original EVS application. You can expand or collapse each group using the triangular button next to its name.

Application Properties with all groups collapsed. Application Properties with all groups collapsed.

From the collapsed list above, we can see this application allows control over cuts, materials, the legend, sample postings (borings), and viewer properties.

Example: Modifying the Model

If we expand the individual material group, we see checkboxes for each geologic material in the model.

Application Properties showing material selection checkboxes. Application Properties showing material selection checkboxes.

Initially, only “Sand” is selected. By checking other boxes, we can display multiple materials simultaneously.

By adjusting a few parameters - such as material visibility, cut plane angle, and cut position - we can create a dramatically different output.

A dramatically different output after changing three parameters. A dramatically different output after changing three parameters.

The ability to combine changes across different parameters is what makes EVSPs so powerful. Even a simple presentation can offer a staggering number of possible views, allowing for in-depth exploration of the underlying data.

The development of EVS Presentations (EVSP) from EVS Applications will nearly always require modification to your EVS application. The key steps are:

  1. Save your application (ideally under a new name, as you will be modifying it for the process of making an EVSP).
  2. Replace Disallowed Moduleswith acceptable replacements, if applicable.
    • See Disallowed Modules and Replacements for specifics on which modules need to be replaced.
    • Note: Not all Disallowed Modules have replacements which can be included in EVS Presentations. For example, many 3d exporters must just be removed altogether.
    • Modules which create a model (gridding and horizons, 3d estimation, etc) must be removed. This is done by saving an EF2 file (using write evs field) of their output, and then using that EF2 file in read evs field as a replacement of the network portion doing the model creation.
  3. Packageall data files referenced in any modules.
    • There cannot be any externally referenced data files.
    • Some modules cannot be packaged and are automatically replaced by the packaging process. These include:
      1. import vector gis
      2. import cad
      3. import wavefront obj
    • Best if you don’t do this step sooner.
    • See Packaged Files and Packaging Data Into Your Applications for details on the process.
  4. Add all desired module properties to Application Favorites, so they can be accessed once the application is saved as an EVS Presentation. 
    1. EVS Presentation files do not allow access to module properties unless they are added to the Application Favorites.
  5. Backup your application as an EVS application to serve as an editable backup.
    • This is essential, should you wish to add additional module properties later.
  6. Convert the application to an EVS Presentation (.evsp file).
    • This is not a reversible process, which is why you want the backup from step 5.


Convert To Presentation

The option to convert your current application to an .EVSP file is not a reversable process. To access this, choose Show Menu in the Main Toolbar:

This will open the Menu. Choose To Presentation to convert to an EVS Presentation:

Disallowed Modules and Replacements 

The following table lists all disallowed modules and their replacements if there are any. Some modules, primarily interactive modules (e.g. modify data 3d and create stratigraphic hierarchy) and export modules (e.g. export cad and export vector gis).

Disallowed ModuleCategoryReplacement
external krigingEstimationread evs field
2d estimationEstimationread evs field
3d estimationEstimationread evs field
scat to triEstimationread evs field
scat to unifEstimationread evs field
modify data 3dEstimation/editingnone
combine horizonsGeologic modelingread evs field
edit horizonsGeologic modelingread evs field
horizon rankingGeologic modelingread evs field
lithologic modelingGeologic modelingread evs field
gridding and horizonsGeologic modelingread evs field
create stratigraphic hierarchyGeologic modelingnone
material mappingGeologic modelingread evs field
drill pathGeometrynone
analytical realizationGeostatisticsread evs field
lithologic realizationGeostatisticsread evs field
stratigraphic realizationGeostatisticsread evs field
well decommissionGeostatisticsnone
read geometryImportread evs field
export horizon to rasterExportnone
export horizons to vistasExportnone
export georeferenced imageExportnone
write evs_fieldExportnone
export web sceneExportnone
export pdf sceneExportnone
export 3d sceneExportnone
export vector gisExportnone
export cadExportnone
export nodesExportnone
write_linesExportnone
cell_computationPython
(Enterprise License Only)read evs field
(for Floating Licenses)
node_computationPython
(Enterprise License Only)read evs field
(for Floating Licenses)
trigger_scriptPython
(Enterprise License Only)none
(for Floating Licenses)

Restricted Functions:

In addition to the disallowed modules, certain integrated functions are restricted such as:

  • Writing 3D Scene files (for C Tech Web Scenes, 3D PDFs, etc)
  • Animator (creation of bitmap animations such as .MP4 files)
  • Tools Tab: All functions
  • Open Python Script
    • Enterprise License customers may package Python scripts using the trigger_script module

EVSP Outputs:

The EVSP itself is intended to be the primary output, therefore the ability to create any outputs while and end-user works with an EVSP is limited to bitmap images. End-users will not be able to write any 3D type outputs (CTWS, GLB, Shapefiles, CAD files, etc.).

  • Basic Training: Workbooks Overview

    The Earth Volumetric Studio Environment 2D Estimation Exporting from Excel to C Tech File Formats 3D Data Requirements Overview Packaging Data into Applications Geostatistics Overview Visualization Fundamentals

  • Video Tutorials at ctech.com

    The workbooks in this help cover only the most basic functionality. We offer two levels of training videos which can be accessed at ctech.com which provide more comprehensive training from a novice to an advanced user. We offer two levels of training videos in addition to the limited workbooks which are built-into the software help system (and are included online). The training videos include:

  • Workbook 1: Earth Volumetric Studio Basics

    Load an Application Let’s load an application to get an idea of how EVS works. Browse to Find and double click the file “painting-facility-interactive-labels.intermediate.evs”. The application will run and in less than one minute you will see: Mouse Transformation Transformations with the Mouse Now that we have an application loaded, let’s investigate the many ways we can interact with it. Rotate the model Hold down the left mouse button and move the mouse pointer in various directions. The model rotates. Vertical motions rotate the model about a horizontal axis. Horizontal motions rotate the model about a vertical axis. Roll is suppressed so that mouse rotations always keep vertical objects (e.g. telephone poles) vertical. Scale (zoom) the model

  • Workbook 2: 2D Estimation of Analytical Data

    Instance Modules 2D Estimation: Instance Modules Now let’s see just how fast we can instance the modules to create a useful application. In the Modules section of the Application network window, type 2 This will show all modules beginning with the number 2. From this filtered list we can instance any of these modules by double-clicking on them. However, we can get the first one, 2d estimation by hitting Enter. Do that.

  • Workbook 3: Exporting from Excel to C Tech File Formats

    • Creating PGF Files - Lithology * [Creating GEO Files - Stratigraphic Horizons from Vertical Borings](creating-geo-f
  • Workbook 4: Understanding 3D Data

    Data Requirements Overview The collection and formatting of data for volumetric modeling is often the most challenging task for novice EVS users. This tutorial covers the instru Creating a Simple Application Let's begin by creating a very simple application. In the Modules pane in the Application window, type p in the Search for Module section. Viewing PGF Files With the simple application from the previous topic, let's read a PGF file and see that data represe

  • Workbook 5: Packaging Data Into Your Applications

    Packaging data into your Applications has many advantages including:

  • Workbook 6: Geostatistics Overview

    When a volumetric model is created, we generally use geostatistics to estimate (interpolate and extrapolate) data into the volume based on sparse meas

  • Visualization Fundamentals

    Core concepts for understanding 3D data visualization in EVS

  • Studio Projects Reference Applications

    Each major release of Earth Volumetric Studio will include a corresponding release of Sample Projects, which we tend to refer to as 'Studio Projects'.

Subsections of EVS Training

The workbooks in this help cover only the most basic functionality. We offer two levels of training videos which can be accessed at ctech.com which provide more comprehensive training from a novice to an advanced user.

We offer two levels of training videos in addition to the limited workbooks which are built-into the software help system (and are included online). The training videos include:

As stated, the first category of training videos are free, whereas the second category are not. These classes range from $350 to $800 per person for classes that are 3 to 12 hours in duration. All of these classes are offered with a money-back guarantee. We ask that you use the knowledge you gained in the class for 30 days. At the end of that time if you feel that the class was not valuable to you and your company, we will refund the cost of the class. These provide students with far more than the mechanics of using Earth Volumetric Studio. The classes are taught by our most senior personnel with decades of experience with C Tech’s software and experience in earth science consulting projects including litigation support. The courses focus as much on why we do things as how they are done. Our goal is to graduate modelers with a deeper understanding of critical issues to consider in their daily modeling tasks, whether they are doing a quick first look at a corner gas station or working on litigation support for a Superfund site. New classes are announced on C Tech’s Mailing List and the registration form to enroll in these classes is on the website.

  • Load an Application

    Let’s load an application to get an idea of how EVS works. Browse to Find and double click the file “painting-facility-interactive-labels.intermediate.evs”. The application will run and in less than one minute you will see:

  • Mouse Transformation

    Transformations with the Mouse Now that we have an application loaded, let’s investigate the many ways we can interact with it. Rotate the model Hold down the left mouse button and move the mouse pointer in various directions. The model rotates. Vertical motions rotate the model about a horizontal axis. Horizontal motions rotate the model about a vertical axis. Roll is suppressed so that mouse rotations always keep vertical objects (e.g. telephone poles) vertical. Scale (zoom) the model

  • Azimuth and Inclination

    Transformations with the Azimuth and Inclination Controls Azimuth and Inclination controls are available in two places and gives us more precise ways to transform (scale, pan and rotate) an object: The viewer’s Properties window. The viewer’s slide-out properties in the Viewer window. Double click on the viewer module to open the Properties window with view controls including sliders and an array of buttons. These controls allows you to instantly select a view from any azimuth and inclination. For a given (positive) inclination, selecting different azimuth buttons is equivalent to flying to different compass points on a circle at a constant elevation. The azimuth buttons are the direction from which you view your objects. (i.e. 180 degrees views the objects from the south). An inclination of 90 degrees corresponds to a view from directly overhead, 0 degrees is a view from the horizontal plane (side view) and -90 degrees is a view from the bottom.

  • Basic Statistics

    At any time after modules have run, you can quickly obtain basic statistical and model extents data merely by double left mouse clicking on any FIELD (blue) output port. Let’s demonstrate this by using the second output port of the cut module When we double-click here, the following information appears in the Properties window.

  • Change Plume Level

    Before we end this first workbook, let's interact with this application in another way.

  • Exit EVS

    Let's exit EVS.

  • EVS Project Structure for Maximum Portability

    Create a 'project' folder with all of your data in one or more subfolders under that folder (any number of levels deep). As long as you don't put your

Subsections of Workbook 1: Earth Volumetric Studio Basics

Let’s load an application to get an idea of how EVS works.

Browse to

Find and double click the file “painting-facility-interactive-labels.intermediate.evs”.

The application will run and in less than one minute you will see:

For more on opening applications see the topic Open Files.

Transformations with the Mouse

Now that we have an application loaded, let’s investigate the many ways we can interact with it.

Rotate the model

  • Hold down the left mouse button and move the mouse pointer in various directions. The model rotates.
  • Vertical motions rotate the model about a horizontal axis.
  • Horizontal motions rotate the model about a vertical axis.
  • Roll is suppressed so that mouse rotations always keep vertical objects (e.g. telephone poles) vertical.

Scale (zoom) the model

  • The wheel on wheel mice also zooms in and out.
  • Alternate method:
    • Hold down both the Shift key and the left mouse button (or the middle button alone).
    • Keeping the Shift key and mouse button held down, move the mouse pointer downward or to the left. As we do, the model scales down. Moving the mouse pointer upward or to the right scales up.

Move (Translate or Pan) the model

  • Hold down the right mouse button and drag the object up, down, and around, then center the model.

Mouse-controlled operationsWhat to do
TranslateDrag the object with the right mouse button (RMB)
RotateDrag the object with the left mouse button (LMB)
ScaleUse the wheel to zoom in and out

or

Hold down the Shift key and drag the object with the left mouse button (Shift-LMB)

or

Use the middle mouse button or wheel as a button without Shift |

Transformations with the Azimuth and Inclination Controls

Azimuth and Inclination controls are available in two places and gives us more precise ways to transform (scale, pan and rotate) an object:

  1. The viewer’s Properties window.
  2. The viewer’s slide-out properties in the Viewer window.

Double click on the viewer module to open the Properties window with view controls including sliders and an array of buttons. These controls allows you to instantly select a view from any azimuth and inclination. For a given (positive) inclination, selecting different azimuth buttons is equivalent to flying to different compass points on a circle at a constant elevation. The azimuth buttons are the direction from which you view your objects. (i.e. 180 degrees views the objects from the south). An inclination of 90 degrees corresponds to a view from directly overhead, 0 degrees is a view from the horizontal plane (side view) and -90 degrees is a view from the bottom.

c. Use the Azimuth and Inclination Panel to obtain a specific view by setting the scale slider and inclination slider to desired settings and click once on the desired azimuth button. If you choose a scale of 1.0, an Inclination of 30 degrees and an azimuth of 200 degrees

The viewer will show:

The Advanced options provide the ability to allow rotations about a user defined center, as opposed to the default center of the objects, which is chosen by EVS. Additionally you can apply a ROLL to the view which will make vertical objects (such as the Z axis) not appear vertical. If you do not see the options, click on the Advanced category in the Properties window to expand them.

Below the Advanced options, there are three buttons

  1. Set to Top View: Returns the model view to Azimuth 180, Inclination 90 and Scale of 1.0
  2. Zoom To Fit: Returns the Scale to 1.0
  3. Center On Picked: This button is normally inactive, but is activated by probing with CTRL-Left mouse on any object in the view. The default center of an object shown in our viewer is midway between the min-max of the x, y and z dimensions. This button then causes the view to recenter on the selected point. When you pick a point on an object, the following information is displayed in the Information window.

The Perspective Mode toggle switches to Perspective (vs. Orthographic) viewing. In perspective mode, parallel lines no longer appear parallel but instead would point to a vanishing point.

The Field of View determines the amount of perspective. Larger values result in more perspective distortion.

The Render selection allows you to choose between OpenGL and Software renderers. On some computers with minimal graphics cards Software renderer may perform better or be more stable.

Auto Fit Scene: The choices here include:

  • On Significant Change: This is the default behavior which causes the view to recenter and rescale if the extents of the view would change significantly. Otherwise the view is unaffected.
  • On Any Change: This causes the view to recenter and rescale if the extents of the view changes at all
  • Never: The view will not change if objects change.

The Window Sizing options

  • Fit to Window: The view size is determined by the size of the viewer window
  • Size Manually: The view size is set in the Viewer Width and Height type-ins below to a specific size. The viewer then has scroll bars if the view size exceeds the window size.

At any time after modules have run, you can quickly obtain basic statistical and model extents data merely by double left mouse clicking on any FIELD (blue) output port.

Let’s demonstrate this by using the second output port of the cut module

When we double-click here, the following information appears in the Properties window.

This quickly tells us that this port has a model with the following data and coordinate extents

  • 211,200
  • 181,779 cells
  • We can select any of the three nodal data (TOTHC is shown)
  • The X, Y & Z Minimum, Maximum and Extents are provided

For more comprehensive statistical analysis of the nodal data, click on the “Open Statistics Window” button, and the following appears.

Before we end this first workbook, let’s interact with this application in another way.

In the Application window, double click on the intersection_shell module, and you will see a green border around it. This green border designates the selected module whose properties are available for editing.

This will open its Properties in the Properties window in the upper right. In this application, intersection_shell is performing two tasks. It is cutting the model using information provided by the cut module and it is also subsetting what remains by Total Hydrocarbon (TOTHC) level. It might seem strange at first that the cut module isn’t actually cutting the model. But if it did, it would only provide one side or the other. By giving us data that is the “signed” distance from the specified cutting plane, we are able to use cut’s data to create the cut for the front side giving us the plume and the back side giving us the geologic layers. We can also offset any distance from the theoretical cutting plane without actually moving the cutting plane, but only changing the “cut” Subsetting level. In fact, in this application we’re cutting 100 feet from the specified cutting plane.

Change the TOTHC Subsetting Level to be 2.0 and your view should look like this:

You can continue to experiment and see that you can view any subsetting level in less than a second.

Let’s exit EVS.

Open the Menu using the Show Menu button in the upper right corner. Select Exit at the bottom. Alternatively, exit EVS using the regular close icon at the upper right on the main window.

EVS exits after displaying a confirmation message.

If you close the main window using the X in the upper left, it will prompt you similarly.

You have now completed Workbook 1.

Create a “project” folder with all of your data in one or more subfolders under that folder (any number of levels deep). As long as you don’t put your applications more than 2 levels deep inside of the project folder, everything will be relative, and moving the project folder (as a whole) will always “just work”.

An example would be:

  • drive\some\path
    • project
      • applications
      • data
        • data sub 1
        • data sub 2

Alternatively, the most portable EVS Application is one where all of the data is packaged.

  • Instance Modules

    2D Estimation: Instance Modules Now let’s see just how fast we can instance the modules to create a useful application. In the Modules section of the Application network window, type 2 This will show all modules beginning with the number 2. From this filtered list we can instance any of these modules by double-clicking on them. However, we can get the first one, 2d estimation by hitting Enter. Do that.

  • Connect The Modules

    We'll now connect these modules. Connections determine how data flows or is shared among modules, and affects the modules' order of execution. Use the

  • Run the Application

    Let's execute the analysis module, 2d estimation, in order to produce a model based on the data file we will select. You will need to have installed

  • Finish The Application

    With the kriging interpolation results from 2d estimation, the next step is to refine the visualization. This can be accomplished by subsetting the

Subsections of Workbook 2: 2D Estimation of Analytical Data

2D Estimation: Instance Modules

Now let’s see just how fast we can instance the modules to create a useful application. In the Modules section of the Application network window, type 2

This will show all modules beginning with the number 2. From this filtered list we can instance any of these modules by double-clicking on them. However, we can get the first one, 2d estimation by hitting Enter. Do that.

When you hit enter, it also clears the filter (search) field.

Now type p. Double-click on plume, ~5th in the list.

Since we didn’t hit enter, we need to clear the p and now type e. Double-click on external edges, 7th in the list.

Finally, backspace or clear the e and type l for legend, finding it as the 5th module and double click on it too.

You may need to pan in the application to see our application should be:

We’ll now connect these modules. Connections determine how data flows or is shared among modules, and affects the modules’ order of execution. Use the left mouse button to drag from one port to another to connect them.

We could leave these modules in their current positions, but let’s move them around so they better match how we want the data to flow. Adjust the positions to approximately match:

Then connect a few of them as shown below.

The method of connecting modules is detailed in the topic Connecting and Disconnecting Modules.

Info

The order in which we instance and connect modules is, with the exception of certain array connections, unimportant. We could have instanced and connected these modules in any order.

We are not connecting all of the modules at this time since we want to examine the simplest 2D kriging applications first and then make it more complex.

Let’s execute the analysis module, 2d estimation, in order to produce a model based on the data file we will select. You will need to have installed the Studio Projects specific to the version of Studio you have installed.

  • First, double-left-click on 2d estimation to open its properties so you can see the window below
  • Click on the Open button to the right of Filename and browse to Studio Projects/Analytic and Stratigraphic Modeling and choose railyard.apdv
  • Then click “Execute”.

2d estimation reads the analyte (e.g. chemistry) data and begins the kriging process. In a very short time, it calculates the estimated concentrations for the grid we selected.

While it runs, 2d estimation prints messages to the Information Window such as percentage completion.

When it is done, the Output Log will show two lines, which when expanded will display:

The viewer will promptly display a top view of the surface we have estimated. Your viewer should look like this:

In the Application window, please change the Z Scale to 10. This will create an artificial topography to our surface where elevations correlate to concentration.

With a simple rotation of our model we now have

With the kriging interpolation results from 2d estimation, the next step is to refine the visualization. This can be accomplished by subsetting the output to display only the regions that fall within a specific value range.

To begin, connect the 2d estimation module to a plume module, and then connect the plume module to the viewer. This directs the data flow through the plume module, which will perform the subsetting operation before rendering the final output.

Connecting 2d estimation to plume and plume to the viewer Connecting 2d estimation to plume and plume to the viewer

Initially, the viewer’s output may appear unchanged. This is because the 2d estimation and plume modules are rendering overlapping geometry. To isolate the output from plume, you can toggle the visibility of the 2d estimation module. Click the eye icon on the 2d estimation module in the Application Network to hide its output. This feature is essential for debugging complex applications, allowing you to focus on the output of specific modules.

Hiding the 2d estimation module output Hiding the 2d estimation module output

After hiding the upstream module, the viewer updates to show only the geometry from the plume module. The visualization is now more informative, displaying only the areas of interest where the TOTHC value is above 3.06. This default level was automatically determined from the data entering the plume module as a starting point for you to estimate a suitable value in the data range.

Viewer showing only the plume module output Viewer showing only the plume module output

You can easily customize this filtering behavior. To demonstrate, select the plume module by double-clicking it. In the Properties window, set the Subsetting Level to 100.

The viewer immediately reflects these changes. As a result, it now renders only the regions with a TOTHC value above 100, effectively further reducing the areas of high concentration. This feature allows you to interactively explore your data and isolate different phenomena within the dataset.

Subsections of Workbook 3: Exporting from Excel to C Tech File Formats

Begin by selecting the “Generate EVS Input” button in the Main Toolbar, and select AIDV File.

Let’s browse to the folder shown and select the file fuel-storage-gw.xlsx

You’ll need to select the appropriate table in the file. Some may have several, this one has only one named FuelStorage. Once you do, the program will attempt to automatically choose settings for you, but as you can see below, it isn’t perfect.

Since Xylene starts with the letter “X”, it was chosen as the X Coordinate. This is clearly wrong, however, everything else along the left side is correct. By default, the Data Components list will select whatever is left over. Sometimes this is handy, but often, and in this case it is excessive. This excel table includes water table and bottom of model elevations that we will want for a .GEO file, but not for the AIDV file. So we’ll need to make quite a few changes.

It also can’t know the correct units for your analytes nor your coordinate units. It is your responsibility to make sure these are correct or change them.

The last thing you MUST do is determine and choose a Max Gap parameter. This parameter takes some understanding to properly determine. I’ve looked at this excel file in detail and the screen intervals vary from 0.26 to 35.1 meters in length. The Max Gap parameter is the longest length we will allow to be converted into a single point when we convert intervals to points for kriging. I would recommend setting it to 5 for this data file. That means that any interval less than 5 meters will be represented by a single point at the center of the interval. Intervals longer than 5 meters will be represented by two or more points. Choosing a value too small will create oversampling along the Z direction and too large can result in plumes which become disconnected in Z. Fortunately there tends to be a large range of reasonable values. For this dataset, I expect that good results can be obtained with values ranging from 1 to 12.

With all of our settings correct as shown above, all we need to do is click the Generate AIDV File button, and let’s call the file btx.aidv.

Info

I also want to point out the option “Empty Cells are Non-Detects”. In general this toggle should be off. Normally empty cells are interpreted as being Not-Measured. It is rare that an empty cell should be a non-detect, which also means that you have no information about detection limits.

Our last two tasks will be to take a look at the file in a text editor and confirm that it works in Earth Volumetric Studio.

Although Windows comes with Notepad, it is really a very poor text editor since it lacks line numbers, column numbers, and the ability to handle large files. There are many freeware text editors, but the one we like is Notepad++.

Begin by selecting the “Generate EVS Input” button in the Main Toolbar, and select APDV File.

Note: this topic builds upon Creating AIDV Files and assumes that you have completed that topic.

Let’s browse to the folder shown and select the file Railyard-soil.xlsx

This file has three sheets and for this example, we’ll choose the second one. This particular sheet has Z coordinates represented as both true Elevation and Depth below ground surface. Both are commonly used and it is not uncommon to see both in a database as a convenience for people working with the data. Our exporter can use either one and there is no technical advantage of one over the other. However, the data file created will retain the Z coordinate option selected.

Since we used True Elevations for AIDV files, let’s work with Depths this time. The correct settings are:

Please note that Top, which is our Ground Surface must be in true elevation since it is the reference surface used to define depths. Depths are always positive numbers with greater depth corresponding to lower elevations.

With all of our settings correct as shown above, all we need to do is click the Generate APDV File button, and let’s call the file railyard-tothc.apdv.

In notepad++ our file looks like:

and if we look at this file in Studio with Z-Scale of 5 it is:

Begin by selecting the “Generate EVS Input” button in the Main Toolbar, and select GEO File.

Let’s browse to the folder shown and select the file fuel-storage-gw.xlsx since we mentioned that this file had three surface which we can use for stratigraphic geology. In this case the three surfaces define just two layer which correspond to the vadose and saturated regions, however, that is an important minimal geology file for working with groundwater data.

If we select the only table, choose the correct settings and scroll to the far right we can see the fields that represent our bottom two surfaces:

Based on the values for both surfaces, it is clear they are Elevations and not Depths. For the Surfaces selectors, we don’t choose Ground because it is already selected as the Top Surface. This file will have three surfaces defining two layers.

With all of our settings correct as shown above, all we need to do is click the Generate AIDV File button, and let’s call the file btx.geo.

Since geo files are rather boring in post_samples, let’s do something a bit more interesting with this data.

Below is our application and its output. We cheated a bit and I want to explain where and why.

We’ve kriged groundwater data into both layers of our model. However it doesn’t make sense to ever display or do any volumetric analysis of groundwater data in the vadose zone. We could have used the subset horizons module to get only the single bottom layer corresponding to the saturated zone (aquifer) but if we did that, we wouldn’t have both stratigraphic layers which we are displaying with the external_edges module and could display with a variety of other techniques. In that case we would need to create a parallel path in our application where we would use horizons to 3d to create either the top layer only or both layers in order to display the geology separate from the groundwater chemistry.

So we cheated and kriged into both layers, but we used the select cell sets module to turn off the upper layer before we display the plume with plume_shell. If we wanted to do volumetrics, we would be sure to only do so for the bottom layer. Other than a few seconds used to krige into the vadose layer we’ve managed to get by with a simpler application.

Begin by selecting the “Generate EVS Input” button in the Main Toolbar, and select PGF File.

We’ll choose lithology-data.xlsx and its only table, DEMO.

When you look at the table, it is clear that we have a Start and End (Top and Bottom), which means that we need to select the “Rows Are Intervals” toggle in the upper left. This toggle allows us to select separate X-Y-Z coordinates for the Start and End to handle non-vertical borings, but if the borings are vertical, both X and Y columns can be the same.

This is another table where we could work in Depths or Elevations. However for a PGF file, the file itself is always in Elevation, so if you choose depth, it just does the conversion before creating the file. We’ll just use the elevation fields directly. However, always make sure you’ve selected the right ones and be consistent.

With all of our settings correct as shown above, all we need to do is click the Generate PGF File button, and let’s call the file litho.pgf.

Below is the file in Notepad++

We can now load this file in post samples, where we can see that this dataset spans a very large set with borings in three distinct groupings. We need a Z-Scale of 50 to be able to see the borings well.

  • Data Requirements Overview

    The collection and formatting of data for volumetric modeling is often the most challenging task for novice EVS users. This tutorial covers the instru

  • Creating a Simple Application

    Let's begin by creating a very simple application. In the Modules pane in the Application window, type p in the Search for Module section.

  • Viewing PGF Files

    With the simple application from the previous topic, let's read a PGF file and see that data represe

  • Viewing GEO Files

    To view a GEO file, the process is nearly identical as with PGF.

  • Viewing GMF Files

    GMF files are different than most other C Tech file formats in that the data is specifically NOT associated

  • Viewing APDV Files

    APDV files represent analyte data which is measured at points. The data can be collected at scattered loca

  • Viewing AIDV Files

    AIDV files represent analyte data which is measured over an interval. The data is inherently collected alo

Subsections of Workbook 4: Understanding 3D Data

The collection and formatting of data for volumetric modeling is often the most challenging task for novice EVS users. This tutorial covers the instructions for preparing and reviewing all types of data commonly used in Earth Science modeling projects.

The next topics will demonstrate how to visualize these file formats, helping to ensure the quality and consistency of your data.

The following guidelines will simplify your data preparation:

  • Use a single consistent coordinate projection (e.g. UTM, State Plane, etc.) for all data files used on a project, ensuring that X, Y and Z coordinate units are the same (e.g. meters or feet).
  • For each file, you must know whether your Z coordinates represent Elevation or Depth below ground surface (most EVS data formats will accommodate both)
  • Understand the data formats and what they represent. Below is a list of C Tech’s primary ASCII input file formats:
    • Geologic Data
      • PGF: A PGF file can be considered a group of file sections where each section represents the lithology for individual borings (wells). Typical borings logs can be easily converted to PGF format, and many boring log software programs export C Tech’s PGF format directly.
      • GEO: This file format represents a series of stratigraphic horizons which define geologic layers. GEO files are limited to data collected from vertical borings and require interpretation to handle pinched layers and dipping strata. The create stratigraphic hierarchy module may be used to create GEO files from PGF files, though they can be created in other ways.
      • GMF: This file format represents a series of stratigraphic horizons which define geologic layers. GMF files are not limited to vertical borings as GEO files are. Each horizon can have any number of X-Y-Z coordinates, however interpretation is still required to handle pinched layers and dipping strata. The create stratigraphic hierarchy module may be used to create GMF files from PGF files.
    • Analytical Data
      • Analytical Data files can be used for many types of data and industries including:
        • Chemical or assay measurements
        • Geophysical data (density, porosity, conductivity, gravity, temperature, seismic, resistance, etc.)
        • Oceanographic & Atmospheric data (conductivity, temperature, salinity, plankton density, etc.)
        • Time domain data representing any of the above analytes
      • APDV: The Analytical Point Data Values (.apdv) format should be used for all analytical data which is (effectively) measured at a point. Even data which is measured over small consistent (less than 1-2% of vertical model extent) intervals should normally be represented as being measured at a single point (X-Y-Z coordinate) at the midpoint of the interval. Time domain data for a single analyte should use this format.
      • AIDV: The Analytical Interval Data Values (.aidv) format should be used for all analytical data which is measured over a range of elevations (depths). Data which is measured over variable intervals, usually exceeding 2% of vertical model extent should use this format. Time domain data for a single analyte should use this format.
  • The C Tech Data Exporter will export the above formats for data in Excel files and Microsoft Access databases. In all cases, the data source must contain sufficient information to create the desired output.

It is important to view your data prior to using it to build a model. There are many common file errors that can be quickly detected by viewing your raw data files, including:

  • Transposing X & Y (Easting and Northing) coordinates
  • Using Depth or Elevations incorrectly
  • Consistency of geologic and analytical data

Let’s begin by creating a very simple application. In the Modules pane in the Application window, type p in the Search for Module section.

Notice that as soon as you type p, only those modules which start with this letter are displayed. The one we want in the first one listed, “post samples”.

We now want to copy the post_samples module into our Application window. We do this using the mouse. Left-click on “post samples” in the Modules window and hold the mouse down. Drag post samples to the Application Network window and place it above the viewer as shown below.

Note that post samples has a red border along the bottom. This tells us that the module has not yet run. This visual indication is very useful, especially with complex applications.

The next step is to connect post samples and the viewer. You can see that the only port color they have in common is red. Left-click in the red output port of post samples:

Then, while holding down the left-mouse, drag a short distance from the port, but near the thin-red connection, until the connection becomes bolder.

At this point, release the left mouse button and the connection is made. The reason for the thin and bolder lines is that there are often multiple modules that can be connected. All will be shown thin, but only the connection which is closest to the cursor will be bold.

Deleting a connection

If we make an incorrect connection, we can delete the connection. To delete the connection, merely click on it to highlight it and then press the Delete key on your keyboard.

With the simple application from the previous topic, let’s read a PGF file and see that data represented in the viewer.

Double-left-click on post samples in the Application Network window to make its settings editable in the Properties window.

post samples will automatically adjust many of its settings based on the type of file read. Click on the Open button and browse to the Lithologic Geologic Modeling folder in Studio Projects and select dipping_strata_lens.pgf.

post samples will automatically run and your viewer should show a top view of:

By default, we are seeing a top view of the borings represented in the PGF file. Using the left mouse button, rotate the view so you can see the 3D borings which are colored by lithology (geologic material).

The image above demonstrates the default display of PGF (pregeology) files. The lithology intervals are colored by material and spheres are located at the beginning and end of each interval.

The colors represent material and range from purple (low) to orange-brown (high). Since this is geology, let’s add a legend to make it clear what materials correspond to our colors.

Type “l” in the Modules pane in the Application window and it will display

Copy legend to the Application (left-click and drag) and make the new connections as shown below

You can move the modules around so that your application and the associated connections between modules is as clear as possible. However, the arrangement (placement) of the modules does not affect how the application behaves. With legend our view becomes:

In the next topic, Viewing GEO Files, we’ll adjust colors

To view a GEO file, the process is nearly identical as with PGF.

Replace post_samples with a fresh instance of the module because when we read different file types, there are many settings in post samples which can change:

Click on the Open button and browse to the Lithologic Geologic Modeling folder in Studio Projects and select railyard_pgf.geo.

Your viewer (after rotating) should show:

Your first question might be, why are the borings so short?

Welcome to the real world. In the last topic we were dealing with a site where the z-extent was comparable to the x & y extents. But for this site, the z extent is 5-10% of the x-y extent. In order to better see the Stratigraphy represented by our .GEO file, we need to apply some vertical exaggeration, which we also refer to as Z-Scale.

We find the Z-Scale parameter in one of 2 places. Either at the top of the Application window:

or in the Application Properties. To get to the Application Properties, double click on any blank space (not on a module or connection) in the Application.

Notice if we change it here, to be 5, it changes on the Home tab and in every module which has a Z-Scale. Our viewer now shows:

Please note: We could have changed the Z-Scale in post samples, but by doing so, we would have broken its link to the Global Z-Scale on the Home tab and Application Properties. In general you want all modules to share the Global Z-Scale, but there are times when you want control on a module-by-module basis. That is why we allow both.

GMF files are different than most other C Tech file formats in that the data is specifically NOT associated with borings. GMF files can be viewed using post samples, but file statistics can often be more useful, especially when dealing with large datasets.

Let’s build a new application:

file statistics (and post samples) will only display a single surface of a GMF file at one time. The advantage of file statistics is that it will provide the extents and basic statistics information. The Data Component parameter determines which surface is displayed. 0 (zero) is the first surface.

file statistics outputs points which are colored by elevation (for GMF files).

Double click on file statistics and select the file Reference\bottom.gmf. In the Application window at the top or the Application Properties, make sure the Z-Scale is set to 5.0.

The viewer should show:

In the view above, each point is displayed as a single pixel point. You can increase the size to be a square of 2x2 pixels or larger using the Point Width parameter.

When file statistics runs, it provides the following information to the Information window.

Note that Number of Bins was set to 10, and Detailed Statistics was turned on.

APDV files represent analyte data which is measured at points. The data can be collected at scattered locations or along borings. When boring IDs are included in the file, post samples will draw the borings as well as the samples.

Create the following application. It is nearly identical to the application used for PGF files, but we do not need to connect the yellow port which contains geology or lithology names, as those are not applicable to APDV (or AIDV) files. However, if you do connect it, it won’t hurt anything.

Double click on post samples to open its Properties window. Select Analytic and Stratigraphic Modeling\railyard.apdv and change the Z Scale to 5 on the Application window or Application Properties.

to show the following in the viewer.

post samples has many options for displaying this type of data (also applicable to PGF, GEO, AIDV). These include (but are not limited to):

  • displaying the data as colored tubes (with or without spheres/glyphs)
  • using different glyphs to represent each sample (a sphere is the default glyph)
  • changing the diameter of glyphs or tubes based on the data magnitudes
  • labeling the samples and/or borings

Let’s see the four options above:

It is easy to display colored tubes. You can scroll down to the Color Tubesoption in the “Properties” cagtegory.

Check the Color Tubes option:

To change glyphs is incredibly simple. We just go to the Glyph Settings, and we’ll change the Generated Glyph to be Cube instead of the default Sphere, and we’ll also set the Maximum Scale Factor to be 200%

Since we’ve still left colored tubes on, our viewer shows:

Before we make any other changes let’s uncheck the Color Tubes option again which will change our view to be:

Finally, we’ll add labels at each sample and the top of the borings:

When working with dense datasets, sample labels can become cluttered and difficult to read. The post samples module includes label subsetting features to resolve this by intelligently blanking labels to improve clarity. This functionality is controlled by the Label Subsetting option in the Label Settings category.

For example, if you set the Z Scale in the Application Properties to 1.0 and zoom in on a boring with dense data, such as CBS-6, you will see the problem of overlapping and unreadable labels:

Overlapping sample labels on boring CBS-6 Overlapping sample labels on boring CBS-6

To resolve this, locate the Label Subsetting option and set it to Blank Labels.

Label Subsetting option set to Blank Labels Label Subsetting option set to Blank Labels

By default, Label Subsetting is set to None. Changing it to Blank Labels enables collision detection, which hides lower-priority labels that overlap with higher-priority ones. Label priority is determined by the sample’s value, with higher values taking precedence. Well labels, if enabled, are always given the highest priority. The result is a much cleaner and more informative visualization.

Before: No BlankingAfter: Blanking Enabled
Labels with no blanking Labels with no blankingLabels with blanking enabled Labels with blanking enabled

You can further refine the display using the following settings:

  • Blanking Factor: This setting controls the size of the buffer around each label used for collision detection. Increasing this value creates more space around labels, potentially blanking more of them.
  • Boring Min/Max: This mode displays only one sample label per boring, either the one with the highest or lowest value. The Favor Min Value toggle determines which is shown.

AIDV files represent analyte data which is measured over an interval. The data is inherently collected along borings. Boring IDs are required in the file, and post samples will draw the borings as well as the sample intervals.

Create the following application. It is identical to the application used for APDV files.

Let’s read the file in Studio Projects: Analytical (Contaminant) Modeling\fuel-storage-deep-benz.aidv

By default, post samples will display AIDV files as intervals of colored tubes representing the top and bottom of each sample screen.

This dataset spans 779 feet in Z. One of our default settings is “Color Separation which colors the borings light-and-dark grey alternating every 10 units (feet) in depth. We want to change that parameter to be 100 feet for this data.

Packaging data into your Applications has many advantages including:

  • Integrating your application into a single file
  • Making your application easier to share with others
  • Ensuring the correct version of data files are associated with the application
  • Minimizing or eliminating the possibility of application corruption should one or more files become modified or lost
  • Packaged applications generally load faster

Generally you would not package data into an application during the early development of your project models. As we teach in our video tutorials we recommend that you frequently save your applications with a modified name (such as a serial number or -letter) so if you find you’ve gone down a wrong path you can go back to your last correct version.

I often find that it is best to work with a coarser resolution to keep compute times low and segregate my tasks depending on the scope of the project. Only once your work is nearing a final stage or you need to make interim deliverables to teammates would it make sense to package data with your application.

Subsections of Workbook 5: Packaging Data Into Your Applications

Packaging a single file is very simple, but is seldom necessary since you will generally use the option to package all of the files in your application.

In every module with a file browser, you merely click on the drop-down button shown next to any filename property, and a Package button will appear.

To view your Packaged Files, click on Packaged Files button in the Main Toolbar:

Which will open the Packaged Files window, if not open already.

When a module is reading a packaged file, the file appears in the browser as light-blue text with no apparent path. However, if you hover over the file, you will see the path as:

package://fuel-storage-deep-benz.aidv

Once one or all files are packaged in a .EVS application, when you save the application, the data files will be saved “in” the .EVS file.

See more in the Packaged Files topic.

To Package all files in an Application, open the Packaged Files window and merely press the Package All Files in an Application button.

For the application railyard-looped-cut.intermediate.evs, the list of packaged files are:

Once one or all files are packaged in a .EVS application, when you save the application, the data files will be saved “in” the .EVS file.

Note: The EVS modules requiring special treatment will be properly and automatically handled when using the Package All Files in an Application button.

Using a file that has been added to an application’s packaged data is easy, but is a bit different. The process involves selecting the file in the Packaged Files window with the left mouse and dragging and dropping it onto the file browser of the module where you wish to use it.

Below, we drop the railyard.apdv file from the Packaged Files onto the file browser of post samples #1

When we drop (release) the file it appears in the browser as light-blue text

Several EVS modules require special treatment in order to package their data. We summarize the main reasons why this is required for each module, but we will explain some of the reasons and advantages of the post-treatment application.

The affected modules are:

  1. import vector_gis
  2. overlay_aerial
  3. import wavefront obj

In general, these modules read file formats which are often not single file formats. The conversion during packaging converts the usable data to a single, packaged file in a format usable by EVS. In addition, steps are often taken to pick a format which will allow for smaller file sizes.

  • import vector gis

    The packaging process converts these files to binary EVS Field Files (.efb files) and requires replacing the original modules with a new read evs fiel

  • overlay aerial

    The special treatment for overlay aerial is quite different. Packaging is problematic when a module reads a file, but that process results in reading

Subsections of Modules Requiring Special Packaging Treatment

The packaging process converts these files to binary EVS Field Files (.efb files) and requires replacing the original modules with a new read evs field module. In this simple application:

The shapefile actually consists of a set of 5 files which total 749 KB.

The import vector gis module, now has a “Convert to Packaged” button, which when we click on it does the following:

  • Automatically replaces import vector gis with a read evs field module which is named based on the data file being read.
  • Creates the efb file for you and adds it to your packaged data files
    • It is half as big as the total shapefiles, and will load in less than 1/10th of the time

The special treatment for overlay aerial is quite different. Packaging is problematic when a module reads a file, but that process results in reading additional files (as with shapefiles). This also occurs with imagery when orthorectified images include an image file and a georeferencing file (e.g. world file, .gcp file, etc.).

To resolve this, overlay aerial’s “Convert to Packaged” button creates a GeoTIFF file that is both cropped and matched to the specified resolution in overlay aerial. This creates a new single image file which is generally dramatically smaller than the original files which were read. Your application is unchanged except that the Filename specified in overlay aerial will reference the new packaged geotiff file created by this process.

When a volumetric model is created, we generally use geostatistics to estimate (interpolate and extrapolate) data into the volume based on sparse measurements. The algorithm used is called kriging, which is named after a South African statistician and mining engineer, Danie G. Krige who pioneered the field of geostatistics. Kriging is not only one of the best estimation methods, but it also is the only one that provides statistical measures of quality of the estimate.

The basic methodology in kriging is to predict the value of a function at a given point by computing a weighted average of the known values of the function in the neighborhood of the point. The method is mathematically related to regression analysis. Both derive a best linear unbiased estimator, based on assumptions on covariances and make use of Gauss-Markov theorem to prove independence of the estimate and error.

The combination of kriging and volumetric modeling provides a much more feature rich model than is possible with any model that is limited to external surfaces and/or simpler estimation methods such as IDW or FastRBF. It allows us to perform volumetric subsetting operations and true volumetric analysis, and we can defend the quality of our models based on the limitations of our data.

In the coal mining industry, we can determine the quantity and quality of coal and its financial value. We can assess the amount and extraction cost of excavating overburden layers that must be removed or whether it is more cost effective to use tunneling to access the coal.

In the field of environmental engineering, where our software was born, volumetric modeling allows us to determine the spatial extent of the contamination at various levels as well as compute the mass of contaminant that is present in the soil, groundwater, water or air. During remediation efforts, this is critical, since we must confirm that the mass of contaminant being removed matches the reduction seen in the site, otherwise it is a clue that during the site assessment we have not found all the sources of contamination. This can result in remediation efforts which create contamination in some otherwise clean portions of the site.

The kriging algorithm provides us with only one direct statistical measure of quality, and that is Standard Deviation. However, C Tech uses Standard Deviation to compute three additional metrics which are often more meaningful. These are:

  • Standard Deviation

    Inherent in the kriging process is the determination of the expected error or Standard Deviation at each estimated point. As we approach the location

  • Confidence

    The Confidence values are the answer to a question, and the wording of the question depends on whether you are Log Processing your data or not.

  • Uncertainty

    At first glance, confidence seems to be a reasonable measure of site assessment quality. If the confidence is high (and we are asking the right questi

  • Min Max Estimate

    Both krig_2d and 3d estimation include the ability to compute the Minimum and Maximum Estimate, which is computed using the nominal estimates and sta

Subsections of Workbook 6: Geostatistics Overview

Inherent in the kriging process is the determination of the expected error or Standard Deviation at each estimated point. As we approach the location of our samples, the standard deviation will approach zero (0.0) since there should be no error or deviation at the measured locations.

The units of standard deviation are the same as the units of your estimated analyte.

The figure below shows why one standard deviation corresponds to 68% of the occurences, whereas three sigma (standard deviations) covers 99.7%

At a particular node in our grid, if we predict a concentration of 50 mg/kg and have a standard deviation of 7 mg/kg , then we can say that we have a ~68% confidence that the actual value will fall between 43 and 57 mg/kg.

The computation of the expected Minimum and Maximum estimates for a given Confidence level is what our Min/Max Estimate provides.

The Confidence values are the answer to a question, and the wording of the question depends on whether you are Log Processing your data or not.

  • For the “Log Processing” case the question is: What is the “Confidence” that the predicted value will fall within a factor of “Statistical Confidence Factor” of the actual value?
  • For the “Linear Processing” case, the question is: What is the “Confidence” that the predicted value will fall within a +/- tolerance “Statistical Confidence Tolerance” of the actual value?

So if your “Statistical Confidence Factor” is 2.0 as shown for a Log Processing case above, the question is:

What is the “Confidence” that the predicted value will fall within a factor of 2.0 of the actual value?

The confidence is affected by your variogram and the quality of fit, but also by the range of data values and the local trends in the data where the Confidence estimate is being determined.

If your data spans several orders of magnitude, the confidences will be lower and if your data range is small the confidences will be higher depending also on the settings you use.

If the “Statistical Confidence Factor” were set to 10.0, because we are working on a log10 scale, EVS would take the log10 of the Statistical Confidence Factor (the value was 10, so the log is 1.0). It then compares the log concentration values and a corresponding standard deviation that was calculated for every node in our domain. For log concentrations, one unit is a factor of ten, therefore we are asking what is the probability that we will be within one unit. Above, where the Statistical Confidence Factor is 2.0, the questions would have been: What is the confidence that the predicted concentration will be within a factor of 2 of the actual concentration?

The actual calculation to determine confidence requires the standard deviation of the estimate at a node, and the Statistical Confidence Factor. The figure below shows the confidence (as the shaded area under the “bell” curve) for a Statistical Confidence Factor of 10 at a node where the predicted concentration was 10 ppm (1.0 as a log10 value) and the standard deviation for this point was 1.1 (in log10 units). For this example, the confidence would be ~64%, which means that 64% of the time, the value would lie in the shaded region.

For example, consider the case where we are estimating soil porosity, and the input data values are ranging from 0.12 to 0.29. We would want to use “Linear Processing”, and since our values fall within a tight range of numbers we might want to use a “Statistical Confidence Tolerance” that was 0.01. The confidence values we would compute would then be based upon the following question:

What is the “Confidence” that the predicted porosity value will be within 0.01 of the actual value?

If we were careless and used a “Statistical Confidence Tolerance” of 1.0 all of our confidences would be 100% since it would be impossible to predict any value that would be off by 1.0.

However, if we used a “Statistical Confidence Tolerance” of 0.0001, it is likely that our confidence values would drop off very quickly as we move away from the locations where measurements were taken.

At first glance, confidence seems to be a reasonable measure of site assessment quality. If the confidence is high (and we are asking the right question), we can be assured of the reasonableness of the predicted values. You might be tempted to collect samples everywhere that the confidence was low, and if you did, your site would be well characterized.

But, there is a better, more cost-effective way. Instead of focusing on every place where confidence was low, we could focus on only those locations where there was low confidence and where the predicted concentration was reasonably high. We make that easy by providing the Uncertainty.

In EVS, uncertainty is high where concentrations are predicted to be relatively high (above the Clip Min), but the confidence in that prediction is low. If the goal is to find the contamination, using uncertainty allows for more rapid, cost effective site assessment. Uncertainty is the core of our DrillGuideTM technology which performs successive analyses using the location of Maximum Uncertainty to select new locations for sampling on each analysis iteration.

NOTICE: Uncertainty values should be considered unitless and their magnitudes cannot directly be used to assess the quality of a site assessment. Please observe the following precautions:

  • Use Uncertainty as it was intended, as a guide to locations needing additional characterization.
  • Do not use Uncertainty values directly to assess the quality of a site assessment
  • A 50% reduction in Uncertainty magnitude cannot be construed as a 50% improvement in site assessment.

Our training videos cover the use of DrillGuide and how to properly use and interpret Uncertainty.

Both krig_2d and 3d estimation include the ability to compute the Minimum and Maximum Estimate, which is computed using the nominal estimates and standard deviations at every grid node based upon the user input Min-Max Plume Confidence.

The issue with our MIN or MAX plumes is that they represent the statistical Min or Max at every point in the grid. It is quite unrealistic to believe that you could possibly have a case where you’d find the actual concentration would trend towards either the Min or Max at all locations.

C Tech’s Fast Geostatistical Realizations^®^ (FGR^®^) creates more plausible cases (realizations) which allow the Nominal concentrations to deviate from the peak of the bell curve (equal probability of being an under-prediction as an over-prediction) by the same user defined Confidence. However, FGR^®^ allows the deviations to be both positive (max) and negative (min), and to fluctuate in a more realistic randomized manner.

For the case of Max Plume and 80% confidence, at each node, a maximum value is determined such that 80% of the time, the actual values will fall below the maximum value (for that nominal concentration and standard deviation). This process is shown below pictorially for the case of a nominal value of 10 ppm with a standard deviation of 1.1 (log units). For this case, the maximum value at that node would be ~84 ppm. This process is repeated for every node (tens or hundreds of thousands) in the model.

Note that for this plot, the entire left portion of the bell curve is shaded. If we were assessing the minimum value, it would be the right side. Statistically, we are asking a different type of question than when we calculate confidence for our nominal concentrations.

If this Confidence value were set to ~81% then we would be adding one standard deviation to the nominal estimate to create the Max and subtracting one standard deviation to create the Min. The higher you set the Min-Max Plume Confidence the greater the multiplier for standard deviations which are added/subtracted to create the Max/Min.

Even though Min & Max Estimates may not be realistic “realizations” of a likely site state, they still provide the best technique to determine when your site is adequately characterized. Some sites may have very complex contaminant distributions and high gradients while others may be very simple. Applying a single standard for sampling based on fixed spacing will never be optimal.

It is up to the regulators and property owners to determine the ultimate criteria, but generally having the ability to assess the variation in the expected plume volume and the corresponding variation in analyte mass within, provides the best metric for assessing when a site has been sufficiently characterized.

Visualization Fundamentals

This section covers the foundational concepts for understanding how data is visualized in Earth Volumetric Studio.

  • Data Content Requirements

    As defined above, our discussion of environmental data will be limited to data that includes spatial information. When spatial data is collected with

  • Direct Data Visualization

    Many methods of environmental data visualization require mapping (interpolation and/or extrapolation) of sparse measured data onto some type of grid.

  • Gridding and Dimensionality

    Although there is great value in directly visualizing measured data; it does have many limitations. Without mapping sparse measured data to a grid, co

  • Rectilinear Grids

    Rectilinear (a.k.a. uniform) grids are among the simplest type of grid. The grid axes are parallel to the coordinate axes and the cells are always rec

  • Convex Hull

    The convex hull of a set of points in two-dimensional space is the smallest convex area containing the set. In the x-y plane, the convex hull can be v

  • Triangular Networks

    Triangular networks are defined as grids of triangle or tetrahedron cells where all of the nodes in the grid are exclusively those in the sample data.

  • Estimation Methods

    Spatial interpolation methods are used to estimate measured data to the nodes in grids that do not coincide with measured points. The spatial interpolation methods differ in their assumptions, methodologies, complexity, and deterministic or stochastic nature. Inverse Distance Weighted Inverse distance weighted averaging (IDWA) is a deterministic estimation method where values at grid nodes are determined by a linear combination of values at known sampled points. IDWA makes the assumption that values closer to the grid nodes are more representative of the value to be estimated than samples further away. Weights change according to the linear distance of the samples from the grid nodes. The spatial arrangement of the samples does not affect the weights. IDWA has seen extensive implementation in the mining industry due to its ease of use. IDWA has also been shown to work well with noisy data. The choice of power parameter in IDWA can significantly affect the interpolation results. As the power parameter increases, IDWA approaches the nearest neighbor interpolation method where the interpolated value simply takes on the value of the closest sample point. Optimal inverse distance weighting is a form of IDWA where the power parameter is chosen on the basis of minimum mean absolute error.

  • Surfaces

    The choice of surface rendering technique has a dramatic impact on model visualizations. Figure 1.25 is a dramatization that incorporates many common

  • Color

    The choice of color(s) to be used in a visualization affects the scientific utility of the visualization and has a large psychological impact on the a

  • Color Printing Issues

    The following provides hints and tips for obtaining optimal quality when printing. This assumes you are using a color printer, but it is important to

  • Model Subsetting

    Once the model of the site has been created, visually communicating the information about that site generally requires subsetting the model. Subsettin

Subsections of Visualization Fundamentals

As defined above, our discussion of environmental data will be limited to data that includes spatial information. When spatial data is collected with a GPS (Global Positioning Satellite) system, the spatial information is often represented in latitude and longitude (Lat-Lon). Generally, before this data is visualized or combined with other data, it is converted to a Cartesian coordinate system. The process of converting from Lat-Lon to other coordinate systems is called projection. Many different projections and coordinate systems can be used. The single most important thing is maintaining consistency. Projecting this data is especially necessary for three-dimensional visualization because we want to maintain consistent units for x, y, and z coordinates. Latitude and longitude angle units (degrees, minutes and seconds) do not represent equal lengths and there is no equivalent unit for depth. Projections convert the angles into consistent units of feet or meters.

analyte (e.g. chemistry)

analyte (e.g. chemistry) data files must contain the spatial information (x, y, and optional z coordinates) as well as the measured analytical data. The file should specify the name of the analyte and should include information about the detection limits of the measured parameter. The detection limit is necessary because samples where the analyte was not detected are often reported as zero or “nd”. It is generally not adequate (especially when logarithmically processing this data) to merely use a value of 0.0.

If we want to be able to create a graphical representation of the borings or wells from which the samples were taken, the analyte (e.g. chemistry) data file should also include the boring or well name associated with each sample and the ground surface elevation at the location of that boring.

The chapter on analyte (e.g. chemistry) Data Files includes an in-depth look at the format used by C Tech Development Corporation’s Environmental Visualization System (EVS).

Geology

Geologic information is considerably more difficult to represent in a single, unified data format because of its nature and complexity. Geologic data files can be grouped into one of two classes, those representing interpreted geology and those representing boring logs. By some definitions, boring logs are interpreted since a geologist was required to assign materials based on core samples or some other quantitative measurements. However, for this discussion interpreted geology data will be defined as data organized into a geologic hierarchy.

C Tech’s software utilizes one of two different ASCII file formats for interpreted geologic information. These two file formats both describe points on each geologic surface (ground surface and bottom of each geologic layer), based on the assumption of a geologic hierarchy. Simply stated, geologic hierarchy requires that all geologic layers throughout the domain be ordered from top to bottom and that a consistent hierarchy be used for all borings. At first, it may not seem possible for a uniform layer hierarchy to be applicable for all borings. Layers often pinch out or exist only as localized lenses. Also layers may be continuous in one portion of the domain, but are split by another layer in other portions of the domain. However, all of these scenarios and many others can be usually be modeled using a hierarchical approach.

image\\heir1.jpg image\\heir1.jpg

The easiest way to describe geologic hierarchy is with an example. Consider the example above of a clay lens in sand with gravel below.

Imagine borings on the left and right sides of the domain and one in the center. Those outside the center would not detect the clay lens. On the sides, it appears that there are only two layers in the hierarchy, but in the middle there are three materials and four layers.

EVS’s & MVS’s hierarchical geologic modeling approach accommodates the clay lens by treating every layer as a sedimentary layer. Because we can accommodate “pinching out” layers (making the thickness of layers ZERO) we are able to produce most geologic structures with this approach. Geologic layer hierarchy requires that we treat this domain as 4 geologic layers. These layers would be Upper Sand (0), Clay (1), Lower Sand (2) and Gravel (3).

image\\heir2.jpg image\\heir2.jpg

If desired, both Upper and Lower Sand can have identical colors or hatching patterns in the final output.

Figure 0.1 Geologic Hierarchy of Clay Lens in Sand

When this geologic model is visualized in 3D, both Upper and Lower Sand can have identical colors or hatching patterns. Since the layers will fit together seamlessly, dividing a layer will not change the overall appearance (except when layers are exploded).

For sites that can be described using the above method, it is generally the best approach for building a 3D geologic model. Each layer has smooth boundaries and the layers (by nature of hierarchy) can be exploded apart to reveal the individual layer surface features. An example of a much more complex site is shown below in Figure 1.3. Sedimentary layers and lenses are modeled within the confines of a geologic hierarchy.

image\\img00001.jpg image\\img00001.jpg

Figure 0.2 Complex Geologic Hierarchy

The hierarchical borehole based geology file format used for Figure 1.3 is described in the chapter on Borehole Geology Files.

With C Tech’s EVS software, there are two other geology file formats. One of them is a more generic format for interpreted (hierarchical) geologic information. With that format; x, y, and z coordinates are given for each surface in the model. There is no requirement for the points on each surface to have coincident x-y coordinates or for each surface to be defined with the same number of points. The borehole geology file format described above could always be represented with this more generic file format.

The last file format is used to represent the materials observed in each boring. Borings are not required to be vertical, nor is there any requirement on the operator to determine a geologic hierarchy. C Tech refers to this file format as Pregeology referring to the fact that it is used to represent raw 3D boring logs. This format is also considered to be “uninterpreted”. This is not meant to imply that no form of geologic evaluation or interpretation has occurred. On the contrary, it is required that someone categorizes the materials on the site and in each boring.

In C Tech’s EVS software, the raw boring data can be used to create complex geologic models directly using a process called Geologic Indicator Kriging (GIK). The GIK process begins by creating a high-resolution grid constrained by ground surface and a constant elevation floor or some other meaningful geologic surface such as rockhead. For each cell in the grid, the most probable geologic material is chosen using the surrounding nearby borings. Cells of common material are grouped together to provide visibility and rendering control over each material.

The pregeology file format is discussed in this chapter.

Many methods of environmental data visualization require mapping (interpolation and/or extrapolation) of sparse measured data onto some type of grid. Whenever this is done, the visualization includes assumptions and uncertainties introduced by both the gridding and interpolation processes. For these reasons, it is crucial to incorporate direct visualization of the data as a part of the entire process. It becomes the operator’s responsibility to ensure that the gridding and interpolation methods accurately represent the underlying data.

A common means for directly visualizing environmental data is to use glyphs. A “glyph” refers to a graphical object that is used as a symbol to represent an object or some measured data. For the purposes of this paper, glyphs will be positioned properly in space and may be colored and/or sized according to some data value. For a graphics display, the simplest of all glyphs would be a single pixel. A pixel is a dot that is drawn on the computer screen or rendered to a raster image. The issue of pixel size often creates confusion. Pixels (by definition) do not have a specific size. Their apparent size depends on the display (or printer) characteristics. On a computer screen, the displayed size of a pixel can be determined by dividing the screen width in inches or millimeters by the screen resolution in pixels. For example, a 19" computer monitor has a screen width of about 14.5 inches. If the “Desktop Area” is set to 1280 by 1024, the width of a pixel would be approximately 0.011 inches (~0.29 mm). If the “Desktop Area” were reduced, the apparent size of a pixel would increase.

There are virtually no limits to the type of glyph objects that may be used. Glyphs can be simple geometric objects (e.g. triangles, spheres, and cubes) or they can be representations of real-world objects like people, trees or animals.

Glyphs in 3D

It is once we move to the three-dimensional world that glyphs become much more interesting. In Figure 1.5, cubes (hexahedron elements) are positioned, sized and colored to represent chemical measurements made in soil at a railroad yard in Sacramento, California. Axes were added to provide coordinate references and this picture was rendered with perspective effects turned on. This results in a visualization where parallel lines do not remain parallel and objects in the foreground appear larger than those in the background.

Figure 0.4 Three-Dimensional Cubic Glyphs

When representations of the borings are added, the figure becomes much more useful. Figure 1.6 shows the sample represented by colored spheres and tubes represent the borings. The tubes are colored alternating dark and light gray where the color changes on ten-foot intervals. This provides a reference to allow the viewer to quickly determine the approximate depth of the samples. The borings are also labeled with their designation. These last two figures both represent the same data, however it is clear which one provides the most useful information.

Figure 0.5 Three-Dimensional Glyphs with Boring Tubes

Glyphs can also be used to represent vector data. The most commonly encountered vector data represents ground water flow velocity. In this case, the glyph is not only colored and sized according to the magnitude of the velocity vector, but the glyph can also be oriented to point in the vector’s direction. For this type of application, an assymetric glyph (as opposed to a sphere or cube) is used. Figure 1.7 uses a glyph that is referred to as “jet”. It is an elongated tetrahedron that points in the direction of the vector. The data represented in this figure is predicted velocities output.

Figure 0.6 Three-Dimensional Glyphs Representing Vector Data

Although there is great value in directly visualizing measured data; it does have many limitations. Without mapping sparse measured data to a grid, computation of contaminant areas or volumes is not possible. Further, the techniques available for visualizing the data are very limited. For these reasons and more, significant attention should be paid to the process of creating a grid into which the data will be interpolated and extrapolated.

For this paper, a grid is defined as a collection of nodes and cells. Nodes are points in two or three-dimensions with coordinates and usually one or more data values. The word “cell” and “element” are both used as a generic term to refer to geometric objects. The cell type and the nodes that comprise their vertices define these objects. Commonly used cell types are described in Table 1.1 and Figure 1.2.

Cell TypeNumber of NodesDimensionality
Point10
Line21
Triangle32
Quadrilateral42
Tetrahedron43
Pyramid53
Prism63
Hexahedron83

Table 1.1 Common Cell Types

Dimensionality refers to the space occupied by the cell. Points have do not have length, width, or height, therefore their dimensionality is zero (0). Lines are dimensionality “1” because they have length. Dimensionality 2 objects such as quadrilaterals (quad) and triangles have area and dimensionality 3 objects ranging from tetrahedrons (tet) to hexahedrons (hex) are volumetric. When creating a two-dimensional grid, areal cells are used and for three-dimensional grids, volumetric cells are used.

image\\ch11fig8.jpg image\\ch11fig8.jpg

Figure 1.2 Common Cell Types

Rectilinear (a.k.a. uniform) grids are among the simplest type of grid. The grid axes are parallel to the coordinate axes and the cells are always rectangular in cross-section. The positions of all the nodes can be computed knowing only the coordinate extents of the grid (minimum and maximum x, y and optionally z). Two-dimensional rectilinear grids are comprised of quadrilateral cells. For a 2D grid with i nodes in the x direction and j nodes in the y direction, there will be a total of (i - 1)*(j - 1) cells.

The connectivity of the cells (the nodes that define each cell) can be implicitly determined because the nodes and cells are numbered in an orderly fashion. The advantages of rectilinear grids include the ease of creating them and the uniformity of cell area in 2D and cell volume in 3D. The disadvantages are that grid nodes are generally not coincident with the sample data locations and large areas of the grid may fall outside of the bounds of the data. A simple two-dimensional rectilinear grid is shown in Figure 1.9.

Figure 0.8 Two-Dimensional Rectilinear Grid

Three-dimensional rectilinear grids offer the simplest method for gridding a volume. They are constrained to rectangular parallel piped volumes and have hexahedral cells of constant size. (See Figure 1.10) For some processes and visualization techniques such as volume rendering, this is advantageous and may even be required. For a grid having i by j by k nodes there will be (i-1) * (j-1) * (k-1) hexahedron cells whose connectivity can be implicitly derived.

Figure 0.9 Three-Dimensional Rectilinear Grid

Finite Difference

The following type of grid derives its name from the numerical methods that it employs. Simulation software such as the USGS’s MODFLOW utilizes a finite difference numerical method to solve equilibrium and transient ground water flow problems. This solution method requires a grid that contains only rectangular cells. However the cells need not be uniform in size. For two-dimensional grids, this results in rectangular cells, however it is possible that no two cells are precisely the same size. Some simulation software requires that finite difference grids be aligned with the coordinate axes. EVS does not impose this restriction, but it does provide a means to export the grid transformed so that the grid axes are aligned. Figure 1.11 shows a rotated 2D finite difference grid. Smaller cells are concentrated in areas of the model where there are significant gradients in the data. For groundwater simulations this is usually where wells are located. For environmental contamination it should be the location of spills or areas where DNAPL (dense non-aqueous phase liquids) contaminant plumes were detected. The smaller cells provide greater accuracy in estimating the parameter(s) of interest.

Figure 0.10 Two-Dimensional Rotated Finite Difference Grid

Three-dimensional finite difference grids have the same restrictions as 2D grids with respect to their x and y coordinates (cell width and length). However, the z coordinates of the grid (which define the cell thicknesses) are allowed to vary arbitrarily. This allows for creation of a grid that follows the contours of geologic surfaces. For a grid having i by j by k nodes there will be (i-1) * (j-1) * (k-1) hexahedron cells whose connectivity can be implicitly derived. However the coordinates of the nodes for this grid must be explicitly specified. Figure 1.12 shows the grid created to model the migration of a contaminant plume in a tidal basin.

Figure 0.11 Three-Dimensional Finite Difference Grid

The convex hull of a set of points in two-dimensional space is the smallest convex area containing the set. In the x-y plane, the convex hull can be visualized as the shape assumed by a rubber band that has been stretched around the set and released to conform as closely as possible to it. The area defined by the convex hull offers significant advantages. Within the convex hull all parameter estimates are interpolations. The convex hull best fits the spatial extent of the data. Remember that the convex hull defines an area. That area can be gridded in many ways. EVS grids convex hull regions with quadrilaterals. Smoothing techniques are used to create a grid that has reasonably equal area cells. A two-dimensional example of a convex hull grid is shown in Figure 1.13. In this example, the domain of the model was offset by a constant amount from the theoretical convex hull. This results in rounded corners and a model region that is larger than the convex hull.

Figure 0.12 Convex Hull Grid with Offset

Adaptive Gridding

Adaptive gridding is the localized refinement of a grid to provide higher resolution in the areas or volumes surrounding measured sample data. Adaptive gridding or grid refinement can be accomplished in many different ways. In EVS, rectilinear, finite difference and convex hull grids can all be refined using a similar method. In two-dimensions a new node is placed precisely at the measured sample data location. Three additional nodes are placed to create a small quadrilateral cell within the cell to be refined. The corners of the small cell are connected to the corresponding corners of the cell being refined creating a total of five cells where the one previously was. The resulting nodal locations and grid connectivity must be explicitly defined.

Adaptively gridding offers many advantages. It assures that there will always be nodes at the precise coordinates of the sample data. This insures that the data minimum and maximum in the gridded model will match the sample data. It also provides greater fidelity in defining data trends in regions with high gradients. Figure 1.14 shows a two-dimensional adaptively gridded convex hull model. This model’s area was also offset from the convex hull. Since each sample data point results in a refined region, and the sample points define the convex hull, the regions in each corner of the model contain adaptively gridded cells.

Figure 0.13 Adaptively Gridded Convex Hull Grid

Figure 1.15 is a close-up view of some refined cells near the lower right in Figure 1.14. It shows one of the special cases. If the point to be refined falls very near an existing cell edge, that edge is refined and the cells on either side of the edge are symmetrically refined. Since the edge must be broken into three segments, the cells on both sides must be affected.

Figure 0.14 Close-up of Figure 1.14

The refinement process can also be applied to all types of 3D grids. When a sample falls in a hexahedron (hex) cell, a new much smaller hex cell is created with one of its’ corners located precisely at the coordinates of the sample point. The eight corners of the small cell are connected to the corresponding corners of the parent cell. This creates 7 hex cells that fully occupy the volume of the original cell. Since the 3D-refinement process occurs internal to the volume of the model, it is more difficult to visualize the process. In order to see the refined cells, removing all cells in the grid with any nodes that were below a thresholded concentration level created Figure 1.16. By choosing the threshold properly, several of the refined cells become visible.

Figure 0.15 3D Adaptively Gridded Model

This figure (Figure 1.17) is an enlarged view of the right hand corner. It reveals the structure, relative sizes and connectivity resulting from 3D adaptive gridding.

Figure 0.16 Close-up of Figure 1.16

Triangular networks are defined as grids of triangle or tetrahedron cells where all of the nodes in the grid are exclusively those in the sample data. For these types of grids, the cell connectivity must be explicitly defined. In two dimensions, these grids are referred to as Triangulated Irregular Networks or TINs. The 3D equivalent grids are Tetrahedral Irregular Networks.

Triangulated Irregular Networks – 2D

Delaunay triangulation is one of the most commonly used methods for creating TINs. By definition, 3 points form a Delaunay triangle if and only if the circle defined by them contains no other point. Focusing on creating Delaunay triangles produces triangles with fat (large) angles that have preferred rendering characteristics. The boundary edges on the Delaunay network form the convex hull, which is the smallest area convex polygon to contain all of the vertices.

Figure 0.17 Flat-Shaded Delaunay TIN of Geologic Surface

The TIN surface above (Figure 1.18) has significant variation in the size of the triangles. This is a natural consequence of the grid’s being created using only nodes from the input data file. When such a surface is rendered with data, having very large triangles can result in very objectionable visualization anomalies. These anomalies result from rendering large triangles that have a range of data values that span a significant fraction of the total data range. There are many methods that could be used to assign color to each triangle. These methods are referred to as surface rendering modes.

Two of the most commonly used rendering modes are flat shading and Gouraud shading. Flat shading assigns a single color to the entire triangle. The color is computed based on the average elevation (data value) for that triangle, lighting parameters and orientation to the viewer camera. In the upper left corner we have a large single triangle that spans a significant range of elevations. When it is assigned a color that corresponds to the mean elevation for that triangle, that color will be wrong. More precisely, the color does not fall within the color scale. Note the color of the triangle in the upper right corner of Figure 1.18 and the one below it. The color of these triangles is outside the range of our color scale.

The problem of large triangles is no better when using Gouraud shading. Gouraud shading assigns colors to each node of the triangle based on the data values. This assures that the colors at the nodes (vertices of the triangles) will be correct. Colors are then interpolated over the area of the triangle based on lighting parameters and orientation to the viewer camera. Consider the triangle in the upper right hand corner of Figure 1.19. The upper right node is assigned the color blue (corresponding to a low value) and the upper left node is assigned the color red (corresponding to a high value). The color scale for this problem ranges from blue to cyan to green to yellow to red. However, for this anomalous situation the color that will be interpolated between blue and red along the uppermost edge will be magenta. Magenta is not a color in our range of colors.

Figure 0.18 Gouraud-Shaded Delaunay TIN of Geologic Surface

To overcome the problems caused by large triangles, the triangles can be refined (subdivided) to create a grid that still contains points that honor the original input nodes, but has more uniform cell sizes. In Figure 1.20 (which has a spatial extent of 500 feet in x and 380 feet in y) it was specified that no triangle’s edge may exceed 45 feet in length. We must interpolate the elevation values (or our data values) to these new nodes created as a result of the triangle subdivision. The simplest means of doing this is bilinear interpolation. The refined TIN grid with bilinear interpolation and flat shaded triangles is shown in Figure 1.21. Note that the all of the triangles have appropriate colors. To avoid the large cell coloring problem (this is a problem with all cell types except points), no single cell should have data values at its nodes that span more than about 20 percent of the total data range.

Figure 0.19 Flat-Shaded Subdivided TIN of Geologic Surface

If Gouraud shading is employed instead of flat shading, the resultant surface has a smoother appearance, however the fundamental linear interpolation along cell edges is still evident in the colors. If the maximum triangle size were made much smaller, the flat shaded model would approach the appearance of the Gouraud shaded model. However, without using a different interpolation approach the Gouraud-shaded model would not change dramatically.

Figure 0.20 Gouraud-Shaded Subdivided TIN of Geologic Surface

EVS includes another technique for coloring surfaces. This method, called solid contours, assigns uniform color bands based on the data values. Figure 1.22 demonstrates this method that subdivides cells using bilinear interpolation. Because this method inherently includes triangle subdivision using bilinear interpolation, the figure would be identical whether the input grid was the large triangles from the original TIN surface or the refined smaller triangles. The boundaries of the colored bands are effectively isopachs (isolines) of constant elevation.

Figure 0.21 Solid Contour TIN of Geologic Surface

To complete this discussion and comparison of gridding and interpolation methods, the same data file was used to create a convex hull grid and the elevation data was estimated using EVS’s two-dimensional kriging software. Kriging will be discussed in more detail in section 1.3.3. This technique honors all of the original data points, but creates much smoother distributions between the values. The result shown in Figure 1.23 is a more realistic and aesthetically superior surface. Labeled isolines on 10 foot intervals were added to this figure. Note that these isolines are similar, but much smoother than those in Figure 1.22.

Figure 0.22 Kriged 2D Convex Hull Grid

Tetrahedral Irregular Networks – 3D

Tetrahedral Irregular Networks provide a method to create a volumetric representation of a three-dimensional set of points. As with a TIN, the nodes in the resulting grid are exclusively those in the original measured sample data. Tetrahedral Irregular Networks use tetrahedron cells to fill the three-dimensional convex hull of the data as shown in Figure 1.24. The result often contains cells of widely varying volumes having potentially large data variation across individual cells. For this and other reasons, this approach is not often used.

Figure 0.23 Tetrahedral Irregular Network

Spatial interpolation methods are used to estimate measured data to the nodes in grids that do not coincide with measured points. The spatial interpolation methods differ in their assumptions, methodologies, complexity, and deterministic or stochastic nature.

Inverse Distance Weighted

Inverse distance weighted averaging (IDWA) is a deterministic estimation method where values at grid nodes are determined by a linear combination of values at known sampled points. IDWA makes the assumption that values closer to the grid nodes are more representative of the value to be estimated than samples further away. Weights change according to the linear distance of the samples from the grid nodes. The spatial arrangement of the samples does not affect the weights. IDWA has seen extensive implementation in the mining industry due to its ease of use. IDWA has also been shown to work well with noisy data. The choice of power parameter in IDWA can significantly affect the interpolation results. As the power parameter increases, IDWA approaches the nearest neighbor interpolation method where the interpolated value simply takes on the value of the closest sample point. Optimal inverse distance weighting is a form of IDWA where the power parameter is chosen on the basis of minimum mean absolute error.

Splining

Splining is a deterministic technique to represent two-dimensional curves on three-dimensional surfaces. Splining may be thought of as the mathematical equivalent of fitting a long flexible ruler to a series of data points. Like its physical counterpart, the mathematical spline function is constrained at defined points. Splines assume smoothness of variation. Splines have the advantage of creating curves and contour lines that are visually appealing. Some of splining’s disadvantages are that no estimates of error are given and that splining may mask uncertainty present in the data. Splines are typically used for creating contour lines from dense regularly spaced data. Splining may, however, be used for interpolation of irregularly spaced data.

Natural Neighbors

Natural Neighbor interpolation is a deterministic method that estimates the value at a grid node based on a weighted average of the nearest sample points. The key to this method lies in how it determines which neighbors to use and how it calculates their weights. It uses a Voronoi diagram (or Thiessen polygons) of the sample data to identify the “natural neighbors” of a given grid node. The weights are then calculated based on the amount of area that a neighbor’s Voronoi cell “lends” to the Voronoi cell of the new grid node. This approach ensures that the interpolation is entirely local and that the influence of a sample point does not extend beyond its immediate neighbors. A significant advantage of Natural Neighbor interpolation is that it does not create artifacts or peaks where no data exists, and it smoothly handles clustered or sparse data. However, like other deterministic methods, it does not provide an estimate of prediction error.

Geostatistical Methods (Kriging)

Kriging is a stochastic technique similar to inverse distance weighted averaging in that it uses a linear combination of weights at known points to estimate the value at the grid nodes. Kriging is named after D.L. Krige, who used kriging’s underlying theory to estimate ore content. Kriging uses a variogram (a.k.a. semivariogram) which is a representation of the spatial and data differences between some or all possible “pairs” of points in the measured data set. The variogram then describes the weighting factors that will be applied for the interpolation. Unlike other estimation procedures investigated, kriging provides a measure of the error and associated confidence in the estimates. Cokriging is similar to kriging except it uses two correlated measured values. The more intensely sampled data is used to assist in predicting the less sampled data. Cokriging is most effective when the covariates are highly correlated. Both kriging and cokriging assume homogeneity of first differences. While kriging is considered the best linear unbiased spatial predictor (BLUP), there are problems of nonstationarity in real-world data sets.

The choice of surface rendering technique has a dramatic impact on model visualizations. Figure 1.25 is a dramatization that incorporates many common surface-rendering modes. These include Gouraud Shading, Flat Shading, Solid Contours, Transparency and Background Shading. In this figure, a plume is represented in each geologic layer of this model. The geologic layers are exploded and a unique rendering mode is used for each layer. This allows demonstrating five different surface rendering techniques. Section 1.2.5 included some discussion on surface rendering techniques. In the model, a very fine grid (in the x-y plane) was used and the flat shaded plume looks similar to the Gouraud shaded one. The solid contoured plume provides sharp color discontinuities at specific plume levels, however it provides no information about the variation of values within each interval.

The transparent plume was Gouraud shaded. Transparency could be applied to any of the surface rendering techniques except background shading. Transparency provides a means to see features or objects inside of the plume while still providing the basic shape of the plume. Objects inside a colored transparent object will have altered colors and the colors of the transparent object are affected by the color of the background and any other objects inside or behind the plume.

Background shading is a rather different approach. Each cell of the plume is colored the same color as the background. This makes the cell invisible, however the cell is still opaque. Objects that are behind the background shaded cells are not visible. In this example, the cell outlines are shown as lines colored by the concentration values. Background shading of the surfaces provides a “hidden line” rendering where the cells behind are not shown.

image\\ch11fig25.jpg image\\ch11fig25.jpg

Figure 0.24 plume shell Showing Various Shading Methods

An example of the rendering mode called “no lighting” has not been included in this paper. This technique renders cells as a single color (similar to flat shading), but with no lighting or shading effects. This eliminates all three-dimensional clues about the surface and usually produces an undesirable affect.

Texture mapping is a process of projecting a raster image onto one or more surfaces. The images should be geo-referenced (see section 1.1.1.5) to ensure that the image’s features are placed in the correct spatial location. In Figure 1.26, a chlorinated hydrocarbon contaminant plume is shown at an industrial facility on the coast. Sand and rock geologic layers are displayed below the ocean layer. A color aerial photograph of the actual site was used to texture map and render the geologic layer that represents the ocean and was also applied to the three-dimensional representations of the site buildings as well as the ground surface.

Figure 0.25 Coast Facility Showing Contaminant Plume, Geology with Texture Mapping

The choice of color(s) to be used in a visualization affects the scientific utility of the visualization and has a large psychological impact on the audience. Throughout this paper, a consistent color scale (a.k.a. datamap) has been used. This color scale associates low data values with the color blue and high data values with the color red. Values between the data minimum and maximum are mapped to hues that transition from red to yellow to green to cyan (light blue) to blue. People are accustomed to interpreting blue as a “cold” color and red as a “hot” color. For this reason, lay persons more easily understand this color spectrum. It also provides a reasonably high degree of color fidelity, allowing discrimination of small changes in data values.

However, many times color scales with vivid colors like red are deemed too alarming. Since there is not a universally (or even scientifically) accepted standard for color spectrums used for data presentation, the use of softer shades of color and the elimination of red or other garish colors from the spectrum cannot be challenged on a scientific or legal basis. The consequence of this is the distinct possibility of two different visualizations that both communicate the same information with completely different colors. Often the choice of colors is made on aesthetic or political grounds, governed more by the party being represented and their role in the site than by scientific reasons.

See more in the Datamaps topic.

The following provides hints and tips for obtaining optimal quality when printing. This assumes you are using a color printer, but it is important to note that the user may print grayscale images with a black and white printer if desired. This would of course be best implemented by creating grayscale colormaps to eliminate ambiguities associated with different colors that have the same gray-scale representation.

Optimal printing of a raster image requires taking several factors into consideration. First, you must know the characteristics of the printer and the intended size of the printed image. Printers vary considerably and no single recommendation can be appropriate. Color printers fall into three primary categories, inkjet, color laser, and dye sublimation. EVS, for example, produces raster images which are continuous tones with 256 shades each of red, green and blue for a total of 16.7 million possible colors (256 * 256 * 256). Color printers either produce continuous tones or approximate them using a pattern of primary colored pixels in an n-by-n grid.

Among these three printer categories there is considerable variation. Inkjet printers are generally capable of producing one of only eight primary colors for each printer pixel (or dot). These colors are white, black, cyan, magenta, yellow, red, green and blue. Inkjets must therefore use a grid of primary colored pixels to approximate continuous tones. The larger the grid (4 by 4 vs. 2 by 2) the better the color approximation. However, larger grids tend to create artifacts called jaggies that are visually undesirable. The challenge is to balance the need for smoother color rendition with the desire to have higher resolutions.

Dye sublimation printers are at the other end of the spectrum. Their ability to reproduce continuous tones makes the task of choosing a resolution easy. A typical dye-sub printer has a resolution of 300 dots per inch (dpi). If the intended size of the final printed image is 10 inches wide by 7 inches tall, then the optimal image size is 10*300 by 7*300 or 3000 x 2100 pixels. If quicker image creation and print times are desired, a compromise resolution would be exactly half or 1500 wide by 1050 high.

It is best to have an integer number of printer pixels for each “source” image pixel. When the image size is half of the printer pixel resolution, each source pixel gets a 2-by-2 grid. The n-by-n grid concept applies to all types of printers. This “rule” is actually a guideline for best results. Other resolutions (non-integer ratios) create banding artifacts that are usually objectionable.

For inkjet printers you should always allow for at least a 2x2 grid and usually 3x3 to 5x5 gives the best results. For an EPSON printer with 720x1440-dpi resolution you should use the smaller resolution number (720) for your calculations. The printer uses the additional resolution to better approximate the colors.

Example: For a printer with 720 dpi, to print an image 9 by 7.5 inches (landscape) we recommend that you start at a 4x4 grid which gives an effective printed resolution of 180 dpi. Your image width and height would therefore be:

Width = 9.0 * 180 = 9.0 * (720/4) = 1620

Height = 7.5 * 180 = 9.5 * (720/4) = 1350

Finally, color laser printers vary in their abilities to approximate continuous tones. This means that the rules to apply will be somewhere between dye-sub and inkjet properties.

Once the model of the site has been created, visually communicating the information about that site generally requires subsetting the model. Subsetting is a generic term used to convey the process of displaying only a portion of the information based on some criteria. The criteria could be “display all portions of the model with a y coordinate of 12,700. This would result in a slice at y = 12,700 through the model orthogonal to the y (or North) axis. As this slice passes through geologic layers and/or contaminated volumes, a cross-section of those objects would be visible on the slice. Without subsetting, only the exterior faces of the model will be visible.

When evaluating subsetting operations, the dimensionality of input and output should be considered. As an example, consider the slice described above. If a slice is passed through a volume, the output is a 2D planar surface. If that same slice passes through a surface, the result is a line. Slices reduce the dimensionality of the input by one. The sections below will discuss a few of the more common subsetting techniques.

Plume Visualization

Contaminant plume visualization employs one of the most frequently used subsetting operations. This is accomplished by taking the subset of all regions of a model where data values are above or below a threshold. This subset is also referred to as a volumetric subset and its threshold value as the subsetting level. When creating the objects that represent the plumes, two fundamentally different approaches can be employed. One approach creates one or more surfaces corresponding to all regions in the volume with data values exactly equal to the subsetting level and all portions of the external surfaces of the model where the data values exceed the subsetting level. This results in a closed but hollow representation of the plume. This method, which was used in Figure 1.26, has a dimensionality one less than the input dimensionality.

The other approach subsets the volumetric grid outputting all regions of the model (cells or portions thereof) that exceed the subsetting level. This method has the same dimensionality output as input. The disadvantages of this approach are the need to compute and deal with the all interior volumetric cells and nodes. The advantages include the ability to perform additional subsetting and to compute volumetric or mass calculations on the subset volume.

Cutting and Slicing

Within C Tech’s EVS software there is a significant distinction between the terms cut and slice. Slices create objects with dimensionality one less than the input dimensionality. If a volume is sliced the result is a plane. If a surface is sliced the result is one or more lines. If a line is sliced, one or more points are created. Figure 1.29 has three slice planes passing through a volume which has total hydrocarbon concentrations on a fine 3D grid. The horizontal slice plane is transparent and has isolines on ½ decade intervals.

image\\ch11fig29.jpg image\\ch11fig29.jpg

Figure 0.28 Three Slice Planes Passing Through a 3D Kriged Model

By comparison, cutting still uses a plane, but the dimensionality of input and output are the same. Cutting outputs all portions of the objects on one side of the cutting plane. If a volume is cut, a smaller volume is output. In Figure 1.30, the top half of the grid was cut away, but the plume at 1000 ppm is displayed in this portion of the volume. The lower half of the model also has labeled isolines on ½ decade intervals.

image\\ch11fig30.jpg image\\ch11fig30.jpg

Figure 0.29 Cut 3D Kriged Model with Plume and Labeled Isolines

Isolines

Isolines (sometimes referred to as isopachs) have output dimensionalities that are one less than the input dimensionality. Surfaces with data result in isolines or contour lines that are paths of constant value on the surface(s). Isolines can be labeled or unlabeled. Various labeling techniques can be employed ranging from values placed beside the lines to labels that are incorporated into a break in the line path and mapped to the three-dimensional contours of the underlying surface. Examples of visualizations using isolines are shown in Figures 1.30 and 1.26.

Each major release of Earth Volumetric Studio will include a corresponding release of Sample Projects, which we tend to refer to as “Studio Projects”.

We strongly recommend that all users download the Sample Projects with each new release since these will be a major reference that we will use as a part of technical support. If you call or email Support, asking how to do something, the odds are very high that the answer will often be to take a look at one of the sample applications in Studio Projects. This will give you more than a quick answer, it will provide you with a detailed example, with real world data which will allow you to see precisely how to create the model and output that you require.

Some of our sample applications include very advanced topics such as:

  • Automation using Python
  • Time domain data: both geology and chemistry
  • Creation of multi-frame vector outputs
    • 4DIMs
    • 3D PDFs
    • 3D Web-published

When you install Studio Projects, they are included in a special way. If you are in Studio and select File.Open you will see

When you select Sample Projects and then select any folder in the list, you will see a large thumbnail image of the output created by each application to quickly allow you to select applications based on their output.

Over time, we expect the number of project folders to grow, and each includes real world data and applications to address the challenges of that data. There is some redundancy among the applications, since some are intentionally simple, while others are increasingly complex to provide more advanced examples.

There is a great deal to be learned by a self-paced exploration of these projects.

  • EVS Data Input & Output Formats

    EVS Data Input & Output Formats Input EVS conducts most of its analysis using input data contained in a number of ASCII files. These files can generally be created using the Data Transformation Tools, which are on the Tools tab of EVS. These tools will create C Tech’s formats from from Microsoft Excel files.

  • Handling Non-Detects

    Handling Non-Detects It is important to understand how to properly handle samples that are classified as non-detects. A non-detect is an analytical sample where the concentration is deemed to be lower than could be detected using the method employed by the laboratory. Non-detects are accommodated in EVS for analysis and visualization using a few very important parameters that should be well understood and carefully considered. These parameters control the clipping non-detect handling in all of the EVS modules that read chemistry (.apdv, or .aidv) files. The affected modules are 3d estimation, krig_2d, post_samples, and file_statistics.

  • Consistent Coordinate Systems

    Consistent Coordinate Systems C Tech’s software is designed to work with many types of data. However, because you are creating objects in a three-dimensional domain (x, y, and z extents) you must have all objects defined in a consistent coordinate system. Any coordinate projection may be used, but it is essential that all of your data files (including world files to georeference images) be in the same coordinate system.

  • Projecting File Coordinates

    Projecting File Coordinates Discussion of File Coordinate Projection Each file contains horizontal and vertical coordinates, which can be projected from one coordinate system to another given that the user knows which coordinates systems to project from and to. This is accomplished by adding the REPROJECT tag to the file. This tag is used in place of the coordinate unit definition and causes the file reader to look at the end of the file for a block of text describing the projection definitions. The definitions are a series of flags that listed below. NOTE: GMF files do not need the REPROJECT tag, the projection definitions can occur in a continuous block anywhere in the file.

  • Analytical Data

    All analytical data can be represented in one of two formats:

  • APDV: Analyte Point Data File Format

    APDV: Analyte Point Data File Format Discussion of analyte (e.g. chemistry) or Property Files Analyte (e.g. chemistry) or property files contain horizontal and vertical coordinates, which describe the 3-D locations and values of properties of a system. For simplicity, these files will generally be referred to in this manual as analyte (e.g. chemistry) files, although they can actually contain any scalar property value of interest. Analyte (e.g. chemistry) files must be in ASCII format and can be delimited by commas, spaces, or tabs. They must have a .apdv suffix to be selected in the file browsers of EVS modules .The content and format of analyte (e.g. chemistry) files are the same, except that fence diagram files require some special subsetting and ordering. Each line of the analyte (e.g. chemistry) file contains the coordinate data for one sampling location and any number of (columns of) analyte (e.g. chemistry) or property values. There are no computational restrictions on the number of borings and/or samples that can be included in a analyte (e.g. chemistry) file, except that run times for execution of kriging do increase with the number of samples in the file.

  • AIDV: Analyte Interval Data File Format

    AIDV: Analyte Interval Data File Format This format allows you to specify the top and bottom elevations of well screens and one or more concentrations that were measured over that interval. This new format (.aidv) will allow you to quickly visualize well screens in post_samples and automatically convert well screens to intelligently spaced samples along the screen interval for 3D (and 2D) kriging.

  • Time Domain Analyte Data

    Analyte Time Files Format Discussion of Analyte Time Files Analyte time files contain 3-D coordinates (x, y, z) describing the locations of samples and values of one or more analytes or properties taken over a series of different times. Time files must conform to the ASCII formats described below and individual entries (coordinates or measurements) can be delimited by commas, spaces, or tabs. They must have either a .sct (Soil Chemistry Time) or .gwt (Ground Water Time) suffix to be selected in the file browsers of EVS modules. Each line of the file contains the coordinate data for one sampling location, or well screen, and any number of chemistry or property values. There are no limits on the number of borings and/or samples that can be included in these files, except that run times for execution of kriging do increase with a greater number of samples in the file.

  • PGF: Pre Geology File Lithology

    Pre Geology File: Lithology The ASCII pregeology file name must have a .pgf suffix to be selected in the module’s file browser. This file type represents raw (uninterpreted) 3D boring logs representing lithology. This format is used by: create stratigraphic hierarchy post_samples gridding and horizons (to extract a top and bottom surface to build a single layer)

  • LPDV Lithology Point Data Value File Format

    LPDV Lithology Point Data Value File Format The LPDV lithology file format is the most general, free-form format to represent lithology information. To understand the rationale for its existence, you must understand that when creating lithologic models (smooth or block) with lithologic modeling, the internal kriging operations require lithologic data in point format. Therefore all other lithology file formats (.PGF and .LSDV) are converted to points based on the PGF Refine Distance. LPDV files are not refined since we use the point data directly.

  • LSDV Lithology Screen Data Value File Format

    LSDV Lithology Screen Data Value File Format The LSDV lithology file format can be used as a more feature rich replacement for the older PGF format. It has the following advantages: Fully supports non-vertical borings Supports missing intervals and lithology data which does not begin at ground surface Provides an Explicit definition of each lithologic interval An explanation of the file format follows:

  • GEO: Borehole Geology Stratigraphy

    GEO: Borehole Geology Stratigraphy Geology data files basically contain horizontal and vertical coordinates, which describe the geometry of geologic features of the region being modeled. The files must be in ASCII format and can be delimited by commas, spaces, or tabs. Borehole Geology files must have a .geo suffix to be selected in the file browsers of EVS modules. The z values in .geo files can represent either elevation or depth, although elevation is generally the easiest to work with. When chemistry or property data is to be utilized along with geologic data for a 3-D visualization, a consistent coordinate system must be used in both sets of data.

  • Geology Multi-File

    Geology Multi-File Geology Multi-Files: Unlike the .geo file format, the .gmf format is not based on boring observations with common x,y coordinates. The multi-file format allows for description of individual geologic surfaces by defining a set of x,y,z coordinates (separated by spaces, tabs, and/or commas). Geologic hierarchy still applies for definition of complex geologic structures. This file format allows for creation of geologic models when the data available for the top surface and one or more of the subsurface layers are uncorrelated (in number or x,y location). For example, a gmf file may contain 1000 x,y,z measurements for the ground surface, but only 12 x,y,z measurements for other lithologic surfaces. This format also allows for specification of the geologic material color (layer material number).

  • PT File Format

    .PT File Format The .PT (Place-Text) format is used to place 3D text (labels) with user adjustable font and alignment. The format is: Lines beginning with “#” are comments Lines beginning with “LINEFONT” are font specification lines specifically associated with single line text. LINEFONT, height, justification, azimuth, inclination, roll, red, green, blue, curve tolerance, font flags (bold is ignored) NOTE: There is no specification of the Font to be used, because EVS includes its own Unicode Line Font which supports most worldwide languages. Lines beginning with “TRUETYPE” are font specification lines specifically associated with TrueType Fonts.

  • EMT File Format

    This legacy format has been deprecated and replaced by the .PT File Format.

Subsections of File Format Details

EVS Data Input & Output Formats

Input

EVS conducts most of its analysis using input data contained in a number of ASCII files. These files can generally be created using the Data Transformation Tools, which are on the Tools tab of EVS. These tools will create C Tech’s formats from from Microsoft Excel files.

  • consistent_coordinate_systems.md
  • projecting_file_coordinates.md
  • apdv-files.md
  • aidv-files.md
  • handling_non_detects.md
  • pre_geology_file.md
  • Lithology: LSDV Screen File Format
  • Lithology: LPDV Points File Format
  • geology_file_examples_figures.md
  • geologic_file_example_sedimentary_layers_and_lenses.md
  • geologic_file_example_outcrop_of_dipping_strata.md
  • gmf_file.md
  • tcf_file.md
  • eff_file.md

.apdv, .aidv and .pgf files can be used to create a single geologic layer model. This is not preferred alternative to creating/representing your valid site geology. However, most sites have some ground surface topography variation. If 3d estimation is used without geology input, the resulting output will have flat top and bottom surfaces. The flat top surface may be below or above the actual ground surface at various locations. This can result in plume volumes that are inaccurate.

When a .apdv, .aidv, or .pgf is read by gridding and horizons the files are interpreted as geology as follows:

  1. If Top of boring elevations are provided in the file, these values are used to create the ground surface.
  2. If Top of boring elevations are not provided in the file, the elevations of the highest sample in each boring are used to create the ground surface.
  3. The bottom surface is created as a flat surface slightly below the lowest sample in the file. The elevation of the surface is computed by taking the lowest sample and subtracting 5% of the total z-extent of the samples.

Output

Because EVS runs under all versions of Microsoft Windows operating systems, there are numerous options for creating output.

Bitmap: EVS renders objects in the viewer in a user defined resolution. That resolution refers to the number of pixels in the horizontal and vertical directions.

Images: EVS also includes the output_images module, which will produce virtually all types of bitmap images supported by Windows. The most common types are .png; .bmp; .tga; .jpg; and .tif. PNG is the recommended format because it has high quality lossless compression.

Bitmap Animations: By using output_images with the Animator module, EVS can create bitmap animations. Once a sequence of images is created, the Images_to_Animation module is used to convert these to a bitmap animation format such as .AVI, .MPG, or a proprietary format called .HAV.

Printed Output: The viewer provides the ability to directly output to any Windows printer at a user defined resolution. Alternatively, images may be created (as in a) above) and printed.

Vector: EVS offers several vector output options. These include:

VRML: EVS creates VRML files which are a vector output format that allows for creation of 3D modules that model can be zoomed, panned and rotated and can represent most of the objects in the C Tech viewer. VRML files must be played in a VRML viewer or used for creating 3D PDFs or 3D printing.

4DIM: EVS creates 4DIMs, which unlike bitmap (image) based animations contain a complete 3D model at each frame of the animation. Each frame can be thought of as a VRML model (though it is not) and has similar functionality. Each frame of the model can be zoomed, panned and rotated as a static 3D model or you can interact with the 4DIM animation as it is playing.

2D and 3D Shapefiles: Shapefiles that are compatible with ESRI’s ArcGIS program can be created in full three-dimensions. Nearly any object in your applications can be output as a shapefile. The primary limitations are associated with the limitations of shapefile. The most significant limitation is the lack of any volumetric elements.

AutoCAD .DXF Files: AutoCAD compatible DXF files can be created in full three-dimensions. Nearly any object in your applications can be output as a DXF file.

Archive: EVS offers several output options for archiving kriged results and/or geologic models. The preferred format is C Tech’s fully documented EFF or EFB formats. Both of these file types can be read back into EVS eliminating the need to recreate the models by kriging or re-gridding. This saves time and provides a means to archive the data upon which analysis or visualization was based.

Handling Non-Detects

It is important to understand how to properly handle samples that are classified as non-detects. A non-detect is an analytical sample where the concentration is deemed to be lower than could be detected using the method employed by the laboratory. Non-detects are accommodated in EVS for analysis and visualization using a few very important parameters that should be well understood and carefully considered. These parameters control the clipping non-detect handling in all of the EVS modules that read chemistry (.apdv, or .aidv) files. The affected modules are 3d estimation, krig_2d, post_samples, and file_statistics.

Non-detects should “almost” never be left out of the data file. They are critically important in determining the spatial extent of the contamination. Furthermore, it is important to understand what it means to have a sample that is not-detected. It is not the same as truly ZERO, or perfectly clean. In some cases samples may be non-detects but the detection limit may be so high that the sample should not be used in your data file. If the lab (for whatever reason) reports “Not detected to less than XX.X” where that value XX.X is above your contaminant levels of interest, that sample should not be included in the data file because doing so may create an indefensible “bubble” of high concentration.

As for WHY to use a fraction of the detection limit. At each point where a measurement was made and the result was a non-detect, we should use a fraction of the detection limit (such as one-half to one-tenth). If we were to use the detection limit, we would dramatically overestimate the actual concentrations. From a statistical point of view, when we have a non-detect on a site where the range of measurements varies over several orders of magnitude, it is far more probable that the actual measurement will be dramatically lower than the detection limit rather than just below it. Statistically, if the data spans 6 orders of magnitude, then we would actually expect a non-detect to be 2-3 orders of magnitude below the detection limit! Using ONE-HALF is inanely conservative and is a throwback to linear (vs log) interpolation and thinking.

When you might drop a specific Non-Detect: If your target MCL was 1.0 mg/l, and the laboratory reporting limit for a sample were 0.5 mg/l, you would be on the edge of whether this sample should be included in your dataset. If you plan to use a multiplier of one-half, it would make the sample 0.25, which is far too close to your MCL given that the only information you really have is that the lab was unable to detect the analyte. If you use a multiplier of one-tenth, it is probably acceptable to include this sample, however if the nearby samples are already lower than this value, we would still recommend dropping it.

Recommended Method: The recommended approach for including non-detects in your data files is the use of Less Than signs “<” preceding the laboratory detection limit for that sample. In this case,the Less Than Multiplier affects each value, making it less by the corresponding fraction.

Otherwise, you can enter either 0.0 or ND for each non-detect in which case, you need to understand (and perhaps modify) the following parameters:

  • The number entered into the Pre-Clip Min input field will be used during preprocessing to replace any nodal property value that is less than the specified number. When log processing is being used, the value of Clip Min must be a positive, non-zero value. Generally, Clip Min should be set to a value that is one-half to one-tenth of the global detection limit for the data set. If individual samples have varying detection limits, use the Recommended Method with “<” above. As an example, if the lowest detection limit is 0.1 (which is present in the data set as a 0), and the user sets Clip Min to 0.001, the clipped non-detected values forces two orders of magnitude between any detected value and the non-detected values.
  • The Less Than Multiplier value affects any file value with a preceeding “<” character. It will multiply these values by the set value.
  • The Detection Limit value affects any file values set with the “ND” or other non-detect flags (for a list of these flags open the help for the APDV file format). When the module encounters this flag in the file it will insert the a value equal to (Detection Limit * LT Multiplier).

Consistent Coordinate Systems

C Tech’s software is designed to work with many types of data. However, because you are creating objects in a three-dimensional domain (x, y, and z extents) you must have all objects defined in a consistent coordinate system. Any coordinate projection may be used, but it is essential that all of your data files (including world files to georeference images) be in the same coordinate system.

Furthermore, if volumes are to be calculated the units for all three axes (x, y, and z) must be the same. We strongly recommend working in feet or meters. Other units may be used (even microns!), but you may have to perform your own unit conversions when computing volumes with volumetrics.

Though all of your analysis must be performed in a consistent coordinate system, we do allow you to have data files with different units. If you choose to do this you must use the reprojection capabilities of the Projecting File Coordinates options in your data files.

Projecting File Coordinates

Discussion of File Coordinate Projection

Each file contains horizontal and vertical coordinates, which can be projected from one coordinate system to another given that the user knows which coordinates systems to project from and to. This is accomplished by adding the REPROJECT tag to the file. This tag is used in place of the coordinate unit definition and causes the file reader to look at the end of the file for a block of text describing the projection definitions. The definitions are a series of flags that listed below. NOTE: GMF files do not need the REPROJECT tag, the projection definitions can occur in a continuous block anywhere in the file.

NOTE: When projecting from Geographic to Projected coordinates, please note that Latitude corresponds to Y and Longitude corresponds to X. Since we expect X coordinates before Y coordinates we expect Longitude (then) Latitude (Lon-Lat). If the order in your data file is Lat-Lon you must use the “SWAP_XY” tag at the bottom of the file.

Format (for REPROJECT flag):

APDV and AIDV files:

Line 2:Elevation/Depth Specifier:This line must contain the wordElevationorDepth(case insensitive)to denote whether sample elevations are true elevation or depth below ground surface. This should be followed by the ASCII string REPROJECT.

AN EXAMPLEFOLLOWS:

This is a comment line….not the header line - the next line is

X Y Z@@TOTHC Bore Top

Elevation 6.0 REPROJECT

PGF files:

  • Line 2: Line 2 contains the declaration of Elevation or Depth, the definitions of Lithology IDs and Names, and coordinate units.
    • Elevation/Depth Specifier: This line must contain the word Elevation or Depth (case insensitive) to specify whether well screen top and bottom elevations are true elevation or depth below ground surface.
        • Depth forces the otherwise optional ground surface elevation column to be required. Depths given in column 3 are distances below the ground surface elevation in the last column (column 6). If the top surface is omitted, a value of 0.0 will be assumed and a warning message will be printed to the EVS Information Window.
      • IDs and Names: Line 2 should contain Lithology IDs and corresponding names for each material. Each Name is explicitly associated with its corresponding Lithology ID and the pairs are delimited by a pipe symbol “|”.
        • Though it is generally advisable, IDs need not be sequential and may be any integer values. This allow for a unified set of Lithology IDs and Names to be applied to a large site where models create for sub-sites may not have all materials.

          • The number of (material) IDs and Names MUST be equal to the number of Lithology IDs specified in the data section. Each material ID present in the data section must have corresponding Lithology IDs and Names. If there are four materials represented in your .pgf file, there should be at least four IDs and Names on line two.
          • The order of Lithology IDs and Names will determine the order that they appear in legends. The IDs do not need to be sequential.
          • You can specify additional IDs and Names, which are not in the data and those will appear on legends.
      • Coordinate Units: You should include the units of your coordinates (e.g. feet or meters). If this is included it must follow the names associated with each Lithology ID.
      • The Btagmust follow the IDs & names forthematerials.

The first two lines of a PGF EXAMPLEFOLLOWS:

Pregeology file

Elevation 1|Silt 2|Fill 3|Clay 4|Sand 5|Gravel REPROJECT

GEO files:

Line 2: Elevation/Depth Specifier:

  • The only REQUIRED item on this line in the Elevation or Depth Specifier.
    • This line should contain the word Elevation or Depth (case insensitive) to denote whether sample elevations are true elevation or depth below ground surface.
      • If set to Depth all surface descriptions for layer bottoms are entered as depths relative to the top surface. This is a common means of collecting sample coordinates for borings.
      • Note that the flags such as pinch or short are not modified.
  • Line 2 SHOULD contain names for each geologic surface (and therefore the layers created by them).
    • There are some rules that must be observed.
      • The number of surface (layer) names MUST be equal to the number of surfaces. Therefore, if naming layers, the first name should correspond to the top surface and each subsequent name will refer to the surface that defines the bottom of that layer.
      • A name containing a space MUST be enclosed in quotation marks example (“Silty Sand”). Names should be limited to upper and lower case letters, numerals, hyphen “-” and underscore “_”. The names defined on line two will appear as the cell set name in the explode_and_scale or select cell sets modules. Names should be separated with spaces, commas or tabs.
  • The REPROJECT tag must follow the names for the material numbers. It replaces the COORDINATE UNITS

AN EXAMPLE FOLLOWS:

X Y TOP BOT_1 BOT_2 BOT_3 BOT_4 BOT_5 BOT_6 BOT_7 Boring

-1 Top Fill SiltySand Clay Sand Silt Sand GravelREPROJECT

GMF files:

GMF files can have the projection block placed anywhere in the file.

Projection Block Flags:

**NOTE: Most flags defined below include arguments denoted by the ‘[’ and ‘]’ characters. These characters should not be included in the file. (Example: IN_XY meters)

PROJECTION: Indicates the start of the coordinate projection block

SWAP_XY:This will swap all coordinates in the x and y columns

UNITS[string]: This defines what your final coordinates for x, y, and z,will be.These units will be checked for in the file \data\special\unit_conversions.txt. If they are not found there they will be treated asequivalent tometers.

UNIT_SCALE[double]: The UNIT_SCALE flag sets the conversion factor between the final coordinates and meters. This is only necessary if you are defining units with the UNITS flagthat are not listed in the \data\special\unit_conversions.txt file.

IN_Z[string]: This flag sets what units your z or depth coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS arenot set then this will generate an error.

IN_X[string]: This flag sets whatunits your x coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS arenot set then this will generate an error.

IN_Y[string]: This flag sets whatunits your y coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS arenot set then this will generate an error.

IN_XY[string]: This flag sets what units your x and y coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS arenot set then this will generate an error.

PROJECT_FROM_ID[int]: This flag sets the EPSG ID value you wish to project from, you can look up what ID is appropriate for your location using the project_fieldmodule. To use this flag you must set the PROJECT_TO_ID or PROJECT_TO flag as well.

PROJECT_TO_ID[int]: This flag sets the EPSG ID value you wish to project to, you can look up what ID is appropriate for your location using theproject_field module. To use this flag you must set the PROJECT_FROM_ID or PROJECT_FROM flag as well.

PROJECT_FROM[string]: This flag sets the NAME of the location you wish to project from, you can look up what NAME is appropriate for your location using theproject_field module. To use this flag you must set the PROJECT_TO_ID or PROJECT_TO flag as well.IMPORTANT: The full name should be enclosed in quotation marks so that the full name will be read.

PROJECT_TO[string]: This flag sets the NAME of the location you wish to project to, you can look up what NAME is appropriate for your location using theproject_field module. To use thisflag you must set the PROJECT_FROM_ID or PROJECT_FROM flag as well.IMPORTANT: The full name should be enclosed in quotation marks so that the full name will be read.

TRANSLATE[doubledoubledouble]: This flag will translate each coordinate in the file by these values. It will translate x by the first value, y by the second, and all z values by the third.

END_PROJECTION: Denotes the end of the projection block and is required.

Example 1:

PROJECTION

PROJECT_FROM_ID 4267

PROJECT_TO “NAD83 / UTM zone 10N”

UNITS “meters”

SWAP_XY

END_PROJECTION

Example 2:

PROJECTION

UNITS “meters”

IN_XY “km”

IN_Z “ft”

END_PROJECTION

All analytical data can be represented in one of two formats:

These two file formats can support many different types of data including:

  • Soil, groundwater and air contaminant concentrations
  • Ore data
  • Data collected at multiple dates and times
  • MIP (semi-continuous)
  • Geophysical data
    • Porosity, transmissivity
    • Hydraulic head
    • Flow velocity
    • Electrical Resistivity
    • Ground Penetrating Radar
    • Seismic
  • Oceanographic data
    • CTD
    • Plankton density
    • Other water quality
    • Sub-bottom sediment measurements

APDV: Analyte Point Data File Format

Discussion of analyte (e.g. chemistry) or Property Files

Analyte (e.g. chemistry) or property files contain horizontal and vertical coordinates, which describe the 3-D locations and values of properties of a system. For simplicity, these files will generally be referred to in this manual as analyte (e.g. chemistry) files, although they can actually contain any scalar property value of interest. Analyte (e.g. chemistry) files must be in ASCII format and can be delimited by commas, spaces, or tabs. They must have a .apdv suffix to be selected in the file browsers of EVS modules .The content and format of analyte (e.g. chemistry) files are the same, except that fence diagram files require some special subsetting and ordering. Each line of the analyte (e.g. chemistry) file contains the coordinate data for one sampling location and any number of (columns of) analyte (e.g. chemistry) or property values. There are no computational restrictions on the number of borings and/or samples that can be included in a analyte (e.g. chemistry) file, except that run times for execution of kriging do increase with the number of samples in the file.

Analyte (e.g. chemistry) data can be visualized independently or within a domain bounded by a geologic system. When a geologic domain is utilized for a 3-D visualization, a consistent coordinate system must be used in both the analyte (e.g. chemistry) and geology files. The boring and sample locations in 3-D analyte (e.g. chemistry) files do not have to correspond to those in the geology files, except that they must be contained within the spatial domain of the geology, or they will not be displayed in the visualization. If the posting of borings and sample locations are to honor the topography of a site, the analyte (e.g. chemistry) files also must contain the top surface elevation of the boring. As will be described in later sections, EVS uses tubes to show actual boring locations and depths, and spheres to show actual sample locations in three-space. In order for these entities to be correctly positioned in relation to a variable topography, the top elevation of the boring must be supplied to the program.

Format:

  • You may insert comment lines in .apdv files.

    • Comment lines must begin with a ’#’ as the first character of a line.

Line 1: You may include any header message here (that does not start with a ’#’ character) unless you wish to include analyte names for use by other EVS modules (e.g. data component name). The format for line 1 to enable chemical names is as follows

A. Placing a pair of ’@’ symbols triggers the use and display of chemical names (example @@VOC). Any characters up to the @@ characters are ignored, and only the first analyte name needs @@, after that the chemical names must be delimited by spaces,

B. The following rules for commas are implemented to accommodate comma delimited files and also for using chemical names which have a comma within (example 1,1-DCA). Commas following a name will not become a part of the name, but a comma in the middle of a text string will be included in the name. The recommended approach is to put a space before the names.

C. If you want a space in your analyte name, you may use underscores and EVS will convert underscores to spaces (example: Vinyl_Chloride in a .aidv file will be converted to ’r;Vinyl Chloride." Or you may surround the entire name in quotation marks (example: “Vinyl Chloride”).

The advantages of using chemical names (attribute names of any type) are the following:

    • many modules use analyte names instead of data component numbers,
      • when writing EVS Field files (.eff, .efb, etc.), you will get analyte names instead of data component numbers.
      • when querying your data set with post_sample’s mouse interactivity, the analyte name is displayed.
      • time-series data can be used and the appropriate time-step can be displayed.

Line 2: Specifications

  • Elevation / Depth / 2D Specifier: The first item on line 2 must be one of the following three words.
    1. Elevation: This is case insensitive and specifies that the Z coordinate information is a TRUE ELEVATION
    2. DepthThis is case insensitive and specifies that the Z coordinate information is a positive number corresponding to the DEPTH below ground surface.
    3. 2D: This is a special case that allow for all data rows in the file to NOT INCLUDE Z Coordinate information. When read, the file will assume the Z coordinate is 0.0.
  • Coordinate Units:After Depth/Elevation/2D, include the units of your coordinates (e.g. feet, ft. or meters, m)

Line 3: Specifications

  • The first integer (n) is the number of samples (rows of data) to follow. You may specify “All” instead to use all data lines in the file.
  • The second integer is the number of analyte (chemistry) values per sample.
  • The units of each data analyte column (e.g. ppm or mg/kg).

Line 4: The first line of analyte point data must contain:

  • X
  • Y
  • Elevation (or Depth) of sample
  • (one or more) Analyte Value(s) (chemistry or property)
  • Well or Boring name. The boring name cannot contain spaces (recommend underscore “_” instead).
  • Elevation of the top of the boring.

Boring name and top are are optional parameters, but are used by many modules and it is highly recommended that you include this information in your file if possible. They are used by post_samples for posting tubes along borehole traces and for generating tubes which start from the ground surface of the borehole. Both 3d estimation and gridding and horizons will use this information to determing the Z spatial extent of your grids (gridding and horizons will create a layer that begins at ground surface if this information is provided). Numbers and names can be separated by one comma and/or any number of spaces or tabs.

BLANK ENTRIES (CELLS) ARE NOT ALLOWED.

Please see the section on Handling Non-Detects for information on how to deal with samples whose concentration is below the detection limit. For any sample that is not detected you may enter any of the following. Please note that thefirst threeflag words are not case sensitive, but must be spelled exactly as shown below.

  • Prepend a less than sign < to the actual detection limit for that sample. This allows you to set the “Less Than Multiplier” in all modules that read .apdv files to a value such as 0.1 to 0.5 (10 to 50%). This is the preferred and most rigorous method.
  • nondetect
  • non-detect
  • nd
  • 0.0 (zero)

For files with multiple analytes such as the example below, if an analyte was not measured at a sample location, use any of the flags below to denote that this sample should be skipped for this analyte.Please note that these flag words are not case sensitive, but must be spelled exactly as shown below.

  • missing
  • unmeasured
  • not-measured
  • nm
  • unknown
  • unk
  • na

Example Files are here:

  • APDV File Examples

    Three Dimensional Analyte Point Data File Example An actual .apdv file could look like the following: X Y ELEV @@1-DCA 1-DCE TCE VC SITE_ID Top Elevation feet 50 4 mg/kg ug/kg ug/kg mg/kg 12008 12431 22.9 22 missing 500 <0.01 CSB-39 30.4 12008 12431 18.9 <0.01 <0.01 2800 <0.01 CSB-39 30.4 12008 12431 13.4 <0.01 <0.01 290 <0.01 CSB-39 30.4 12008 12431 8.4 <0.01 <0.01 9.7 <0.01 CSB-39 30.4 12008 12431 7.9 <0.01 <0.01 23 <0.01 CSB-39 30.4 12008 12431 1.9 <0.01 <0.01 24 <0.01 CSB-39 30.4 11651 13184 28.5 <0.01 <0.01 <0.01 <0.01 CSB-40 30 11651 13184 26 <0.01 <0.01 <0.01 <0.01 CSB-40 30 11427 12781 28.8 0.28 0.02 0.78 <0.01 CSB-42 30.8 11427 12781 24.8 <0.01 0.02 0.76 <0.01 CSB-42 30.8 11427 12781 17.3 <0.01 <0.01 0.01 <0.01 CSB-42 30.8 11427 12781 14.6 <0.01 <0.01 0.01 <0.01 CSB-42 30.8 11427 12781 9.8 <0.01 <0.01 <0.01 <0.01 CSB-42 30.8 11427 12781 3.3 0.64 0.14 1.5 0.19 CSB-42 30.8 11410 12725 29.6 0.01 <0.01 0.01 <0.01 CSB-43 30.6 11410 12725 23.6 0.08 <0.01 0.02 <0.01 CSB-43 30.6 11410 12725 21.6 0.04 <0.01 0.01 <0.01 CSB-43 30.6 11410 12725 12.1 0.1 <0.01 <0.01 0.13 CSB-43 30.6 11410 12725 6.1 0.06 <0.01 <0.01 0.05 CSB-43 30.6 11417 12819 28.2 0.01 <0.01 0.03 <0.01 CSB-44 30.2 11417 12819 24.2 0.04 <0.01 0.04 <0.01 CSB-44 30.2 11417 12819 16.2 0.43 0.04 0.04 <0.01 CSB-44 30.2 11417 12819 11.2 1.1 <0.01 <0.01 <0.01 CSB-44 30.2 11417 12819 9.2 <0.01 <0.01 <0.01 <0.01 CSB-44 30.2 11417 12819 6.2 <0.01 <0.01 <0.01 <0.01 CSB-44 30.2 11417 12819 2.2 0.06 <0.01 <0.01 <0.01 CSB-44 30.2 11402 12898 28.5 <0.01 <0.01 <0.01 <0.01 CSB-45 30.5 11402 12898 24.5 <0.01 <0.01 <0.01 <0.01 CSB-45 30.5 11402 12898 14.5 0.79 <0.01 1.7 <0.01 CSB-45 30.5 11402 12898 9 <0.01 <0.01 11 <0.01 CSB-45 30.5 11402 12898 2 0.18 <0.01 0.01 0.11 CSB-45 30.5 11260 12819 28.4 <0.01 <0.01 <0.01 <0.01 CSB-46 30.4 11260 12819 22.4 <0.01 <0.01 <0.01 <0.01 CSB-46 30.4 11260 12819 16.9 <0.01 <0.01 <0.01 <0.01 CSB-46 30.4 11260 12819 11.9 <0.01 <0.01 <0.01 <0.01 CSB-46 30.4 11260 12819 2.9 <0.01 <0.01 <0.01 <0.01 CSB-46 30.4 11340 12893 24.6 <0.01 <0.01 <0.01 <0.01 CSB-47 30.6 11340 12893 20.1 <0.01 <0.01 <0.01 <0.01 CSB-47 30.6 11340 12893 14.6 0.15 <0.01 <0.01 <0.01 CSB-47 30.6 11340 12893 9.1 <0.01 <0.01 <0.01 1.1 CSB-47 30.6 11340 12893 5.1 <0.01 <0.01 <0.01 <0.01 CSB-47 30.6 11249 12871 27.8 90 0.07 0.32 <0.01 CSB-48 29.8 11249 12871 23.3 0.16 <0.01 <0.01 <0.01 CSB-48 29.8 11249 12871 21.3 2.1 <0.01 <0.01 <0.01 CSB-48 29.8 11249 12871 13.3 <0.01 <0.01 <0.01 <0.01 CSB-48 29.8 11249 12871 8.3 <0.01 <0.01 <0.01 <0.01 CSB-48 29.8 11087 12831 28.3 <0.01 <0.01 0.01 <0.01 CSB-49 30.8 11087 12831 24.8 <0.01 <0.01 <0.01 <0.01 CSB-49 30.8 11087 12831 14.8 <0.01 <0.01 <0.01 <0.01 CSB-49 30.8 11087 12831 4.8 <0.01 <0.01 <0.01 <0.01 CSB-49 30.8 This file uses z coordinates (versus depth) for all samples, therefore line 2 has the word Elevation. There are 50 samples a<0.01 5 analytes (chemicals) per sample.

Subsections of APDV: Analyte Point Data File Format

Three Dimensional Analyte Point Data File Example

An actual .apdv file could look like the following:

XYELEV@@1-DCA1-DCETCEVCSITE_IDTop
Elevationfeet
504mg/kgug/kgug/kgmg/kg
120081243122.922missing500<0.01CSB-3930.4
120081243118.9<0.01<0.012800<0.01CSB-3930.4
120081243113.4<0.01<0.01290<0.01CSB-3930.4
12008124318.4<0.01<0.019.7<0.01CSB-3930.4
12008124317.9<0.01<0.0123<0.01CSB-3930.4
12008124311.9<0.01<0.0124<0.01CSB-3930.4
116511318428.5<0.01<0.01<0.01<0.01CSB-4030
116511318426<0.01<0.01<0.01<0.01CSB-4030
114271278128.80.280.020.78<0.01CSB-4230.8
114271278124.8<0.010.020.76<0.01CSB-4230.8
114271278117.3<0.01<0.010.01<0.01CSB-4230.8
114271278114.6<0.01<0.010.01<0.01CSB-4230.8
11427127819.8<0.01<0.01<0.01<0.01CSB-4230.8
11427127813.30.640.141.50.19CSB-4230.8
114101272529.60.01<0.010.01<0.01CSB-4330.6
114101272523.60.08<0.010.02<0.01CSB-4330.6
114101272521.60.04<0.010.01<0.01CSB-4330.6
114101272512.10.1<0.01<0.010.13CSB-4330.6
11410127256.10.06<0.01<0.010.05CSB-4330.6
114171281928.20.01<0.010.03<0.01CSB-4430.2
114171281924.20.04<0.010.04<0.01CSB-4430.2
114171281916.20.430.040.04<0.01CSB-4430.2
114171281911.21.1<0.01<0.01<0.01CSB-4430.2
11417128199.2<0.01<0.01<0.01<0.01CSB-4430.2
11417128196.2<0.01<0.01<0.01<0.01CSB-4430.2
11417128192.20.06<0.01<0.01<0.01CSB-4430.2
114021289828.5<0.01<0.01<0.01<0.01CSB-4530.5
114021289824.5<0.01<0.01<0.01<0.01CSB-4530.5
114021289814.50.79<0.011.7<0.01CSB-4530.5
11402128989<0.01<0.0111<0.01CSB-4530.5
114021289820.18<0.010.010.11CSB-4530.5
112601281928.4<0.01<0.01<0.01<0.01CSB-4630.4
112601281922.4<0.01<0.01<0.01<0.01CSB-4630.4
112601281916.9<0.01<0.01<0.01<0.01CSB-4630.4
112601281911.9<0.01<0.01<0.01<0.01CSB-4630.4
11260128192.9<0.01<0.01<0.01<0.01CSB-4630.4
113401289324.6<0.01<0.01<0.01<0.01CSB-4730.6
113401289320.1<0.01<0.01<0.01<0.01CSB-4730.6
113401289314.60.15<0.01<0.01<0.01CSB-4730.6
11340128939.1<0.01<0.01<0.011.1CSB-4730.6
11340128935.1<0.01<0.01<0.01<0.01CSB-4730.6
112491287127.8900.070.32<0.01CSB-4829.8
112491287123.30.16<0.01<0.01<0.01CSB-4829.8
112491287121.32.1<0.01<0.01<0.01CSB-4829.8
112491287113.3<0.01<0.01<0.01<0.01CSB-4829.8
11249128718.3<0.01<0.01<0.01<0.01CSB-4829.8
110871283128.3<0.01<0.010.01<0.01CSB-4930.8
110871283124.8<0.01<0.01<0.01<0.01CSB-4930.8
110871283114.8<0.01<0.01<0.01<0.01CSB-4930.8
11087128314.8<0.01<0.01<0.01<0.01CSB-4930.8

This file uses z coordinates (versus depth) for all samples, therefore line 2 has the word Elevation. There are 50 samples a<0.01 5 analytes (chemicals) per sample.

Another example using depths from the top surface is:

X CoordY CoordDepth@@TOTHCBoringTop
Depthfeet
371ppm
11856.7212764.011.057CSB_671.7
11856.7212764.018.134CSB_671.7
11856.7212764.0116.081CSB_671.7
11856.7212764.0120.292CSB_671.7
11856.7212764.0126.066CSB_671.7
11889.6012772.2021.762CSB_231.3
11889.6012772.204.853CSB_231.3
11889.6012772.207.941CSB_231.3
11889.6012772.201510.467CSB_231.3
11889.6012772.2016488.460CSB_231.3
11889.6012772.2022410.900CSB_231.3
11889.6012772.2026.140CSB_231.3
11939.1912758.456.175CSB_703.7
11939.1912758.4515.100CSB_703.7
11939.1912758.4518.430CSB_703.7
11939.1912758.4526.100CSB_703.7
12002.8012759.802.321CSB_241.2
12002.8012759.804.296CSB_241.2
12002.8012759.808.179CSB_241.2
12002.8012759.80130.000CSB_241.2
12002.8012759.8017.711CSB_241.2
12002.8012759.8023.864CSB_241.2
12002.8012759.8028.311CSB_241.2
12085.1512749.012.104CSW_714.6
12085.1512749.016.154CSW_714.6
12085.1512749.0116.732CSW_714.6
12085.1512749.0126.065CSW_714.6
12146.7012713.211.027CSB-722.1
12146.7012713.217.251CSB-722.1
12146.7012713.21231.176CSB-722.1
12199.7012709.802.043CSB-126.0
12199.7012709.804.055CSB-126.0
12199.7012709.808.031CSB-126.0
12199.7012709.8012.014CSB-126.0
12199.7012709.8016.018CSB-126.0
12199.7012709.8023.466CSB-126.0
12199.7012709.8027.197CSB-126.0

This file has 37 samples in 7 boreholes. Since depth below the top surface is used instead of “Z” coordinates, line 2 contains the word Depth. Note that in this example there is only one analyte (e.g. chemistry) (property) value per line, but up to 300 could be included in which case line three of the file would read “37 300” a<0.01 we would have 299 more columns of numbers in this file!.

A analyte (e.g. chemistry) fence diagram file has the exact same format, except that the samples from each boring must occur in the order of connectivity along the fence, a<0.01 they should be sorted by increasing depth at each sample location.

Discussion of analyte (e.g. chemistry) Files for Fence Sections

analyte (e.g. chemistry) files to be used to create fence diagrams using the older krig_fence module, must contain only those borings that the user wishes to include on an i<0.01ividual cross section of the fence, in the order that they will be connected along the section. The result is that one .apdv file is produced for each cross section that will be included in the fence diagram, a<0.01 the data for borings at which the fences will intersect are included in each of the intersecting cross section files. When geology is included on the fence diagrams, the order of the borings in the analyte (e.g. chemistry) files must be identical to those in the geology files for each section. Generally, it is easiest to create the analyte (e.g. chemistry) file for a complete dataset, a<0.01 then subset the fence diagram files from the complete file.

AIDV: Analyte Interval Data File Format

This format allows you to specify the top and bottom elevations of well screens and one or more concentrations that were measured over that interval. This new format (.aidv) will allow you to quickly visualize well screens in post_samples and automatically convert well screens to intelligently spaced samples along the screen interval for 3D (and 2D) kriging.

Format:

  • You may insert comment lines in C Tech Groundwater analyte (e.g. chemistry) (.aidv) input files.

    • Comment lines must begin with a ’#’ as the first character of a line.

Line 1: You may include any header message here (that does not start with a ’#’ character) unless you wish to include analyte names for use by other EVS modules (e.g. data component name). The format for line 1 to enable chemical names is as follows

A. Placing a pair of ’@’ symbols triggers the use and display of chemical names (example @@VOC). Any characters up to the @@ characters are ignored, and only the first analyte name needs @@, after that the chemical names must be delimited by spaces,

B. The following rules for commas are implemented to accommodate comma delimited files and also for using chemical names which have a comma within (example 1,1-DCA). Commas following a name will not become a part of the name, but a comma in the middle of a text string will be included in the name. The recommended approach is to put a space before the names.

C. If you want a space in your analyte name, you may use underscores and EVS will convert underscores to spaces (example: Vinyl_Chloride in a .aidv file will be converted to ’r;Vinyl Chloride." Or you may surround the entire name in quotation marks (example: “Vinyl Chloride”).

The advantages of using chemical names (attribute names of any type) are the following:

    • many modules use analyte names instead of data component numbers,
      • when writing EVS Field files (.eff, .efb, etc.), you will get analyte names instead of data component numbers.
      • when querying your data set with post_sample’s mouse interactivity, the analyte name is displayed.
      • time-series data can be used and the appropriate time-step can be displayed.

Line 2: Specifications

  • Elevation/Depth Specifier: The first item on line 2 must be the word Elevation or Depth (case insensitive) to denote whether well screen top and bottom elevations are true elevation or depth below ground surface.
  • Maximum Gap: The second parameter in this line is a real number (not an integer) specifying the Max-Gap. Max-gap is the maximum distance between samples for kriging. When a screen interval’s total length is less than max-gap, a single sample is placed at the center of the interval. If the screen interval is longer than max-gap, two or more equally spaced samples are distributed within the interval. The number of samples is equal to the interval divided by max-gap rounded up to an integer.
    • [note: if you set max gap too small, you effectively create over-sampling in z (relative to x-y) for your data. On the other hand, if you have multiple screen intervals with different z extents and depths, choosing the proper value for max-gap will ensure better 3D distributions. If max-gap is set very large, only one sample is placed at the center of each screen interval. If the screens are small relative to the thickness of the aquifer, a large max gap is OK. If the screens are long (30% or more) of the local thickness and there are nearby screens with different depths/lengths, you will need a smaller max-gap value. Viewing your screen intervals with the spheres ON will help assess the optimal value.
  • Coordinate Units: After Depth/Elevation, include the units of your coordinates (e.g. feet or meters)

Line 3: Specifications

  • The first integer (n) is the number of well screens (rows of data) to follow. You may specify “All” instead to use all data lines in the file.
  • The second integer is the number of analyte (chemistry) values per well screen.
  • The units of each data analyte column (e.g. ppm or mg/l).

Line 4: The first line of analyte interval (well screen) data must contain:

  • X
  • Y
  • Well Screen Top
  • Well Screen Bottom
  • (one or more) Analyte Value(s) (chemistry or property)
  • Well or Boring name. The boring name cannot contain spaces (recommend underscore “_” instead).
  • Elevation of the top of the boring.

Boring name and top are are optional parameters, but are used by many modules and it is highly recommended that you include this information in your file if possible. They are used by post_samples for posting tubes along borehole traces and for generating tubes which start from the ground surface of the borehole. Both 3d estimation and gridding and horizons will use this information to determing the Z spatial extent of your grids (gridding and horizons will create a layer that begins at ground surface if this information is provided). Numbers and names can be separated by one comma and/or any number of spaces or tabs.

BLANK ENTRIES (CELLS) ARE NOT ALLOWED.

Please see the section on Handling Non-Detects for information on how to deal with samples whose concentration is below the detection limit. For any sample that is not detected you may enter any of the following. Please note that the first three flag words are not case sensitive, but must be spelled exactly as shown below.

  • Prepend a less than sign < to the actual detection limit for that sample. This allows you to set the “Less Than Multiplier” in all modules that read .apdv files to a value such as 0.1 to 0.5 (10 to 50%). This is the preferred and most rigorous method.
  • nondetect
  • non-detect
  • nd
  • 0.0 (zero)

For files with multiple analytes such as the example below, if an analyte was not measured at a sample location, use any of the flags below to denote that this sample should be skipped for this analyte. Please note that these flag words are not case sensitive, but must be spelled exactly as shown below.

  • missing
  • unmeasured
  • not-measured
  • nm
  • unknown
  • unk
  • na

Example Files are here:

Subsections of AIDV: Analyte Interval Data File Format

An actual .aidv file could look like the following:

This is a comment line….any line that starts with # is ignored

XYZtopZbot@@TOTHCBoreTop
Elevation6.0feet
101mg/l
11086.5212830.67-13-262.000W-494.5
11199.0412810.16-18-302.000W-514
11298.0012808.63-12-383600.W-523
11566.3412850.59-14-250.000W-307.5
11251.3012929.27-24-3033000W-752
11248.7512870.91-17-225004.8W-483
11340.4912892.61-11-16120.0W-472.5
11340.4912892.61-22-28320.0W-472.5
11338.0012830.80-13-20640.0W-384
11401.7312897.77-36-40<0.300W-454

This example file above (10_well_screens.aidv) has 10 well screens in 9 boreholes. Well W-47 has two different screen intervals. Note that line 2 contains the word Elevation and the number 6.0 which is the max-gap parameter. There are 10 rows of data and there is only one analyte value per line, but up to 300 could be included in a single file.

Analyte Time Files Format

Discussion of Analyte Time Files

Analyte time files contain 3-D coordinates (x, y, z) describing the locations of samples and values of one or more analytes or properties taken over a series of different times. Time files must conform to the ASCII formats described below and individual entries (coordinates or measurements) can be delimited by commas, spaces, or tabs. They must have either a .sct (Soil Chemistry Time) or .gwt (Ground Water Time) suffix to be selected in the file browsers of EVS modules. Each line of the file contains the coordinate data for one sampling location, or well screen, and any number of chemistry or property values. There are no limits on the number of borings and/or samples that can be included in these files, except that run times for execution of kriging do increase with a greater number of samples in the file.

Time data can be visualized independently (without geology data) or within a domain bounded by a geologic system. When a geologic domain is utilized for a 3-D visualization, a consistent coordinate system (the same projection and overlapping spatial extents) must be used for both the chemistry and geology. The boring and sample locations in the time files do not have to correspond to those in the geology files, except that only those contained within or proximal to the spatial domain of the geology will be used for the kriging.

If the posting of borings and sample locations are to honor the topography of the site, the chemistry files also must contain the top surface elevation of each boring.

Format:

You may insert comment lines anywhere in Analyte time files. Comments must begin with a ‘#’ character. The line numbers that follow refer to all non-commented lines in the file.

The format of chemistry time files is substantially different from other analyte file formats (.apdv or .aidv) used in EVS. These differences includerequiredanalyte name and unitson line one (no other information allowed), and no need to specify the number of samples or number of analytesandtimes.

Line 1: This line contains the name of each analyte. After every analyte has been listed the analyte units are then required for each analyte. Analyte Units are REQUIRED for time chemistry files.

Line 2: This line contains the mapping of the analytes to a specific date. This is done by listing the analyte name followed by a pipe character “|” and then followed by the sampling date. There should be one of these mappings for every column of data in the file. If you want a space in your analyte name you may enclose the entire name and date in quotation marks (example: “Vinyl Chloride|6/1/2004”). Optionally the analyte name may be omitted and just a date used, in this case the first analyte name listed on line one will be used.

It is required that the order of analyte-date columns be from oldest to newest for each analyte.

The date format is dependent on your REGIONAL SETTINGS on your computer (control panel).

C Tech uses the SHORT DATE and SHORT TIME formats.

If the date/time works in Excel it will likely work in EVS.

For most people in the U.S., this would not be 24 hour clock so you would need:

“m/d/yyyy hh:mm:ss AM” or “m/d/yyyy hh:mm:ss PM”

Also, you MUST put the date/time in quotes if you use more than just date (i.e. if there are spaces in the total date/time).

Line 3: This line must contain the word Elevation or Depth to denote whether sample elevations are true elevation or depth below ground surface. If actual elevations are used (a right-handed coordinate system), then this parameter should be Elevation; if depths below the top surface elevation are used, then this parameter should be Depth.

FOR GWT FILESONLY:the second parameter in this line is a real number (not an integer) specifying the Max-Gap in the same units as your coordinate data. Max-gap is the maximum distance between samples for kriging. When a screen interval’s total length is less than max-gap, a single sample is placed at the center of the interval. If the screen interval is longer than max-gap, two or more equally spaced samples are distributed within the interval. The number of samplesis equal to theinterval divided by max-gap roundedupto an integer.

The last value on this line should be the units of your coordinates (e.g. feet or meters), or the flag word reproject.

Lines 4+: The lines of sample data:The content of these lines varies whether the files is a SCT or GWT file. GWT files have an additional column of elevation (Z) data to allow for specification of the top and bottom of each screen interval, whereas SCT files specify the location of a POINT sample (requiring only a single elevation).

X, Y, Z (for Chemistry files or Well Screen Top), Well Screen Bottom for groundwater chemistry files) , (one or more) Analyte Value(s) (chemistry or property), Boring name, and Elevation of the Top Of The Boring (optional).

There are several flag words available for missing values these include:

  1. unmeasured
  2. not-measured
  3. nm
  4. missing
  5. unknown
  6. unk
  7. na

For non-detect samples the following flag words are available:

  1. Prepend a less than sign < to the actual detection limit for that sample. This allows you to set the “Less Than Multiplier” in all modules that read .apdv files to a value such as 0.1 to 0.5 (10 to 50%). This is the preferred and most rigorous method.
  2. nondetect or
  3. non-detect
  4. nd

The boring name cannot contain spaces (recommend underscore “_” instead), unless surrounded by quotation marks (example: “B 1”). The optional boring name and top are needed only by the post_samples module for posting tubes along borehole traces and for generating tubes which start from the ground surface of the borehole. Numbers and names can be separated by one comma and/or any number of spaces or tabs.BLANK ENTRIES (CELLS) ARE NOT ALLOWED.

When Top of Boring elevations are given, they must be provided for all lines of the file.

#Soil Chemistry Time File Example (SCT)

“ethane"“ethylene"“mg/kg"“ug/kg”

“ethane|6/8/1976"“ethylene|6/8/1976"“ethane|1/12/1979” “ethylene|1/12/1979” “ethylene|3/16/1981”

Elevation meters

12008 12431 22.9 22 Unk 21 500 0 CSB-39 30.4

11271 13105 18.9 0 0 0 2800 0 CSB-40 35.9

10652 13857 23.4 0 0 0 290 0 CSB-41 28.1

9904 14522 18.4 0 0 0 Unk Unk CSB-42 22.8

9029 15283 37.9 0 0 0 23 0 CSB-43 30.1

For the GWT file below, those items that are unique to GWT (vs. SCT) are in BLUE.

#Ground WaterChemistry Time File Example (GWT)

“ethane"“ethylene"“mg/kg"“ug/kg”

“ethane|6/8/1976"“ethylene|6/8/1976"“ethane|1/12/1979” “ethylene|1/12/1979” “ethylene|3/16/1981”

Elevation3.0meters

12008 12431 22.9 15.2 22 Unk 21 500 0 CSB-39 30.4

11271 13105 18.9 12.5 0 0 0 2800 0 CSB-40 35.9

10652 13857 23.4 19.0 0 0 0 290 0 CSB-41 28.1

9904 14522 18.4 11.8 0 0 0 Unk Unk CSB-42 22.8

9029 15283 37.9 30.3 0 0 0 23 0 CSB-43 30.1

  • Time Domain Analyte Data

    We recommend that analyte files which represent data collected over time use either the APDV or AIDV format and include data for only a single analyte

  • Time Domain AIDV Example File

    | x | y | ztop | zbot | @@1/1/2001 | 5/1/2001 | 8/1/2001 | 11/1/2001 | 7/1/2002 | Site ID | Ground | | — | — | — | — | — | — | — | — |

  • Analyte Time Files (.sct and .gwt) Format

    Analyte Time Files Format Discussion of Analyte Time Files Analyte time files contain 3-D coordinates (x, y, z) describing the locations of samples and values of one or more analytes or properties taken over a series of different times. Time files must conform to the ASCII formats described below and individual entries (coordinates or measurements) can be delimited by commas, spaces, or tabs. They must have either a .sct (Soil Chemistry Time) or .gwt (Ground Water Time) suffix to be selected in the file browsers of EVS modules. Each line of the file contains the coordinate data for one sampling location, or well screen, and any number of chemistry or property values. There are no limits on the number of borings and/or samples that can be included in these files, except that run times for execution of kriging do increase with a greater number of samples in the file.

Subsections of Time Domain Analyte Data

We recommend that analyte files which represent data collected over time use either the APDV or AIDV format and include data for only a single analyte

We do not recommend using the SCT or GWT formats.

When using APDV or AIDV files for time domain data, the following rules apply:

  • Include data for only a single analyte
  • Group measurements taken over a few days or even weeks into the same DATE GROUP. If your entire site is re-sampled every 3 months, do not separately list each day when a particular well is sampled.
  • The “analyte name” for each column of data representing a Date Group should be the average date for that sampling event. The date must be in the Windows standard short date format. In the United States that is typically MM/DD/YYYY (e.g. 11/08/2003 for November 8, 2003)
  • The data file cannot specify the actual analyte name (e.g. benzene). However, the modules which deal with time domain data have the ability to specify the actual name and units.
  • Date groups need not be at equal time intervals.
xyztopzbot@@1/1/20015/1/20018/1/200111/1/20017/1/2002Site IDGround
Elevation10m
985mg/lmg/lmg/lmg/lmg/l
2772536.7331635.8886.5866.565555805-I1025.1
2772554.6331635.2987.4967.40.715555805-S1025.2
2772601.5333091.7862.1852.10.7155555011038.0
2772610.4333100.5950.6930.60.7111124171038.5
2772830.1336800.0853.5833.51901301251201108091018.8
2772982.4333214.1955.3935.3555554101035.3
2773014.8331825.0954.0934.0180nmnmnmnm811-I1032.0
2773014.8331825.0881.9861.9150nmnmnmnm811-S1031.9
2773069.9332631.8888.1868.135364050605101036.7
2773076.0332138.7959.5949.54848556155602-D1035.3
2773087.1332138.3994.4974.40.7111055602-S1035.6
2773091.3332611.7784.4684.4555557111037.2
2773104.2332134.5887.6867.64404805005203007081035.3
2773129.1332136.9736.0686.00.7155558061036.0
2773146.2333741.7862.5842.53003302402401208031040.5
2773149.9333225.71020.1990.1265025002350220020504131038.0
2773156.3333244.41017.8987.8750690135002600038500RW-11038.3
2773156.6333219.81002.0982.0200200200200200210-41038.5
2773157.7333579.1946.1941.10.712555212-21039.8
2773159.4333587.11006.4986.40.7111117141038.2
2773165.1333262.31013.1993.11000010000300004900068000P-21037.7
2773182.8333309.71009.2989.24500043000535006400074500P-31038.9
2773192.1333368.0796.2779.2555554021038.5
2773192.5333361.4870.7853.7191122847307-81038.7
2773196.2333647.9936.4921.42910013017010061039.3
2773236.4333568.81016.61016.6109nmnmnmLN-1D1038.6
2773253.6333567.21017.01017.0800800770780800LN-31039.6
2773266.3335344.6908.3888.36nmnmnmnm813-I1052.3
2773290.3335351.9833.0813.0610nmnmnmnm813-S1056.0
2773307.6333207.61005.5985.52000190015001200910206-41042.3
2773308.9333198.4945.6940.6180180200220240206-21042.0
2773323.3333554.51016.3996.375051077001480021900P-41038.8
2773324.5333353.1947.0942.0750750675610545207-21039.3
2773325.8333349.21009.5989.510091857970207-41038.9
2773326.6333529.31012.4992.4110010008106104104121038.6
2773328.0333518.51021.11001.1800730700650600208-41038.1
2773439.9333202.0994.0974.09088806040202-41039.4
2773441.7333077.61009.3989.3410410400380360201-41041.4
2773446.4333203.9946.0941.055555202-21039.6
2773457.6333081.2890.2870.24003802752501257051040.5
2773462.8333364.41000.7980.7110001100010550101009650203-41039.3
2773477.3333524.2941.8936.855555204-21039.5
2773480.4333449.21010.0980.0700066005750490040504111039.1
2773480.5333522.51006.9986.9350350375410445204-41038.8
2773482.1333669.2946.5931.50.711555D1038.3
2773541.1333784.9876.4826.4230240290390nmRW-3051038.4
2773570.2333713.21013.2989.90.711551600305-S1037.3
2773571.6333770.9853.5833.5100110160200500305-D1038.7
2773572.2332825.61008.8988.825262729315091043.7
2773573.4332844.1903.4883.41251201752503757031042.7
2773575.8333740.1738.3688.30.7155558041038.3
2773620.0332116.71019.5996.555555601-S1041.5
2773630.2332116.9959.4939.411555601-D1041.3
2773663.4332966.11003.8983.8700610625650725709-S1042.0
2773672.4332971.5889.9869.97565240420600709-D1041.7
2773688.4332956.9743.3693.3555558021043.3
2773689.4333385.8997.9977.9370190420480500101-41039.2
2773692.6333066.4882.0862.0800750950120011008011042.0
2773708.8333065.21007.8987.82500002200002600003000003400004061041.7
2773713.9333494.8860.6849.11002701902303903061039.7
2773714.1333523.81006.5986.53636353534102-41039.3
2773717.9333532.7941.2936.23131302827102-21038.7
2773730.5331660.3906.0886.00.71nmnmnmnm812-S1056.0
2773732.8331687.1950.3930.30.71nmnmnmnm812-I1028.3
2773735.5333543.7784.5734.50.7155557121037.8
2773760.8333319.1936.3931.388888100-21038.8
2773763.3333330.4997.1977.15926257805563485489053433100-41038.8
2773765.6333309.41013.0963.07708208907001200401-B1039.5
2773797.1333060.91008.8988.897979590854051041.6
2773899.9333080.3967.1957.11012121213706-S1041.2
2773902.7333097.7915.8905.859121518706-D1040.8
2774022.9333742.9882.9832.9469577120160RW-99D1035.2
2774033.8333513.5986.9974.922222301-D1038.5
2774051.8333512.91027.51005.521002100210025002800301-S1038.7
2774065.2333730.6983.5963.552505677RW-99S1035.0
2774073.1333738.4858.5838.50.710.713354031036.5
2774073.7334671.8947.1937.10.711455503-S1025.1
2774076.5333728.3823.7823.70.7122224151036.4
2774083.0332103.9866.4856.498851001201507011038.3
2774085.3333736.6996.9973.51625371725303-S1036.2
2774087.2334674.8792.4782.42220191915503-D1024.4
2774094.7333745.8936.3924.51614508150303-D1034.8
2774186.2331604.2873.9853.90.7155558101023.9
2774187.3333087.0911.3891.316222527357041041.6
2774194.8333100.9973.6953.6555554081042.1
2774324.1334101.7922.3912.30.71155nm414-I1032.2
2774332.3333623.1881.4861.40.7135557021038.7
2774338.3333327.8998.8981.50.7125553001040.2
2774341.9333638.31022.6999.4555553021039.3
2774344.3333870.5862.2852.2556345021036.3
2774352.8333882.0898.1888.10.7114134161036.0
2774664.2334463.8845.0835.00.711555504-D1018.0
2774677.0334462.1961.0951.0130120135150165504-S1018.0
2774820.0333352.3883.5863.50.7155555061039.4
2774995.8336287.5694.9644.90.715555807-D994.9
2774995.9336310.6831.8811.83031343744807-I994.8
2775092.1334397.8946.4936.41091010105051031.3
2777126.6336231.0809.7789.70.7155558081028.7

Analyte Time Files Format

Discussion of Analyte Time Files

Analyte time files contain 3-D coordinates (x, y, z) describing the locations of samples and values of one or more analytes or properties taken over a series of different times. Time files must conform to the ASCII formats described below and individual entries (coordinates or measurements) can be delimited by commas, spaces, or tabs. They must have either a .sct (Soil Chemistry Time) or .gwt (Ground Water Time) suffix to be selected in the file browsers of EVS modules. Each line of the file contains the coordinate data for one sampling location, or well screen, and any number of chemistry or property values. There are no limits on the number of borings and/or samples that can be included in these files, except that run times for execution of kriging do increase with a greater number of samples in the file.

Time data can be visualized independently (without geology data) or within a domain bounded by a geologic system. When a geologic domain is utilized for a 3-D visualization, a consistent coordinate system (the same projection and overlapping spatial extents) must be used for both the chemistry and geology. The boring and sample locations in the time files do not have to correspond to those in the geology files, except that only those contained within or proximal to the spatial domain of the geology will be used for the kriging.

If the posting of borings and sample locations are to honor the topography of the site, the chemistry files also must contain the top surface elevation of each boring.

Format:

You may insert comment lines anywhere in Analyte time files. Comments must begin with a ‘#’ character. The line numbers that follow refer to all non-commented lines in the file.

The format of chemistry time files is substantially different from other analyte file formats (.apdv or .aidv) used in EVS. These differences includerequiredanalyte name and unitson line one (no other information allowed), and no need to specify the number of samples or number of analytesandtimes.

Line 1: This line contains the name of each analyte. After every analyte has been listed the analyte units are then required for each analyte. Analyte Units are REQUIRED for time chemistry files.

Line 2: This line contains the mapping of the analytes to a specific date. This is done by listing the analyte name followed by a pipe character “|” and then followed by the sampling date. There should be one of these mappings for every column of data in the file. If you want a space in your analyte name you may enclose the entire name and date in quotation marks (example: “Vinyl Chloride|6/1/2004”). Optionally the analyte name may be omitted and just a date used, in this case the first analyte name listed on line one will be used.

It is required that the order of analyte-date columns be from oldest to newest for each analyte.

The date format is dependent on your REGIONAL SETTINGS on your computer (control panel).

C Tech uses the SHORT DATE and SHORT TIME formats.

If the date/time works in Excel it will likely work in EVS.

For most people in the U.S., this would not be 24 hour clock so you would need:

“m/d/yyyy hh:mm:ss AM” or “m/d/yyyy hh:mm:ss PM”

Also, you MUST put the date/time in quotes if you use more than just date (i.e. if there are spaces in the total date/time).

Line 3: This line must contain the word Elevation or Depth to denote whether sample elevations are true elevation or depth below ground surface. If actual elevations are used (a right-handed coordinate system), then this parameter should be Elevation; if depths below the top surface elevation are used, then this parameter should be Depth.

FOR GWT FILESONLY:the second parameter in this line is a real number (not an integer) specifying the Max-Gap in the same units as your coordinate data. Max-gap is the maximum distance between samples for kriging. When a screen interval’s total length is less than max-gap, a single sample is placed at the center of the interval. If the screen interval is longer than max-gap, two or more equally spaced samples are distributed within the interval. The number of samplesis equal to theinterval divided by max-gap roundedupto an integer.

The last value on this line should be the units of your coordinates (e.g. feet or meters), or the flag word reproject.

Lines 4+: The lines of sample data:The content of these lines varies whether the files is a SCT or GWT file. GWT files have an additional column of elevation (Z) data to allow for specification of the top and bottom of each screen interval, whereas SCT files specify the location of a POINT sample (requiring only a single elevation).

X, Y, Z (for Chemistry files or Well Screen Top), Well Screen Bottom for groundwater chemistry files) , (one or more) Analyte Value(s) (chemistry or property), Boring name, and Elevation of the Top Of The Boring (optional).

There are several flag words available for missing values these include:

  1. unmeasured
  2. not-measured
  3. nm
  4. missing
  5. unknown
  6. unk
  7. na

For non-detect samples the following flag words are available:

  1. Prepend a less than sign < to the actual detection limit for that sample. This allows you to set the “Less Than Multiplier” in all modules that read .apdv files to a value such as 0.1 to 0.5 (10 to 50%). This is the preferred and most rigorous method.
  2. nondetect or
  3. non-detect
  4. nd

The boring name cannot contain spaces (recommend underscore “_” instead), unless surrounded by quotation marks (example: “B 1”). The optional boring name and top are needed only by the post_samples module for posting tubes along borehole traces and for generating tubes which start from the ground surface of the borehole. Numbers and names can be separated by one comma and/or any number of spaces or tabs.BLANK ENTRIES (CELLS) ARE NOT ALLOWED.

When Top of Boring elevations are given, they must be provided for all lines of the file.

#Soil Chemistry Time File Example (SCT)

“ethane"“ethylene"“mg/kg"“ug/kg”

“ethane|6/8/1976"“ethylene|6/8/1976"“ethane|1/12/1979” “ethylene|1/12/1979” “ethylene|3/16/1981”

Elevation meters

12008 12431 22.9 22 Unk 21 500 0 CSB-39 30.4

11271 13105 18.9 0 0 0 2800 0 CSB-40 35.9

10652 13857 23.4 0 0 0 290 0 CSB-41 28.1

9904 14522 18.4 0 0 0 Unk Unk CSB-42 22.8

9029 15283 37.9 0 0 0 23 0 CSB-43 30.1

For the GWT file below, those items that are unique to GWT (vs. SCT) are in BLUE.

#Ground WaterChemistry Time File Example (GWT)

“ethane"“ethylene"“mg/kg"“ug/kg”

“ethane|6/8/1976"“ethylene|6/8/1976"“ethane|1/12/1979” “ethylene|1/12/1979” “ethylene|3/16/1981”

Elevation3.0meters

12008 12431 22.9 15.2 22 Unk 21 500 0 CSB-39 30.4

11271 13105 18.9 12.5 0 0 0 2800 0 CSB-40 35.9

10652 13857 23.4 19.0 0 0 0 290 0 CSB-41 28.1

9904 14522 18.4 11.8 0 0 0 Unk Unk CSB-42 22.8

9029 15283 37.9 30.3 0 0 0 23 0 CSB-43 30.1

Pre Geology File: Lithology

The ASCII pregeology file name must have a .pgf suffix to be selected in the module’s file browser. This file type represents raw (uninterpreted) 3D boring logs representing lithology. This format is used by:

  • create stratigraphic hierarchy

  • post_samples

  • gridding and horizons (to extract a top and bottom surface to build a single layer)

  • lithologic modeling for Geologic Indicator Kriging (GIK).

  • adaptive_indicator_krig

  • You may insert comment lines in .pgf files.

    • Comment lines must begin with a ’#’ as the first character of a line.

The pre-geology file format is used to represent raw 3D boring logs. We also refer to this geologic data format as “uninterpreted”. This is not meant to imply that no form of geologic evaluation or interpretation has occurred. On the contrary, it is required that someone categorizes the materials on the site and in each boring.

Data Concept:

  • A PGF file can be considered a group of file sections where each section represents the lithology for individual borings (wells).

  • It is essential to use the same ID for the ground surface (first line) as for the bottom of the first observed material (second line) in each section (boring). If a different material ID is used a synthetic point will be added between the ground and first observed material. This will be reported for the first five occurrences.

    • Think about the PGF file as a shorthand way of specifying intervals. The first line is the FROM. The second is the TO.
  • Please note that the data for each boring must be sorted (by you) from beginning to end (normally top to bottom).

  • We cannot sort this data for you because some borings may turn to horizontal or even upwards.

    • It is your responsibility to make sure that the data is in the proper order.
    • It is your responsibility to make sure that each boring ID corresponds to a unique X, Y location if there would be overlapping Z (or depth) intervals. In other words, there cannot be overlapping boring definitions.
    • If the data is unsorted, and within a boring the direction between two values varies by more than 90 degrees, an error will be reported.

FILE FORMAT:

  • Line 1: May contain any header message, but cannot be left blank or commented. There is no information content in this line.
  • Line 2: Line 2 contains the declaration of Elevation or Depth, the definitions of Lithology IDs and Names, and coordinate units.
    • Elevation/Depth Specifier: This line must contain the word Elevation or Depth (case insensitive) to specify whether well screen top and bottom elevations are true elevation or depth below ground surface.
        • Depth forces the otherwise optional ground surface elevation column to be required. Depths given in column 3 are distances below the ground surface elevation in the last column (column 6). If the top surface is omitted, a value of 0.0 will be assumed and a warning message will be printed to the EVS Information Window.
      • IDs and Names: Line 2 should contain Lithology IDs and corresponding names for each material. Each Name is explicitly associated with its corresponding Lithology ID and the pairs are delimited by a pipe symbol “|”.
        • Though it is generally advisable, IDs need not be sequential and may be any integer values. This allow for a unified set of Lithology IDs and Names to be applied to a large site where models create for sub-sites may not have all materials.

          • The number of (material) IDs and Names MUST be equal to the number of Lithology IDs specified in the data section. Each material ID present in the data section must have corresponding Lithology IDs and Names. If there are four materials represented in your .pgf file, there should be at least four IDs and Names on line two.
          • The order of Lithology IDs and Names will determine the order that they appear in legends. The IDs do not need to be sequential.
          • You can specify additional IDs and Names, which are not in the data and those will appear on legends.
      • Coordinate Units: You should include the units of your coordinates (e.g. feet or meters). If this is included it must follow the names associated with each Lithology ID.
  • Line 3: Must be the number of lines of data (n) to follow. For each boring, there is one line for the ground surface and one line for the bottom of each observed lithologic unit. Therefore the total number of lines in the file should be equal to the number of borings PLUS the sum of the number of materials observed in each boring.
  • Line 4: First line of sample data. X, Y, Z, “Lithology ID”, Boring name, and Ground surface elevation. The Ground surface elevation is an optional parameter which is required if Depth is specified on line 2. If depths are used (instead of elevations) the top surface should be in the same coordinate system. Depths are relative to the Ground surface (which is assumed at 0.0 if the Ground surface is not defined). The boring name cannot contain spaces unless the entire name is surrounded in quotation marks (example “Boring 1D”). One comma and/or any number of spaces or tabs can separate numbers and name.
  • Line 3+n: is the last line of the file.

AN EXAMPLE FILE FOLLOWS:

Pregeologyfile
Elevation1Silt2Fill3Clay
17
11086.512830.74.51B-49
11086.512830.7-3.81B-49
11086.512830.7-212B-49
11086.512830.7-263B-49
11086.512830.7-424B-49
11086.512830.7-555B-49
111991260041B-51
1119912600-51B-51
1119912600-202B-51
1119912600-253B-51
1119912600-394B-51
1119912600-535B-51
11259.712819.321B-46
11259.712819.3-7.51B-46
11259.712819.3-273B-46
11259.712819.3-404B-46
11259.712819.3-535B-46
  • PGF File Examples

    In the (very short) example file below, please note that the Lithology IDs and Names are not ordered by increasing ID number. The order that you speci

  • PGF File Example with Depth

    Easting Northing Depth Lithology_ID Boring_ID Ground

Subsections of PGF: Pre Geology File Lithology

In the (very short) example file below, please note that the Lithology IDs and Names are not ordered by increasing ID number. The order that you specify the Lithology IDs and Names determines the order that is used for exploding the lithologic materials and the ordering in legends. Also notice that Lithology ID 3 is specified in line 2, but not present in the data. Silty-Sand will be shown in the legend, but will not be present in the borings displayed with post_samples nor any model created with this data.

EAST NORTH TOP-BOT MATERIAL-ID WELL_ID

Elevation 4|Sand 5|Gravel 1|Clay 2|Silt 3|Silty-sand meters

11

2085487.12 322869.95 31 4 AW-3

2085487.12 322869.95 -1 4 AW-3

2085487.12 322869.95 -3 2 AW-3

2085108.47 323363.89 32 4 MW-10A

2085108.47 323363.89 20 4 MW-10A

2085108.47 323363.89 12 5 MW-10A

2085079.22 323361.25 32 4 MW-10B

2085079.22 323361.25 20 4 MW-10B

2085266.93 323410.05 32 4 MW-11A

2085266.93 323410.05 14 4 MW-11A

2085266.93 323410.05 7 1 MW-11A

In the realistic example below, IDs are listed in ascending order and this order on Line 2 will be the order used for exploding materials and legends.

Pre-Geology File for Initial Painting Facility soil investigation
Elevation1Silt
144
11086.512830.74.5
11086.512830.7-3.8
11086.512830.7-21.0
11086.512830.7-26.0
11086.512830.7-42.0
11086.512830.7-55.0
11199.012810.24.0
11199.012810.2-5.0
11199.012810.2-20.0
11199.012810.2-25.0
11199.012810.2-39.0
11199.012810.2-53.0
11259.712819.32.0
11259.712819.3-7.5
11259.712819.3-20.5
11259.712819.3-27.0
11259.712819.3-40.0
11259.712819.3-53.0
11298.012808.63.0
11298.012808.6-6.0
11298.012808.6-19.0
11298.012808.6-25.8
11298.012808.6-41.8
11298.012808.6-55.0
11414.412781.12.0
11414.412781.1-6.0
11414.412781.1-20.5
11414.412781.1-28.0
11414.412781.1-42.0
11414.412781.1-55.0
11427.012780.96.5
11427.012780.9-7.0
11427.012780.9-23.0
11427.012780.9-28.5
11427.012780.9-38.5
11427.012780.9-51.0
11496.312753.61.5
11496.312753.6-7.5
11496.312753.6-20.0
11496.312753.6-28.8
11496.312753.6-38.8
11496.312753.6-51.0
11209.412993.92.0
11209.412993.9-3.0
11209.412993.9-23.0
11209.412993.9-27.5
11209.412993.9-37.5
11209.412993.9-51.0
11251.312929.32.0
11251.312929.3-2.5
11251.312929.3-22.0
11251.312929.3-28.0
11251.312929.3-40.0
11251.312929.3-53.0
11248.812870.93.0
11248.812870.9-3.5
11248.812870.9-22.0
11248.812870.9-28.5
11248.812870.9-36.3
11248.812870.9-50.0
11211.912710.82.0
11211.912710.8-6.5
11211.912710.8-22.5
11211.912710.8-27.5
11211.912710.8-37.5
11211.912710.8-51.0
11302.013079.74.5
11302.013079.7-3.5
11302.013079.7-21.9
11302.013079.7-26.0
11302.013079.7-38.0
11302.013079.7-51.0
11286.813026.72.0
11286.813026.7-5.0
11286.813026.7-23.0
11286.813026.7-29.0
11286.813026.7-37.0
11286.813026.7-50.0
11309.012949.04.0
11309.012949.0-2.5
11309.012949.0-22.0
11309.012949.0-28.3
11309.012949.0-38.3
11309.012949.0-52.0
11340.512892.62.5
11340.512892.6-2.5
11340.512892.6-20.0
11340.512892.6-23.0
11340.512892.6-38.0
11340.512892.6-52.0
11338.012830.84.0
11338.012830.8-8.8
11338.012830.8-23.0
11338.012830.8-26.5
11338.012830.8-36.5
11338.012830.8-50.0
11393.512948.93.5
11393.512948.9-3.8
11393.512948.9-23.0
11393.512948.9-27.0
11393.512948.9-39.0
11393.512948.9-52.0
11401.712897.84.0
11401.712897.8-2.0
11401.712897.8-22.0
11401.712897.8-27.5
11401.712897.8-37.5
11401.712897.8-51.0
11416.912819.52.5
11416.912819.5-5.0
11416.912819.5-21.0
11416.912819.5-28.5
11416.912819.5-38.5
11416.912819.5-51.0
11381.712747.51.5
11381.712747.5-4.0
11381.712747.5-21.5
11381.712747.5-25.8
11381.712747.5-42.8
11381.712747.5-56.0
11410.312724.70.5
11410.312724.7-4.5
11410.312724.7-22.9
11410.312724.7-25.0
11410.312724.7-36.0
11410.312724.7-49.0
11566.312850.62.5
11566.312850.6-5.0
11566.312850.6-21.0
11566.312850.6-28.5
11566.312850.6-38.5
11566.312850.6-51.0
11586.313050.611.5
11586.313050.61.0
11586.313050.6-11.0
11586.313050.6-18.5
11586.313050.6-26.5
11586.313050.6-47.0
11086.313090.68.5
11086.313090.6-1.0
11086.313090.6-14.0
11086.313090.6-23.5
11086.313090.6-32.5
11086.313090.6-48.0

Easting Northing Depth Lithology_ID Boring_ID Ground

Depth 0|Overburden 1|Lava 2|Sulfide 3|Rhyolite 4|Mafic_Intrusion m

29

192731.10 1389503.04 0.00 0 1 2132.53

192731.10 1389503.04 6.75 0 1 2132.53

192731.10 1389503.04 101.00 1 1 2132.53

192731.10 1389503.04 383.10 3 1 2132.53

192731.10 1389503.04 403.70 2 1 2132.53

192731.10 1389503.04 490.00 4 1 2132.53

192674.55 1389639.67 0.00 0 22 2126.28

192674.55 1389639.67 4.30 0 22 2126.28

192674.55 1389639.67 100.60 1 22 2126.28

192674.55 1389639.67 156.00 3 22 2126.28

192674.55 1389639.67 209.40 2 22 2126.28

192674.55 1389639.67 496.20 4 22 2126.28

192987.12 1389624.87 0.00 0 13 2130.64

192987.12 1389624.87 6.98 0 13 2130.64

192987.12 1389624.87 91.40 1 13 2130.64

192987.12 1389624.87 397.40 2 13 2130.64

192987.12 1389624.87 425.80 4 13 2130.64

192930.95 1389745.48 0.00 0 14 2128.68

192930.95 1389745.48 6.70 0 14 2128.68

192930.95 1389745.48 80.40 1 14 2128.68

192930.95 1389745.48 246.40 3 14 2128.68

192930.95 1389745.48 250.60 2 14 2128.68

192930.95 1389745.48 459.60 4 14 2128.68

192582.47 1389677.63 0.00 0 23 2123.62

192582.47 1389677.63 6.80 0 23 2123.62

192582.47 1389677.63 101.20 1 23 2123.62

192582.47 1389677.63 138.70 3 23 2123.62

192582.47 1389677.63 160.00 2 23 2123.62

192582.47 1389677.63 499.60 4 23 2123.62

LPDV Lithology Point Data Value File Format

The LPDV lithology file format is the most general, free-form format to represent lithology information.

To understand the rationale for its existence, you must understand that when creating lithologic models (smooth or block) with lithologic modeling, the internal kriging operations require lithologic data in point format. Therefore all other lithology file formats (.PGF and .LSDV) are converted to points based on the PGF Refine Distance. LPDV files are not refined since we use the point data directly.

LPDV files have the following advantages and disadvantages:

  • Advantages

    • Is not based on borings or screens
    • It can represent surficial lithology data (material definitions at ground without depth)
    • LSDV formats can be converted to LPDV and merged with other LPDV data. This is done with this Tool

  • Disadvantages

    • Files tend to be larger since a single screen can represent many points
    • Displaying boring based data is more limited
    • LPDV files cannot be further refined.
      • If your points are too coarse or too fine, you cannot easily change this.

An explanation of the file format follows:

  • You may insert comment lines in .lpdv files.

    • Comment lines must begin with a ’#’ as the first character of a line.
  • Entries on lines can be separated by commas, spaces and/or tabs.

  • The First (uncommented) line:

    1. Must begin with Elevation or Depth
      • For the data section shown below, when Depth is specified, replace Z with Depth and columns 5 & 6 are required
    2. Then each material specified in the file is listed as: “Material^number^|Material^name^”
    3. The end of the line has the coordinate units (typically m [meters] or ft [feet]), OR the REPROJECT tag.
  • The next line begins the data section. You do not need to specify the number of data lines. The 9 entries in each line are all requiredand therefore must be:

    • Columns 1-3: X, Y, Z
    • Column 4: Material-number (these are integers which should begin with zero on line 1)
    • Column 5: Boring ID : OPTIONAL, however, if any line has this then all lines must have it.
    • Column 6: Ground Surface Elevation: OPTIONAL, however, it can only be included if Boring_ID is included and if any line has this then all lines must have it.

Below is a snippet of the file “lithology.lpdv” in the “Exporting Data to C Tech File Formats” folder of Studio Projects. This file was converted from lithology.lsdv.

Elevation “0|SAND” “1|SANDSTONE” “2|GRAVEL” “3|MUDSTONE” “4|LIMESTONE” “5|SILTSTONE” “6|MADEGROUND” “7|CONGLOMERATE” “8|GYPSUM” “9|CLAY” “10|SILT” m

736133.267249 1637594.558440 1190.194000 0 720B0001 1190.200000

736133.267249 1637594.558440 1189.806000 0 720B0001 1190.200000

736133.267249 1637594.558440 1189.794000 1 720B0001 1190.200000

736133.267249 1637594.558440 1189.006000 1 720B0001 1190.200000

736133.267249 1637594.558440 1188.206000 1 720B0001 1190.200000

736133.267249 1637594.558440 1188.194000 0 720B0001 1190.200000

736133.267249 1637594.558440 1187.806000 0 720B0001 1190.200000

736133.267249 1637594.558440 1187.794000 1 720B0001 1190.200000

736133.267249 1637594.558440 1187.256000 1 720B0001 1190.200000

736133.267249 1637594.558440 1186.706000 1 720B0001 1190.200000

736133.267249 1637594.558440 1186.694000 0 720B0001 1190.200000

736133.267249 1637594.558440 1186.156000 0 720B0001 1190.200000

736133.267249 1637594.558440 1185.606000 0 720B0001 1190.200000

736133.267249 1637594.558440 1185.594000 2 720B0001 1190.200000

736133.267249 1637594.558440 1184.906000 2 720B0001 1190.200000

736133.267249 1637594.558440 1184.206000 2 720B0001 1190.200000

736133.267249 1637594.558440 1184.194000 1 720B0001 1190.200000

736133.267249 1637594.558440 1183.453000 1 720B0001 1190.200000

736133.267249 1637594.558440 1182.706000 1 720B0001 1190.200000

736133.267249 1637594.558440 1181.959000 1 720B0001 1190.200000

736133.267249 1637594.558440 1181.206000 1 720B0001 1190.200000

736133.267249 1637594.558440 1181.194000 1 720B0001 1190.200000

LSDV Lithology Screen Data Value File Format

The LSDV lithology file format can be used as a more feature rich replacement for the older PGF format. It has the following advantages:

  • Fully supports non-vertical borings
  • Supports missing intervals and lithology data which does not begin at ground surface
  • Provides an Explicit definition of each lithologic interval

An explanation of the file format follows:

  • You may insert comment lines in .pgf files.

    • Comment lines must begin with a ’#’ as the first character of a line.
  • Any line beginning with # is a comment (in the file below, the first and third lines are comments and could be deleted without loss of function)

  • Entries on lines can be separated by commas, spaces and/or tabs.

  • The First (uncommented) line:

    1. Must begin with Elevation or Depth
      • For the data section shown below, when Depth is specified, replace Z with Depth
    2. Then each material specified in the file is listed as: “Material^number^|Material^name^”
    3. The end of the line has the coordinate units (typically m [meters] or ft [feet]), OR the REPROJECT tag.
  • The next line begins the data section. You do not need to specify the number of data lines. The 9 entries in each line are all requiredand therefore must be:

    • Columns 1-3: X, Y, Z
    • Columns 4-6: X, Y, Z
    • Column 7: Material-number (these are integers which should begin with zero on line 1)
    • Column 8: Boring ID
    • Column 9: Ground Surface Elevation
  • We cannot sort this data for you because some borings may turn to horizontal or even upwards.

    • It is your responsibility to make sure that the data is in the proper order.
    • It is your responsibility to make sure that each boring ID corresponds to a unique X, Y location if there would be overlapping Z (or depth) intervals. In other words, there cannot be overlapping boring definitions

Below is a snippet of the file “lithology.lsdv” in the “Exporting Data to C Tech File Formats” folder of Studio Projects.

C Tech Data Exporter generated LSDV File from LITHOLOGY-DATA.XLSX (05/01/2020 15:31:03)

Elevation “0|SAND” “1|SANDSTONE” “2|GRAVEL” “3|MUDSTONE” “4|LIMESTONE” “5|SILTSTONE” “6|MADEGROUND” “7|CONGLOMERATE” “8|GYPSUM” “9|CLAY” “10|SILT” m

Columns [DEMO]: “East” “North” “Elev-Top” “East” “North” “Elev-Bot” “Lithology” “Boring” “Ground_Surface”

736133.267249, 1637594.55844, 1190.2, 736133.267249, 1637594.55844, 1189.8, 0, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1189.8, 736133.267249, 1637594.55844, 1188.2, 1, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1188.2, 736133.267249, 1637594.55844, 1187.8, 0, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1187.8, 736133.267249, 1637594.55844, 1186.7, 1, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1186.7, 736133.267249, 1637594.55844, 1185.6, 0, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1185.6, 736133.267249, 1637594.55844, 1184.2, 2, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1184.2, 736133.267249, 1637594.55844, 1181.2, 1, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1181.2, 736133.267249, 1637594.55844, 1176.2, 1, “720B0001”, 1190.2

736133.267249, 1637594.55844, 1176.2, 736133.267249, 1637594.55844, 1174.9, 1, “720B0001”, 1190.2

736286.268053, 1637647.55834, 1191.2, 736286.268053, 1637647.55834, 1190.2, 0, “720B0002”, 1191.2

736286.268053, 1637647.55834, 1190.2, 736286.268053, 1637647.55834, 1189.8, 0, “720B0002”, 1191.2

736286.268053, 1637647.55834, 1189.8, 736286.268053, 1637647.55834, 1187.2, 1, “720B0002”, 1191.2

736286.268053, 1637647.55834, 1187.2, 736286.268053, 1637647.55834, 1186.2, 2, “720B0002”, 1191.2

736286.268053, 1637647.55834, 1186.2, 736286.268053, 1637647.55834, 1184.1, 1, “720B0002”, 1191.2

736286.268053, 1637647.55834, 1184.1, 736286.268053, 1637647.55834, 1182.2, 1, “720B0002”, 1191.2

736286.268053, 1637647.55834, 1182.2, 736286.268053, 1637647.55834, 1175.9, 1, “720B0002”, 1191.2

737193.272266, 1637709.55665, 1190.2, 737193.272266, 1637709.55665, 1189.2, 0, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1189.2, 737193.272266, 1637709.55665, 1188.2, 0, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1188.2, 737193.272266, 1637709.55665, 1184.2, 0, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1184.2, 737193.272266, 1637709.55665, 1181.9, 0, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1181.9, 737193.272266, 1637709.55665, 1179.2, 1, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1179.2, 737193.272266, 1637709.55665, 1178.9, 0, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1178.9, 737193.272266, 1637709.55665, 1178.2, 1, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1178.2, 737193.272266, 1637709.55665, 1177.9, 0, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1177.9, 737193.272266, 1637709.55665, 1177.2, 1, “720B0003”, 1190.2

737193.272266, 1637709.55665, 1177.2, 737193.272266, 1637709.55665, 1174.7, 1, “720B0003”, 1190.2

GEO: Borehole Geology Stratigraphy

Geology data files basically contain horizontal and vertical coordinates, which describe the geometry of geologic features of the region being modeled. The files must be in ASCII format and can be delimited by commas, spaces, or tabs. Borehole Geology files must have a .geo suffix to be selected in the file browsers of EVS modules. The z values in .geo files can represent either elevation or depth, although elevation is generally the easiest to work with. When chemistry or property data is to be utilized along with geologic data for a 3-D visualization, a consistent coordinate system must be used in both sets of data.

Geology files should also specify the geologic layer material (color) number and layer names. This provides a mechanism to color multiple (not necessarily adjacent) layers as the same material.

Borehole Geology files (.geo suffix) must have the same number of entries for each boring location, so that every geologic layer in the system is represented in each boring. However, EVS allows flags to be included in the .geo files to allow automated processing of data in systems where geologic layers are not present in all locations (i.e., the layers “pinch out”). Also, EVS accommodates borings that were not extended deep enough to encounter layers that the scientist knows are present in the system. The use of these flags greatly facilitates the production of .geo data files, and minimizes the amount of manual interpretation the scientist must do before using EVS to analyze, understand, and refine a geologic model. For layers that pinch out, a flag of pinch can be used for automated estimation of the “depth” to the bottom of that layer. Entering this flag is essentially equivalent to entering the bottom depth of the layer directly above the pinched out layer (which is also an acceptable way to prepare the file). When EVS encounters this flag in a file, it assigns the pinched out layer a zero thickness at this location. For borings that do not extend to the depths of geologic layers in the system, a flag of short is included in the file for all layers below the depth of the boring. Including this flag notifies EVS to ignore the presence of this boring when kriging the surface of the layers below the total depth of the boring.

Format:

The file name must have a .geo suffix to be selected in the module’s file browser. The format below is the same for all EVS modules which read geology files:

  • You may insert comment lines in .geo files.

    • Comment lines must begin with a ’#’ as the first character of a line.

The first non-commented line of the file is the header line (line 1 described below).

Line 1: Any header message: Except that:

  • $W or $G as the first two characters signifies a special geology file which contains unrelated surfaces such as historical water tables. These flags turn off checking for corrupt geology file formats (situations where lower surfaces are above higher surfaces) and automatically turn off kriging in thickness space.
  • Line one cannot be BLANK

Line 2: Elevation/Depth Specifier:

  • The only REQUIRED item on this line in the Elevation or Depth Specifier.
    • This line should contain the word Elevation or Depth (case insensitive) to denote whether sample elevations are true elevation or depth below ground surface.
      • If set to Depth all surface descriptions for layer bottoms are entered as depths relative to the top surface. This is a common means of collecting sample coordinates for borings.
      • Note that the flags such as pinch or short are not modified.
  • Line 2 SHOULD contain names for each geologic surface (and therefore the layers created by them).
    • There are some rules that must be observed.
      • The number of surface (layer) names MUST be equal to the number of surfaces. Therefore, if naming layers, the first name should correspond to the top surface and each subsequent name will refer to the surface that defines the bottom of that layer.
      • A name containing a space MUST be enclosed in quotation marks example (“Silty Sand”). Names should be limited to upper and lower case letters, numerals, hyphen “-” and underscore “_”. The names defined on line two will appear as the cell set name in the explode_and_scale or select cell sets modules. Names should be separated with spaces, commas or tabs.
  • Line 2: After the names, include the units of your coordinates (e.g. feet or meters). It must follow the names for each material number.

Line 3: The first integer (n) is the number of lines to follow. The second integer (m) is the number of geologic layer depths plus one (for the top surface). The 3rd and subsequent numbers are the colors for each surface in your model. Layers are colored by the color of the surface that defines their bottoms. The first two color numbers should be the same (top and bottom of the first layer).

When used with fence_geology, the order of the borings determines the connectivity of the fence diagram and must match the chemistry file for krig_fence.

Note that X and Y corresponding to Eastings and Northings are used. Be careful not to reverse these.

Line 4: First line of sample data. X, Y, top surface, and “m” depths or elevations to the bottom of each geologic layer. Coordinates, elevations (depths) and boring name can be separated by one comma and/or any number of spaces or tabs.

Two different flag parameters are included to accommodate special conditions. These flags are

A: Boring terminates early or surface information is missing. This flag class is used to identify that a boring did not continue deep enough to find the bottom of a geologic layer, OR that a section of a core sample is missing (lost, damaged, etc.) and that no determination of the location of this surface can be made from this boring. This is distinctly different than a surface (layer) that is not present because it has been determined that it has pinched out. The flags that are used for this class are [note: all flags are case insensitive, but spelling is critical]:

  • missing
  • unknown
  • unk
  • na
  • short
  • terminated
  • term

In the sample file below, BOR-24 was not deep enough to reach to the bottom of the Lsand (lower sand) layer or the gravel layer. Rather than use the bottom of the boring (a meaningless number), the short flag is used so that this boring will not be used to determine the bottom of these two layers. Similarly BOR-72 is not deep enough to be used in determining the bottom of the last (Gravel) layer. The flags that are used for this class are [note: all flags are case insensitive, but spelling is critical]:

B: This flag class is used to identify that a geologic layer is not present because it has pinched out for this particular boring. It can be “thought of” as numerically equivalent to using the value one column to the left. However, now that gridding and horizons includes special treatment for the pinchflag, using the value to the left is not strictly equivalent.

  • pinch
  • pinched
  • pinch-out

Note that several layers pinch out in borings WEL-67, BOR-23, BOR-70 and BOR-24, so the pinch flag was used for these layer’s entries instead of any numerical value.

IMPORTANT: There are two important things to consider when using the flags above:

  1. It is wholly inappropriate to have a pinch follow a short. Pinch denotes that the layer above is zero thickness. It is equivalent to using the numeric value to the left. However if it were to follow a short (unknown) it would be meaningless since the short is interpreted to be missing information.
  2. If your last defined surface has fewer than 3 numeric values (with all the rest being missing/short), it will be poorly defined since it takes 3 points to define a plane. If there are no numeric valuesthe surfacecannot be created.

Line 3+n is the last line of the file.

AN EXAMPLE FILE FOLLOWS:

XYTOPBOT_1BOT_2BOT_3BOT_4BOT_5BOT_6BOT_7Boring
DepthTopFillSiltySandClaySandSiltSandGravelfeet
7855314246
11856.712764.005.018.223.5pinchpinch69.0105.0WEL-67
11889.612772.201.517.022.0pinchpinch63.0105.0BOR-23
11939.112758.402.516.025.5pinchpinch63.0105.0BOR-70
12002.812759.801.017.027.0pinch47.0shortshortBOR-24
12085.112749.001.017.525.745.7pinch68.0105.0WEL-71
12146.712713.201.018.026.532.539.565.0shortBOR-72
12199.712709.801.016.522.527.535.570.0105.0WEL-12

This file has 7 boreholes with 8 entries (surfaces) per borehole, corresponding to the top surface and the bottom depths of 7 geologic layers. Note that the fourth and sixth layers are both designated to be material 4. This allows you to easily create layers with the same material the same color.

Other Examples of Geologic Input Files

Example of a .geo file for sedimentary layers and lenses (containing pinchouts)

Example of a .geo file for Dipping Strata Geologic_File_Example_Outcrop_of_Dipping_Strata

  • Geologic File Example: Sedimentary Layers and Lenses

    Geologic File Example: Sedimentary Layers & Lenses Both example files below represent valid forms for the geology file associated with the above figure. For file 1, line 2 of the file is “1”, therefore all surface elevations are entered as actual elevations relative to a fixed reference such as sea level (not depths) and the relationship between x, y, and elevation must be a right handed coordinate system. Note that X and Y corresponding to Eastings and Northings are used. Be careful not to reverse these.

  • Geologic File Example: Outcrop of Dipping Strata

    Geologic File Example: Outcrop of Dipping Strata EVS is not limited to sedimentary layers or lenses. The figure below shows a cross-section through an outcrop of dipping geologic strata. EVS easily model the layers truncating on the top ground surface. The file below represents the geology file associated with the above figure. Line 2 of the file is “Elevation”, therefore all surface elevations are entered as elevations (not depths) and the relationship between x, y, and elevation must be a right handed coordinate system. The pinch flag is used extensively to identify that a geologic layer is not present (pinched out) for a particular boring. It is equivalent to using the value one column to the left. The file was created with the assumption that there was no desire to model any layers below -70 foot elevation and that all borings extend to/beyond that depth.

  • Geology Files for Production of a Fence Diagram

    Geology Files for Production of a Fence Diagram Discussion of Geology Files for Fence Sections Files used to create fence diagrams contain only those borings that the user wishes to include on an individual cross section of the fence, in the order that they will be connected along the section. The resulting set of files includes one .geo file for each cross section that will be included in a fence diagram. The order of the boring listings determines the connectivity of the fence diagram, and must match the order of the borings in the associated chemistry file when chemistry is to be displayed on the diagram. The data for the boring(s) at which individual sections will be joined to produce the fence diagram are included in each of the cross section files that will intersect. Generally, it is easiest to create the geology file for the complete 3-D dataset, and then cut and paste the individual section files from the complete file. Examples of a 3-D geology file and a typical set of fence diagram files are presented below.

Subsections of GEO: Borehole Geology Stratigraphy

Geologic File Example: Sedimentary Layers & Lenses

image\\evslayr1_wmf.jpg image\\evslayr1_wmf.jpg

Both example files below represent valid forms for the geology file associated with the above figure. For file 1, line 2 of the file is “1”, therefore all surface elevations are entered as actual elevations relative to a fixed reference such as sea level (not depths) and the relationship between x, y, and elevation must be a right handed coordinate system. Note that X and Y corresponding to Eastings and Northings are used. Be careful not to reverse these.

Two special flags are used to accommodate special conditions. These flags are pinch and short. Pinch is used to identify that a geologic layer is not present (pinched out) for a particular boring. It is equivalent to using the value one column to the left. Short is used to identify that a boring did not extend to the bottom of a geologic layer. In the sample file below, boring C was not deep enough to reach to the bottom of the layer 3 or any subsequent layers. Rather than use the bottom of the boring (a meaningless number), the short flag is used so that this boring will not be used to determine the bottom of these layers.

File 1:

XYTOPBOT_1BOT_2BOT_3BOT_4BOT_5BOT_6NAME
ElevTopFILLSHSSSDSLSGRfeet
1171123456
533-11.5-22pinch-36pinch-59A
1353.5-12-22.5pinch-36.8-37.5shortB
2475-11-24pinch-38.5-43-58.6C
4228-3-22-23-41.5-46shortD
57117-2-13-26.5-42-43.5-63E
72147-3-8-27.6shortshortshortF
85195.7-5pinch-26.6-38.3pinch-65G
107234.2-5-8-26-38-41shortH
123352.2-3-13-16.9-37.5-41-66I
136243-1.5-15pinch-37-37.5shortJ
1451840-15.7pinch-36.3pinch-58K

For file 2 line 2 of the file is Depth", therefore all surface descriptions for layer bottoms are entered as depths relative to the top surface elevations. This is a common means of collecting sample coordinates for borings. Note that the flags (pinch and short) are not affected by using depths versus elevations.

File 2:

XYTOPBOT_1BOT_2BOT_3BOT_4BOT_5BOT_6NAME
DepthTopFILLSHSSSDSLSGRfeet
1171123456
53314.525pinch39pinch62A
1353.515.526pinch40.341shortB
24751629pinch43.54863.6C
422811303149.554shortD
5711792033.54950.570E
72147101534.6shortshortshortF
85195.710.7pinch32.344pinch70.7G
107234.29.212.230.242.245.2shortH
123352.25.215.219.139.743.268.2I
1362434.518pinch4040.5shortJ
145184419.7pinch40.3pinch62K

There is no numerical equivalent to using the short flag. It causes the kriging modules to select only those borings with valid data for computing the surfaces of each layer.

Geologic File Example: Outcrop of Dipping Strata

EVS is not limited to sedimentary layers or lenses. The figure below shows a cross-section through an outcrop of dipping geologic strata. EVS easily model the layers truncating on the top ground surface.

image\\evslayr2_wmf.jpg image\\evslayr2_wmf.jpg

The file below represents the geology file associated with the above figure. Line 2 of the file is “Elevation”, therefore all surface elevations are entered as elevations (not depths) and the relationship between x, y, and elevation must be a right handed coordinate system. The pinch flag is used extensively to identify that a geologic layer is not present (pinched out) for a particular boring. It is equivalent to using the value one column to the left. The file was created with the assumption that there was no desire to model any layers below -70 foot elevation and that all borings extend to/beyond that depth.

Also, we have assigned the following material layer colors (numbers) to the 7 layers.

Layer # Material Abbreviation Material Color

1 Shale SH 5

2 Silty-sand SS 2

3 Sand SD 1

4 Sandy-silt SLS 3

5 Silty-sand SS 2

6 Sandy-silt SLS 3

7 Silt SL 4

XYTOPBOT_1BOT_2BOT_3BOT_4BOT_5BOT_6BOT_7NAME
ElevationTopSHSHSSSDSLSSSSLSSLfeet
44855213234
5323.54-22pinch-39-70-70-70A
1352613-18pinch-36-64-70-70B
2472622-9-9.5-32-57.5-70-70C
42222pinchpinch-3-24-50-70-70D
57624pinchpinch4-15-43.5-70-70E
72730.5pinchpinch14-4-37-70-70F
85333pinchpinch21.56-30-70-70G
107429.5pinchpinchpinch19-20-60-70H
123629.5pinchpinchpinch28.5-10-49.5-70I
136338pinchpinchpinchpinch-4-44-70J
145039.5pinchpinchpinchpinch-3-39-70K
3.1128.1825.933.96-20.99pinch-39.01-70-70-70A1
16.8537.9724.8515.61-20.7pinch-35.7-61.92-70-70B1
25.9932.0223.0523.34-6.11-6.41-31.53-59.17-70-70C1
41.0525.1324.26pinchpinch-1.22-25.57-47.06-70-70D1
54.4334.9426.56pinchpinch1.36-14.66-45.49-70-70E1
67.2929.328.3pinchpinch16.45-6.49-37.22-70-70F1
88.8925.3132.92pinchpinch19.176.16-27.28-70-70G1
104.1730.5830.13pinchpinchpinch19.76-22.25-62.18-70H1
121.8730.2630.76pinchpinchpinch27.84-7.81-49.67-70I1
136.9929.6135.95pinchpinchpinchpinch-6.02-44.8-70J1
149.6729.3337.59pinchpinchpinchpinch-4.09-40.17-70K1
4.0662.0323.473.46-22.43pinch-38.05-70-70-70A2
12.0964.1525.2613.42-19.11pinch-33.89-59.06-70-70B2
30.7366.4225.8126.1-3.46-3.76-28.81-58.62-70-70C2
40.4349.7926.12pinchpinch-0.5-27.73-46.67-70-70D2
54.565.5127.88pinchpinch1.79-15.51-43.8-70-70E2
66.4152.925.48pinchpinch16.96-7.18-35.22-70-70F2
93.5850.1834.29pinchpinch21.626.46-28.76-70-70G2
106.1355.4430.39pinchpinchpinch20.9-23.47-60.65-70H2
126.1963.4328.78pinchpinchpinch27.64-8.31-48.85-70I2
138.3962.436.52pinchpinchpinchpinch-5.72-47.12-70J2
144.9152.7940.49pinchpinchpinchpinch-4.66-37.23-70K2
6.7786.1521.092.83-22.62pinch-36.05-70-70-70A3
16.9198.5322.8610.95-17.19pinch-31.33-57.46-70-70B3
35.0787.0525.3925.81-2.37-2.67-30.89-59.85-70-70C3
36.3777.3826.62pinchpinch-2.19-27.56-43.87-70-70D3
51.594.8627.26pinchpinch4.57-15.51-46.35-70-70E3
71.2373.1926.45pinchpinch16.19-9.22-38.04-70-70F3
93.0979.1533.93pinchpinch19.649.37-28.16-70-70G3
110.1876.0227.4pinchpinchpinch20.63-21.81-63.39-70H3
127.990.6231.64pinchpinchpinch29.56-8.26-45.96-70I3
139.2796.2637.57pinchpinchpinchpinch-8.29-47.67-70J3
143.5275.6238.22pinchpinchpinchpinch-6.59-37.51-70K3

Geology Files for Production of a Fence Diagram

Discussion of Geology Files for Fence Sections

Files used to create fence diagrams contain only those borings that the user wishes to include on an individual cross section of the fence, in the order that they will be connected along the section. The resulting set of files includes one .geo file for each cross section that will be included in a fence diagram. The order of the boring listings determines the connectivity of the fence diagram, and must match the order of the borings in the associated chemistry file when chemistry is to be displayed on the diagram. The data for the boring(s) at which individual sections will be joined to produce the fence diagram are included in each of the cross section files that will intersect. Generally, it is easiest to create the geology file for the complete 3-D dataset, and then cut and paste the individual section files from the complete file. Examples of a 3-D geology file and a typical set of fence diagram files are presented below.

The format of the data in the file is exactly the same as for 3-D geology files. Material colors are not supported for fence diagrams.

An example set of files for producing a fence diagram with two merged cross sections are shown below:

Geology File for Cross Section A-A'
Elevationfeet
78
11086.5212830.6725002496248424792420
11199.0412810.1625012492248224732420
11259.6712819.2925022492247924672425
1129812808.6325032492249224802424
11414.412781.125042491248224712420
1142712780.925012493247724672424
11496.3412753.5925022492248024652422
Geology File for Cross Section B B'
Elevationfeet
58
11209.3512993.94250224922481
11251.3012929.27250324932474
11248.7512870.91250124922483
11199.0412810.16250124922482
11211.8712710.75250324932480

This example fence diagram contains two cross sections, with elevations for the surface and the bottoms of seven layers of geology in each. Section A-A’ has seven borings that will be used to define it, and Section B-B’ has five borings. Neither of the sections contains layers that pinch out, and all of the borings extend to the depth of the fence. Note that the entries for location BOR-51 are identical in each file, and are placed such that the sections will cross at the second location in the A-A’ file, and the fourth location in the B-B’ file. The user will typically use a basemap to plan the orientations and intersections of the fences. EVS does not impose any restrictions on the number of borings in or placement of sections in fence diagrams, but planning should be done to assure that most sections of the fence can be viewed from a chosen viewpoint.

Geology Multi-File

Geology Multi-Files: Unlike the .geo file format, the .gmf format is not based on boring observations with common x,y coordinates. The multi-file format allows for description of individual geologic surfaces by defining a set of x,y,z coordinates (separated by spaces, tabs, and/or commas). Geologic hierarchy still applies for definition of complex geologic structures.

This file format allows for creation of geologic models when the data available for the top surface and one or more of the subsurface layers are uncorrelated (in number or x,y location). For example, a gmf file may contain 1000 x,y,z measurements for the ground surface, but only 12 x,y,z measurements for other lithologic surfaces. This format also allows for specification of the geologic material color (layer material number).

You SHOULD include the units of your coordinates (e.g. feet or meters). If this is included it must be on a line following the word units.

Note: there are no special flags (e.g. short, pinch, etc.) used in GMF files. Since each surface stands on its own (does not refer to a prior surface) pinched-out layers are accomplished by duplicating the elevations (x,y,z points) on two consecutive surfaces. The “short” flags are not needed since those points are merely excluded from a surface’s definition.

The name for a surface can be a date or date & time if the data represents surface points at different times (e.g. changing groundwater elevations. The date format is dependent on your REGIONAL SETTINGS on your computer (control panel).

C Tech uses the SHORT DATE and SHORT TIME formats.

If the date/time works in Excel it will likely work in EVS.

For most people in the U.S., this would not be 24 hour clock so you would need:

“m/d/yyyy hh:mm:ss AM” or “m/d/yyyy hh:mm:ss PM”

Also, you MUST put the date/time in quotes if you use more than just date (i.e. if there are spaces in the total date/time).

Format: The following is a geology multi-file which is included with EVS. This file begins with the line starting with a “#”.

Lines beginning with a “#” character are comments.

Each geologic surface begins with a line: surface x

The number after surface is the layer material color number.

Each surface can have different x,y coords and number of points

units ft

surface 2 Top

11086.5 12830.7 4.5

11199.0 12810.2 4

Comment lines can be placed anywhere in a multi-file

11259.7 12819.3 2

11298.0 12808.6 3

11414.4 12781.1 2

11427.0 12780.9 6.5

11496.3 12753.6 1.5

11209.4 12993.9 2

11251.3 12929.3 2

11248.8 12870.9 3

11211.9 12710.8 2

11302.0 13079.7 4.5

11286.8 13026.7 2

11309.0 12949.0 4

11340.5 12892.6 2.5

11338.0 12830.8 4

11393.5 12948.9 3.5

11401.7 12897.8 4

11416.9 12819.5 2.5

11381.7 12747.5 1.5

11410.3 12724.7 0.5

11566.3 12850.6 2.5

11586.3 13050.6 11.5

11086.3 13090.6 8.5

surface 2 Fill

11086.5 12830.7 -3.8

11199.0 12810.2 -5

11259.7 12819.3 -7.5

11298.0 12808.6 -6

11414.4 12781.1 -6

11427.0 12780.9 -7

11496.3 12753.6 -7.5

11209.4 12993.9 -3

11251.3 12929.3 -2.5

11248.8 12870.9 -3.5

11211.9 12710.8 -6.5

11302.0 13079.7 -3.5

11286.8 13026.7 -5

11309.0 12949.0 -2.5

11340.5 12892.6 -2.5

11338.0 12830.8 -8.8

11393.5 12948.9 -3.8

11401.7 12897.8 -2

11416.9 12819.5 -5

11381.7 12747.5 -4

11410.3 12724.7 -4.5

11566.3 12850.6 -5

11586.3 13050.6 1

11086.3 13090.6 -1

surface 1 Silt

11086.5 12830.7 -21

11199.0 12810.2 -20

11259.7 12819.3 -20.5

11298.0 12808.6 -19

11414.4 12781.1 -20.5

11427.0 12780.9 -23

11496.3 12753.6 -20

11209.4 12993.9 -23

11251.3 12929.3 -22

11248.8 12870.9 -22

11211.9 12710.8 -22.5

11302.0 13079.7 -21.9

11286.8 13026.7 -23

11309.0 12949.0 -22

11340.5 12892.6 -20

11338.0 12830.8 -23

11393.5 12948.9 -23

11401.7 12897.8 -22

11416.9 12819.5 -21

11381.7 12747.5 -21.5

11410.3 12724.7 -22.9

11566.3 12850.6 -21

11586.3 13050.6 -11

11086.3 13090.6 -14

surface 3 Clay

11086.5 12830.7 -26

11199.0 12810.2 -25

11259.7 12819.3 -27

11298.0 12808.6 -25.8

11414.4 12781.1 -28

11427.0 12780.9 -28.5

11496.3 12753.6 -28.8

11209.4 12993.9 -27.5

11251.3 12929.3 -28

11248.8 12870.9 -28.5

11211.9 12710.8 -27.5

11302.0 13079.7 -26

11286.8 13026.7 -29

11309.0 12949.0 -28.3

11340.5 12892.6 -23

11338.0 12830.8 -26.5

11393.5 12948.9 -27

11401.7 12897.8 -27.5

11416.9 12819.5 -28.5

11381.7 12747.5 -25.8

11410.3 12724.7 -25

11566.3 12850.6 -28.5

11586.3 13050.6 -18.5

11086.3 13090.6 -23.5

surface 5 Gravel

11086.5 12830.7 -42

11199.0 12810.2 -39

11259.7 12819.3 -40

11298.0 12808.6 -41.8

11414.4 12781.1 -42

11427.0 12780.9 -38.5

11496.3 12753.6 -38.8

11209.4 12993.9 -37.5

11251.3 12929.3 -40

11248.8 12870.9 -36.3

11211.9 12710.8 -37.5

11302.0 13079.7 -38

11286.8 13026.7 -37

11309.0 12949.0 -38.3

11340.5 12892.6 -38

11338.0 12830.8 -36.5

11393.5 12948.9 -39

11401.7 12897.8 -37.5

11416.9 12819.5 -38.5

11381.7 12747.5 -42.8

11410.3 12724.7 -36

11566.3 12850.6 -38.5

11586.3 13050.6 -26.5

11086.3 13090.6 -32.5

surface 4 Sand

11086.5 12830.7 -55

11199.0 12810.2 -53

11259.7 12819.3 -53

11298.0 12808.6 -55

11414.4 12781.1 -55

11427.0 12780.9 -51

11496.3 12753.6 -51

11209.4 12993.9 -51

11251.3 12929.3 -53

11248.8 12870.9 -50

11211.9 12710.8 -51

11302.0 13079.7 -51

11286.8 13026.7 -50

11309.0 12949.0 -52

11340.5 12892.6 -52

11338.0 12830.8 -50

11393.5 12948.9 -52

11401.7 12897.8 -51

11416.9 12819.5 -51

11381.7 12747.5 -56

11410.3 12724.7 -49

11566.3 12850.6 -51

11586.3 13050.6 -47

11086.3 13090.6 -48

end

  • ctech_example.gmf

    ctech_example.gmf Database Generated GMF File (Creation at 7/22/2003 5:36:07 PM) Surface 1: 25 Coordinates Database Columns [GMF_Surface0 (Ground Surface)]: X, Y, Top surface 1 Sand

Subsections of Geology Multi-File

ctech_example.gmf

Database Generated GMF File (Creation at 7/22/2003 5:36:07 PM)

Surface 1: 25 Coordinates

Database Columns [GMF_Surface0 (Ground Surface)]: X, Y, Top

surface 1 Sand

11566.34 12850.59 2.5

11586.34 13050.59 11.5

11086.3 13090.6 8.5

.

.

.

.

11393.47 12948.9 3.5

11251.3 12929.27 2

Surface 1 Complete

Surface 2: 24 Coordinates (Added at 7/22/2003 5:37:04 PM)

Database Columns [GMF_Surface1]: X, Y, Z

surface 1 Sand

11566.34 12850.59 -5

11586.34 13050.59 1

11086.3 13090.6 -1

.

.

.

.

11393.47 12948.9 -3.8

11251.3 12929.27 -2.5

Surface 2 Complete

Surface 3: 24 Coordinates (Added at 7/22/2003 5:38:18 PM)

Database Columns [GMF_Surface2]: X, Y, Z

surface 1 Sand

11566.34 12850.59 -21

11586.34 13050.59 -11

11086.3 13090.6 -14

.

.

.

11393.47 12948.9 -23

11251.3 12929.27 -22

Surface 3 Complete

units ft

end

Database Generated GMF File (Finalization at 7/22/2003 5:39:06 PM)

.PT File Format

The .PT (Place-Text) format is used to place 3D text (labels) with user adjustable font and alignment.

The format is:

  • Lines beginning with “#” are comments

  • Lines beginning with “LINEFONT” are font specification lines specifically associated with single line text.

    • LINEFONT, height, justification, azimuth, inclination, roll, red, green, blue, curve tolerance, font flags (bold is ignored)
    • NOTE: There is no specification of the Font to be used, because EVS includes its own Unicode Line Font which supports most worldwide languages.
  • Lines beginning with “TRUETYPE” are font specification lines specifically associated with TrueType Fonts.

    • TRUETYPE, height, justification, azimuth, inclination, roll, red, green, blue, curve tolerance, outlined (“True”/“False”), depth, bevel, font flags, font name
  • Lines beginning with “FORWARDFACING” font specification lines specifically associated with Forward Facing Fonts.

    • FORWARDFACING, red, green, blue, font flags
    • NOTE: Forward Facing font specifications other than color are module wide. Therefore, the .PT files do not contain the Justification or Font specification options (including size).
  • The lines containing each TEXT STRING to be displayed have five columns of information:

    1. X coordinate
    2. Y coordinate
    3. Z coordinate
    4. Explode_ID: This is equivalent to the (Stratigraphic) cell data “Layer” information. The uppermost ID (layer) is ZERO (0) and does not move. If you don’t want your text to move with changing Explode Distance, use a value of ZERO. Otherwise, by assigning an appropriate ID value your text string can move properly with both stratigraphic layers or lithologic materials as they are exploded.
    5. Text: Everything on the line after Explode_ID (and any trailing spaces) is the text to be placed at the above coordinate, and must be in quotes.
  • Blank lines anywhere in the file are ignored.

  • Lines beginning with “END” specify the end of the file. Using END is optional, but if you want to have any notes or comments after the last command or data line, precede it with a line using the “END” statement.

Lines beginning with “FONT” are legacy font specification lines that we suggest you avoid. However, when we read a legacy file, we attempt to migrate it to the new options.

Below is an example .PT file and the output it creates:

TRUETYPE, 20.000000, LC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, False, 0.200000, 5.000000, None, “Noto Sans”

0.000000, 300.000000, 0.000000, 0, “TTF”

TRUETYPE, 20.000000, LC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, False, 0.200000, 5.000000, Bold, “Noto Sans”

250.000000, 300.000000, 0.000000, 0, “TTF Bold”

TRUETYPE, 20.000000, LC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, False, 0.200000, 5.000000, Italic, “Noto Sans”

500.000000, 300.000000, 0.000000, 0, “TTF Italic”

TRUETYPE, 20.000000, LC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, False, 0.200000, 5.000000, Bold Italic, “Noto Sans”

750.000000, 300.000000, 0.000000, 0, “TTF Bold Italic”

TRUETYPE, 20.000000, UC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, True, 0.200000, 5.000000, None, “Noto Sans”

0.000000, 200.000000, 0.000000, 0, “Outlined”

TRUETYPE, 20.000000, UC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, True, 0.200000, 5.000000, Bold, “Noto Sans”

250.000000, 200.000000, 0.000000, 0, “Outlined Bold”

TRUETYPE, 20.000000, UC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, True, 0.200000, 5.000000, Italic, “Noto Sans”

500.000000, 200.000000, 0.000000, 0, “Outlined Italic”

TRUETYPE, 20.000000, UC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, True, 0.200000, 5.000000, Bold Italic, “Noto Sans”

750.000000, 200.000000, 0.000000, 0, “Outlined Bold Italic”

TRUETYPE, 20.000000, UC, 180.000000, 90.000000, 45.000000, 0.847059, 0.847059, 0.858824, 0.050000, False, 0.200000, 5.000000, Bold, “Noto Sans”

250.000000, 400.000000, 0.000000, 0, “TTF Bold at 45° roll”

LINEFONT, 20.000000, UC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, None

0.000000, 100.000000, 0.000000, 0, “Singleline”

LINEFONT, 20.000000, UC, 180.000000, 90.000000, 0.000000, 0.847059, 0.847059, 0.858824, 0.050000, Italic

500.000000, 100.000000, 0.000000, 0, “Singleline Italic”

FORWARDFACING, 0.847059, 0.847059, 0.858824, None

0.000000, 0.000000, 0.000000, 0, “ForwardFacing”

This legacy format has been deprecated and replaced by the .PT File Format.

The EMT (EVS Multi-Text) format is used to place 3D text (labels) with user adjustable font and alignment.

The format is:

  • Lines beginning with “#” are comments
  • Lines beginning with “FONT” are font specification lines (more later)
  • Lines beginning with “END” specify the end of the file (this is optional, but if you want to have anything after the last command or data line, precede it with an “END” statement.
  • All other lines are DATA lines specifying the x-y-z coordinates of a string and the text for that string.
  • Blank lines are ignored.
  • The FONT specification lines contain the following information in this order:
    • Size: The font size is the height of a typical Capitol letter in true user units
      • Justification: The justification options are the same as in post_samples
      • Plane: The plane options are the same as in post_samples
      • Orientation: The orientation options are the same as in post_samples
      • Red, Green, Blue: These 3 numbers determine the font color.
      • Resolution: The resolution parameter is the same as in post_samples
      • Depth: The parameter is the same as in post_samples
      • Bevel%: The Bevel percentage isthe same as in post_samples
      • Font Face: The Font Face options are the same as in post_samples
  • The DATA lines contain four columns of information:
    1. X coordinate
    2. Y coordinate
    3. Z coordinate
    4. Text: Everything on the line after the z coordinate (and trailing spaces) is the text to be placed at the above coordinate.

Below is an example EMT File

FONT Size Just. Plane Orient R G B Resolution Depth Bevel% Font Face

FONT, 4, MC, XZ, +X, 0.8, 0.8, 0.8, 3, 0, 0, Arial

X, Y, Z, Bore

11566.34, 12850.59, 8.5, B-30

11586.34, 13050.59, 12.5, B-31

11381.7, 12747.5, 2.5, B-33

11414.4, 12781.1, 3, B-34

11410.29, 12724.69, 4.5, B-4

11427, 12780.9, 7.5, B-42

11086.52, 12830.67, 5.5, B-49

11211.87, 12710.75, 3, B-50

11199.04, 12810.16, 5, B-51

11496.34, 12753.59, 2.5, B-53

11209.35, 12993.94, 3, B-57

11301.97, 13079.66, 5.5, B-58

11286.77, 13026.7, 3, B-59

FONT Size Just. Plane Orient R G B Resolution Depth Bevel% Font Face

FONT, 6, MC, XZ, +X, 1, 0.5, 0.5, 3, 0.1, 0, Arial

11393.47, 12948.9, 4.5, B-60

11309.03, 12948.99, 5, B-56

11248.75, 12870.91, 4, B-48

11259.67, 12819.29, 3, B-46

11298, 12808.63, 4, B-52

11338, 12830.8, 5, B-38

11401.73, 12897.77, 5, B-45

11416.9, 12819.45, 3.5, B-44

FONT, Size, Justification, Plane, Orientation, Red, Green, Blue, Resolution, Depth, Bevel%, Font Face

FONT, 8, MC, XZ, +X, 1, 0, 0, 3, .3, 0, Arial Bold

11340.49, 12892.61, 3.5, B-47

11251.3, 12929.27, 3, B-75

END

Module Libraries

EVS modules can each be considered software applications that can be combined together by the user to form high level customized applications performing analysis and visualization. These modules have input and output ports and user interfaces.

The library of modules are grouped into the following categories:

  • Estimation — modules take sparse data and map it to surface and volumetric grids
  • Geology — modules provide methods to create surfaces or 3D volumetric grids with lithology and stratigraphy assigned to groups of cells
  • Display — modules are focused on visualization functions
  • Analysis — modules provide quantification and statistical information
  • Annotation — modules allow you to add axes, titles and other references to your visualizations
  • Subsetting — modules extract a subset of your grids or data in order to perform boolean operations
  • Proximity — modules create new data which can be used to subset or assess proximity to surfaces, areas or lines
  • Processing — modules act on your data
  • Import — modules read files that contain grids, data and/or archives
  • Export — modules write files containing grids, data and/or archives
  • Sequences — modules provide the ability to create animated sequences from driven, scripted, or object-based state changes
  • Modeling — modules are focused on functionality related to simulations and vector data
  • Geometry — modules create or act upon grids and geometric primitives
  • Projection — modules transform grids into other coordinates or dimensionality
  • Image — modules are focused on aerial photos or bitmap operations
  • Time — modules provide the ability to deal with time domain data
  • Tools — a collection of modules to make life easier
  • View — modules are focused on visualization and output of results
  • Estimation

    3d estimation Performs a three dimensional estimation of analytical data. Can also estimate analytical data sourced from other fields, or map data onto an external grid. 2d estimation Performs a two dimensional estimation of analytical data. Can also estimate analytical data sourced from other fields, or map data onto an external grid. cross validation Performs cross validation of estimation results. gridding and horizons Create complex grids and estimate data into horizons. Used to constrain 3d models, create geologic surfaces, water table surfaces, and more.

  • Geology

    create stratigraphic hierarchy Build geologic surfaces interactively from a pregeology file to define a stratigraphic hierarchy. horizons to 3d Create 3-dimensional solid layers from the 2-dimensional surfaces in a geology field, to allow visualizations of the geologic layering of a system. horizons to 3d structured Create 3-dimensional solid layers from the 2-dimensional surfaces produced by Krig_3D_Geology, to allow visualizations of the geologic layering of a system. layer from horizon

  • Display

    post samples Display your input data. explode and scale Separate (or explode) and apply a scaling factor to the vertical dimension (z-coordinate) of cell sets in a model. plume shell Subset a volumetric model and display a non-volumetric shell of a plume. intersection shell Subset a volumetric model with multiple subsets and display a non-volumetric shell of the results. change minmax Set min and max values above the true maximum data range and min values below the true minimum data range.

  • Analysis

    volumetrics Calculate the volumes and masses of soil, and chemicals in soils and ground water. cell volumetrics Calculate the volumes and masses of soil, and chemicals in soils and ground water at each cell. compute surface area Calculate the surface area of the entire field input. file statistics Calculate and display statistics about the data contained in the selected file. statistics Analyze the statistical distribution of a single data from a field.

  • Annotation

    legend The Legend module is used to place a color scale bar in the viewer window. 3d legend The Legend module is used to place a color scale bar in the viewer window. axes Place 3D axes in the viewer scaled by the model data and/or user defined limits. direction indicator Place a 3D North Arrow or Compass Rose in the Viewer. viewer to frame Overlay the content from a second viewer in the viewer's non-transformable overlay.

  • Subsetting

    external faces Extracts external faces from a 2D or 3D field for rendering. external edges Extracts the outer edges of a mesh. cross section Create a fence diagram along a user defined (x, y) path. slice Create a slice through an input field. isolines Produce lines of constant value which can be offset from a 2D surface, or the external faces of a 3D surface. cut Create a subset of your input on one side of a planar surface.

  • Proximity

    distance to 2d area Use a surface representing a region to map data to a field. This allows downstream modules to cut inside or outside of the area. distance to surface Map the distance from a surface to the points in a field as data. This allows downstream modules to cut above or below the surface. distance to shape Map the distance from the a set shape to the nodes of the input field.

  • Processing

    node computation Performs mathematical operations on nodal data fields and coordinates using Python scripts. cell computation Performs mathematical operations on cell data in fields using Python scripts. combine nodal data Creates a new set of nodal data components by selecting components from up to six separate input data fields. interpolate data Interpolates nodal and/or cell data from a source field onto a destination field. compute thickness Computes the thickness of complex plumes or cell sets such as lithologic materials.

  • Import

    read evs field Read a dataset from any of six different EVS compatible file formats into an EVS field. import vtk The import VTK module reads a dataset from the VTK format. import cad Read all versions of AutoCAD DWG and DXF files as well as Microstation DGN files. import vector gis Reads vector file formats such as shapefiles. import raster as horizon Read several different raster format files as a single horizon.

  • Export

    write evs field Creates a file in one of 5 different formats containing all the mesh and nodal and/or cell data component information sent to the input port. export web scene Export EVS scenes with vector output of 3D models for the C Tech Web Viewer. export pdf scene Export EVS scenes with vector output of 3D models for the C Tech PDF Converter. export 3d scene Export EVS scenes with vector output of 3D models for third party software usage.

  • Sequences

    driven sequence Creates a sequence by driving a module to control state content. scripted sequence Creates a sequence by using a script to control state content. object sequence Creates a sequence by using each object connected as an individual state in the content.

  • Modeling

    3d streamlines Produce streamlines or streamribbons of a field which is a 2 or 3 element vector data component on any type of mesh. surface streamlines Produce streamlines on any surface based on its slopes. create drill path Produce a line path through a volume dependent on a starting locations and user defined restrictions. scalars to vector Create a 2d or 3d vector by combining selected scalar data components.

  • Geometry

    draw lines Interactively create 2D and 3D lines using the mouse. polyline processing Smooth or resample 3D polylines using splining or smoothing algorithms. triangulate polygons Convert closed polylines into triangulated surfaces. triangle refinement Subdivide and refine triangular surfaces with normal correction. tubes Create tubes of constant or data-dependent radius from 3D lines or polylines. volumetric tunnel Create a volumetric tunnel model from a polygonal cross-section along a 3D path.

  • Projection

    project onto surface Drape features onto surfaces. transform field Translate, rotate or scale the coordinates any field. transform objects Translate, rotate or scale the coordinates any number of input objects.

  • Image

    overlay aerial Map an image onto the horizontal areas of an input field. texture cross section Project images from a fence onto a cross section surface. texture cell sets Texture multiple images onto a field based on the cell sets, typically from stratigraphic or lithologic data, in the field. texture walls Project images onto surfaces such as walls of buildings to add more realism to your visualizations. export georeferenced image

  • Time

    read tcf Create models and animations of data that changes over time. read multi tcf Create models and animations of data that changes over time. time value Parse a TVF file consisting of dates, values, and (optionally) labels. time horizon Extract a horizon from a set of time-based horizons. time loop Loop through a series of times or specify a specific time of interest.

  • Tools

    group objects Organize multiple renderable objects by grouping them into a single renderable object. group objects to 2d overlay Applies all connected module's output to the Viewer's 2D overlay. Objects in the overlay are not transformed (rotated, zoomed, panned). These objects are locked in position. This provides a mechanism to apply graphics like drawing title blocks or company logos. trigger script Allows any change in a module property to trigger a python script.

  • View

    viewer Renders connected objects in a 3D view with interactive rotation, translation, zoom, lighting, camera, and image export controls.

  • Legacy Module Naming

    Revisions to Module Names Effective After EVS Version 2021.10 Effective October 2021, there was a major revision to module naming. The table below lists the old and new names. Also note that the Cell Data library was eliminated with its modules moved to Processing. In general the new module names are intended to be more descriptive of each module’s functionality. For example, krig_3d_geology was named over 25 years ago when we developed it to create 3D stratigraphic models using kriging to estimate the horizons. It now does not use kriging as its default estimation method (of many) and is often used to build grids that are solely conformal to surface topography. Its new name “gridding and horizons” is far more descriptive of its current use.

Subsections of Module Libraries

  • 3d estimation

    Performs a three dimensional estimation of analytical data. Can also estimate analytical data sourced from other fields, or map data onto an external grid.

  • 2d estimation

    Performs a two dimensional estimation of analytical data. Can also estimate analytical data sourced from other fields, or map data onto an external grid.

  • cross validation

    Performs cross validation of estimation results.

  • gridding and horizons

    Create complex grids and estimate data into horizons. Used to constrain 3d models, create geologic surfaces, water table surfaces, and more.

  • analytical realization

    Perform Fast Geostatistical Realizations of analytical data.

  • stratigraphic realization

    Perform Fast Geostatistical Realizations of stratigraphic data.

  • lithologic realization

    Perform Fast Geostatistical Realizations of lithologic data.

  • lithologic assessment

    Perform assessment of lithologic data quality.

  • external kriging

    The external_kriging will output both data and a grid in the simple GeoEAS format.

Subsections of Estimation

3d estimation

3d estimation performs parameter estimation using kriging and other methods to map 3D analytical data onto volumetric grids defined by the limits of the data set, or by the convex hull, rectilinear, or finite-difference grid extents of a geologic system modeled by gridding and horizons. The module provides several convenient options for pre- and post-processing input parameter values, and allows the user to consider anisotropy in the medium containing the property.

3d estimation also has the ability to create uniform fields, and allows the user to choose which data components to include in the output. Uniform fields require no geologic input and Adaptive Gridding must be turned off (otherwise the connectivity is not implicit).

The DrillGuide functionality produces a new input data file with a synthetic boring at the location of maximum uncertainty calculated from the previous kriging estimates, which can then be rerun to find the next area of highest uncertainty. There are no limits to the number of cycles that may be run.

Variogram Options:

There are three variogram options:

  1. Spherical: the default and recommended choice for most applications
  2. Exponential: generally gives similar results to Spherical and may be superior for some datasets
  3. Gaussian: notoriously unstable, but can “smooth” your data with an appropriate nugget. Without a nugget term, Gaussian is generally unusable. If Gaussian kriging is overshooting the plume in various directions, the nugget is likely too small; if the plume looks overly smooth, the nugget is likely too big.

The “Power Factor” is only used for exponential or Gaussian variograms. The default value of 3 is the most common value for exponential. For Gaussian, 2 is most common, though values from 0.1 to 3 are typically acceptable.

Advanced Variography Options:

3d estimation supports complex directional anisotropic variography. The variogram is displayed as an ellipsoid that can be distorted to represent primary and secondary anisotropies and rotated to represent heading, dip, and roll. Overall scale and translation are provided as visual aids to compare the variogram to the data, though these do not affect the actual variogram.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main geologic field input for the module.
InputInput External GridFieldA field containing an external grid to use for the output. (Advanced Version Only)
InputInput External DataFieldA field containing external data to use instead of reading a file. (Advanced Version Only)
InputInput FilenameStringFile used to estimate analytical data.
OutputOutput FilenameStringFile used to estimate analytical data.
OutputOutput FieldFieldThe main output field with analytical data added.
OutputStatus InformationStringText containing the full status information output from the module.
OutputOutput ObjectRenderableA renderable object displaying the uncertainty sphere(s) and variography created by the module. Output even when Allow Run is off.
OutputAnalytical Grid DataRealizationInformation required for direct exporting of raw analytical grid data.
OutputInterpolation OptionsInterpolation OptionsInformation about the interpolation settings such as variogram parameters and number of points used in interpolation.

Properties

Grid Settings

PropertyTypeDescription
Grid CoordinatesCoordinatesDefines the coordinate domain within the data set in which kriging will be completed. Min and Max values are only used when the Rectilinear option is selected.
X ResolutionIntegerThe number of grid nodes in the model horizontal domain.
Y ResolutionIntegerThe number of grid nodes in the model vertical domain.
Z ResolutionIntegerThe number of grid nodes in the model elevation domain.
Layers From GeologyChoice: Make Single Layer, Use all HorizonsUsed with the input geology port. Controls whether to create a single layer or a layer for each horizon.
Min Cells Per LayerIntegerThe minimum number of cells in the Z direction per layer. Used when proportionally gridding an input geologic grid.
Cells Per LayerIntegerThe number of cells in the Z direction per layer when not using proportional gridding.
Proportional GriddingChoice: Cells Per Layer, Proportional Z ResolutionWhen multiple geologic layers exist, apportions cells to layers in Z based on each layer’s average thickness, subject to the Min Cells Per Layer parameter.
Grid TypeChoice: Uniform or Structured Field, Irregular MeshThe type of grid to create for interpolation.
Adaptive GriddingBooleanRefines the grid automatically to place grid nodes at all measured data points, ensuring the output honors all measured locations exactly.
Adaptive Gridding LimitIntegerTurns off adaptive gridding when the number of sample points exceeds this value.
Adaptive Value PriorityChoice: Favor Min Values, Favor Max ValuesSpecifies the criteria for which sample to use for adaptive gridding when more than one sample is contained by the same grid cell.
Minimum Layer ThicknessDoubleThe smallest vertical height of each cell.
Reverse Surface HierarchyBooleanDefines layers starting from the bottom to the top.
Boundary OffsetDoubleCreates a domain larger than the input data along all three axes.

Data Processing

PropertyTypeDescription
Data ProcessingChoice: Linear Processing, Log ProcessingAllows the module to be run in either linear or log space.
Data ScalingDoubleA value by which all nodal data values will be multiplied before kriging.
Pre Clip MinDoubleAny nodal property value less than this number will be replaced during preprocessing.
Pre Clip MaxDoubleAny nodal property value greater than this number will be replaced during preprocessing.
Less Than MultiplierDoubleApplied when reading a file with values flagged with the ‘<’ character. Multiplies the file value by this multiplier.
Detection LimitDoubleAffects file values set with the ‘ND’ or other non-detect flags. The module inserts a value equal to (Detection Limit * Less Than Multiplier).
Post Clip MinDoubleThe smallest nodal value that will be present in the output data field.
Post Clip MaxDoubleThe largest nodal value that will be present in the output data field.
Auto Exponentiate External Log DataBooleanDetects if data imported via the External Data port has been log processed and exponentiates it, avoiding double log processing.
External DataMulti-selectSelects which data components from the External Data port to use for interpolation.

Time Settings

PropertyTypeDescription
Chem File Is Time DomainBooleanCauses the file to be read as a time file, with values interpolated first to the set date and then to the grid.
Specify Date By ComponentBooleanAllows the Data Component value to select a date, resulting in exact data at a date instead of an interpolated value.
Date For InterpolationDateThe date of interest. Used with the Interpolation Type to determine the value of a sample before interpolation onto the grid.
Analyte NameStringThe analyte name for date files.
Date Interpolation MethodChoice: Direct Interpolation Only, Interpolate Only, Interpolate and Extrapolate Beyond, Interpolate and ExtrapolateDefines how to interpolate when given unsampled times in a file.
TCF File NameFileThe output TCF file name. When the module runs, it loops through each component and creates an EFB file; the dates and filenames are added to the TCF file.
Create TCFButtonCauses the module to run in a loop, going through each component and creating an EFB file at that time. These EFB files are linked together in the specified TCF file.

Krig Settings

PropertyTypeDescription
Estimation TypeChoice: Kriging, IDW (Shepard), IDW (Franke/Nielson), Nearest Neighbor, FastRBFThe method for interpolating file data onto the created grid.
ReachDoubleThe radial distance from any given model node that the module will look for data points. Setting to 0 causes the module to calculate a reach approximately two-thirds of the longest distance between any two data points.
Points In ReachIntegerThe maximum number of data points within the reach to consider for parameter estimation at a model node.
Octant SearchBooleanWhen selected, searching is performed for each of the eight octants surrounding the point to be kriged.
Use All PointsBooleanCauses the module to include samples up to the All Points Limit value. If the number of samples exceeds the limit, Reach and Points In Reach settings are used.
All Points LimitIntegerThe maximum number of points to use when interpolating. If there are more samples than this value, Reach and Points In Reach settings will be used.
Statistical Confidence ToleranceDoubleSpecifies the interval in linear space around the kriged model estimates to which the kriging confidence or uncertainty applies.
Statistical Confidence FactorDoubleSpecifies the interval in log space around the kriged model estimates to which the kriging confidence or uncertainty applies.
Min Max ConfidenceDoubleSpecifies the interval around the kriged model estimates to which the kriging confidence or uncertainty applies.
IDW PowerDoubleUsed with Inverse Distance Weighting. Greater values increase the influence of values closest to the interpolated point.
Variogram And AnisotropyVariogramControls the semi-variogram model and 3D anisotropy settings for kriging.

Data To Export

PropertyTypeDescription
Auxillary Kriging DataMulti-select: Max Plume, Min Plume, Statistical Confidence, Standard Deviation, Statistical UncertaintySelects which kriging-derived data components to include in the output field on a node by node basis. Available when using Kriging estimation.
Geologic Nodal DataMulti-select: Layer Thickness, Depth, ElevationSelects which geologic data components to generate for the output field on a node by node basis. For structured grids, Layer Thickness is exported as cell data.
Geologic Cell DataMulti-select: Material ID, Geo LayerSelects which geologic data components to generate for the output field on a cell by cell basis.

Display Settings

PropertyTypeDescription
Uncertainty Spheres To DisplayMulti-selectSelects which uncertainty spheres to display. There is one sphere per analyte, each reflecting the location of maximum uncertainty for that analyte.

Variography Display

PropertyTypeDescription
Display Variogram EllipsoidBooleanDisplays the variography ellipsoid in the viewport.
Ellipsoid OpacityDoubleSets the opacity of the ellipsoid.
ResolutionIntegerThe resolution of the ellipsoid. Larger numbers create more detailed representations.
Ellipsoid ScaleDoubleScales the ellipsoid equally along each axis.
X OffsetDoubleTranslates the ellipsoid along the x axis.
Y OffsetDoubleTranslates the ellipsoid along the y axis.
Z OffsetDoubleTranslates the ellipsoid along the z axis.
Ellipsoid ColorColorThe color of the variogram ellipsoid.
Display Variogram LinesBooleanDisplays lines aligned with the variography ellipsoid.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipsoid.
Primary Ratio ColorColorThe color of the primary ratio axis line.
Secondary Ratio ColorColorThe color of the secondary ratio axis line.
Tertiary Axis ColorColorThe color of the tertiary axis line.

Drill Guide

PropertyTypeDescription
Create DG FileButtonRuns the module in a loop, creating a synthetic boring at the maximum uncertainty location until the Number Of Synthetic Samples is reached.
Synthetic Sample PrefixStringAllows the user to alter the prefix string for generated synthetic boring names.
Number Of Synthetic SamplesIntegerControls how many times drill guide will run.
Boring SamplesIntegerIndicates how many samples to create at each synthetic boring.
Target ConcentrationBooleanWhen selected, changes the location of the uncertainty sphere based upon the specified Target Isolevel.
Target IsolevelDoubleWhen Target Concentration is selected, this value is used to change the location of the uncertainty sphere.
User PointsCoordinatesManages points added to the grid for drill guide purposes to eliminate areas of high uncertainty that cannot be drilled, such as under a building.

General

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When off, the module will not run unless Execute is pressed.
FilenameFileThe file containing the data to interpolate onto the created grid.
Data ComponentIntegerSelects which property value in the analyte file will be kriged. The default value of -1 results in kriging of all data components in the file.
ExecuteButtonForces the module to run. If pressed and the application saved, the module will run when the application is loaded.
Z ScaleDoubleThe vertical exaggeration to apply to the variogram and the uncertainty sphere.

2d estimation

2d estimation performs parameter estimation using kriging and other methods to map 2D analytical data onto surface grids defined by the limits of the data set as rectilinear or convex hull extents of the input data.

Its Adaptive Gridding feature further subdivides individual elements to place a “kriged” node at the location of each input data sample. This guarantees that the output will accurately reflect the input at all measured locations (i.e. the maximum in the output will be the maximum of the input).

The DrillGuide functionality produces a new input data file with a synthetic boring at the location of maximum uncertainty calculated from the previous kriging estimates, which can then be rerun to find the next area of highest uncertainty. The naming of the “DrillGuide©” file which is created when 2d estimation is run with all types of analyte (e.g. chemistry) files ends in apdv1, apdv2, apdv3, etc. There are no limits to the number of cycles that may be run.

2d estimation also provides special data processing options that allow it to extract 2-dimensional data sets from input data files containing three-dimensional data, and allows detailed analyses of property characteristics along 2-dimensional planes through the data set. The module also provides options to magnify or distort the resulting grid by the kriged value of the property at each grid node, and allows automatic clamping of the data distribution along a boundary offset from the convex hull of the data domain.

Variogram Options:

There are three variogram options:

  1. Spherical: the default and recommended choice for most applications
  2. Exponential: generally gives similar results to Spherical and may be superior for some datasets
  3. Gaussian: notoriously unstable, but can “smooth” your data with an appropriate nugget. Without a nugget term, Gaussian is generally unusable. If you find that Gaussian kriging is overshooting the plume, your nugget is likely too small; if the plume looks overly smooth, your nugget is likely too big.

Ports

DirectionNameTypeDescription
InputInput External GridFieldA field containing an external grid to use for the output. (Advanced Version Only)
InputInput External DataFieldA field containing external data to use instead of reading a file. (Advanced Version Only)
InputInput FilenameStringFile used to estimate analytical data.
OutputOutput FilenameStringFile used to estimate analytical data.
OutputOutput FieldFieldThe main output field with analytical data added.
OutputStatus InformationStringText containing the full status information output from the module.
OutputSurfaceRenderableA renderable object displaying the component surface.
OutputAnalytical Grid DataRealizationInformation required for direct exporting of raw analytical grid data.

Properties

Grid Settings

PropertyTypeDescription
Grid TypeChoice: Rectilinear, Convex HullThe type of grid to create for interpolation. Convex Hull creates a model with irregular boundaries defined by the extent of the measured data points.
Grid CoordinatesCoordinatesDefines the coordinate domain within the data set in which kriging will be completed. Min and Max values are only used when Rectilinear is selected.
X ResolutionIntegerThe number of grid nodes in the model horizontal domain.
Y ResolutionIntegerThe number of grid nodes in the model vertical domain.
Adaptive GriddingBooleanRefines the grid automatically to place grid nodes at all measured data points, ensuring the output honors all measured locations exactly.
Adaptive Gridding LimitIntegerTurns off adaptive gridding when the number of sample points exceeds this value.
Boundary OffsetDoubleThe distance in user units that the grid coordinate range for the kriging domain will be set outside of the actual coordinate range of the data.

Data Processing

PropertyTypeDescription
Data ProcessingChoice: Linear Processing, Log ProcessingAllows the module to be run in either linear or log space.
Data ScalingDoubleA value by which all nodal data values will be multiplied before kriging.
Pre Clip MinDoubleAny nodal property value less than this number will be replaced during preprocessing.
Pre Clip MaxDoubleAny nodal property value greater than this number will be replaced during preprocessing.
LT MultiplierDoubleApplied when reading a file with values flagged with the ‘<’ character. Multiplies the file value by this multiplier.
Detection LimitDoubleAffects file values set with the ‘ND’ or other non-detect flags. The module inserts a value equal to (Detection Limit * LT Multiplier).
Collapse MethodChoice: Max, MinThe method for extracting data within a depth interval when multiple samples exist. Duplicate samples at the same x, y, z coordinates are averaged first.
Distance To CollapseDoubleThe maximum distance in 2D that points will be considered coincident. Coincident points will be dropped depending on the Collapse Method.
Post Clip MinDoubleThe smallest nodal value that will be present in the output data field.
Post Clip MaxDoubleThe largest nodal value that will be present in the output data field.
Auto Exponentiate External Log DataBooleanDetects if data imported via the External Data port has been log processed and exponentiates it, avoiding double log processing.
External DataMulti-selectSelects which data components from the External Data port to use for interpolation.

Time Settings

PropertyTypeDescription
Chem File Is Time DomainBooleanCauses the file to be read as a time file, with values interpolated first to the set date and then to the grid.
Specify Date By ComponentBooleanAllows the Data Component value to select a date, resulting in exact data at a date instead of an interpolated value.
Date For InterpolationDateThe date of interest. Used with the Interpolation Type to determine the value of a sample before interpolation onto the grid.
Analyte NameStringThe analyte name for date files.
Date Interpolation MethodChoice: Direct Interpolation Only, Interpolate Only, Interpolate and Extrapolate Beyond, Interpolate and ExtrapolateDefines how to interpolate when given unsampled times in a file.
TCF File NameFileThe output TCF file name. When the module runs, it loops through each component and creates an EFB file; the dates and filenames are added to the TCF file.
Create TCFButtonCauses the module to run in a loop, going through each component and creating an EFB file at that time. These EFB files are linked together in the specified TCF file.

Krig Settings

PropertyTypeDescription
Estimation TypeChoice: Kriging, IDW (Shepard), IDW (Franke/Nielson), Nearest Neighbor, FastRBF, Natural NeighborsThe method for interpolating file data onto the created grid.
Use GradientsBooleanUsed with Natural Neighbor interpolation. When on, gradients estimated at sample points improve the interpolation result.
ReachDoubleThe radial distance from any given model node that the module will look for data points. Setting to 0 causes the module to calculate a reach approximately two-thirds of the longest distance between any two data points.
Points In ReachIntegerThe maximum number of data points within the reach to consider for parameter estimation at a model node.
Quadrant SearchBooleanWhen selected, searching is performed for each of the four quadrilaterals surrounding the point to be kriged.
Use All PointsBooleanCauses the module to include samples up to the All Points Limit value. If the number of samples exceeds the limit, Reach and Points In Reach settings are used.
All Points LimitIntegerThe maximum number of points to use when interpolating. If there are more samples than this value, Reach and Points In Reach settings will be used.
Statistical Confidence ToleranceDoubleSpecifies the interval in linear space around the kriged model estimates to which the kriging confidence or uncertainty applies.
Statistical Confidence FactorDoubleSpecifies the interval in log space around the kriged model estimates to which the kriging confidence or uncertainty applies.
Min Max ConfidenceDoubleSpecifies the interval around the kriged model estimates to which the kriging confidence or uncertainty applies.
IDW PowerDoubleUsed with Inverse Distance Weighting. Greater values increase the influence of values closest to the interpolated point.
Variogram And AnisotropyVariogramControls the semi-variogram model and anisotropy settings for kriging.

Data To Export

PropertyTypeDescription
Auxillary Kriging DataMulti-select: Max Plume, Min Plume, Statistical Confidence, Standard Deviation, Statistical UncertaintySelects which data components generated during kriging to include in the output field on a node by node basis. Available when using Kriging estimation.

Display Settings

PropertyTypeDescription
Display Output SurfaceBooleanControls whether the output surface is displayed.
Surface Distortion ComponentChoiceSets the z value at each node to the selected nodal data component, distorting the surface. Can be linked to or independent from the displayed component.
Display Sphere ToggleMulti-selectTurns on or off the spheres representing the locations of maximum uncertainty.

Variography Display

PropertyTypeDescription
Display Variogram EllipseBooleanDisplays the variography ellipse in the viewport.
Ellipse OpacityDoubleSets the opacity of the ellipse.
ResolutionIntegerThe resolution of the ellipse. Larger numbers create more detailed representations.
Ellipse ScaleDoubleScales the ellipse equally along each axis.
X OffsetDoubleTranslates the ellipse along the x axis.
Y OffsetDoubleTranslates the ellipse along the y axis.
Z OffsetDoubleTranslates the ellipse along the z axis.
Ellipse ColorColorThe color of the variogram ellipse.
Display Variogram LinesBooleanDisplays lines aligned with the variography ellipse.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipse.
Primary Ratio ColorColorThe color of the primary ratio axis line.
Secondary Ratio ColorColorThe color of the secondary ratio axis line.

Drill Guide

PropertyTypeDescription
Create DG FileButtonRuns the module in a loop, creating a synthetic boring at the maximum uncertainty location until the Number Of Synthetic Samples is reached.
Number Of Synthetic SamplesIntegerControls how many times drill guide will run.
Target ConcentrationBooleanWhen selected, changes the location of the uncertainty sphere based upon the specified Target Isolevel.
Target IsolevelDoubleWhen Target Concentration is selected, this value is used to change the location of the uncertainty sphere.
User PointsCoordinatesManages points added to the grid for drill guide purposes to eliminate areas of high uncertainty that cannot be drilled, such as under a building.

General

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When off, the module will not run unless Execute is pressed.
FilenameFileThe file containing the data to interpolate onto the created grid.
Data ComponentIntegerSelects which property value in the analyte file will be kriged. The default value of -1 results in kriging of all data components in the file.
Data PriorityChoice: Maximum Values, Minimum ValuesAffects which samples are adaptively gridded.
ExecuteButtonForces the module to run. If pressed and the application saved, the module will run when the application is loaded.
Z ScaleDoubleThe vertical exaggeration to apply to the variogram, the uncertainty sphere, and the output surface.

cross validation

The cross validation module evaluates the predictive accuracy of an interpolation model by systematically withholding subsets of the input data, re-running estimation on the remaining samples, and comparing the predicted values against the withheld actuals. Two methods are supported: K-Fold, which divides the data into K subsets that each take a turn as the validation set, and Leave One Out, which validates each individual sample or boring one at a time.

The module accepts interpolation options from an upstream estimation module and outputs a field containing the actual values, predicted values, and their differences. Summary statistics are displayed in the Properties panel after the run completes.

Ports

DirectionNameTypeDescription
InputInterpolation Options InputInterpolation OptionsThe interpolation options used for the cross-validation.
OutputOutput FieldFieldThe field containing the results of the cross-validation.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When on, the module runs automatically on load or when the Execute button is pushed. When off, the module will not run unless Execute is pressed.
ExecuteButtonForces the module to run even if Allow Run has been turned off, allowing multiple changes to be made before updating.
Cross Validation MethodChoice: K-Fold, Leave One OutSpecifies the method used for cross-validation. K-Fold divides the data into K subsets, training on K-1 folds and validating on the remaining fold. Leave One Out is a special case of K-Fold where each unit is left out and validated individually.
Fold UnitChoice: Sample, BoringSpecifies how samples are grouped into folds. Sample treats each individual measurement point as its own unit. Boring groups all measurements from the same borehole together, ensuring entire borings are divided into folds.
Number Of FoldsIntegerThe number of folds to use in K-Fold Cross-Validation. Only applicable when the K-Fold method is selected. A common choice is 5 or 10 folds, but the optimal number depends on the size and characteristics of the dataset.
Random SeedIntegerThe random seed used to ensure reproducibility in the random partitioning of data into folds during K-Fold Cross-Validation. Setting a specific seed guarantees the same data splits each run. A value of -1 uses a random seed based on the current system time, producing different splits each run.

Export Options

PropertyTypeDescription
Write As APDVFileExport the cross-validation results as an APDV file containing the actual values, predicted values, and differences for each sample.

Statistics

PropertyTypeDescription
AnalyteStringThe name of the analyte being evaluated. Read-only display field.
SamplesIntegerThe number of samples used in the cross-validation. Read-only display field.
MethodStringThe cross-validation method that was applied. Read-only display field.
FoldsIntegerThe number of folds used in the cross-validation run. Read-only display field.
Root Mean Square ErrorDoubleThe root mean square error between predicted and actual values. Read-only display field.
Mean Absolute ErrorDoubleThe mean absolute error between predicted and actual values. Read-only display field.
Median Absolute ErrorDoubleThe median absolute error between predicted and actual values. Read-only display field.
Pearson CorrelationDoubleThe Pearson correlation coefficient between predicted and actual values. Read-only display field.
R SquaredDoubleThe R-squared (coefficient of determination) value for the cross-validation results. Read-only display field.

gridding and horizons

The gridding and horizons module uses data files containing geologic horizons or surfaces (usually .geo, .gmf, and other ctech formats) to model the surfaces bounding geologic layers that provide the framework for three-dimensional geologic modeling and parameter estimation. Conversion of scattered points to surfaces uses kriging (default), spline, IDW, or nearest neighbor algorithms.

gridding and horizons creates a 2D grid containing one or more elevations at each node. Each elevation represents a geologic surface at that point in space. The output can be sent to 3d estimation, horizons to 3d, horizons to 3d structured, surfaces from horizons, and other modules.

The module can produce layer surfaces within the convex hull of the data domain, within a rectilinear domain with equally spaced nodes, or within a rectilinear domain with specified cell sizes such as a finite-difference model grid. The finite-difference gridding capability allows the user to visually design a grid with variable spacing, then krige the geologic layer elevations directly to the finite-difference grid nodes.

gridding and horizons also has the ability to read .apdv, .aidv, and .pgf files to create a single geologic layer model. When such a file is read, the module interprets it as geology as follows: if top-of-boring elevations are provided, they define the ground surface; otherwise, the highest sample elevation in each boring is used. The bottom surface is created as a flat surface slightly below the lowest sample in the file.

Ports

DirectionNameTypeDescription
InputInput FilenameStringFile used to generate the stratigraphic surfaces.
OutputOutput FilenameStringFile used to generate the stratigraphic surfaces.
OutputOutput Geologic FieldFieldThe main geologic field output from the module.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.
OutputStatus InformationStringText containing the full status information output from the module.
OutputOutput ObjectRenderableA renderable object displaying the grid and variography created by the module. Output even when Allow Run is off.
OutputStratigraphic Grid DataRealizationInformation required for direct exporting of stratigraphic grid data.

Properties

General

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
FilenameFileThe file containing geology data to interpolate to the created grid.
ExecuteButtonAccepts all values and performs interpolation. If clicked and the application saved, the module will run when the application is loaded.
Z ScaleDoubleThe vertical exaggeration to apply to the display objects.

Grid Settings

PropertyTypeDescription
Grid TypeChoice: Rectilinear, Convex Hull, Finite DifferenceDefines the nature of the domain that will be kriged. Rectilinear produces a model within a user-specified rectangular domain. Convex Hull produces a model with an irregular boundary defined by the distribution of measured data points. Finite Difference kriges geologic layer elevations directly to finite-difference grid node locations.
Only Create GridBooleanForces the module to exit after gridding is complete with no interpolation performed.
Grid OriginCoordinatesSets the minimum coordinate domain in which kriging of geologic surfaces will be completed. Values default to the minimum of the file data when the module runs.
Grid Maximum ExtentsCoordinatesSets the maximum coordinate domain in which kriging of geologic surfaces will be completed. Disabled for Finite Difference gridding.
X ResolutionIntegerThe number of grid nodes in the model’s X domain.
Y ResolutionIntegerThe number of grid nodes in the model’s Y domain.
Boundary OffsetDoubleSets the distance that the convex hull for the kriging domain will be set outside of the actual convex hull of the data, allowing extrapolation beyond the actual data.
Grid RotationDoubleRotates a finite-difference grid around the Min X, Min Y point.
Finite Difference GridFinite Difference GridAllows creation of a model broken into regions with varying cell sizes. Each region can have any number of cells with sizes that vary using an initial cell size, cells to add, and a cell size change factor.
Display GridBooleanDisplays the grid in the output renderable port.

Krig Settings

PropertyTypeDescription
ReachDoubleThe radial distance from any given model node that the module will look for data points. Setting to 0 causes the module to calculate a reach approximately two-thirds of the longest distance between any two data points.
Points In ReachIntegerThe maximum number of data points within the reach to consider for parameter estimation at a model node.
Quadrant SearchBooleanChanges the method by which data sample points are selected. When on, searching is performed for each of the four quadrants surrounding the point to be kriged.
Use All DataBooleanCauses all data points to be used when kriging, not just those within the reach. Provides the smoothest surfaces and can be faster in some cases.
Max Points For Use All DataIntegerProvides a cap for large models. If the number of points in the file exceeds this cap, the reach/points method will be used instead.
Estimate In Thickness SpaceBooleanUsed for .geo files. When on, surfaces cannot rise above the surfaces above them unless flagged as pinched values. When off, pinch flags are ignored and each surface is kriged independently.
Bottom In Thickness SpaceBooleanCauses the last horizon to be treated in thickness space as well as the middle horizons.
Pinch FactorDoubleControls where pinching occurs between positive thicknesses and borings with the pinch flag. The default of 1.0 causes pinching to occur approximately halfway between positive thicknesses and pinch-flagged borings.
Points In PinchIntegerDetermines how many of the nearest points will be used to determine the estimated thickness at the pinch flag location.
Use GradientsBooleanUsed with Natural Neighbor interpolation. When on, gradients estimated at sample points improve the interpolation result.
Estimation MethodChoice: Kriging, Spline, IDW (Shepard), IDW (Franke/Nielson), Nearest Neighbor, FastRBF, Natural NeighborsThe method for interpolating data onto the created grid.
Variogram And AnisotropyVariogramControls the semi-variogram model and 2D anisotropy settings for kriging.

Computational Settings

PropertyTypeDescription
Computational Surface TypeChoice: None, Heading-Dip Plane, Elevation, DepthSelects the type of computational surface to add to the output. A computational surface should be created after the initial gridding is complete.
Include SurfaceBooleanAllows a user-selected surface from the file to be included in the output.
Include Surface NumberIntegerSets which surface number to include when Include Surface is selected.
Surface PositionChoice: Include Above, Include BelowSpecifies whether the included surface is above or below the computational surface.
Heading Dip ValueHeading/DipThe heading and dip values used to align the computational surface when Heading-Dip Plane is selected.
ElevationDoubleThe elevation to translate the heading-dip plane by.
Anchor PointCoordinatesThe anchor point values to translate the heading-dip plane by.
Material IDIntegerThe material ID for the generated surface when using Heading-Dip Plane.
Surface NameStringThe surface name for the generated surface when using Heading-Dip Plane.
Elevation SurfacesElevation SurfacesDefines computational surfaces based on set elevations. Each surface specifies an elevation, material number, and surface name.
Depth FromChoice: Top, Surface Number, BottomThe method for determining the starting elevation from which each depth is measured.
Surface NumberIntegerThe surface number to compute depths from when Depth From is set to Surface Number.
Depth LayersDepth LayersDefines computational layers based on depth from the selected surface. Each layer specifies a depth, material number, and layer name.

Variography Display

PropertyTypeDescription
Display Variogram EllipseBooleanDisplays the variography ellipse in the viewport.
Ellipse OpacityDoubleSets the opacity of the ellipse.
ResolutionIntegerThe resolution of the ellipse. Larger numbers create more detailed representations.
Ellipse ScaleDoubleScales the ellipse equally along each axis.
X OffsetDoubleTranslates the ellipse along the x axis.
Y OffsetDoubleTranslates the ellipse along the y axis.
Z OffsetDoubleTranslates the ellipse along the z axis.
Ellipse ColorColorThe color of the variogram ellipse.
Display Variogram LinesBooleanDisplays lines aligned with the variography ellipse.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipse.
Primary Ratio ColorColorThe color of the primary ratio axis line.
Secondary Ratio ColorColorThe color of the secondary ratio axis line.

analytical realization

The analytical realization module is one of three similar modules (the other two are lithologic realization and stratigraphic realization), which allows you to very quickly generate statistical realizations of your 2D and 3D kriged models based upon C Tech’s Proprietary Extended Gaussian Geostatistical Simulation (GGS) technology, which we refer to as Fast Geostatistical Realizations^®^ or FGR^®^. Our extensions to GGS allow you to:

  • Create realizations very rapidly
  • Exercise greater control over the frequency and magnitude of noise typical in GGS
  • Control deviation magnitudes from the nominal kriged prediction based on a Min Max Confidence Equivalent
    • Deviations are the absolute value of the changes to the analytical prediction (in user units)
  • Apply Simple or Advanced Anisotropy control over 2D or 3D wavelengths

C Tech’s FGR^®^ creates more plausible cases (realizations) which allow the nominal concentrations to deviate from the peak of the bell curve (equal probability of being an under-prediction as an over-prediction) by the same user-defined confidence. FGR allows the deviations to be both positive (max) and negative (min), and to fluctuate in a more realistic randomized manner.

Ports

DirectionNameTypeDescription
InputAnalytical Grid DataRealizationInformation required for direct exporting of analytical grid data.
OutputOutput FieldFieldThe main output field representing geologic materials.
OutputDeviations FieldFieldA field containing deviation values by which the data has been shifted.
OutputOutput ObjectRenderableA renderable object displaying the variography created by the module. Output even when Allow Run is off.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When on, the module runs when applications are loaded or the Execute button is pushed. When off, the module will not run unless Execute is pressed.
ExecuteButtonForces the module to run even if the Allow Run toggle has been turned off. Allows the user to make a number of changes before updating.
Realization MethodChoice: Random Shift, Min-Max PlumeSelects the type of modification applied to the analytical data.
Nodal Data ComponentChoiceSelects which nodal data will be modified.

Fast Geostatistical Realization

PropertyTypeDescription
Randomness Generator TypeChoice: Type1, Type2, Type3, Type4Determines the nature of the Realization deviation patterns.
AnisotropyAnisotropyControls the anisotropy of the realization noise via heading, dip, roll, and axis ratios.
SeedDoubleUsed in the random number generator to make realizations reproducible.
WavelengthDoubleAffects the Randomness Generator. This value is in your coordinate system units. Small values produce an output with higher frequency changes.
Min Max Confidence EquivalentDoubleRealization deviations from the nominal kriged results will be constrained to lie within the equivalent Min/Max (plume) bounds. Must lie between 51.00% and 99.995%. Theoretically 50% is the same as the nominal kriged result.

Variography Display

PropertyTypeDescription
Variography Z ScaleDoubleThe vertical exaggeration to be applied to the output variography ellipsoid and lines.
Display Variogram EllipsoidBooleanAllows the user to display the variography ellipsoid.
Ellipsoid OpacityDoubleSets the opacity of the ellipsoid directly.
ResolutionIntegerThe resolution to use for the ellipsoid. Larger numbers create more detailed representations.
Ellipsoid ScaleDoubleScales the ellipsoid equally along each axis.
X OffsetDoubleTranslates the ellipsoid along the x axis.
Y OffsetDoubleTranslates the ellipsoid along the y axis.
Z OffsetDoubleTranslates the ellipsoid along the z axis.
Ellipsoid ColorColorThe ellipsoid is a solid color which can be selected using this control.
Display Variogram LinesBooleanAllows the user to display lines aligned with the variography ellipsoid.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipsoid.
Primary Ratio ColorColorThe primary ratio axis color.
Secondary Ratio ColorColorThe secondary ratio axis color.
Tertiary Axis ColorColorThe tertiary axis color.

Min Max Plume Settings

PropertyTypeDescription
Min Max ConfidenceDoubleSpecifies what interval around the kriged model estimates the kriging confidence or uncertainty will apply to.
Auxillary Realization DataMulti-select: Max Plume, Min PlumeSelects which data components generated during realization to generate for the output field on a node by node basis.

stratigraphic realization

The stratigraphic realization module is one of three similar modules (the other two are analytical realization and lithologic realization), which allows you to very quickly generate statistical realizations of your stratigraphic horizons based upon C Tech’s Proprietary Extended Gaussian Geostatistical Simulation (GGS), which we refer to as Fast Geostatistical Realizations^®^ or FGR^®^. Our extensions to GGS allow you to:

  • Create realizations rapidly
  • Exercise greater control over the frequency and magnitude of noise typical in GGS
  • Control deviation magnitudes from the nominal kriged prediction based on a Min Max Confidence Equivalent
    • Deviations are the absolute value of the changes to surface elevations for each stratigraphic horizon
  • Apply Simple or Advanced Anisotropy control over 2D wavelengths
  • For stratigraphic realizations only: Natural Neighbor interpolation is supported in addition to kriging for the input model.

Ports

DirectionNameTypeDescription
InputStratigraphic Grid DataRealizationInformation required for direct exporting of stratigraphic grid data.
OutputOutput FieldFieldThe main output field representing geologic materials.
OutputDeviations FieldFieldA field containing deviation values by which the data has been shifted.
OutputOutput ObjectRenderableA renderable object displaying the variography created by the module. Output even when Allow Run is off.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When on, the module runs when applications are loaded or the Execute button is pushed. When off, the module will not run unless Execute is pressed.
ExecuteButtonForces the module to run. If pressed and the application saved, it will cause the module to run when the application is loaded.

Fast Geostatistical Realization

PropertyTypeDescription
Randomness Generator TypeChoice: Type1, Type2, Type3, Type4Determines the nature of the Realization deviation patterns.
AnisotropyAnisotropyControls the anisotropy of the realization noise via heading and horizontal ratio.
SeedIntegerUsed in the random number generator to make realizations reproducible.
WavelengthDoubleAffects the Randomness Generator. This value is in your coordinate system units. Small values produce an output with higher frequency changes.
Min Max Confidence EquivalentDoubleRealization deviations from the nominal kriged results will be constrained to lie within the equivalent Min/Max (plume) bounds. Must lie between 51.00% and 99.995%. Theoretically 50% is the same as the nominal kriged result.

Variography Display

PropertyTypeDescription
Variography Z ScaleDoubleSets the vertical scaling of the variography ellipse and lines.
Display Variogram EllipseBooleanAllows the user to display the variography ellipse.
Ellipse OpacityDoubleSets the opacity of the ellipse directly.
ResolutionIntegerThe resolution to use for the ellipse. Larger numbers create more detailed representations.
Ellipse ScaleDoubleScales the ellipse equally along each axis.
X OffsetDoubleTranslates the ellipse along the x axis.
Y OffsetDoubleTranslates the ellipse along the y axis.
Z OffsetDoubleTranslates the ellipse along the z axis.
Ellipse ColorColorThe ellipse is a solid color which can be selected using this control.
Display Variogram LinesBooleanAllows the user to display lines aligned with the variography ellipse.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipse.
Primary Ratio ColorColorThe primary ratio axis color.
Secondary Ratio ColorColorThe secondary ratio axis color.

lithologic realization

The lithologic realization module is one of three similar modules (the other two are analytical realization and stratigraphic realization), which allows you to very quickly generate statistical realizations of your 2D and 3D lithologic models based upon C Tech’s Proprietary Extended Gaussian Geostatistical Simulation (GGS), which we refer to as Fast Geostatistical Realizations^®^ or FGR^®^. Our extensions to GGS allow you to:

  • Create realizations rapidly
    • Lithologic realizations are the slowest of the three because the material probabilities must be additionally processed to assign materials
  • Exercise greater control over the frequency and magnitude of visual noise typical of GGS
  • Control deviation magnitudes from the nominal kriged probability prediction based on a Min Max Confidence Equivalent
    • Deviations are the absolute value of the changes to each material’s probability
  • Apply Simple or Advanced Anisotropy control over 2D or 3D wavelengths

Ports

DirectionNameTypeDescription
InputIndicator Grid DataRealizationInformation required for direct exporting of indicator grid data.
OutputOutput FieldFieldThe main output field representing geologic materials.
OutputDeviations FieldFieldA field containing deviation values by which the data has been shifted.
OutputOutput ObjectRenderableA renderable object displaying the variography created by the module. Output even when Allow Run is off.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When on, the module runs when applications are loaded or the Execute button is pushed. When off, the module will not run unless Execute is pressed.
ExecuteButtonForces the module to run. If pressed and the application saved, it will cause the module to run when the application is loaded.

Fast Geostatistical Realization

PropertyTypeDescription
Randomness Generator TypeChoice: Type1, Type2, Type3, Type4Determines the nature of the Realization deviation patterns.
AnisotropyAnisotropyControls the anisotropy of the realization noise via heading, dip, roll, and axis ratios.
SeedIntegerUsed in the random number generator to make realizations reproducible.
WavelengthDoubleAffects the Randomness Generator. This value is in your coordinate system units. Small values produce an output with higher frequency changes.
Min Max Confidence EquivalentDoubleRealization deviations from the nominal kriged results will be constrained to lie within the equivalent Min/Max (plume) bounds. Must lie between 51.00% and 99.995%. Theoretically 50% is the same as the nominal kriged result.

Data To Export

PropertyTypeDescription
Geologic Nodal DataMulti-select: Layer Thickness, Depth, ElevationSelects which data components to generate for the output field on a node by node basis.
Geologic Cell DataMulti-select: Material ID, Geo LayerSelects which data components to generate for the output field on a cell by cell basis.
ProbabilityBooleanExports a data value that describes the probability of that cell or node being the chosen material.
Probabilities By MaterialBooleanExports a data value that describes the probability of that cell or node being each of the different materials.

Variography Display

PropertyTypeDescription
Variography Z ScaleDoubleThe vertical exaggeration to be applied to the output variography ellipsoid and lines.
Display Variogram EllipsoidBooleanAllows the user to display the variography ellipsoid.
Ellipsoid OpacityDoubleSets the opacity of the ellipsoid directly.
ResolutionIntegerThe resolution to use for the ellipsoid. Larger numbers create more detailed representations.
Ellipsoid ScaleDoubleScales the ellipsoid equally along each axis.
X OffsetDoubleTranslates the ellipsoid along the x axis.
Y OffsetDoubleTranslates the ellipsoid along the y axis.
Z OffsetDoubleTranslates the ellipsoid along the z axis.
Ellipsoid ColorColorThe ellipsoid is a solid color which can be selected using this control.
Display Variogram LinesBooleanAllows the user to display lines aligned with the variography ellipsoid.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipsoid.
Primary Ratio ColorColorThe primary ratio axis color.
Secondary Ratio ColorColorThe secondary ratio axis color.
Tertiary Axis ColorColorThe tertiary axis color.

lithologic assessment

The lithologic assessment module evaluates the quality of a lithologic model on an individual material basis. It works by shifting the realization probabilities toward the minimum or maximum plume bounds for a selected material, producing an output field that reflects a conservative or aggressive interpretation of material extent.

The assessment procedure is:

  • Select the material to be assessed.
  • Choose a Min Max Confidence Equivalent value (e.g., 95%). A value of 50% produces results equivalent to the nominal kriged model; higher confidence values (90%+) show greater deviation from the nominal.
  • Select the direction (Min or Max) to shift toward.
  • Choose the nodal and cell data components to include in the output.

Ports

DirectionNameTypeDescription
InputIndicator Grid DataRealizationInformation required for direct exporting of indicator grid data.
OutputOutput FieldFieldThe main output field representing geologic materials.
OutputDeviations FieldFieldA field containing deviation values by which the data has been shifted.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes. When on, the module runs automatically on load or when Execute is pressed. When off, the module will not run unless Execute is pressed.
ExecuteButtonForces the module to run. If pressed and the application is saved, the module will also run when the application is next loaded.

Shift Settings

PropertyTypeDescription
MaterialChoice: (from input data)Controls which material is used for assessment. The available options are populated from the connected indicator grid data.
Min Max Confidence EquivalentDoubleRealization deviations from the nominal kriged results will be constrained to lie within the equivalent Min/Max (plume) bounds. Must be between 50% and 99.995%. A value of 50% is equivalent to the nominal kriged result.
DirectionChoice: Min, MaxControls whether the assessment shifts toward the minimum or maximum plume bound.

Data To Export

PropertyTypeDescription
Geologic Nodal DataMulti-select: Layer Thickness, Depth, ElevationSelects which data components to generate for the output field on a node-by-node basis.
Geologic Cell DataMulti-select: Material ID, Geo LayerSelects which data components to generate for the output field on a cell-by-cell basis.
ProbabilityBooleanWhen enabled, exports a data value describing the probability of each cell or node being the chosen material.
Probabilities By MaterialBooleanWhen enabled, exports a data value describing the probability of each cell or node being each of the different materials.

external kriging

The external kriging module allows users to perform estimation using grids created in EVS (with or without layers or lithology) in GeoEAS, which supports advanced variography and kriging techniques. Grids and data are exported from EVS in GeoEAS format, kriged externally, and the results can then be read back into EVS and treated as if they were kriged natively.

This is an advanced module intended for users with experience in GeoEAS and geostatistics. C Tech does not provide technical support for the use of GeoEAS.

The workflow has three stages: export the data (Export Data group), export the grid (Export Grid group), run the external kriging in GeoEAS, then import the results (Import Data group).

Ports

DirectionNameTypeDescription
InputZ ScaleNumberThe factor for vertical scaling.
InputInput DataFieldA field containing nodal data to be exported for kriging.
InputInput GridFieldA field for the grid to which data will be kriged.
OutputOutputFieldA field containing the selected imported data.

Properties

PropertyTypeDescription
Z ScaleDoubleThe vertical exaggeration applied to ensure that external kriging occurs in the correct coordinate space.
Translate CoordinatesBooleanWhen enabled, translates the entire model back to the origin based on the Translate Values input. If the input values are left at 0.0, the translation is calculated based on the centroid of the model.
Translate ValuesCoordinates (X, Y, Z)If Translate Coordinates is enabled, translates the entire model back to the origin using these X, Y, and Z values. If left at 0.0, the values are calculated from the centroid of the model.

Export Data

PropertyTypeDescription
Exponentiate Exported Log DataBooleanIf any nodal data is log-processed, enabling this toggle will exponentiate it before export.
Export Nodal Data For OutputMulti-selectSelects the nodal data components to include in the exported data file. Options are populated from the connected input data field.
Export Data FilenameFileThe filename for the exported data file (GeoEAS format).

Export Grid Requires Grid

PropertyTypeDescription
Exponentiate Log Grid DataBooleanIf there is log-processed data on the grid, enabling this toggle will exponentiate it when exported.
Nodal Data For Grid OutputMulti-selectSelects the nodal data components to include in the exported grid file. Options are populated from the connected input data field.
Export Grid FilenameFileThe filename for the exported grid file (GeoEAS format).

Import Data Requires Grid

PropertyTypeDescription
Import Data FilenameFileThe data file to import after external kriging has been performed in GeoEAS.
ExecuteButtonForces the module to import the specified data file. Only enabled when an import filename has been specified.
  • create stratigraphic hierarchy

    Build geologic surfaces interactively from a pregeology file to define a stratigraphic hierarchy.

  • horizons to 3d

    Create 3-dimensional solid layers from the 2-dimensional surfaces in a geology field, to allow visualizations of the geologic layering of a system.

  • horizons to 3d structured

    Create 3-dimensional solid layers from the 2-dimensional surfaces produced by Krig_3D_Geology, to allow visualizations of the geologic layering of a system.

  • layer from horizon

    Create a layer based on an input surface and variable elevation value.

  • surface from horizons

    Provides complete control of displaying, scaling and exploding one geologic surface from a set of surfaces.

  • surfaces from horizons

    Provides complete control of displaying, scaling and exploding one or more geologic surfaces from a set of surfaces.

  • lithologic modeling

    Estimate material data to generate a lithologic model.

  • mask horizons

    Allows horizons to be subset by expression or a surface.

  • edit horizons

    Provide fine control and editing of estimated horizon data.

  • horizon ranking

    Adjust individual horizon priorities and rankings.

  • material mapping

    This module can re-assign material data for the purpose of grouping.

  • combine horizons

    Merge horizons from multiple fields.

  • subset horizons

    Subset horizons to constrain model prior to conversion to surface or layers.

  • collapse horizons

    Subset horizons to create a single merged layer.

  • displace block

    The displace block module translates a field in z by the input surface and input surface data

Subsections of Geology

create stratigraphic hierarchy

The create stratigraphic hierarchy module reads a pregeology file (.pgf) and allows the user to interactively build geologic surfaces based on the input file’s geologic surface intersections. This process is carried out visually in the EVS viewer using the module’s user interface. The surface hierarchy can be generated automatically for simple geology models or layer-by-layer for complex models. When the user is finished creating surfaces, the GMF file can be finalized and converted into a .GEO file.

Ports

DirectionNameTypeDescription
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputOutput ObjectsRenderableA renderable object displaying the TIN surface and the pregeology data.

Properties

PropertyTypeDescription
FilenameFileThe name of the pregeology file.
Z ScaleDoubleThe vertical exaggeration to be applied to the output object.
Existing GMF FilenameFileThe name of an existing GMF. This file will be loaded and the surfaces added to the current hierarchy being created.
Current GMF FilenameFileThe name of the current GMF being created. This file can be overwritten or appended to each time the Write Surface button is pressed.
Overwrite GMF FileBooleanCauses the Current GMF file to be overwritten when the Write Layer button is selected. This toggle is on by default but automatically turned off when using an Existing GMF Filename, or after the Write Layer button is selected.
Preserve BottomBooleanWhen selected, the places where the TIN has reached the bottom of a boring will not be dropped.
SamplesBooleanPrevents or allows samples from being created or displayed.
ScreensBooleanPrevents or allows screens from being created or displayed.
Well LabelsBooleanPrevents or allows well labels from being created or displayed.
Sample LabelsBooleanPrevents or allows sample labels from being created or displayed.

Geologic Hierarchy Options

PropertyTypeDescription
Current Material ListChoiceShows every material that intersects the current surface.
Layer ThicknessDoubleControls the thickness of the current layer. Enabled when the Method is set to Layer Thickness.
Set To Max ThicknessButtonForces the current Layer Thickness to its maximum extent.
Write SurfaceButtonWrites the position of every boring in the TIN surface and the current selected material to the GMF file.
Undo SurfaceButtonRemoves the last surface from the file.
Finish GeologyButtonConverts the completed GMF file to a GEO file.
CycleBooleanCauses the module to automatically generate layers using the set parameters until it reaches a stopping condition.

Picked Data

PropertyTypeDescription
Picked BoringStringThe currently selected boring.
Boring StateChoice: Normal, Locked, Preserved, To Be Dropped, Boring DroppedDescribes the action being taken on the currently picked boring.
OffsetDoubleApplied to the current position of the picked boring allowing user control of a single point in the TIN.

Group Select

PropertyTypeDescription
Show Group Select WindowBooleanAllows the user to select multiple borings at once and to change their state.
Zoom To FitButtonResets the scaling for the group select window.
Set Group To LockedButtonThe borings contained within the drawn polyline will have the state changed to the Locked position.
Set Group To NormalButtonThe borings contained within the drawn polyline will have the state changed to the Normal position.
Erase Last PointButtonThe last point drawn in the selection polyline will be removed.
Clear All PointsButtonAll points in the selection polyline will be removed.

Sample Settings

PropertyTypeDescription
Sphere Count LimitIntegerThe maximum number of spheres to create. If the number of samples exceeds this value, the module will generate colored tubes instead.
Maximum Sample ThresholdIntegerThe maximum number of samples from the input file to allow. If the file contains more than this amount an error will occur.

Glyph Settings

PropertyTypeDescription
Glyph SizeDoubleUsed to scale the glyphs in all directions. The default is automatically computed based on input data.
PriorityChoice: Maximum, MinimumReverses the scaling so that the smallest sample values have the largest size.
Minimum Scale FactorDoubleScales the sample values with the least priority.
Maximum Scale FactorDoubleScales the sample values with the greatest priority.
Sphere SubdivisionsIntegerDefines how finely the sample spheres are rendered. Higher values mean smoother spheres but at a higher memory cost.

Screen Settings

PropertyTypeDescription
Display Screens AsChoice: Tubes, WiresControls how the well screens will be displayed.
Screen RatioDoubleA percentage value that sets what proportion of the Glyph Size the tube size will be.
Screen Tube ResolutionIntegerChanges the number of divisions used to make each well screen tube.
Close Screen TubesBooleanPlaces a disc inside the top and bottom of the tube for a more solid visualization.
Connect Screen LinesBooleanFor non-vertical intervals, merges separate cell ends into a single seamless tube.

Label Settings

PropertyTypeDescription
TitleStringSets the template the title labels are generated with.
Title PositionChoice: Top of Boring, Bottom of Boring, Top and BottomAllows the user to place the title label at the top or bottom of the boring.
Default TopChoice: First Sample, Tube TopIf the ground elevation is not defined in file, sets the default to either the first sample or the Boring Tube Top value.
Tube TopDoubleSets the top elevation for each tube. If specified in the file, the file value is used instead.
FeaturesStringSets the template the feature labels are generated with.
Screen LabelingChoice: At sample, At mid-intervalSpecifies where each feature label will occur.
Label TypeChoice: Forward Facing Fonts, TrueType Fonts, Line FontsSelects between three font types for labels.
True Type Font StyleFontAllows the user to alter the basic look of the TrueType font.
3D Label SettingsLabel SettingsAllows the user to align the labels to an appropriate view.
Forward Facing StyleFontAllows the user to align forward-facing labels and alter the basic layout of the font.
Label ColorColorSets the color for every label.
Top OffsetDoubleThe title offset in the z direction. This can raise or lower your title.
Radial OffsetDoubleDetermines how far from the sample to place the label.
Label AngleDoubleDetermines where in a circle around the sample to place the label.
Z OffsetDoubleAdded to the Z coordinate to raise or lower the labels in the Z direction.
Label SubsettingChoice: None, Blank Labels, Boring Min/MaxRestricts the number of labels by using label blanking or by boring analytical value.
X BlankDoubleCreates a 3D box that will allow only the label at the highest or lowest value to be displayed inside (X dimension).
Y BlankDoubleCreates a 3D box that will allow only the label at the highest or lowest value to be displayed inside (Y dimension).
Z BlankDoubleCreates a 3D box that will allow only the label at the highest or lowest value to be displayed inside (Z dimension).
Favor Min ValueBooleanSwitches the blanking behavior to display the lowest value inside the box.

horizons to 3d

The horizons to 3d module creates 3-dimensional solid layers from the 2-dimensional surfaces produced by gridding and horizons, allowing visualization of the geologic layering of a system. It does this by creating a user-specified distribution of nodes in the Z dimension between the top and bottom surfaces of each geologic layer.

The Z Resolution nodes can be distributed proportionally across geologic layers based on each layer’s fractional thickness relative to the total geologic domain. When using proportional gridding, at least the specified minimum number of cell layers will be placed in each geologic layer.

If any portions of the input geology are NULL, those cells will be omitted from the output grid. This can save memory and provides a means to cut along boundaries.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main geologic field to map to 3D.
OutputOutput FieldFieldThe geologic field mapped to 3D.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
ExecuteButtonForces the module to run even when Allow Run has been turned off.

Layer Settings

PropertyTypeDescription
Z ResolutionIntegerThe total number of cells in the Z direction used as a guide when using proportional gridding. Actual Z resolution may be higher than specified.
Minimum Cells Per LayerIntegerThe minimum number of cells in the Z direction per geologic layer when using proportional gridding.
Cells Per LayerIntegerThe fixed number of cells in the Z direction per layer when not using proportional gridding.
Proportional GriddingChoice: Cells Per Layer, Proportional Z ResolutionControls how cells are distributed across layers. When proportional, cells are apportioned based on each layer’s average thickness, subject to the Minimum Cells Per Layer constraint.
Minimum Layer ThicknessDoubleForces layers thinner than this value to maintain a minimum thickness, preventing complete pinch-out.
Reverse Surface HierarchyBooleanWhen enabled, surfaces define layers from bottom to top instead of the default top to bottom order.

Data To Export

PropertyTypeDescription
Geologic Nodal DataMulti-select: Layer Thickness, Depth, ElevationSelects which data components to generate for the output field on a per-node basis.
Geologic Cell DataMulti-select: Material ID, Geo LayerSelects which data components to generate for the output field on a per-cell basis.

horizons to 3d structured

The horizons to 3d structured module creates 3-dimensional solid layers from the 2-dimensional surfaces produced by gridding and horizons, to allow visualizations of the geologic layering of a system. It accomplishes this by creating a user-specified distribution of nodes in the Z dimension between the top and bottom surfaces of each geologic layer.

This module is similar to horizons to 3d, but does not duplicate nodes at the layer boundaries and therefore the model it creates cannot be exploded into individual layers. However, this module has the advantage that its output is substantially more memory efficient and can be used with modules like crop and downsize or ortho slice.

The number of nodes specified for the Z Resolution may be distributed proportionately over the geologic layers in a manner that is approximately proportional to the fractional thickness of each layer relative to the total thickness of the geologic domain.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main geologic field to convert to a structured field.
OutputOutput FieldFieldThe geologic field converted to a structured field.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonForces the module to run even if the Allow Run toggle has been turned off.

Layer Settings

PropertyTypeDescription
Z ResolutionIntegerUsed as a guide for establishing the total number of cells in the model. The module could potentially produce more than the total.
Minimum Cells Per LayerIntegerUsed for establishing a minimum number of cells in the Z direction per layer.
Cells Per LayerIntegerThe cells in the Z direction per layer when using the Cells Per Layer proportional gridding option.
Proportional GriddingChoice: Cells Per Layer, Proportional Z ResolutionWhen multiple geologic layers exist, cells are apportioned to layers in Z based on each layer’s average thickness over the total model domain, subject to the Min Cells Per Layer parameter.
Minimum Layer ThicknessDoubleForces layers thinner than the specified value to have a minimum thickness and therefore not pinch out completely.
Reverse Surface HierarchyBooleanDetermines whether the surfaces will define layers in a normal (top to bottom) manner or reversed (if on).

Data To Export

PropertyTypeDescription
Geologic Nodal DataMulti-select: Layer Thickness, Depth, ElevationControls which data components to generate for the output field on a node-by-node basis. For structured grids the Layer Thickness component will be exported as cell data.
Geologic Cell DataMulti-select: Material ID, Geo LayerControls which data components to generate for the output field on a cell-by-cell basis.

layer from horizon

The layer from horizon module creates a single geologic layer based upon an existing surface and a constant elevation value. The Surface Definition option sets whether the selected surface defines the top or the bottom of the layer. For example, if Top Of Layer is chosen, the selected surface will define the top while the Constant Value will define the bottom of the layer. The Material Name and Material Number define the geologic layer name and number for the newly created layer.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe geologic field to use for defining the new layer.
InputConstantValueNumberThe value used for the elevation of the constant surface.
OutputOutput Geologic FieldFieldThe geologic field containing the created layer.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.

Properties

PropertyTypeDescription
Surface DefinitionChoice: Top Of Layer, Bottom Of LayerAllows the user to select whether the selected surface defines the top or the bottom of the layer.
Constant ValueDoubleThe selected surface makes up one surface for the layer; this is the elevation of the other surface.
Material NameStringThe material name for the newly created layer.
Material NumberIntegerThe material number for the newly created layer.
Selected SurfaceChoiceThe selected surface from the input field used to create either the top or bottom of the layer. Options are populated from the input field.

surface from horizons

The surface from horizons module provides complete control of displaying, scaling, and exploding a single geologic surface from the set of surfaces output by gridding and horizons. This module allows visualization of the topology of any single surface, and can explode the geologic surface analogous to how explode and scale explodes layers created by horizons to 3d. The module also allows the user to color the surface according to its elevation or any other data component exported by gridding and horizons.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main geologic field to map to 3D.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used for separating output based on geology.
OutputSurface NameStringText containing the name of the selected surface.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ExplodeNumberThe value used for separating output based on geology.
OutputOutput FieldFieldThe main output field with z values set to the appropriate surface.
OutputSurfaceRenderableA renderable object displaying the component surface.

Properties

PropertyTypeDescription
Z ScaleDoubleThe vertical exaggeration to apply to the display object.
ExplodeDoubleThe explode distance can be set here or referenced by connection. Surfaces will be exploded based upon their layer designations.

Surface Settings

PropertyTypeDescription
Surface OffsetDoubleSpecifies the distance that the surface will be translated in the Z axis before display.
Minimum ThicknessDoubleDetermines the minimum spacing between surfaces when hierarchy is imposed.
Account For HierarchyBooleanCauses geologic surfaces that might otherwise intersect each other to be corrected to account for geologic hierarchy.
Reverse HierarchyBooleanCauses hierarchy to be imposed from the bottom up versus the normal top down.
Pass Null Through SurfacesBooleanCauses the null nodes/cells defined in any surface to be passed to all of the surfaces.
Surface SelectionChoiceControls which surface is output for visualization or subsequent processing. Options are populated from the input field.

Data Settings

PropertyTypeDescription
Nodal Data To MapMulti-select: Elevation, Layer Thickness, X Coordinate, Y CoordinateControls which data components are included in the surfaces.
Data MappingChoice: To Top, To BottomControls to which surfaces the nodal data components are mapped. For example, if Top is selected, layer thicknesses are mapped to the surface corresponding to the top of each layer.
Set Min MaxChoice: Use All Surfaces, Use Selected SurfaceAllows the user to either use the min and max of all surfaces, or to set the min and max to that of the selected surface.
Cell Data To MapMulti-select: Layer, MaterialControls which cell data components are included in the surfaces.

surfaces from horizons

The surfaces from horizons module provides complete control of displaying, scaling, and exploding one or more geologic surfaces from the set of surfaces output by gridding and horizons. This module allows visualization of the topology of any or all surfaces and the interaction of a set of individual surfaces. It can explode geologic surfaces analogous to how explode and scale explodes layers created by horizons to 3d, and allows the user to color surfaces according to their elevation or any other data component exported by gridding and horizons.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main geologic field to map to 3D.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used for separating output based on geology.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ExplodeNumberThe value used for separating output based on geology.
OutputOutput FieldFieldThe main output field with z values set to the appropriate surface.
OutputSurfaceRenderableA renderable object displaying the component surface.

Properties

PropertyTypeDescription
Z ScaleDoubleThe vertical exaggeration to apply to the display object.
ExplodeDoubleThe explode distance can be set here or referenced by connection. Surfaces will be exploded based upon their layer designations.

Surface Settings

PropertyTypeDescription
Surface OffsetDoubleSpecifies the distance that the surface will be translated in the Z axis before display.
Minimum ThicknessDoubleDetermines the minimum spacing between surfaces when hierarchy is imposed.
Account For HierarchyBooleanCauses geologic surfaces that might otherwise intersect each other to be corrected to account for geologic hierarchy.
Reverse HierarchyBooleanCauses hierarchy to be imposed from the bottom up versus the normal top down.
Pass Null Through SurfacesBooleanCauses the null nodes/cells defined in any surface to be passed to all of the surfaces.
Surface SelectionMulti-selectControls which surfaces are output for visualization or subsequent processing. Options are populated from the input field.

Data Settings

PropertyTypeDescription
Nodal Data To MapMulti-select: Elevation, Layer Thickness, X Coordinate, Y CoordinateControls which data components are included in the surfaces.
Data MappingChoice: To Top, To BottomControls to which surfaces the nodal data components are mapped. For example, if Top is selected, layer thicknesses are mapped to the surface corresponding to the top of each layer.
Set Min MaxChoice: Use All Surfaces, Use Selected SurfacesAllows the user to either use the min and max of all surfaces, or to set the min and max to that of the selected surfaces.
Cell Data To MapMulti-select: Layer, MaterialControls which cell data components are included in the surfaces.

lithologic modeling

The lithologic modeling module is an alternative geologic modeling concept that uses geostatistics to assign each cell’s lithologic material as defined in a pregeology (.pgf) file, to cells in a 3D volumetric grid.

There are two Estimation Types. Nearest Neighbor is a quick method that merely finds the nearest lithology sample interval among all of your data and assigns that material. It is very fast, but generally should not be used for final work. Kriging provides the rigorous probabilistic approach to geologic indicator kriging. The probability for each material is computed for each cell center of your grid, and the material with the highest probability is assigned to the cell. All of the individual material probabilities are provided as additional cell data components, allowing you to identify regions where the material assignment is somewhat ambiguous.

There are also two Lithology Methods when Kriging is selected. The Block method is the quickest since probabilities are assigned directly to cells and lithology is determined based on the highest probability among all materials, but the resulting model is blocky and requires high grid resolutions. The Smooth method assigns probabilities to nodes and then interpolates between them, cutting the blocky grid and forming a smooth grid. Much lower grid resolutions can be used with the Smooth method, often achieving superior results.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldAccepts geologic field input to constrain kriging between two topographic surfaces.
InputInput External GridFieldA field containing an external grid to use for the output.
InputInput FilenameStringFile used to generate the pre-geology file name.
InputInput Refine DistanceNumberThe refine distance for the pre-geology file.
OutputOutput FilenameStringFile used to generate the pre-geology file name.
OutputOutput Refine DistanceNumberThe refine distance for the pre-geology file.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputOutput FieldFieldThe main output field representing geologic materials.
OutputStatus InformationStringText containing the full status information output from the module.
OutputVariographyRenderableA renderable object displaying the variography elements.
OutputIndicator Grid DataRealizationInformation required for direct exporting of raw indicator grid data.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes.
FilenameFileThe filename containing the data to interpolate onto the created grid.
New VariablesBooleanResets all expert system calculated variables to zero before each run, allowing multiple calculations without manual resetting.
ExecuteButtonForces the module to run. If pressed and the application saved, it will cause the module to run when the application is loaded.

Grid Settings

PropertyTypeDescription
Only Create GridBooleanForces the module to exit after gridding is complete with no interpolation done.
Grid CoordinatesRange 3DAllows the user to define the coordinate domain within the data set in which kriging will be completed.
X ResolutionIntegerThe number of grid nodes that will be included within the model horizontal domain.
Y ResolutionIntegerThe number of grid nodes that will be included within the model vertical domain.
Z ResolutionIntegerThe number of grid nodes that will be included within the model elevation domain when creating a single layer.
Cell Set SubdivisionChoice: Per Material, Stratigraphy or External Grid, All CategoriesAllows the user to select whether the output is grouped into materials, grouped into layers, or not grouped.
Layers From GeologyChoice: Make Single Layer, Use all HorizonsUsed with the input geology port. Can create a single layer or a layer for each horizon.
Proportional GriddingChoice: Cells Per Layer, Proportional Z ResolutionWhen multiple geologic layers exist, cells are apportioned to layers in Z based on each layer’s average thickness.
Min Cells Per LayerIntegerThe minimum number of cells in the Z direction per layer when proportionally gridding an input geologic grid.
Cells Per LayerIntegerThe cells in the Z direction per layer when using the Cells Per Layer proportional gridding option.
Min Layer ThicknessDoubleThe smallest vertical height of each cell.
Reverse Surface HierarchyBooleanDefines layers starting from the bottom to the top.
Rectilinear OffsetDoubleUsed to create a domain that is larger than the input data along all three axes.

Krig Settings

PropertyTypeDescription
Estimation TypeChoice: Kriging, Nearest NeighborSelects between the Nearest Neighbor and Kriging algorithms.
Lithology MethodChoice: Block, SmoothSelects the unrefined (Block) or the refinement (Smooth) algorithm. The Smooth method requires lower grid resolutions to achieve great results.
ReachDoubleDefines the radial distance from any given model node that the kriging module will look for data points. Setting the reach to 0 causes automatic calculation.
Points In ReachIntegerThe maximum number of data points within the specified reach that will be considered for parameter estimation at a model node.
Octant SearchBooleanWhen selected, searching is performed for each of the eight octants surrounding the point to be kriged.
Use All PointsBooleanCauses the module to include samples up to the All Points Limit value. If the number of samples exceeds the limit, the Reach and Points In Reach settings are used.
All Points LimitIntegerThe maximum number of points to use when interpolating. If there are more samples than this value, the Reach and Points In Reach settings will be used.
Screen Refine DistanceDoubleThe distance used to discretize the lithologic intervals into points used in kriging.
Max Points Per IntervalIntegerCaps the number of points created between samples in PGF data.
Maximum Refined PointsIntegerSets a limit on the total number of points created when refining a PGF file.
Variogram And AnisotropyVariogramControls the variogram model and anisotropy parameters for kriging.

Data To Export

PropertyTypeDescription
Geologic Nodal DataMulti-select: Layer Thickness, Depth, ElevationControls which data components to generate for the output field on a node-by-node basis.
Geologic Cell DataMulti-select: Material ID, Geo LayerControls which data components to generate for the output field on a cell-by-cell basis.
Indicator Data Component NameStringSets the name of the calculated indicators, also used as a prefix for the generated Probability and Probabilities By Material data components.
ProbabilityBooleanExports a data value that describes the probability of that cell or node being the chosen material.
Probabilities By MaterialBooleanExports a data value that describes the probability of that cell or node being each of the different materials.

Variography Display

PropertyTypeDescription
Variography Z ScaleDoubleThe vertical exaggeration to be applied to the output variography ellipsoid and line objects.
Display Variogram EllipsoidBooleanAllows the user to display the variography ellipsoid.
Ellipsoid OpacityDoubleSets the opacity of the ellipsoid directly.
ResolutionIntegerThe resolution to use for the ellipsoid. Larger numbers create more detailed representations.
Ellipsoid ScaleDoubleScales the ellipsoid equally along each axis.
X OffsetDoubleTranslates the ellipsoid along the X axis.
Y OffsetDoubleTranslates the ellipsoid along the Y axis.
Z OffsetDoubleTranslates the ellipsoid along the Z axis.
Ellipsoid ColorColorThe color of the ellipsoid.
Display Variogram LinesBooleanAllows the user to display lines aligned with the variography ellipsoid.
Line ScaleDoubleA scalar that sets the length of the variogram lines relative to the scale of the ellipsoid.
Primary Ratio ColorColorThe color of the primary ratio axis.
Secondary Ratio ColorColorThe color of the secondary ratio axis.
Tertiary Axis ColorColorThe color of the tertiary axis.

Drill Guide

PropertyTypeDescription
Create DG FileButtonRuns the module in a loop creating a synthetic boring at the maximum uncertainty location until it has reached the set Number Of Synthetic Samples.
Synthetic Sample PrefixStringThe prefix for the generated boring name of synthetic points.
Number Of Synthetic SamplesIntegerControls how many times drill guide will run.
Boring SamplesIntegerIndicates how many samples to create at each synthetic boring.
User PointsCoordinate ArrayUsed to manage the number of points added to the grid for drill guide purposes, to help eliminate areas of high uncertainty that cannot be drilled.

mask horizons

The mask horizons module receives geologic input and an optional input masking surface, allowing horizons to be masked by an input area, by a mathematical expression, or by a line. The mask is normally applied to the first surface only. If this surface is removed, the mask is lost. However, the Allow Subsetting toggle will apply the mask to all horizons at the cost of slower processing and higher memory usage.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to be masked.
InputInput AreaFieldThe field to use for masking by area or by line input.
OutputOutput FieldFieldThe subset field.

Properties

PropertyTypeDescription
Masking MethodChoice: By Input Area, By Expression, By LineAllows the user to choose between masking by the Input Area or by a user-defined expression.
Allow SubsettingBooleanWhen turned on, ensures that all layers receive the masking information so if they are later subset, they can still be masked.

Input Area Masking

PropertyTypeDescription
Masking DirectionChoice: Mask area in input surface, Mask area outside of input surface.Sets whether the area inside or outside of the Input Area is masked.
Nested Surface MaskingBooleanAllows you to cut doughnut-like shapes if you have polygons inside of other polygons.
Area Cells To IncludeChoice: Contained by Area, Intersects With or Contained by AreaAllows the user to include a cell if all nodes are inside the selected area, or if any of the nodes are inside the selected area.

Expression Masking

PropertyTypeDescription
Masking ExpressionStringThe expression to use for masking.
Masking Variable ListString ArrayThe variables available for use during computation.
Expression Cells To IncludeChoice: All Nodes Match Criteria, Any Node Matches CriteriaAllows the user to include a cell if all nodes match the expression criteria, or if any of the nodes match.

edit horizons

The edit horizons module is an interactive module that allows the user to probe points and selectively add them to the creation of each stratigraphic horizon. This provides the ability to manually edit horizon surfaces prior to the creation of geologic models.

The method of connecting edit horizons is unique among modules. It uses the stratigraphy output port from gridding and horizons as its primary input, and it also requires the viewer side port since it requires interactive probing. Its output port then becomes equivalent to the output of gridding and horizons, but with edited surfaces.

Regardless of the estimation method used originally, edit horizons uses Natural Neighbor to perform its near-real-time modifications. The Use Gradients toggle enables gradient estimation at the sample points to improve the interpolation result. The Horizon Point Radius is a distance in coordinate units; if a data point from the input geology comes within this radius of a horizon point, a warning is issued and the point handling is determined by the Horizon Point Behavior setting.

Ports

DirectionNameTypeDescription
InputStratigraphy InputVistas DataGrid and horizon input.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used for separating output based on geology.
OutputOutput FieldFieldThe field containing the created fault surface.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.
OutputHorizon PointsRenderableA renderable object displaying the Horizon Points.
OutputOutput ExplodeNumberThe value used for separating output based on geology.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonForces the module to run even if the Allow Run toggle has been turned off.
Use GradientsBooleanWhen on, gradients estimated at the sample points improve the interpolation result.
Z ScaleDoubleThe vertical exaggeration to apply to the coordinate values of the output.
ExplodeDoubleThe distance between exploded layers, cell sets, or materials. The explode distance incorporates the scale factor.
Horizon Point RadiusDoubleA distance in coordinate units. If a data point from the input geology comes within this radius to a point in the horizon point list, a warning will be issued and the point will be handled according to the Horizon Point Behavior setting.
Horizon Point BehaviorChoice: Use Horizon Point, Keep Original PointDetermines the action when a data point from the input geology comes within the Horizon Point Radius of a Horizon Point.
Probe ActionChoice: None, Reset Position, Add PointAllows for changing the current line coordinates or for adding new coordinates at the probed location.
HorizonsChoiceAllows the user to select which horizon to add points to. Options are populated from the input field.
Display Selected Horizon PointBooleanCreates a set of lines surrounding the current Horizon Point for visibility.
Horizon Point ListCoordinate ListThe list of control points used to change the geologic input.
Clear Horizon PointsButtonClears all created horizon points.
Export All PointsFileExport both input points and horizon points as a GMF.

Glyph Settings

PropertyTypeDescription
Color ByChoice: Node Data, Cell Data, Solid ColorControls how the color of the output should be determined. If Node Data is selected, the output will be colored by the elevation of each horizon point.
Cel Data ComponentChoice: Layer, MaterialThe cell data component for the Horizon Point spheres.
Horizons To DisplayChoice: Currently Selected Horizon, All HorizonsAllows the user to display points from either the currently selected horizon or all horizons.
Point MappingChoice: To Top, To BottomControls to which surface the horizon points are mapped when exploded.
Glyph SizeDoubleUsed to scale the glyphs in all directions. The default is automatically computed based on input data.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, DiskSelects the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerDefines how finely the sample spheres are rendered. Higher values mean smoother spheres at a higher memory cost.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipHeading/DipThe heading and dip values used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.

horizon ranking

The horizon ranking module gives the user control over individual surface priorities and rankings. This allows fine-tuning of the hierarchy in ways much more complex than a simple top-down or bottom-up approach.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for ranking.
InputGeology ImportVistas DataInformation required for direct exporting of geology to other software.
OutputOutput FieldFieldThe field with ranking applied.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonForces the module to run even if the Allow Run toggle has been turned off.
Horizon RankingsLabeled IntegersControls individual surface priorities and rankings.
Top To BottomButtonReturns the rankings to their default values (1 on top).
Bottom To TopButtonReverses the ranking, equivalent to reversed hierarchy.

material mapping

The material mapping module can re-assign data corresponding to geologic Layer, Material ID, or Lithology for the purpose of grouping. This provides flexibility for exploding models or coloring.

Groups are processed from top to bottom. You can have overlapping groups or groups whose range falls inside a previous group. In that event, the lower groups override the values mapped in a higher group. For example, if you have ten material IDs (0 through 9) and you want them all to be 0 except for 5 and 6 which should be 1, this can be accomplished with two groups: From 0 to 9 Map to 0, and From 5 to 6 Map to 1.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for remapping.
InputGeologic Legend Input InformationGeology LegendGeologic legend input information.
OutputOutput FieldFieldThe remapped field.
OutputGeologic Legend Output InformationGeology LegendGeologic legend output information.

Properties

PropertyTypeDescription
Value TypeChoice: Layer, Material, LithologyDetermines the type of data to be modified.

Material Map 1

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 2

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 3

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 4

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 5

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 6

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 7

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 8

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 9

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 10

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 11

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

Material Map 12

PropertyTypeDescription
Activate MappingBooleanTurns on or off the current material mapping.
From ValueIntegerThe starting range to map from.
To ValueIntegerThe ending range to map from.
Map ValueIntegerThe desired value to map everything from the From Value to the To Value to.
Map NameStringThe name for the mapped material, used when creating the Geology Legend port.

combine horizons

The combine horizons module is used to merge up to six geologic horizons (surfaces) to create a field representing multiple geologic layers. The mesh (X-Y coordinates) from the first input field will be the mesh in the output. The input fields should have the same scale and origin, and number of nodes in order for the output data to have any meaning.

The module provides an important ability to merge sets of surfaces or add additional surfaces to geologic models. When combine horizons is used to construct modified geologic horizons, its Geology Legend port must be used instead of the same port from gridding and horizons, because the legend port content must reflect the current set of surfaces and layers in the geology.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main geologic field to add components to.
InputInput Field 1FieldA field with nodal data to combine with the Geology Field.
InputInput Field 2FieldA field with nodal data to combine with the Geology Field.
InputInput Field 3FieldA field with nodal data to combine with the Geology Field.
InputInput Field 4FieldA field with nodal data to combine with the Geology Field.
InputInput Field 5FieldA field with nodal data to combine with the Geology Field.
InputGeology ImportVistas DataInformation required for direct exporting of geology to other software.
OutputOutput Geologic FieldFieldThe main geologic field with added components.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputOutput ObjectRenderableA renderable object displaying the geologic model with added component data.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.

Properties

PropertyTypeDescription
Allow RunBooleanPrevents the module from running, allowing the user to make multiple changes without the module constantly updating.
ExecuteButtonCauses the module to run one time even if the Allow Run toggle has been turned off.
Model ComponentsMulti-selectAllows the user to select which nodal data components to include from the primary geologic field in the output. Options are populated from the input field.
Components 1Multi-selectAllows the user to select which nodal data components to include from Input Field 1 in the output. Options are populated from the input field.
Components 2Multi-selectAllows the user to select which nodal data components to include from Input Field 2 in the output. Options are populated from the input field.
Components 3Multi-selectAllows the user to select which nodal data components to include from Input Field 3 in the output. Options are populated from the input field.
Components 4Multi-selectAllows the user to select which nodal data components to include from Input Field 4 in the output. Options are populated from the input field.
Components 5Multi-selectAllows the user to select which nodal data components to include from Input Field 5 in the output. Options are populated from the input field.

subset horizons

The subset horizons module allows you to subset the output of gridding and horizons so that downstream modules (3d estimation, horizons to 3d, surface from horizons) act on only a portion of the layers kriged. This is useful when you want or need to krige parameter data in each geologic layer separately.

This is not normally needed with contaminant data, but when kriging data such as porosity that is inherently discontinuous across layer boundaries, it is essential that each layer be kriged with data collected only within that layer. The module eliminates the need for multiple gridding and horizons modules reading data files that are subsets of a master geology. Inserting subset horizons between gridding and horizons and 3d estimation allows you to select one or more layers from the geology.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe geologic field to subset.
InputGeology ImportVistas DataInformation required for direct exporting of geology to other software.
OutputOutput Geologic FieldFieldThe subset geologic field.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.

Properties

PropertyTypeDescription
Allow RunBooleanPrevents the module from running, allowing the user to make multiple changes without the module constantly updating.
ExecuteButtonCauses the module to run one time even if the Allow Run toggle has been turned off.
Surface SelectionMulti-selectControls which surfaces are output for visualization or subsequent processing. Options are populated from the input field.

collapse horizons

The collapse horizons module allows you to subset the output of gridding and horizons so that downstream modules (3d estimation, horizons to 3d, surface from horizons) act on only a single merged layer. It merges all layers and corresponding surfaces exported from gridding and horizons into a single layer defined by the topmost and bottommost surfaces.

The module eliminates the need for multiple gridding and horizons modules reading data files that are single-layer subsets of a master geology. Inserting collapse horizons between gridding and horizons and 3d estimation kriges all data into a single geologic layer. When used with subset horizons, it allows creating a single layer that represents only a portion of the master geology file.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe geologic field to subset.
InputGeology ImportVistas DataInformation required for direct exporting of geology to other software.
OutputOutput Geologic FieldFieldThe subset geologic field.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.

Properties

PropertyTypeDescription
Allow RunBooleanPrevents the module from running, allowing the user to make multiple changes without the module constantly updating.
ExecuteButtonCauses the module to run one time even if the Allow Run toggle has been turned off.

displace block

The displace block module receives any 3D field into its input port and outputs the same field translated in Z according to a selected nodal data component of an input surface, allowing for non-uniform fault block translation. This module allows for the creation of tear faults and other complex geologic structures. Used in conjunction with distance to surface, it makes it possible to easily model extremely complex deformations.

Warning

When displacing 3D grids, especially those with poor aspect cells (much thinner in Z than X-Y), if the displacement surface has high slopes, the cells can be sheared severely. This can create corrupted cells which can result in inaccurate volumetric computation. In general, volumes and masses are best computed before displacement.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to displace.
InputInput SurfaceFieldThe surface to use for displacement.
OutputOutput FieldFieldA field containing the translated version of the input.
OutputOutput ObjectRenderableA renderable object displaying the displaced block.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module will run when applications are loaded or data changes.
Translation ComponentChoiceThe nodal data component from the Input Surface that allows for non-uniform fault block translation of the Input Field. Options are populated from the input surface.
Displace ScaleDoubleA factor applied to the interpolated translation component.
ExecuteButtonForces the module to run even if the Allow Run toggle is turned to the off position.
  • post samples

    Display your input data.

  • explode and scale

    Separate (or explode) and apply a scaling factor to the vertical dimension (z-coordinate) of cell sets in a model.

  • plume shell

    Subset a volumetric model and display a non-volumetric shell of a plume.

  • intersection shell

    Subset a volumetric model with multiple subsets and display a non-volumetric shell of the results.

  • change minmax

    Set min and max values above the true maximum data range and min values below the true minimum data range.

  • band data

    Color surface and volumetric objects in solid colored bands.

  • volume renderer

    Directly renders a 3D uniform field using either the Back-to-Front (BTF) or Ray-tracing volume rendering techniques.

  • opacity by nodal data

    Adjust the opacity of any object based on its data values.

  • slope and aspect

    Determine the slope and aspect of a surface.

  • select single data

    Extract a single node or cell data component from a field.

  • import wavefront obj

    Read Wavefront OBJ files for display.

Subsections of Display

post samples

The post samples module is used to visualize:

  • Sampling locations and the values of the properties in .apdv files
  • The lithology specified in a .pgf, .lsdv, .lpdv or .geo files
  • The location and values of well screens in a .aidv file
Warning

When using the Datamap parameters (Minimum and Maximum) unlinked such that the resulting datamap is a subset of the true data range, probing in C Tech Web Scenes will only be able to report values within the truncated data range. Values outside that limited range will display the nearest value within the truncated range.

Along with a representation of the borings from which the samples/data were collected. The post samples module has the capability to process property values to make the posted data values consistent with data used in kriging modules. Data can be represented as spheres or any user specified glyph. The sampling locations may be colored and sized according to the magnitude of the property value, and labels can be applied to the sampling locations with several different options.

Each sampling location can be probed for data by holding the Ctrl button and left-clicking on the sample location.

When you read any of the supported file types, the module automatically selects the proper default settings to display that data type. However, some file formats can benefit from different options depending on your desires and the quantity of data present.

Below is the Properties window for post samples after reading a .PGF file. Note that “Samples” and “Screens” are selected.

The result in the viewer is below.

If we turn on Well Labels and Sample Labels (with some subsetting to declutter), the viewer shows:

The post samples module can also represent downhole geophysical logs or Cone Penetration Test (CPT) logs with tubes which are colored and/or sized according to the magnitude of the data. It can display nonvertical borings and data values collected along their length, and can also explode borings and sample locations to show their correct position within exploded geologic layering.

When used to read geology files, post samples will place surface indicators at the top (ground) surface and the bottom of each geologic layer that are colored according to the layer they depict. When a geology file (.geo or .gmf) is exploded without using geologic surface input from gridding and horizons there will be surface indicators at the top and bottom of each layer. You may color the borings by lithology.

Ports

DirectionNameTypeDescription
InputInput FilenameStringFile used to display data.
InputInput Geologic FieldFieldThe geologic field to use for exploding output.
InputInput DateDateDate used for interpolating between dates in a time domain file format.
InputSubsetting FeatureFieldA field containing a 2D surface or 1D line for subsetting.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used for separating output based on geology.
InputInput Refine DistanceNumberThe value used for refining PGF files.
InputSample GlyphFieldA field containing a glyph that can be placed at sample locations.
OutputOutput FilenameStringFile used to display data.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Refine DistanceNumberThe value used for refining PGF files.
OutputOutput ExplodeNumberThe value used for separating output based on geology.
OutputAnalyte NameStringText containing the name of the current analyte.
OutputGeology LegendGeology LegendGeology legend information.
OutputBoring TubesFieldA field containing the borings tubes. This can be exported as a shapefile or EFB (with EnterVol) for use in ArcGIS.
OutputColor TubesFieldA field containing the color tube lines. This can be exported as a shapefile or EFB (with EnterVol) for use in ArcGIS.
OutputBoring DataFieldA field containing the data associated with each boring.
OutputOutput DateDateDate used for interpolating between dates in a time domain file format.
OutputSample DataRenderableA renderable object displaying the sample data.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off.
FilenameStringThe file name to process for display.
Data ComponentIntegerThe Data Component is used to select which file data component to process for display.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
SamplesBooleanThe Samples toggle will prevent or allow samples from being created or displayed.
ScreensBooleanThe Screens toggle will prevent or allow screens from being created or displayed.
Boring TubesBooleanThe Boring Tubes toggle will prevent or allow boring tubes from being created or displayed.
Color TubesBooleanThe Color Tubes toggle will prevent or allow color tubes from being created or displayed.
Well LabelsBooleanThe Well Labels toggle will prevent or allow well labels from being created or displayed.
Sample LabelsBooleanThe Sample Labels toggle will prevent or allow sample labels from being created or displayed.
Suppress OutputBooleanSuppress Output is used to prevent updates and warnings from being output. This is useful if running the module in a loop.

Glyph Settings

PropertyTypeDescription
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
PriorityChoice: Maximum, MinimumThe Priority of the glyph will reverse the scaling so that the smallest sample values have the largest size.
Minimum Scale FactorDoubleThe Minimum Scale Factor scales the sample values with the least Priority.
Maximum Scale FactorDoubleThe Maximum Scale Factor scales the sample values with the greatest Priority.
Use Log DataBooleanThe Use Log Data toggle will force the size of the glyph to be based on the log10 of the selected data.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, DiskThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerThe Sphere Subdivisions defines how finely the sample spheres are rendered. Higher values mean smoother spheres but at a higher memory cost.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.

Sample Settings

PropertyTypeDescription
Data ProcessingChoice: Linear Processing, Log ProcessingData Processing will allow the module to be run in either Linear or Log Space.
Linear Post ClipDoubleWhen the Log Process toggle is turned off the Linear Post Clip Min will be used after data processing to replace any sample property value that is less than the specified number in linear space.
Log Post ClipDoubleWhen the Log Process toggle is turned on the Log Post Clip Min will be used after data processing to replace any sample property value that is less than the specified number in log space.
DatamapDoubleThe Datamap refers to the min and max values that are used by the datamap. This does not change data values from the file.
Detection LimitDoubleThe Detection Limit value affects any file values set with the ‘ND’ or other non-detect flags. When the module encounters this flag in the file it will insert a value equal to (Detection Limit * LT Multiplier).
Less Than MultiplierDoubleThe Less Than Multiplier is the value applied to any sample with the ‘<’ less than flag.
Default Coordinate UnitsStringThe default coordinate units for the input data.
Sphere Count LimitIntegerThe Sphere Count Limit value determines the maximum number of spheres to create. If the number of samples exceeds this value, the module will turn spheres off and generate colored tubes instead.
Maximum Sample ThresholdIntegerThe Maximum Sample Threshold will set the maximum number of samples from the input file to allow. If the file contains more than this amount an error will occur.
Synthetic OnlyBooleanThe Synthetic Only toggle is used when reading created drill guide files. This toggle will cause only synthetic drill guide samples to be displayed.

Subsetting Settings

PropertyTypeDescription
Drop Samples BelowDoubleThe Drop Samples Below value will allow the user to remove any sample below the set value.
Drop Samples AboveDoubleThe Drop Samples Above value will allow the user to remove any sample above the set value.
Spatial SubsettingChoice: Show All, Rectangular Region, Circular Region, By ExpressionSelect the type of Spatial Subsetting to perform.
Rectangular RegionDoubleThe Rectangular Region is the domain when subsetting using Rectangular Region.
Circular Region CenterDoubleThe Circular Region Center is used to set the coordinates of the center of the Circular Region for subsetting.
Circular Sub SizeDoubleThe Circular Sub Size is used to set the size of the circle for the Circular Region for subsetting.
Control ExpressionStringThe Control Expression is the expression used by all labels with a linked Expression value.
Subset Outside Of RegionBooleanThe Subset Outside Of Region toggle will cause the Spatial Subsetting to subset everything outside of the set region.
Distance To LineDoubleThe Distance To Line value is used to subset the samples to within a distance from the line passed into the Subsetting Feature port.
Straighten To 2DBooleanThe Straighten to 2D toggle is used to project your 3D borings to a 2D representation.
Straightened PlaneChoice: Export in XZ, Export in XYThe Straightened Plane allows the user to set the plane the straightened samples are in.

Collapse To 2D

PropertyTypeDescription
Collapse 3D To 2DChoice: Process in 3D, Collapse to 2DThe Collapse 3D To 2D toggle will cause the module to extract a 2D representation of the data.
Collapse MethodChoice: Max, MinThe Collapse Method determines how 3D data is reduced to 2D.
Distance To CollapseDoubleThe Distance To Collapse is the maximum distance in 2D that points will be considered coincident. Coincident points will be dropped depending on the Collapse Method.
Sample Z PositionChoice: Maintain sample elevation, Elevation based on dataThe Sample Z Position can either be assigned by the Collapse method or the spheres can be positioned by their data value.

Geology Settings

PropertyTypeDescription
Min ThicknessDoubleThe Min Thickness is the smallest thickness, in user coordinate units, that a geological layer can have.
ExplodeDoubleThe Explode distance can be set here or referenced by connection. For .geo files, the samples will be exploded based upon their layer designations unless a different geology is imported into the module.
Reverse HierarchyBooleanThe Reverse Hierarchy toggle will reverse the hierarchy of the geology.
Screen Refine DistanceDoubleThe Screen Refine Distance is used to show how lithology screens can be sampled in indicator modules. The refine distance will add samples between the top and bottom until no sample is more than the refine distance apart.
Max Points Per IntervalIntegerThe Max Points Per Interval is used to cap the number of points created between samples in pgf data.
Color Data ComponentChoice: Layer, Material, ElevationThe Color Data Component for the sample spheres can be either the geological layer, the material value of that layer, or the elevation of the spheres.

Time Settings

PropertyTypeDescription
File Is Time DomainBooleanThe File Is Time Domain toggle turns on date interpolation for time domain analyte (e.g. chemistry) files.
Specify Date By ComponentBooleanThe Specify Date By Component toggle will cause the Date field to be ignored and the date to be selected using the Data Component.
DateDateThe Date field is the date being interpolated to. The Date can be either set here or passed in via the Date port.
Analyte NameStringThe Analyte Name field is used for AIDV and APDV time files as the dates take up the spots in these files usually reserved for analyte names.
Default Analyte UnitsStringThe default analyte units for the input data.
Interpolation MethodChoice: Direct Interpolation Only, Interpolate Only, Interpolate and Extrapolate Beyond, Interpolate and ExtrapolateThe Interpolation Method defines how to interpolate when given missing values in a file.
Use Nearest MeasuredBooleanThe Use Nearest Measured Data toggle causes the sample at the interpolated date to have the same value as the nearest measured date and not an interpolated value.
Non Linear ShrinkBooleanIf the Non-Linear Shrink toggle is selected the size of the sphere will be determined by a cosine interpolation instead of a linear one.

Screen Settings

PropertyTypeDescription
Display Screens AsChoice: Tubes, WiresDisplay Interval As controls how the well screens will be displayed.
Screen RatioDoubleThe Screen Ratio field is a value between 0.0 and 100.0 that sets what percentage of the Glyph Size the tube size will be.
Screen Tube ResolutionIntegerThe Tube Resolution value changes the number of divisions used to make each well screen tube.
Close Screen TubesBooleanThe Close Tubes toggle if turned on will place a disc inside the top and bottom of the tube, giving the well screen tubes a more solid visualization.
Connect Screen LinesBooleanThe Connect Screen Lines toggle is used for non-vertical intervals to merge separate cells into a single seamless tube.

Boring Tube Settings

PropertyTypeDescription
Display AsChoice: Tubes, WiresUse Display As to change how the Boring tube is displayed.
Tube RatioDoubleThe Tube Ratio field is a value between 0.0 and 100.0 that sets what percentage of the sample sphere minimum size the tube size will be.
Tube ResolutionIntegerThe Tube Resolution indicates how many faces will be used to create each tube; increasing this number will result in rounder tubes.
Tube TopDoubleThe Tube Top value will set the top elevation for each tube. If this value has been specified in the file, the file value will be used instead.
Main ColorColorEach boring tube is divided using two colors, the Main Color sets the first of these.
Secondary ColorColorEach boring tube is divided using two colors, the Secondary Color sets the second of these.
Color SeparationDoubleThe Color Separation defines the length both the Main Color and the Secondary Color will go to before switching to the other.
PhaseDoubleThe Phase value allows you to control the apparent rotation of tubes. This is specified in degrees of rotation.
Close TubesBooleanThe Close Tubes toggle will cause there to be a cap on the top and bottom of each tube, giving each tube a solid look.
Connect LinesBooleanThe Connect Lines toggle is used for non-vertical borings to merge separate cells into a single seamless tube.

Color Tube Settings

PropertyTypeDescription
Display AsChoice: Tubes, WiresUse Display As to change how the Color Tube is displayed.
Tube RatioDoubleThe Tube Ratio field sets what percentage of the sample sphere minimum size the tube size will be.
Tube ResolutionIntegerThe Tube Resolution indicates how many faces will be used to create each tube; increasing this number will result in rounder tubes.
Max VariationDoubleThe Max Variation value is a tool used to correct color blending between samples.
PhaseDoubleThe Phase value allows you to control the apparent rotation of tubes. This is specified in degrees of rotation.
Close Color TubesBooleanThe Close Tubes toggle will cause there to be a cap on the top and bottom of each tube, giving each tube a solid look.
Connect Color Tube LinesBooleanThe Connect Lines toggle is used for non-vertical borings to merge separate cells into a single seamless tube.

Label Settings

PropertyTypeDescription
TitleExpressionTitle sets the template the title labels are generated with.
Title PositionChoice: Top of Boring, Bottom of Boring, Top and BottomThe Title Position allows the user to place the title label at the top or bottom of the boring.
FeaturesExpressionFeatures sets the template the feature labels are generated with.
Default TopChoice: First Sample, Tube TopIf the ground elevation is not defined in the file, the default can be set to either the first sample in a boring or the Boring Tube Top value.
Screen LabelingChoice: At sample, At mid-intervalScreen Labeling allows the user to specify where each feature label will occur.
Label TypeChoice: Forward Facing Fonts, TrueType Fonts, Line FontsThe Label Type allows the user to select between three font types.
TrueType Font StyleFontThe TrueType Font Style allows the user to alter the basic look of the font.
3D Label SettingsLabel Settings3D Label Settings allow the user to align the labels to an appropriate view.
Forward Facing StyleForward FacingForward Facing Style allows the user to align the labels to an appropriate view and to alter the basic layout of the font.
Label ColorColorLabel Color allows the color for every label to be set.
Top OffsetDoubleThe Top Offset is for Well Labels only. It is a vertical offset from the top of the boring.
Radial OffsetDoubleThe Radial Offset field is the radial offset for Sample Labels only. This sets the sample label offset from the sample’s center in sphere diameter units. A value of 1.0 is one sample diameter.
Label AngleDoubleThe Label Angle field determines where in a circle around the sample to place the label. For example a value of zero means place the labels to the direct right of the sample, a value of 90 would place the label directly above the sample.
Z OffsetDoubleThe Z Offset is for Sample Labels only. It is a vertical offset from the sample’s Z coordinate.
Label SubsettingChoice: None, Blank Labels, Boring Min/MaxLabel Subsetting allows the user to restrict the number of labels in a rectangular region by using label blanking, or to restrict the number of labels along a boring based on the analytical value.
Blank FactorDoubleThe Blank Factor value represents a scale used when determining the bounds of a label for overlap avoidance. The scale is based off the height of the label.
Favor Min ValueBooleanThe Favor Min Value is used for label subsetting. When overlaps occur, or the Boring Min/Max is selected, this control will keep the lowest value.

explode and scale

The explode and scale module is used to separate (or explode) and apply a scaling factor to the vertical dimension (z-coordinate) of objects in a model. explode and scale can also translate the fields in the z direction, and control the visibility of individual cell sets (e.g. geologic layers).

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing a mesh for scaling and/or exploding.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used for separating output based on geology.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ExplodeNumberThe value used for separating output based on geology.
OutputOutput FieldFieldA field containing the scaled and exploded field.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle when selected will cause the module to run when any value is changed.
ExecuteButtonForces the module to run.
Z ScaleDoubleZ scale is the scaling factor for vertical (z) coordinates. This value reflects a multiplication factor of the layer thickness. For example, a layer that is 10 feet thick that is subjected to a z-exaggeration value of 4 will appear 40 feet thick in the viewer.
ExplodeDoubleThe Explode value is the distance between exploded layers, cell sets or materials. For example, an explode distance of 20 will separate each geologic layer by 20 feet from the layer above it and the layer below it. Note that the explode distance incorporates the scale factor.
Vertical OffsetDoubleVertical Offset translates your entire model in Z by the value input multiplied by the Z Exaggeration. This is useful if you want to move your model to avoid having coincident objects.

Explode And Scale Settings

PropertyTypeDescription
Explode ByChoice: Layer, Material, Cell Set, LithologyThe Explode By options determine what information is used to explode the layers or materials. Layer and Material are nodal data components that should be present with any hierarchical geologic model. The Cell Set option allows you to explode by the Cell Set number. The Lithology option is to be used only with Adaptive Indicator Kriged geologic models.
Explode BeginsIntegerExplode Begins determines the first layer or material that will be exploded.
Explode EndsIntegerExplode Ends sets the last layer/material which will be exploded. This value defaults to -1 which will explode all remaining layers or materials.
Cell SetsMulti-selectThe Cell Sets control allows selected cell sets to be turned off in the output.

plume shell

The plume shell module creates the external faces of a volumetric subset of a 3D input. The resulting closed volume “shell” generally is used only as a visualization of a plume and would not be used as input for further subsetting or volumetric computations since it is hollow (empty). This module creates a superior visualization of a plume as compared with other modules such as plume passing to external faces and is quicker and more memory efficient.

Info

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing nodal data.
InputInput IsolevelNumberThe value used for subsetting.
OutputOutput FieldFieldA field containing a new unstructured mesh which contains the surfaces which are the external faces of a subset of the input.
OutputStatusStringText containing the subsetting information.
OutputPlumeRenderableA renderable object displaying the subsetted plume data.
OutputOutput SequenceSequenceThe generated sequence of states.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when unselected.
ExecuteButtonForces the module to run.
Above Direction StringStringWhen the Subsetting Direction is set to Subset Above Level, the Direction String will use this string as its identifier.
Below Direction StringStringWhen the Subsetting Direction is set to Subset Below Level, the Direction String will use this string as its identifier.
Status ExpressionStringThe Status Expression sets the template which is used to generate the status string, and the title for each state of the sequence.
Use SequencingBooleanTurning this on allows the sequences to drive the module instead of the positions.
Include Varying SurfaceBooleanThe Include Varying Surface Toggle controls the visibility of the surface having varying data.

Data Processing

PropertyTypeDescription
Subsetting ComponentChoiceThe Subsetting Component is the nodal data value to use to subset the input by.
Subsetting LevelDoubleThe Subsetting Level is used to set the level for subsetting the input field.
Subsetting DirectionChoice: Subset Below level, Subset Above levelThe Subsetting Direction choice allows the user to select which range of values to include in the output.
Output Nodal DataMulti-selectThe Output Nodal Data choice allows the user to select the nodal data to include in the output.
Output Cell DataMulti-selectThe Output Cell Data choice allows the user to select the cell data to include in the output.

Sequence Settings

PropertyTypeDescription
Current StateChoiceThe current state to be passed to the script.
State ControlChoice: Slider, Combo Box, List BoxThe State Control determines how the user will interact with the created sequence of states.
Allow CyclesBooleanAllows the state control to be cycled in CTWS files.
Sequence Generation PropertiesValue generatorGenerates the list of values for sequencing. Methods: Linear By Step (values from an anchor point at a fixed step size), Linear By Count (a fixed number of evenly-spaced values), User Entries (manually specified values), Per Log Decade (logarithmic spacing with a set number of values per decade).

External Faces

PropertyTypeDescription
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Constant Surfaces Are Not SplitBooleanWhen on, the constant surfaces in the resulting plume are not split. This gives them a smoother appearance in some cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.

intersection shell

The intersection shell is a powerful module that incorporates some of the characteristics of plume shell, yet allows for a large number of sequential (serial) subsetting operations, just like intersection.

To get the functionality of (the now deprecated) constant shell module, you would turn off Include Varying Surface.

Because this module has “intersection” in its name, it allows you to add any number of subsetting operations.

Each operation can be “Above” or “Below” the specified Threshold value, which in Boolean terms corresponds to:

  • A and B where both the A & B operations are set to Above or
  • A and (NOT B) where the A operation is set to above and the B operation is set to Below.

However the operator is always “and” for intersection modules. If you need an “or” operator to achieve your subsetting, you need the union module.

This module creates an efficient and superior visualization of a plume that can be sent directly to the viewer for rendering. The intersection shell module outputs a specialized version of a sequentially subset plume that is suitable for VRML export for 3D printing to create full color physical models.

For output to 3D printing, please jump to the Issues for 3D Printing topic.

Without intersection shell it is very difficult if not impossible to create a VRML file suitable for printing, especially with complex models.

intersection shell is the module that can create an ISOSURFACE. In other words, a surface (not volume) representing part(s) of your plume.

It has two (+) toggles which control the visibility of a plume “shell”.

In general a plume external shell has two components: that portion which is exactly EQUAL to the Subsetting Level, and that portion which is greater than the Subsetting Level.

When both toggles are on (default) the plume is:

If you display only the Constant Surface (component 1) you get this:

If you display only the Varying Surface (component 2) you get this:

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting.
OutputOutput FieldFieldThe subset field.
OutputStatusStringText containing the intersection subset information.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Include Varying SurfaceBooleanThe Include Varying Surface Toggle controls the visibility of the surface(s) having varying data (based on the Map Component). The ability to control visibility of portions of the output allows you to use multiple intersection shell modules and color or texture map portions of each plume differently.
Output StringChoice: First Subset, All Subsets, Last SubsetThe Output String contains the name(s) and value(s) of the intersection subsets.
Above Output StringStringWhen the Include Region is set to Above, the Output String will use this string as its identifier.
Output String DelimiterStringWhen the Output String consists of All Subsets, the Delimiter is the string occurring between each subset text.
Below Output StringStringWhen the Include Region is set to Below, the Output String will use this string as its identifier.

Subsetting Values

PropertyTypeDescription
Subset ListMulti-selectThe list of serial subsets. Each subset includes a component, subsetting direction, subsetting level, and constant surface inclusion toggle.

Data Processing

PropertyTypeDescription
Output Nodal DataMulti-selectThe Output Nodal Data choice allows the user to select the nodal data to include in the output.
Output Cell DataMulti-selectThe Output Cell Data choice allows the user to select the cell data to include in the output.

External Faces

PropertyTypeDescription
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Constant Surfaces Are Not SplitBooleanWhen on, the constant surfaces in the resulting plume are not split. This gives them a smoother appearance in some cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.

change minmax

The change minmax module allows you to override the minimum and/or maximum data values for coloring purposes. This functionality is commonly needed when working with time-series data. For example, the user can set the minmax values to bracket the widest range achieved for many datasets, thus allowing consistent mapping from dataset to dataset during a time-series animation or individual sub-sites.

This way 100 ppm would always be red throughout the animation, and if some times did not reach a maximum of 100 ppm, there would be no red color mapping for those time-steps.

NOTE: The Clamp toggle actually changes the data. Use with caution as this will change volumetrics results.

Warning

When using unlinked values (Min and Max) such that the resulting datamap is a subset of the true data range, probing in C Tech Web Scenes will only be able to report values within the truncated data range. Values outside that limited range will display the nearest value within the truncated range.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for data.
OutputOutput FieldFieldThe field with altered min max data.
OutputOutput ObjectRenderableA renderable object to display.

Properties

Nodal Data Ranges

PropertyTypeDescription
Change Nodal DataMulti-selectFor each nodal data component, allows override of the minimum and maximum values, with options for linked/unlinked ranges, calculation method, and clamping.

Cell Data Ranges

PropertyTypeDescription
Change Cell DataMulti-selectFor each cell data component, allows override of the minimum and maximum values, with options for linked/unlinked ranges, calculation method, and clamping.

band data

band data provides a means to color surfaces or volumetric objects (converted to surfaces) in solid colored bands.

band data can contour by both nodal and cell data.

This module does not do subsetting like plume shell or plume. It is used in conjunction with these modules to change the way their output is colored.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for contouring.
InputInput Contour levelsContoursInformation required to properly set contour levels.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe subset field.
OutputOutput Contour levelsContoursInformation used to set contour levels.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Contour ByChoice: Nodal Data, Cell DataThe Contour By control selects the type of data to use in contouring.
Prepend Contoured StringBooleanThe Prepend Contoured String toggle when selected will add the “Contoured” string to the output data component. This allows the user to indicate the data has been altered by the module.
Contour ComponentChoiceThe Contour Component refers to the nodal data component that will be used to create the contours.
Cell Contour ComponentChoiceThe Contour Component refers to the cell data component that will be used to create the contours.
Band DataChoice: Min of Band, Average Of Band, Max of BandBand Data assigns the color of each contour using one of three options based on the minimum, average, or maximum value of each band according to your Datamap.
Contour DistributionChoice: Automatically set contour levels, User defined contour levelsThe Contour Distribution allows the user to choose between automatically generating contour levels or setting them by hand.
Logarithmic DecadesChoice: Log, UnformattedWhen the data has been log processed the Logarithmic Decades determines the number of contours. If the Log option is selected the Contours Per Log Decade value is used. If Unformatted is selected the Number Of Contours is used.
Contours Per Log DecadeIntegerIf the Log Option is selected for Logarithmic Decades the increments per decade can be set with this value.
Number Of ContoursIntegerWhen the data is log processed the Number Of Contours refers to the number of contours per decade. If the data is linear processed the number of contours refers to the total number of contours to be drawn.
Minimum Contour LevelDoubleThe Minimum contour level displays the minimum value of the Contour Component.
User Contour LevelsDoubleThe Contour Levels are user defined levels.
Maximum Contour LevelDoubleThe Maximum contour level displays the maximum value of the Contour Component.
Contour AdjustmentChoice: Band Below, Preserve, Band AboveThe Contour Adjustment setting allows contour levels to be shifted slightly up or down to ensure that values exactly on the contour line are included in either the lower or upper data band.

volume renderer

volume renderer directly renders a 3D uniform field using either the Back-to-Front (BTF) or Ray-tracing volume rendering techniques. The Ray-tracing mode is available to both OpenGL and the software renderer. The BTF renderer, which is configured as the default, is available only in the OpenGL renderer.

NOTE: This module and its rendering technique are not supported in C Tech Web Scenes (CTWS files).

The basic concept of volume rendering is quite different than any other rendering technique in EVS. volume renderer converts data into a fuzzy transparent cloud where data values at each point in a 3D grid are represented by a particular color and opacity.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for rendering.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Data ComponentChoiceThe nodal data component to be volume rendered.
Range 1 Cut Off ValueDoubleRange 1 Cut Off Value slider allows positioning the breakpoint of the two data ranges to be adjusted. By default, it is set to the midpoint of the input nodal data range. The first range in the datamap spans from the minimum data value to the breakpoint. The second range spans from the breakpoint to the maximum data value.
Data MinDoubleThe Data Min is the minimum value for the selected data component.
Data MaxDoubleThe Data Max is the maximum value for the selected data component.
Minimum Opacity Range 1DoubleThe Minimum Opacity of the first data range.
Minimum Color Range 1ColorThe data map color for the minimum of the first data range.
Maximum Opacity Range 1DoubleThe Maximum Opacity of the first data range. We recommend that this value should equal the value for Minimum Opacity Range 2 in most cases.
Maximum Color Range 1ColorThe data map color for the maximum of the first data range.
Range 2 Min ValuesChoice: Color and Opacity Linked, Color Linked, User SetThe Range 2 Min Values control will control how the opacity and color for the second range is set relative to the maximum color and opacity of range 1.
Minimum Opacity Range 2DoubleThe Minimum Opacity of the second data range. We recommend that this value should equal the value for Maximum Opacity Range 1 in most cases.
Minimum Color Range 2ColorThe data map color for the minimum of the second data range.
Maximum Opacity Range 2DoubleThe Maximum Opacity for the second data range.
Maximum Color Range 2ColorThe data map color for the maximum of the second data range.
CoarseBooleanThe Coarse toggle provides for a low resolution quick version of software rendering. This is useful for setting parameters, but is not recommended for final output.

opacity by nodal data

opacity by nodal data provides a means to adjust the opacity (1 - transparency) of any object based on its data values using a simple ramp function which assigns a starting opacity to values less than or equal to the Level Start and an ending opacity to values greater than or equal to the Level End. The appearance of the resulting output is often similar in appearance to volume rendering. opacity by nodal data converts data into partially transparent surfaces where data values at each point in a grid are represented by a particular color and opacity.

NOTE: Any module connected after opacity by nodal data MUST have Normals Generation set to Vertex (if there is a Normals Generation toggle on the module’s panel, it must be OFF).

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for adjusting opacity.
OutputOutput FieldFieldThe field with the new Opacity data.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
ComponentChoiceThe Component value allows the user to select which data component to use when setting the opacity.
Opacity Ramp StartDoubleThe Opacity Ramp Start is the starting level of opacity to use in creating the output. A value of 0 is considered completely transparent, a value of 100 is completely opaque.
Level StartDoubleThe Level Start is the lower range of the data to begin changing the opacity. Any value below this will be set to the Opacity Ramp Start value.
Opacity Ramp EndDoubleThe Opacity Ramp End is the ending level of opacity to use in creating the output. A value of 0.0 is considered completely transparent, a value of 100 is completely opaque.
Level EndDoubleThe Level End is the upper range of the data to begin changing the opacity. Any value above this will be set to the Opacity Ramp End value.
Non LinearBooleanThe NonLinear toggle will cause lower values to have lower opacity while higher values will change the opacity more.

slope and aspect

The slope and aspect module determines the slope and aspect of a surface. The slope is the angle between the surface and the horizon. The aspect is the cardinal direction in degrees (rotating clockwise with 0 degrees being North) that the slope is facing.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for determining slope and aspect.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe input field with added cell data components representing slope and aspect.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale refers to the vertical exaggeration applied to the input field. This scale will be used to remove all vertical exaggeration prior to calculating gradients.
Flat Surface AspectDoubleThe value to use for Aspect Value over a flat surface.

select single data

The select single data module extracts a single data component from a field. select single data can extract scalar data components or vector components. Scalar components will be output as scalar components and vector components will be output as vector components.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main input field.
OutputOutput FieldFieldThe field with selected data.
OutputOutput ObjectRenderableA renderable object displaying the selected data.

Properties

PropertyTypeDescription
Color ByChoice: Node Data, Cell Data, Solid ColorThe Color By control allows the user to set how the color of the output should be determined.
Nodal Data ComponentChoiceIf Color By is set to Node Data the Nodal Data Component selects which nodal data will set the data map.
Cell Data ComponentChoiceIf Color By is set to Cell Data the Cell Data Component selects which cell data will set the data map.
Copy Flagged DataBooleanThe Copy Flagged Data toggle allows the user to keep special flagged data (radius, color, etc.) along with the selected data.
Object ColorColorIf Color By is set to Solid Color the Object Color will set the data map.
Vector ComponentIntegerIf Color By is set to either Node Data or Cell Data the Vector Component allows the user to use just a single component of a vector data to set the data map.
Use Vector MagnitudeBooleanIf Color By is set to either Node Data or Cell Data the Use Vector Magnitude allows the user to use the magnitude of a vector data to set the data map.
Vector NamingStringVector Naming sets the template for the selected data component name that is created from a vector.
Vector Mag NamingStringVector Mag Naming sets the template for the selected data component name that is created from a vector’s magnitude.

import wavefront obj

The import wavefront obj module will only read Wavefront Technologies format .OBJ files which include object textures which are represented (included) as a single image file. Each file set is actually a set of 3 files which must always include the following 3 file types with the same base file name, which must be in the same folder:

  1. The .obj file (this is the file that we browse for)
  2. A .mtl (Material Template Library) file
  3. An image file (e.g. .jpg) which is used for the texture. Note: there must be only ONE image/texture file. We do not support multiple texture files.

This module provides the user with the capability to integrate complex photo-realistic site plans, buildings, and other 3D features into the EVS visualization, to provide a frame of reference for understanding the three dimensional relationships between the site features, and characteristics of geologic, hydrologic, and chemical features.

Info

This module intentionally does not have a Z-Scale port since this class of files are so often not in a user’s model projected coordinate system. Instead we are providing a Transform Settings group that allows for a much more complex set of transformations including scaling, translations and rotations.

Ports

DirectionNameTypeDescription
OutputOutput ObjectRenderableA renderable object displaying the Wavefront OBJ data.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle will prevent the module from running when turned to the Off position.
FilenameStringThe file containing the wavefront OBJ.
ExecuteButtonThis button will allow the module to run one time even if the Allow Run toggle is turned to the off position.

Texture Options

PropertyTypeDescription
Image QualityChoice: Maximum (Up to 8192 X 8192), Very High (Up to 4096 X 4096), High (Up to 2048 X 2048), Medium (Up to 1024 X 1024), Low (Up to 512 X 512), Very Low (Up to 256 X 256), CustomThe Image Quality allows the user to select the maximum resolution to read the input image in at. This allows the user to create a coarse image for faster testing and a high resolution image for the final output.
Read Alpha ChannelBooleanThis toggle will prevent the module from reading the image alpha channel into memory when turned to the Off position.
BrightnessIntegerThe Brightness of the image can be adjusted when the Adjust Brightness toggle is selected.
ContrastIntegerThe Contrast of the image can be adjusted when the Adjust Contrast toggle is selected.

Transform Settings

PropertyTypeDescription
Transform ListMulti-selectThe list of transformations applied to the input field. Supports translation, rotation, and scaling operations to place the Wavefront Object in the correct coordinate space.

Export Settings

PropertyTypeDescription
ExportStringThe Filename for the output EVS Textured Field File (*.eft).
  • volumetrics

    Calculate the volumes and masses of soil, and chemicals in soils and ground water.

  • cell volumetrics

    Calculate the volumes and masses of soil, and chemicals in soils and ground water at each cell.

  • compute surface area

    Calculate the surface area of the entire field input.

  • file statistics

    Calculate and display statistics about the data contained in the selected file.

  • statistics

    Analyze the statistical distribution of a single data from a field.

  • site planning

    Perform initial site assessment and well location planning.

Subsections of Analysis

volumetrics

The volumetrics module is used to calculate the volumes and masses of soil, and chemicals in soils and ground water, within a user specified constant shell (surface of constant concentration), and set of geologic layers. The user inputs the units for the nodal properties, model coordinates, and the type of processing that has been applied to the nodal data values, specifies the subsetting level and soil and chemical properties to be used in the calculation, and the module performs an integration of both the soil volumes and chemical masses that are within the specified constant shell. The results of the integration are displayed in the EVS Information Window, and in the module output window.

The volumetrics module computes the volume and mass of everything passed to it. To compute the volume/mass of a plume, you must first use a module like plume or intersection to subset your model.

NOTE: Do not use plume shell or intersection shell upstream of volumetrics since their output is a hollow shell without any volume.

The volumetrics module computes volumes and masses of analytes using the following method:

  • Each cell within the selected geologic units is analyzed
  • The mass of analyte within the cell is integrated based on concentrations at all nodes (and computed cell division points)
  • The volumes and masses of all cells are summed
  • Centers of mass and eigenvectors are computed
  • For soil calculations the mass of analyte is directly computed from the computed mass of soil (e.g. mg/kg). This is affected by the soil density parameter (all densities should be entered in gm/cc).
  • For groundwater calculations, the mass of analyte (Chemical Mass) is computed by first determining the volume of water in each cell. This uses the porosity parameter and each individual cell’s volume. From the cell’s water volume, the mass of analyte is directly computed (e.g. mg/liter).
  • The volume of analyte (Chemical Volume) is computed from the Chemical Mass using the Chemical Density parameter (all densities should be entered in gm/cc).

Connecting the second moment output port of volumetrics to the viewer will display the Second Moment Ellipsoid and the Eigenvectors (if turned on). Spatial Moment Analysis involves computing the zeroth, first, and second moments of a plume to provide measures of the mass, location of the center of mass, and spread of the plume.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting and calculations.
InputZ ScaleNumberThe factor used to remove vertical scaling.
InputExplodeNumberThe value used for collapsing input based on exploded geology.
InputString For OutputStringString to be added at the beginning of the Output Results file.
InputTriggerOtherPort that when changed causes the module to run.
OutputAverage Concentration.NumberThe average concentration value.
OutputSoil Volume LevelNumberThe resulting soil volume value.
OutputSoil Mass LevelNumberThe resulting soil mass value.
OutputChemical Volume LevelNumberThe resulting chemical volume value.
OutputChemical Mass LevelNumberThe resulting chemical mass value.
OutputVolume DollarsNumberThe volume in volume dollars.
OutputMass DollarsNumberMass in mass dollars.
OutputNodal Data ComponentStringText containing the name of the current analyte.
OutputVolume UnitsStringText containing the name of the current volume units.
OutputMass UnitsStringText containing the name of the current mass units.
OutputOutput Second Moment ObjectRenderableA renderable object displaying the second moment ellipse and mass lines.

Properties

PropertyTypeDescription
Allow RunBooleanWhen the Allow Run toggle is set to on the module will run every time a setting is changed.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Z ScaleDoubleThe Z exaggeration factor applied to the input field.
ExplodeDoubleThe Explode factor applied to the input field.
Update Information WindowBooleanSend report to the Information window receives a report everytime the module is run.

Input Settings

PropertyTypeDescription
Nodal Data ComponentChoiceThe Nodal Data Component used to subset the input. Options are populated from the input field.
Cell SetsMulti-selectThe Cell Sets selection list allows the user to select which of the cell sets (or possibly geologic layers) the volumes and masses will be calculated in.
Nodal UnitsLinked Analyte UnitThe Nodal Units are set based on the input data and the selected Nodal Data Component. The Multiplier is the ratio of the users input units to grams/grams. The Calculation Type determines what type of units to process the Nodal Data Component in.
Coordinate UnitsLinked Coordinate UnitThe Coordinate Units are set based on the coordinate units of the input model. The Multiplier is the ratio of the users input units to Liters.

Processing Settings

PropertyTypeDescription
PorosityDoubleThe Porosity value allows the user to input the properties of the soil matrix in which the chemicals reside.
Soil DensityDoubleThe Soil Density value allows the user to input the properties of the soil matrix in which the chemicals reside.
Chemical DensityDoubleThe Chemical Density value allows the user to input the density of the chemical constituent for which mass estimates are being completed. This value is used to calculate the volume of chemical in the specified isosurface, as the mass units are calculated directly from the nodal data.
Water DensityDoubleThe Water Density value allows the user to specify the density of water. The default of 0.9999720 g/mL is the Density of Water at 4.5 degrees Celsius.
Volume DollarsDoubleThe Volume Dollars value is used along with the total volume of the chemical to indicate the cost of the removal of the chemical.
Mass DollarsDoubleThe Mass Dollars value is used, along with the total chemical mass, to determine the value of the chemical mass.

Output Settings

PropertyTypeDescription
Volume UnitsChoice: Cubic Feet, Cubic Yards, Cubic Meters, Liters, Acre Feet, Barrels, SpecifyVolume Units is used to select which units the volume should be calculated in.
Volume Units RatioDoubleIf the Volume Units is set to Specify the user must set the Volume Units Ratio. The ratio should be the factor needed to convert between the user specified units and liters.
Volume Specified UnitsStringIf the Volume Units is set to Specify the user must set the Volume Specified Units. This label will be used in the output.
Mass UnitsChoice: Kilograms, Metric Tons, Pounds, U.S. Short Tons, Ounces (Troy), SpecifyMass Units is used to select which units the mass should be calculated in.
Mass Unit RatioDoubleIf the Mass Units is set to Specify the user must set the Mass Unit Ratio. The ratio should be the factor needed to convert between the user specified units and kilograms.
Mass Specified UnitsStringIf the Mass Units is set to Specify the user must set the Mass Unit Ratio. This label will be used in the output.
Output Results To FileBooleanThe Output Results To File toggle causes volumetrics to write a file, specified by the Filename, that contains all volumetrics information in a format suitable for input to programs like Excel (tab delimited .txt file). This file is written to in an append mode.
Output StringStringThe Output String will output a leading string for every entry into the output file.
FilenameStringIf the Output Results To File toggle has been selected the output filename must be set.
Output FiletypeChoice: Tabbed File (Excel), Mirror Display, Tabbed Multi-LineThe Output File Type choice is used to select the format of the output file. The default is a tab spaced single line output, the second choice will format the output the same as the display window, and the third option will format the output separated by tabs on multiple lines.
Overwrite FileBooleanThe Overwrite File toggle causes the output file to be written over instead of appended to.

Area Moment Of Inertia

PropertyTypeDescription
Display Mass Along Major Eigen VectorBooleanThe Display Mass Along Major Eigen Vector allows the user to toggle the visibility along the Major Eigen Vector.
Display Mass Along Minor Eigen VectorBooleanThe Display Mass Along Minor Eigen Vector allows the user to toggle the visibility along the Minor Eigen Vector.
Display Mass Along Interm Eigen VectorBooleanThe Display Mass Along Interm Eigen Vector allows the user to toggle the visibility along the Intermediate Eigen Vector.
Segments In LinesIntegerThe Segments In Lines allows the user to control the number of segments making up each line, the larger the number of segments the closer the node data along the line will match the node data of the model, but at the cost of speed.
Color Lines By AxisBooleanThe Color Lines by Axis toggle strips the node data from the lines leaving them colored by the axis the represent.
Ellipsoid ResolutionIntegerEllipsoid Resolution is an integer value determines the number of faces used to approximate the analytically smooth ellipsoid. The higher the resolution the smoother the ellipsoid.
Ellipsoid ScaleDoubleThe Ellipsoid Scale is a scaling factor for the second moment ellipsoid. A value of 1.0 (default) is analogous to one-sigma (67%) statistical confidence. Higher values would provide an indication of the size of the eigenvalues with a higher statistical confidence.
Ellipsoid ColorColorThe second moment ellipse is a solid color which can be selected using this control.

Volumetric Output

PropertyTypeDescription
Total Soil VolumeDoubleThe total soil volume output.
Total Soil MassDoubleThe total soil mass output.
Chemical VolumeDoubleThe output chemical volume.
Chemical MassDoubleThe output chemical mass.
AverageDoubleThe Average Concentration of the selected analyte.
Volume DollarsDoubleThe volume in volume dollars.
Mass DollarsDoubleThe mass in mass dollars.
Center Of MassCoordinate 3DThe Center Of Mass of the output volume.

cell volumetrics

The cell volumetrics module provides cell by cell volumetrics data. It creates an output field with volume, contaminant mass, and cell centers for every cell in the grid. The user selects the analyte, cell sets, units, and soil properties, and the module computes volumetric data on a per-cell basis. Results can optionally be written to a tab-delimited file suitable for import into programs like Excel.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for calculations.
InputZ ScaleNumberThe factor used to remove vertical scaling.
InputExplodeNumberThe value used for collapsing input based on exploded geology.
InputString For OutputStringString to be added at the beginning of the Output Results file.
OutputOutput FieldFieldThe main output field with cell volumetric data.

Properties

PropertyTypeDescription
Allow RunBooleanWhen the Allow Run toggle is set to on the module will run every time a setting is changed.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Z ScaleDoubleThe Z exaggeration factor applied to the input field.
ExplodeDoubleThe Explode factor applied to the input field.

Input Settings

PropertyTypeDescription
Nodal Data ComponentChoiceThe Nodal Data Component used to subset the input. Options are populated from the input field.
Cell SetsMulti-selectThe Cell Sets selection list allows the user to select which of the cell sets (or possibly geologic layers) the volumes and masses will be calculated in.
Nodal UnitsLinked Analyte UnitThe Nodal Units are set based on the input data and the selected Nodal Data Component. The Multiplier is the ratio of the users input units to grams/grams. The Calculation Type determines what type of units to process the Nodal Data Component in.
Coordinate UnitsLinked Coordinate UnitThe Coordinate Units are set based on the coordinate units of the input model. The Multiplier is the ratio of the users input units to Liters.

Output Settings

PropertyTypeDescription
Volume UnitsChoice: Cubic Feet, Cubic Yards, Cubic Meters, Liters, Acre Feet, Barrel, SpecifyVolume Units is used to select which units the volume should be calculated in.
Volume Units RatioDoubleIf the Volume Units is set to Specify the user must set the Volume Units Ratio. The ratio should be the factor needed to convert between the user specified units and liters.
Volume Specified UnitsStringIf the Volume Units is set to Specify the user must set the Volume Specified Units. This label will be used in the output.
Mass UnitsChoice: Kilograms, Metric Tons, Pounds, U.S. Short Tons, Ounces (Troy), SpecifyMass Units is used to select which units the mass should be calculated in.
Mass Unit RatioDoubleIf the Mass Units is set to Specify the user must set the Mass Unit Ratio. The ratio should be the factor needed to convert between the user specified units and kilograms.
Mass Specified UnitsStringIf the Mass Units is set to Specify the user must set the Mass Unit Ratio. This label will be used in the output.
Output Field DataMulti-select: Current Cell, Cell Center X, Cell Center Y, Cell Center Z, Soil Volume, Soil Mass, Chem Volume, Chem Mass, Average ConcentrationThe Output Field Data allows the user to select which cell data components to include in the Output Field.
Output Results To FileBooleanThe Output Results To File toggle causes volumetrics to write a file, specified by the Filename, that contains all volumetrics information in a format suitable for input to programs like Excel (tab delimited .txt file). This file is written to in an append mode.
Overwrite FileBooleanThe Overwrite file toggle will create a new file when on or append to a file when off.
FilenameStringThe filename for output.

compute surface area

The compute surface area module is used to calculate the area of the entire field input. The input data must be a two dimensional data field output from a 2D estimation, slice, or any subsetting module which outputs two-dimensional data (slice, plume with 2D input, or plume shell). The module can compute either the full 3D surface area or the projected 2D plan area. The results of the integration are updated each time the input changes.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput AreaNumberThe integrated area.
OutputUnitsStringThe integrated area units.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is required to assure that computed area is conformal to scaled input data.
Area To ComputeChoice: 3D Surface Area, 2D Plan AreaControls whether the 3D surface area of the input field or the projected 2D area is computed.
Integrated AreaDoubleThe Integrated area of the input field. Read-only output value.
Area UnitsStringThe units of the input field squared. Read-only output value.

file statistics

The file statistics module is used to check the format of .apdv, .aidv, .geo, .gmf, .vdf, and .pgf files, and to calculate and display statistics about the data contained in these files. This module also calculates a frequency distribution of properties in the file. During execution, file statistics reads the file, displays an error message if the file contains errors in format or numeric values, and then displays the statistical results in the EVS Information window.

Ports

DirectionNameTypeDescription
InputInput FilenameStringFile used to display data.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FilenameStringFile used to display data.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputSample DataFieldA field containing the sample point data.
OutputSample ObjectRenderableA renderable object displaying the sample data.
OutputMean LevelNumberThe calculated mean value.
OutputMedian LevelNumberThe calculated median value.
OutputMinimum LevelNumberThe calculated minimum value.
OutputMaximum LevelNumberThe calculated maximum value.
OutputNumber Of PointsNumberThe input number of points.
OutputStatisticsStringString representing the calculated statistics.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
FilenameStringThe file name to process for display.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, data will be left in internal model space. Turn off when loading data intended to use as a glyph or similar.

Data Processing

PropertyTypeDescription
Component Or LayerIntegerThe Data Component is used to select which file data component to process for display.
Data ProcessingChoice: Linear Processing, Log ProcessingData Processing will allow the module to be run in either Linear or Log Space.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.
Log Post Processing Clip MinDoublePost Processing Clip Min will be used after data processing to replace any sample property value that is less than the specified number in log space.
Linear Post Processing Clip MinDoubleLinear Post Processing Clip Min will be used after data processing to replace any sample property value that is less than the specified number in linear space.
Detection LimitDoubleThe Detection Limit value affects any file values set with the ‘ND’ or other non-detect flags. When the module encounters this flag in the file it will insert a value equal to (Detection Limit * LT Multiplier).
Less Than MultiplierDoubleThe Less Than Multiplier is the value that any sample with the ‘<’ less than flag.
Number Of BinsIntegerThe Number of Bins value allows the user to specify the bins that will be used to calculate the frequency histogram. The default value of 0 does not calculate a frequency distribution during execution of the module. The user can select any number of bins from 2 to 255 (note that a value of 1 is not valid).
DelimiterStringThe Delimiter specifies how the labels and values in the Output Log are separated. The word TAB will be replaced by a tab advancement.
Coordinate PrecisionIntegerThe Coordinate Precision is the number of decimal points to use for coordinate values.
Format DataNumber FormattingThe Format Data control allows the user to set how data will be formatted for display.
Detailed StatisticsBooleanThe Detail Statistics toggle causes the module to display the original statistical information along with more detailed statistics.

Glyph Settings

PropertyTypeDescription
Points As GlyphsBooleanThe Points As Glyphs toggle will cause the points to be displayed as a user selected glyph.
Point WidthIntegerThe Point Width sets the size of the rendered pixels. The default is 0 which is equivalent to 1.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
PriorityChoice: Maximum, MinimumThe Priority of the glyph will reverse the scaling so that the smallest sample values have the largest size.
Minimum Scale FactorDoubleThe Minimum Scale Factor scales the sample values with the least Priority.
Maximum Scale FactorDoubleThe Maximum Scale Factor scales the sample values with the greatest Priority.
Use Log DataBooleanThe Use Log Data toggle will force the size of the glyph to be based on the log10 of the selected data.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, DiskThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerThe Sphere Subdivisions defines how finely the sample spheres are rendered. Higher values mean smoother spheres but at a higher memory cost.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipHeading/DipThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.

Time Settings

PropertyTypeDescription
Chem File Is Time DomainBooleanThe Chem File is Time Domain toggle turns on date interpolation for time domain analyte (e.g. chemistry) files.
Specify Date By ComponentBooleanThe Specify Date by Component toggle will cause the Date field to be ignored and the date to be selected using the Data Component.
Date For InterpolationDateThe Date For Interpolation field is the date being interpolated to. The Date can be either set here or passed in via the Date port.
Analyte NameStringThe Analyte Name field is used for AIDV and APDV time files as the dates take up the spots in these files usually reserved for analyte names.
Interpolation TypeChoice: Direct Interpolation Only, Interpolate Only, Interpolate and Extrapolate Beyond, Interpolate and Extrapolate, Interpolate (Use with Shrink)There are 5 different Interpolation Methods that are available, each interpolation method is used to define how to interpolate when given non-detects in a file.
Use Nearest Measured DataBooleanThe Use Nearest Measured Data toggle causes the sample at the interpolated date, to have the same value as the nearest measured date and not an interpolated value.
Non Linear ShrinkBooleanIf the Non-Linear Shrink toggle is selected the size of the sphere will be determined by a cosine interpolation instead of a linear one.

statistics

The statistics module is used to analyze the statistical distribution of a field with nodal data. The data field can contain any number of data components. Statistical analyses can only be performed on scalar nodal data components. An error occurs if a statistical analysis is attempted on vector data. Output from the statistics module appears in the EVS Information Window. Output consists of calculated min and max values, the mean and standard deviation of the data set, the distribution of the data set, and the coordinate extents of the model.

The first port (the leftmost one) should contain a mesh with nodal data. If no nodal data is present, statistics will only report the extents and centroid of your mesh. Data sent to the statistics module for analysis will reflect any data transformation or manipulation performed in the upstream modules. Any mesh data sent to the port is used for calculating the X, Y and Z coordinate ranges. The mesh coordinates have no effect on the data distribution. Cell based data is not used.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for statistic calculations.
InputZ ScaleNumberThe factor used to remove vertical scaling.
OutputMean LevelNumberThe calculated mean value.
OutputMedian LevelNumberThe calculated median value.
OutputMinimum LevelNumberThe calculated minimum value.
OutputMaximum LevelNumberThe calculated maximum value.
OutputNumber Of PointsNumberThe input number of points.
OutputStatisticsStringString representing the calculated statistics.

Properties

PropertyTypeDescription
Allow RunBooleanWhen the Allow Run toggle is set to on the module will run every time a setting is changed.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Z ScaleDoubleThe Z exaggeration factor applied to the input field.

Statistic Settings

PropertyTypeDescription
Data ComponentChoiceThe Data Component on which the statistical analysis is to be performed. Options are populated from the input field.
Minimum Data LevelDoubleThe Minimum Data Level is used to set the lower limit on the data bins for statistical analysis. The default value is the minimum in the data component. If the statistical distribution should focus on only a portion of the data, this value can be changed to reflect only that desired range of data.
Maximum Data LevelDoubleThe Maximum Data Level is used to set the upper limit on the data bins for statistical analysis. The default value is the maximum in the data component. If the statistical distribution should focus on only a portion of the data, this value can be changed to reflect only that desired range of data.
Clamp DataBooleanThe Clamp Data toggle will actually clamp the data to the Minimum and Maximum Data Level before processing it for statistics.
Number Of BinsIntegerThe Number of Bins is used to set the number of distribution bins to be used in the analysis. The default is 10 and the range is from 2 to 255. This value is generally changed to get unary or aesthetically pleasing bin values.
DetailsBooleanThe Details toggle will display additional statistical information such as variance, deviation and quartile values.
Report DelimiterStringThe Report Delimiter string controls the spacing of the output window. The text of the output window will be broken up according to whatever is in the Delimiter box. The special delimiter tag ‘TAB’ allows the text to be tab delimited.
Coordinate PrecisionIntegerThe Coordinate Precision is the number of decimal points to use for coordinate values.
Format DataNumber FormattingThe Format Data control allows the user to set how data will be formatted for display.

site planning

The site planning module is used to perform initial site assessment and well location planning. It generates and distributes a specified number of points within the bounds of an input field using an iterative algorithm. The module supports fixed user-specified points and can filter output by cell set type. Results can be displayed as vertices or sphere glyphs.

Ports

DirectionNameTypeDescription
InputInput BoundsFieldThe input field defining the spatial bounds for site planning.
InputFixed PointsFieldOptional fixed points that remain in place during the iterative distribution.
OutputOutput FieldFieldThe output points.
OutputOutput RenderableRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonIf Allow Run is turned off the Execute button will force the module to run once with the current settings.

Settings

PropertyTypeDescription
Number Of PointsIntegerThe number of points to generate and distribute within the bounds.
IterationsIntegerThe number of steps the iterative point distribution performs. Up to a certain point a higher value usually yields better results, at the cost of speed.
Fixed User PointsCoordinate Array 2DThe Fixed User Points option is used add fixed points manually and additionally to the fixed points from the Fixed Points port.
Select Cell SetsMulti-selectThe Select Cell Sets control allows the user to select the site types to output.

Display Settings

PropertyTypeDescription
Display As SpheresBooleanWhen the Display As Spheres toggle is enabled the red port will output the sites as sphere glyphs. Otherwise the output will be vertices.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
Z ScaleDoubleThe Z Scale is required to assure that generated sites are matched to scaled input.
Z PositionDoubleZ Position determines the Z location of the output. This allows you to position the output at the most convenient elevation.
  • legend

    The Legend module is used to place a color scale bar in the viewer window.

  • 3d legend

    The Legend module is used to place a color scale bar in the viewer window.

  • axes

    Place 3D axes in the viewer scaled by the model data and/or user defined limits.

  • direction indicator

    Place a 3D North Arrow or Compass Rose in the Viewer.

  • viewer to frame

    Overlay the content from a second viewer in the viewer's non-transformable overlay.

  • add logo

    Place a logo or other graphic object in the Viewer's non-transformable overlay.

  • titles

    Provides a straightforward means to place text in the Viewer.

  • 3d titles

    Provides a straightforward means to place text in the Viewer.

  • place text

    Provides a means to interactively place 2D and 3D renderable text strings or to read an EMT file to place the text.

  • interactive labels

    Place formatted labels at probed locations within the Viewer.

  • format string

    Convert values coming from various numeric and string input ports into a resultant string.

Subsections of Annotation

legend

The legend module is used to place a 2D legend which helps correlate colors to analytical values or materials. The legend shows the relationship between the selected data component for a particular module and the colors shown in the viewer. For this reason, the legend’s Input Object port must be connected to the output of a module which is connected to the viewer and is generally the dominant colored object in view.

Many modules with renderable output ports have a selector to choose which data component is used for coloring. The name of the selected data component will be displayed as the title of the legend if the label options are set to automatic (the default).

If the data component to be viewed is either Geo_Layer or Material_ID (for models where the grid is based upon geology), the Geology Legend port from gridding and horizons (or lithologic modeling) must also be connected to provide the geologic layer or material names for automatic labeling. When this port is connected it will have no effect if any other data component is selected.

The minimum and maximum values are taken from the data input as defined in the datamap. Labels can be placed at user defined intervals along the color scale bar. Labels can consist of user input alphanumerical values or automatically determined numerical values.

Ports

DirectionNameTypeDescription
InputInput ObjectRenderableA renderable object for creating the Legend color scale.
InputGeology LegendGeology LegendGeology legend information.
InputContour levelsContoursInformation required to properly set contour levels within Legend.
OutputOutput ObjectRenderableA renderable object displaying the legend.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle, when deselected, will prevent the module from running.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
OrientationChoice: Horizontal, VerticalOrientation allows the user to determine which orientation is used when creating a 2D Legend.
Anchor PointPlacementThe Anchor Point determines where to place the legend, and which point on the legend to base placement on.
Position Offset2D PercentageThe position offset for the legend placement.
OverlayChoice: Behind Scene, In front of sceneThe Overlay control allows the user to put the legend behind the model or in front of it.
Flip LegendBooleanThe Flip Legend toggle inverts the legend putting high values at the bottom.
UnitsStringThe Units to add to the end of each label.
Texture X ScaleDoubleThe size of the scale in screen space (X direction).
Texture Y ScaleDoubleThe size of the scale in screen space (Y direction).

Scale Properties

PropertyTypeDescription
Scale SizeDoubleThe size of the scale in screen space.
Display Scale In OutputBooleanThe Display Scale in Output toggle specifies whether or not to output the colored portion of the legend in the Legend’s Output Object port.
Force Gradiated ColorsBooleanThe Force Gradiated Colors toggle will cause the Legend to display gradiated colors instead of solid color breaks when contour data is passed in.
Equally Size ContoursBooleanThe Equally Size Contours toggle will cause the Legend to display each contour as equal in size, rather than relative to the portion of the data range represented.
Use Integers As ContoursBooleanThe Use Integers As Contours toggle will cause the legend to treat the input data as contoured, with each integer being the label of each contour.
Aspect RatioDoubleThe Aspect Ratio restricts the size of the scale to a percentage of the Scale Size.
Boundary LinesBooleanThe Boundary Lines toggle specifies whether or not a boundary box is to be drawn around the Legend scale bar.
Value MarkersBooleanThe Value Markers toggle specifies whether or not a tick mark is to be drawn at each label location.
Boundary ThicknessDoubleThe Boundary Thickness value determines how thick to draw the boundary lines, as a percentage of the scale size.
Boundary ColorColorThe Boundary Color sets the color of the lines that surround the Legend.
Value Marker ThicknessDoubleThe Value Marker Thickness value determines how thick to draw the ticks, as a percentage of the scale size.
Gap SizeDoubleThe Gap Size determines how large a gap to leave between solid blocks, as a percentage of the scale size. The labels must be centered, and the legend in solid or textured blocks for gaps to be allowed.

Text Properties

PropertyTypeDescription
Labels OnBooleanThe Labels On toggle is used to specify whether or not the data labels are to be displayed with the Legend.
FontFontThe Title Font allows the user to alter the basic look of the font.
TitleExpressionTitle sets the template the title is generated with.
LabelsExpressionLabels sets the template the labels are generated with.
Title Offset2D PercentageThe offset for the title position.
Label Offset2D PercentageThe offset for the label position.
Title SideChoice: Left, Right, Top, BottomThe Title Side determines where the title for the Legend will display.
Label SideChoice: Left, Right, Top, BottomThe Label Side determines which side of the scale to place the labels on.
Title SizeDoubleThe Title Size determines how large to make the title text. It scales with the Scale Size.
Label SizeDoubleThe Label Size determines how large to make the labels’ text. It scales with the Scale Size.
Title AlignmentAlignmentTitle Alignment allows the user to align the title appropriately.
Label AlignmentAlignmentLabel Alignment allows the user to align the labels appropriately.
Title ColorColorThe Title Color sets the color of the title that labels the Legend.
Label ColorColorThe Label Color sets the color of the labels on the Legend.
Label MinBooleanThe Label Min toggle places a label at the bottom (min) of the data. This only applies to linear or log unformatted.
Label MaxBooleanThe Label Max toggle places a label at the top (max) of the data. This only applies to linear or log unformatted.
Label BoldBooleanThe Label Bold toggle determines whether to bold the font used in labels.
Label ItalicBooleanThe Label Italic toggle determines whether to italicize the font used in labels.
Centered Analytic LabelsBooleanWhether or not to use centered labels when working with contoured analytes.
Centered Analytic LabelExpressionLabels sets the template the labels are generated with when working with contoured analytes.
Label AngleDoubleThe Label Angle specifies how to rotate the labels.
Label TypeChoice: Set By Data, Set By UserThe Label Type allows the user to choose between data generated labels or user specified labels.
Logarithmic DecadesChoice: Log, UnformattedWhen the data has been log processed, the Logarithmic Decades determines the number of label increments in the color scale bar. If the Log option is selected the Labels Per Log Decade value is used. If Unformatted is selected the Number Of Intervals is used.
Labels Per Log DecadeIntegerIf the Log Option is selected for Logarithmic Decades, the increments per decade can be set with this value.
Number Of IntervalsIntegerIf the data has been processed in linear space or the Unformatted option is selected for Logarithmic Decades, the total increments for the color scale bar can be set with this value.
Format Label NumbersNumber FormattingThe Format Label Numbers control allows the user to set how numbers that are turned into labels will be formatted.
Type In LabelsEditable StringsIf the Type-In Labels option is selected for Label Processing, the labels may be set using this control.
Prepend MinStringThe Prepend Min string is placed before the label for the minimum value in the Legend.
Prepend MaxStringThe Prepend Max string is placed before the label for the maximum value in the Legend.

3d legend

The 3d legend module is used to place a 3D legend in coordinate space which helps correlate colors to analytical values or materials. The legend shows the relationship between the selected data component for a particular module and the colors shown in the viewer. For this reason, the legend’s Input Object port must be connected to the output of a module which is connected to the viewer and is generally the dominant colored object in view.

Many modules with renderable output ports have a selector to choose which data component is used for coloring. The name of the selected data component will be displayed as the title of the legend if the label options are set to automatic (the default).

If the data component to be viewed is either Geo_Layer or Material_ID (for models where the grid is based upon geology), the Geology Legend port from gridding and horizons (or lithologic modeling) must also be connected to provide the geologic layer or material names for automatic labeling. When this port is connected it will have no effect if any other data component is selected.

The minimum and maximum values are taken from the data input as defined in the datamap. Labels can be placed at user defined intervals along the color scale bar. Labels can consist of user input alphanumerical values or automatically determined numerical values.

Ports

DirectionNameTypeDescription
InputInput ObjectRenderableA renderable object for creating the Legend color scale.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputGeology LegendGeology LegendGeology legend information.
InputContour levelsContoursInformation required to properly set contour levels within Legend.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputTitle OutputStringText containing the Title.
OutputOutput LegendFieldThis field allows the colored legend portion to be texture mapped with modules such as contour texture.
OutputOutput ObjectRenderableA renderable object displaying the Legend.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle, when deselected, will prevent the module from running.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.

Legend 3D Options

PropertyTypeDescription
Legend Direction 3DChoice: +X, +Y, +ZThe Legend Direction 3D allows the user to set the orientation of the Legend when creating a 3D Legend.
X OriginDoubleThe starting X coordinate to draw the Legend from.
Y OriginDoubleThe starting Y coordinate to draw the Legend from.
Z OriginDoubleThe starting Z coordinate to draw the Legend from.
Legend SizeDoubleThe length of the Legend in coordinate space in the direction indicated by Orientation.
Legend WidthDoubleThe width of the legend as a percentage of the model size.
Legend DepthDoubleThe depth of the legend as a percentage of the model size.

Label Options

PropertyTypeDescription
Labels OnBooleanThe Labels On toggle is used to specify whether or not the data labels are to be displayed with the Legend.
Label MinBooleanThe Label Min toggle places a label at the bottom (min) of the data. This only applies to linear or log unformatted.
Label MaxBooleanThe Label Max toggle places a label at the top (max) of the data. This only applies to linear or log unformatted.
Label ColorColorThe color to set each label.
Label TypeChoice: Set By Data, Set By UserThe Label Type allows the user to choose between data generated labels or user specified labels.
Logarithmic DecadesChoice: Log, UnformattedWhen the data has been log processed, the Logarithmic Decades determines the number of label increments in the color scale bar. If the Log option is selected the Labels Per Log Decade value is used. If Unformatted is selected the Number Of Intervals is used.
Labels Per Log DecadeIntegerIf the Log Option is selected for Logarithmic Decades, the increments per decade can be set with this value.
Number Of IntervalsIntegerIf the data has been processed in linear space or the Unformatted option is selected for Logarithmic Decades, the total increments for the color scale bar can be set with this value.
Type In LabelsEditable StringsIf the Type-In Labels option is selected for Label Processing, the labels may be set using this control.
Centered Type In LabelsBooleanWhether to center the type-in labels.
TitleStringThe specified title to set for the Legend.
UnitsStringThe Units to add to the end of each label.
Units DisplayChoice: End of value, End of Title, Below TitleThe Units Display will affect where the units for the Legend will display, either after each value or appended to the title.
Format Label NumbersNumber FormattingThe Format Label Numbers control allows the user to set how numbers that are turned into labels will be formatted.
Label OffsetDoubleThe Label Offset is the distance from the Legend the labels are created.
Title OffsetDoubleThe Title Offset is the distance from the Legend the title is created.
Font TypeChoice: Forward Facing Fonts, TrueType Fonts, Line FontsThe Font Type allows the user to select between three font types. Forward Facing Fonts will always be aligned to the View. TrueType fonts are standard fonts. Line fonts are low impact fonts which perform better when large numbers of labels are generated.
TrueType Font StyleFontThe TrueType Font Style allows the user to alter the basic look of the font.
3D Label SettingsLabel Settings3D Label Settings allow the user to align the labels to an appropriate view.
Forward Facing StyleForward FacingForward Facing Style allows the user to align the labels to an appropriate view and to alter the basic layout of the font.
Width Height AspectDoubleThe Width Height Aspect determines the aspect ratio of the label text. A small width to height ratio creates narrow text and a large ratio creates wide text. This is not enabled when using a Forward Facing Font.
Position Around ScaleChoice: Left Back, Right Back, Right Front, Left Front, Middle Back, Right Middle, Middle Front, Left MiddleThe Position Around Scale lets the user choose which corner of the break on the color scale to start writing the label at.
Prepend MinStringThe Prepend Min string is placed before the label for the minimum value in the Legend.
Prepend MaxStringThe Prepend Max string is placed before the label for the maximum value in the Legend.

Display Settings

PropertyTypeDescription
Datamap MinDoubleThe Datamap Min value is used to override the default minimum range from the input when setting the color scale.
Datamap MaxDoubleThe Datamap Max value is used to override the default maximum range from the input when setting the color scale.
Flip LegendBooleanThe Flip Legend toggle inverts the legend putting high values at the bottom.
Boundary LinesBooleanThe Boundary Lines toggle specifies whether or not a boundary box is to be drawn around the Legend scale bar.
Value MarkersBooleanThe Value Markers toggle specifies whether or not a tick mark is to be drawn at each label location.
BoundaryDoubleThe Boundary value offsets the boundary lines from the Legend. The lines are offset in the directions perpendicular to the orientation.
Boundary ColorColorThe Boundary Color sets the color of the lines that surround and divide the Legend.
Display Scale In OutputBooleanThe Display Scale in Output toggle specifies whether or not to output the colored portion of the legend in the Legend’s Output Object port.
Force Gradiated ColorsBooleanThe Force Gradiated Colors toggle will cause the Legend to display gradiated colors instead of solid color breaks when contour data is passed in.

axes

The axes module is used to place 3D axes in the viewer scaled by the model data and/or user defined limits. Axes accepts data from many of the Subsetting and Processing modules and outputs directly to the viewer. Data passed to axes should come from modules which have scaled or transformed the mesh data, for example explode and scale. Axes generated by this module and displayed in the viewer are transformable with other objects in the viewer.

The user interface to axes is very comprehensive. Each coordinate direction axis can be individually controlled. Axis labels and tick marks for each axis can be specified. The label font, label precision, label orientation, and other label parameters are all user specified.

Axes requires a field input or renderable objects to position and size the axes. If you disconnect the field input port, you no longer lose the axes bounds values and your axes remain in place. This is useful when field data changes in an animation so that you don’t constantly recreate the axes.

The size of text and tick marks is based on a percentage of the x-y-z extent of the input field. This allows you to set the extent of one or more axes to zero so you can have a scale of only one or two dimensions.

Ports

DirectionNameTypeDescription
InputInput ObjectsRenderableAny number of renderable objects used to determine extents.
InputInput Geologic FieldFieldThe field to use for determining extents.
InputExplodeNumberThe value used to determine whether the model has been exploded.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableThe renderable object used for connecting to the viewer.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle will prevent the module from running when turned to the Off position.
Z ScaleDoubleThe Z Scale is required to assure that axes are matched to scaled input.
ExplodeDoubleThe Explode value is used to turn off the labelling along the Z Axis as this would be inappropriate for any exploded models.
ExecuteButtonThe Run Once button will allow the module to run one time even if the Allow Run toggle is turned to the off position. This allows the user to make multiple changes with only one update.

Spatial Definition

PropertyTypeDescription
Axes Extents3D RangeThe Axes Extents are used to specify the extents for the axes when Define Extents is selected. Choose “Refresh Extents” to recalculate based on the currently connected view or objects.
Round ExtentsBooleanRound Extents increases the extents of the model to have the labeling start at logical coordinates rounded down at the minimum of x, y, and z and rounded up at the maximum.
Offset FactorDoubleOffset Factor is a percentage to offset the extents beyond the data extents.
Center Coordinates3D CoordinateThe Center Coordinates allow the user to set the actual coordinate to use for each axis center. When linked the values are set by the Display X, Y, and Z Label controls.
Display X LabelChoice: At Min Extent, At Max ExtentThe Display X Label allows the user to choose whether to place the labels for the X axis at the min or max extent.
Display Y LabelChoice: At Min Extent, At Max ExtentThe Display Y Label allows the user to choose whether to place the labels for the Y axis at the min or max extent.
Display Z LabelChoice: At Min Extent, At Max ExtentThe Display Z Label allows the user to choose whether to place the labels for the Z axis at the min or max extent.
Label Origin MethodChoice: Default, Application Origin, CustomThe Label Origin Method determines how the origin is set for labeling axes. The Application Origin option is intended for fences projected to 2D. Custom allows you to define your own origin for labels.
Label Origin3D CoordinateAxes Origin lets you change the labelling (e.g. to make axes with labels starting at zero in x, y and z lined up to local origin).
Interval Reference Point3D CoordinateThe Interval Reference Point is used when Set Interval is selected. This control allows the user to set the origin point for the grid lines.
Interval Spacing3D CoordinateThe Interval Spacing is used when Set Interval is selected. This control allows the user to set the spacing between each grid line for the X, Y, and Z axis.
Minor To Major IntervalsIntegerThe Minor To Major Intervals control is used to determine how many minor intervals for every major interval.
Max IntervalsIntegerThe Max Intervals will limit the number of intervals created when the Set Interval toggle is selected.

Display Settings

PropertyTypeDescription
Label SubsettingChoice: None, Blank LabelsThe Label Subsetting option enables or disables the automatic removal of overlapping labels.
Blank FactorDoubleThe Blank Factor value represents a scale used when determining the bounds of a label for overlap avoidance. The scale is based off the height of the label.
Draw BoxBooleanThe Draw Box toggle is used to specify if the axes should be drawn as a box around the data domain or as single X, Y, and Z lines.
Draw TicksBooleanThe Draw Ticks toggle is used to specify if the ticks should be drawn along the axes.
Box Line WidthIntegerBox Line Width determines the thickness of the box lines. 0 (and 1) give a single pixel wide line and larger numbers give wider lines.
Display MajorBooleanThe Display Major toggle is used to specify whether the major tick marks and labels are displayed.
Display MinorBooleanThe Display Minor toggle is used to specify whether the minor tick marks and labels are displayed.
Major Gridline StyleChoice: Solid, Dashed, Dotted, Dashed-DottedThe Major Gridline Style controls the way the Major Gridline is displayed.
Minor Gridline StyleChoice: Solid, Dashed, Dotted, Dashed-DottedThe Minor Gridline Style controls the way the Minor Gridline is displayed.
Major Line WidthIntegerThe Major Line Width control allows the user to set the width of the Major Gridline in pixels.
Minor Line WidthIntegerThe Minor Line Width control allows the user to set the width of the Minor Gridline in pixels.
Display XY Grid At MinBooleanThe Display XY Grid At Min toggle will determine whether grid lines are displayed at the XY Grid minimum extents.
Display XY Grid At MaxBooleanThe Display XY Grid At Max toggle will determine whether grid lines are displayed at the XY Grid maximum extents.
Display XZ Grid At MinBooleanThe Display XZ Grid At Min toggle will determine whether grid lines are displayed at the XZ Grid minimum extents.
Display XZ Grid At MaxBooleanThe Display XZ Grid At Max toggle will determine whether grid lines are displayed at the XZ Grid maximum extents.
Display YZ Grid At MinBooleanThe Display YZ Grid At Min toggle will determine whether grid lines are displayed at the YZ Grid minimum extents.
Display YZ Grid At MaxBooleanThe Display YZ Grid At Max toggle will determine whether grid lines are displayed at the YZ Grid maximum extents.

All Axes Settings

PropertyTypeDescription
Display AxesBooleanThe Display Axes toggle will turn on or off the visibility of all axes.
Axes ColorColorThe Axes Color allows the user to set the color for all axes.
Label TypeChoice: Forward Facing Fonts, TrueType Fonts, Line FontsThe Label Type allows the user to select between three font types. Forward Facing Fonts will always be aligned to the View. TrueType fonts are standard fonts. Line fonts are low impact fonts which perform better when large numbers of labels are generated.
TrueType Font StyleFontThe TrueType Font Style allows the user to alter the basic look of the font.
Forward Facing StyleForward FacingForward Facing Style allows the user to align the labels to an appropriate view and to alter the basic layout of the font.
Title Height FactorDoubleThe Title Height value allows the user to set the height for the title on each axis as a percentage of the Tick Label Height.
Title OffsetDoubleThe Title Offset is a distance to offset the Name from the corner of the axes box. This value affects all axes.
Tick Label HeightDoubleThe Tick Label Height value allows the user to set the height for the tick labels on each axis as a percentage of the total axes extent.
Tick Label PrecisionIntegerThe Tick Label Precision determines how the tick positions (numeric values) will be determined. For values of zero and larger it determines the number of decimal points. Negative values attempt to automatically determine the optimal number of decimal points.
Tick ScaleDoubleThe Tick Scale affects the relative size of the Tick marks and the label offsetting for all axes.
Tick Label OffsetDoubleTick Label Offset is a distance to offset the Tick label from the end of the tick mark. This value will be set for all axes.
Show LabelsBooleanThe Show Labels toggle will turn on or off the labels for all axes.
Automatic Text PlacementBooleanAutomatic Text Placement automatically handles the label options based on centering options selected. This toggle does not affect Forward Facing Font styles.

X Axis Settings

PropertyTypeDescription
Display AxisBooleanThe Display Axis will allow the user to turn on or off the visibility of the axis.
Axis ColorColorThe Axis Color allows the user to set the color for the entire axis and the labels for that axis.
Title NameStringThe Title Name allows the user to set the label for the axis.
Title OffsetDoubleThe Title Offset is a distance to offset the Title Name from the corner of the axes box.
Tick Label PrecisionIntegerTick Label Precision determines how the tick labels will be determined. For values of zero and larger it determines the number of decimal points. Negative values attempt automatic determination.
Tick Label OffsetDoubleTick Label Offset is a distance to offset the Tick label from the end of the tick mark.
Show LabelsBooleanThe Show Labels toggle will allow the user to turn on or off the labels along the axis.
3D Label SettingsLabel Settings3D Label Settings allow the user to align the labels to an appropriate view. This is disabled when Automatic Text Placement is on.

Y Axis Settings

PropertyTypeDescription
Display AxisBooleanThe Display Axis will allow the user to turn on or off the visibility of the axis.
Axis ColorColorThe Axis Color allows the user to set the color for the entire axis and the labels for that axis.
Title NameStringThe Title Name allows the user to set the label for the axis.
Title OffsetDoubleThe Title Offset is a distance to offset the Title Name from the corner of the axes box.
Tick Label PrecisionIntegerTick Label Precision determines how the tick labels will be determined. For values of zero and larger it determines the number of decimal points. Negative values attempt automatic determination.
Tick Label OffsetDoubleTick Label Offset is a distance to offset the Tick label from the end of the tick mark.
Show LabelsBooleanThe Show Labels toggle will allow the user to turn on or off the labels along the axis.
3D Label SettingsLabel Settings3D Label Settings allow the user to align the labels to an appropriate view. This is disabled when Automatic Text Placement is on.

Z Axis Settings

PropertyTypeDescription
Display AxisBooleanThe Display Axis will allow the user to turn on or off the visibility of the axis.
Axis ColorColorThe Axis Color allows the user to set the color for the entire axis and the labels for that axis.
Title NameStringThe Title Name allows the user to set the label for the axis.
Title OffsetDoubleThe Title Offset is a distance to offset the Title Name from the corner of the axes box.
Tick Label PrecisionIntegerTick Label Precision determines how the tick labels will be determined. For values of zero and larger it determines the number of decimal points. Negative values attempt automatic determination.
Tick Label OffsetDoubleTick Label Offset is a distance to offset the Tick label from the end of the tick mark.
Show LabelsBooleanThe Show Labels toggle will allow the user to turn on or off the labels along the axis.
3D Label SettingsLabel Settings3D Label Settings allow the user to align the labels to an appropriate view. This is disabled when Automatic Text Placement is on.

direction indicator

The direction indicator module is used to place a 3D North Arrow or Compass Rose in the 3D viewer scaled by the model data and/or user defined parameters.

Ports

DirectionNameTypeDescription
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object displaying a north arrow or compass rose.

Properties

PropertyTypeDescription
VisibleVisibilityControls the visibility of the object. Excluded prevents inclusion in supported exports. Locked makes the object always visible in supported exports.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the input field and this is used to determine default sizes and positions.
Display TypeChoice: North Arrow, Compass RoseThe Display Type allows the user to select between a north arrow and a compass rose as output.
X CenterDoubleThe X center of the chosen display type object.
Y CenterDoubleThe Y center of the chosen display type object.
Z CenterDoubleThe Z center of the chosen display type object.
Height FactorDoubleThe Height Factor scales the vertical height of the output object.

North Arrow Settings

PropertyTypeDescription
Arrow SizeDoubleThe Arrow Size scales the size in all dimensions of the output object.
Arrow BevelDoubleThe Arrow Bevel affects the degree of bevelling on the north arrow.
Stem WidthDoubleThe Stem Width affects the width of the arrow’s stem (shaft).
Stem LengthDoubleThe Stem Length Factor affects the length of the arrow’s stem (shaft).
Triangle Base FactorDoubleThe Triangle Base Factor affects the width of the arrow’s head.
North ColorColorThe North Arrow is a solid color which can be selected using this control.

Compass Rose Settings

PropertyTypeDescription
Rose SizeDoubleThe Rose Size scales the output object in all dimensions.
North LengthDoubleThe North Length Factor allows you to exaggerate the length of the north pointing shaft.
Sub Cardinal LengthDoubleThe Sub-Cardinal Length Factor controls the length of the 45 degree shafts relative to the primary shafts.
Inner Radius FactorDoubleThe Inner Radius Factor controls the radius of the solid core section.
Primary ColorColorThe compass rose is made of two colors; the first can be set using this control.
Secondary ColorColorThe compass rose is made of two colors; the second can be set using this control.

Label Settings

PropertyTypeDescription
Label TypeChoice: TrueType Fonts, Line FontsThe Label Type allows the user to select between two font types. TrueType fonts are standard fonts. Line fonts are low impact fonts which perform better when large numbers of labels are generated.
Font Base ScaleDoubleThe Font Base Scale affects the size of all text objects.
Flip LabelsBooleanFlip Labels makes the text readable from the underside.
TrueType Font StyleFontThe TrueType Font Style allows the user to alter the basic look of the font.
Font ColorColorThe Font Color allows the user to set the value for the color of the Font.
North LabelCardinalThe North Label sets all values related to the text on the North end of either the compass rose or the north arrow.
East LabelCardinalThe East Label sets all values related to the text on the East end of the compass rose.
South LabelCardinalThe South Label sets all values related to the text on the South end of the compass rose.
West LabelCardinalThe West Label sets all values related to the text on the West end of the compass rose.
Sub Cardinal LabelsSub CardinalThe Sub Cardinal Labels control sets all values related to the text at the sub cardinal directions of the compass rose.

viewer to frame

The viewer to frame module is used to place an image of one viewer inside a second viewer’s non-transformable overlay. There are sliders to adjust size and position.

Ports

DirectionNameTypeDescription
InputViewViewThe view containing all associated renderable objects.
OutputOutput ObjectRenderableA renderable object displaying the logo.

Properties

PropertyTypeDescription
Include OverlayBooleanInclude the overlays (such as legend and titles) from the original viewer.
Include BackgroundBooleanInclude the background and underlays (such as titles behind scene) from the original viewer.
SizeDoubleSpecify the width and height of the image in percentage of screen height or width.
Size ByChoice: Width, HeightSpecify whether the sizing is determined by screen height or width.

Positioning

PropertyTypeDescription
Anchor PointPlacementThe Anchor Point determines where to place the legend, and which point on the legend to base placement on.
Position Offset2D PercentageThe position offset for placement.
OverlayChoice: Behind Scene, In front of sceneThe Overlay control allows the user to put the logo behind the model or in front of it.

The add logo module is used to place a logo or other graphic object in the viewer’s non-transformable overlay. There are sliders to adjust size and position and a control to select the image file to use as a logo.

Ports

DirectionNameTypeDescription
OutputOutput ObjectRenderableA renderable object displaying the logo.

Properties

PropertyTypeDescription
FilenameFileThe image file to be used for the logo.
SizeDoubleSpecify the width and height of the image in percentage of screen height.
Size ByChoice: Width, HeightSpecify whether the sizing is determined by screen height or width.

Positioning

PropertyTypeDescription
Anchor PointPlacementThe Anchor Point determines where to place the legend, and which point on the legend to base placement on.
Position Offset2D PercentageThe position offset for placement.
OverlayChoice: Behind Scene, In front of sceneThe Overlay control allows the user to put the logo behind the model or in front of it.

titles

The titles module provides a means to place text in the non-transformable 2D overlay of the viewer. The text is not transformed by viewer transformations and is positioned using sliders in the titles user interface.

The title text supports an expression editor with variables that can be connected via ports. Text formatting can be performed with a limited subset of Markdown and HTML syntax, including bold, italic, headings, lists, monospaced text, horizontal rules, colored text, font size, and font changes.

Ports

DirectionNameTypeDescription
InputInput StringStringText containing the string used to create the title.
InputNumber 1NumberA value to use as a variable.
InputNumber 2NumberA value to use as a variable.
InputString 1StringA string to use as a variable.
OutputOutput ObjectRenderableA renderable object displaying the title.

Properties

PropertyTypeDescription
TitleExpressionThe Title is the text to use for the Title. Supports variables {N1}, {N2}, and {S1}.

Text Settings

PropertyTypeDescription
Title SizeDoubleThe Title Size determines how large the title text will be.
Title ColorColorThe Title Color is the color to use for the Title.
Title FontFontTitle Font allows the user to alter the basic look of the font.
Title AlignmentHorizontal AlignmentThe horizontal alignment for the title text.

Positioning

PropertyTypeDescription
Anchor SideChoice: Top, BottomThe Anchor Side determines whether the title text is positioned off the top or bottom edge of the viewer.
Anchor MarginDoubleThe Anchor Margin determines how far from the anchor side the near edge of the text will be.
Left MarginDoubleThe Left Margin determines how close to the left edge of the viewer the text is allowed to be.
Right MarginDoubleThe Right Margin determines how close to the right edge of the viewer the text is allowed to be.
RotationDoubleThe Rotation allows you to spin the title text around the center point.
OverlayChoice: Behind Scene, In front of sceneThe Overlay control allows the user to put the title behind the model or in front of it.

Variables

PropertyTypeDescription
N1DoubleThe N1 field is a double value that can be used as the variable {N1} in the expression.
N2DoubleThe N2 field is a double value that can be used as the variable {N2} in the expression.
S1StringThe S1 field is a string value that can be used as the variable {S1} in the expression.

3d titles

The 3d titles module provides a means to place text in 3D space of your model. The text is transformed by viewer transformations and is positioned using X, Y, and Z sliders in the user interface.

Ports

DirectionNameTypeDescription
InputInput StringStringText containing the string used to create the title.
InputZ ScaleNumberThe vertical factor applied to the input field. This is only used for 3D titles.
OutputOutput ObjectRenderableA renderable object intended for using with transform group or when using field or object input.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is required to assure that text is matched to scaled input.
X CoordinateDoubleThe X Coordinate specifies the location of the lower left edge of the title in coordinate space.
Y CoordinateDoubleThe Y Coordinate specifies the location of the lower left edge of the title in coordinate space.
Z CoordinateDoubleThe Z Coordinate specifies the location of the lower left edge of the title in coordinate space.
Width Height RatioDoubleThe Width Height Ratio allows you to stretch or compress the font to adjust for non-square Viewer induced distortions.
Title TextStringThe Title Text is the text to use for the Title.
Title ColorColorThe color of the title text.
Font TypeChoice: Forward Facing Fonts, TrueType Fonts, Line FontsThe Font Type allows the user to select between three font types. Forward Facing Fonts will always be aligned to the View. TrueType fonts are standard fonts. Line fonts are low impact fonts which perform better when large numbers of labels are generated.
Forward Facing StyleForward FacingForward Facing Style allows the user to align the labels to an appropriate view and to alter the basic layout of the font.
TrueType Font StyleFontThe TrueType Font Style allows the user to alter the basic look of the font.
3D Font SettingsLabel Settings3D Label Settings allow the user to align the labels to an appropriate view.

place text

The place text module provides a means to interactively place 2D and 3D renderable text strings or to read a .PT file (or legacy .EMT file) to place the text. Text can be positioned interactively by probing in the viewer, or imported from a file.

Ports

DirectionNameTypeDescription
InputInput ExplodeNumberThe value used to determine whether the model has been exploded.
InputInput Z ScaleNumberThe factor for vertical scaling.
InputSubsetting FeatureFieldA field containing a line for subsetting.
OutputOutput ExplodeNumberThe value used to determine whether the model has been exploded.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object displaying the placed text.

Properties

PropertyTypeDescription
Import FileFileImport existing text from a .pt (place text) file.
Reload Import FileButtonThe Reload Import File button forces the module to reload the Import File.
VisibleVisibilityControls the visibility of the object. Excluded prevents inclusion in supported exports. Locked makes the object always visible in supported exports.
Z ScaleDoubleThe Z Scale is required to assure that text is matched to scaled input.
ExplodeDoubleThe explode factor to apply to each text string based on its Explode ID.
Export FileFileExport current text to a .pt (place text) file.

Text Settings

PropertyTypeDescription
Probe ActionChoice: None, Reset Position, Add TextAllows for the changing of the text center or for adding a new string at the probed location. Only available when the viewer is connected.
Forward Facing StyleForward FacingForward Facing Style allows the user to align the labels to an appropriate view and to alter the basic layout of the font. These values are module wide so apply to all Forward Facing selected fonts.
Trim White SpaceBooleanThe Trim White Space control when selected will remove leading and trailing spaces from all text.
TextsText EditorThe text entries to place in the scene.

Projection Options

PropertyTypeDescription
Subset RegionChoice: Within Line Distance, Outside Line DistanceThe Subset Region allows the user to either keep the text within Distance to Line or to keep only the text outside that distance.
Distance To LineDoubleThe Distance To Line value is used to subset the text to within a distance from the line passed into the Subsetting Feature port.
Straighten To 2DBooleanThe Straighten to 2D toggle is used to project the position of 3D text to a 2D representation, where each text x coordinate value becomes the distance to the line passed into the Subsetting Feature port.
Straightened PlaneChoice: Export in XZ, Export in XYThe Straightened Plane allows the user to set the plane the straightened text are in. This requires a line passed into the Subsetting Feature, and text that has been Straightened to 2D.

interactive labels

The interactive labels module allows the user to place formatted labels at probed locations within the viewer. The data displayed is the data at the probed location. Labels use an expression editor that supports variables derived from the probed data as well as external inputs.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used to determine whether the model has been exploded.
InputNumber VariableNumberA value used as a variable in the expression.
InputInput String VariableStringA string used as a variable in the expression.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ExplodeNumberThe value used to determine whether the model has been exploded.
OutputOutput Number VariableNumberA value used as a variable in the expression.
OutputOutput String VariableStringA string used as a variable in the expression.
OutputOutput ObjectRenderableA renderable object displaying the labels.

Properties

PropertyTypeDescription
VisibleVisibilityControls the visibility of the object. Excluded prevents inclusion in supported exports. Locked makes the object always visible in supported exports.
Z ScaleDoubleThe Z Scale is required to assure that labels are matched to scaled input.
ExplodeDoubleThe explode factor to apply to each label based on its Explode ID.
Export FileFileExport current labels to a .pt (EVS place Text) file. This will also create an .elf to store the leader lines if the Create Leader Line option is selected.

Label Settings

PropertyTypeDescription
N1DoubleThe N1 value is a floating value that is passed in via the Number Variable port for use in the expressions.
S1StringThe S1 value is a string value that is passed in via the Input String Variable port for use in the expressions.
Create Leader LinesBooleanTurning on the Create Leader Lines toggle will cause a line to be created from the probe point to the label origin.
Probe ActionChoice: None, Reset Position, Add LabelAllows for the changing of the label origin or for adding a new label at the probed location. Only available when the viewer is connected.
Forward Facing StyleForward FacingForward Facing Style allows the user to align the labels to an appropriate view and to alter the basic layout of the font. These values are module wide so apply to all Forward Facing selected fonts.
Control ExpressionExpressionThe Control Expression is the expression used by all labels with a linked Expression value. Supports variables: {N1}, {S1}, {CoordinateX}, {CoordinateY}, {CoordinateZ}, {Name}, {Value}, {Units}.
LabelsInteractive LabelsThe list of placed labels and their individual settings.

format string

The format string module allows you to construct a complex string (for use in titles or as file names) using multiple string and numeric inputs. An expression determines the content of the output. The expression is treated as a Python f-string which allows for the use of variables with Python expressions and format specifiers.

Ports

DirectionNameTypeDescription
InputZ ScaleNumberThe factor for vertical scaling.
InputExplodeNumberThe value used for separating output based on geology.
InputNumber 1NumberA value to use as a variable.
InputNumber 2NumberA value to use as a variable.
InputNumber 3NumberA value to use as a variable.
InputNumber 4NumberA value to use as a variable.
InputNumber 5NumberA value to use as a variable.
InputNumber 6NumberA value to use as a variable.
InputString 1StringA string to use as a variable.
InputString 2StringA string to use as a variable.
InputString 3StringA string to use as a variable.
InputString 4StringA string to use as a variable.
InputDateDateThe date to use as an input.
OutputResult StringStringA string created by solving the module expression.

Properties

PropertyTypeDescription
ExpressionExpressionThe Expression allows the user to control the sequence of variables used to create the output string. Supports variables: {Scale}, {Explode}, {N1} through {N6}, {S1} through {S4}, and {Date}.
Date FormatStringThe Date Format allows the user to control how Date values will be displayed in the output string.

Variables

PropertyTypeDescription
ScaleDoubleScale is the scaling factor for vertical (z) coordinates. This value reflects a multiplication factor of the layer thickness.
ExplodeDoubleThe Explode value is the distance between exploded layers, cell sets or materials.
N1DoubleThe N1 field is a double value that can be used as the variable {N1} in the expression.
N2DoubleThe N2 field is a double value that can be used as the variable {N2} in the expression.
N3DoubleThe N3 field is a double value that can be used as the variable {N3} in the expression.
N4DoubleThe N4 field is a double value that can be used as the variable {N4} in the expression.
N5DoubleThe N5 field is a double value that can be used as the variable {N5} in the expression.
N6DoubleThe N6 field is a double value that can be used as the variable {N6} in the expression.
S1StringThe S1 field is a string value that can be used as the variable {S1} in the expression.
S2StringThe S2 field is a string value that can be used as the variable {S2} in the expression.
S3StringThe S3 field is a string value that can be used as the variable {S3} in the expression.
S4StringThe S4 field is a string value that can be used as the variable {S4} in the expression.
DateDateThe Date field is a date value that can be used as the variable {Date} in the expression.

Output

PropertyTypeDescription
ResultStringThe Result is the output string created by resolving the Expression. This field is read-only.
  • external faces

    Extracts external faces from a 2D or 3D field for rendering.

  • external edges

    Extracts the outer edges of a mesh.

  • cross section

    Create a fence diagram along a user defined (x, y) path.

  • slice

    Create a slice through an input field.

  • isolines

    Produce lines of constant value which can be offset from a 2D surface, or the external faces of a 3D surface.

  • cut

    Create a subset of your input on one side of a planar surface.

  • plume

    Create a true 3D volumetric subset of a 3D input. The resulting volume can be used as input for further subsetting or volumetric computations since it is volumetric. This module should not normally be used when you desire a visualization of a plume but rather when you wish to do subsequent operations such as analysis, slices, etc.

  • intersection

    Create a true 3D volumetric subset of a 3D input using multiple subset criteria. The resulting volume can be used as input for further subsetting or volumetric computations since it is volumetric.

  • union

    Allows for a large number of complex parallel subsetting operations required to compute and visualize the union of multiple analytes and threshold levels.

  • subset by expression

    Eliminate whole cells from the input mesh based on the nodal data of one or more nodes that comprise the cells.

  • footprint

    Create the 2D footprint by creating a surface at the specified Z Position with an x-y extent that matches the 3D input.

  • slope aspect splitter

    Split an input field into two output fields based upon slope or aspect data using a subset expression.

  • crop and downsize

    Subset or simplify an image or structured field.

  • select cell sets

    Select individual geologic layers or lithologic materials for output.

  • orthoslice

    Displays slice positions north-south (vertical), east-west (vertical) and horizontal. The orthoslice module subsets a structured field by extracting one slice plane and can only be orthogonal to the X, Y, or Z axis.

  • edges

    Produce a wireframe representation of an unstructured cell data mesh. This allows viewing of all grid boundaries (internal AND external) of the input mesh. The edges module is useful in that it is able to render lines around adaptive gridding locations.

  • bounds

    Generate lines and/or surfaces that indicate the bounding box of a 3D structured field. This is useful when you need to see the shape of an object and the structure of its mesh.

Subsections of Subsetting

external faces

The external faces module extracts external faces from a 2D or 3D field for rendering. It produces a mesh of only the external faces of each cell set of a data set. Because each cell set’s external faces are created, there may be faces that are seemingly internal (vs. external). This is especially true when external faces is used subsequent to a plume module on 3D (volumetric) input.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for external faces.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe external faces field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.

External Faces

PropertyTypeDescription
Ignore Existing NormalsBooleanIgnores any normals that already exist in the input field, forcing the module to always compute normals from scratch.
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
Remove Internal Layer BoundariesBooleanRemove Internal Layer Boundaries allows the user to merge cell sets in order to remove non-visible, internal layer boundaries.
Keep Cell SetsBooleanIf Remove Internal Layer Boundaries is activated, Keep Cell Sets allows the user to split the cells of the merged field back into original cell sets after calculating external faces.

external edges

The external edges module produces a wireframe representation of an unstructured cell data mesh. This is generally used to visualize the skeletal shape of the data domain while viewing output from other modules, such as plumes and surfaces, inside the unstructured mesh. It produces a mesh of only the external edges which meet the edge angle criteria for each cell set of a data set. Because each cell set’s external faces are used, there may be edges that are seemingly internal (vs. external). This is especially true when external edges is used subsequent to a plume module on 3D (volumetric) input.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for external gridding.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe external grid field.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Extraction MethodChoice: Edge Angle, Boundary Edges, WireframeThe Extraction Method determines how edges are extracted. Edge Angle chooses all edges of cells with an angle greater than specified angle. Boundary Edges extract all edges only used by a single cell, which is useful when doing edges of a surface. Wireframe extracts all external edges of the field.
Max Edge AngleDoubleThe Max Edge Angle is defined as the angle between two faces or cells in the model. Setting Max Edge Angle to 0 causes all external cell (element) edges in the model to be visible. Intersections between faces or cells with angles greater than the Max Edge Angle are visible. Exterior model edges are always visible.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.

cross section

The cross section module creates a fence diagram along a user defined (x, y) path. The fence cross-section has no thickness (because it is composed of areal elements such as triangles and quadrilaterals), but can be created in either true 3D model space or projected to 2D space.

It receives a 3D field (with volumetric elements) into its left input port and it receives lines or polylines (from draw lines, polyline processing, import cad, isolines, import vector gis, or other sources) into its right input port. Its function is similar to buffer distance, however it actually creates a new grid and does not rely on any other modules (e.g. plume or plume shell) to do the “cutting”. Only the x and y coordinates of the input (poly)lines are used because cross section cuts a projected slice that is z invariant. The module recalculates when either input field is changed (and Run Automatically is on) or when the “Run Once” button is pressed.

If you select the option to “Straighten to 2D”, cross section creates a straightened fence that is projected to a new 2D coordinate system of your choice. The choices are XZ or XY. For output to ESRI’s ArcMAP, XY is required.

NOTE: The beginning of straightened (2D) fences is defined by the order of the points in the incoming line/polyline. This is done to provide the user with complete control over how the cross-section is created. However, if you are provided a CAD file and you do not know the order of the line points, you can export the CAD file using the write lines module which provides a simple text file that will make it easy to see the order of the points.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main field for input.
InputInput LineFieldThe main line for creating fence.
OutputOutput FieldFieldThe fence field.
OutputOutput ObjectRenderableA renderable object displaying the subset fence.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when unselected.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Clean Fence BoundariesBooleanThe Clean Fence Boundaries toggle attempts to merge all cells between each fence segment (created by each line segment of your 2D input). Occasionally the output will look better with it off, but usually it is better left on.
Straighten To 2DBooleanThe Straighten to 2D toggle is used to project your 3D fence to a 2D representation. Where each sample’s x value becomes the distance to the line passed into the Input Line port.
Straightened PlaneChoice: Export in XZ, Export in XYThe Straightened Plane allows the user to set the plane the straightened samples are in. This requires samples that have been Straightened to 2D.
Nodal Data ComponentsMulti-selectThe Node Data Components toggles allow you to select which nodal data to include in the fence.
Cell Data ComponentsMulti-selectThe Cell Data Components toggles allow you to select which cell data to include in the fence.

slice

The slice module allows you to create a subset of your input which is of reduced dimensionality. This means that volumetric, surface and line inputs will result in surface, line and point outputs respectively. This is unlike cut which preserves dimensionality.

The slice module is used to slice through an input field using a slicing plane defined by one of four methods:

  1. A vertical plane defined by an X or Easting coordinate
  2. A vertical plane defined by a Y or Northing coordinate
  3. A Horizontal plane defined by a Z coordinate
  4. An arbitrarily positioned Rotatable plane which requires a 3D point through which the slicing plane passes, a Dip direction, and a Strike direction
Info

The slice module may be controlled with the driven sequence module. Only the orthogonal slice methods (Easting, Northing and Horizontal) may be used with driven sequence.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for slicing.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe slice field.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object to display.
OutputOutput SequenceSequenceThe generated sequence of states.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.

Slice Settings

PropertyTypeDescription
Use SequencingBooleanTurning this on allows the sequences to drive the slice module instead of the positions.
Slice TypeChoice: Slice Easting, Slice Northing, Slice Horizontal, RotatableThe Slice Type is how the slicing plane is specified.
X PositionDoubleThe X Position of the slice (used with Slice Easting and Rotatable).
Y PositionDoubleThe Y position of the slice (used with Slice Northing and Rotatable).
Z PositionDoubleThe Z Position of the slice (used with Slice Horizontal and Rotatable).
Plane RotationHeading/DipThe Plane Rotation control allows the user to set both the Heading and the Dip of the Rotatable Slice.
ResetButtonThe Reset button will cause the Position of the slice to return to the center of the model.
Current StateSequence StateThe current state to be passed to the script.
State ControlChoice: Slider, Combo Box, List BoxThe State Control determines how the user will interact with the created sequence of states.
Allow CyclesBooleanAllows the state control to be cycled in CTWS files.
Sequence Generation PropertiesValue generatorGenerates the list of values for sequencing. Methods: Linear By Step (values from an anchor point at a fixed step size), Linear By Count (a fixed number of evenly-spaced values), User Entries (manually specified values).
State TitleExpressionThe State Title sets the template which is used to generate the title for each state of the sequence.

Data Mapping

PropertyTypeDescription
Nodal DataMulti-selectThe Nodal Data from the Input Field to include in the Output Field.
Cell DataMulti-selectThe Cell Data from the Input Field to include in the Output Field.

isolines

The isolines module is used to produce lines of constant (iso)value on a 2D surface (such as a slice plane), or the external faces of a 3D surface, such as the external faces of a plume. The input data for isolines must be a surface (faces), it cannot be a volumetric data field. If the input is the faces of a 3D surface, then the isolines will actually be 3D in nature. Isolines can automatically place labels in the 2D or 3D isolines. By default isolines are on the surface (within it) and they have an elevated jitter level (1.0) to make them preferentially visible. However they can be offset to either side of the surface.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field used to generate contours.
InputInput Contour levelsContoursContour level information.
OutputOutput FieldFieldThe field containing generated isolines.
OutputOutput Contour levelsContoursContour level information.
OutputOutput ObjectRenderableA renderable object displaying the grid created by the module. Note that this is output even when Allow Run is off.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThe Execute button forces the module to run. If this has been pressed and the application saved, it will cause the module to run when the application is loaded.

Isoline Settings

PropertyTypeDescription
Isoline ComponentChoiceThe Isoline Component refers to the nodal data component that will be used to create isolines.
Min Max LinkingChoice: Link Min/Max, Recalculate from DataThe Min Max Linking control is used to set the linked values for the Minimum and Maximum Isoline levels. If the min and max values for the selected component have been changed, Recalculate can be used to find the actual min and max.
Isoline Generation PropertiesValue generatorGenerates the list of isoline levels. Methods: Per Log Decade (logarithmic spacing with a set number of isolines per decade), Linear By Step (values from an anchor point at a fixed step size), Linear By Count (a fixed number of evenly-spaced values), User Entries (manually specified values).
Surface OffsetDoubleThe Surface Offset controls where the isolines will be placed, vertically, in reference to the surface.
Offset Both WaysBooleanOffset Both Ways will enable creating isolines on both sides of a surface e.g. the top and bottom sides of a ground surface.

Label Settings

PropertyTypeDescription
Add LabelsBooleanThe Add Labels toggle specifies whether labels are added.
Flip Labels HorizontallyBooleanThe Flip Labels Horizontally toggle will flip all labels upside down. Depending on the viewpoint and the data, this may be useful for making the labels more readable.
Flip Labels VerticallyBooleanThe Flip Labels Vertically toggle will flip all labels to the other side of the surface. Depending on the viewpoint and the data, this may be useful for making the labels more readable.
Label SpacingDoubleThe Label Spacing value.
Label HeightDoubleThe Label Height scales the size of each label.
Label StartDoubleThe Label Start will offset the start of each label along the line.
Label SuffixChoice: Use Data Units, User Specified, NoneThe Label Suffix is a string that is appended to each label.
User SuffixStringIf the User Specified option is selected in Label Suffix, the string can be set with this value.

cut

The cut module allows you to create a subset of your input which is of the same dimensionality. This means that volumetric, surface, line and point inputs will have subsetted outputs of the same object type. This is unlike slice which decreases dimensionality.

The cut module cuts through an input field using a cutting plane defined by one of four methods:

  1. A vertical plane defined by an X or Easting coordinate
  2. A vertical plane defined by a Y or Northing coordinate
  3. A Horizontal plane defined by a Z coordinate
  4. An arbitrarily positioned Rotatable plane which requires a 3D point through which the cutting plane passes, a Dip direction, and a Strike direction
Info

The cut module may be controlled with the driven sequence module. Only the orthogonal cut methods (Easting, Northing and Horizontal) may be used with driven sequence.

The cutting plane essentially cuts the data field into two parts and sends only the part above or below the plane to the output ports (above and below are terms which are defined by the normal vector of the cutting plane). The output of cut is the subset of the model from the side of the cut plane specified.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for cutting.
InputInput Z ScaleNumberThe factor for vertical scaling.
Outputcut FieldFieldThe cut field.
OutputOutput FieldFieldThe input field with cut data.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object to display.
OutputOutput SequenceSequenceThe generated sequence of states.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.

Cut Settings

PropertyTypeDescription
Use SequencingBooleanTurning this on allows the sequences to drive the cut module instead of the positions.
Cut TypeChoice: Cut Easting, Cut Northing, Cut Horizontal, RotatableThe Cut Type is how the cutting plane is specified.
Cut DirectionChoice: Cut Below, Cut AboveThe Cut Direction is used to determine whether the mesh above or below the cutting plane is sent to the output port.
X PositionDoubleThe X Position of the cut plane (used with Easting and Rotatable).
Y PositionDoubleThe Y position of the cut plane (used with Northing and Rotatable).
Z PositionDoubleThe Z Position of the cut plane (used with Horizontal and Rotatable).
Plane RotationHeading/DipThe Plane Rotation control allows the user to set both the Heading and the Dip of the Rotatable Cut Plane.
ResetButtonThe Reset button will cause the Position of the cut plane to return to the center of the model.
Current StateSequence StateThe current state to be passed to the script.
State ControlChoice: Slider, Combo Box, List BoxThe State Control determines how the user will interact with the created sequence of states.
Allow CyclesBooleanAllows the state control to be cycled in CTWS files.
Sequence Generation PropertiesValue generatorGenerates the list of values for sequencing. Methods: Linear By Step (values from an anchor point at a fixed step size), Linear By Count (a fixed number of evenly-spaced values), User Entries (manually specified values).
State TitleExpressionThe State Title sets the template which is used to generate the title for each state of the sequence.

Data Mapping

PropertyTypeDescription
Nodal DataMulti-selectThe Nodal Data from the Input Field to include in the Output Field.
Cell DataMulti-selectThe Cell Data from the Input Field to include in the Output Field.

plume

The plume module creates a (same dimensionality) subset of the input, regardless of dimensionality. What this means, in other words, is that plume can receive a field (blue port) model with cells which are points, lines, surfaces and/or volumes and its output will be a subset of the same type of cells.

This module should not normally be used when you desire a visualization of a 3D volumetric plume but rather when you wish to do subsequent operations such as analysis, slices, etc.

Info

The plume module may be controlled with the driven sequence module.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing nodal data.
InputInput IsolevelNumberThe value used for subsetting.
OutputStatusStringText containing the subsetting information.
OutputOutput IsolevelNumberThe value used for subsetting.
OutputOutput FieldFieldA field containing a new unstructured mesh which contains the surfaces which are the external faces of a subset of the input.
OutputPlumeRenderableA renderable object displaying the subsetted plume data.
OutputOutput SequenceSequenceThe generated sequence of states.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when unselected.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Above Direction StringStringWhen the Subsetting Direction is set to Subset Above Level, the Direction String will use this string as its identifier.
Below Direction StringStringWhen the Subsetting Direction is set to Subset Below Level, the Direction String will use this string as its identifier.
Status ExpressionExpressionThe Status Expression sets the template which is used to generate the status string, and the title for each state of the sequence.
Use SequencingBooleanTurning this on allows the sequences to drive the module instead of the positions.

Data Processing

PropertyTypeDescription
Subsetting ComponentChoiceThe Subsetting Component is the nodal data value to use to subset the input by.
Subsetting LevelDoubleThe Subsetting Level is used to set the level for subsetting the input field. If a value is chosen larger than the max value, the max value is placed in the edit box. Similarly, if a value less than the minimum is input, the minimum value is placed in the box. The default level is the arithmetic average of the minimum and maximum values in the subsetting component.
Subsetting DirectionChoice: Subset Below level, Subset Above levelThe Subsetting Direction choice allows the user to select which range of values to include in the output. Either the range of data from the subsetting level to the max can be selected, or the range of data from the subsetting level to the min of the data.
Output Nodal DataMulti-selectThe Output Nodal Data choice allows the user to select the nodal data to include in the output.
Output Cell DataMulti-selectThe Output Cell Data choice allows the user to select the cell data to include in the output.

Sequence Settings

PropertyTypeDescription
Current StateSequence StateThe current state to be passed to the script.
State ControlChoice: Slider, Combo Box, List BoxThe State Control determines how the user will interact with the created sequence of states.
Allow CyclesBooleanAllows the state control to be cycled in CTWS files.
Sequence Generation PropertiesValue generatorGenerates the list of values for sequencing. Methods: Linear By Step (values from an anchor point at a fixed step size), Linear By Count (a fixed number of evenly-spaced values), User Entries (manually specified values), Per Log Decade (logarithmic spacing with a set number of values per decade).

intersection

The intersection module is a powerful module that incorporates some of the characteristics of plume, yet allows for any number of volumetric sequential (serial) subsetting operations.

The functionality of the intersection module can be obtained by creating a network of serial plume modules. The number of analytes in the intersection is equal to the number of plume modules required.

The intersection of multiple analytes and threshold levels can be equated to the answer to the following question (example assumes three analytes A, B & C with respective subsetting levels of a, b and c):

“What is the volume within my model where A is above a, AND B is above b, AND C is above c?”

image\\boolean.jpg image\\boolean.jpg

The figure above is a Boolean representation of 3 analyte plumes (A, B & C). The intersection of all three is the black center portion of the figure. Think of the image boundaries as the complete extents of your models (grid). The “A” plume is the circle colored cyan and includes the green, black and blue areas. The intersection of just A & C would be both the green and black portions.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main field for input.
OutputOutput FieldFieldThe subset field.
OutputStatusStringText containing the intersection subset information.
OutputOutput ObjectRenderableA renderable object displaying the selected data from the subset.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Map ComponentsMulti-selectThe Map Components value allows the user to select which data components to include in the output after the subsetting has completed.
Map Cell ComponentsMulti-selectThe Map Cell Components value allows the user to select which cell data components to include in the output after the subsetting has completed.
Output StringChoice: First Subset, All Subsets, Last SubsetThe Output String contains the name(s) and value(s) of the intersection subsets.
Above Output StringStringWhen the Include Region is set to Above, the Output String will use this string as its identifier.
Output String DelimiterStringWhen the Output String consists of All Subsets, the Delimiter is the string occurring between each subset text.
Below Output StringStringWhen the Include Region is set to Below, the Output String will use this string as its identifier.

Subsetting Values

PropertyTypeDescription
Subset ListSubset EditorThe list of intersections to create.

union

The union module is a powerful module that automatically performs a large number of complex serial and parallel subsetting operations required to compute and visualize the union of multiple analytes and threshold levels. The functionality of the union module can be obtained by creating a network fragment composed of only plume modules. However as the number of analytes in the union increases, the number of plume modules increases very dramatically. The table below lists the number of plume modules required for several cases:

Number of AnalytesNumber of plume Modules
23
36
410
515
621
728
n(n * (n+1)) / 2

From the above table, it should be evident that as the number of analytes in the union increases, the computation time will increase dramatically. Even though union appears to be a single module, internally it grows more complex as the number of analytes increases.

The union of multiple analytes and threshold levels can be equated to the answer to the following question (example assumes three analytes A, B & C with respective subsetting levels of a, b and c):

“What is the volume within my model where A is above a, OR B is above b, OR C is above c?”

image\\boolean.jpg image\\boolean.jpg

The figure above is a Boolean representation of 3 analyte plumes (A, B & C). The union of all three is the entire colored portion of the figure. Think of the image boundaries as the complete extents of your models (grid). The “A” plume is the circle colored cyan and includes the green, black and blue areas. The union of just A & C would be all colored regions EXCEPT the magenta portion of B.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main field for input.
OutputOutput FieldFieldThe subset field.
OutputStatusStringText containing the union subset information.
OutputOutput ObjectRenderableA renderable object displaying the selected data from the subset.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Map ComponentsMulti-selectThe Map Components value allows the user to select which data components to include in the output after the subsetting has completed.
Map Cell ComponentsMulti-selectThe Map Cell Components value allows the user to select which cell data components to include in the output after the subsetting has completed.
Output StringChoice: First Subset, All Subsets, Last SubsetThe Output String contains the name(s) and value(s) of the intersection subsets.
Above Output StringStringWhen the Include Region is set to Above, the Output String will use this string as its identifier.
Output String DelimiterStringWhen the Output String consists of All Subsets, the Delimiter is the string occurring between each subset text.
Below Output StringStringWhen the Include Region is set to Below, the Output String will use this string as its identifier.

Subsetting Values

PropertyTypeDescription
Subset ListSubset EditorThe list of unions to create.

subset by expression

The subset by expression module creates a subset of the input grid with the same dimensionality. It can receive a field (blue port) model with cells which are points, lines, surfaces and/or volumes and its output will be a subset of the same type of cells.

Subset by expression is different from plume in that it outputs entire cells making its output “lego-like”.

It uses a mathematical expression allowing you to do complex subsetting calculations on coordinates and multiple data components with a single module, which can dramatically simplify your network and reduce memory usage. It has 2 floating point variables (N1, N2) which are setup with ports so they can be easily animated.

Operators:

  • == Equal to
  • < Less than
  • > Greater Than
  • <= Less than or Equal to
  • >= Greater Than or Equal to
  • or
  • and
  • in (as in list)

Example Expressions:

  • If Nodal data is selected:
    • D0 >= N1 All nodes with the first analyte greater than or equal to N1 will be used for inclusion determination.
    • (D0 < N1) or (D1 < N2) All nodes with the first analyte less than or equal to N1 OR the second analyte less than or equal to N2 will be used for inclusion determination.
  • If Cell data is selected:
    • D1 in [0, 2] where D1 is Layer will give you the uppermost and third layers.
    • D1 in [1] where D1 is Layer will give you the middle layer.
    • D1 == 0 where D1 is Layer will give you the uppermost layer
    • D1 >= 1 where D1 is Layer will give you all but the uppermost layer

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use when calculating the expression.
InputInput Number Variable 1NumberA value used as a variable in the expression.
InputInput Number Variable 2NumberA value used as a variable in the expression.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutputFieldFieldThe field created when applying the expression with the result being false.
OutputOutput Number Variable 1NumberA value used as a variable in the expression.
OutputOutput Number Variable 2NumberA value used as a variable in the expression.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when unselected.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
Subset ByChoice: Nodal Data, Cell DataThe Subset By control allows the user to choose which criteria to use for subsetting cells.
N1DoubleThe N1 value may be passed in via the Input Number Variable 1 port and is usable by the expression.
N2DoubleThe N2 value may be passed in via the Input Number Variable 2 port and is usable by the expression.
Subset ExpressionStringThe Subset Expression is used to determine which node or cell to include in the output. All expressions should resolve to either a true or false for each node (if using a nodal subset) or cell (if using a cell subset).
Nodal Subset VariablesString (read-only)The Variables to use to set the criteria when subsetting by nodal data.
Expression Cells To IncludeChoice: All Nodes Match Criteria, Any Node Matches CriteriaThe Expression Cells To Include value allows the user to include a cell if all nodes in the cell match the expression criteria, or if any of the nodes in the cell match the expression criteria.
Cell Subset VariablesString (read-only)The Variables to use to set the criteria when subsetting by cell data.

footprint

The footprint module is used to create the 2D footprint of a 3D input. It creates a surface at the specified Z Position with an x-y extent that matches the 3D input. The footprint output does not contain data, but data can be mapped onto it with external kriging.

NOTE: Do not use adaptive gridding when creating the 3D grid to be footprinted and mapping the maximum values with krig 2d (as in the example shown below). Footprint will produce the correct area, but krig 2d will map anomalous results when used with 3d estimation’s adaptive gridding.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for creating the subset.
OutputOutput FieldFieldThe footprint field.
OutputOutput BoundaryFieldThe footprint boundary lines.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
Gridding MethodChoice: Outline Only, Regular GridControls which method is used to fill the outline of the footprint with points. Outline Only does not output any surface on the footprint port. Regular Grid distributes points in a grid with a spacing defined by the Cell Size option.
Grid Cell SizeDoubleIf the Gridding Method is Regular Grid this defines the spacing of the grid to fill the interior of a footprint outline with points.
Z PositionDoubleZ Position determines the Z location of the output. This allows you to position the output at the most convenient elevation.

Refinement

PropertyTypeDescription
Boundary ToleranceDoubleThe Boundary Tolerance defines the minimum allowable distance - expressed as a percentage of the Grid Cell Size - that an internal grid point must maintain from the boundary to be included in the output. This constraint helps prevent the formation of long, narrow triangles by enforcing spacing between grid points and boundary edges.
Shape ToleranceDoubleThe Shape Tolerance specifies the maximum distance a boundary polygon point may deviate from the imaginary line between its two neighbor points to be considered a distinct point. Points closer than this threshold are treated as collinear and removed to simplify the output. A larger value results in fewer output points and segments but a less accurate footprint.

slope aspect splitter

The slope aspect splitter module will split an input field into two output fields based upon the slope and/or aspect of the external face of the cell and the subset expression used. The input field is split into two fields: one for which all cell orientations are true for the subset expression, and another field for which all cell orientations are false for the subset expression.

All data from the original input is preserved in the output.

Flat Surface Aspect: If you have a flat surface then a realistic aspect cannot be generated. This field lets you set the value for those cells.

  1. To output all upward facing surfaces: use the default subset expression of SLOPE < 89.9. If your object was a perfect sphere, this would give you most of the upper hemisphere. Since the equator would be at slope of 90 degrees and the bottom would be >90 degrees.

(Notice there is potential for rounding errors, use 89.9 instead of 90)

Note: If your ground surface is perfectly flat and you wanted only it, you could use SLOPE < 0.01, however in the real world where topography exists, it can be difficult if not impossible to extract the ground surface and not get some other bits of surfaces that also meet your criteria.

  1. General expression (assuming a standard cubic building):

A) SLOPE > 0.01 (Removes the top of the building)

B) SLOPE > 0.01 and SLOPE < 179.9 (Removes the top and bottom of the building)

  1. Since ASPECT is a variable it must be defined for each cell. In cells with a slope of 0 or 180 there would be no aspect without our defining it with the flat surface aspect field.

  2. Units are always degrees. You could change them to radians if you want inside the expression. (SLOPE * PI/180)

Ports

DirectionNameTypeDescription
InputInput FieldFieldAccepts a data field.
InputInput Number Variable 1NumberAccepts the first numeric value for the slope or aspect expression.
InputInput Number Variable 2NumberAccepts the second numeric value for the slope or aspect expression.
InputInput Z ScaleNumberInputs Z Scale (vertical exaggeration) from other modules.
OutputOutput True FieldFieldOutputs the field which matches the subsetting expression.
OutputOutput False FieldFieldOutputs the opposite of the true field.
OutputOutput Z ScaleNumberOutputs Z Scale (vertical exaggeration) to other modules.

Properties

PropertyTypeDescription
Z ScaleDoubleZ scale is the scaling factor used on the input field.
Flat Surface AspectDoubleThe value to use for Aspect Value over a flat surface.
N1DoubleThe N1 variable usable by expressions.
N2DoubleThe N2 variable usable by expressions.
Subset ExpressionStringThe expression used to subset the input field.
Subset VariablesStringVariables available for determining which field to write output.
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.

crop and downsize

The crop and downsize module is used to subset an image, or structured 1D, 2D or 3D mesh (an EVS “field” data type with implicit connectivity). Similar to cropping and resizing a photograph, crop and downsize sets ranges of cells in the I, J and K directions which create a subset of the data. When used on an image (which only has two dimensions), crop removes pixels along any of the four edges of the image. Additionally, crop and downsize reduces the resolution of the image or grid by an integer downsize value. If the resolution divided by this factor yields a remainder, these cells are dropped.

Crop and downsize refers to I, J, and K dimensions instead of x-y-z. This is done because grids are not required to be parallel to the coordinate axes, nor must the grid rows, columns and layers correspond to x, y, or z. You may have to experiment with this module to determine which coordinate axes or model faces are being cropped or downsized.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting.
OutputOutput FieldFieldThe subset field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Min IIntegerThe Minimum I is the minimum extent for cropping in the I direction.
Max IIntegerThe Maximum I is the maximum extent for cropping in the I direction.
Down Size IIntegerThe Down Size I control will set a factor for decreasing resolution in the I direction.
Min JIntegerThe Minimum J is the minimum extent for cropping in the J direction.
Max JIntegerThe Maximum J is the maximum extent for cropping in the J direction.
Down Size JIntegerThe Down Size J control will set a factor for decreasing resolution in the J direction.
Min KIntegerThe Minimum K is the minimum extent for cropping in the K direction.
Max KIntegerThe Maximum K is the maximum extent for cropping in the K direction.
Down Size KIntegerThe Down Size K control will set a factor for decreasing resolution in the K direction.

select cell sets

The select cell sets module provides the ability to select individual stratigraphic layers, lithologic materials or other cell sets for output. If connected to explode and scale, multiple select cell sets modules will allow selection of specific cell sets for downstream processing. One example would be to texture map the top layer with an aerial photo after one select cell sets and to color the other layers by data with a parallel select cell sets path. This can be accomplished by multiple explode and scale modules, but that would be much less efficient.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main field for input.
OutputOutput FieldFieldThe field with the selected cell sets.
OutputOutput ObjectRenderableA renderable object displaying the selected data from the cell set.

Properties

PropertyTypeDescription
Select Cell SetsMulti-selectThe Select Cell Sets control allows the user to select the cell sets from the Input Field to include in the output.

orthoslice

The orthoslice module is similar to the slice module, except limited to only displaying slice positions north-south (vertical), east-west (vertical) and horizontal. It subsets a structured field by extracting one slice plane and can only be orthogonal to the X, Y, or Z axis. Although less flexible in terms of capability, orthoslice is computationally more efficient.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main field for input.
OutputOutput FieldFieldThe sliced field.
OutputOutput ObjectRenderableA renderable object displaying the sliced field.

Properties

PropertyTypeDescription
AxisChoice: I, J, KThe axis selector chooses which axis (I, J, K) the orthoslice is perpendicular to. The default is I. If the field is 1D or 2D, three values are still displayed. Select the values meaningful for the input data.
Cell Data SelectionChoice: Next Cell, Previous CellThe Cell Data Selection determines which side of the nodal surface the cell data should be taken from. Since orthoslice slices between layers of cells, the data must be selected from one side or the other.
PlaneIntegerThe plane slider selects which plane to extract from the input. This is similar to the position slider in slice but, since the input is a field, the selection is based on the nodal dimensions of the axis of interest. Therefore, the range is 0 to the maximum nodal dimension of the axis.

edges

The edges module is similar to the external edges module in that it produces a wireframe representation of the nodal data making up an unstructured cell data mesh. There is however, no adjustment of edge angle and therefore only allows viewing of all grid boundaries (internal AND external) of the input mesh. The edges module is useful in that it is able to render lines around adaptive gridding locations whereas external edges does NOT render lines around this portion of the grid.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main input field.
OutputOutput FieldFieldThe field with selected data.
OutputOutput ObjectRenderableA renderable object displaying the selected data.

Properties

PropertyTypeDescription
Color ByChoice: Nodal Data, Solid ColorThe Color By choice allows the user to select how to color the output edges.
Nodal Data ComponentChoiceIf Nodal Data is selected in the Color By choice, the Nodal Data Component will allow the user to select the data component to color by.
Object ColorColorIf Solid Color is selected in the Color By choice, the Object Color allows the user to set the color of the output edges.
Vector ComponentIntegerIf the selected Color By component is a nodal data component in a vector form, the Vector Component will allow the user to select to color by the entire vector (-1) or a single component of the vector.
Use Vector MagnitudeBooleanIf the Use Vector Magnitude toggle is selected then the selected nodal component will be treated as a vector and the magnitude of that vector used to create the output datamap.

bounds

The bounds module generates lines and/or surfaces that indicate the bounding box of a 3D structured field. This is useful when you need to see the shape of an object and the structure of its mesh. This module is similar to external edges (set to edge angle = 60), except bounds allows for placing faces on the bounds of a model.

Bounds has one input port. Data passed to the port must contain any type of structured mesh (a grid definable with IJK resolution and no separable layers). Node Data can be present, but is only used if you switch on Data.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe main input field.
OutputOutput FieldFieldThe field with selected output.
OutputOutput ObjectRenderableA renderable object displaying the selected output.

Properties

PropertyTypeDescription
HullBooleanThe Hull, when on, draws a wireframe around the perimeter extents of the mesh.
EdgesBooleanEdges, when on, causes the I Min/I Max, J Min/J Max, K Min/K Max controls to produce a wireframe representation of the mesh grid at that plane.
FacesBooleanFaces, when on, causes the I Min/I Max, J Min/J Max, K Min/K Max controls to produce a solid face representing the location of that plane extent.
I MinBooleanI Min, when on, displays the grid (Edges turned on) or plane (Faces turned on) on the minimum extent of the I facing plane.
I MaxBooleanI Max, when on, displays the grid (Edges turned on) or plane (Faces turned on) on the maximum extent of the I facing plane.
J MinBooleanJ Min, when on, displays the grid (Edges turned on) or plane (Faces turned on) on the minimum extent of the J facing plane.
J MaxBooleanJ Max, when on, displays the grid (Edges turned on) or plane (Faces turned on) on the maximum extent of the J facing plane.
K MinBooleanK Min, when on, displays the grid (Edges turned on) or plane (Faces turned on) on the minimum extent of the K facing plane.
K MaxBooleanK Max, when on, displays the grid (Edges turned on) or plane (Faces turned on) on the maximum extent of the K facing plane.
DataBooleanData, when on, makes bounds copy the selected component’s nodal data values at node points along the output mesh to the output field. Because the data is present, the bounds lines can be colored by the interpolated data values of the selected nodal data component.
Nodal Data ComponentChoiceIf Data has been turned on the Nodal Data Component will allow the user to select the data component to color by.
Object ColorColorIf Data has not been turned on the Object Color allows the user to set the color of the output.
  • distance to 2d area

    Use a surface representing a region to map data to a field. This allows downstream modules to cut inside or outside of the area.

  • distance to surface

    Map the distance from a surface to the points in a field as data. This allows downstream modules to cut above or below the surface.

  • distance to shape

    Map the distance from the a set shape to the nodes of the input field.

  • buffer distance

    Calculate the 2d distance from every node in the input field to the input line and add this distance as a data component.

  • distance to tunnel center

    Calculate the 3d distance from every node in the input field to the input line and add this distance as a data component.

  • overburden

    Compute the complete volume required to excavate a plume or ore body given the pit wall slope (measured from vertical) and the excavation digging accuracy (we refer to as buffer size).

Subsections of Proximity

distance to 2d area

distance to 2d area receives any 3D field into its left input port and it receives triangulated polygons (from triangulate polygon, or other sources) into its right input port. It adds a data component to the input 3D field representing the signed distance from the boundary of the input area. Using subsetting modules such as plume shell, you can cut structures inside or outside of the input polygons. Only the x and y coordinates of the polygons are used because distance to 2d area cuts a projected slice that is z invariant. distance to 2d area recalculates when either input field is changed or the “Run Once” button is pressed.

The data values are zero (0.0) at the boundaries of the surface, less than zero (negative) inside the surface, and greater than zero (positive) outside of the surface. To get everything inside, you need to choose “Below Level” in the subsetting modules rather than the default “Above Level”.

distance to 2d area does not cut directly. It provides data with which you can then subset using other modules like plume or intersection. Without the subsetting modules after distance to 2d area, the only effect is the addition of a new nodal data component.

distance to 2d area needs a surface as its input. The surface can be complex, meaning that it can have holes in it, or it can be separate disjoint pieces. If you are starting with lines, they must form a truly closed polyline. Once you have one or more closed polylines, pass those through triangulate polylines to create a TIN surface before connecting to distance to 2d area.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to map subsetting data onto.
InputInput AreaFieldThe area to use for subsetting.
OutputOutput FieldFieldThe subset field.

Properties

PropertyTypeDescription
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Allow RunBooleanThe Allow Run toggle causes the module to run whenever your inputs change.
Nested Surface CuttingBooleanThe Nested Surface Cutting toggle allows you to cut doughnut like shapes if you have polygons inside of other polygons.
Boundary Extraction MethodChoice: Edges by Angle, Boundary EdgesThe Boundary Extraction Method determines how the edges are extracted which the signed distances are calculated to. Edges by Angle chooses all edges of cells with an angle greater than the specified angle. Boundary Edges extracts all edges only used by a single cell, which results in edges on the outer boundary of surfaces.
Maximum Edge AngleDoubleThe Maximum Edge Angle is defined as the angle between two faces or cells in the model. Intersections between faces or cells with angles greater than the Maximum Edge Angle will be cut. This should not need to be modified unless your cutting area is highly non-planar (3D). If the cutting results seem aberrant, you should try adjusting this.

distance to surface

distance to surface receives any 3D field into its left input port and it receives a surface (from create tin, surface from horizons, slice, etc.) into its right input port. It adds a data component to the input 3D field referencing the cutting surface. With this new data component you can use a subsetting module like plume to pass either side of the 3D field as defined by the cutting surface, thereby allowing cutting of structures along any surface. The surface can originate from a TIN surface, a slice plane, or a geologic surface. The cutting surface can be multi-valued in Z, which means the surface can have instances where there is more than one z value for a single x, y coordinate. This might occur with a wavy fault surface that is nearly vertical, or a fault surface with recumbent folds.

distance to surface recalculates when either input field is changed or the “Execute” button is pressed.

The general approach with distance to surface is:

  • Create a cutting surface representing either a fault plane, a scouring surface (unconformity), or an excavation.
  • Create a 3D model of the object you wish to cut.
  • Pass the 3D model into the left port of distance to surface, and the cutting surface to the right port of distance to surface and press Execute.

Ports

DirectionNameTypeDescription
InputInput 3D FieldFieldThe field to map data onto.
InputInput SurfaceFieldThe field to use for adding data to the 3D field.
OutputOutput FieldFieldThe subset field.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Reverse Cutting Surface NormalBooleanThe Reverse Cutting Surface Normal toggle flips the normal vector of the cutting surface. In other words, this changes the sign of the surf_cut data component. This is useful for certain applications where you want the distance from the surface to be positive on a particular side.

GPU Options

PropertyTypeDescription
Use GPU For Fast CalculationsBooleanThe Use GPU For Fast Calculations toggle will allow the graphics card of the computer to make certain calculations which can greatly increase the speed of the module. Not all graphics cards can support this. The default for this option can be changed in the options menu.
Force Emulated GPUBooleanThe Force Emulated GPU toggle will allow the system to emulate a more functional graphics card if the computer doesn’t have one which allows certain calculations. The default for this option can be changed in the options menu.
Max Block SizeIntegerThe amount of nodes which will be processed on each GPU pass. Larger numbers run faster, but cause interruptions. Smaller numbers are more likely to succeed on lower end graphics cards.

distance to shape

distance to shape receives any 3D field into its input port and outputs the same field with an additional data component. Using plume shell, you can cut structures with either a cylinder or rotated rectangle. The cutting action is z invariant (like a cookie cutter). Depending on the resolution of the input field, rectangles may not have sharp corners. With rectilinear fields (and non-rotated rectangles), the threshold module can replace plume shell to produce sharp corners (by removing whole cells). plume can be used to output 3D fields for additional filtering or mapping.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to add the shape data to.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe field with added shape data.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Z ScaleDoubleThe Z Scale is the vertical scale that has been applied to the input. This is used for determining default extents.

Shape Settings

PropertyTypeDescription
Shape TypeChoice: Cylindrical, RectangularThe Shape Type allows the user to select the type of shape to generate data from.
X CenterDoubleThe X Center is the x center of the shape to be generated.
Y CenterDoubleThe Y Center is the y center of the shape to be generated.
Z CenterDoubleThe Z Center is the z center of the shape to be generated.
Z HeightDoubleThe height of the shape to be generated can be set using this control.
Cylinder RadiusDoubleIf Shape Type is set to Cylindrical the radius of the cylinder can be set using this control.
X WidthDoubleIf Shape Type is set to Rectangular the width of the rectangle can be set using this control.
Y LengthDoubleIf Shape Type is set to Rectangular the length of the rectangle can be set using this control.
Rectangular RotationDoubleIf Shape Type is set to Rectangular the rotation about the center of the rectangle can be set using this control.

buffer distance

buffer distance receives any 3D field into its left input port and it receives polylines (from read lines, import vector gis, import cad, isolines, or other sources) into its right input port. It adds a data component to the input 3D field representing the 2D distance from each node to the input polylines. Using plume shell, you can cut structures along the path of the input polylines. Only the x and y coordinates of the polylines are used because buffer distance creates data to cut a projected region that is z invariant. buffer distance recalculates when either input field is changed or the “Execute” button is pressed. “Thick Fences” can be produced with the output of this module.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting.
InputInput Fence LineFieldThe line field used to create the fence.
OutputOutput FieldFieldThe subset field.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Limit DepthBooleanLimit Depth allows for setting a Z Min Depth and Z Max Depth thus creating (passing) a fence that only extends to those specified elevations.
Z Min DepthDoubleIf the Limit Depth toggle is selected the Z Min Depth is the minimum cut depth.
Z Max DepthDoubleIf the Limit Depth toggle is selected the Z Max Depth is the maximum cut depth.

distance to tunnel center

The distance to tunnel center module is similar to the distance to surface module in that it receives any 3D field into its left input port, but instead of a surface, it receives a line (along the trajectory of a tunnel, boring, or mineshaft) into its right input port. The distance to tunnel center module then cuts a cylinder, of user-defined radius, along the line trajectory. The algorithm is identical in concept to distance to surface in that it adds a data component to the input 3D field referencing the distance from the line (trajectory). With this new data component you can use a subsetting module like plume volume to pass either portion of the 3D field (inside the cylinder or outside the cylinder), thereby allowing cutting tunnels along any trajectory. The trajectory line can originate from any one of a number of sources such as read lines, import cad, or import vector gis.

The general approach is to subset the distance to tunnel center data component with either constant shell or plume volume. The choice of 1.0 for the subsetting level will result in cutting at the user radius, while less than 1.0 is inside the cylinder wall and greater than 1.0 is outside the cylinder wall.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting.
InputInput Tunnel LineFieldThe line field used to create the tunnel.
OutputOutput FieldFieldThe subset field.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Tunnel RadiusDoubleThe Tunnel Radius is measured as a normal to the trajectory line in model units.

overburden

The overburden module computes the complete volume required to excavate a plume or ore body given the pit wall slope (measured from vertical) and the excavation digging accuracy (referred to as buffer size).

overburden receives any 3D field into its input port and outputs the same field with an additional data component. It computes a new data component based on the nodal values in the 3D field and two user-defined parameter values called Wall Slope and Buffer Size. The data component is subset according to a concentration input (based on the subsetting level you want excavated). For example, once overburden has been run for GOLD at a 45 degree pit wall slope, the user would select the overburden data component and subset all data below 1 ppm to render a 45 degree slope pit which would excavate everything higher than 1 ppm concentration. A volumetrics calculation could be made on these criteria which would encompass the excavation and the ore body above 1 ppm.

overburden creates a data component name that includes the wall slope, module name, and original data component (analyte) name.

The overburden data component may be subset by modules such as plume, isosurface, or plume shell.

Notes:

  • It is much safer and more understandable to work at Z Scale = 1. Otherwise, the apparent angle of your pit will be very different than the input angle. As the Z Scale increases, the angle of pit sidewalls looks more vertical, since the tangent of the apparent angle is the tangent of the actual angle multiplied by the Z Scale.
  • The overburden module must be placed before any scaling modules (such as explode and scale) to ensure an accurate slope angle during computations and subsequent visualizations.
  • The grid resolution and resulting cell aspect ratios are very important. You cannot see any pit wall slope differences if those differences create a slope which is less than one cell wide from the bottom of the pit to the top. Therefore, very high resolutions in X-Y are needed for large sites with shallow pits. Expect long run times for overburden.
  • Angles are defined from the vertical and are specified in degrees. A vertical wall pit is created with an angle of zero (0.0) degrees. A 2:1 pitch slope from horizontal would be an angle whose arctangent = 2.0, which is 63.4 degrees from horizontal, so you would enter 26.6 degrees (from vertical).

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for subsetting.
OutputOutput FieldFieldThe subset field.
OutputWall SlopeNumberWall Slope is the angle measured from vertical whereby 0 is vertical and 90 is horizontal.
OutputBuffer SizeNumberBuffer Size is the accuracy level resulting in the amount of excavation outside the subsetting level of interest.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
ExecuteButtonThe Execute button forces the module to run even when Allow Run has been turned off.
Wall SlopeDoubleWall Slope sets the angle measured from vertical whereby 0 is vertical and 90 is horizontal.
Create Plume BufferBooleanThe Create Plume Buffer toggle determines if the overburden computations are rigorous and determines the buffer on all sides of the plume (ore body). If this is off, the module runs much quicker.
Buffer SizeDoubleThe Buffer Size sets the accuracy level resulting in the amount of excavation outside the subsetting level of interest. For example, a value of 10.0 would result in 10 feet of over-excavation from the subsetting level of interest.
Nodal DataChoiceThe Nodal Data control lets the user set the analyte of interest.
  • node computation

    Performs mathematical operations on nodal data fields and coordinates using Python scripts.

  • cell computation

    Performs mathematical operations on cell data in fields using Python scripts.

  • combine nodal data

    Creates a new set of nodal data components by selecting components from up to six separate input data fields.

  • interpolate data

    Interpolates nodal and/or cell data from a source field onto a destination field.

  • compute thickness

    Computes the thickness of complex plumes or cell sets such as lithologic materials.

  • translate by data

    Translates a field's coordinates in x, y, or z based on a nodal or cell data component or a constant.

  • cell data to node data

    Translates cell data components to nodal data components.

  • node data to cell data

    Translates nodal data components to cell data components.

  • shrink cells

    Produces a mesh containing disjoint cells which can be optionally shrunk relative to their geometric centers.

  • cell centers

    Produces a mesh of point cells representing the geometric centers of each cell in the input.

  • connectivity assessment

    Assigns data and subsets all or selected discrete (disconnected) regions of plumes or lithologic materials.

Subsections of Processing

node computation

The node computation module is used to perform mathematical operations on nodal data fields and coordinates. Data values can be used to affect coordinates (x, y, or z) and coordinates can be used to affect data values.

Up to two fields can be input to node computation. Mathematical expressions can involve one or both of the input fields. Fields must be identical grids, meaning they must have the same number of nodes and cells, otherwise the results will not make sense.

Nodal data input to each of the ports is normally scalar, however if a vector data component is used, the values in the expression are automatically the magnitude of the vector (which is a scalar). If you want a particular component of a vector, insert an extract scalar module before connecting a vector data component to node computation. The output is always a scalar. If a data field contains more than one data component, you may select from any of them.

The equation(s) used to modify data and/or coordinates must be input as part of a Python script. Each nodal data component from Input Field 1 is assigned as a variable (An0, An1, An2, etc.), and from Input Field 2 as Bn0, Bn1, Bn2, etc. Coordinate variables (Ax, Ay, Az for Field 1 and Bx, By, Bz for Field 2) and min/max range variables are also available.

Ports

DirectionNameTypeDescription
InputInput Field 1FieldA field.
InputInput Field 2FieldA field.
InputInput Value N1NumberA value to use as a variable.
InputInput Value N2NumberA value to use as a variable.
InputInput Value N3NumberA value to use as a variable.
InputInput Value N4NumberA value to use as a variable.
OutputOutput Value N1NumberA value to use as a variable.
OutputOutput Value N2NumberA value to use as a variable.
OutputOutput Value N3NumberA value to use as a variable.
OutputOutput Value N4NumberA value to use as a variable.
OutputOutput FieldFieldThe Output Field with solved expression data.
OutputOutput ObjectRenderableA renderable object displaying the solved expression data.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
FilenameStringThe script which is run once per node, and the values set within the script are assigned to the coordinates and data of the resulting field.
ExecuteButtonAccept all values and perform interpolation. If this button is clicked and the application saved, the module will run when the application is loaded.

Output

PropertyTypeDescription
Affect CoordinatesBooleanWhen on, the script can set the X, Y, and Z coordinates. Leaving this off results in more efficient operation when the script only creates data.
Data DefinitionsData DefinitionsThe data you wish to generate in addition to coordinates.

Variables

PropertyTypeDescription
N1DoubleNumber passed into script.
N2DoubleNumber passed into script.
N3DoubleNumber passed into script.
N4DoubleNumber passed into script.
Nodal Computation Variables 1DisplayThe variables available for computation from Input Field 1. Shows coordinate variables, node number, min/max range variables, and all nodal data components.
Nodal Computation Variables 2DisplayThe variables available for computation from Input Field 2. Shows coordinate variables, node number, min/max range variables, and all nodal data components.

cell computation

The cell computation module is used to perform mathematical operations on cell data in fields. Unlike node computation, it cannot affect coordinates.

Though data values cannot be used to affect coordinates (x, y, or z), the cell center (average of nodes) coordinates can be used to affect data values.

Up to two fields can be input to cell computation. Mathematical expressions can involve one or both of the input fields. Cell data input to each of the ports is scalar. If a data field contains more than one data component, you may select from any of them.

The equation(s) used to modify data must be input as part of a Python script. Each cell data component from Input Field 1 is assigned as a variable (Ac0, Ac1, Ac2, etc.), and from Input Field 2 as Bc0, Bc1, Bc2, etc. Cell center coordinate variables (Ax, Ay, Az for Field 1 and Bx, By, Bz for Field 2) and min/max range variables are also available.

Ports

DirectionNameTypeDescription
InputInput Field 1FieldA field.
InputInput Field 2FieldA field.
InputInput Value N1NumberA value to use as a variable.
InputInput Value N2NumberA value to use as a variable.
InputInput Value N3NumberA value to use as a variable.
InputInput Value N4NumberA value to use as a variable.
OutputOutput Value N1NumberA value to use as a variable.
OutputOutput Value N2NumberA value to use as a variable.
OutputOutput Value N3NumberA value to use as a variable.
OutputOutput Value N4NumberA value to use as a variable.
OutputOutput FieldFieldThe Output Field with solved expression data.
OutputOutput ObjectRenderableA renderable object displaying the solved expression data.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
FilenameStringThe script which is run once per cell, and the values set within the script are assigned to the cell data of the resulting field.
ExecuteButtonAccept all values and perform interpolation. If this button is clicked and the application saved, the module will run when the application is loaded.

Output

PropertyTypeDescription
Data DefinitionsData DefinitionsThe data you wish to generate in addition to coordinates.

Variables

PropertyTypeDescription
N1DoubleNumber passed into script.
N2DoubleNumber passed into script.
N3DoubleNumber passed into script.
N4DoubleNumber passed into script.
Cell Computation Variables 1DisplayThe variables available for computation from Input Field 1. Shows cell center coordinate variables, cell number, min/max range variables, and all cell data components.
Cell Computation Variables 2DisplayThe variables available for computation from Input Field 2. Shows cell center coordinate variables, cell number, min/max range variables, and all cell data components.

combine nodal data

The combine nodal data module is used to create a new set of nodal data components by selecting components from up to six separate input data fields. The mesh (x-y-z coordinates) from the first input field (Model Field) will be the mesh in the output. The input fields should have the same scale and origin, and number of nodes in order for the output data to have any meaning. This module is useful for combining data contained in multiple field ports or files, or from different Kriging modules.

Ports

DirectionNameTypeDescription
InputModel FieldFieldThe main field to add components to.
InputInput Field 1FieldA field with nodal data to combine with the Model Field.
InputInput Field 2FieldA field with nodal data to combine with the Model Field.
InputInput Field 3FieldA field with nodal data to combine with the Model Field.
InputInput Field 4FieldA field with nodal data to combine with the Model Field.
InputInput Field 5FieldA field with nodal data to combine with the Model Field.
OutputOutput FieldFieldThe main Model Field with added components.
OutputOutput ObjectRenderableA renderable object displaying the Model Field with added component data.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Model ComponentsMulti-selectThe Model Components control allows the user to select which nodal data components to include, from the relative input field, in the output.
Components 1Multi-selectThe Components 1 control allows the user to select which nodal data components to include, from the relative input field, in the output.
Components 2Multi-selectThe Components 2 control allows the user to select which nodal data components to include, from the relative input field, in the output.
Components 3Multi-selectThe Components 3 control allows the user to select which nodal data components to include, from the relative input field, in the output.
Components 4Multi-selectThe Components 4 control allows the user to select which nodal data components to include, from the relative input field, in the output.
Components 5Multi-selectThe Components 5 control allows the user to select which nodal data components to include, from the relative input field, in the output.

interpolate data

The interpolate data module interpolates nodal and/or cell data from a 3D or 2D field to either a 2D mesh or 1D line. Typical uses of this module are mapping of data from a 3D mesh onto a geologic surface or a 2D fence section. In these applications the 2D surface(s) simply provide the new geometry (mesh) onto which the adjacent nodal values are interpolated. The primary requirement is that the data be equal or higher dimensionality than the mesh to be interpolated onto. For instance, if the user has a 2D surface with nodal data (perhaps z values), then a 1D line may be input and the nearest nodal values from the 2D surface will be interpolated onto it.

This module supplants the deprecated interpolate nodal data and interpolate cell data modules.

Ports

DirectionNameTypeDescription
InputInput Destination FieldFieldThe field to interpolate data to.
InputInput Data FieldFieldThe field to use for data.
OutputOutput FieldFieldThe field with data interpolated.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonIf Allow Run is turned off the Execute button will force the module to run once with the current settings.
MethodChoice: Accurate, Nearest NeighborThe Method option controls how the closest cell to a point or cell is determined. The Nearest Neighbor option finds closest cells by using distances to cell nodes to interpolate node data and cell centers to interpolate cell data. This method is fast but may not select the accurate neighbor in all cases and also cannot reject nodes and cells outside the volume. The Accurate option finds the cell containing a point within its bounds and uses its nodes to interpolate node data and the cell itself to interpolate cell data. This method is slower but will yield accurate results.
Remove Nodes Outside VolumeBooleanThe Remove Nodes Outside Volume control tells the algorithm what to do with nodes or cells from the Input Destination Field that fall outside of the coordinate range of the Input Data Field.
Node Data To InterpolateMulti-selectThe Node Data To Interpolate control is used to select which scalar nodal data component is to be interpolated onto the surface or line of interest.
Node Data To IncludeMulti-selectThe Node Data To Include control lists all of the node data from the Input Destination Field that can be included in the output. This data will occur after the interpolated data in the field.
Cell Data To InterpolateMulti-selectThe Cell Data To Interpolate control is used to select which scalar cell data component is to be interpolated onto the surface or line of interest.
Cell Data To IncludeMulti-selectThe Cell Data To Include control is used to select which scalar data component is to be interpolated onto the surface or line of interest.

compute thickness

The compute thickness module allows you to compute the thickness of complex plumes or cell sets such as lithologic materials.

The right input port (Input Volume) must have a 3D field as input, since there is no concept of thickness associated with 2D or 3D surfaces. Volumetric inputs can be plume shell or intersection shell objects which are hollow; thickness will be determined based upon the apparent thickness of the plume elements. When 3D shells are input, they must be closed objects.

Determining thickness of arbitrary volumetric objects is a very computationally intensive operation. You can use this module to compute thickness in two primary ways:

  • Compute the thickness distribution of a 3D object and project that onto a 2D surface (generally at the ground surface). A surface (such as from geologic surface) would connect to the Input Field port, and the volumetric object connects to the Input Volume port.
  • Compute the thickness distribution of a 3D object and project that onto the same object. The volumetric object connects to both the Input Field and Input Volume ports.

In all cases run times can be long. Coarser grids and the first option will run faster, but the complexity and resolution of the volumetric object will be the major factor in the computation time.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling to counter in the thickness calculation.
InputInput FieldFieldThe field to map thickness data onto.
InputInput VolumeFieldThe field to determine thickness data from.
OutputOutput FieldFieldThe surface with mapped thickness data.

Properties

PropertyTypeDescription
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Allow RunBooleanThe Allow Run toggle causes the module to run whenever your inputs change.
Z ScaleDoubleThe Z Scale present in the model to counter in the thickness calculation.

translate by data

The translate by data module accepts nearly any mesh and translates the grid in x, y, or z based upon either a nodal or cell data component or a constant. The interface enables changing the scale factor for z translates to accommodate an overall z exaggeration in your applications.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field to translate.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing the translated field.
OutputOutput ObjectRenderableA renderable object displaying the translated field.

Properties

PropertyTypeDescription
Translation MethodChoice: Translate Coordinates, Set Coordinate PositionThe Translation Method allows the user to choose between setting the coordinates or translating the coordinates.
Translation ByChoice: Constant, Cell Data Component, Node Data ComponentThe Translation By control allows the user to set the basis for translation.
Constant ValueDoubleThe Constant Value is a set value to translate by when the Constant option is selected.
Cell Data ComponentChoiceThe Cell Data component allows the user to set a variable data component to translate by when Translate By is set to Cell Data Component.
Node Data ComponentChoiceThe Node Data component allows the user to set a variable data component to translate by when Translate By is set to Node Data Component.
Z ScaleDoubleZ scale is the scaling factor for vertical (z) coordinates. When translating by a Constant, the amount is affected by the Z Scale. If translating along any axis other than z, it is unlikely that you want to use the Z Exaggeration factor used elsewhere in your application.
Translation InChoice: X, Y, ZThe Translation In control allows the user to set the axis of translation.

Data Selection

PropertyTypeDescription
Color ByChoice: Node Data, Cell Data, Solid ColorThe Color By control allows the user to set how the color of the output should be determined.
Nodal Data ComponentChoiceIf Color By is set to Node Data the Nodal Data Component selects which nodal data will set the data map.
Cell Data ComponentChoiceIf Color By is set to Cell Data the Cell Data Component selects which cell data will set the data map.
Object ColorColorIf Color By is set to Solid Color the Object Color will set the data map.
Vector ComponentIntegerIf Color By is set to either Node Data or Cell Data the Vector Component allows the user to use just a single component of a vector data to set the data map.
Use Vector MagnitudeBooleanIf Color By is set to either Node Data or Cell Data the Use Vector Magnitude allows the user to use the magnitude of a vector data to set the data map.

cell data to node data

The cell data to node data module is used to translate cell data components to nodal data components. Cell data components are data components which are associated with cells rather than nodes. Most modules in EVS that deal with analytical or continuum data support node based data. Therefore, cell data to node data can be used to translate cell based data to a nodal data structure consistent with other EVS modules.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing cell data to interpolate.
OutputOutput FieldFieldA field containing the interpolated cell data.
OutputOutput ObjectRenderableA renderable object displaying the output field.

Properties

PropertyTypeDescription
Separate CellsBooleanThe Separate Cells toggle will force any cells with shared nodes to separate preventing any blurring of values between cells.
Cell Data ComponentsMulti-selectThe Cell Data Components control allows the user to select which cell data to interpolate.
Output Cell DataChoice: Preserve All Cell Data, Remove Converted Cell Data, Remove All Cell DataThe Output Cell Data option allows the user to specify how to handle input cell data in the output.

node data to cell data

The node data to cell data module is used to translate nodal data components to cell data components. Cell data components are data components which are associated with cells rather than nodes. Most modules in EVS that deal with analytical or continuum data support node based data, and those that deal with geology (lithology) tend to use cell data. Therefore, node data to cell data can be used to translate nodal data to cell data.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for conversion.
OutputOutput FieldFieldThe field containing the mapped data and the converted cell data.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run Toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Node Components To ConvertMulti-selectThe Node Components To Convert control allows the user to select which nodal data to convert to cell data.
Output Nodal DataChoice: Preserve All Node Data, Remove Converted Node Data, Remove All Node DataThe Output Nodal Data option allows the user to specify how to handle input nodal data in the output.
Conversion TypeChoice: Average Values, Majority ValuesThe Conversion Type allows the user to specify which type of conversion algorithm to use. The first choice is the average value of the nodes connected to each cell. The second choice is to use the value that most nodes have in common; if the nodes all have unique values the smallest value is used.

shrink cells

The shrink cells module produces a mesh containing disjoint cells which can be optionally shrunk relative to their geometric centers. It creates duplicate nodes for all cells that share the same node, making them disjoint. If the Shrink Cells toggle is set, the module computes new coordinates for the nodes based on the specified scale factor (which specifies the scale relative to the geometric centers of each cell). The scale factor can vary from 0 to 100 percent, with 100 percent producing non-shrunk cells and 0 producing completely collapsed cells (points). This module is useful for separate viewing of cells comprising a mesh.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field to shrink or disjoint.
OutputOutput FieldFieldA field containing the shrunk and/or disjointed field.
OutputOutput ObjectRenderableA renderable object displaying the shrunk and/or disjointed field.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonIf Allow Run is turned off the Execute button will force the module to run once with the current settings.
Shrink CellsBooleanThe shrink toggle, if off, results in an output mesh which contains disjoint cells with the same coordinates as the input mesh. If set on, the module computes new coordinates for the nodes based on the shrink factor that specifies the scale relative to the geometric centers of each cell.
Scale FactorDoubleThe Scale Factor slider is used to adjust the sizes of the cells. The scale factor value specifies the scale relative to the geometric centers of each cell.

cell centers

The cell centers module produces a mesh containing a Point cell set, each point of which represents a geometrical center of a corresponding cell in the input mesh. The coordinates of cell centers are calculated by averaging coordinates of all the nodes of a cell. The number of nodes in the output mesh is equal to the number of cells in the input mesh. If the input mesh contains cell data it becomes node data in the output mesh with each node value equal to the corresponding cell value. Nodal data is not output directly.

You can use this module to create a position mesh for the glyphs at nodes module. You may also use this module as mesh input to the interpolate data module, then send the same nodal values as the input grid, to create interpolated nodal values at cell centroids.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field to generate centers from.
OutputOutput FieldFieldA field containing the cell centers.
OutputOutput ObjectRenderableA renderable object displaying the cell centers.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonIf Allow Run is turned off the Execute button will force the module to run once with the current settings.
Color ByChoice: Node Data, Cell Data, Solid ColorThe Color By control allows the user to set how the color of the output should be determined.
Nodal Data ComponentChoiceIf Color By is set to Node Data the Nodal Data Component selects which nodal data will set the data map.
Vector ComponentIntegerIf Color By is set to Node Data the Vector Component allows the user to use just a single component of a vector data to set the data map.
Use Vector MagnitudeBooleanIf Color By is set to Node Data the Use Vector Magnitude allows the user to use the magnitude of a vector data to set the data map.
Object ColorColorIf Color By is set to Solid Color the Object Color will set the data map.

connectivity assessment

The connectivity assessment module allows you to assign data and subset all (or selected) discrete (disconnected) regions of plumes or lithologic materials.

When subsets of models are created, either based upon analytical data, stratigraphic or lithologic modeling, these subsets often exist as several disjoint pieces. In the case of analytical (e.g., contaminant) plumes, the number and size of regions can strongly depend on the subsetting level. With lithologic models, the number and size of the regions depends on the complexity of the lithologic data and the modeling parameters.

The connectivity assessment module assigns a new data component to these disconnected regions. The pieces are sorted based upon the number of cells in each piece. This is generally well correlated to the volume of that region, but it is possible that the region with the most cells may not have the greatest volume. The highest cell count region is assigned to 0 (zero) and regions with descending cell counts are assigned higher integer values.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field.
OutputOutput FieldFieldThe main output field containing regions and region ID data.
OutputOutput ObjectRenderableA renderable object displaying the selected regions.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle controls whether the module will run when applications are loaded or data changes. When this is on, the module runs when applications are loaded or the Execute button is pushed (or the geology input changes). When it is off, the module will not run unless Execute is pressed.
ExecuteButtonThe Execute button forces the module to run. If this has been pressed and the application saved, it will cause the module to run when the application is loaded.

Connectivity Settings

PropertyTypeDescription
Merge Cell SetsBooleanMerges cell sets such as stratigraphic layers or lithologic materials. Generally should be on when dealing with analytical data.
Assessment ModeChoice: Add Region ID Data, Subset By Region ID, Region Closest to Point, Region With Most CellsDetermines the criteria for subsetting of regions and/or assigning data. Add Region ID Data does not subset, but assigns Cell Data corresponding to cell counts. Subset By Region ID isolates specified regions. Region Closest to Point isolates the region closest to the Point Coordinate. Region With Most Cells outputs Region ID 0.
Point CoordinateCoordinate 3DSpecifies the X, Y, Z coordinate to be used for Closest Region.
Region IDsInteger ListSpecifies the IDs of the regions if Selection Mode is set to Subset By Region ID.
  • read evs field

    Read a dataset from any of six different EVS compatible file formats into an EVS field.

  • import vtk

    The import VTK module reads a dataset from the VTK format.

  • import cad

    Read all versions of AutoCAD DWG and DXF files as well as Microstation DGN files.

  • import vector gis

    Reads vector file formats such as shapefiles.

  • import raster as horizon

    Read several different raster format files as a single horizon.

  • buildings

    Create 3d buildings interactively or from a file.

  • read lines

    Read a series of points with data connected by lines.

  • read strike and dip

    Read sampled locations with strike and dip values.

  • read glyph

    Reads glyphs saved in any of the three primary EVS field file formats.

  • import geometry

    Reads topology from geometry files, such as wavefront obj, for modeling.

Subsections of Import

read evs field

read evs field reads a dataset from the primary and legacy file formats created by write evs field.

  • .EF2: The only Lossless format for models created in 2024 and later versions
  • .eff ASCII format, best if you want to be able to open the file in an editor or print it. For a description of the .EFF file formats click here.
  • .efz GNU Zip compressed ASCII, same as .eff but in a zip archive
  • .efb binary compressed format, the smallest & fastest format due to its binary form

Output Quality: An important feature of read evs field is the ability to specify two separate files which correspond to High Quality (e.g. fine grids) and Low Quality (e.g. coarse grids a.k.a. fast).

You can see that read evs field is specifying two different EFB files. The Output Quality is set to Highest Quality and is Linked (black circle). The viewer shows:

If we change the Output Quality on the Home Tab

It changes the setting in read evs field and the viewer changes to show:

Though you “can” change the Output Quality in read evs field, it is best to change it on the Home Tab to make sure that all read evs field modules in your application will have the same setting. This is not relevant to this simple application, but if we were using a cutting surface (saved as fine and coarse EFBs) and doing distance to surface operations on a very large grid, this synchronization would be important.

read evs field effectively has explode_and_scale and an external_faces module built in. This allows the module to perform Z Scaling, Exploding, Nodal or Cell data selection, and selection of cell sets.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
InputInput ExplodeNumberThe value used for separating output based on geology.
OutputFile NotesStringText containing the notes stored in the file.
OutputOutputFieldA field containing EVS field file contents.
OutputOutput ObjectRenderableA renderable object displaying the EVS field file contents.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ExplodeNumberThe value used for separating output based on geology.

Properties

PropertyTypeDescription
FilenameStringThe field file to read.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Allow RunBooleanThe Allow Run toggle, when deselected, will prevent the module from running.
Output QualityChoice: Highest Quality, FastThe output quality setting controls whether to use the high quality or low quality file.
Low Quality FilenameStringThe field file to read when in low output quality mode.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.
ExplodeDoubleThe Explode value is the distance between exploded layers, cell sets or materials. For example, an explode distance of 20 will separate each geologic layer by 20 feet from the layer above it and the layer below it. Note that the explode distance incorporates the scale factor, so that if a scaling factor of 5 is specified for a 10 foot thick layer to which an explode factor of 20 is applied, the geologic layers will be separated by 100 feet.
Vertical OffsetDoubleVertical Offset translates your entire model in Z by the value input multiplied by the Z Exaggeration. This is useful if you want to move your model to avoid having coincident objects.
Handle Application OriginBooleanThe Handle Application Origin setting controls whether the geometry in an EF2 file is automatically translated to application origin or read without any modifications.

Explode And Scale Settings

PropertyTypeDescription
Explode ByChoice: Layer, Material, Cell Set, LithologyThe Explode By options determine what information is used to explode the layers or materials. Layer and Material are nodal data components that should be present with any hierarchical geologic model. The Cell Set option allows you to explode by the Cell Set number. The Lithology option is to be used only with Adaptive Indicator Kriged geologic models. These models have a cell data component called Lithology which corresponds to integer values assigned to material regions.
Explode BeginsIntegerExplode Begins determines the first layer or material that will be exploded.
Explode EndsIntegerExplode Ends sets the last layer/material which will be exploded. This value defaults to -1 which will explode all remaining layers or materials.
Cell SetsMulti-selectThe Cell Sets control allows selected cell sets to be turned off in the output.

File Information

PropertyTypeDescription
AuthorStringDisplay the Author of the file.
OrganizationStringDisplay the Organization of the file.
Project NameStringDisplay the Project Name of the file.
RestrictionsStringDisplay the Restrictions information of the file.
StatusStringDisplay the Status information of the file.
Creation DateStringDisplay the Creation Date if it is set in the file.
DescriptionStringDisplay the Description of the file.
File NotesStringDisplay the File Notes if they are set in the file.
  • EFF File

    EVS Field File Formats and Examples EVS Field file formats supplant the need for UCD, netCDF, Field (.fld), EVS_Geology by incorporating all of their functionality and more in a new file format with three mode options. .eff ASCII format, best if you want to be able to open the file in an editor or print it

Subsections of read evs field

EVS Field File Formats and Examples

EVS Field file formats supplant the need for UCD, netCDF, Field (.fld), EVS_Geology by incorporating all of their functionality and more in a new file format with three mode options.

  1. .eff ASCII format, best if you want to be able to open the file in an editor or print it

  2. .efz GNU Zip compressed ASCII, same as .eff but in a zip archive

  3. .efb binary compressed format, the smallest & fastest format due to its binary form

Here are the tags available in an EVS field file, in the appropriate order. Note that no file will contain ALL these tags, as some are specific to the type of field (based on definition). The binary file format is undocumented and exclusively used by C Tech’s write evs field module.

If the file is written compressed, the .efz file (and any split, extra data files) will all be compressed. The compression algorithm is compatible with the free gzip/gunzip programs or WinZip, so the user can uncompress a .efz file and get an .eff file at will. The .efb file is also compressed (hence its very small size), but uncompressing this file will not make it human-readable.

EVS Field Files

EVS Field Files consist of file tags that delineate the various sections of the file(s) and data (coordinates, nodal and/or cell data, and connectivity). The file tags are discussed below followed by portions of a few example files.

FILE TAGS:

The file tags for the ASCII file formats (shown in Bold Italics) are discussed below with a representative example. They are given in the appropriate order. If you need assistance creating software to write these file formats, please contact support@ctech.com.

DATE_CREATED(optional) 7/16/2004 1:57:55 PM

The creation date of the file.

EVS_FIELD_FILE_NOTES_START (optional)

Insert your Field file notes here.

EVS_FIELD_FILE_NOTES_END

This is the file description block. These notes are used to describe the contents of the Field file. The entire block is optional, however if you wish to use notes then both the starting and end tag are required.

DEFINITION Mesh+Node_Data

This is the type of field we are creating. Typically options are:

  1. Mesh+Node_Data

  2. Mesh+Cell_Data

  3. Mesh+Node_Data+Cell_Data

  4. Mesh_Struct+Node_Data (Geology)

  5. Mesh_Unif+Node_Data (Uniform field)

NSPACE 3

nspace of the output field. Typically 3, but 2 in the case of geology or an image

NNODES 66355

Number of nodes. Not used for Mesh_Struct of Mesh_Unif

NDIM 2

Number of dimensions in a Mesh_Struct or Mesh_Unif

DIMS 41 41

The dimensions for a mesh_struct or uniform field

POINTS 11061.528999 12692.304504 -44.049999 11611.330994 13098.105469 11.500000

The lower left and upper right corner of a uniform field (Mesh_Unif only)

COORD_UNITS “ft”

Coordinate Units

NUM_NODE_DATA 7

Number of nodal data components

NUM_CELL_DATA 1

Number of cell data components

NCELL_SETS 5

Number of cell sets

NODES FILE “test_split.xyz” ROW 1 X 1 Y 2 Z 3

Nodes section is starting. If it says “NODES IN_FILE”, the nodes follow (x/y/z) on the next nnodes rows, otherwise, the line will say FILE “filename” ROW 1 X 1 Y 2 Z 3, which is the file to get the coordinates, the row to start at (1 is first line of file), and the columns containing your X, Y, and Z values

NODE_DATA_DEF 0 “TOTHC” “log_ppm” MINMAX -3 4.592 FILE “test_split.nd” ROW 1 COLS 1

NODE_DATA_DEF specifies the definition of a nodal data component. The second word is the data component number, the third is the name, the 4th is the units, then it will either say IN_FILE (which means that it will start after a NODE_DATA_START tag) or the file information. Other options are:

  1. MINMAX - two numbers follow which are the data minimum and maximum. This behaves much like the set_min_max module.

  2. If this is vector data, there will be a VECLEN 3 tag in there, and COLS will need to have 3 numbers following it (for each component of the vector)

  3. NODE_DATA_START. All the node data components that are specified IN_FILE are listed in order after this tag.

CELL_SET_DEF 0 8120 Hex “Fill” MINMAX 1 14 FILE “test_split.conn” ROW 1

Definition of a cell set. 2nd word is cell set number, 3rd is number of cells, 4th is type, 5th is the name, then its either IN_FILE (which means they will be listed in order by cell set), or the FILE “filename” section and a row to begin reading from. Other options are:

  1. MINMAX - two numbers follow which are the data minimum and maximum. This behaves much like the cell_set_min_max module.

  2. CELL_START. Start of all the cell set definitions that are specified IN_FILE.

CELL_DATA_DEF 0 “Indicator” “Discreet Unit” FILE “test_split.cd” ROW 1 COLS 1

Definition of cell data. Same options as NODE_DATA_DEF

CELL_DATA_START

Start of all cell data that is specified as IN_FILE

LAYER_NAMES “Top” “Fill” “Silt” “Clay” “Gravel” “Sand”

Allows you to specify the names associated with surfaces (layers)

MATERIAL_MAPPING “1|Silt” “2|Fill” “3|Clay” “4|Sand” “5|Gravel”

Allows you to specify the Material_ID and the associated material names. Note that each number/name pair is in quotes, with the name separated from the number by the pipe “|” symbol.

END

Marks the end of the data section of the file. (Allows us to put a password on .eff files)

EVS Field File Examples:

Because EVS Field Files can contain so many different types of grids, it is beyond the scope of our help system to include every variant.

3d estimation - EFF file representing a uniform field: The file below is an abbreviated example of writing the output of 3d estimation having kriged a uniform field (which can be volume rendered). Large sections of the data regions of this file are omitted to save space. This is represented by sections of the file with “*** omitted ***” replacing many lines of data.

DEFINITION Mesh_Unif+Node_Data

NSPACE 3

NDIM 3

DIMS 41 41 35

COORD_UNITS “ft”

NUM_NODE_DATA 7

POINTS 11281.910004 12211.149994 -29.900000 12515.890015 13259.449951 0.900000

NODE_DATA_DEF 0 “VOC” “log_ppm” IN_FILE

NODE_DATA_DEF 1 “Confidence-VOC” “linear_%” IN_FILE

NODE_DATA_DEF 2 “Uncertainty-VOC” “linear_Unc” IN_FILE

NODE_DATA_DEF 3 “Geo_Layer” “linear_” IN_FILE

NODE_DATA_DEF 4 “Elevation” “linear_ft” IN_FILE

NODE_DATA_DEF 5 “Layer Thickness” “linear_ft” IN_FILE

NODE_DATA_DEF 6 “Material_ID” “linear_” IN_FILE

NODE_DATA_START

-2.357487 34.455845 2.325005 0.000000 -29.900000 30.799999 0.000000

-3.000000 34.977974 0.000000 0.000000 -29.900000 30.799999 0.000000

-3.000000 35.603794 0.000000 0.000000 -29.900000 30.799999 0.000000

***** OMITTED *****

-3.000000 30.056839 0.000000 0.000000 0.900000 30.799999 0.000000

-3.000000 29.858747 0.000000 0.000000 0.900000 30.799999 0.000000

-3.000000 29.673925 0.000000 0.000000 0.900000 30.799999 0.000000

END

3d estimation - EFF Split file representing a uniform field: The file below is a complete example of writing the output of 3d estimation having kriged a uniform field (which can be volume rendered). Note that the .EFF file is quite small, but references the data in a separate file named krig_3d_uniform_split.nd.

DEFINITION Mesh_Unif+Node_Data

NSPACE 3

NDIM 3

DIMS 41 41 35

COORD_UNITS “ft”

NUM_NODE_DATA 7

POINTS 11281.910004 12211.149994 -29.900000 12515.890015 13259.449951 0.900000

NODE_DATA_DEF 0 “VOC” “log_ppm” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 1

NODE_DATA_DEF 1 “Confidence-VOC” “linear_%” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 2

NODE_DATA_DEF 2 “Uncertainty-VOC” “linear_Unc” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 3

NODE_DATA_DEF 3 “Geo_Layer” “linear_” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 4

NODE_DATA_DEF 4 “Elevation” “linear_ft” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 5

NODE_DATA_DEF 5 “Layer Thickness” “linear_ft” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 6

NODE_DATA_DEF 6 “Material_ID” “linear_” FILE “krig_3d_uniform_split.nd” ROW 1 COLS 7

END

Large sections of the data regions of the data file krig_3d_uniform_split.nd are omitted below to save space. This is represented by sections of the file with “*** omitted ***” replacing many lines of data.

-2.357487 34.455845 2.325005 0.000000 -29.900000 30.799999 0.000000

-3.000000 34.977974 0.000000 0.000000 -29.900000 30.799999 0.000000

-3.000000 35.603794 0.000000 0.000000 -29.900000 30.799999 0.000000

***** OMITTED *****

-3.000000 30.056839 0.000000 0.000000 0.900000 30.799999 0.000000

-3.000000 29.858747 0.000000 0.000000 0.900000 30.799999 0.000000

-3.000000 29.673925 0.000000 0.000000 0.900000 30.799999 0.000000

gridding and horizons & 3d estimation - EFF file representing multiple geologic layers with analyte (e.g. chemistry): The file below is an abbreviated example of writing the output of 3d estimation having kriged analyte (e.g. chemistry) data with geology input. Large sections of the data regions of this file are omitted to save space. This is represented by sections of the file with “*** omitted ***” replacing many lines of data.

NSPACE 3

NNODES 66355

COORD_UNITS “ft”

NUM_NODE_DATA 7

NCELL_SETS 5

NODES IN_FILE

11153.998856 12722.725708 2.970446

11161.871033 12715.198792 2.783408

11169.743210 12707.671875 2.594242

***** OMITTED *****

11250.848221 12865.266907 -42.575920

11248.750000 12870.909973 -42.000000

11243.389938 12870.020935 -42.474934

NODE_DATA_DEF 0 “TOTHC” “log_mg/kg” IN_FILE

NODE_DATA_DEF 1 “Confidence-TOTHC” “linear_%” IN_FILE

NODE_DATA_DEF 2 “Uncertainty-TOTHC” “linear_Unc” IN_FILE

NODE_DATA_DEF 3 “Geo_Layer” “Linear_” IN_FILE

NODE_DATA_DEF 4 “Elevation” “Linear_ft” IN_FILE

NODE_DATA_DEF 5 “Layer Thickness” “Linear_ft” IN_FILE

NODE_DATA_DEF 6 “Material_ID” “Linear_” IN_FILE

NODE_DATA_START

-0.777059 27.239126 15.861248 0.000000 2.970446 8.270601 2.000000

-0.661227 27.349216 16.503609 0.000000 2.783408 8.270658 2.000000

-0.288564 27.512394 18.822187 0.000000 2.594242 8.261375 2.000000

***** OMITTED *****

2.886921 69.551514 1.128253 4.000000 -42.575920 13.628321 4.000000

3.113943 99.999977 0.000000 4.000000 -42.000000 13.654032 4.000000

3.070153 72.869553 0.841437 4.000000 -42.474934 13.646055 4.000000

CELL_SET_DEF 0 8120 Hex “Fill” IN_FILE

CELL_SET_DEF 1 14680 Hex “Silt” IN_FILE

CELL_SET_DEF 2 6502 Hex “Clay” IN_FILE

CELL_SET_DEF 3 11284 Hex “Gravel” IN_FILE

CELL_SET_DEF 4 14412 Hex “Sand” IN_FILE

CELL_START

0 1 42 41 1681 1682 1723 1722

1 2 43 42 1682 1683 1724 1723

2 3 44 43 1683 1684 1725 1724

***** OMITTED *****

54462 54503 66349 66348 56143 56184 66353 66352

54503 54502 66350 66349 56184 56183 66354 66353

54502 54461 66347 66350 56183 56142 66351 66354

END

Post_samples - EFF file representing spheres: The file below is a complete example of writing the output of post_samples’ blue-black field port having read the file initial_soil_investigation_subsite.apdv. This data file has 99 samples with data that was log processed. If this file is read by read evs field. It creates all 99 spheres colored and sized as they were in Post_samples. The tubes and any labeling are not included in the field port from which this file was created.

DEFINITION Mesh+Node_Data

NSPACE 3

NNODES 99

COORD_UNITS “units”

NUM_NODE_DATA 2

NCELL_SETS 1

NODES IN_FILE

11566.340027 12850.590027 -10.000000

11566.340027 12850.590027 -70.000000

11566.340027 12850.590027 -160.000000

11586.340027 13050.589966 -10.000000

11586.340027 13050.589966 -70.000000

11586.340027 13050.589966 -160.000000

11381.700012 12747.500000 -15.000000

11381.700012 12747.500000 -25.000000

11414.399994 12781.099976 -15.000000

11414.399994 12781.099976 -25.000000

11338.000000 12830.799988 -10.000000

11338.000000 12830.799988 -65.000000

11338.000000 12830.799988 -115.000000

11338.000000 12830.799988 -165.000000

11410.290009 12724.690002 -5.000000

11410.290009 12724.690002 -35.000000

11410.290009 12724.690002 -45.000000

11410.290009 12724.690002 -125.000000

11410.290009 12724.690002 -175.000000

11427.000000 12780.900024 -10.000000

11427.000000 12780.900024 -30.000000

11427.000000 12780.900024 -80.000000

11416.899994 12819.450012 -10.000000

11416.899994 12819.450012 -30.000000

11416.899994 12819.450012 -70.000000

11416.899994 12819.450012 -95.000000

11416.899994 12819.450012 -105.000000

11416.899994 12819.450012 -120.000000

11416.899994 12819.450012 -140.000000

11401.730011 12897.770020 -10.000000

11401.730011 12897.770020 -30.000000

11401.730011 12897.770020 -80.000000

11401.730011 12897.770020 -110.000000

11401.730011 12897.770020 -145.000000

11401.730011 12897.770020 -180.000000

11259.670013 12819.289978 -10.000000

11259.670013 12819.289978 -40.000000

11259.670013 12819.289978 -70.000000

11259.670013 12819.289978 -95.000000

11259.670013 12819.289978 -140.000000

11340.489990 12892.609985 -30.000000

11340.489990 12892.609985 -55.000000

11340.489990 12892.609985 -80.000000

11340.489990 12892.609985 -110.000000

11340.489990 12892.609985 -130.000000

11340.489990 12892.609985 -165.000000

11248.750000 12870.909973 -10.000000

11248.750000 12870.909973 -35.000000

11248.750000 12870.909973 -45.000000

11248.750000 12870.909973 -85.000000

11248.750000 12870.909973 -110.000000

11248.750000 12870.909973 -160.000000

11248.750000 12870.909973 -210.000000

11086.519997 12830.669983 -15.000000

11086.519997 12830.669983 -30.000000

11086.519997 12830.669983 -80.000000

11086.519997 12830.669983 -130.000000

11211.869995 12710.750000 -30.000000

11211.869995 12710.750000 -80.000000

11211.869995 12710.750000 -135.000000

11199.039993 12810.159973 -20.000000

11199.039993 12810.159973 -40.000000

11199.039993 12810.159973 -85.000000

11199.039993 12810.159973 -150.000000

11298.000000 12808.630005 -60.000000

11496.339996 12753.590027 -10.000000

11496.339996 12753.590027 -30.000000

11496.339996 12753.590027 -80.000000

11496.339996 12753.590027 -110.000000

11496.339996 12753.590027 -150.000000

11309.029999 12948.989990 -10.000000

11309.029999 12948.989990 -35.000000

11309.029999 12948.989990 -95.000000

11309.029999 12948.989990 -125.000000

11309.029999 12948.989990 -130.000000

11209.350006 12993.940002 -5.000000

11209.350006 12993.940002 -35.000000

11209.350006 12993.940002 -60.000000

11209.350006 12993.940002 -95.000000

11209.350006 12993.940002 -125.000000

11301.970001 13079.660034 -20.000000

11301.970001 13079.660034 -30.000000

11301.970001 13079.660034 -85.000000

11301.970001 13079.660034 -125.000000

11286.769989 13026.699951 -30.000000

11286.769989 13026.699951 -45.000000

11286.769989 13026.699951 -75.000000

11286.769989 13026.699951 -120.000000

11393.470001 12948.900024 -20.000000

11393.470001 12948.900024 -45.000000

11393.470001 12948.900024 -95.000000

11393.470001 12948.900024 -110.000000

11393.470001 12948.900024 -130.000000

11393.470001 12948.900024 -170.000000

11251.300003 12929.270020 -10.000000

11251.300003 12929.270020 -30.000000

11251.300003 12929.270020 -80.000000

11251.300003 12929.270020 -120.000000

11251.300003 12929.270020 -145.000000

NODE_DATA_DEF 0 “TOTHC” “log_mg/kg” IN_FILE

NODE_DATA_DEF 1 "" "" ID 668 IN_FILE

NODE_DATA_START

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

1.322219 4.998203

2.806180 4.998203

1.602060 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

1.845098 4.998203

2.278754 4.998203

-3.000000 4.998203

1.296665 4.998203

-3.000000 4.998203

1.278754 4.998203

3.716003 4.998203

1.623249 4.998203

1.505150 4.998203

-3.000000 4.998203

1.707570 4.998203

-3.000000 4.998203

3.770852 4.998203

3.869232 4.998203

1.113943 4.998203

-3.000000 4.998203

2.025306 4.998203

3.434569 4.998203

3.594039 4.998203

2.454845 4.998203

-3.000000 4.998203

2.740363 4.998203

2.079181 4.998203

3.806180 4.998203

4.908485 4.998203

2.176091 4.998203

-3.000000 4.998203

3.792392 4.998203

3.362897 4.998203

4.255272 4.998203

3.699387 4.998203

3.518514 4.998203

3.301030 4.998203

3.113943 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

1.361728 4.998203

-3.000000 4.998203

-3.000000 4.998203

2.000000 4.998203

1.643453 4.998203

1.732394 4.998203

1.643453 4.998203

3.556303 4.998203

-0.522879 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

3.079181 4.998203

-3.000000 4.998203

2.633468 4.998203

1.505150 4.998203

-3.000000 4.998203

-3.000000 4.998203

-0.920819 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-0.886057 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-3.000000 4.998203

-0.096910 4.998203

-3.000000 4.998203

4.000000 4.998203

2.000000 4.998203

1.602060 4.998203

1.000000 4.998203

-0.301030 4.998203

-3.000000 4.998203

1.785330 4.998203

-3.000000 4.998203

0.431364 4.998203

4.518514 4.998203

-3.000000 4.998203

CELL_SET_DEF 0 99 Point "" IN_FILE

CELL_START

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

END

import vtk

import vtk reads a dataset from any of the following 9 VTK file formats. Please note that VTK’s file formats do not include coordinate units information, nor analyte units. There is a parameter which allows you to specify coordinate units (meters are the default).

  • vtk: legacy format
  • vtr: Rectilinear grids
  • vtp: Polygons (surfaces)
  • vts: Structured grids
  • vtu: Unstructured grids
  • pvtp: Partitioned Polygons (surfaces)
  • pvtr: Partitioned Rectilinear grids
  • pvts: Partitioned Structured grids
  • pvtu: Partitioned Unstructured grids

Ports

DirectionNameTypeDescription
OutputOutputFieldA field containing VTK file contents.
OutputOutput ObjectRenderableA renderable object displaying the VTK file contents.

Properties

PropertyTypeDescription
FilenameStringThe field file to read.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, data will be left in internal model space. Turn off when loading data intended to use as a glyph or similar.
ExecuteButtonThe Execute button forces the module to run.
UnitsStringThe coordinate units.

import cad

The import cad module will read the following versions of CAD files:

  • AutoCAD DWG and DXF files through AutoCAD 2021 (version 24.0)
  • Bentley Microstation DGN files through Version 8.

This module provides the user with the capability to integrate site plans, buildings, and other 2D or 3D features into the EVS visualization, to provide a frame of reference for understanding the three dimensional relationships between the site features, and characteristics of geologic, hydrologic, and chemical features. The drawing entities are treated as three dimensional objects, which provides the user with a lot of flexibility in the placement of CAD objects in relation to EVS objects in the visualization. The project onto surface and geologic_surfmap modules allow the user to drape CAD line-type entities (not 3D-Faces) onto three dimensional surfaces.

Virtually all AutoCAD object types are supported including points, lines (of all types), 3D surface objects and 3D volumetric objects.

AutoCAD drawings can be drawn in model space (MSPACE) or paper space (PSPACE). Drawings in paper space have a defined viewport which has coordinates near the origin. When read into EVS this creates objects which are far from your true model coordinates. For this reason, all drawings for use in our software should be in model space.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutputFieldA field containing the CAD data.
OutputOutput ObjectRenderableA renderable object displaying the CAD data.

Properties

PropertyTypeDescription
FilenameStringThe name of the CAD dwg, dxf, or dgn file to be rendered.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, data will be left in internal model space. Turn off when loading data intended to use as a glyph or similar.
ExecuteButtonThe Execute button forces the module to run.

Data Processing

PropertyTypeDescription
Render ModeChoice: Model Default, Wire-frame, Flat-ShadedThe Render Mode options allow you to choose how the CAD data will be rendered. Please read the module help for more details.
Unit HandlingChoice: Units From File, Force Default UnitsThe Unit Handling option determines whether we try to use units from the CAD file, or force the use of the default coordinate units.
Default Coordinate UnitsStringThe units to use when the units cannot be determined from the CAD file.
Remove Coincident NodesBooleanThe Remove Coincident Nodes toggle causes the reader to process the data, removing coincident nodes. This takes longer to process but creates a smaller more efficient representation of your CAD data.
Include Hidden LayersBooleanThe Include Hidden Layers toggle will cause CAD layers marked as hidden to be drawn.
Remove Points And Degenerate CellsBooleanThe Remove Point and Degenerate Cells option will remove all points and degenerate cells from the output.
Show As WireframeBooleanThe Show As Wire-frame toggle outlines surfaces. It is equivalent to setting Line Rendering to ‘regular’.
Color For WhiteColorThe Color For White button allows the user to set the color for any feature colored white.
Deviation For CurvesDoubleThe Deviation for Curves field allows the user to specify the accuracy with which analytical curves (arcs, circles) are displayed. The default value of 0.0 employs an expert system algorithm to determine a reasonable value based on the overall size of your CAD model.
Normal For 3D SolidsDoubleThe Normal for 3D Solids specifies the tolerance for parallel faces.
Separate LayersBooleanThe Separate Layers toggle causes each layer in the CAD file to be output as a separate cell set in EVS.
Layer DetailsMulti-selectThe Data To Include allows the user to set which sets of data to render.
Remove Empty 0 LayerBooleanWhether to remove a layer named ‘0’ that draws nothing, or not. This is primarily intended for removing AutoCAD’s default layer when it contains no visible objects.

import vector gis

The import vector gis module reads the following vector file formats: ESRI Shapefile (*.shp); Arc/Info E00 (ASCII) Coverage (*.e00); Atlas BNA file (*.bna); GeoConcept text export (*.gxt); GMT ASCII Vectors (*.gmt); and the MapInfo TAB (*.tab) format.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutputFieldA field containing the vector GIS data.
OutputOutput ObjectRenderableA renderable object displaying the vector GIS data.

Properties

PropertyTypeDescription
FilenameStringThe name of the Vector file format to read.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the input data.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, data will be left in internal model space.
ExecuteButtonThe Execute button forces the module to run.

Data Processing

PropertyTypeDescription
Coordinate UnitsStringThe Coordinate Units string allows the user to specify the units for the coordinates in the input data. Defaults to the units in the spatial reference of the input vector file, if available. Otherwise, default of meters (m) is assumed.
Assign Data To ZBooleanIf the Assign Data To Z toggle is on and Include Attributes As Data is on, then the selected data will be assigned as the Z coordinate.
Data To Assign To ZChoiceThe Data To Assign To Z choice allows the user to select which data is assigned as the z coordinates.
Data To OutputMulti-selectThe Data to Output choice allows the user to select the cell data to include in the output.

import raster as horizon

The import raster as horizon module reads several different raster format files in EVS Geology format. These formats include DEMs, Surfer grid files, Mr. Sid files, ADF files, etc.. Multiple import raster as horizon modules can be combined with combine horizons into a 3D geologic model. Alternatively, a single file can be displayed as a surface (with surfaces from horizons) or you can export its coordinates (with export nodes) to use the values in a GMF file.

Ports

DirectionNameTypeDescription
OutputOutput Geologic FieldFieldThe main geologic field output from the module.
OutputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.
OutputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle if selected will allow the module to run when any of the input parameters are changed. If the toggle is not selected then the Execute button will have to be pressed for the module to run.
ExecuteButtonThe Execute button forces the module to run. If this has been pressed and the application saved, it will cause the module to run when the application is loaded.
FilenameStringThe raster_to_geology module reads several different raster format files in EVS Geology format. These formats include DEMs, Surfer grid files, Mr. Sid files, ADF files, etc..
Material NumberIntegerThe Material Number type in allows the user to set the material number for the surface being read.
Coord UnitsStringThe Coord Units type in allows the user to set the coordinate units for the surface being read.
Surface NameStringThe Surface Name type in allows the user to set the surface name for the surface being read.

Surface Controls

PropertyTypeDescription
Raster BandIntegerThe Raster Band is used to select a single raster band when reading image formats such as jpeg or tif.
DownsizeIntegerThe Downsize value is used to reduce the resolution of the input raster.
Blanks As NullBooleanThe Blanks as Null option is used to specify that points marked to be blanked out in the raster will be left out of the geologic model when it is created. It is highly recommended to leave this checked.
Min IIntegerThe Min I value is used to crop the lower bound of the horizontal domain of the raster.
Max IIntegerThe Max I value is used to crop the upper bound of the horizontal domain of the raster.
Min JIntegerThe Min J value is used to crop the lower bound of the vertical range of the raster.
Max JIntegerThe Max J value is used to crop the upper bound of the vertical range of the raster.
Max Total ResolutionIntegerThe Max Total Resolution will cause the module to report an error if the generated geology is greater than the set amount.

buildings

The buildings module reads C Tech’s .BLDG file and creates various 3D objects (boxes, cylinders, wedge-shapes for roofs, simple houses etc.), and provides a means for scaling the objects and/or placing the objects at user specified locations. The objects are displayed based on x, y & z coordinates supplied by the user in a .bldg file, with additional scaling option controls on the buildings user interface.

Each object is made up of 3D volumetric elements. This allows for the output of buildings to be cut or sliced to reveal a cross section through the buildings.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutputFieldA field containing the buildings.
OutputOutput ObjectRenderableA renderable object displaying the buildings.

Properties

PropertyTypeDescription
Import FileStringImport an existing *.bldg file.
Reload Import FileButtonThe Reload Import File will force the module to load the import file and run.
Z ScaleDoubleZ Scale is required to assure that buildings are matched to scaled input.
Building Height ScaleDoubleThe Building Height Scale will vertically exaggerate the height of each building.
Building OffsetDoubleThe Building Offset will move all buildings vertically by the set amount.
Export FileStringExport current buildings to a *.bldg file.

Default Building Settings

PropertyTypeDescription
Default NameStringThe default name for each new building added.
Increment Building IdBooleanNew buildings will have an Identifier greater that the value of the last building on the list.
Default OffsetDoubleThe vertical offset for each new building.
Default HeightDoubleThe height to set for each new building.
Default WidthDoubleThe width to set for each new building.
Default LengthDoubleThe length to set for each new building.
Default AzimuthDoubleThe azimuth to align each new building to.
Default TypeChoice: Box (0), Roof Gable (1), Wedge (2), Triangle (3), Right Triangle (4), 6 Sided Cylinder (5), 8 Sided Cylinder (6), 16 Sided Cylinder (7), 32 Sided Cylinder (8), 16 Sided Tank (9), 32 Sided Tank (10), Roof Corner 1 (11), Roof Corner 2 (12), Roof Corner 3 (13), Cone (14), 1 Story Building (15), 2 Story Building (16), 1 Story House (17), 2 Story House (18)The type for each new building.
Default IdIntegerThe Identifier for each new building.
Default ColorColorThe color for new buildings.

Building Settings

PropertyTypeDescription
Probe ActionChoice: None, Reset Position, Add BuildingAllows for the changing of the building center or for adding a new building at the probed location. Only available when the viewer is connected.
Outline Current BuildingBooleanThe Outline Current Building turns on or off a bounding rectangle showing the current building being edited.
Delete Current BuildingButtonThis command will remove the currently selected building from the list of buildings.
Current BuildingChoiceThe Current Building allows the user to select a single building to edit.
Current Building ValuesBuildingThe Current Building Values.
  • Sample Buildings File

    Sample Buildings File Below is an example buildings file. Note that the last 4 columns are optional and contain RGB color values (three numbers from zero to 1.0) and/or a building ID number that can be used for coloring. If only color values are supplied (3 numbers) the ID is automatically determined by the row number. If four numbers are provided it is assumed that the last one is the ID. If only one number is provided it is the ID.

Subsections of buildings

Sample Buildings File

Below is an example buildings file. Note that the last 4 columns are optional and contain RGB color values (three numbers from zero to 1.0) and/or a building ID number that can be used for coloring. If only color values are supplied (3 numbers) the ID is automatically determined by the row number. If four numbers are provided it is assumed that the last one is the ID. If only one number is provided it is the ID.

The file below is shown in a table (with dividing lines) for clarity only. The first uncommented line is the number 16 which defines the number of rows of buildings data. The actual file is a simple ASCII file with separators of space, comma and/or tab.

EVS

Copyright (c) 1994-2008 by

C Tech Development Corporation

All Rights Reserved

# This software comprises unpublished confidential information of

# C Tech Development Corporation and may not be used, copied or made

# available to anyone, except in accordance with the license

# under which it is furnished.

C Tech 3D Building file

Building 0 is a unit box with base at z=0.0 centered at origin x,y

Building 1 is a gabled roof for the unit box

# (to make it a house) with base at z=0.0 centered at origin x,y

Building 2 is a wedge roof for the unit box

# (to make it a house) with base at z=0.0 centered at origin x,y

Building 3 is a Equilateral (or Isoseles) Triangular Building 3 side

Building 4 is a Right Triangular Building 3 side

Building 5 is a Hexagonal (6 side) cylinder

Building 6 is a Octagonal (8 side) cylinder

Building 7 is a 16 side cylinder

Building 8 is a 32 side cylinder

Building 9 is a 16 sided horiz. cylindrical tank (Height & Width equal diameter, Length is along x)

Building 10 is a 32 sided horiz. cylindrical tank (Height & Width equal diameter, Length is along x)

Building 11 is a right angle triangle, height only at right angle

Building 12 is a right angle triangle, height at non-right angle

Building 13 is a right angle triangle, height at right angle and 1 non-right angle

Lines beginning with “#” are comments

First uncommented line is number of buildings

X Y Z LengthWidthHeight Angle Bldg_Type Color and/orID

16

0010505020001
010005050303002
0100306050203012
020005050301003
0200305050251023
20000505050034
10010004040201545
20010004040303056
2002000505050067
1002000406020-4578
10000505040089
30000602020-4590.80.60.410
30010005050300100.40.60.411
030005050500111.00.40.412
10030005050500120.41.00.413
20030005050500130.40.41.014

read lines

The read lines module is used to visualize a series of points with data connected by lines. read lines accepts three different file formats, with the APDV file format the lines are connected by boring ID, with the ELF (EVS Line File) format each line is made by defining the points that make up the line, and with the SAD (Strike and Dip) file format, there is a choice to connect each sample by ID or by Data Value.

SAD files connect by ID – If a *.sad file has been read the lines will be connected by ID.

SAD files connect by Data – If a *.sad file has been read the lines will be connected by the data component.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing the line model.
OutputOutput ObjectRenderableA renderable object displaying the line model.

Properties

PropertyTypeDescription
FilenameStringThe filename to process into lines. EVS Line Files (elf), Strike and Dip Files (sad), or Analytical Point Data Values (apdv) can be used as input.
ExecuteButtonThe Execute button forces the module to run.
Z ScaleDoubleThe vertical exaggeration of the output lines.
Data ComponentIntegerThis Data Component controls which data value to color the lines by.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, data will be left in internal model space. Turn off when loading cross section paths or similar.

Data Processing

PropertyTypeDescription
Log Process Nodal DataBooleanThis toggle sets the nodal data values to the log value of the input node data.
Log Process Cell DataBooleanThis toggle sets the cell data values to the log value of the input cell data.
Connectivity ComponentChoice: SAD file lines connected by ID, SAD file lines connected by DataThe Connectivity Component determines how SAD files are connected.
Clip MinDoubleThis is only active if either Log processing for nodal or cell data is selected and sets the minimum value for each data value so that they can be correctly processed.

Glyph Settings

PropertyTypeDescription
Create GlyphsBooleanThe Create Glyphs control will allow for the creation of user selected glyphs at each node in the input file.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, DiskThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
Sphere SubdivisionsIntegerThe number of subdivisions to use for spheres. Larger numbers create more detailed sphere representations.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each glyph as a cell data component. This allows the user to probe onto the glyph and return its center instead of the position on the outside of the glyph.

EVS Line File Example

Discussion of EVS Line Files

EVS line files contain horizontal and vertical coordinates, which describe the 3-D locations and values of properties of a system. Line files must be in ASCII format and can be delimited by commas, spaces, or tabs. They must have an .elf suffix to be selected in the file browsers of EVS modules. Each line of the EVS line file contain the coordinate data for one sampling location and up to 300 (columns of) property values. There are no computational restrictions on the number of lines that can be included in a file.

EVS Line Files

EVS Line Files consist of file tags that delineate the various sections of the file(s) and data (coordinates, nodal and/or cell data). The file tags are discussed below followed by portions of a few example files.

FILE TAGS:

The file tags for the ASCII file formats (shown in Bold Italics) are discussed below with a representative example. They are given in the appropriate order. If you need assistance creating software to write these file formats, please contact support@ctech.com.

COORD_UNITS “ft” Defines the coordinate units for the file. These should be consistent in X, Y, and Z.

NUM__DATA 7 1

Number of nodal data components followed by the number of cell data components.

NODE_DATA_DEF 0 “TOTHC” “log_ppm”

NODE_DATA_DEF specifies the definition of a nodal data component. The second value is the data component number, the third is the name, and the 4th is the units.

CELL_DATA_DEF 0 “Indicator” “Discreet Unit”

Definition of cell data. Same options as NODE_DATA_DEF

LINE 12 1

Beginning of a line segment is followed on the same line by the cell data values.

Following this line should be the points making up the line in the following format:

X, Y, Z coordinates followed by nodal data values.

64718.310547 37500.000000 -1250.000000 1 -1250.000000

63447.014587 35101.682129 -2000.000000 2 -2000.000000

CLOSED

This flag is used at the end of a line definition to indicate the end of the line should be connected to the beginning of the line.

END

Marks the end of the data section of the file. (Allows us to put a password on .eff files)

EXAMPLE FILE

NUM_DATA 2 0

NODE_DATA_DEF 0 “Node_Number” “Linear_ID”

NODE_DATA_DEF 1 “Distance” “Linear_ft”

LINE

1900297.026154 677367.319824 72.000000 0.000000 0.000000

1900314.256775 677438.611328 72.000000 1.000000 73.344208

1900314.687561 677442.703522 72.000000 2.000000 77.459015

1900316.410645 677447.011261 72.000000 3.000000 82.098587

1900319.641266 677447.442018 72.000000 4.000000 85.357796

1900345.487030 677441.411530 72.000000 5.000000 111.897774

1900360.563782 677439.472870 72.000000 6.000000 127.098656

1900363.579193 677447.226807 72.000000 7.000000 135.418289

1900365.517822 677447.226807 72.000000 8.000000 137.356918

1900365.948608 677438.396118 72.000000 9.000000 146.198105

1900379.733032 677436.888245 72.000000 10.000000 160.064758

1900405.578766 677432.150055 72.000000 11.000000 186.341217

1900497.331879 677416.427002 72.000000 12.000000 279.431763

1900511.331512 677414.919464 72.000000 13.000000 293.512329

1900525.762268 677411.257721 72.000000 14.000000 308.400421

1900527.269775 677405.442444 72.000000 15.000000 314.407898

1900524.900696 677399.411926 72.000000 16.000000 320.887085

1900522.531311 677391.012024 72.000000 17.000000 329.614746

1900517.362366 677357.196808 72.000000 18.000000 363.822754

1900501.854828 677266.951569 72.000000 19.000000 455.390686

1900501.639282 677262.213379 72.000000 20.000000 460.133789

1900500.777710 677255.321014 72.000000 21.000000 467.079773

1900496.470306 677250.151733 72.000000 22.000000 473.808472

1900487.208862 677241.751816 72.000000 23.000000 486.311798

1900450.378204 677201.906097 72.000000 24.000000 540.572083

1900403.568481 677152.368134 72.000000 25.000000 608.727478

1900356.758759 677102.830177 72.000000 26.000000 676.882874

1900309.949036 677053.292221 72.000000 27.000000 745.038269

1900286.257172 677028.523243 72.000000 28.000000 779.313721

1900278.718445 677022.923517 72.000000 29.000000 788.704651

1900269.672546 677024.431061 72.000000 30.000000 797.875305

1900217.334717 677035.200397 72.000000 31.000000 851.309631

1900232.196075 677097.230453 72.000000 32.000000 915.095154

1900247.057434 677159.260513 72.000000 33.000000 978.880615

1900252.226715 677179.937317 72.000000 34.000000 1000.193787

1900267.159851 677242.326401 72.000000 35.000000 1064.345215

1900282.093018 677304.715485 72.000000 36.000000 1128.496460

1900297.026154 677367.104584 72.000000 37.000000 1192.647827

END

read strike and dip

The read strike and dip module is used to visualize sampled locations. It places a disk, oriented by strike and dip, at each sample location. Each disk is probable and can be colored by a picked color, by Id, or by data value. If an ID is present, such as a boring ID, then there is an option to place tubes between connected disks, or those disks with similar Id’s.

Strike and dip refer to the orientation of a geologic feature. The strike is a line representing the intersection of that feature with the horizontal plane (though this is often the ground surface). Strike is represented with a line segment parallel to the strike line. Strike can be given as a compass direction (a single three digit number representing the azimuth) or basic compass heading (e.g. N, E, NW).

The dip gives the angle of descent of a feature relative to a horizontal plane, and is given by the number (0-90) as well as a letter (N,S,E,W, NE, SW, etc.) corresponding to the rough direction in which feature bed is dipping.

Info

We do not support the Right-Hand Rule, therefore all dip directions must have the direction letter(s).

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutputFieldA field containing the strike and dip model.
OutputOutput ObjectRenderableA renderable object displaying the strike and dip model.

Properties

PropertyTypeDescription
FilenameStringThe Filename of the Strike And Dip file (*.sad).
ExecuteButtonThe Execute button forces the module to run.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the output.

Display Settings

PropertyTypeDescription
Disk Thickness PercentageDoubleThe Disk Thickness Percentage sets the thickness of each disk to a factor of the coordinate extents of the model.
Minimum Disk RadiusDoubleThis sets the minimum radius for each disk. The coordinates are in model coordinates.
Radius ExtentDoubleThe disk radius is based upon a percentage of the x, y, and z extents of the model.
Disk ResolutionIntegerNumber of prisms used to make each disk. The greater the number of prisms the more “round” the disk. Resolutions based on a factor of four are recommended as they will allow the dip and strike lines to end at the extents of the disk.
Include Dip As DataBooleanThis allows you to color the Dip lines based upon the dip angle.
Display Dip LinesBooleanThis toggle turns the Dip lines on and off.
Include Strike As DataBooleanThis allows you to color the Strike lines based upon the strike.
Display Strike LinesBooleanThis toggle turns the Strike lines on and off.
Connectivity ComponentChoice: SAD file lines connected by ID, SAD file lines connected by Data, Do not connect disks with linesThe Connectivity Component determines how SAD files are connected.
Display AsChoice: None, Tubes, WiresUse Display As to change how the boring lines are displayed, you can either turn off them off entirely, display them as tubes, or display them as wires.
Tube RadiusDoubleThis is the radius for the tubes, set by default to be 50 percent of the disk Radius Extent.
Tube ResolutionIntegerThis alters the number of sides each tube has, the more sides the more “round” the tubes will look, and possibly the slower they will display.
Main ColorColorEach boring tube is divided using two colors, the Main Color sets the first of these.
Secondary ColorColorEach boring tube is divided using two colors, the Secondary Color sets the second of these.
Color SeparationDoubleThe Color Separation defines the length both the Main Color and the Secondary Color will go to before switching to the other. This can be used as a visual clue as to the vertical scale of the model.
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each tube end point as a cell data component. This allows the user to probe onto the tube and return its center instead of the position on the outside of the tube.

Strike and Dip File Example

Discussion of Strike and Dip Files

Strike and dip files consist of 3D coordinates along with two orientation values called strike and dip. A simple disk is placed at the coordinate location and then the disk is rotated about Z to match the strike and then rotated about Y to match the dip. An optional id and data value can be used to color the disk.

Format:

You may insert comment lines in C Tech Strike and Dip (.sad) input files. Comments can be inserted anywhere in a file and must begin with a ‘#’ character.

Strike can be defined in the following ways :

  1. For strikes running along an axis:

N, S, NS, SN are all equivalent to 0 or 180, and will always have a dip to E or W

E, W, EW, WE are all equivalent to 90 or 270, and will always have a dip to N or S

NE, SW are both equivalent to 135 or 315, and can have a dip specified to N, S, E, or W

NW, SE are both equivalent to 45 or 225, and can have a dip specified to N, S, E, or W

  1. For all other strikes: any compass direction between 0 and 360 degrees can be specified, with the dip direction clarifying which side of the strike is downhill.

Dip can be defined only in degrees in the range of 0 to 90.0 followed by a direction such as 35.45E

There is no required header for this file type.

Each line of the file must contain:

X, Y, Z, Strike, Dip, ID (optional), and Data (optional).

NOTE: The ID can only contain spaces if enclosed in quotation marks (ex “ID 1”).

EXAMPLE FILE

x y z strike dip

51.967 10.948 26.127 35.205 59.8031E

50.373 33.938 26.127 13.048 68.49984E

51.654 60.213 26.127 139.18 76.74215E

50.529 83.203 26.127 213.50 62.94599E

64.358 76.634 11.471 114.23 80.38694E

66.430 33.938 -6.849 41.421 60.38837E

75.901 50.360 -21.505 60.141 72.88960E

72.943 7.663 -21.505 5.255 65.51247E

101.90 30.654 -72.801 77.675 65.9524E

81.339 50.360 -43.489 244.95 70.7079E

72.263 73.350 -21.505 82.929 69.3159E

89.897 73.350 -61.809 31.531 55.6570E

END

FILE TAGS:

The file tags for the ASCII file formats (shown in Bold Italics) are discussed below with a representative example. They are given in the appropriate order. If you need assistance creating software to write these file formats, please contact support@ctech.com.

COORD_UNITS “ft” Defines the coordinate units for the file. These should be consistent in X, Y, and Z.

END (this is optional, but should be used if any lines will follow your actual data lines)

read glyph

read glyph replaces the Glyphs sub-library that was in the tools library. It reads glyphs saved in any of the three primary EVS field file formats and allows you to modify the shape and orientation of the glyph to allow it to be used in various modules that employ glyphs in slightly different ways. These include glyphs at nodes, place_glyph, drive_glyphs, advector, post_samples, etc. Most modules EXCEPT post_samples will use the glyphs without changing the default alignment. The supported file formats are:

  1. .eff ASCII format, best if you want to be able to open the file in an editor or print it

  2. .efz GNU Zip compressed ASCII, same as .eff but in a zip archive

  3. .efb binary compressed format, the smallest & fastest format due to its binary form

For a description of the .EFF file formats click here.

The objects saved in the .efx files should be simple geometric objects ideally designed to fit in a unit box centered at the origin (0,0,0). For optimal performance the objects should not include nodal or cell data. You may create your own objects or use any of the ones that C Tech supplies in the ctech\data\glyphs folder.

Ports

DirectionNameTypeDescription
OutputOutputFieldA field containing the glyph.
OutputOutput ObjectRenderableA renderable object displaying the glyph.

Properties

PropertyTypeDescription
FilenameStringThe field file containing the glyph object.
ExecuteButtonThe Execute button forces the module to run.
Offset BaseBooleanOffset Base is a toggle that changes the origin from the centroid of the glyph to the base.
AlignmentChoice: Orient For Vector, Align VerticallyThe Alignment allows the user to choose how to determine the orientation of the glyph.
RollDoubleThe Roll is a value that lets you control the rotation about the roll axis (glyph directional axis).
Length FactorDoubleLength Factor is a value that lets you scale the length of the glyph.
Width FactorDoubleWidth Factor is a value that lets you scale the width of the glyph.
Height FactorDoubleHeight Factor is a value that lets you scale the height of the glyph.

import geometry

The import geometry module will read STL, PLY, OBJ and .G files containing object geometries.

This module provides the user with the capability to integrate site plans, topography, buildings, and other 3D features into the EVS visualizations.

Info

This module intentionally does not have a Z-Scale port since this class of files are so often not in a user’s model projected coordinate system. Instead a Transform Settings group is provided that allows for a much more complex set of transformations including scaling, translations and rotations.

Ports

DirectionNameTypeDescription
OutputOutput FieldFieldThe main output field of the triangulated model.
OutputOutput ObjectRenderableA renderable object displaying the triangulated model.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle will prevent the module from running when turned to the Off position.
FilenameStringThe file containing the triangulated geometry.
ExecuteButtonThis button will allow the module to run one time even if the Allow Run toggle is turned to the off position. This allows the user to make multiple changes with only one update.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, coordinates will be left in internal model space.

Transform Settings

PropertyTypeDescription
Transform ListTransform FieldsThe list of transformations applied to the input field. This allows you to add any number of Translation, Scale, or Rotation transformations in order to place your geometry in the same coordinate space as the rest of your model.
  • write evs field

    Creates a file in one of 5 different formats containing all the mesh and nodal and/or cell data component information sent to the input port.

  • export web scene

    Export EVS scenes with vector output of 3D models for the C Tech Web Viewer.

  • export pdf scene

    Export EVS scenes with vector output of 3D models for the C Tech PDF Converter.

  • export 3d scene

    Export EVS scenes with vector output of 3D models for third party software usage.

  • export nodes

    Export an ASCII file containing the coordinates and optionally the data of any field in EVS.

  • export cad

    Write vector output of graphical results in industry standard AutoCAD DWG or DXF format or Microstation DGN format.

  • export surface to raster

    Create a file in one of the GeoTiff raster format.

  • export vector gis

    Create a file in one of the following vector formats: ESRI Shapefile (.shp); GMT ASCII Vectors (.gmt); and MapInfo TAB (*.tab).

  • export horizon to raster

    Create a raster file based on a single input horizon.

  • write lines

    Save a series of points with data connected by lines. These lines are stored in the EVS Line File format.

  • export horizons to vistas

    Write the fundamental geologic grid and horizon information to a file format that Ground Water Vistas can read.

Subsections of Export

write evs field

The write evs field module creates a file in one of several formats containing the mesh and nodal and/or cell data component information sent to the input port.

This module is useful for writing the output of modules which manipulate or interpolate data (3d estimation, 2d estimation, etc.) so that the data will not need to be processed in the future.

The saved and processed data can be read using read evs field, which is much faster than reprocessing the data.

Principal recommended format: EF2

  • The newest and strongly recommended format is EF2. This format is capable of containing additional field data and mesh types which are not supported in the legacy format. This is the only LOSSLESS format for current and future EVS fields. Although the files created in EF2 format are generally larger than EFBs, the further subsetting and/or processing of these updated fields can be dramatically more efficient.

    • Uniform fields
    • Geology (from gridding and horizons)
    • Structured fields (such as irregular fields read in from read evs field)
    • Unstructured Cell Data (UCD format) general grids with nodal and/or cell data
    • Special fields containing spheres (which are points with radii)
    • Special fields containing color data (such as LIDAR data)

Legacy formats:

  • The legacy formats below were the recommended formats in software releases before 2024. With enhancements to EVS Fields, these formats must be considered LOSSY, meaning that some data and the (EF2) optimized grids will be compromised if these formats are used. We strongly recommend using the EF2 format.
    • .eff ASCII format, best if you want to be able to open the file in an editor or print it. For a description of the EFF file formats click here.
    • .efz GNU Zip compressed ASCII, same as .eff but in a zip archive
    • .efb binary compressed format, the smallest and fastest format due to its binary form

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing model to write to the EVS field file format.
InputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.
InputString 1StringA string to use as a variable.
InputFile NotesStringText containing the notes to be stored in the file.

Properties

PropertyTypeDescription
FilenameStringThe output filename. Saves datasets in EVS/MVS compatible file formats (EF2, EFB, EFZ, EFF).
Check For Cell Set DataBooleanCauses any cell data that is constant throughout its cell set to be written as a cell set data component.
Translate By OriginBooleanCauses the output to be written in the user’s coordinate space. When turned off, the output will be written around the origin.

Additional Information

PropertyTypeDescription
NotesStringNotes to include within the file. These are just comments and have no effect on the module.
DescriptionStringAllows the user to set the description in the output file.
AuthorStringAllows the user to set the author name on the output file.
OrganizationStringAllows the user to set the organization name on the output file.
ProjectStringAllows the user to set the project displayed in the output file.
StatusStringAllows the user to set the status displayed in the output file.
RestrictionsStringAllows the user to set the restrictions displayed in the output file.

Variables

PropertyTypeDescription
S1StringA string value that can be used as the variable {S1} in the expression.

Legacy File Options

PropertyTypeDescription
Split Into Separate FilesBoolean(Only applies to EFB/EFF/EFZ) Splits the output into separate files. The corresponding EFF or EFZ file will only contain the tag information. Any required nodes, data, or connectivity will be written into separate files.
Force Nodal Data In OutputBoolean(Only applies to EFB/EFF/EFZ) Causes the field definition to always contain Node_Data. If this is off and there are no node data components, a simpler Mesh-Only style field will be saved. This causes a mesh to save as a Mesh+Node_Data (with 0 data components), which will allow many modules to work with this data.
Force Cell Data In OutputBoolean(Only applies to EFB/EFF/EFZ) Same as above, but with cell data. Very few modules require cell data, so this is not on by default, but is provided as an option.

export web scene

The export web scene module connects via the view port and writes all objects in your view as a C Tech Web Scene (*.ctws), a single file which you and your customers can load and view at the C Tech web viewer.

Details on its use at How to Create C Tech Web Scenes.

WARNINGS:

  • DATAMAPS ARE USED FOR PROBING: When using unlinked values (Min and Max) such that the resulting datamap is a subset of the true data range, probing in C Tech Web Scenes will only be able to report values within the truncated data range. Values outside that limited range will display the nearest value within the truncated range. This applies to the use of the Datamap parameters in post samples or when the data range is truncated by clipping in the estimation modules or with the change min max module.

Ports

DirectionNameTypeDescription
InputViewViewThe view containing all associated renderable objects.
InputString 1StringA string to use as a variable.
InputZ ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe name of the output CTWS file to generate.
Favorite BookmarksBooleanFavorite Bookmarks in the resulting Web Scene.
Favorite Preset ViewsBooleanFavorite Preset Views in the resulting Web Scene.
Z ScaleDoubleThe vertical exaggeration applied to the input field. This scale will be used to remove all vertical exaggeration prior to writing.
Compress OutputBooleanTurning Compress Output off disables compression for the entire CTWS scene. If on, compression for individual modules can still be selectively excluded via red port options.
Include Preview ImageBooleanWhen selected, a preview image is written into the CTWS file for easier display while file browsing in Windows Explorer and EVS.
Full Size Preview ImageBooleanWhen selected and Include Preview Image is selected, the image will be saved at the resolution of the viewer. Otherwise a smaller default resolution will be used.
Run SequencesBooleanWhen selected, sequences will be run during the export process and their individual output will be included in the CTWS file. If not selected, only the current sequence state will be exported as a group object.
Restore Application Sequence StatesBooleanWhen selected, sequences will be restored to their initial state. This can save runtime if you don’t need a specific sequence state to be active. Otherwise, sequences will be left in their last state.

Scene Information

PropertyTypeDescription
DescriptionStringAllows the user to set the description in the output scene.
AuthorStringAllows the user to set the author name on the output scene.
OrganizationStringAllows the user to set the organization name on the output scene.
ProjectStringAllows the user to set the project displayed in the output scene.
StatusStringAllows the user to set the status displayed in the output scene.
RestrictionsStringAllows the user to set the restrictions displayed in the output scene.

Variables

PropertyTypeDescription
S1StringA string value that can be used as the variable {S1} in the expression.

Export Stage Script

PropertyTypeDescription
Script FilenameStringThe script called during the different stages of the export. This is intended to use with evs.get_export_stage() to allow operations to occur during the export process.

export pdf scene

The export pdf scene module connects via the view port and writes all objects in your view as a .evspdf file that C Tech’s PDF Converter can convert to a 3D PDF. This module requires a valid PDF Converter license in order to function.

Ports

DirectionNameTypeDescription
InputViewViewThe view containing all associated renderable objects.
InputZ ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe name of the output EVS PDF scene file to generate.
Z ScaleDoubleThe vertical exaggeration applied to the input field. This scale will be used to remove all vertical exaggeration prior to writing.
Compress OutputBooleanTurning Compress Output off disables compression for the entire scene. If on, compression for individual modules can still be selectively excluded via red port options.

export 3d scene

The export 3d scene module will export the entire view (model) in the following formats to allow importing to other 3D modeling software:

  • glTF 2.0 (.glb binary format)
  • FBX (.fbx)
  • COLLADA (.dae)

All files are written in a coordinate system where the X-Y origin (0,0) is the Application Origin. This is done to preserve precision in these formats which are fundamentally single precision.

Ports

DirectionNameTypeDescription
InputViewViewThe view containing all associated renderable objects.
InputZ ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe name of the output file to generate. Supported formats include glTF 2.0 (.glb), FBX (.fbx), and COLLADA (.dae).
Output Coordinate SystemChoice: +Z Up, +Y UpThe model will be rotated into the specified coordinate system. “+Y Up” is a common system used by 3D editing software packages, and the standard for glTF.
Z ScaleDoubleThe vertical exaggeration applied to the input field. This scale will be used to remove all vertical exaggeration prior to writing.
Compress OutputBooleanTurning Compress Output off disables compression for the entire scene. If on, compression for individual modules can still be selectively excluded via red port options.

export nodes

The export nodes module provides a means to export an ASCII file containing the coordinates (and optionally the data) of any object in EVS. The output contains a header line and one row for each node in the input field. Each row contains the x, y, and z coordinates and optionally node number and nodal data.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field to write to file.
InputZ ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe filename of the output. Supported formats include APDV, LPDV, CSV, GMF, and TXT.
Use Application OriginBooleanWhen true, the module will apply the Application Origin. When false, coordinates will be left in internal model space.
File DelimiterStringAllows you to specify the delimiter for the output file. The default value is a comma. The special delimiter <TAB> will tab-delimit the output file.
Z ScaleDoubleRemoves the vertical exaggeration.
Write Nodal DataBooleanCauses all nodal data to be included in the file.
Exponentiate Log DataBooleanCauses all data with log units to be exponentiated when written out.
Write Node NumberBooleanCauses the node numbers to be included in the file.
Append To FileBooleanCauses the data to be appended to an existing file and suppresses the header line for the appended data section.

export cad

The export cad module will output one or more individual objects (red port) or your complete model (purple input port from the viewer). Volumetric objects in EVS are converted to surface and line type objects.

The module preserves the colors of all cells and objects by assigning cell colors to each AutoCAD surface or line entity according to the following procedure:

a) If nodal data is present, the first nodal data component is averaged to the cells and that color is applied. This is equivalent to the appearance of surfaces in EVS with flat shading mode applied.

b) If no nodal data is present, but cell data is, that color is applied. This is equivalent to the appearance of surfaces in EVS with flat shading mode applied.

c) If neither nodal or cell data is present the object’s color is used.

The results should look fairly similar to the viewer in EVS except:

  • AutoCAD has a very limited color palette with only 256 total colors. With some datamaps this limitation will be more problematic and it is possible that the nearest AutoCAD color may apply to multiple colors used in a subtle geology datamap.
  • AutoCAD lacks Gouraud shading support so all cells are flat shaded.

All “objects” in EVS are converted to separate layers based upon the EVS object name (as shown in the viewer’s Object Selector).

Ports

DirectionNameTypeDescription
InputViewViewThe view containing all associated renderable objects.
InputZ ScaleNumberThe factor for vertical scaling.
InputInput ObjectRenderableA renderable object for output to the CAD format.

Properties

PropertyTypeDescription
FilenameStringThe name of the output file to generate. Supported formats include AutoCAD DWG, DXF, and MicroStation DGN.
Append To FileBooleanWhen on, the existing file contents will be preserved.
Translate By OriginBooleanCauses the output to be written in the user’s coordinate space. When turned off, the output will be written around the origin.
Z ScaleDoubleThe vertical exaggeration of the input view. This scale will be reversed prior to writing.
Output File VersionChoice: R12, R14, 2000, 2004-2006, 2007-2009, 2010-2012, 2013-2017, 2018-2021Specifies which version of CAD to write in. Not used for DGN files.
Color ToleranceDoubleDetermines how precisely the colors must be represented in the output file. Setting to 0% will cause full colors to be added to the CAD palette. Setting to 100% will minimize additional colors and attempt to match the standard palette.
Layer NamingChoice: Module first, Cellset first, Module only, Cellset onlySpecifies how to name the layers or levels created by EVS.
Include Cellset IndexBooleanCauses layer names to include the cellset index.

export surface to raster

The export surface to raster module will create a raster file in the GeoTiff format.

It takes any input field and writes a raster (in plan view) of the data provided from that field. Regions outside of the input area are masked with an appropriate NoData flag. A single data component (node or cell) can be exported to the GeoTiff file.

Raster resolution can be controlled via the Grid Cell Size parameter, which will default (when linked) to a size which generates a raster of up to four million pixels, with fewer generated depending on how much the input shape deviates from having square extents.

When exporting certain cell data, such as Lithology, connecting the Geologic Legend Information port will allow the raster to include additional metadata in a raster dataset attribute table file. This additional file will allow programs such as ESRI’s ArcGIS Pro to automatically load the GeoTiff with proper names associated with each material.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe input field.
InputGeologic Legend InformationGeology LegendInformation required to properly label stratigraphic output or lithology within Legend.

Properties

PropertyTypeDescription
FilenameStringThe filename of the raster output in GeoTiff format.
Grid Cell SizeDoubleDefines the spacing of the grid to fill the interior of a footprint outline with points.
Data To ExportChoice: Nodal Data, Cell DataSelects the type of data to export.
Nodal Data ComponentChoiceThe scalar nodal data component to export. The data component selected must be scalar. Enabled when Data To Export is set to Nodal Data.
Cell Data ComponentChoiceThe scalar cell data component to export. The data component selected must be scalar. Enabled when Data To Export is set to Cell Data.
Exponentiate Log DataBooleanCauses any nodal or cell data with log units to be exponentiated when written out.

export vector gis

The export vector gis module will create a file in one of the following vector formats: ESRI Shapefile (.shp); GMT ASCII Vectors (.gmt); and MapInfo TAB (*.tab).

Although C Tech allows non-ASCII analyte names, ESRI does not. Acceptable shapefile field (attribute) names only allow A-Z, a-z, 0-9 and “”. When writing a shapefile, any unacceptable (non-ASCII) character will be changed to “” and a number added if there are duplicates.

If you plan to create a shapefile it will be better to change the analyte names to an ASCII equivalent that is more meaningful, but uses only the acceptable character set.

Info

Make sure to connect export vector gis after explode and scale to ensure that z-scaling is properly compensated.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field for output to a vector format.
InputZ ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe output filename and the vector format to write to. Supported formats include SHP, GMT, and TAB.
Z ScaleDoubleUsed to remove vertical exaggeration before writing.
Prepend Nodal DataBooleanAdds the prefix “n_” before each nodal data name when writing, indicating that the nodal data has been averaged across the cell.
Exponentiate Log DataBooleanCauses any nodal or cell data with log units to be exponentiated when written out.
Include Average DataBooleanAdds four cell data components to the output file: the absolute cell number and average coordinate of each cell in X, Y, and Z.
Translate By OriginBooleanCauses the output to be written in the user’s coordinate space. When turned off, the output will be written around the origin.

export horizon to raster

The export horizon to raster module is used in conjunction with gridding and horizons with rectilinear grids of geologic data. A large number of formats are supported such as Surfer and ESRI grids. For some formats, each cell in your grid should be the same size. This will require you to adjust the extents of your grid and set the grid resolution according to:

Cell size = (Max:xy - Min:xy) / (grid-resolution - 1)

NOTE: You must select rectilinear gridding in gridding and horizons.

Ports

DirectionNameTypeDescription
InputGeology Export OutputVistas DataInformation required for direct exporting of geology to other software.

Properties

PropertyTypeDescription
FilenameStringThe filename to create using the selected format.
Account For HierarchyBooleanForces hierarchy on multiple surfaces. Use this if the surfaces represent a geologic hierarchy.
Reverse HierarchyBooleanDetermines whether the surfaces will define layers in a normal (top to bottom) manner or reversed (if on).
Minimum ThicknessDoubleForces layers thinner than the specified value to have a minimum thickness and therefore not pinch-out completely.
Output All SurfacesBooleanDetermines if only the first surface is output or whether all should be included.
Selected FormatChoiceAllows the user to select the desired output type from a set list of available raster formats.
Translate By OriginBooleanCauses the output to be written in the user’s coordinate space. When turned off, the output will be written around the origin.

write lines

The write lines module is used to save a series of points with data connected by lines. These lines are stored in the EVS Line File format (*.elf).

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing lines to write to the ELF file format.
InputZ ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe filename for the output EVS Line File (*.elf).
Z ScaleDoubleVertical scaling for lines.
Check For Cell Set DataBooleanCauses any cell data that is constant throughout its cell set to be written as a cell set data component.
Translate By OriginBooleanCauses the output to be written in the user’s coordinate space. When turned off, the output will be written around the origin.

export horizons to vistas

The export horizons to vistas module is used in conjunction with gridding and horizons. The gridding and horizons module can create finite difference grids based on your geologic data.

This module writes the fundamental geologic grid information to a file format that Ground Water Vistas can read.

The output includes the x,y origin; rotation; and x-y resolutions in addition to descriptive header lines preceded by a “#”.

Ports

DirectionNameTypeDescription
InputGeology Export InputVistas DataInformation required for direct exporting of geology to other software.

Properties

PropertyTypeDescription
FilenameStringThe filename to use during file creation. Output is in GVG format.
Reverse HierarchyBooleanDetermines whether the surfaces will define layers in a normal (top to bottom) manner or reversed (if on).
Minimum ThicknessDoubleForces layers thinner than the specified value to have a minimum thickness and therefore not pinch-out completely.
Grid InfoStringDisplays the details of the input field that will be written to the file, including X/Y resolution, min X/Y, and angle. This is a read-only informational field.
Translate By OriginBooleanCauses the output to be written in the user’s coordinate space. When turned off, the output will be written around the origin.

Subsections of Sequences

driven sequence

The driven sequence module controls the semi-automatic creation of sequences for modules that support sequence driving, such as slice, cut, plume, and plume shell. Control over these modules is via the purple Sequence Output ports on the driven modules and the Sequence Input port on driven sequence.

All modules to be grouped in the sequence must have their red output ports connected to driven sequence instead of the viewer. In this way, driven sequence acts like a group objects module.

Other modules not listed above may be included if one of the driven modules controls those modules. Examples include titles, isolines, and band data.

The driven modules have the bulk of the settings which determine what controls and states will be available, such as Use Sequencing (which must be enabled), State Control type (Slider, Combo Box, or List Box), and Sequence Type (By Count or By Step Size). State titles are automatically generated.

Ports

DirectionNameTypeDescription
InputSequence InputSequenceThe sequence to drive with this module.
InputInput ObjectsRenderableAny number of renderable objects to transform.
OutputCurrent State TitleStringText containing the title of the current state.
OutputOutput ObjectRenderableA renderable object displaying the transformed group.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
Current StateChoiceThe current state to be passed to the script.
VisibilityIntegerThe Visibility toggle will turn on or off the visible state of the output objects.
Favorite In ExportBooleanInclude this sequence as a favorite when exporting to web scenes.

scripted sequence

The scripted sequence module provides the most power and flexibility for creating sequences, but requires creating a Python script which sets the states of all modules contained in the sequence.

The process for using this module is:

  1. Determine which modules’ output will be affected (controlled) by the Python script and therefore contained in one or more states.
  2. Connect the red output ports of those modules to scripted sequence instead of the viewer.
  3. Set the number of states and their names. This can be done manually or in a secondary Python script.
  4. Choose and set the State Control type (Slider, Combo Box, or List Box).
  5. Create and test the Python script which will control all modules, which must be set under Filename.

Ports

DirectionNameTypeDescription
InputInput ObjectsRenderableAny number of renderable objects to transform.
InputInput Value N1NumberA value to use as a variable.
InputInput Value N2NumberA value to use as a variable.
InputInput Value N3NumberA value to use as a variable.
InputInput Value N4NumberA value to use as a variable.
OutputOutput Value N1NumberA value to use as a variable.
OutputOutput Value N2NumberA value to use as a variable.
OutputOutput Value N3NumberA value to use as a variable.
OutputOutput Value N4NumberA value to use as a variable.
OutputCurrent State TitleStringText containing the title of the current state.
OutputOutput ObjectRenderableA renderable object displaying the transformed group.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
FilenameStringThe script which is run to set the current state contents.
ExecuteButtonAccept all values and perform the sequence computation. If this button is clicked and the application saved, the module will run when the application is loaded.
Current StateChoiceThe current state to be passed to the script.
VisibilityIntegerThe Visibility toggle will turn on or off the visible state of the output objects.
Favorite In ExportBooleanInclude this sequence as a favorite when exporting to web scenes.

Sequence Options

PropertyTypeDescription
State ControlChoice: Slider, Combo Box, List BoxDetermines which style of control is used for selecting the current state.
Allow CyclesBooleanAllows the state control to be cycled in CTWS files.
State NamesStringThe names of each state used in the UI.

Variables

PropertyTypeDescription
Available VariablesStringThe variables available to use to set the values during computation.
N1DoubleNumber passed into script.
N2DoubleNumber passed into script.
N3DoubleNumber passed into script.
N4DoubleNumber passed into script.

object sequence

The object sequence module is the simplest of the sequence modules. You create states by connecting modules (including groups) to the input port. Each connected object becomes an individual state in the sequence. This module works much like a group objects module, in that you can rearrange the order of the modules within, each of which creates a state named with that module’s (or group’s) name.

Ports

DirectionNameTypeDescription
InputInput ObjectsRenderableAny number of renderable objects to transform.
OutputCurrent State TitleStringText containing the title of the current state.
OutputOutput ObjectRenderableA renderable object displaying the transformed group.

Properties

PropertyTypeDescription
Current StateChoiceThe current state to be passed to the script.
VisibilityIntegerThe Visibility toggle will turn on or off the visible state of the output objects.
Favorite In ExportBooleanInclude this sequence as a favorite when exporting to web scenes.

Sequence Options

PropertyTypeDescription
State ControlChoice: Slider, Combo Box, List BoxDetermines which style of control is used for selecting the current state.
Allow CyclesBooleanAllows the state control to be cycled in CTWS files.
  • 3d streamlines

    Produce streamlines or streamribbons of a field which is a 2 or 3 element vector data component on any type of mesh.

  • surface streamlines

    Produce streamlines on any surface based on its slopes.

  • create drill path

    Produce a line path through a volume dependent on a starting locations and user defined restrictions.

  • scalars to vector

    Create a 2d or 3d vector by combining selected scalar data components.

  • vector to scalars

    Turn all vectors into scalars.

  • vector magnitude

    Calculates the magnitude of a vector field data component at every node in a mesh.

  • gradient

    Calculate the vector gradient field of a scalar data component at every node in a mesh.

  • capture zone

    Use streamlines technology to determine the volumetric regions of your model for which groundwater flow will be captured by one or more extraction wells.

  • seepage velocity

    Compute the vector groundwater flow field visualizations of the vector field.

  • regional averages

    Average nodal data values from the input field that fall into the input regions.

Subsections of Modeling

3d streamlines

The 3d streamlines module produces streamlines or stream-ribbons of a field containing a 2 or 3 element vector data component on any type of mesh. Streamlines are 3D polylines representing the pathways particles would travel based on the gradient of the vector field. At least one of the nodal data components input to the module must be a vector. The direction of travel can be specified as forwards (toward high vector magnitudes), backwards (toward low vector magnitudes), or both with respect to the vector field. Streamlines are produced by integrating a velocity field using the Runge-Kutta method with adaptive time steps.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for creating the streamlines
InputInput Locations FieldFieldThe field to use for creating the starting locations of streamlines
InputZ ScaleNumberThe factor for vertical scaling
OutputOutput FieldFieldThe streamlines field
OutputOutput ObjectRenderableA renderable object to display

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run control specifies whether the module is permitted to execute. Set to True to enable execution.
ExecuteButtonThe Execute button forces the module to run even if Allow Run is disabled.
Z ScaleDoubleThe Z Scale control ensures that output lines are aligned with the scaled input.
Vector Nodal DataChoiceThe Vector Nodal Data specifies which vector components to use for streamline generation.
Velocity UnitsStringThe Velocity Units specify the units of the input vector data. By default this is determined from the input field. Unlink to override manually.
Flow DirectionChoice: Backwards, Forwards, BothThe Flow Direction allows the user to select the direction the lines will flow.

Terminating Conditions

PropertyTypeDescription
Max Segments TotalIntegerThe maximum allowable number of streamline segments that will be completed for each streamline. If the number of segments along a streamline exceeds this value, the streamline is terminated at the end of the last segment.
Minimum VelocityDoubleThe minimum velocity that will be considered in the integration. If the magnitude of the velocity field in a region is less than this value, streamlines will end in that region. Setting this to a lower value will produce longer streamlines. Higher values tend to produce fewer and shorter streamlines.
Extinction AngleDoubleThe maximum allowable angle between successive line segments before integration (streamline generation) should be terminated.

Output Data Options

PropertyTypeDescription
Export Velocity And TimeBooleanSpecifies whether velocity and time data will be included in the output field. If enabled, the input Vector Nodal Data component must have proper velocity units (length/time).
Log Process TimeBooleanSpecifies that time data will be output on a logarithmic scale. This converts all time values to absolute, including those in the backward flow direction that would otherwise be negative.
Time MinimumDoubleThe minimum value time data is clamped to before log processing. This is useful to avoid datamap issues especially at the start of streamlines where time values are very small or zero.
Log Process VelocityBooleanSpecifies that velocity data will be output on a logarithmic scale.
Velocity MinimumDoubleThe minimum velocity value to clamp data before log processing. This helps avoid datamap issues in regions where velocity is very low or zero.

surface streamlines

The surface streamlines module produces streamlines on any surface based on its slopes. Streamlines are 3D polylines representing the paths particles would travel based on the slopes of the input surface. The direction of travel can be specified as downhill or uphill. A velocity table allows mapping surface slopes to velocities for time-based output.

Ports

DirectionNameTypeDescription
InputInput SurfaceFieldThe surface to use for creating the streamlines
InputInput Locations FieldFieldThe field to use for creating the starting locations of streamlines
InputZ ScaleNumberThe factor for vertical scaling
OutputOutput FieldFieldThe streamlines field
OutputOutput ObjectRenderableA renderable object to display

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
ExecuteButtonThe Execute button forces the module to run even when Allow Run has been turned off.
Z ScaleDoubleThe Z Scale is required to ensure that lines are matched to scaled input.
VelocitiesSlope ArrayThe Velocities table specifies the velocities along the surface at given slopes.
Flow DirectionChoice: Downhill, Uphill, BothThe Flow Direction allows the user to select the direction the lines will flow.

Terminating Conditions

PropertyTypeDescription
Max Segments TotalIntegerThe maximum allowable number of streamline segments that will be completed for each streamline. If the number of segments along a streamline exceeds this value, the streamline is terminated at the end of the last segment.
Minimum VelocityDoubleThe minimum velocity that will be considered in the integration. If the magnitude of the velocity field in a region is less than this value, streamlines will end in that region. Setting this to a lower value will produce longer streamlines. Higher values tend to produce fewer and shorter streamlines.
Minimum SlopeDoubleThe absolute minimum slope in degrees that will be considered in the integration. If the slope in a region is less than this value, streamlines will end in that region. Setting this to a lower value will produce longer streamlines. Higher values tend to produce fewer and shorter streamlines.
Extinction AngleDoubleThe maximum allowable angle between successive line segments before integration (streamline generation) should be terminated.

Output Data Options

PropertyTypeDescription
Log Process TimeBooleanSpecifies that time data will be output on a logarithmic scale. This converts all time values to absolute, including those in the backward flow direction that would otherwise be negative.
Time MinimumDoubleThe minimum value time data is clamped to before log processing. This is useful to avoid datamap issues especially at the start of streamlines where time values are very small or zero.

create drill path

The create drill path module allows you to interactively create a complex drill path with multiple segments.

Each segment can be defined by one of three methods:

  1. Continue Straight: Continue for the specified total length along the current direction (or Initial Drill Direction if just starting).
  2. Target Coordinate: Begin deviating with a specified segment length and maximum angle of change per segment until you reach the specified (X, Y, Z) coordinate.
  3. Move to Heading: Begin deviating with a specified segment length and maximum angle of change per segment until you reach the specified heading and dip.

Ports

DirectionNameTypeDescription
OutputOutput FieldFieldThe created drill path field
OutputDrillPathRenderableA renderable object displaying the drill path

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off, allowing the user to make a number of changes before updating.
Initial Drill PositionCoordinate 3DThe starting point of the drill path.
Initial Drill DirectionHeading/DipThe heading and dip of the initial drill direction.
Max LengthDoubleThe maximum length will prevent users from creating lines that cannot reach their target.
Segment ListSegmentsThe list of line segments to create.
Boring NameStringThe boring name is used when exporting the created drill path as an APDV file.
Output UnitsStringThe output units used when exporting the created drill path as an APDV file.
Export As APDVFileExport the line as an APDV file with data associated with distance down the line.
Export As TXTFileExport the line as a tab-delimited file with data associated with distance down the line.

scalars to vector

The scalars to vector module creates an n-length vector by combining n selected scalar data components. The vector length is determined by the Vector Type selector (2D or 3D).

Once the required number of components has been selected, any other data components are grayed out and not selectable. To change selections, first deselect one of the vector components and then select a new component. If no components are selected, then all components are selectable. The order in which the components are selected determines the order they occur in the vector.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing data components to combine into a vector
OutputOutput FieldFieldA field containing the data combined into a vector
OutputOutput ObjectRenderableA renderable object displaying the combined data

Properties

PropertyTypeDescription
Vector TypeChoice: 2D Vector, 3D VectorAllows the user to select between two and three data components to create the output vector.
Vector ComponentsMulti-selectAllows the user to set which data components to use when creating the vector.

vector to scalars

The vector to scalars module converts all vector nodal data components into individual scalars. For example, a vector data component named “velocity” will be converted to three scalar nodal data components such as:

  1. velocity_x
  2. velocity_y
  3. velocity_z

If multiple vector data components exist in the field, all will be converted. The naming pattern for the output scalar components can be customized using the Variable Names expression editor.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing either nodal or cell vector data
OutputOutput FieldFieldA field containing the original scalar data components as well as converted, vector to scalar, data components

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle will prevent the module from running when turned to the off position.
ExecuteButtonThe Run Once button will allow the module to run one time even if the Allow Run toggle is turned to the off position, allowing the user to make multiple changes with only one update.
Variable NamesExpression EditorSets the template for each data component name that is created from a vector. Available variables: Analyte (the vector analyte name), Number (the position of the component in vector form), XYZ (the position listed alphabetically starting at X), IJK (the position listed alphabetically starting at I).

vector magnitude

The vector magnitude module calculates the vector magnitude of a vector field data component at every node in a mesh. Input to the module must contain a mesh of any type and nodal data. Nodal data components can be scalar or vector with up to 3 vector subcomponents. Cell vector data can also be selected for magnitude calculation.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing a vector data component
OutputOutput FieldFieldA field containing the magnitude of the vector component as data
OutputOutput ObjectRenderableA renderable object displaying the magnitude data

Properties

PropertyTypeDescription
Variable NamesExpression EditorSets the template for each data component name that is created from a vector. Available variable: Analyte (the vector analyte name).
Vector DataMulti-selectAllows the user to select which nodal vector data components to use for creating the magnitude data.
Cell Vector DataMulti-selectAllows the user to select which cell vector data components to use for creating the magnitude data.

gradient

The gradient module calculates the vector gradient field of a scalar data component at every node in a mesh. Input must contain a mesh of any type and nodal data with at least one scalar data component. The module uses a finite-difference method based on central differencing to calculate the gradient on structured (rectilinear) meshes, and shape functions with their derivatives for unstructured meshes. Both nodal and cell data components can be used as the gradient source.

Note that the gradient of (pressure) head points in the direction of increasing head, not the direction that groundwater would flow. See the seepage velocity module if you wish to compute groundwater flow.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field containing data used to calculate gradient
InputZ ScaleNumberThe factor for vertical scaling
OutputOutput FieldFieldA field containing the gradient data
OutputOutput ObjectRenderableA renderable object displaying the gradient data

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is required to ensure that the output gradients are matched to scaled input.
Gradient ByChoice: Nodal Data, Cell DataSelects the type of data to use to calculate gradients.
Nodal Gradient ComponentChoiceThe scalar nodal data component to be used by gradient. The data component selected must be scalar or an error will occur. Only enabled when Gradient By is set to Nodal Data.
Cell Gradient ComponentChoiceThe scalar cell data component to be used by gradient. The data component selected must be scalar or an error will occur. Only enabled when Gradient By is set to Cell Data.

capture zone

The capture zone module utilizes 3d streamlines technology to determine the volumetric regions of your model for which groundwater flow will be captured by one or more extraction wells.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing vector data representing seepage velocity
InputWell NodesFieldThe field containing nodes to use as starting locations
InputZ ScaleNumberThe factor for vertical scaling
OutputOutput FieldFieldA field containing the input field with three additional data components

Properties

PropertyTypeDescription
ExecuteButtonThe Execute button will cause the module to run with the current settings.
Z ScaleDoubleThe Z Scale is the vertical exaggeration of the Input Field.
Seepage Velocity ComponentChoiceDisplays all data components (vector and scalar) passed to the module.
Well Capture DistanceDoubleThe maximum distance that a streamline must pass near an extraction well before that streamline’s integration is terminated and its original starting location is deemed to have been captured by a well. Generally a value corresponding to one nominal cell width in the region of your wells is appropriate.
Minimum Flow VelocityDoubleThe minimum velocity that will be considered in the integration. If the magnitude of the velocity field in a region is less than this value, streamlines will end in that region. Setting this to a lower value will more accurately define the full extent of the capture zone region, but may increase run time.
Export Well DataBooleanWhen enabled, uses the selected Nodal Data component label as the name of the output data.
Segments Per CellIntegerThe number of integration steps to be used in each cell to calculate the streamline.
OrderIntegerThe order of the integration. Higher order integration is more accurate but executes much slower.
Max Segments TotalIntegerThe maximum allowable number of streamline segments that will be completed for each streamline. If the number of segments along a streamline exceeds this value, the streamline is terminated at the end of the last segment.
Extinction AngleDoubleThe maximum allowable angle between successive line segments before integration (streamline generation) should be terminated.

seepage velocity

The seepage velocity module computes the vector groundwater flow field. It calculates seepage velocity or Darcy flux at each node based on the gradient of head data, hydraulic conductivity, and effective porosity for each geologic material.

The input data requirements are:

  1. A data component representing head (can have any name).
  2. A Geo_Layer data component.
  3. A Material_ID data component. If there is no Material_ID, each layer is treated as a separate material (Layer 0 becomes material -1, Layer 1 becomes material -2, etc.).

The module computes the true seepage velocity (Vx, Vy, Vz) at each node by taking the gradient of head (without z-exaggeration) and multiplying each component by the corresponding conductivity (Kx, Ky, Kz) divided by the effective porosity (Ne) for that material:

  • Darcy Flux = -(Hydraulic Conductivity) * (Head Gradient)
  • Seepage Velocity = (Darcy Flux) / (Effective Porosity)

This approach allows users to quickly investigate the impact on flow paths due to changes in the conductivity assigned to each layer or material, based on the measured or kriged head distribution.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field containing head data, Layer data, and Material values.
InputGeology LegendGeology LegendGeology legend input.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing vector data representing x, y, and z components of seepage velocity.
OutputOutput Z ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off, allowing the user to make a number of changes before updating.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
Head Data ComponentChoiceAllows the user to select which data component to use for head values.
Velocity MethodChoice: Darcy Flux, Seepage VelocitySelects between Darcy Flux and Seepage Velocity calculation methods.
Velocity UnitsChoice: m/day, ft/day, gal/day/ft2, m/year, ft/yearAllows you to choose the units for the output velocity data component.

Material Presets

PropertyTypeDescription
Common Material SettingsChoicePre-set conductivity values that can be applied to the currently selected material.
Preserve Original NameBooleanIf selected, the preset name for the currently selected material will be the original name along with the name of the selected Common Material. If off, the output name will be just the Common Material name.
Applied Conductivity UnitsChoice: m/day, ft/day, gal/day/ft2, m/year, ft/yearAllows you to choose the units for specifying the conductivity in all three (x, y, z) directions for each geologic layer. Appropriate conversions will be made regardless of your head and coordinate units.
Apply To Current MaterialButtonTakes the currently set conductivity values and the Common Material name and applies it to the currently selected material.

Material Properties

PropertyTypeDescription
Current MaterialChoiceAllows the user to select a single material to edit.
Preset NameStringThe preset name for the currently selected material.
Conductivity UnitsChoice: m/day, ft/day, gal/day/ft2, m/year, ft/yearAllows you to choose the units for specifying the conductivity in all three (x, y, z) directions for each geologic layer. Appropriate conversions will be made regardless of your head and coordinate units.
Conductivity In X Log SpaceDoubleAllows the user to set the X conductivity in log10 space.
Conductivity In X Linear SpaceDoubleAllows the user to set the X conductivity in linear space.
Conductivity In Y Log SpaceDoubleAllows the user to set the Y conductivity in log10 space.
Conductivity In Y Linear SpaceDoubleAllows the user to set the Y conductivity in linear space.
Conductivity In Z Log SpaceDoubleAllows the user to set the Z conductivity in log10 space.
Conductivity In Z Linear SpaceDoubleAllows the user to set the Z conductivity in linear space.
Effective PorosityDoubleAllows the user to set the porosity of the current material.

regional averages

The regional averages module averages nodal data values from the input field that fall into the input polygon regions. It outputs a point for each region containing the average x, y coordinates and the average of each nodal data component. The input polygon regions must contain at least one cell data component representing the regional ID.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe input field containing nodal data
InputInput SurfaceFieldThe surface(s) to use for limiting the regions
OutputOutput FieldFieldA field containing the average data and 2D coordinates of each region
OutputOutput ObjectRenderableA renderable object displaying a sphere for each region with the average selected data

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when unselected.
Z PositionDoubleAllows the user to set the vertical position of the regional average output points.
RadiusDoubleSets the radius of the renderable output spheres.
Regional ID ComponentChoiceSelects which cell data component from the polygon regions input should be used to identify each region.
Data For VisualizationChoiceSelects which nodal data component from the input field to color the output spheres by.
  • draw lines

    Interactively create 2D and 3D lines using the mouse.

  • polyline processing

    Smooth or resample 3D polylines using splining or smoothing algorithms.

  • triangulate polygons

    Convert closed polylines into triangulated surfaces.

  • triangle refinement

    Subdivide and refine triangular surfaces with normal correction.

  • tubes

    Create tubes of constant or data-dependent radius from 3D lines or polylines.

  • volumetric tunnel

    Create a volumetric tunnel model from a polygonal cross-section along a 3D path.

  • cross section tubes

    Create tubes with a user-defined cross-section from 3D lines or polylines.

  • extrude

    Extrude a mesh in the Z direction to add one dimension to the input.

  • drive glyphs

    Move glyphs along paths to create driving animations.

  • place glyph

    Place a single scalable geometric object (glyph) at an interactively determined location.

  • glyphs at nodes

    Place geometric objects (glyphs) at nodal locations with data-driven scaling and orientation.

  • glyphs at cells

    Place geometric objects (glyphs) at all cell centers of a field.

  • create fault surface

    Create a 3D grid aligned to a specified strike and dip.

  • create grid

    Create a 2D or 3D uniform grid of adjustable resolution and orientation.

Subsections of Geometry

draw lines

The draw lines module enables you to create both 2D and 3D lines interactively with the mouse.

The mouse gesture for line creation is: depress the Ctrl key and then click the left mouse button on any pickable object in the viewer. The first click establishes the beginning point of the line segment and the second click establishes each successive point.

draw lines allows adding of points that are outside the model extents, undoing of the last picked point, and the clearing of all picked points. Unlike most modules which create mesh data to be used by other modules, the draw lines module receives input from the viewer, and also passes on field data to be used by other modules.

There are two drawing modes:

  1. Top View Mode creates 2D lines which are always at Z=0.0. You must be in a Top View to draw with this mode, but you may pick points anywhere in the viewer screen.

  2. Object Mode creates 3D lines which are drawn by probing objects in your model. You cannot draw at a point without having an object there or specifying a coordinate using the x-y-z type-ins.

NOTE: Because draw lines saves your lines with your application, when an application is saved, the purple port is automatically disconnected from the viewer. This ensures that when you load an application the resulting objects (lines, fence-diagrams, etc.) will look exactly the same as when you saved the application. However, if you wish to draw new lines you will need to reconnect the purple port from the viewer.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing the created lines.
OutputOutput GlyphsFieldA field containing the created glyphs.
OutputSampleDataRenderableA renderable object displaying the lines.

Properties

PropertyTypeDescription
Probe ActionChoice: None, Reset Position, Add PointAllows for the changing of the current line coordinates or for adding a new coordinates at the probed location.
Drawing StyleChoice: Top View Mode, Object ModeThe Drawing Style allows the user to select coordinates using two different methods. In Top View Mode: the Viewer must be in Top View; any point in the Viewer can be selected; and the Z coordinate is the Z Top value. In Object Mode: the Viewer can be in any rotation; and only probing on objects will give coordinates.
Z ScaleDoubleThe Z Scale is the vertical exaggeration that has been applied to the input of the module.
Z TopDoubleThe Z Top value is the z value used when creating lines in Top View Mode.
Coordinate UnitsStringThe coordinate units control for draw lines has different behavior than other linked controls. The first time a point is created the control will unlink and check the coordinate units of additional points against the set units.
Display LinesBooleanThe Display Lines toggle will turn off visibility of the created lines.
Display GlyphsBooleanThe Display Glyphs toggle will turn off visibility of the created glyphs.
Line ListStringThe list of lines and their coordinates created so far. Selecting the Closed toggle will cause a line segment from the last point added to the first point to be created.
Current LineStringThe Current Line is the line selected from the Lines list.
ELF File NameStringOutput the created lines as an ELF file.

Glyph Settings

PropertyTypeDescription
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, Disk, PointThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
Sphere SubdivisionsIntegerThe number of subdivisions to use for spheres. Larger numbers create more detailed sphere representations.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each glyph as a cell data component. This allows the user to probe onto the glyph and return its center instead of the position on the outside of the glyph.

polyline processing

The polyline processing module accepts a 3D polyline and can either increase or decrease the number of line segments of the polyline. A splining algorithm smooths the line trajectory once the number of points are specified. This module is useful for applications such as a fly over application (along a polyline path drawn by the user). If the user drawn line is jagged with erratically spaced line segments, polyline processing smooths the path and creates evenly spaced line segments along the path.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe line field to use for splining or smoothing.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput DataFieldA line field containing the smoothed or splined line.
OutputOutput ObjectRenderableA renderable object displaying the sample data.

Properties

PropertyTypeDescription
Z ScaleDoubleVertical scaling for writing lines.
Specification MethodChoice: Number Of Points, Path Step SizeThe output line segment size can be adjusted via two options. Number of Points mode allows line smoothing adjustments by specifying the number of line segments. Path Step Size mode allows smoothing adjustments by specifying the step size in the units of the input mesh.
Number Of PointsIntegerIf the Specification Method is set to Number Of Points, the total number of points in the path can be set using this control.
Path Step SizeDoubleIf the Specification Method is set to Path Step Size, the length of each path step in the units of the input mesh.
Max Path Step CountIntegerThe max number of lines to create using the Path Step Size specification method.
Resample At EndBooleanIf the Resample At End toggle is ON, the line is segmented before and after being smoothed or splined.
ToleranceDoubleThe Tolerance parameter determines how close two disjoint points must be before the two polylines are merged.
Sampling MethodChoice: Spline, Smooth, Preserve NodesThe Sampling Method allows the user to change how the polyline is created. Spline connects each point with a path determined by the gradient of the points. Smooth keeps to the original path with sharp corners smoothed using the Smoothing Percentage. Preserve Nodes keeps the same path as the input but breaks the path into smaller segments.
Smoothing OrderIntegerThe Smoothing Order determines the number of points to be used for splining. More points creates a smoother line that departs more from the original.
Smoothing PercentageDoubleThe Smoothing Percentage determines the degree of smoothing. Higher values creates a smoother line that departs more from the original.
Smoothing IterationsIntegerThe Smoothing Iterations is analogous to multiple polyline processing modules connected in series. This provides a means to further smooth erratic lines while staying close to the original points.
Translate Export By OriginBooleanThe Translate Export by Origin toggle will cause the output to be written in the users coordinate space. When this is turned off the output will be written around the origin.
ELF FilenameStringThis button allows the user to output the created polyline as an ELF file.

triangulate polygons

The triangulate polygons module converts a closed polyline into a triangulated surface. This surface can be extruded or used by the distance to 2d area module to perform areal subsetting of 3D models.

Polylines with WIDTH in AutoCAD DWG files are converted by import cad into triangle strips of the specified width. As you zoom in on polylines with width, the apparent width will change, whereas the apparent width of lines does not change. However, once they are triangles, they do not define a closed area and therefore would not work with triangulate polygons.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe line field to use for triangulating.
OutputOutput FieldFieldThe triangulated field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
ToleranceDoubleThe Tolerance control allows the user to set the distance between points for closing a polygon.

triangle refinement

The triangle refinement module is primarily for use with distance to surface. It can subdivide triangular and quadrilateral cells until none of the sides of the output triangles exceed a user specified length (a default value is calculated as 5% of the x-y extent of your input surface). This increases the accuracy of distance to surface especially when the input surface comes from create tin and the nodes used to create the TIN are poorly spaced. It can also correct the normals of a surface. It does this by organizing all of the triangles and quadrilaterals in a surface into disjoint patches, and then allowing the user to select which patches have normals that need to be flipped. The maximum number of triangles in a patch is 130,000; any triangles above this number will be considered to be in the next patch.

Removing small cells is used to remove extremely small cells (based on area in your coordinate units squared) that sometimes are generated with CAD triangulation routines that might have their normal vectors reversed and would contribute to poor cutting surface definition. Try this option if you find that distance to surface is giving anomalous results.

The ability to fix normals is used to check that all of the triangles in selected patches of the surface have the same normal vector direction. If the normal is backwards, you can flip the normal of the patch in two ways. The first way is Alt + Right click on a cell in the patch that you wish to flip and then click the Add patch to flip list button. You only need to do this for one cell in each patch. Another way to do this is to set the Cell ID and Cell Data value of a cell in the patch you wish to flip. The Cell Id and Cell Data values must be obtained from the surface being output from triangle refinement, and not the surface being input.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field of triangles.
OutputOutput FieldFieldA field containing the altered triangles.
OutputSampleDataRenderableA renderable object displaying the input triangles with assigned cell data.

Properties

PropertyTypeDescription
ExecuteButtonThe Execute button will force the module to run with the current settings.
Remove Coincident NodesBooleanThe Remove Coincident Nodes toggle is used to merge nodes that have multiple nodes occupying the same coordinate space.
Remove Small Area CellsBooleanThe Remove Small Area Cells toggle is used to remove extremely small cells (based on area in your coordinate units squared) that sometimes are generated with CAD triangulation routines that might have their normal vectors reversed and would contribute to poor cutting surface definition.
Small Area ValueDoubleIf Remove Small Area Cells is selected the Small Area Value is the cut off value.
Split CellsBooleanThe Split Cells toggle is used to ensure that none of the triangles have an edge longer than the maximum edge length.
Maximum Edge LengthDoubleThe Maximum Edge Length value allows the maximum length of each triangle side to be set for when the Split Cells toggle is set.

Triangle Normal Settings

PropertyTypeDescription
Fix NormalsBooleanThe Fix Normals toggle is used to check to make sure all of the triangles in selected patches of the surface have the same normal. If the normal is backwards, you can flip the normal of the patch by Ctrl + Left clicking on a cell in the patch that you wish to flip and then adding the patch to the flip list using its cell data value.
Picked Cell NumberIntegerThe current cell number being probed. This number is just used as a reference when probing.
Picked Cell DataIntegerThe current cell data value being probed. This number should be added to the Flip List if that patch needs to be flipped.

tubes

The tubes module is used to produce open or closed tubes of constant or data dependent radius using 3D lines or polylines as input. Tube size, number of sides and data dependent coloring is possible.

Rotation of the tubes is done with the Phase slider (or type-in), which is specified in degrees. There are two methods used to maintain continuity of the tube orientation as the path meanders along a 3D path. These are specified as the Phase Determination method:

  • Force Z Up: is the default and is most appropriate for paths that stay relatively horizontal. This option keeps the tube faces aligned with the Z axis and therefore with a slope of 30 degrees, the effective cross sectional area of the tube would be reduced by cos(30) which would be a 14% reduction. However for the typical slopes found with tunneling this effect is quite minimal and this option keeps the tube perfectly aligned.
  • Perpendicular Extrusions: keeps the tube cross-section aligned with the tube (extrusion) path and therefore preserves the cross-section no matter what the path. However, tube rotation creep is possible.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field of lines to be used in the creation of tubes.
OutputOutput FieldFieldThe tubes field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module is allowed to execute.
Radius ByChoice: Constant, Cell Data Component, Node Data ComponentThe Radius By choice allows the user to choose constant or data dependent radius scaling.
Constant Data For RadiusDoubleIf Radius By is set to Constant, the Constant Data For Radius can be set using this control.
Cell Data For RadiusChoiceThe Cell Data for Radius allows you to choose the cell data component for scaling.
Nodal Data For RadiusChoiceThe Nodal Data for Radius allows you to choose the nodal data component for scaling.
Scale FactorDoubleThe Scale Factor value is multiplied by the nodal data to determine the radius.
Minimum RadiusDoubleThe Minimum Radius control sets the minimum tube radius.
ToleranceDoubleThe Tolerance parameter determines the maximum distance between nodes of adjacent line segments before those lines’ nodes should be merged to form a polyline. This also applies to closed polyline contours. Closed polylines will have their starting and ending nodes merged to form closed (toroidal) annuli.
Tube SidesIntegerThe Tube Sides value is the number of faces on the tubes.
Close TubesBooleanThe Close Tubes toggle causes the tubes to have solid ends. However the tubes are not solid objects (they are hollow).
Connect TubesBooleanIf the Connect Tubes toggle is on, tubes formed by connecting line segments will connect together.
PercentileDoubleThe Percentile value allows you to control the automatic scaling of tubes based on the nth percentile value (versus the maximum 100th%). This addresses datasets where there are only a few nodes with extremely high values.
PhaseDoubleThe Phase value allows you to control the apparent rotation of tubes. This is specified in degrees of rotation.
Phase DeterminationChoice: Perpendicular Extrusion, Force Z UpThe Phase Determination is used to set how the tubes are aligned. Perpendicular Extrusion is typically preferred if tubes approach vertical. Force Z Up works better for horizontal tubes.

Data Output

PropertyTypeDescription
Map Nodal DataMulti-selectThe Map Nodal Data options allow the user to select those nodal data components that are used for coloring or subsequent subsetting operations.
Map Cell DataMulti-selectThe Map Cell Data options allow the user to select those cell data components that are used for coloring or subsequent subsetting operations.
Include Probing DataBooleanThe Include Probing Data toggle will tell the module to include the center point of each tube end point as a cell data component. This allows the user to probe onto the tube and return its center instead of the position on the outside of the tube.

volumetric tunnel

The volumetric tunnel module allows you to create a volumetric tunnel model that is defined by a polygonal surface cross-section along a complex 3D path. Once this volumetric grid is defined, it can be used as input to various modules to map analyte and/or geologic data onto the tunnel. These include:

  • 3d estimation: external grid port: to map analytical data
  • lithologic modeling: external grid port: to map lithologic data
  • interp data: to map analytical data
  • interp cell data: to map stratigraphic or lithologic material data

The requirements for the tunnel path and cross-section are:

  • The path must be defined by a line input to the Right input port.
  • The tunnel cross-section is defined by a surface input to the Left input port.
    • The cross-section should be defined in the X-Y plane at Z = 0 (2D)
    • The coordinates (size) of the cross-section should be actual scale in the same units as the tunnel path (generally feet or meters).
      • Do not use cm for cross-section and meters for path.
      • Generally, the X-Y Origin (0, 0) should lie within the cross-section and should represent where the tunnel path should be.

Ports

DirectionNameTypeDescription
InputInput LineFieldA field of lines to be used in the creation of the tunnels.
InputInput SurfaceFieldA surface used to extrude along the input line.
OutputOutput FieldFieldThe created tunnel field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Merge Continuous PathsBooleanThe Merge Continuous Path toggle controls whether continuous lines and polylines will be handled as single, connected lines to obtain a smooth extrusion without intermediary end caps.
Max Step DistanceDoubleThe Max Step Distance is the maximal distance to subdivide the path by. Generally, cells will never be longer than this distance, but may be shorter at the end of a segment.
OffsetDoubleThe Offset value controls the initial translation of the two-dimensional cross section to allow off-center extrusion or move off-centered cross sections to the origin.
Phase DeterminationChoice: Perpendicular Extrusion, Force Z UpThe Phase Determination controls the orientation of the input surface along the path. When using Perpendicular Extrusion the surface is extruded perpendicular to the segments of the path. If only rotations around the Z axis should be allowed regardless of the path direction, use Force Z Up.
Scale Factor ByChoice: Constant, Node Data ComponentThe Scale Factor By choice allows the user to choose constant or data dependent scaling.
Constant Data For Scale FactorDoubleIf Scale Factor By is set to Constant, the constant scale factor can be set using this control.
Nodal Data For Scale FactorChoiceThe Nodal Data for Scale Factor allows you to choose the nodal data component for scaling.
Rotate ByChoice: Constant, Node Data ComponentThe Rotate By choice allows the user to choose constant or data dependent rotation.
Constant Data For RotationDoubleIf Rotate By is set to Constant, the Constant Data For Rotation can be set using this control.
Nodal Data For RotationChoiceThe Nodal Data for Rotation allows you to choose the nodal data component for rotation.

Data Output

PropertyTypeDescription
Map Nodal DataMulti-selectThe Map Nodal Data options allow the user to select those nodal data components that are used for coloring or subsequent subsetting operations.
Map Cell DataMulti-selectThe Map Cell Data options allow the user to select those cell data components that are used for coloring or subsequent subsetting operations.

cross section tubes

The cross section tubes module is used to produce open or closed tubes of user defined cross-section and constant or data dependent radius using 3D lines or polylines as input for the centerline and a single 2D polyline as the cross-section of the tubes.

Rotation of the cross-section is done with the Phase slider (or type-in), which is specified in degrees. There are two methods used to maintain continuity of the tube orientation as the path meanders along a 3D path. These are specified as the Phase Determination method:

  • Force Z Up: is the default and is most appropriate for paths that stay relatively horizontal. This option keeps the tube cross-section aligned with the Z axis and therefore with a slope of 30 degrees, the effective cross sectional area of the tube would be reduced by cos(30) which would be a 14% reduction. However for the typical slopes found with tunneling this effect is quite minimal and this option keeps the tube perfectly aligned.
  • Perpendicular Extrusions: keeps the tube cross-section aligned with the tube (extrusion) path and therefore preserves the cross-section no matter what the path. However, cross-section rotation creep is possible.

The cross section field input must be a closed polyline that is drawn in the X-Y plane in the correct size. It should be balanced about the origin in X, usually with the Y axis (X=0) at the floor of the tunnel. This results in the tunnel being created such that the tunnel path will be at the centerline FLOOR of the tunnel as shown in the picture below.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field of lines to be used in the creation of tubes.
InputInput Cross Section FieldFieldA field of lines to be used as the cross section of the tubes.
OutputOutput FieldFieldThe tubes field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module is allowed to execute.
Radius ByChoice: Constant, Cell Data Component, Node Data ComponentThe Radius By choice allows the user to choose constant or data dependent radius scaling.
Constant Data For RadiusDoubleIf Radius By is set to Constant, the Constant Data For Radius can be set using this control.
Cell Data For RadiusChoiceThe Cell Data for Radius allows you to choose the cell data component for scaling.
Nodal Data For RadiusChoiceThe Nodal Data for Radius allows you to choose the nodal data component for scaling.
Scale FactorDoubleThe Scale Factor value is multiplied by the nodal data to determine the radius.
Minimum RadiusDoubleThe Minimum Radius control sets the minimum tube radius.
ToleranceDoubleThe Tolerance parameter determines the maximum distance between nodes of adjacent line segments before those lines’ nodes should be merged to form a polyline. This also applies to closed polyline contours. Closed polylines will have their starting and ending nodes merged to form closed (toroidal) annuli.
Close TubesBooleanThe Close Tubes toggle causes the tubes to have solid ends. However the tubes are not solid objects (they are hollow).
Connect TubesBooleanIf the Connect Tubes toggle is on, tubes formed by connecting line segments will connect together.
PercentileDoubleThe Percentile value allows you to control the automatic scaling of tubes based on the nth percentile value (versus the maximum 100th%). This addresses datasets where there are only a few nodes with extremely high values.
PhaseDoubleThe Phase value allows you to control the apparent rotation of tubes. This is specified in degrees of rotation.
Phase DeterminationChoice: Perpendicular Extrusion, Force Z UpThe Phase Determination is used to set how the tubes are aligned. Perpendicular Extrusion is typically preferred if tubes approach vertical. Force Z Up works better for horizontal tubes.

Data Output

PropertyTypeDescription
Map Nodal DataMulti-selectThe Map Nodal Data options allow the user to select those nodal data components that are used for coloring or subsequent subsetting operations.
Map Cell DataMulti-selectThe Map Cell Data options allow the user to select those cell data components that are used for coloring or subsequent subsetting operations.
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each tube end point as a cell data component. This allows the user to probe onto the tube and return its center instead of the position on the outside of the tube.

extrude

The extrude module accepts any mesh and adds one to the dimensionality of the input by extruding the mesh in the Z direction. The interface enables changing the height scale for extruded cells and extruding by a constant, any nodal or cell data component. This module is often used with the import vector gis module to convert polygonal shapefiles into extruded volumetric cells.

When Node Data Component is chosen, the output cells will be extruded by the Scale Factor times the value of whichever nodal data component is selected. With nodal data extrusion you must select “Positive Extrusions Only” or “Negative Extrusions Only”. Since each node of a triangle or quadrilateral can have different values, it is possible for a single cell to have both positive and negative data values at its nodes. If this type of cell is extruded both directions, the cell topology can become tangled.

For this reason, nodal data extrusions must be limited to one direction. To extrude in both directions, merely use two extrude modules in parallel, one set to positive and the other to negative.

Ports

DirectionNameTypeDescription
InputScale FactorNumberThe value used for subsetting.
InputInput FieldFieldA field containing nodes or cells to be extruded.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe extruded field.
OutputOutput ObjectRenderableA renderable object displaying the extruded data.
OutputOutput Z ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute.
ExecuteButtonAccept all values and perform extrusion.
Extrude ByChoice: Constant, Cell Data Component, Node Data ComponentThe Extrude By control allows the user to handle the method of extrusion.
Constant ValueDoubleIf the Extrude By selection is set to Constant the Constant Value will be the height of each cell.
Cell Data ComponentChoiceIf the Extrude By selection is set to Cell Data Component, the data component of interest can be selected using this control.
Node Data ComponentChoiceIf the Extrude By selection is set to Node Data Component, the data component of interest can be selected using this control.
Limit ExtrusionChoice: Positive Extrusions, Negative Extrusions, No LimitIf the Extrude By selection is set to Node Data Component or Cell Data Component, this setting allows to limit the data values to extrude by to either strictly positive or negative values. Values limited by this option are considered zero.
SubdivisionsIntegerThe Subdivisions field determines how many cells vertically to create.
Scale FactorDoubleThe Scale Factor is multiplied by the selected Extrude By value to determine the extrude height.
Z ScaleDoubleThe Z Scale is required to assure that extrusion is conformal to scaled input data.
Heading Dip ValueDoubleThe Heading and Dip values are used to align the extruded points.

drive glyphs

The drive glyphs module provides a way to move any object (glyph or object from read dxf, etc.) along multiple paths to create a “driving” animation. Glyphs can be positioned along input lines by percentage, by time data on the path, or by data values on the path.

Ports

DirectionNameTypeDescription
InputInput PathFieldThe input field containing the lines to drive the glyphs along.
InputInput GlyphFieldThe input field containing the glyph to drive along the input paths.
InputInput DateDateDate used for determining glyph position along line.
InputInput PositionNumberThe value used for positioning the glyph by percentage.
InputInput DataNumberThe value used for positioning the glyph by data on path.
OutputOutput DateDateDate used for determining glyph position along line.
OutputOutput FieldFieldThe main output field with glyph in the selected position.
OutputOutput PointsFieldThe points used to generate the glyphs in the selected positions.
OutputOutput ObjectRenderableA renderable object displaying the positioned glyphs.
OutputOutput PositionNumberThe value used for positioning the glyph by percentage.
OutputOutput DataNumberThe value used for positioning the glyph by data on path.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute.
ExecuteButtonAccept all values and places glyphs.
Map ComponentChoiceThe Map Component allows the user to select which data to map from the input path to the output glyph.
Data ProcessingChoice: Nodal Data, Log10(Nodal Data)The Data Processing control allows the user to specify how to process the Map Component for output and size.
DatamapDoubleThe Datamap refers to the min and max values that are used by the datamap. Changing these values can affect both the color range and the glyph size.
Glyph PositionChoice: % Along each line, % Along longest line, Sequential Walk, By Time data on path, By Data on pathThe Glyph Position allows the user to determine where the glyphs are placed along the input paths.
Number Of GlyphsIntegerNumber of glyphs indicates how many glyphs at most will be present along the line.
CirculateBooleanThe Circulate toggle is used for looping or cycling animations. If a glyph’s position is greater than the line length the glyph will be placed the appropriate distance from the start of the line.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
PriorityChoice: Maximum, MinimumThe Priority of the glyph will reverse the scaling so that the smallest sample values have the largest size.
Minimum Scale FactorDoubleThe Minimum Scale Factor scales the sample values with the least Priority.
Maximum Scale FactorDoubleThe Maximum Scale Factor scales the sample values with the greatest Priority.
Use Log DataBooleanThe Use Log Data toggle will force the size of the glyph to be based on the log10 of the selected data.
Size For Vector DataChoice: Use Vector Magnitude, Use Vector ComponentsThe Size for Vector Data allows the user to change the method behavior when sizing by a vector data component.
Magnitude For Zero LengthDoubleMagnitude for Zero Length is the vector magnitude at which the glyphs will be zero size. This establishes the minimum level for taking log values since the log of zero is undefined (minus infinity).
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each glyph as a cell data component. This allows the user to probe onto the glyph and return its center instead of the position on the outside of the glyph.

Glyph Settings

PropertyTypeDescription
Glyph TypeChoice: Generated, Input Glyph, Directed LineThe Glyph Type choice allows the user to select the source for the created glyph. Both the Generated and Directed Line options are created internally. The Input Glyph option requires the Input Glyph port to be connected.
Include Input Glyph DataBooleanIf the Glyph Type is set to Input Glyph this toggle will allow data that is associated with the input glyph to be passed through to the output.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, DiskThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerThe number of subdivisions to use for spheres. Larger numbers create more detailed sphere representations.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.

Percentage Options

PropertyTypeDescription
PositionDoubleThe Position slider gives the percentage along a line to use for glyph positioning.
Position AnimationStringThe Position Animation controls the movement (or driving) of the glyphs along the line.
Step SizeDoubleThe Step Size value specifies a value for the increment for advancement when stepping or running.

Date Options

PropertyTypeDescription
Date ComponentChoiceThe Date Component allows the user to select which data to use when positioning the glyph by time data.
DateDateThe Date used to position the glyphs.
Date LoopStringThe Date Loop controls setting the Date by specified increments.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.
Glyph Placement MethodChoice: By Number Of Glyphs, By Offset TimeThe Glyph Placement Method allows the user to select where to set additional glyphs along each line. By Number of Glyphs breaks up the time range by the number of glyphs. By Offset Time allows the user to set the difference in time for all glyphs.
Offset TimeDoubleWhen the By Offset Time option is selected in the Glyph Placement Method this control allows the user to set the difference in time used to set the position of the remaining glyphs.

Data Options

PropertyTypeDescription
Data ComponentChoiceThe Data Component allows the user to select which data from the input path should be used to position the glyphs.
Data ValueDoubleThe Data Value of interest.
Data LoopStringThe Data Loop controls setting the Data by specified increments.
Step SizeDoubleThe Step Size value specifies the increment for advancement when stepping or running.
Glyph Placement MethodChoice: By Number Of Glyphs, By Offset ValueThe Glyph Placement Method allows the user to select where to set additional glyphs along each line. By Number of Glyphs breaks up the data range by the number of glyphs. By Offset Value allows the user to set the difference in value for all glyphs.
Offset ValueDoubleWhen the By Offset Value option is selected in the Glyph Placement Method this control allows the user to set the difference in value used to set the position of the remaining glyphs.

place glyph

The place glyph module is used to place a single scalable geometric object (glyph) at an interactively determined location. The glyph can be generated internally (sphere, cube, cone, etc.), imported via the Input Glyph port, or represented as a directed line. The position, scale, and orientation of the glyph are fully controllable through the module properties.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe input field used to set the coordinate range of the place glyph.
InputInput GlyphFieldThe input field containing the glyph to place.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe main output field with glyph in the selected position.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object displaying the positioned glyph.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute.
ExecuteButtonAccept all values and places glyphs.
Z ScaleDoubleZ scale is the scaling factor for vertical (z) coordinates and assures that glyphs remain properly positioned with varying Z Scales.
Glyph ScaleDoubleThe Glyph Scale value is used to scale the glyph in all directions.
X PositionDoubleSets the X Position of the output glyph.
Y PositionDoubleSets the Y Position of the output glyph.
Z PositionDoubleSets the Z Position of the output glyph.
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each glyph as a cell data component. This allows the user to probe onto the glyph and return its center instead of the position on the outside of the glyph.

Glyph Settings

PropertyTypeDescription
Glyph TypeChoice: Generated, Input Glyph, Directed LineThe Glyph Type choice allows the user to select the source for the created glyph. Both the Generated and Directed Line options are created internally. The Input Glyph option requires the Input Glyph port to be connected.
Include Glyph DataBooleanThe Include Glyph Data will notify the module to keep data from the Input Glyph field as data for the output.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, DiskThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerThe number of subdivisions to use for spheres. Larger numbers create more detailed sphere representations.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.

glyphs at nodes

The glyphs at nodes module is used to place geometric objects (glyphs) at nodal locations. The glyphs can be scaled, rotated and colored based on the input data. If the input data is a vector, the glyph can be scaled and rotated to represent the direction and absolute magnitude of the vector field. In a scalar data field, the objects can be scaled based on the magnitude of the scalar. The glyphs can represent the data field of one data component while being colored by another data component. Arrow glyphs are commonly used in vector fields to produce visualizations of the vector field.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for placing glyphs.
InputInput GlyphFieldThe field to use as a glyph.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe subset field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.
Allow RunBooleanDetermines whether the module is allowed to execute.
ExecuteButtonAccept all values and places glyphs.

Glyph Settings

PropertyTypeDescription
Glyph TypeChoice: Generated, Input Glyph, Directed LineThe Glyph Type choice allows the user to select the source for the created glyph. Both the Generated and Directed Line options are created internally. The Input Glyph option requires the Input Glyph port to be connected.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, Disk, PointThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerThe number of subdivisions to use for spheres. Larger numbers create more detailed sphere representations.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Include Glyph DataBooleanThe Include Glyph Data will notify the module to keep data from the Input Glyph field as data for the output.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.
PropertyTypeDescription
Orient ByChoice: Nodal Data, ConstantThe Orient By option determines how the glyphs are oriented. The Nodal Data option uses the specified nodal data vector component to define the orientation. The Constant option uses the specified heading, dip and roll for all glyphs.
Nodal Orientation ComponentChoiceThe Nodal Orientation Component determines which nodal data component is used to rotate and align the glyphs. This data component should be a vector.
Datamap RangeDoubleThe Datamap range refers to the min and max values that are used by the datamap. This does not change data values from the file.
Size ByChoice: Nodal Data, ConstantThe Size By option determines how the glyph sizes are determined. The Nodal Data option uses the specified nodal data component to define the sizes. The Constant option uses a constant size defined in the Glyph Size setting for all glyphs.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
Nodal Size ComponentChoiceThe Nodal Size Component control determines which nodal data component is used to size the glyphs.
Use Log DataBooleanThe Use Log Data toggle will force the size of the glyph to be based on the log10 of the selected data.
PriorityChoice: Maximum, MinimumThe Priority of the glyph will reverse the scaling so that the smallest sample values have the largest size.
Minimum Scale FactorDoubleThe Minimum Scale Factor scales the sample values with the least Priority.
Maximum Scale FactorDoubleThe Maximum Scale Factor scales the sample values with the greatest Priority.
Reverse DirectionBooleanThe Reverse Direction option flips the direction of the input glyph by 180 degrees around the Z-axis.
Size For Vector DataChoice: Use Vector Magnitude, Use Vector ComponentsThe Size for Vector Data allows the user to change the method behavior when sizing by a vector data component.
Magnitude For Zero LengthDoubleMagnitude for Zero Length is the vector magnitude at which the glyphs will be zero size. This establishes the minimum level for taking log values since the log of zero is undefined (minus infinity).
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each glyph as a cell data component. This allows the user to probe onto the glyph and return its center instead of the position on the outside of the glyph.

glyphs at cells

The glyphs at cells module is used to place geometric objects (glyphs) at cell center locations. The glyphs can be scaled, rotated and colored based on the input cell data. If the input data is a vector, the glyph can be scaled and rotated to represent the direction and absolute magnitude of the vector field. In a scalar data field, the objects can be scaled based on the magnitude of the scalar. Arrow glyphs are commonly used in vector fields to produce visualizations of the vector field.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to use for placing glyphs.
InputInput GlyphFieldThe field to use as a glyph.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe subset field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.
Allow RunBooleanDetermines whether the module is allowed to execute.
ExecuteButtonAccept all values and places glyphs.

Glyph Settings

PropertyTypeDescription
Glyph TypeChoice: Generated, Input Glyph, Directed LineThe Glyph Type choice allows the user to select the source for the created glyph. Both the Generated and Directed Line options are created internally. The Input Glyph option requires the Input Glyph port to be connected.
Generated GlyphChoice: Sphere, Cube, Cone, Cylinder, Polygon, Disk, PointThe Generated Glyph choice allows the user to select the type of glyph that is automatically generated.
Sphere SubdivisionsIntegerThe number of subdivisions to use for spheres. Larger numbers create more detailed sphere representations.
Glyph ResolutionIntegerThe resolution for generated cone, polygon, cylinder, and disk glyphs.
Include Glyph DataBooleanThe Include Glyph Data will notify the module to keep data from the Input Glyph field as data for the output.
Primary Axis FactorDoubleThe scale factor for the primary axis of the glyph.
Secondary Axis FactorDoubleThe scale factor for the secondary axis of the glyph.
Heading DipDoubleThe Heading and Dip values are used to align the glyphs to a constant orientation.
RollDoubleThe roll of the glyph along its primary axis.
PropertyTypeDescription
Orient ByChoice: Cell Data, ConstantThe Orient By option determines how the glyphs are oriented. The Cell Data option uses the specified cell data vector component to define the orientation. The Constant option uses the specified heading, dip and roll for all glyphs.
Cell Orientation ComponentChoiceThe Cell Orientation Component determines which cell data component is used to rotate and align the glyphs. This data component should be a vector.
Datamap RangeDoubleThe Datamap range refers to the min and max values that are used by the datamap. This does not change data values from the file.
Size ByChoice: Cell Data, ConstantThe Size By option determines how the glyph sizes are determined. The Cell Data option uses the specified cell data component to define the sizes. The Constant option uses a constant size defined in the Glyph Size setting for all glyphs.
Glyph SizeDoubleThe Glyph Size value is used to scale the glyphs in all directions. The default is automatically computed based on your input data.
Cell Size ComponentChoiceThe Cell Size Component control determines which cell data component is used to size the glyphs.
Use Log DataBooleanThe Use Log Data toggle will force the size of the glyph to be based on the log10 of the selected data.
PriorityChoice: Maximum, MinimumThe Priority of the glyph will reverse the scaling so that the smallest sample values have the largest size.
Minimum Scale FactorDoubleThe Minimum Scale Factor scales the sample values with the least Priority.
Maximum Scale FactorDoubleThe Maximum Scale Factor scales the sample values with the greatest Priority.
Reverse DirectionBooleanThe Reverse Direction option flips the direction of the input glyph by 180 degrees around the Z-axis.
Size For Vector DataChoice: Use Vector Magnitude, Use Vector ComponentsThe Size for Vector Data allows the user to change the method behavior when sizing by a vector data component.
Magnitude For Zero LengthDoubleMagnitude for Zero Length is the vector magnitude at which the glyphs will be zero size. This establishes the minimum level for taking log values since the log of zero is undefined (minus infinity).
Include Center DataBooleanThe Include Center Data toggle will tell the module to include the center point of each glyph as a cell data component. This allows the user to probe onto the glyph and return its center instead of the position on the outside of the glyph.

create fault surface

The create fault surface module creates a 3D grid that is aligned to a specified strike and dip. The surface can be positioned at a center point, sized, and oriented to represent a fault plane for use with other modules such as distance to surface.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field used to generate the center point.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe field containing the created fault surface.
OutputFault SurfaceRenderableA renderable object displaying the created fault surface.

Properties

PropertyTypeDescription
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the coordinate values of the output.
StrikeDoubleThe Strike value is the direction around the Z axis to align the fault surface. With the value of zero aligned North-South and rotation clockwise.
DipDoubleThe Dip value allows the fault surface to rotate around the axis defined by the Strike value.
Dip DirectionChoice: N/E, S/WThe Dip Direction controls the direction the Dip rotates around the axis defined by the Strike value.
Center PointDoubleThe Center Point is the location of the center of the fault surface. It is also used as a center of rotation for the fault surface.
X ResolutionIntegerThe X Resolution is the number of nodes in the X direction of the grid.
Y ResolutionIntegerThe Y Resolution is the number of nodes in the Y direction of the grid.
WidthDoubleThe Width field scales the grid in the X direction.
LengthDoubleThe Length field scales the grid in the Y direction.
Coordinate UnitsStringThe Coordinate Units by default are based on either the input field or set to ft.

create grid

The create grid module produces a 2D or 3D uniform grid that can be used for any purpose. A typical use is starting points for 3d streamlines or advector. In 2D (default) mode it creates a rectangle of user adjustable grid resolution and orientation. In 3D mode it creates a box (3D grid). The number of nodes will depend on the X, Y and optional Z resolutions as well as the cell type specified.

Ports

DirectionNameTypeDescription
InputInput FieldFieldAn input field used to generate default center and extents.
OutputOutput FieldFieldThe created grid field.
OutputSurfaceRenderableA renderable object displaying the created grid.

Properties

PropertyTypeDescription
Output Cell TypeChoice: Point, Line, Quad, HexThe Output Cell Type control allows the user to select between creating grids consisting of different cell types.
X ResolutionIntegerThe X Resolution is the number of nodes in the x direction.
Y ResolutionIntegerThe Y Resolution is the number of nodes in the y direction.
Z ResolutionIntegerThe Z Resolution is the number of nodes in the z direction.
Grid RotationDoubleThe Grid Rotation allows you to rotate the grid about its center point by a set Azimuth and Inclination.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to be applied to the output object.
Center PointDoubleThe Center Point is the location of the center of the grid. It is also used as a center of rotation for the grid.
I SizeDoubleThe I Size value controls the size of the grid in the x direction before rotation.
J SizeDoubleThe J Size value controls the size of the grid in the y direction before rotation.
K SizeDoubleThe K Size value controls the size of the grid in the z direction before rotation.
Coordinate UnitsStringThe Coordinate Units by default are based on either the input field or set to ft.

Subsections of Projection

project onto surface

Project onto surface provides a mechanism to drape lines and triangles (surfaces) onto surfaces. A pseudo-3D object like a building made up of triangle faces will be flattened onto the surface; the 3D nature will not be preserved. Lines and surfaces are subsetted to match the size of the cells of the surface on which the lines are draped. In other words, draped objects will match the surface precisely.

Ports

DirectionNameTypeDescription
InputInput Geologic FieldFieldThe main field to map the lines to.
InputInput LinesFieldThe field of lines to map onto the surface.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe main output field with lines mapped to the surface.
OutputSurfaceRenderableA renderable object displaying the mapped output lines.

Properties

PropertyTypeDescription
Allow RunBooleanControls whether the module runs automatically when inputs change.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Map ModeChoice: Move Nodes To Surface, Map To SurfaceThe method used to map the input to the surface. Move Nodes To Surface only maps the nodes and does not split the cells of the input. This could result in intersecting geometry with the surface. Map To Surface exactly follows the topology of the surface by splitting cells where necessary.
Z OffsetDoubleThe Z Offset parameter provides a means to offset the draped lines from the surface so that z-buffering will not make the lines ragged or partially invisible where they intersect the surface.
Include Delta ZBooleanWhen checked, additional data is added which is the change in elevation, accounted for z scaling.
Z ScaleDoubleThe Z Scale is the vertical exaggeration used to properly calculate shifts in elevation.

transform field

The transform field module is used to translate, rotate, or scale the coordinates of any field. Uses for this module include rotating and translating a MODFLOW or MT3D grid (having a grid origin of 0,0,0) to the actual coordinate system of the modeled area.

Ports

DirectionNameTypeDescription
InputInput FieldFieldA field to transform.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldThe transformed field.
OutputOutput ObjectRenderableA renderable object displaying the transformed field.

Properties

Transform Settings

PropertyTypeDescription
Transform ListTransform ListThe list of transformations applied to the input field.
Z ScaleDoubleThe Z Scale refers to the vertical exaggeration backed out of the input field. This scale will be used to remove all vertical exaggeration during the transformation process.

transform objects

Transform objects is a special group object that allows all connected objects to be rotated (about a user-defined center) and/or translated. This is useful if you wish to move objects that are complex, such as group objects like post samples or axes and therefore cannot be contained in a single field port.

An example of this would be the axes module. If you wanted an axes with an origin that did not match your data, it could be created separately and moved using the transform objects module.

Limitations:

  • The transform objects module does not change the coordinates that you will see when you probe. The module’s primary purpose is visualization, and it is most often used to display a copy of an existing object in the application. In situations like this the original coordinates are retained.
  • In some circumstances transform objects cannot be used with 4DIMs. It can cause the 4DIM extents to be different than they were in the EVS viewer. This has been noted when doing rotations.
  • In most cases, the transform field module can be used instead, however it does not allow for multiple objects to be connected to its input.

Ports

DirectionNameTypeDescription
InputInput ObjectsRenderableAny number of renderable objects to transform.
OutputOutput ObjectRenderableA renderable object displaying the transformed group.

Properties

PropertyTypeDescription
VisibilityBooleanThe Visibility toggle will turn on or off the visible state of the output objects.

Transform Settings

PropertyTypeDescription
Transform ListTransform ListThe list of transformations applied to the input objects.
Z ScaleDoubleThe Z Scale refers to the vertical exaggeration backed out of the input field. This scale will be used to remove all vertical exaggeration during the transformation process.
  • overlay aerial

    Map an image onto the horizontal areas of an input field.

  • texture cross section

    Project images from a fence onto a cross section surface.

  • texture cell sets

    Texture multiple images onto a field based on the cell sets, typically from stratigraphic or lithologic data, in the field.

  • texture walls

    Project images onto surfaces such as walls of buildings to add more realism to your visualizations.

  • export georeferenced image

    Output a image in one of the following formats: BMP; TIF; JPG; and PNG. It will also output a world file that will allow the image to be placed correctly in applications that allow georeferencing.

  • fly through

    Create an animation in which the view follows a complex 3D path on, through, or around your model.

  • texture cylinder

    Project images onto a cylinder.

  • read eft

    Reads EVS Textured Field (*.eft) files and displays them.

Subsections of Image

overlay aerial

The overlay aerial module takes an input field and maps an image onto the horizontal areas of the grid. The image can be projected from one coordinate system to another. It can also be georeferenced if it has an accompanying georeferencing file. All vertical surfaces (walls) can be included in the output but will not have image data mapped to them.

If you need to georeference your image or adjust the georeferencing, you can do so with the Georeference Image Tool on the Tool Tab.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to overlay with the selected image.
InputFilenameStringImage file used to overlay input field.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput FilenameStringImage file used to overlay input field.
OutputOutput FieldFieldThe walls created from splitting the input field.
OutputOutput ObjectRenderableA renderable object displaying the image.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when selected.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
FilenameStringThe file name to process for display.
Image QualityChoice: Very Low (Up to 256 X 256), Low (Up to 512 X 512, Medium (Up to 1024 X 1024), High (Up to 2048 X 2048), Very High (Up to 4096 X 4096), Maximum (Up to 8192 X 8192)The Image Quality allows the user to select the maximum resolution to read the input image in at. This allows the user to create a coarse image for faster testing and a high resolution image for the final output.
Allow TransparencyBooleanThe Allow Transparency option enables transparency support within the aerial photograph. This allows the inclusion of partially transparent overlays, but can interfere with other transparent objects in the scene.
Georeferencing MethodChoice: Map to Min/Max, Translate, 2 Point Translate / Rotate, Translate / Scale, Affine, 2nd Order, 3rd Order, 4th OrderThe Georeferencing Method controls how an image will be distorted to fit the input surface.
Min ExtentsCoordinateThe Min Extents allow the user to set the position of the lower left corner of the image, when the Map to Min / Max Georeferencing method is chosen.
Max ExtentsCoordinateThe Max Extents allow the user to set the position of the upper right corner of the image, when the Map to Min / Max Georeferencing method is chosen.
Texture Bottom SurfacesBooleanThe Texture Bottom Surfaces toggle will tell the module to texture all surfaces whose normals are pointing downward.
Map DataBooleanThe Map Data toggle will cause the module to pass the first nodal data component through to the renderable object. This will cause a blending between the nodal data color value and the image color.
Wall VisibilityBooleanThe Wall Visibility toggle when turned on will display the vertical surfaces or walls.
Border And Wall ColorColorThe Border And Wall Color allows the user to set the color to use for border and walls.

Image Processing

PropertyTypeDescription
Sharpen ImageBooleanThe Sharpen Image toggle will allow the user to sharpen the edges in an image by exaggerating the brightness difference along the edges.
Soften ImageBooleanThe Soften Image toggle will allow the user to soften the edges in an image by reducing the brightness difference along the edges.
Enhance EdgesBooleanEnhances the edges of the objects and discards other image information.
BrightnessIntegerThe Brightness slider can either add or remove brightness from every pixel.
ContrastIntegerThe Contrast slider can either add or remove contrast from every pixel, making bright spots brighter and dark spots darker.
White Balance RedIntegerThe White Balance Red slider affects the red channel of the white balance.
White Balance GreenIntegerThe White Balance Green slider affects the green channel of the white balance.
White Balance BlueIntegerThe White Balance Blue slider affects the blue channel of the white balance.
Gamma Correction RedDoubleThe Gamma Correction Red slider affects the gamma value for the red channel.
Gamma Correction GreenDoubleThe Gamma Correction Green slider affects the gamma value for the green channel.
Gamma Correction BlueDoubleThe Gamma Correction Blue slider affects the gamma value for the blue channel.
Reproject ImageBooleanThe Reproject Image toggle allows the user to enable image projections.
Image ProjectionProjectionThe Image Projection allows the user to transform the image from one coordinate system to another.

texture cross section

The texture cross section module allows you to apply images along a complex non-linear cross section path and compensate for the image scale and registration points at various points along the fence path.

This functionality provides the mechanism to accurately apply hand-drawn cross-sections to 3D fence diagrams. When combined in an application with edit horizons, texture cross section allows you to modify your 3D stratigraphic geology to accurately match your hand-drawn cross-sections.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to texture with the selected image.
InputInput LineFieldThe main line used to project the image.
InputZ ScaleNumberThe vertical factor applied to the input field.
OutputOutput ObjectRenderableA renderable object displaying the textured field.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running, allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off, allowing the user to make a number of changes before updating.
FilenameStringThe file name to process for display.
Z ScaleDoubleThe Z Scale is the vertical scale that has been applied to the input.
Allow TransparencyBooleanThe Allow Transparency option enables transparency support within the photograph. This allows the inclusion of partially transparent images, but can interfere with other transparent objects in the scene.
Starting PercentDoubleThe Starting Percent slider controls how far along an image to start mapping onto the input surface.
Starting Z ExtentsRangeThe Starting Z Extents are the vertical range of the input field at the start of the image, these can be altered to change how the image is mapped onto the output.
Display Control Point LinesBooleanThe Control Point Lines toggle allows the visibility of the lines to be set by the user.
Control Point ListControl Point ListThe list of control points used to match pixels to the model.
Ending PercentDoubleThe Ending Percent slider controls how far along an image to end mapping onto the input surface.
Ending Z ExtentsRangeThe Ending Z Extents are the vertical range of the input field at the end of the image, these can be altered to change how the image is mapped onto the output.

Image Processing

PropertyTypeDescription
Flip HorizontalBooleanThe Flip Horizontal toggle will cause the input image to be read from right to left instead of left to right.
Flip VerticalBooleanThe Flip Vertical toggle will cause the input image to be read from bottom to top instead of top to bottom.
BrightnessIntegerThe Brightness slider can either add or remove brightness from every pixel.
ContrastIntegerThe Contrast slider can either add or remove contrast from every pixel, making bright spots brighter and dark spots darker.
Gamma Correction RedDoubleThe Gamma Correction Red slider affects the gamma value for the red channel.
Gamma Correction GreenDoubleThe Gamma Correction Green slider affects the gamma value for the green channel.
Gamma Correction BlueDoubleThe Gamma Correction Blue slider affects the gamma value for the blue channel.

texture cell sets

The texture cell sets module textures multiple images onto a field based on the cell sets in the field, typically from stratigraphic or lithologic data. Each image file is applied to a single cell set or layer in the input.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to texture with the selected images.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object displaying the textured field.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when not selected.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.
Image FilenamesStringThe file names of the images to be used for texturing the data. Each file will be applied to a single cell set or layer in the input.
Cell Sets To OutputMulti-selectThe Cell Sets To Output control allows the user to select the cell sets from the Output Field to include in the output.
Azimuth InclinationAzimuth/InclinationThe Azimuth defines the compass direction from the camera eye point towards the model. Inclination defines the angle from the camera’s eye point towards the model. These values apply to the orientation of the image itself.
RollDoubleRoll describes the rotation of the camera itself along its direction of view.
MirrorBooleanThe Mirror toggle will change the behaviour of the module in cases where the size of the images are smaller than that of the surface it is being mapped onto. When this toggle is turned off the images will just repeat when the image reaches its maximum resolution. If this toggle is turned on the images will instead flip over when it reaches its maximum resolution. This can make a more seamless texture when using certain images.
X SizeDoubleThe X Size value will scale the size of the images in the x direction.
X OffsetDoubleThe X Offset value will cause the images to shift in the x direction when being mapped onto the surface.
Y SizeDoubleThe Y Size value will scale the size of the images in the y direction.
Y OffsetDoubleThe Y Offset value will cause the images to shift in the y direction when being mapped onto the surface.

texture walls

The texture walls module provides a means to project an image onto surfaces such as walls of buildings to add more realism to your visualizations.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field to texture with the selected image.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object displaying the textured field.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running when not selected.
FilenameStringThe file name to process for display.
ExecuteButtonThe Execute button forces the module to run.
Azimuth InclinationAzimuth/InclinationThe Azimuth defines the compass direction from the camera eye point towards the model. Inclination defines the angle from the camera’s eye point towards the model. These values apply to the orientation of the image itself.
RollDoubleRoll describes the rotation of the camera itself along its direction of view.
MirrorBooleanThe Mirror toggle will change the behaviour of the module in cases where the size of the image is smaller than that of the surface it is being mapped onto. When this toggle is turned off the image will just repeat when the image reaches its maximum resolution. If this toggle is turned on the image will instead flip over when it reaches its maximum resolution. This can make a more seamless texture when using certain images.
X SizeDoubleThe X Size value will scale the size of the image in the x direction.
X OffsetDoubleThe X Offset value will cause the image to shift in the x direction when being mapped onto the surface.
Y SizeDoubleThe Y Size value will scale the size of the image in the y direction.
Y OffsetDoubleThe Y Offset value will cause the image to shift in the y direction when being mapped onto the surface.
Map DataBooleanThe Map Data toggle when turned on will cause the first nodal data component to be displayed along with the image. Since the data value is represented as a color in the display the same as the image, there will be a blending of the two when this option is used.
Split EdgesBooleanSplit surfaces when the edge between two neighboring cells is sharp. This improves rendering in most cases.
Split Edge AngleDoubleThe Split Edge Angle is the maximum angle allowed between two adjacent faces before they are disconnected to create visually sharp edges.
Z ScaleDoubleThe Z Scale is the vertical exaggeration to apply to the display object.

Image Processing

PropertyTypeDescription
BrightnessIntegerThe Brightness slider can either add or remove brightness from every pixel.
ContrastIntegerThe Contrast slider can either add or remove contrast from every pixel, making bright spots brighter and dark spots darker.
Gamma Correction RedDoubleThe Gamma Correction Red slider affects the gamma value for the red channel.
Gamma Correction GreenDoubleThe Gamma Correction Green slider affects the gamma value for the green channel.
Gamma Correction BlueDoubleThe Gamma Correction Blue slider affects the gamma value for the blue channel.

export georeferenced image

The export georeferenced image module outputs an image in one of the following formats: BMP, TIF, JPG, and PNG. It also outputs a world file that allows the image to be placed correctly in applications that support georeferencing.

Ports

DirectionNameTypeDescription
InputObjectsRenderableRenderable objects to visualize.

Properties

PropertyTypeDescription
Image FilenameStringThe image format to use when creating the image.
Background ColorColorThe background color to use in the output image.
WidthIntegerThe width of the rendered portion of the georeferenced image, in pixels.
HeightIntegerThe height of the rendered portion of the georeferenced image, in pixels.

fly through

The fly through module is an animation module which facilitates controlling the viewer or creating an animation in which the view follows a complex 3D path on, through, or around your model.

The method by which this module controls fly-throughs allows the user to pause at any time and interact with the model using their mouse or the Az-Inc panel.

Az-Inc parameters (azimuth, elevation, scale, field of view, rotation/scaling center, etc.) are updated by fly through in real time. This can be seen by running fly through with the Az-Inc window open. However, this will slow your animation substantially because of the need to continuously update the parameters in Az-Inc.

Be sure to turn off “Animate viewer” in the Animator module if you are controlling fly through with the Animator.

Ports

DirectionNameTypeDescription
InputInput ViewViewThe view containing all associated renderable objects.
InputInput FieldFieldA field of lines to be used in the fly through.
InputInput DateDateDate used for determining view position along line.
InputInput PositionNumberThe value used for positioning the View.
OutputOutput FieldFieldThe point along the path currently being looked at.
OutputOutput PositionNumberThe value used for positioning the View.

Properties

PropertyTypeDescription
View PositionChoice: % Along first line, Sequential Walk, By Time data on pathThe View Position allows the user to determine where the view will be placed along the input path.
Force PerspectiveBooleanThe Force Perspective toggle will cause the Viewer connected to the fly through module to be put into perspective mode every time the module is run.

View Settings

PropertyTypeDescription
Field Of ViewDoubleField of View is a slider that sets the total included angle (in degrees) of the camera lens used to see the scene. Larger angles have a wider field of view.
ScaleDoubleThe Scale slider moves the camera closer or farther away from the point of interest along the path.
Look Down AngleDoubleThe Look Down Angle slider controls the angle of the camera above or below the path.

Percentage Options

PropertyTypeDescription
PositionDoubleThe Position slider gives the percentage along a line to use for view positioning.
Position AnimationAnimationThe Position Animation controls the movement (or driving) of the view along the line.
Step SizeDoubleThe Step Size value specifies a value for the increment for advancement when stepping or running.

Time Options

PropertyTypeDescription
Date ComponentChoiceThe Date Component allows the user to select which data to use when positioning the view by time data. Options are populated from the input field’s nodal data.
Date And TimeDateThe Date and Time of interest.
Time LoopAnimationThe Time Loop controls setting the Date and Time by specified increments.
Start DateDateThe Start Date is the beginning time of the simulation. This value is set to the first date in the selected data component.
End DateDateThe End Date is the end time for the simulation. This value is set to the last date in the selected data component.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.

texture cylinder

The texture cylinder module provides a means to project images onto a cylinder using texture mapping.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field containing the cylinder to be texture mapped.
OutputOutput FieldFieldA field containing the textured cylinder.
OutputOutput ObjectRenderableA renderable object displaying the texture mapped cylinder.

Properties

PropertyTypeDescription
FilenameStringThe name of the image file to read.
Allow TransparencyBooleanThe Allow Transparency option enables transparency support within the photograph. This allows the inclusion of partially transparent images, but can interfere with other transparent objects in the scene.
Switch Horizontal For VerticalBooleanThe Switch Horizontal For Vertical toggle handles images which have been produced using a different scanning order.
Flip HorizontalBooleanThe Flip Horizontal toggle will reverse the order of each pixel in the incoming image in the horizontal direction.
Flip VerticalBooleanThe Flip Vertical toggle will reverse the order of each pixel in the incoming image in the vertical direction.
Horizontal Scale FactorDoubleThe Horizontal Scale Factor slider sets a factor for enlarging or shrinking the image. It represents an East/West scaling.
Vertical Scale FactorDoubleThe Vertical Scale Factor slider sets a factor for enlarging or shrinking the image. It represents a North/South scaling.
Angular ShiftDoubleThe Angular Shift slider controls the rotation (in degrees) of the texture around the cylinder.
Vertical ShiftDoubleThe Vertical Shift slider controls the vertical position of the texture on the cylinder.
Cylinder CenterCoordinateThe Cylinder Center is the value of the center of the cylinder to use in the texture mapping process.
Cylinder Z MinDoubleThe Cylinder Z Min is the value of the minimum of the cylinder vertical extent to use in the texture mapping process.
Cylinder Z MaxDoubleThe Cylinder Z Max is the value of the maximum of the cylinder vertical extent to use in the texture mapping process.

read eft

The read eft module reads EVS Textured Field (*.eft) files and displays them. This provides a mechanism to open saved OBJ file sets which require multiple files (geometry and textures) as a single file. This is required in order to package files, which is a requisite step in the creation of EVS Presentations.

Ports

DirectionNameTypeDescription
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputOutput ObjectRenderableA renderable object displaying the EVS Textured Field file contents.
OutputOutput Z ScaleNumberThe factor for vertical scaling.

Properties

PropertyTypeDescription
FilenameStringThe textured field file to read.
ExecuteButtonThe Execute button forces the module to run.
Z ScaleDoubleZ Scale is the scaling factor for vertical (z) coordinates. This value reflects a multiplication factor of the layer thickness. For example, a layer that is 10 feet thick that is subjected to a z-exaggeration value of 4 will appear 40 feet thick in the viewer.
Vertical OffsetDoubleVertical Offset translates your entire model in Z by the value input multiplied by the Z Exaggeration. This is useful if you want to move your model to avoid having coincident objects.
  • read tcf

    Create models and animations of data that changes over time.

  • read multi tcf

    Create models and animations of data that changes over time.

  • time value

    Parse a TVF file consisting of dates, values, and (optionally) labels.

  • time horizon

    Extract a horizon from a set of time-based horizons.

  • time loop

    Loop through a series of times or specify a specific time of interest.

Subsections of Time

read tcf

The read tcf module is specifically designed to create models and animations of data that changes over time. This type of data can result from water table elevation and/or chemical measurements taken at discrete times or output from groundwater simulations or other 3D time-domain simulations.

The read tcf module creates a field using a Time Control File (.TCF) to specify the date/time, field and corresponding data component to read (in netCDF, Field or UCD format), for each time step of a time data field. All file types specified in the TCF file must be the same (e.g. all netCDF or all UCD). The same file can be repeated, specifying different data components to represent different time steps of the output.

The module effectively includes internal interpolation between appropriate pairs of the files and data components specified in the TCF file. Its internal structure only requires reading two successive time steps rather than the complete listing of time steps normally represented in a time data field.

Ports

DirectionNameTypeDescription
InputInput DateDateDate used for interpolating between dates in a time control file format.
OutputStart DateDateStart Date used for interpolating between dates in a time control file format.
OutputEnd DateDateEnd Date used for interpolating between dates in a time control file format.
OutputOutput DateDateDate used for interpolating between dates in a time control file format.
OutputOutput FieldFieldThe main output field with interpolated data.
OutputGeology LegendGeology LegendGeology legend output.

Properties

PropertyTypeDescription
FilenameStringThe time control file name to process for interpolation.
ExecuteButtonThe Execute button forces the module to run.
Log Process Nodal DataBooleanThe Log Process Nodal Data value when selected will take the log value of the input nodal data.
Log Process Cell DataBooleanThe Log Process Cell Data value when selected will take the log value of the input cell data.
Date And TimeDateThe Date and Time of interest.
Time LoopLoopThe Time Loop controls setting the Date and Time by specified increments.
Start DateDateThe Start Date is the beginning time of the simulation. This value is set to the first date in the file.
End DateDateThe End Date is the end time for the simulation. This value is set to the last date in the file.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.

Subsections of read tcf

TCF File Format and Example

The listing below is the full contents of the Time Control File control_tce_cdf.tcf. Blank lines or any lines beginning with a “#” are ignored. Valid lines representing time steps must be in order of ascending time and consisting of:

a) a date and/or time in Windows standard format

b) a file name with an absolute path or just the filename (if the data files are in the same directory as the TCF file). This is not a true relative path (..\file.cdf and subdir\file.cdf don’t work, but file.cdf does), but gives some of the relative path abilities.

c) the data component to use for that time step. (You can specify -1 in the third column, which causes ALL the data components to pass through.)

NOTE: These three items on each line must be separated with a comma “,”.

This file contains the list of control commands for the

TCE time data in netCDF format.

The format is a date/time, then the file, then the nodal data component.

The END on the last line is optional.

Each line MUST be comma delimited

(since spaces can exist in the time and filename)

6/1/1990 12:00 AM, $XP_PATH<0>/data/netcdf/time_data/tce_01.cdf, 0

12/1/1990, $XP_PATH<0>/data/netcdf/time_data/tce_02.cdf, 0

2/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_03.cdf, 0

5/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_04.cdf, 0

8/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_05.cdf, 0

11/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_06.cdf, 0

3/1/1992, $XP_PATH<0>/data/netcdf/time_data/tce_07.cdf, 0

6/1/1992, $XP_PATH<0>/data/netcdf/time_data/tce_08.cdf, 0

10/1/1992, $XP_PATH<0>/data/netcdf/time_data/tce_09.cdf, 0

3/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_10.cdf, 0

4/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_11.cdf, 0

8/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_12.cdf, 0

12/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_13.cdf, 0

3/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_14.cdf, 0

6/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_15.cdf, 0

9/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_16.cdf, 0

11/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_17.cdf, 0

3/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_18.cdf, 0

5/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_19.cdf, 0

8/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_20.cdf, 0

10/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_21.cdf, 0

1/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_22.cdf, 0

5/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_23.cdf, 0

9/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_24.cdf, 0

11/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_25.cdf, 0

12/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_26.cdf, 0

3/1/1997 12:00 AM, $XP_PATH<0>/data/netcdf/time_data/tce_27.cdf, 0

6/1/1997, $XP_PATH<0>/data/netcdf/time_data/tce_28.cdf, 0

9/1/1997, $XP_PATH<0>/data/netcdf/time_data/tce_29.cdf, 0

12/1/1997, $XP_PATH<0>/data/netcdf/time_data/tce_30.cdf, 0

3/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_31.cdf, 0

6/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_32.cdf, 0

9/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_33.cdf, 0

11/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_34.cdf, 0

5/1/1999, $XP_PATH<0>/data/netcdf/time_data/tce_35.cdf, 0

10/1/1999, $XP_PATH<0>/data/netcdf/time_data/tce_36.cdf, 0

3/1/2000, $XP_PATH<0>/data/netcdf/time_data/tce_37.cdf, 0

7/1/2000, $XP_PATH<0>/data/netcdf/time_data/tce_38.cdf, 0

11/1/2000, $XP_PATH<0>/data/netcdf/time_data/tce_39.cdf, 0

3/1/2001, $XP_PATH<0>/data/netcdf/time_data/tce_40.cdf, 0

5/1/2001, $XP_PATH<0>/data/netcdf/time_data/tce_41.cdf, 0

10/1/2001, $XP_PATH<0>/data/netcdf/time_data/tce_42.cdf, 0

END

read multi tcf

The read multi tcf module is specifically designed to create models and animations of data that changes over time. This type of data can result from water table elevation and/or chemical measurements taken at discrete times or output from groundwater simulations or other 3D time-domain simulations.

The read multi tcf module creates a field using one or more Time Control Files (.TCF). It creates a mesh grid with the interpolated data from a user-specified number of TCF files. It outputs the first data component from each of the initial TCF files and all of the time-interpolated data components from the last TCF file.

For example, if you were trying to create a time animation of the union of 3 analytes (e.g. Benzene, Toluene and Xylene), read multi tcf allows you to select all three separate TCF files. Only the first data component from each of the first two TCF files is output as a new data component, and all of the data components from the third TCF file are then output (typically concentration, confidence, uncertainty, Geo Layer, Material ID, Elevation, etc.). This allows you to explode layers and do other typical subsetting and processing operations on the output of this module.

The TCF files should be created using identical grids with date ranges that overlap the time period of interest.

The module effectively includes internal interpolation between appropriate pairs of the files and data components specified in the TCF files. Its internal structure only requires reading two successive time steps rather than the complete listing of time steps normally represented in a time data field.

Ports

DirectionNameTypeDescription
InputInput DateDateDate used for interpolating between dates in a time control file format.
OutputStart DateDateStart Date used for interpolating between dates in a time control file format.
OutputEnd DateDateEnd Date used for interpolating between dates in a time control file format.
OutputOutput DateDateDate used for interpolating between dates in a time control file format.
OutputOutput FieldFieldThe main output field with interpolated data.
OutputGeology LegendGeology LegendGeology legend output.

Properties

PropertyTypeDescription
Time Control File ListFile listThe Time Control File List will read any number of TCF files and allow processing for those files.
Date And TimeDateThe Date and Time of interest.
Time LoopLoopThe Time Loop controls setting the Date and Time by specified increments.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.

Subsections of read multi tcf

TCF File Format and Example

The listing below is the full contents of the Time Control File control_tce_cdf.tcf. Blank lines or any lines beginning with a “#” are ignored. Valid lines representing time steps must be in order of ascending time and consisting of:

a) a date and/or time in Windows standard format

b) a file name with an absolute path or just the filename (if the data files are in the same directory as the TCF file). This is not a true relative path (..\file.cdf and subdir\file.cdf don’t work, but file.cdf does), but gives some of the relative path abilities.

c) the data component to use for that time step. (You can specify -1 in the third column, which causes ALL the data components to pass through.)

NOTE: These three items on each line must be separated with a comma “,”.

This file contains the list of control commands for the

TCE time data in netCDF format.

The format is a date/time, then the file, then the nodal data component.

The END on the last line is optional.

Each line MUST be comma delimited

(since spaces can exist in the time and filename)

6/1/1990 12:00 AM, $XP_PATH<0>/data/netcdf/time_data/tce_01.cdf, 0

12/1/1990, $XP_PATH<0>/data/netcdf/time_data/tce_02.cdf, 0

2/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_03.cdf, 0

5/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_04.cdf, 0

8/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_05.cdf, 0

11/1/1991, $XP_PATH<0>/data/netcdf/time_data/tce_06.cdf, 0

3/1/1992, $XP_PATH<0>/data/netcdf/time_data/tce_07.cdf, 0

6/1/1992, $XP_PATH<0>/data/netcdf/time_data/tce_08.cdf, 0

10/1/1992, $XP_PATH<0>/data/netcdf/time_data/tce_09.cdf, 0

3/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_10.cdf, 0

4/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_11.cdf, 0

8/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_12.cdf, 0

12/1/1993, $XP_PATH<0>/data/netcdf/time_data/tce_13.cdf, 0

3/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_14.cdf, 0

6/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_15.cdf, 0

9/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_16.cdf, 0

11/1/1994, $XP_PATH<0>/data/netcdf/time_data/tce_17.cdf, 0

3/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_18.cdf, 0

5/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_19.cdf, 0

8/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_20.cdf, 0

10/1/1995, $XP_PATH<0>/data/netcdf/time_data/tce_21.cdf, 0

1/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_22.cdf, 0

5/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_23.cdf, 0

9/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_24.cdf, 0

11/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_25.cdf, 0

12/1/1996, $XP_PATH<0>/data/netcdf/time_data/tce_26.cdf, 0

3/1/1997 12:00 AM, $XP_PATH<0>/data/netcdf/time_data/tce_27.cdf, 0

6/1/1997, $XP_PATH<0>/data/netcdf/time_data/tce_28.cdf, 0

9/1/1997, $XP_PATH<0>/data/netcdf/time_data/tce_29.cdf, 0

12/1/1997, $XP_PATH<0>/data/netcdf/time_data/tce_30.cdf, 0

3/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_31.cdf, 0

6/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_32.cdf, 0

9/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_33.cdf, 0

11/1/1998, $XP_PATH<0>/data/netcdf/time_data/tce_34.cdf, 0

5/1/1999, $XP_PATH<0>/data/netcdf/time_data/tce_35.cdf, 0

10/1/1999, $XP_PATH<0>/data/netcdf/time_data/tce_36.cdf, 0

3/1/2000, $XP_PATH<0>/data/netcdf/time_data/tce_37.cdf, 0

7/1/2000, $XP_PATH<0>/data/netcdf/time_data/tce_38.cdf, 0

11/1/2000, $XP_PATH<0>/data/netcdf/time_data/tce_39.cdf, 0

3/1/2001, $XP_PATH<0>/data/netcdf/time_data/tce_40.cdf, 0

5/1/2001, $XP_PATH<0>/data/netcdf/time_data/tce_41.cdf, 0

10/1/2001, $XP_PATH<0>/data/netcdf/time_data/tce_42.cdf, 0

END

time value

The time value module is used to parse a TVF file consisting of dates, values, and (optional) labels. The starting and end dates are read from the file and the controls can be used to interpolate the values to the date and time of interest.

Ports

DirectionNameTypeDescription
InputInput DateDateDate used for interpolating between dates in a time domain file format.
OutputStart DateDateStart Date used for interpolating between dates in a time domain file format.
OutputEnd DateDateEnd Date used for interpolating between dates in a time domain file format.
OutputOutput DateDateDate used for interpolating between dates in a time domain file format.
OutputCurrent Date And Time LabelStringText containing the name of the label for the Current Date and Time.
OutputCurrent Date And Time ValueNumberInterpolated value for the Current Date and Time.

Properties

PropertyTypeDescription
FilenameStringThe file name to process for interpolation.
ExecuteButtonThe Execute button forces the module to run.
Label OptionsChoice: Use Previous Label, Use Closest LabelThe Label Options control which label is read from the file. If “Use Previous” is selected the last set label before the Current Date will be used. If “Use Closest” is selected the label closest to the date will be used.
Date And TimeDateThe Date and Time of interest.
Time LoopLoopThe Time Loop controls setting the Date and Time by specified increments.
Start DateDateThe Start Date is the beginning time of the simulation. This value is set to the first date in the file.
End DateDateThe End Date is the end time for the simulation. This value is set to the last date in the file.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.
Current Date And Time ValueDoubleThe value interpolated from the file using the set Date And Time.
Current Date And Time LabelStringThe string set from the file using the set Date And Time.

Subsections of time value

TVF files provide a way to generate a time varying numeric and option string (label). The file is similar to the TCF file, but does not reference information in external files.

The file consists of two or more rows, each having 2 or 3 columns of information. The columns must contain:

  1. Date and/or time in Windows standard format
  2. A numeric (float) value (required)
  3. A string consisting of one or more words. These need not be in quotes. Everything on the row after the numeric value will be used. (optional)

Dates must be in order from earliest to latest and not repeating. Only the label column is optional.

An example file follows:
 
06/01/12	-1.63   Spring Rains
06/04/12	-1.87
06/07/12	-2.17
06/10/12	-1.87
06/13/12	-1.9
06/16/12	-2.2
06/19/12	-1.9
06/22/12	-1.96   Summer
06/25/12	-1.81
06/28/12	-1.84
07/01/12	-1.69
07/04/12	-1.39
07/07/12	-1.33
07/10/12	-1.12
07/13/12	-0.85
07/16/12	-1.03
07/19/12	-1.06
07/22/12	-0.76
07/25/12	-0.61	Flood Event
07/28/12	-0.31
07/31/12	-0.31
08/03/12	-0.52
08/06/12	-0.37
08/09/12	-0.61
08/12/12	-0.85
08/15/12	-0.79
08/18/12	-0.76
08/21/12	-0.58
08/24/12	-0.64
08/27/12	-0.49
08/30/12	-0.46
09/02/12	-0.67
09/05/12	-0.91
09/08/12	-0.82
09/11/12	-1.09	""
09/14/12	-1.27
09/17/12	-1.3
09/20/12	-1.33
09/23/12	-1.51   Fall
09/26/12	-1.42
09/29/12	-1.69
10/02/12	-1.69
10/05/12	-1.78
10/08/12	-1.84
10/11/12	-1.96
10/14/12	-2.17
10/17/12	-2.29
10/20/12	-2.26
10/23/12	-2.05
10/26/12	-2.05
10/29/12	-1.84
11/01/12	-2.05
11/04/12	-2.23
11/07/12	-2.08
11/10/12	-2.2
11/13/12	-2.41
11/16/12	-2.62
11/19/12	-2.83
11/22/12	-2.62
11/25/12	-2.5
11/28/12	-2.29
12/01/12	-2.11
12/04/12	-2.2
12/07/12	-1.9
12/10/12	-2.08
12/13/12	-1.93
12/16/12	-1.81
12/19/12	-1.75
12/22/12	-1.63   Winter
12/25/12	-1.36
12/28/12	-1.45
12/31/12	-1.24
01/03/13	-1.21
01/06/13	-1
01/09/13	-1.27
01/12/13	-1.21
01/15/13	-1.18
01/18/13	-1.15
01/21/13	-1.12
01/24/13	-1.33
01/27/13	-1.39
01/30/13	-1.24
02/02/13	-1.3
02/05/13	-1.57
02/08/13	-1.66
02/11/13	-1.81
02/14/13	-1.69
02/17/13	-1.78
02/20/13	-1.78
02/23/13	-1.84
02/26/13	-1.72
03/01/13	-2.02
03/04/13	-2.23
03/07/13	-2.08
03/10/13	-2.02
03/13/13	-2.32
03/16/13	-2.11
03/19/13	-2.41
03/22/13	-2.65   Spring
03/25/13	-2.38
03/28/13	-2.47
03/31/13	-2.47
04/03/13	-2.32
04/06/13	-2.17
04/09/13	-2.14
04/12/13	-2.41
04/15/13	-2.65
04/18/13	-2.47
04/21/13	-2.35
04/24/13	-2.32
04/27/13	-2.38
04/30/13	-2.08
05/03/13	-1.93
05/06/13	-1.84
05/09/13	-1.57
05/12/13	-1.84
05/15/13	-1.57
05/18/13	-1.57
05/21/13	-1.69
05/24/13	-1.93
05/27/13	-1.78
05/30/13	-1.57
06/02/13	-1.84

time horizon

The time horizon module allows you to extract a surface from a set of time-based surfaces. The time for the extracted surface can be any time between the start and end of the surface set. It will interpolate between adjacent known times.

Ports

DirectionNameTypeDescription
InputInput Time Based Geologic FieldFieldThe main time based geologic field to create the interpolated surface from.
InputInput DateDateDate used for interpolating between dates in a time control file format.
OutputStart DateDateStart Date used for interpolating between dates in a time control file format.
OutputEnd DateDateEnd Date used for interpolating between dates in a time control file format.
OutputOutput DateDateDate used for interpolating between dates in a time control file format.
OutputOutput Geologic FieldFieldThe geologic surface output from the module.
OutputGeology LegendGeology LegendGeology legend output.

Properties

PropertyTypeDescription
Date And TimeDateThe Date and Time of interest.
Time LoopLoopThe Time Loop controls setting the Date and Time by specified increments.
Start DateDateThe Start Date is the beginning time of the simulation. This value is set to the first date in the file.
End DateDateThe End Date is the end time for the simulation. This value is set to the last date in the file.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.
Material NumberIntegerThe Material Number provides the ability to set the material number for the geologic info port.
Material NameStringThe Material Name provides the ability to set the material name for the geologic info port.

time loop

The time loop module is one of a limited set of Time Data modules. These modules are specifically designed to create models and animations of data that changes over time. This type of data can result from water table elevation and/or chemical measurements taken at discrete times or output from groundwater simulations or other 3D time-domain simulations.

The time loop module allows you to loop through a series of times or specify a time for interpolation from a time field.

Ports

DirectionNameTypeDescription
InputInput Start DateDateStart Date used for animation range.
InputInput End DateDateEnd Date used for animation range.
InputInput DateDateDate of interest.
OutputOutput Start DateDateStart Date used for animation range.
OutputOutput End DateDateEnd Date used for animation range.
OutputOutput DateDateDate used for interpolating between dates in a time control file format.

Properties

PropertyTypeDescription
Date And TimeDateThe Date and Time of interest.
Time LoopLoopThe Time Loop controls setting the Date and Time by specified increments.
Start DateDateThe Start Date is the beginning time of the simulation.
End DateDateThe End Date is the end time for the simulation.
Step Time UnitsChoice: Seconds, Minutes, Hours, Days, Weeks, YearsThe Step Time Units specify the increment for advancement when stepping or running.
Step SizeDoubleThe Step Size value specifies a factor, along with the Step Time Units, for the increment for advancement when stepping or running.
  • group objects

    Organize multiple renderable objects by grouping them into a single renderable object.

  • group objects to 2d overlay

    Applies all connected module's output to the Viewer's 2D overlay. Objects in the overlay are not transformed (rotated, zoomed, panned). These objects are locked in position. This provides a mechanism to apply graphics like drawing title blocks or company logos.

  • trigger script

    Allows any change in a module property to trigger a python script.

  • merge fields

    Combine the input fields from up to 4 separate inputs into a unified single field with any number of nodal data components.

  • float math

    Perform mathematical operations on values coming from various numeric and string input ports to generate a resultant value.

  • create tin

    Convert nodes into a three-dimensional surface of triangular cells representing an unstructured mesh.

  • material to cellsets

    Recreates the cell sets based on nodal data.

  • loop

    Iterates an operation. For example, you could use a loop object to control the movement of an object in your application; such as incrementing the movement of a slider for a slice plane.

  • modify data 3d

    Alter the data within its inner radius to a set value and the blend data in its outer radius between its original value and the set modification value.

  • create mask

    Create convex and concave hulls from points.

Subsections of Tools

group objects

The group objects module organizes multiple renderable objects by grouping them into a single renderable object. Unlike a data object, group objects does not include data. Instead, it serves as a node in the rendering hierarchy that groups other data objects together and supplies common attributes for them. This object is connected directly to one of the viewers or to another data object.

Group objects combines the following:

  • DefaultDatamap to convert scalar node or cell data to RGB color values. By default, the datamap’s minimum and maximum values are 0 and 255, respectively. This datamap is inherited by any children objects if they do not have their own datamaps.
  • DefaultProps to control color, material, line attribute, and geometrical attributes.
  • DefaultModes to control point, line, surface, volume, and bounds rendering modes.
  • DefaultPickInfo to contain information when this object is picked.
  • DefaultObject to control visibility, pickability, caching, transform mode, surface conversion, and image display attributes.

Ports

DirectionNameTypeDescription
InputInput ObjectsRenderableAny number of renderable objects.
OutputOutput ObjectRenderableA renderable object created from all passed in objects.

Properties

PropertyTypeDescription
VisibilityBooleanThe Visibility toggle will turn on or off the visible state of the output objects.

group objects to 2d overlay

The group objects to 2d overlay module applies any connected module’s output to the viewer’s 2D overlay. Objects in the overlay are not transformed (rotated, zoomed, panned). These objects are locked in position. This provides a mechanism to apply graphics like drawing title blocks or company logos.

You must ensure that the object sent to the 2D overlay fits inside its limited spatial extent. The 2D overlay is a window with an x-extent from -1.0 to 1.0. The y-extent is dependent on the aspect ratio of the viewer. With a default viewer having a 4:3 aspect ratio, it is three-quarters of the x-extent (e.g. -0.75 to 0.75).

Ports

DirectionNameTypeDescription
InputInput ObjectsRenderableAny number of renderable objects.
OutputOutput ObjectRenderableA renderable object created from all passed in objects.

Properties

This module has no user-configurable properties.

trigger script

The trigger script module provides a powerful way to link parameters and actions of multiple modules. This gives you the ability for a sequence of events to be “triggered” as the result of one or more parameters changing.

The module requires a Python script be created, which runs when you “Add” triggers. Triggers are module parameters that might change and thereby cause the script to be run. The script can do just about anything.

In addition to the triggers that you specify, there are 4 input (and output) ports that accept numbers (such as a plume level) that can be used in your script, and are more readily accessible without editing the Python script.

Ports

DirectionNameTypeDescription
InputInput Value N1NumberA value to use as a variable.
InputInput Value N2NumberA value to use as a variable.
InputInput Value N3NumberA value to use as a variable.
InputInput Value N4NumberA value to use as a variable.
OutputOutput Value N1NumberA value to use as a variable.
OutputOutput Value N2NumberA value to use as a variable.
OutputOutput Value N3NumberA value to use as a variable.
OutputOutput Value N4NumberA value to use as a variable.

Properties

PropertyTypeDescription
Allow RunBooleanDetermines whether the module is allowed to execute. Set to True to allow this module to run.
ExecuteButtonExecutes the script immediately.
FilenameStringThe script which is run whenever appropriate triggers occur.
TriggersStringThe parameters used to trigger the script to execute.
Run On LoadBooleanDetermines whether the module is allowed to execute when the application is being loaded. Set to True to allow this module to run.

Variables

PropertyTypeDescription
N1DoubleNumber passed into script.
N2DoubleNumber passed into script.
N3DoubleNumber passed into script.
N4DoubleNumber passed into script.
TriggerStringThe parameter which triggered the script.

merge fields

The merge fields module combines the input fields from up to 4 separate inputs into a unified single field with any number of nodal data components, which can be output to other modules for processing or directly to the viewer. This is useful when you want to slice through or otherwise subset multiple fields using the same criteria.

You must be aware that fields contain more than just grids and data. They contain meta-data set during the creation of those grids and data, including, but not limited to:

  • Data Processing (log or linear)
  • Coordinate units
  • Data units (mg/kg or %)
  • Data Min and Max values (ensures that datamaps from kriging match datamaps in post samples)

NOTE: There are potential dangers and serious consequences of merging fields because we allow for merging of data without requiring strict name or meta data matching.

  • Meta data from the leftmost input field is always used for the merged result.
  • You can only merge fields having the same number of nodal and/or cell data components.
  • We do not require strict name matching, therefore it is possible to merge data with very negative consequences. Examples are:
    • Benzene data from one input field with Toluene from another field.
    • Log Processed TPH data with linear processed TPH data.
    • One field with coordinate units of meters with another in feet.
  • Overlapping Volumes: When you merge fields you must be aware that this is not an alternative way to create the union of multiple plumes.
    • The merge fields module does not remove overlapping volumes.
    • Volume calculations with volumetrics can count overlapping regions multiple times giving nonsensical values.

The Merge Cell Sets When Possible option works only if you have matching types and names. A good and appropriate example is merging fault blocks so that all “Clay” cell sets are controlled as a single entity.

Ports

DirectionNameTypeDescription
InputFirst Input FieldFieldA field to be used for merging.
InputSecond Input FieldFieldA field to be used for merging.
InputThird Input FieldFieldA field to be used for merging.
InputFourth Input FieldFieldA field to be used for merging.
OutputOutput FieldFieldA field containing the merged fields.
OutputOutput ObjectRenderableA renderable object displaying the data from the merged fields.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle will prevent the module from running. This allows the user to make multiple changes without the module constantly updating.
ExecuteButtonThe Run Once button will cause the module to run one time even if the Allow Run toggle has been turned off.
Merge Cell Sets When PossibleBooleanIf all input fields have matching cell set types and names, automatically merge them in output.
Nodal Data From Field1Multi-selectThe nodal data from Field 1 that should be included in the output. Be sure that the order of the components is identical from each input.
Cell Data From Field1Multi-selectThe cell data from Field 1 that should be included in the output. Be sure that the order of the components is identical from each input.
Nodal Data From Field2Multi-selectThe nodal data from Field 2 that should be included in the output. Be sure that the order of the components is identical from each input.
Cell Data From Field2Multi-selectThe cell data from Field 2 that should be included in the output. Be sure that the order of the components is identical from each input.
Nodal Data From Field3Multi-selectThe nodal data from Field 3 that should be included in the output. Be sure that the order of the components is identical from each input.
Cell Data From Field3Multi-selectThe cell data from Field 3 that should be included in the output. Be sure that the order of the components is identical from each input.
Nodal Data From Field4Multi-selectThe nodal data from Field 4 that should be included in the output. Be sure that the order of the components is identical from each input.
Cell Data From Field4Multi-selectThe cell data from Field 4 that should be included in the output. Be sure that the order of the components is identical from each input.

float math

The float math module provides a simple means to perform mathematical operations on numbers coming from up to 4 input ports. By using multiple float math modules, any number of values may be combined.

The default equation is N1 + N2 + N3 + N4, which adds all four input values. Any of the available mathematical operators may be used in the expression.

The output Result Value port produces the numeric value resulting from the equation. The value will update when any of the input values are changed.

Ports

DirectionNameTypeDescription
InputInput Value 1NumberA value to use as a variable.
InputInput Value 2NumberA value to use as a variable.
InputInput Value 3NumberA value to use as a variable.
InputInput Value 4NumberA value to use as a variable.
OutputOutput Value 1NumberA value to use as a variable.
OutputOutput Value 2NumberA value to use as a variable.
OutputOutput Value 3NumberA value to use as a variable.
OutputOutput Value 4NumberA value to use as a variable.
OutputResult ValueNumberA value created by solving the module expression.

Properties

PropertyTypeDescription
ExpressionStringThe Expression allows the user to control the sequence of variables used to create the output double value.
N1DoubleA double value that can be used as the variable {N1} in the expression.
N2DoubleA double value that can be used as the variable {N2} in the expression.
N3DoubleA double value that can be used as the variable {N3} in the expression.
N4DoubleA double value that can be used as the variable {N4} in the expression.
ResultDoubleThe output double value created by resolving the Expression.

create tin

The create tin module is used to convert scattered sample data into a three-dimensional surface of triangular cells representing an unstructured mesh.

“Scattered sample data” means that there are discrete nodes in space. An example would be geology or analyte (e.g. chemistry) data where the coordinates are the x, y, and elevation of a measured parameter. The data is “scattered” because there is not necessarily an implicit grid of data.

Create tin uses a proprietary version of the Delaunay tessellation algorithm.

Ports

DirectionNameTypeDescription
InputInput PointsFieldThe main input field consisting of points or lines.
OutputOutput FieldFieldThe field with selected data.
OutputOutput ObjectRenderableA renderable object displaying the selected data.

Properties

PropertyTypeDescription
Color ByChoice: Node Data, Cell Data, Solid ColorThe Color By selection sets the data map of the output TIN.
Nodal Data ComponentChoiceIf Color By is set to Node Data, the Nodal Data Component selects which nodal data will set the data map.
Cell Data ComponentChoiceIf Color By is set to Cell Data, the Cell Data Component selects which cell data will set the data map.
Vector ComponentIntegerIf Color By is set to Node Data, the Vector Component allows the user to use just a single component of a vector data to set the data map.
Use Vector MagnitudeBooleanIf Color By is set to Node Data, allows the user to use the magnitude of a vector data to set the data map.
Object ColorColorIf Color By is set to Solid Color, the Object Color will set the data map.

material to cellsets

The material to cellsets module is intended to receive a 3D field into its input port which has been processed through a module like plume. If the original field (pre-plume) had multiple cell sets related to geologic units or materials, the output of plume will generally have only two cell sets which comprise all hexahedron and all tetrahedron cells. The ability to control the visibility of the layer-cell sets is normally lost.

This module takes plume’s output and recreates the cell sets based on nodal data. However, since each geologic layer will likely have two cell sets each (one for all hexahedron and all tetrahedron cells), the output tends to have twice as many cell sets as the original pre-plume field.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field containing the data to create cell sets with.
InputGeologic Legend Input InformationGeology LegendGeologic legend input information.
OutputOutput FieldFieldA field containing cell sets created by input data.

Properties

PropertyTypeDescription
Allow RunBooleanThe Allow Run toggle, when deselected, will prevent the module from running.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Data TypeChoice: Nodal Data, Cell DataThe Data Type selects either nodal or cell data to be used to create cell sets.
Nodal Data ComponentChoiceThe data from the input field that is used to set cell sets.
Cell Data ComponentChoiceThe data from the input field that is used to set cell sets.

loop

The loop module iterates an operation. For example, you could use a loop object to control the movement of an object in your application, such as incrementing the movement of a slider for a slice plane.

Ports

DirectionNameTypeDescription
InputInput Starting ValueNumberStarting value used for animation range.
InputInput Ending ValueNumberEnd value used for animation range.
InputInput Current ValueNumberCurrent value of interest.
OutputOutput Starting ValueNumberStarting value used for animation range.
OutputOutput Ending ValueNumberEnding value used for animation range.
OutputOutput Current ValueNumberCurrent value of interest.

Properties

PropertyTypeDescription
Current ValueDoubleThe current value of interest.
LoopLoopThe Loop controls setting the Current Value by specified increments.
Starting ValueDoubleThe starting value is the beginning value for the simulation.
Ending ValueDoubleThe ending value is the end value for the simulation.
Step SizeDoubleThe Step Size value specifies a factor for the increment for advancement when stepping or running.

modify data 3d

The modify data 3d module provides the ability to interactively change data in 3D volumetric models. This is not a recommended practice since volumetric models created in EVS generally have underlying statistical measures of quality that will be meaningless if the data is modified in any way.

However, it is not unusual for a model to occasionally have regions where extrapolation artifacts cause shards of plumes to appear. This module provides a way to remove those.

The basic approach is to move the modification sphere to the problem region and set the size and shape of the ellipsoid before changing your data.

Note: This module does not modify the upstream data.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe field containing the data to be modified.
InputZ ScaleNumberThe factor for vertical scaling.
OutputOutput FieldFieldA field containing the field with modified data.
OutputSampleDataRenderableA renderable object displaying the selected data.

Properties

PropertyTypeDescription
Transition OptionChoice: Linear, Non-LinearThe Transition Option control allows the user to select how the values are modified. Linear causes the weighting to be a straight line from the Inner Weighting value to zero at the outer change radius. Non-Linear is a smooth transition from the Inner Weighting value to zero at the outer change radius.
AnisotropyDoubleThe Anisotropy is the ratio of the change radius in the x-y plane to the vertical (z) direction for undistorted coordinates.
Pre Altered Z ScaleDoublePre-Altered Z Scaling is the z-exaggeration you are using for display purposes.
Create Output FieldButtonCreate Modified Output Field button causes the modified data to be output.

Modification Settings

PropertyTypeDescription
X CenterDoubleThe X Center slider controls the center of the change sphere.
Y CenterDoubleThe Y Center slider controls the center of the change sphere.
Z CenterDoubleThe Z Center slider controls the center of the change sphere.
Glyph Display RadiusDoubleGlyph Display Radius is the size (in your units) of the spherical glyph that identifies the center modification location.
Modification ValueDoubleThe Modification Value is the value to change (clamp) the data set.
Inner WeightingDoubleThe Inner Weighting is the constant value over the inner change radius.
Inner Change RadiusDoubleThe Inner Change Radius is the radius in the x-y plane of the region affected at the constant Inner Weighting.
Outer Change RadiusDoubleThe Outer Change Radius is the radius in the x-y plane of the total region affected.

Display Settings

PropertyTypeDescription
Display PointsBooleanThe Display Points toggle controls whether the affected nodes (cloud of points) will be displayed.

create mask

The create mask module creates convex and concave hulls from input point data. The resulting mask can be output as a triangulated surface or as lines.

Ports

DirectionNameTypeDescription
InputInput FieldFieldThe input field with the nodes to create the mask from.
OutputOutput FieldFieldThe output mask field.
OutputOutput ObjectRenderableA renderable object to display.

Properties

PropertyTypeDescription
Allow RunBooleanThis toggle can prevent the module from running. Allowing the user to make changes to large data sets without waiting for updates.
ExecuteButtonThis button will force the module to run even if the Allow Run toggle has been turned off. This allows the user to make a number of changes before updating.
Mask TypeChoice: Convex, ConcaveControls whether the output is a convex or concave hull.
Bridging TargetDoubleDistance between two points used to determine the fidelity of the concave hull in coordinate system units.
Disconnected RegionsIntegerThis value represents the estimated number of disconnected regions in the input, which is used to determine the optimal default Bridging Distance value.
OffsetDoubleThis value represents the offset in user coordinates the resulting mask will be inflated by.
Arc ResolutionIntegerThis specifies the number of points used on each corner for smoothing if a value in the Offset option other than 0 is chosen. An Arc Resolution of 1 results in just the corner point without any smoothing.
Output As SurfaceBooleanIf enabled, this option will output the resulting mask as a triangulated surface. Otherwise, the output will be lines.
Z PositionDoubleZ Position determines the Z location of the output. This allows you to position the output at the most convenient elevation.
  • viewer

    Renders connected objects in a 3D view with interactive rotation, translation, zoom, lighting, camera, and image export controls.

Subsections of View

viewer

The viewer accepts renderable objects from all modules with red output ports to include their output in the view. When instanced, it opens a window in which connected objects are rendered and can be manipulated interactively.

Objects can be transformed and scaled in the viewer window using combinations of mouse actions and keyboard keys:

  • Rotation is accomplished by clicking and dragging with the left mouse button.
  • Translation is accomplished by clicking and dragging with the right mouse button.
  • Zooming is accomplished using the mouse wheel, or by holding Shift while clicking and dragging the middle mouse button toward the upper right to zoom in or lower left to zoom out.

Ports

DirectionNameTypeDescription
InputObjectsRenderableRenderable objects to visualize.
InputInput Z ScaleNumberThe factor for vertical scaling.
OutputViewViewThe view containing all associated renderable objects.
OutputOutput Z ScaleNumberThe factor for vertical scaling.

Properties

Properties

PropertyTypeDescription
Show ContentsBooleanShows or hides the Viewer Contents.
Pin ContentsBooleanDetermines whether the contents panel is pinned or overlaid.
Azimuth And InclinationOrientationAllows the user to set the orientation of the view including azimuth, inclination, roll, scale, and origin.
Set To Top ViewButtonZooms to fit the entire model and displays it centered from top down.
Zoom To FitButtonZooms to fit the entire model and re-centers around the centroid of the scene.
BookmarksBookmarksBookmarked project states for reuse. Bookmarks may include view states, visibility states, sequence states, or any combination.
Picked ObjectStringDisplays the current object selected in the Viewer. Updated by holding Ctrl and clicking on an object in the Viewer.
Picked CoordinateCoordinate 3DDisplays the coordinates of the current object selected in the Viewer. Updated by holding Ctrl and clicking on an object in the Viewer.
Z With ScalingDoubleDisplays the z coordinate, adjusted by the z scale, of the current object selected in the Viewer. Updated by holding Ctrl and clicking on an object in the Viewer.
Center On PickedButtonIf an object has been picked in the Viewer, forces the Viewer to center around that object.
Show Viewer CenterBooleanShows an indicator of the current view center point.
Perspective ModeBooleanToggles perspective projection. When off, parallel lines are displayed as parallel and objects are the same size regardless of distance. When on, the view simulates a camera with perspective distortion, used in conjunction with Field of View.
Field Of ViewDoubleUsed to compensate for distortion while in Perspective Mode. A smaller value is like zooming in and reduces perspective effects.
Auto Fit SceneChoice: Never, On Any Change, On Significant ChangeControls what kind of change will cause the Viewer to normalize the view.
Z ScaleDoubleThe scaling factor for vertical (z) coordinates. The viewer uses this for computing proper distances and probe coordinate locations.

Window Size

PropertyTypeDescription
Activate WindowButtonBrings this viewer window to the foreground in the EVS user interface.
Window SizingChoice: Size Manually, Fit to WindowThe method for determining how to size the Viewer contents.
Viewer WidthIntegerThe width of the rendered portion of the Viewer, in pixels.
Viewer HeightIntegerThe height of the rendered portion of the Viewer, in pixels.
Viewer Actual WidthIntegerThe actual width of the rendered portion of the Viewer, in pixels.
Viewer Actual HeightIntegerThe actual height of the rendered portion of the Viewer, in pixels.
Video Safe AreaChoice: None, HD/1080p/4K, Web and Phone Safe, NTSC, PAL, SECAMDisplays areas usable for text and animation purposes for several standard video formats when creating a video animation.

Export Image

PropertyTypeDescription
View ScaleDoubleThe scale to apply to both the viewer’s height and width when creating the image. Values are truncated to integers when setting the actual width and height.
Auto Scale Forward Facing FontBooleanWhen selected, all forward-facing fonts in the image will be scaled depending upon the size of the output image.
Prefer LosslessBooleanPrefer using lossless compression when the image format supports it.
QualityIntegerAffects various lossy output files, including JPEG. Higher qualities result in less loss to the image but create larger files.
Transparent BackgroundBooleanAllows you to create an image with a transparent background.
Image FilenameFileThe image file and format to use when creating the image.

Distance Tool

PropertyTypeDescription
Measure DistanceBooleanTurning on the Measure Distance tool allows the user to probe two locations in the viewer and return detailed information about each point as well as the line connecting the two locations.
First Point LocationCoordinate 3DThe first point probed using Ctrl + Left click. This value may be altered to change the line values, but it will make the data and object probed on invalid.
Second Point LocationCoordinate 3DThe second point probed using Ctrl + Left click. This value may be altered to change the line values, but it will make the data and object probed on invalid.
Clear PointsButtonClears the probed points.
Distance Line ColorColorThe color of the line between the probed locations.
Point RadiusDoubleThe radius of the spheres displayed at the probe locations.
Line FilenameFileThe EVS Line File name for exporting the distance line in ELF format.
File BehaviourChoice: Append To File, Overwrite FileWhen an EVS Line File has been selected, choose whether to overwrite it with the stored points or append the points to an existing line file.

Background

PropertyTypeDescription
StyleChoice: Solid Color, Two Color Gradient, VignetteControls how the background is colored.
Gradient AngleDoubleChanges the orientation of the gradient computed in the background.
Background ColorColorSets the primary background color.
Gradient ColorColorSets the second color of the two-color gradient.

View

PropertyTypeDescription
Depth SortChoice: No Sorting, Simple, Detailed SortingControls depth sorting for properly displaying multiple transparent objects. Without depth sorting, the appearance of which object is in front or behind can be improperly displayed. Higher sorting options require progressively more computation.
Update AutomaticallyBooleanWhen toggled on, user changes to the Viewer are handled immediately.
RefreshButtonIf Update Automatically is not toggled on, the Refresh button will cause the Viewer to handle all user changes.

Lights

PropertyTypeDescription
Turn On Ambient LightBooleanToggles the visibility of the ambient light. Ambient light affects all objects and is not directional.
Ambient Light ColorColorSets the ambient light color.
Show LightsBooleanWhen toggled on, the position of the lights will be shown in model space.
Mouse ControlsChoice: Scene, Light 1, Light 2, Light 3, Light 4Controls what object to transform when the mouse moves inside the Viewer.
Reset LightsButtonForces all lights to return to their default values.
Light 1LightControls for this light including type, color, visibility, attenuation, concentration, and spread angle.
Light 2LightControls for this light including type, color, visibility, attenuation, concentration, and spread angle.
Light 3LightControls for this light including type, color, visibility, attenuation, concentration, and spread angle.
Light 4LightControls for this light including type, color, visibility, attenuation, concentration, and spread angle.

Camera

PropertyTypeDescription
Normalization ScaleDoubleThe camera by default is set a distance away from all objects. The Normalization Scale reduces this distance by a set factor, making the objects appear closer.
Normalize Invisible ObjectsBooleanTells the Viewer whether to include objects that have had their Visible status set to off when adjusting its scale.
Global ScaleDoubleWhen Perspective Mode is on, a smaller Field of View is like zooming in and reduces perspective effects. You can compensate for changing Field of View by adjusting the Global Scale.
Viewport SizeDoubleWhen Perspective Mode is on, you can compensate for changing Field of View by adjusting the Viewport Size.
Tripod FromCoordinate 3DThe coordinates for the position the camera looks from.
Tripod UpCoordinate 3DThe coordinates that describe the direction defined as ‘up’ for the camera. This can produce a roll-like effect.
Tripod AtCoordinate 3DThe coordinates for the position the camera is looking at.
Clipping Planes ActiveBooleanIf toggled on, objects that are too close or far from the camera will be clipped off.
Clipping Plane Front PerspectiveDoubleIf Perspective Mode is on, sets the position of the front clipping plane.
Clipping Plane FrontDoubleThe clipping plane closest to the camera. Any objects in front of this plane will be clipped.
Clipping Plane BackDoubleThe clipping plane furthest from the camera. Any objects behind this plane will be clipped.
Depth Cueing ActiveBooleanControls the fading of light based on the distance objects are from the viewer.
Depth Cueing FrontDoubleSets the position, relative to the camera, where lights are at 100 percent. Depth cueing is a linear blend from front to back.
Depth Cueing BackDoubleSets the position, relative to the camera, where lights are at 0 percent. Depth cueing is a linear blend from front to back.
Depth Cueing ScaleDoubleAmplifies the change between the front and back depth cueing positions.

Export VRML

PropertyTypeDescription
VRML FilenameFileThe output VRML file name. Setting this filename will cause the file to be written.
Output OptimizationChoice: Target 3D PDF, Target 3D Printing, Compressed VRML, Target Web PublishingSets the type of output to optimize the VRML for.
  • output images

    Output Images The View Scale parameter allows you to specify that your image to be output will be “n” times larger (or smaller if a fraction less than 1.0 is specified) than your current Window Size When the Autoscale FF Font toggle is selected all Forward Facing fonts in the image will be scaled depending upon the size of the output image.

  • Recording (Capturing) 4DIM Files

    Recording (Capturing) 4DIM Files The Record 4DIM output option in the Viewer provides the ability to export in C Tech’s proprietary 4DIM vector animation format. Limitations In some circumstances transform_group cannot be used with 4DIMs. It can cause the 4DIM extents to be different than they were in the EVS viewer. This has been noted when doing rotations. In most cases, the transform_field module can be used instead, however it does not allow for multiple objects to be connected to its input. volume_renderer is not compatible with 4DIMs 4DIM files will not record any object whose cache has been disabled. This occurs when large fields are connected to the viewer. When this occurs (for external_faces in this example), the following message appears in the Status Window: — Warning from: module: external_faces —

  • write vrml

    write_vrml The write_vrml output in the viewer is able to output most graphics objects in the viewer to a VRML-formatted file. VRML is a network transparent protocol for communicating 3D graphics. It has fallen out of favor on the web, though it is still a standard for 3D model output. We provide VRML output for two primary purposes:

Subsections of viewer

Output Images

The View Scale parameter allows you to specify that your image to be output will be “n” times larger (or smaller if a fraction less than 1.0 is specified) than your current Window Size

When the Autoscale FF Font toggle is selected all Forward Facing fonts in the image will be scaled depending upon the size of the output image.

The suffix specified for the Image Filename determines the type of output.

  • For PNG (portable network graphics), a compression slider is provided. The max value of 9 results in a very small increase in compute time for compressing the images. Since PNG is a LOSSLESS compression format, the quality of the image is not affected by this value.
  • For JPEG, a quality parameter is provided. Higher qualities result in less LOSS to the image but create much larger files. We recommend using PNG instead of JPEG whenever possible. The PNG images are often smaller and are always higher quality than a JPEG image.

The Anti Aliasing option renders an image that is twice as big as the specified Width and Height. This high resolution image is then filtered and subsetted to the specified size. This process reduces the brightness (contrast) of fine lines but it also smooths the lines and dramatically reduces jaggies.

The Mask Background toggle allows you to create an image with a transparent background. In order to accomplish this, several things must be done:

  • You must specify an image type that supports transparent backgrounds. PNG is recommended
  • You must have a background color which is unique from any pixels in your objects which are rendered. This can be somewhat difficult if you have a rendered object with shading and specular highlights. Shading creates darker versions of the colors in your datamap and specular highlights creates less saturated (more white) versions of those colors. To avoid creating object colors that match your background, a masking background color should be selected which has a unique HUE not found in your datamap.
  • Anti-Aliasing and filtering will intelligently detect the edges that are transparent and not mix in “pink” edges on your objects.

NOTE: There is no tolerance for matching the background color. The color must match the RGB value exactly.

TIP: The mask background function can be used to create transparent HOLES in your images. For example, a lake, which is rendered as a unique color could become a transparent hole in your rendered output. In order to accomplish this, the object which represents the lake must be colored to exactly match your mask color and it must have its surface rendering set to “Flat Shading”.The Select File button is used to bring up a standard windows file browser for choosing the name and location of the file to create. The Accept Current Values push button begins creation of the file.

Recording (Capturing) 4DIM Files

The Record 4DIM output option in the Viewer provides the ability to export in C Tech’s proprietary 4DIM vector animation format.

Limitations

  • In some circumstances transform_group cannot be used with 4DIMs. It can cause the 4DIM extents to be different than they were in the EVS viewer. This has been noted when doing rotations.
    • In most cases, the transform_field module can be used instead, however it does not allow for multiple objects to be connected to its input.
  • volume_renderer is not compatible with 4DIMs
  • 4DIM files will not record any object whose cache has been disabled. This occurs when large fields are connected to the viewer. When this occurs (for external_faces in this example), the following message appears in the Status Window:

— Warning from: module: external_faces —

Field is too big (140 MB) to be put into GDobject’s cache (128 MB). Drawing the bounds only. Consider increasing the cache size or reducing the field’s complexity.


You will also know this has happened when you see an object in your viewer that is only the white bounds of what SHOULD be displayed. Such as:

When this occurs, the procedure to fix it is:

  1. Select the object using the Choose Object to Edit button the viewer’s Properties.
  2. Increase the cache size from the default value of 128 (Mb) to a larger value.

Operation

When in Manual mode, frames (3D Models) are saved only when the “Record a Single Frame” button is depressed. When in Automatic mode, every time the model is changed a frame is appended the 4DIM animation. The definition of model is changed is not the same as the automatic mode in output_images. For this module, a change is defined as a change to one or more of the 3D objects in the viewer. Merely manipulating the view with Az-Inc or your mouse does not constitute a change. The reason for this is that recording frames that represent viewer manipulations is a waste. 4DIM files can be manipulated exactly the same way you manipulate the viewer. With 4DIM files we only want to save frames that represent changes to the content in the viewer.

Before the 4DIM file is written, you have the option of deleting the last frame (this can be done repeatedly) or clearing all frames. When creating small 4DIMs manually, this can be useful.What is saved?

Some geometries may not display properly when the animation is played back. In particular, volume rendering is not supported.

Geometry that does not change from frame-to-frame is not re-saved. Instead, a reference is made to the previous frame so that data does not need to be duplicated. Invisible objects (visible set to zero) are not captured.

View attributes will not be saved as part of the animation.

Attributes that can be saved

  1. Visibility

  2. Transparency

  3. Most object modes (rendering modes and line modes)

  4. Background color and background type

    1. If Locked 2 or 4 color backgrounds are used, they cannot be changed by the user in the 4DIM player

View, Light and Camera Attributes

The following lists the view attributes you can change.

You can change all view attributes.

All light attributes can be changed.

The following camera attributes can be changed:

lens

clipping plane

depth cueing

write_vrml

The write_vrml output in the viewer is able to output most graphics objects in the viewer to a VRML-formatted file.

VRML is a network transparent protocol for communicating 3D graphics. It has fallen out of favor on the web, though it is still a standard for 3D model output.

We provide VRML output for two primary purposes:

  1. Export of 3D models for conversion to 3D PDF
  2. Export of 3D models for 3D Printing

Known Issues

  • Turn on the “Use Unlocked Background” option in the viewer->Background editor when writing VRML files, since the background is otherwise rendered as a small square at the origin.
  • Always set your viewer to a Top View (180 Azimuth and 90 Inclination) before writing the VRML file.
  • Do not use any modules which display in the 2D overlay. The 2D overlay is analogous to drawing on the glass on a TV or monitor. Items in the 2D overlay do not move, rotate or scale when you manipulate your 3D model. Examples are add_logo, Titles, and legend.
  • Do not use volume rendering. These techniques are not supported.
  • VRML does not support the full spectrum of data coloring supported in EVS.
    • Though both cell and nodal data coloring is supported, sometimes combinations of these cause problems.
    • Object colors (such as the red, blue, green grid lines of the axes module) often revert to white (uncolored). This can be problematic on a white background.
    • The texture_colors module is recommended for final output of most all colored objects to help avoid these issues.
  • Trial and Error is often the only way to determine what combinations of rendering modes are supported, especially for 3D PDF and 3D printing. Remember these vendor’s software all interpret the VRML files in slightly different ways. You will likely not be able to do everything you can do in a 4DIM or in EVS.
  • VRML viewers: There is a list of VRML viewing software published by National Institute of Standards and Technology here. We recommend Cosmo, though it is far from perfect. We have created VRML files which will not display correctly in any of the VRML viewers that we have tested (including Cosmo), but which DO convert to 3D PDF perfectly. Conversely, there are occasions when something will look ok in VRML and not convert properly to 3D PDF.

Module Input Ports

  • View [View] Connects to the viewer to receive all objects in the view
  • Guidelines for 3D PDF Creation

    The following is a list of guidelines that must be considered when making EVS models that will be output as 3D PDF files using the *C Tech 3D PDF Conv

  • Guidelines for 3D Printing

    Guidelines for 3D Printing The following is a list of guidelines that must be considered when making visualizations that will be printed using 3D Systems (previously Zcorp) technology. As of this software release, no other full color 3D printer has been successfully tested with output from write vrml. You must follow the guidelines in write vrml in addition to these additional guidelines.

Subsections of write vrml

The following is a list of guidelines that must be considered when making EVS models that will be output as 3D PDF files using the C Tech 3D PDF Converter.

Note: The C Tech 3D PDF Converter is a separately purchased product not included with any other C Tech software licenses. Please see www.ctech.com for pricing.

EVS output from write_vrml. You must follow the guidelines in write_vrml in addition to these additional guidelines.

Let’s begin by building a simple application

Whose output is:

The first things we MUST do for VRML output are to remove the legend and use an Unlocked Background. If you see a gradient background in your viewer, you definitely aren’t using an unlocked background. Once you use an unlocked background, you can still set a solid (single) background color.

Always set your viewer to a Top View (180 Azimuth and 90 Inclination) before writing the VRML file.

If we output this current model as VRML and convert to 3D PDF,

the results are less than wonderful:

The above 3D PDF has three obvious problems:

  1. The top and bottom of the plume are very dark.
  2. The slice is dark
  3. post_sample’s borings are dark.

We need to modify the application using two texture_colors modules as follows:

You’ll notice that in the revised application, the output in the viewer is virtually identical. This will address the first two problems, however we expect to resolve the dark borings in an upcoming release.

If we export this model to VRML and convert to PDF, the result is:

One other issue is that by default, we create isolines coincident with the surface(s) and resolve the coincidence in EVS using jitter. At some rotations you will notice that the isolines may disappear. This can be because jitter is not supported, but also because the underlying surface is so bright that the lines are not distinguishable.

This can be addressed using the surface_offset parameter in isolines. This will offset the lines from teh surface (in one direction) and eliminate the coincidence. However, this will also mean that the lines will not be visible from one side of the slice. Making the lines uncolored is another option.

Guidelines for 3D Printing

The following is a list of guidelines that must be considered when making visualizations that will be printed using 3D Systems (previously Zcorp) technology. As of this software release, no other full color 3D printer has been successfully tested with output from write vrml. You must follow the guidelines in write vrml in addition to these additional guidelines.

These guidelines are provided to minimize printing problems. Users should fully understand the issues below or they will likely not create VRML files suitable for 3D printing. Given the cost of the raw material it is best to do it right the first time!

Many of these issues (if not heeded) will be obvious when the model is viewed in Z Corp’s ZPrint software. Make sure the model is carefully examined in ZPrint before actual printing.

  1. Internal Faces: You must avoid internal External faces. This naturally occurs when we cut a hexahedral volumetric model with our older plume module. The volumetric subset consists of hexahedron and tetrahedron cells. This creates surfaces that are internal to the model even though they represent the external faces of each set of cells. The real problem here is that the mating surfaces of each cell set are coincident (see 4 below). This major problem and many others are resolved by the intersection shell module.

  2. Normals: Must have all surface normals facing outward to define a solid volume for printing (handled by intersection shell module)

  3. Coincident surfaces: You CANNOT HAVE coincident surfaces. If two layers (or other objects) have coincident surfaces this will result in open parts and printing problems. You must separate the parts by a small amount (recommend 0.005 inches in final printed size) which should not be noticeable visually. Z-Print’s process will fuse these parts together (because there isn’t sufficient gap to keep them truly separate).

  4. Overlapping parts: This is supported. It is possible to have two closed volumes overlap each other and Z-Print will sort it out so long as 1, 2 and 3 above are still valid.

  5. Surfaces: Must be extruded or represented as a volumetric layer. Surfaces have no thickness and if placed coincident with the top of a volumetric object will result in leaving the volume OPEN (unclosed). This will cause serious problems.

  6. Cell Data: Another limitation is the inability to mix nodal and cell data. Since we use nodal data for so many things you should always strip out the cell data and use nodal data exclusively. You must be aware of the following:

    1. Ensure that there are no modules connected to the viewer that contain cell data. The safest way to ensure this is to pass questionable modules through extract_mesh with “Remove Cell Data” toggle ON. Normally you would want the “Remove Nodal Data” toggle OFF.
    2. If you want your cell data (colors) to be displayed, pass the cell data through the cell data to node data module. However be aware that you’ll still need to use extract_mesh afterwards because cell data to node data doesn’t remove the cell_data it just creates new nodal data from cell data.
    3. Typical modules that have cell data are import vector gis, lithologic modeling, Solid_3D_Set, Solid_contour_set, and most of the modules in the Cell Data library.
  7. Explode distance: Need to ensure that there is sufficient gap between exploded layers (separate parts) so that they don’t fuse together. Separation should be 1 mm (0.04 inches) minimum in the final print scale. Be aware that a 1 mm gap in the Z direction isn’t equivalent to a 1 mm separation if the mating parts have high slopes.  If your mating surfaces have a 45 degree slope, the separation is reduced by cos(45) (~0.7). If you have higher slopes such as 80 degrees, the factor would be ~0.17. This would mean that you would need a Z gap of nearly 6 mm to ensure a 1 mm separation between parts.

  8. Disconnected pieces: Although Z Print can print disconnected pieces, they won’t retain their spatial position. Plumes that aren’t connected to solid structure will just be loose pieces in the final print. This would also apply to post samples’ borings and spheres, unless they are connected by some common surface or geologic layer.

  9. Concepts that are NOT Supported:

    1. Points and Lines: Points and Lines cannot be printed (except as elements of an image used in a texture map). Lines must be converted to some 3D solid structure (such as closed tubes) and they must be of sufficient thickness to have some strength AND must not be disconnected pieces. Points should be represented as glyphs of sufficient size and not be disconnected.
    2. Transparency: Transparency as an object property cannot be supported since Z Print’s ink is printed onto opaque plaster or starch powder. The illusion of transparency could be achieved by creating a texture map that was a blend (using the image transition module) between two different images.
    3. Volume rendering: This is a subset of Transparency and therefore is not supported at all.
    4. Jitter: First, you must make sure that coincident surfaces are avoided anyway. Jitter is designed into EVS to allow preferential visualization of coincident objects. With Z Printing we cannot have coincidence in the first place! Offset the desired primary object to ensure that it is visible. Remember no lines and no surfaces!
  10. Thin sections: This is a somewhat subjective issue in that we really can’t tell you the definition of too fragile?. We would recommend a minimum thickness of 0.5 mm, but depending on the width (total cross sectional area of the section) this may be too fragile or exhibit too much distortion during curing. We still want to have lenses pinch out, but if sections get very thin, the pieces may break.

  11. Top View: You should write out the VRML file from a top view If there are any truly flat (horizontal) surfaces, this keeps them flatter and smoother. Also, it helps to keep the models with the largest dimensions in the x-y plane (rather than z). This speeds up printing.

Revisions to Module Names Effective After EVS Version 2021.10

Effective October 2021, there was a major revision to module naming. The table below lists the old and new names. Also note that the Cell Data library was eliminated with its modules moved to Processing.

In general the new module names are intended to be more descriptive of each module’s functionality. For example, krig_3d_geology was named over 25 years ago when we developed it to create 3D stratigraphic models using kriging to estimate the horizons. It now does not use kriging as its default estimation method (of many) and is often used to build grids that are solely conformal to surface topography. Its new name “gridding and horizons” is far more descriptive of its current use.

Also we have striven to be consistent in the naming of input and output modules. If they read or write EVS proprietary formats, their naming begins with read or write. If they read or write external formats (GIS, CAD, industry standards, images, etc.) their names begin with import or export.

Old CategoryOld Module NameNew LibraryNew Module Name
Estimationkrig_2dEstimation2d estimation
Estimationkrig_3dEstimation3d estimation
Estimationkrig_3d_geologyEstimationgridding and horizons
Estimationindicator_realizationEstimationlithologic realization
Geologymake_geo_hierarchyGeologycreate stratigraphic hierarchy
Geology3d_geology_mapGeologyhorizons to 3d
Geologygeology_to_structuredGeologyhorizons to 3d structured
Geologylayer_from_surfaceGeologylayer from horizon
Geologygeologic_surfaceGeologysurface from horizons
Geologygeologic_surfacesGeologysurfaces from horizons
Geologyindicator_geologyGeologylithologic modeling
Geologycombine_geologyGeologycombine horizons
Geologysubset_layersGeologysubset horizons
Geologymake_single_layerGeologycollapse horizons
Displaycontour_dataDisplayband data
Displayadjust_opacityDisplayopacity by nodal data
Displayselect_dataDisplayselect single data
Displayread_wavefrtont_obfDisplayimport wavefront obj
Analysisarea_integrateAnalysiscompute surface area
AnnotationnorthAnnotationdirection indicator
Subsettingthin_fenceSubsettingcross section
Subsettingplume_cellSubsettingsubset by expression
Subsettingselect_cellsSubsettingselect cell sets
Proximityarea_cutProximitydistance to 2d area
Proximitysurf_cutProximitydistance to surface
Proximityshape_cutProximitydistance to shape
ProximitybufferProximitybuffer distance
Proximitytunnel_cutProximitydistance to tunnel center
Proximitymask_geologyGeologymask horizons
Processingcombine_componentsProcessingcombine nodal data
Processinginterp_dataProcessinginterpolate nodal data
ProcessingthicknessProcessingcompute thickness
Processingdata_translateProcessingtranslate by data
Importload_evs_fieldImportread evs field
Importread_vtkImportimport vtk
Importread_cadImportimport cad
Importread_vector_gisImportimport vector gis
Importraster_to_geologyImportimport raster as horizon
Importstrike_and_dipImportread strike and dip
Importload_glyphImportread glyph
ImportsymbolsImportread symbols
Importread_geometryImportimport geometry
Exportsave_evs_fieldExportwrite evs field
Exportwrite_coordinatesExportexport nodes
Exportwrite_cadExportexport cad
Exportwrite_vector_gisExportexport vector gis
Exportgeology_to_rasterExportexport horizon to raster
Exportgeology_to_vistasExportexport horizons to vistas
ModelingstreamlinesModeling3d streamlines
Modelingstreamline_surfaceModelingsurface streamlines
Modelingdrill_pathModelingcreate drill path
Modelingcombine_vectModelingscalars to vector
ModelingmagnitudeModelingvector magnitude
Geometrypolyline_splineGeometrypolyline processing
Geometrytri_toolGeometrytriangle refinement
GeometryglyphGeometryglyphs at nodes
ProjectionsurfmapProjectionproject onto surface
Projectiontransform_groupProjectiontransform objects
Imageload_eftImageread eft
Imagetexture_geologyImagetexture cell sets
Imagegeoreferenced_outputImageexport georeferenced image
Timetime_geologyTimetime horizon
Toolsgroup_objectToolsgroup objects
Tools2d_overlay_groupToolsgroup objects to 2d overlay
Toolsscat_to_tinToolscreate tin
Cell Datacell_computationProcessingcell computation
Cell Datacell_to_nodeProcessingcell data to node data
Cell Datanode_to_cellProcessingnode data to cell data
Cell Datainterp_cell_dataProcessinginterpolate cell data
Cell Datashrink_cellsProcessingshrink cells
Cell Datacell_centersProcessingcell centers
  • Command Line Automation

    Automation of EVS Given an appropriate Enterprise license or Automation license, EVS can be run in a fully automated manner in two ways. The first is to use special command line flags to run the program, open applications, run scripts, and cleanly close when complete. The second is to use an external language and programming API to control EVS via custom written code.

  • Automating EVS via Custom Code

    Given an appropriate Enterprise license or Automation license, EVS can be run in a fully automated manner in two ways. The first is to use special command line flags to run the program, open applications, run scripts, and cleanly close when complete. The second is to use an external language and programming API to control EVS via custom written code.

Subsections of Automation of EVS

Automation of EVS

Given an appropriate Enterprise license or Automation license, EVS can be run in a fully automated manner in two ways. The first is to use special command line flags to run the program, open applications, run scripts, and cleanly close when complete. The second is to use an external language and programming API to control EVS via custom written code.

Automating EVS via the Command Line

EVS can be automated using custom command line arguments. The command line arguments all have a long form as well as a shorter form, either of which can be used identically.

The available arguments are:

  • –file or -f followed by the full path to an .evs file: Load a specific EVS application when opening EVS
  • –python or -p followed by the full path to a .py file: Run a specific Python script after loading the EVS application
  • –shutdown or -s: Shut down EVS after the application opens and any specified Python script finishes running.
  • –suppressplash or -w: Do not show the splash screen when starting EVS
  • –startminimized or -m: Start and run EVS minimized

For example, the following command, if added to a batch file (.bat), would run EVS Version 2024.9.1 (if installed to default location), suppress the splash screen, open a specific application, run a specified Python script, then shut down immediately when finished:

start /wait “C:\Program Files\C Tech Development Corp\EVS 2024.9.1\bin\system\EarthVolumetricStudio.exe” -f “C:\Projects\My Application.evs” -p “C:\Projects\My Python Script.py” -w -s

Given an appropriate Enterprise license or Automation license, EVS can be run in a fully automated manner in two ways. The first is to use special command line flags to run the program, open applications, run scripts, and cleanly close when complete. The second is to use an external language and programming API to control EVS via custom written code.

Automation via Custom Code

EVS can also be automated by using custom written code and our API. We currently support a Python API for automation of EVS.

Full details can be found at https://github.com/C-Tech-Development-Corp/python_evs_automation. Also see the Python Scripting help topic.

The Python API strives to be as compatible with scripts written inside EVS’s internal Python environment as possible. With the proper libraries available within your Python environment, scripts written within EVS can be adapted to be run externally within any automated system with few changes.

Here is an example script which loads an application, adds a new titles module, then runs a Python script:

import evs_automation

try:
    with evs_automation.start_new() as evs:
        # Load an application
        evs.load_application('C:\\Projects\\my application.evs')

        # Instance a titles module and set the title
        newmodule = evs.instance_module('titles', 'titles', 363, 679)
        evs.connect(newmodule, 'Output Object', 'viewer', 'Objects')
        evs.set_module(newmodule, 'Properties', 'Title', 'Title added from script')
        evs.set_module(newmodule, 'Positioning', 'Anchor Side', 0)

        # Execute a Python script
        evs.execute_python_script('C:\\Projects\\export_data.py')

except Exception as e:
    print(f"Received exception : {e}")

Reducing Complexity in Applications

C Tech recommends avoiding overly large applications. There are numerous ways to reduce the number of modules and complexity of an application, including but not limited to:

  • Once the grid and estimation is complete, save those results as an EF2 file. A single read evs field module can then (typically) replace 3 to 5 modules.
  • If the complexity is there to address multiple analytes and/or threshold levels in a CTWS file, scripted sequences can often reduce the number of modules by a factor of 5 or more.

Understanding Display Resolution and Scaling

The usability of EVS is influenced by your display’s effective resolution, which is a combination of its native resolution (e.g., 4K) and the scaling setting in Windows (e.g., 150%).

Windows scaling makes text and interface elements larger and easier to read, but it reduces the available screen space for application windows. For example:

  • A 4K display (3840x2160) with 200% scaling provides the same workspace as a 1080p display (1920x1080).
  • A 1080p display (1920x1080) with 125% scaling provides a very low effective resolution of approximately 1536x864.

While EVS is functional on lower effective resolutions, some window layouts may feel crowded. For the best experience, especially on laptops with 1080p displays, we recommend setting the Windows scaling to 100% or using an external monitor with a higher resolution.

The Windows scaling setting can be found in the system options, for example on Windows 11: