Explore subsurface ocean data

In this section, you'll download and add subsurface ocean data as a voxel layer in ArcGIS Pro. The voxel layer contains many ocean-specific variables, such as salinity and temperature, and you'll use these to visually analyze the voxels. Your goal is to isolate voxels between 0 and 60 meters in depth to analyze coral bleaching potential. You'll create an area of interest that contains only the voxels in the depth range and apply custom symbology to enhance the display of the subsurface data. Once you create the area of interest, you'll use it for further analysis using salinity and temperature values that are optimal for coral bleaching. First, you'll download the data from ArcGIS Online.

Set the application background

First, you will set the application theme for ArcGIS Pro to the dark theme so that your screen matches the images used in the lesson.

  1. Start ArcGIS Pro. If prompted, sign in using your licensed ArcGIS account.

    If you don't have ArcGIS Pro or an ArcGIS account, you can sign up for an ArcGIS free trial.

  2. In the menu pane, click Settings.

    Settings button

  3. Click Options. In the Options window, click General.
  4. Under Set general options for ArcGIS Pro, expand Application Theme, click the drop-down arrow, and choose Dark.

    Dark theme

  5. Click OK and close ArcGIS Pro.

    You must restart ArcGIS Pro for the application theme to take effect.

Download project and voxel data

The ArcGIS Pro project package and multidimensional EMU voxel layer is stored on ArcGIS Online. You'll download these items to your computer and work with them locally.

  1. Go to EMULessonData to download EMULessonData.zip to your computer.
  2. Once the download is complete, browse to the Downloads folder and extract the contents of EMULessonData.zip to a folder that you'll use for the lesson.
  3. In the folder that you moved the files to, double-click EMUVoxelExploration to open the project package.

    The scene is clipped to the area from eastern India to New Zealand (from the Bay of Bengal to the Tasman Sea).


    You can change the background of the scene by right-clicking the scene in the Contents pane, choosing Properties and clicking the General tab, and then setting the background color.

    Project opens with basemap clipped

Add and symbolize a multidimensional voxel layer

Next, you'll add the multidimensional voxel layer to the scene, choose a display variable, and change the layer's appearance.

  1. On the ribbon, on the Map tab, in the Layer group, click the Add Data drop-down arrow.

    Add Data button

  2. From the list of options, choose Multidimensional Voxel Layer.

    Multidimensional Voxel Layer option

  3. For Input Data Source, click the browse button.

    Browse button

  4. Browse to where you stored the data and double-click emu_reef_australia.nc.

    The data contains 17 variables representing various modalities necessary for characterizing the subsurface sea environment. You'll use the temp variable to visualize sea water temperatures.

  5. In the Select Variables section, scroll to the bottom of the list and locate the temp variable name. In the Default Variable column, click the button to select this variable.

    Variable selected

  6. Click OK.

    Voxel layer added to the scene

    Once the data loads, you can see the volumetric representation of the sea water temperature data.


    Regardless of which variable you choose when you add the layer, you can change the display variable at any point in the Variable section on the Voxel Layer tab.

    Because emu_reef_australia is a subsurface layer, the basemap is interfering with its visualization, so you'll turn it off.

  7. In the Contents pane, uncheck the World Ocean Reference and World Ocean Base layers to turn them off.

    You'll tilt the scene so you can see the subsurface data.

  8. On the ribbon, on the Map tab, click Explore.

    Explore button

  9. On the scene, click the mouse wheel button and move the pointer up and down to tilt the scene to see beneath the surface.

    You can also navigate the scene by pressing the following keys while right-clicking and dragging the scene: V to tilt, B to rotate, C to pan, and Z to zoom.

    Scene tilted

  10. If necessary, in the Contents pane, click emu_reef_australia to select it.
  11. On the ribbon, click the Voxel Layer tab.
  12. On the Voxel Layer tab, in the Elevation group, set Vertical Exaggeration to 58000.00.

    Vertical Exaggeration set to 58000.00

    The voxels in the scene are more pronounced with a vertical exaggeration set.

    Vertical exaggeration applied

  13. On the Voxel Layer tab, in the Drawing group, click Symbology to open the Symbology pane.
  14. In the Symbology pane, for Color scheme, click the existing color scheme.

    Color scheme option

  15. From the list of color schemes, check Show names.

    Show names for color schemes.

  16. Choose the Plasma color scheme.

    Plasma color scheme

    On the scene, the voxel layer updates to the Plasma color scheme.

    Plasma color scheme in scene

  17. In the Contents pane, in the Elevation Surfaces section, for Ground, turn off WorldElevation3D/Terrain3D.

    Ground layer turned off

    When you turn off the Ground layer, you can see into the voxels where the land masses exist to get a picture of the voxels surrounding those areas.

