App2truedipG software

Apparent to true dip restoration with graphics


Purpose

  1. To restore strike and dip of planar structures measured as two apparent dips along known azimuth. Useful to process core structural measurements such as those made on ODP legs.
  2. To plot the restored structure on a core section plot like that of ODP Visual Core Description templates (VCD); this allows to compare the restored measurements with the visual description sketch.
  3. To displays statistics (histograms and roses).

History

This program was originally designed to restore strike and dip of planar structures measured on ODP Leg 176 cores. It relied on methods used during ODP Leg 147 and previous hard rocks legs where apparent dip measurements are either perpendicular or parallel to the saw cut and may be combined with a strike measurement. It was then modified to process non perpendicular apparent dip measurements during Leg 180. Graphic outputs were later added to allow a visual verification of the restored data.

Method

Measurements

Two types of measurements are considered:
  1. apparent dip measurements, typically made along the saw cut or the core periphery, and
  2. strike measurements, made in a section perpendicular to the core axis
These measurements are then combined as either of:
  1. two apparent dips with their directions, or
  2. one apparent dip with its direction and one strike direction
to compute the intrinsic dip and dip direction.

Computations

The algorithm includes input validation and relies on the formula:

tan (Dipa) = cos (Azt-Aza) * tan (Dipt)

where

Two independent measurements yield two equations that are solved for the two variables Dipt and Azt.

Input and Output

The program is designed with the idea of creating the input file by extracting the relevant data from a typical structural spreadsheet and of pasting back the computation results into the same spreadsheet. Alternatively, the input can be entered on the keyboard and the output displayed on screen: this is useful when only a few data need be processed.

Input

Input source

Input can be read

Input file

The file follows a standard structure with:

  1. a standard 2 lines header where the title in the first line can be used to indicate the hole and core number, followed by
  2. standard data lines

Exporting the input file from a spreadsheet requires specific procedures.

Input formats

When apparent dip measurements are either perpendicular or parallel to the saw cut, conventionally oriented E-W, the apparent dip direction can be represented by either of N, E, S, W. This results in the alphanumerical format (#1) detailed below. Non perpendicular apparent dip measurements require a numerical dip direction format, also detailed below (#2). Section plots require section identification to change page upon reaching a new section and feature depth. This results in an extension of the above formats into formats (#3) and (#4). As a consequence, four input formats are available:

  1. Alphanumerical-2dips:
    the dip directions are given by the characters E, W, N, S
  2. Numerical-2dips:
    the dip directions are given as numbers (in degrees)
  3. Alphanumerical-section-depth-2dips:
    same as Alphanumerical-2dips but with section number and feature depth within the section
  4. Numerical-section-depth-2dips:
    same as Numerical-2dips but with section number and feature depth within the section

These formats cannot be mixed in the same file. Corresponding data lines are detailed below.

  1. Alphanumerical-2dips format

    There are 2 possible input data line format that correspond to two different combinations of measurements.

    Column:1234Comments
    Type:realcharacterrealcharacter
    Units:degreesnonedegreesnone
    Case 1: two apparent dips
    Data:apparent dip 1dip direction 1 apparent dip 2dip direction 2
    Range:]0, 90]'E','W'[0, 90]'N','S'
    acceptable data: -
    16'E'50'S'
    16'W'50'S'
    16'E'50'N'
    16'W'50'N'
    16'W'0'N'
    rejected data: explanation
    16'N'50'E'the E-W data must be first
    0 'W' 50'S' zero dip data should be entered either second, or as strike
    (as in case 2 below: 50 'S' 270 'A')
    Case 2: one apparent dip + one strike direction
    Data:apparent dip 1dip direction 1strikestrike indicator
    Range:]0, 90]'E','W','N','S'[-360, +360]'A'
    acceptable data:
    16'E'50'A'
    16'W'230'A'
    16'S'50'A'
    16'N'230'A'
    50'S'270'A'
    data that will be corrected: explanation
    16'W'50'A' The strike will be corrected to 230

    Sample file: appdip.test.in1.txt

  2. Numerical-2dips format

    The only restriction is not to put zero dip as the first data.

    Column:1234Comments
    Type:realrealrealreal
    Units:degreesdegreesdegreesdegrees
    Data:apparent dip 1dip direction 1apparent dip 2dip direction 2
    Range:]0, 90][-360, +360][0, 90][-360, +360]
    acceptable data:-
    169050180
    1627050180
    1690500
    16270500
    1627000
    rejected data: explanation
    027050180 zero dip data should be entered second

    Sample file: 1109D47R2.in2.txt

  3. Alphanumerical-section-depth-2dips format

    There are 2 possible input data line format that correspond to two different types of measurements.


    Column:123456Comments
    Type:integerreal realcharacterrealcharacter
    Units:nonecm degreesnonedegreesnone
    Case 1: two apparent dips
    Data:section #depth apparent dip 1dip direction 1apparent dip 2dip direction 2
    Range:any[0, 150] ]0, 90]'E','W'[0, 90]'N','S'
    acceptable data:
    15016'E'50'S'
    18016'W'50'S'
    21016'E'50'N'
    211016'W'50'N'
    214016'W'0'N'
    rejected data: explanation
    310016'N'50'E' the E-W data must be first
    3130 0 'W' 50'S' zero dip data should be entered either second, or as strike
    (as in case 2 below: 50 'S' 270 'A')
    Case 2: one apparent dip + one strike direction
    Data:section #depth apparent dip 1dip direction 1 strikestrike indicator
    Range:any[0, 150]]0, 90]'E','W','N','S' [-360, +360]'A'
    acceptable data: -
    15016'E'50'A'
    18016'W'230'A'
    21016'S'50'A'
    211016'N'230'A'
    214050'S'270'A'
    incorrect data that will be corrected: explanation
    310016'W'50'A' The strike will be corrected to 230

    Sample file = appdip.test.in3.txt

  4. Numerical-section-depth-2dips format

    The only restriction is not to put zero dip as the first data.

    Column:1234 56Comments
    Type:integerreal realrealrealreal
    Units:nonecm degreesdegreesdegreesdegrees
    Data:section #depth apparent dip 1dip direction 1 apparent dip 2dip direction 2
    Range:any[0, 150] ]0, 90][-360, +360] [0, 90][-360, +360]
    acceptable data:
    150169050180
    1801627050180
    2101690500
    211016270500
    21401627000
    rejected data: explanation
    3130027050180 zero dip data should be entered second

    Sample file: 1109D47R2.in4.txt

