Schema pde ; 

Attribute ident 
	String (4)
	Detail { unknown value } 
	;

Attribute year
    Integer(4)
    Detail { year of event }  
    ;

Attribute month	
    Integer(2)
    Detail { month of event }  
    ;

Attribute day	
    Integer(2)
    Detail { day of event }  
    ;

Attribute hour	
    Integer(2)
    Detail { hour of event }  
    ;

Attribute minute	
    Integer(2)
    Detail { minute of event }  
    ;

Attribute second	
    Integer(3)
    Detail { second of event times 10 }  
    ;

Attribute latitude	
    Integer(5)
    Units ( "degrees" )
    Detail { latitude of event * 1000 }  
    ;

Attribute north
    String(1)
    Detail { N or S for latitude } 
    ; 

Attribute longitude	
    Integer(6)
    Units ( "degrees" )
    Detail { longitude of event * 1000 }  
    ;

Attribute east
    String(1)
    Detail { E or W for longitude } 
    ; 

Attribute depth
    Integer(3)
    Units ( "kilometers" ) 
    Detail { depth of event } 
    ;

Attribute mb
    Integer(3)
    Detail { body wave magnitude } 
    ;

Attribute mbc
    String(2)
    Detail { MB comment } 
    ;

Attribute flag
    String (3)
    Detail { 
    Isoseismal map or fault plane solution: 
    FPS = fault plane solution
    BOT = fault plane solution and isoseismal map
    USE = isoseismal map in U.S. earthquakes
    PDE = isoseismal map in PDE or Monthly Listing } 
    ;

Attribute intensity
    String(1)
    Detail { maximum intensity: 1-9, X, E or T } 
    ;

Attribute diastrophic
    String(1)
    Detail { U=uplift/subsidence, or F=faulting } 
    ;

Attribute tsunami
    String (1)
    Detail { T or ? } 
    ;

Attribute seiche
    String (1)
    Detail { S or ? } 
    ;

Attribute volcanism
    String (1)
    Detail { V or ? } 
    ;

Attribute atectonic
    String (1)
    Detail { 
    non-tectonic source:
    E = known or suspected explosion
    I = collapse
    C = coal bump or rockburst in coal mine
    R = rockburst
    G = geyser activity
    M = meteoritic source
    L = lights or other visual phenomena
    O = odors  }
    ;

Attribute guided
    String (1)
    Detail { 
    guided waves in atmosphere/ocean 
    (T = t wave, A = acoustic wave, G = gravity wave, 
     B = both acoustic and gravity waves) } 
    ;

Attribute grn
    Integer(3)
    Detail { Flinn-Engdahl geographic region number } 
    ; 
    
Attribute ms
    Integer(2)
    Detail{ GS average surface wave magnitude * 10 } 
    ;

Attribute msz
    String (3)
    Detail { MSZ comment }
    ;

Attribute cultural
    String(2)
    Detail { Cultural effects flag: (H = heard, F = felt, D = damage, C = casualties) } 
    ;

Attribute magnitude
    Integer(3)
    Detail { Contributed magnitude * 100 }
    ;

Attribute contributor
    String(3)
    Detail { magnitude contributor -- blank if source is NEIS } 
    ;

Attribute ide
    String(1)
    Detail { IDE event flag }
    ;

Attribute depthquality
    String (1)
    Detail { Depth control/quality indicator: N, G, D, * or ? } 
    ;

Attribute hypoarrivals
    Integer(3)
    Detail { number of P or PKP arrivals used in hypocenter solution }
    ;

Attribute hypoquality
    String(1)
    Detail { 
    authority/quality indicator 
     (&, *, % or ?)
    PDE symbol      QED letter      meaning
       &                f           furnished (contributed) hypocenter
       %                n           single network solution
       *                s           starred (less reliable) solution
       ?                p           poor solution
     } 
    ;

Attribute localmag
    Integer(3)
    Detail { contributed local magnitude * 100 } 
    ;

Attribute localtype
    String(2)
    Detail { local magnitude type: ML, LG, RG, MD, CL, or MG } 
    ;

Attribute localcontrib
    String(3)
    Detail { local magnitude contributor -- blank if source is NEIS } 
    ;

Attribute lsep
    String(1)
    Detail { '<' left delimiter for hypocontrib } 
    ;

Attribute hypocontrib
    String(5)
    Detail { hypocenter contributor } 
    ;

Attribute rsep
    String(1)
    Detail { '>' right delimiter for hypocontrib } 
    ;

Attribute filler
    String(4)
    Detail { Trying to figure out what's wrong } 
    ;

Relation pde
    Separator ( "" ) 
    Fields ( 
    ident year month day hour minute second latitude north longitude east
    depth mb mbc flag intensity diastrophic tsunami seiche volcanism
    atectonic guided grn ms msz cultural magnitude contributor ide
    depthquality hypoarrivals hypoquality localmag localtype 
    localcontrib lsep hypocontrib rsep
    )
    Detail { Preliminary Determination of Epicenters from NEIC } 
    ;