You've symbolized the voxel layer and set a vertical exaggeration so that it is more pronounced and easier to visualize and work with. Next, you'll create a slice to isolate a specific depth to analyze for coral bleaching.

Create an area of interest

Typically, reef-building corals appear above a depth of around 60 meters. You will define an area of interest using this depth information so that you can identify areas in danger of coral bleaching.

  1. In the Contents pane, verify that emu_reef_australia is expanded.

    Voxel layer expanded

    When you add a multidimensional voxel layer, the Contents pane displays whichever variable you selected and several other voxel-layer-specific sublayers. The other sublayers are named Volume, Surfaces, Slices and Locked Sections. Next, you will create slices to see into the voxels.

  2. In the Contents pane, right-click Slices and choose Create Slice.

    Once you choose to create a slice, the Slice and Section toolbar appears at the bottom of the scene with the Vertical Slice tool enabled.

    Slice and Section toolbar

  3. On the Slice and Section toolbar, click the Horizontal Slice tool.

    Horizontal Slice tool

  4. Click the voxels at a random depth below the surface to create a slice.

    Slice starting point

    A slice is created, as shown by the outline around the voxels, and the Voxel Exploration pane appears.

    Slice created

    On the Slice and Section toolbar, the Push or Pull tool is automatically enabled so that you can use it to interact with the voxels.

    Push or Pull tool

  5. On the scene, drag the outline of the slice up and down to see the voxels at various depths.

    Moving the slice deeper

    As you move the slice, you can see the variance in sea water temperature at different depths, and in the Voxel Exploration pane, the value for Position changes.

    Next, you'll set the slice to be around 60 meters deep, which is the depth that you want to explore. You can use the Position slider to set the position of the slice in the Voxel Exploration pane, or you can push or pull the slice on the scene.

    The position of the slice ranges from 0 to 100, meaning that the highest real depth is mapped to 100 and the lowest depth is mapped to 0. You can set the position and then use the Explore tool to click the voxels and get the depth.

  6. In the Voxel Exploration pane, for Position, drag the slider to the middle so the value is 50.

    If the Voxel Exploration pane does not display any information, click the slice in the Contents pane to activate it. Once you activate a slice, the Voxel Exploration pane displays its properties.

    Position set to 50

  7. On the ribbon, on the Map tab, in the Navigate section, click the Explore drop-down arrow and verify that it is set to Topmost Layer.

    Topmost Layer set

  8. On the scene, click the slice to open a pop-up.

    Depth in pop-up

    The Depth value associated with a position of 50, or halfway through the voxels, is 1,300 meters. To access a depth of 60 meters, you must set the position higher. Normally, you would experiment and drag the slider higher and then click the voxels to view the depth. To save time, you'll set the position so that it corresponds to a real depth of 60 meters.

  9. In the Voxel Exploration pane, for Position, drag the slider to the right until it displays approximately a value of 90. Alternatively, you can also type 90 in the text box next to the slider.

    If the Exploration pane is empty, click Slice 1 in the Contents pane to activate it.

    Position set to 90

    The slice adjusts on the scene when you change the value for Position, and the value for Position changes when you adjust the slice on the scene.

    Slice at 60 meters deep

  10. On the scene, using the Explore tool, click the voxels.

    Depth of 60 meters

    You're interested in the portion of the voxels from the surface to 60 meters deep. To visualize the 0- to 60-meter section of the voxels, you can flip the voxels to view the other side of the slice.

  11. Close the pop-up.
  12. On the Slice and Section toolbar, click Flip.

    If you do not see the Slice and Section toolbar anymore, on the Contents pane, right-click Slice 1 and click Edit.

    Flip button

    Once you flip the voxels, the slice contains the depth range of 0 to 60 meters.

    Slice with voxels flipped