Output

Output destination

Output can be directed

Output file

The file follows a standard structure with:

  1. a standard 2 lines header, followed by
  2. standard data lines

Output formats

Data lines repeat the input followed by the computed strike and dip, and a explanation if a problem in the input data precluded computation. The strike is normalised so that dip is to the right, i.e. so that adding 90 degrees to it gives the dip direction. The fields are tab-delimited so as to facilitate importation and pasting the computation results into a structural spreadsheet. Four different output formats correspond to the selected input format. Corresponding data lines are detailed below.

  1. Alphanumerical-2dips format

    Column:1234567
    Type:realcharacterrealcharacterreal realcharacter string
    Units:degreesnonedegreesnone degreesdegreesnone
    Case 1: two apparent dips
    data line: 1st apparent dip input 1st apparent dip direction input 2nd apparent dip input 2nd apparent dip direction input absolute strike (***) absolute dip (**)
    Range:]0, 90]'E','W'[0, 90]'N','S' [0, +360][0, 90]
    Case 2: one apparent dip + one strike direction
    data line: 1st apparent dip input 1st apparent dip direction input strike input (*) 'A' absolute strike (***) absolute dip (**)
    Range:]0, 90]'E','W','N','S'[-360, +360]'A' [0, +360][0, 90]

    (*) : Eventually corrected so that dip is to the right
    (**): Eventual explanation of the data problem that precluded computation
    (***): Such that dip is to the right
  2. Numerical-2dips format

    Column:1234567
    Type:realrealrealreal realrealcharacter string
    Units:degreesdegreesdegreesdegrees degreesdegreesnone
    data line: 1st apparent dip input 1st apparent dip direction input 2nd apparent dip input 2nd apparent dip direction input absolute strike(***) absolute dip (**)
    Range ]0, 90] [-360, +360] [0, 90] [-360, +360] [0, +360] [0, 90]

    (**): Eventual explanation of the data problem that precluded computation
    (***): Such that dip is to the right
  3. Alphanumerical-section-depth-2dips format

    Column:1234567 89
    Type:integerreal characterrealcharacterreal realcharacter string
    Units:nonecm degreesnonedegreesnone degreesdegreesnone
    Case 1: two apparent dips
    data line:section #depth 1st apparent dip input 1st apparent dip direction input 2nd apparent dip input 2nd apparent dip direction input absolute strike (***) absolute dip (**)
    Range:any[0, 150] ]0, 90]'E','W'[0, 90]'N','S' [0, +360][0, 90]
    Case 2: one apparent dip + one strike direction
    data line:section #depth 1st apparent dip input 1st apparent dip direction input strike input (*) 'A' absolute strike (***) absolute dip (**)
    Range:any[0, 150] ]0, 90]'E','W','N','S'[-360, +360]'A' [0, +360][0, 90]

    (*) : Eventually corrected so that dip is to the right
    (**): Eventual explanation of the data problem that precluded computation
    (***): Such that dip is to the right
  4. Numerical-section-depth-2dips format

    Column:1234567 89
    Type:integerreal realrealrealreal realrealcharacter string
    Units:nonecm degreesdegreesdegreesdegrees degreesdegreesnone
    data line:section #depth 1st apparent dip input 1st apparent dip direction input 2nd apparent dip input 2nd apparent dip direction input absolute strike(***) absolute dip (**)
    Rangeany[0, 150] ]0, 90][-360, +360][0, 90][-360, +360] [0, +360][0, 90]

    (**): Eventual explanation of the data problem that precluded computation
    (***): Such that dip is to the right

