Exercise Title: Managing/Repatriating Secchi Disk Depth Data from the
Worldwide Ocean Optics Database (WOOD)
Abstract: In this
exercise you'll visit the Worldwide Ocean Optics Database, a huge
compendium of data at Johns-Hopkins University. From the over 30
variables you will download a Secchi disk dataset for Liberia, edit it
for use in Saga, and then visualize it as a gridded product in Saga.
Preliminary Reading (in
OceanTeacher, unless otherwise indicated):
|1. Open the WOOD homepage and
take a little to read about it. It is a huge compendium of all the
known quality optics data they editor could find. Unfortunately it is
not funded now, and could disappear unless a good agency takes
responsibility. Such as the US NODC.
|2. Some things to
know about WOOD:
- The 30+ datasets range from huge collections of many thousands of
measurements (e.g. Secchi disk depths) to very difficult-to-measure
parameters represented by only a few stations.
- It will be surprising to many students how many variables have been
identified in the field of marine optics, a result of the many different
factors controlling the sunlight field in the sea (particles, dissolved
organic and inorganic substances, plankton, etc.).
- The internal storage format for WOOD data ("bindary STE") is not
delivered as a product here, but conversion software is available
- Data that we can download is in ASCII tables that are not complex
but tedious to examine. Depths and measurements are listed
separately in data segments, and the segments are variable in length.
Separating profiles of variables from each segment into easy-to-use
files would be a big programming job.
- The WOOD will not tell you when your request has exceeded the size
of textfiles that it can deliver. If you want to get a large area,
say larger than the Liberia AOI, then perform some experiments to see
how large a sub-area can be before data are lost. You must reduce
your requests back down to a manageable area. For example, it was
discovered that if you want to download all global Secchi data, then it
must be done in bands of latitude no larger than about 2-3 degrees.
So be very careful working with large downloads.
- We will work only with the Secchi data here, because there is only
one measurement at each location, and no profiles. Hence, no
- Some important standard hydrographic data, such as salinity,
temperature, nutrients, are mixed in with the data.
- There are 2 data interfaces, a graphic one and a text-based one.
We'll use the text one below, because some PCs cannot run the graphical
interface, due to scripting limitations and other security blocks.
|3. On the main page, click on
DATA LOCATIONS to explore some of the areas where data are available.
This is just for your information.
|4. Now click on
|5. Enter the necessary data
to register. Then click CONTINUE TO DATA.
|6. You can select the
JAVA-BASED GUI, but the author recommends WEB-BASED TEXT QUERY.
|7. At the top of this long
form, you can enter the spatial and temporal parameters for your desired
For the LATITUDES and LONGITUDES, enter values that extend at least
1 degree outside the Liberia area of interest, as you see here. You
can make other selections however you wish.
|8. Select for now the SECCHI
DEPTH. You can come back later and look at other data on your own
|9. For OUTPUT FIELDS, select
MULTIPLE QUERIES: STANDARD just for simplicity.
For OUTPUT FORMAT, select
TEXT OUTPUT, NO FORMATTING
|10. Then click SUBMIT QUERY.
|11. This large text table
appears. There are several problems to note:
- The multi-line header will not work with many programs, so it must
- There are many different spacings between the data values, ranging
from 1 to 3 or 4. This also won't work with many programs, so they
must be simplified.
|12. Save the
textfile to your DATA > OCEAN > WOOD folder with the name
|13. Open the file in your
best ASCII editor, such as Context. Then remove the extra leading
header lines, as you see here.
|14. Now inside the remaining
text, do these tasks:
- Simplify the variable names in the header, as you see here, removing
any spaces. There are exactly 12 columns of values and 12 distinct
variable names. Each space
in the header begins a new name.
- PROF_NUM is one name, not two because _ is not a space
- Eliminate extra spaces in the data table, with the REPLACE function
in your editor
- REPLACE 4 spaces with 1 space
- REPLACE 3 spaces with 1 space
- REPLACE 2 spaces with 1 space
Now you can save the table, probably with the same name to save space.
|15. Run Saga. Then
select MODULES > IMPORT/EXPORT-TABLES > IMPORT TEXT TABLE.
- TABLE - Set to CREATE
- FILE CONTAINS HEADLINE - Check
- SEPARATOR - Space
- FILE - Select the edited textfile you just created
Then click OK.
|16. After the new table
appears in Saga, you can inspect it with SHOW to make sure that all 12
variables are present, and that everything looks OK.
|17. First we need to make a
shape from the table. Select MODULES > SHAPES-POINTS > CONVERT TABLE TO
POINTS. Then make these selections:
- POINTS - Set to CREATE
- TABLE - Select the loaded table
- X - Select LON
- Y - Select LAT
- Z - Select SECCHI
Then click OK.
|18. Now you should have both
the table and the new point shape, as you see here.
|19. You can use SHOW to see
the point shape locations.
|20. But to show the values
for each data point, look at the SETTINGS for the shape, and make these
- COLORS > TYPE > GRADUATED COLORS
- ATTRIBUTE > SECCHI
|21. Click on COLORS to see
this control. The COUNT control on the right lets you select 100.
The PRESETS control on the right lets you select the palette (see next
|22. Here is a good palette
for Secchi data, because it will go from GREEN (small values) to BLUE (large
values). This is exactly how Secchi values vary with apparent ocean
|23. So after all the changes,
you have a graduated colors palette of 100 values, ranging from green to
blue, based on the Secchi depths
In the lower right corner, click on
SETTINGS > APPLY to see the result..
|24. And here are the Secchi
data, colored by values. You can easily see the transition from green
(near-shore) to blue (offshore).
|25. Click on the point shape
and select HISTOGRAM to see this distribution of values. There is a
hint of 2 overlapping distributions, perhaps reflecting seasonality?
To do any gridding, you'll need at least one dummy grid. Go ahead and
load the 0.5-degree dummy for Liberia, and any others you want to experiment
|27. Now, let's quickly grid
these points to see the overall pattern, smoothed out.
Select MODULES >
GRID-GRIDDING > INVERSE DISTANCE WEIGHTED, then make these selections:
- POINTS - Point shape you just made
- ATTRIBUTE - Secchi
- TARGET GRID - Grid (Saga will ask Which one? later)
- SEARCH RANGE - Local
- MAXIMUM POINTS - Try 10; experiment later
- DISTANCE WEIGHTING - Try inverse distance to a power; experiment
- POWER - Try 2; experiment later
Then click OK.
|28. When asked which grid to
use for the work, select the 0.5-degree dummy grid for Liberia.
|29. Make the same settings
for this new grid that you used to visualize the point shape.
|30. Here you can see the
final grid, with the WORLD BORDERS shape to cover the stray grid cells on
land. There are some strange values in the deep ocean, but overall the
result is quite nice.
- The expected lower values along the coast correspond to higher
chlorophyll in nutrient-rich, fresher waters.
- The generally decreased values in the lower right must be associated
with nutrient regeneration mechanisms in the Gulf of Guinea (i.e. higher
|31. Make sure to
take the time to save this final grid in the folder PRODUCTS > SAGA > GRIDS
with the name secchi_liberia_all_wood_0p5deg.sgrd