You've isolated an area of interest in the voxel volume for the depths with which you may apply the temperature filters.

Modify the appearance of the voxels

Next, you'll add an offset to move the voxel layer over the basemap for better conceptualization.

  1. In the Contents pane, select the emu_reef_australia layer.
  2. On the ribbon, click the Voxel Layer tab, and in the Elevation group, for Offset, type 700000.00.

    Offset value set to 700000.00

  3. In the Contents pane, turn on the World Ocean Reference and World Ocean Base layers.

    Voxels offset to display on top of basemap

  4. On the Voxel Layer tab, in the Drawing group, click Symbology.
  5. In the Symbology pane, check the box next to Data Filter. For Min, type 23.00, and for Max, type 29.00.

    Data Filter values

    The value range of 23 to 29 is your range of interest, so you'll set the same values for the color range, located under the histogram.

  6. For Color range, set Min to 23.00, and set Max to 29.00.

    Color range values

    Once you set the values for the color range, the volume renders in a more aesthetically pleasing manner.

    Voxels display in a different color range.

    The legend labels in the Contents pane do not automatically update when you change the data filter and color range values. It is good practice to modify the labels in the legend so that it accurately represents the data that is displayed.

  7. In the Symbology pane, for Label, change .69 to 23 and change 30.33 to 29.

    Labels modified to match data range values

    Now, the legend labels in the Contents pane match the data range.

    Updated legend

    Next, you'll display the coral reefs in the area and see how they align with the temperatures between 0 and 60 meters in depth.

  8. In the Contents pane, turn on the Coral reef areas layer.
  9. In the Contents pane, turn the emu_layer_australia layer off and on to view the coral reef polygons.

    Coral reef areas

    Some of the largest reefs are in regions that are already touching the peak temperature.

  10. Using the Explore tool, click some of the coral features to see the related coral attributes.

    Coral reef attributes

    Once you identify areas where bleaching is more likely, you can determine the types of coral that will be affected.

  11. Close the Pop-up window, turn off the Coral reef areas layer and turn on the emu_reef_australia layer.

You've created a horizontal slice that contains the voxels of interest for the depth range of 0 to 60 meters, set a data filter and symbolized the voxels appropriately for visualization. Next, you'll look at salinity in the coral reefs, where combined effects of high temperature and low salinity bleaching have endangered the reefs.

Analyze salinity and temperature variables

Now, you'll compare multiple variables in the voxel data, specifically salinity and temperature, and juxtapose them against other layers for visual interpretations. The goal is to reveal areas where extreme values of salinity and temperature are interacting to create bleaching conditions.

Explore sea water salinity