Plots

Plots destination

Two distinct executables direct plots

Further details can be found in platform specific information for:

Statistics Plots

Histogram and rose plots of computed strike and dip can be produced (or disabled) at run time.

Section Plots

These plots are meant to verify the data by comparing the computed fault traces along the E-W saw cut with those on Visual Core Descriptions (VCDs). They can be disabled at run time. They require data that include section index and depth (format #3 & 4 defined above). A new page is generated for each new section, which is detected by a changing section number.

The plot can represent the saw cut of

  1. either the archive half of the core (E-W section with W to the right)
  2. or the working half of the core (W-E section with E to the right)
and follow either of two structural VCD models:
  1. VCDs used during Leg 180 (1109D47R2 sample)
  2. VCDs used during Leg 209 (1268A16R1 sample)

Example: Leg 180 Hole 1109D Core 47R section 2

Acknowledgments

The best parts of this work were stimulated by discussions with and suggestions from Chris MacLeod, Benoit Ildefonse, Bernard LeGall, & Veronique Gardien. I claim full ownership for the worst parts.

References

How to refer to this program

If results obtained with this program are published, it would be appreciated that they refer to:

Downloading and Installing

System independent: 11 files

  1. App2truedipG documentation (this file))
  2. Data files documentation
  3. Sample input file format 1: appdip.test.in1.txt
  4. Sample input file format 2: 1109D47R2.in2.txt
  5. Sample input file format 3: appdip.test.in3.txt
  6. Sample input file format 4: 1109D47R2.in4.txt
  7. VCD model 1: 1109D47R2.TIF
  8. VCD model 2: 1268A16R1.pdf
  9. Sample section plot VCD #1: 1109D47R2.sect.w1.pdf.
  10. Sample section plot VCD #2: 1109D47R2.sect.w2.pdf.
  11. Sample stastitics plot 1109D47R2.stat.pdf.

System dependent: 2 executables and 1 ReadMe

Applications and documents for various systems

Computer Processor Operating System Downloads Read Me !

Macintosh
PPC MacOS 7 - 9 app2truedip3.1-ps-ppc PostScript application
app2truedip3.1-qd-ppc QuickDraw application
MacOS Classic versions

Macintosh
PPC MacOS X.4 - X.5 app2truedip3.1-ps PostScript application
app2truedip3.1-qdx QuickDraw application
MacOS X versions

Macintosh
Intel i86 MacOS X.4 - X.5, X.6 with Rosetta app2truedip3.1-ps PostScript application
app2truedip3.1-qdx QuickDraw application
MacOS X versions

Revision history


🏠   Homepage Software maintained on this site Binaries archive Contact:   📪