You initially symbolized the voxel layer using a variable for sea water temperature. Another important factor in coral bleaching is salinity, or the saltiness or amount of salt dissolved in the water. You'll visualize the voxels using the salinity variable and focus on areas that have a salinity less than 32 parts per million (ppm), which is ideal for coral bleaching.

  1. In the Contents pane, ensure the emu_reef_australia layer is selected.
  2. On the ribbon, click the Voxel Layer tab, and In the Variable section, for Variable, click the drop-down arrow and select sea_water_salinity.

    Variable set to sea_water_salinity

    The voxels render using the sea_water_salinity variable.

    Voxels displayed using salinity

  3. On the ribbon, on the Voxel Layer tab, click Symbology.
  4. In the Symbology pane, check the Data Filter check box.

    The data filter anchors are set to extreme ends of the histogram, and you can see that the sea’s salinity ranges from 34.16 to 35.39. However, this is the significant data range, or data within a certain number of standard deviations of the mean (as seen in the histogram).

  5. In the Symbology pane, click More, and uncheck Show Significant Data Range.

    Show Significant Data Range option

  6. In the histogram, drag the slider for Min all the way to the left side until it stops. Drag the slider for Max all the way to the right.

    Slider for Min and Max dragged all the way to the ends

    When you turn off the significant data range, you see that the complete data ranges from 27.05 to 37.29.

    NOAA has estimated that typically, corals do not thrive under a salinity of 32 ppm. Low salinity can lead to freshwater bleaching, a phenomenon significantly understudied compared to high-temperature bleaching.

  7. In the histogram, drag the slider (or type the value) for Max so that its value is 32.

    Max value set to 32

    When you set the Max value to 32, the voxel layer reveals areas lower than the salinity threshold.

    Areas with target salinity

    Next, you'll view the coral reef areas that overlap with areas where the salinity is optimal for coral bleaching.

  8. Turn on the Coral reef areas layer and zoom to the Bay of Bengal area.

    Overlap between threshold salinity and reefs

    There are a few coral reefs that overlap with areas of low salinity. Notably, the coral reefs in the Bay of Bengal and the Andaman sea have the most overlap.

Now that you have located areas with overlapping corals and salinity threshold of 32 ppm, you'll create isosurfaces to further your analysis.

Create isosurfaces

Next, you'll create isosurfaces for specific salinity values that you'll use to compare with temperature. An isosurface is a subset of voxels where the value is the same everywhere. You want to visualize where the salinity becomes precarious for coral bleaching, so you'll create four different isosurfaces, each containing only a single salinity value.

  1. In the Contents pane, under the emu_reef_australia layer, click Surfaces.

    Surfaces option

  2. Expand Surfaces, right-click Isosurfaces and choose Create Isosurface.

    Create Isosurface option

  3. In the Voxel Exploration pane, for Name, type Salinity – 32. In the Value field, type 32 and press Enter.

    Name set to Salinity 32 and Value set to 32

    The isosurface for the salinity value of 32 is added to the scene and symbolized using a dark blue color.

    Isosurface with a value of 32

    Next, you'll create three more isosurfaces for different salinity values in the same manner.

  4. Create three more isosurfaces by right-clicking Isosurfaces and choosing Create Isosurface with the following parameters:

    To see the name of a color, point to the color.

    • For the first surface, for Name, type Salinity – 31. For Value, type 31. For Color, choose Lapis Lazuli.
    • For the second surface, for Name, type Salinity - 30.5. For Value, type 30.5. For Color, choose Yogo Blue.
    • For the third surface, for Name, type Salinity - 29. For Value, type 29. For Color, choose Sugilite Sky.

    All isosurfaces display in the scene.

    The isosurfaces display on the scene and show the varying salinity values by color. Each color represents a different value, and for each color, all values are the same.

Create and visualize water temperature sections

Next, you'll change the variable for sea water temperature and create visual analytic elements with it, so you can juxtapose the two most important factors that determine coral bleaching.

  1. In the Contents pane, click the emu_reef_australia layer to select it.
  2. On the ribbon, click the Voxel Layer tab and in the Variable group, change the variable to sea_water_temperature.
  3. In the Contents pane, if necessary, click the Surfaces button to turn it on.
  4. Under Surfaces, right-click Sections and choose Create Section.

    Create Section

    The Slice and Section toolbar appears at the bottom of the scene. Because you chose to create a section, the slicing options are disabled, the section options are enabled, and the Vertical Section tool is selected.

    Vertical Section tool

    You'll create temperature sections in the Bay of Bengal and the Andaman sea areas where the salinity isosurfaces overlap with the coral reef areas.

  5. In the scene, click where the isosurfaces and the coral reef layer overlap to begin a section.

    Initial point for the section


    You can quickly access pan and zoom tools while you are creating your sections by pressing and holding the C, X, or Z keys. This allows you to create your sections and pan and zoom on the fly, without changing tools on the ribbon.

  6. Move your pointer south and click a second time to finish the section. Once you click a second time within the voxels, the section is added.

    First vertical section

  7. In the Contents pane, right-click Sections and choose Create Section.
  8. Draw another vertical section east of the one you just drew.

    Two vertical sections completed

  9. Create two more sections from west to east across the existing ones.

    All vertical sections completed

    Next, you'll change the variable back to salinity. You will ensure that the temperature sections will remain visible when you change the variable so you can compare temperature and salinity. You'll lock the sections so that they retain the value of the temperature in their area, rather than switching to salinity when you change the variable.

  10. In the Contents pane, right-click each section and choose Lock Section.

    Lock Section

    When you lock the sections, they are moved into the Locked Sections layer.

    Locked Sections layer

  11. In the Contents pane, select the emu_reef_australia layer. On the Voxel Layer tab, change the variable to sea_water_salinity.

    The view shows sections representing temperature juxtaposed against isosurfaces representing salinity.

  12. Using the Explore tool, tilt the scene so that you can view the isosurface and locked sections together.

    Isosurfaces for salinity displayed with temperature sections

    The sections represent sea water temperature, but the current color ramp does not show enough of a difference for a proper visual analysis. You'll modify the color ramp to get a better visualization.

  13. In the Contents pane, right-click emu_reef_australia and choose Symbology.

    You've filtered out values on the right, and the unfiltered values are on the left. This is clear by the gray portion of the histogram. You want the color ramp to vary over the unfiltered values.

  14. In the Symbology pane, change the variable to sea_water_termperature.
  15. In the histogram, in the color range bar, drag the slider for the minimum and maximum values to the right until you see color change in the scene. Stop when the colors look good to you.

    Sliders dragged to adjust symbology

  16. In the Symbology pane, change the variable back to sea_water_salinity.

    In the scene, it is easier to distinguish areas where the areas of higher salinity and temperature intersect.

    Areas where higher salinity and temperature intersect

    The areas where the salinity isosurfaces and the temperature sections overlap are more prone to coral bleaching.

You've downloaded an ArcGIS Pro project and multidimensional voxel layer containing ocean variables. You explored and symbolized the voxel layer using different variables, created isosurfaces and sections, and located areas where temperature and salinity combine to produce an optimal environment for coral bleaching to occur.

This unfolding crisis in coral reefs will have acute social, environmental, economic, and cultural outcomes for reef-dependent societies. There is consensus that these solutions will have to be examined through an interdisciplinary lens while being aware of a rapidly closing window.

Once you've identified the areas most at risk of bleaching, conservation efforts must be implemented most aggressively in those ecosystems. Conservation relies on strong governance, but is often at the mercy of private interests. Many resource-deprived societies are not able to control their own well-being, let alone their environment's, even though their livelihood depends on it. Alleviation of poverty and protecting these societies from the devastating effects of globalization, privatization, and economic deregulation would be a necessary first step in many areas. When combined with government-sponsored educational initiatives such as teaching sustainable fishing, and providing community-building employment schemes, these strategies have successfully increased the rates of employment and improved sanitation while decreasing poverty, malnutrition, and pollution. Longer-term solutions should enhance equality in underprivileged classes in developing countries by providing access to jobs.

The experts at the Reef Restoration and Adaptation Program (RRAP) call for exceptional levels of coordination of science, management and policy, and open engagement with society. Concern regarding the health of coral reefs has inspired numerous international policy interventions and partnerships. In 2014, the United Nations Environment Programme and Regional Seas Conventions and Action Plans initiated a Global Coral Reef Partnership to support countries to deliver internationally agreed upon coral reef commitments through ecosystem-based management of coral reefs.

You can find more lessons in the Learn ArcGIS Lesson Gallery.