forms

advertisement
C GENERAL FORMS OF DATA FILES WITH LINES AND POINTS, RELATED TO 3-D
C SEISMIC MODELLING.
C
C BY LUDEK KLIMES, IVAN PSENCIK
C
C THE DATA FILES ARE DESIGNED TO SIMPLIFY THE DATA EXCHANGE BETWEEN
C VARIOUS PROGRAMS, ESPECIALLY FOR THE PURPOSES OF PLOTTING.
C
C THE DATA FILES ARE ASSUMED TO BE FORMATTED, SEQUENTIAL FILES, READABLE
C BY LIST-DIRECTED INPUT (FREE FORMAT). THUS THE ITEMS LIKE NUMBERS OR
C STRINGS SHOULD BE SEPARATED BY THE SEPARATORS LIKE SPACES OR COMMAS,
C AND ALL STRINGS SHOULD BE ENCLOSED IN APOSTROPHES. NULL VALUES MAY BE
C USED IN PLACE OF DEFAULT VALUES WHERE THE DEFAULT VALUES ARE DEFINED.
C
C IN THE DESCRIPTIONS OF INPUT DATA BELOW, EACH LOW-LEVEL NUMBERED
C PARAGRAPH INDICATES THE BEGINNING OF A NEW INPUT OPERATION (NEW READ
C STATEMENT). 'ITEMS' IN THE LIST OF INPUT VARIABLES ENCLOSED IN
C APOSTROPHES REPRESENT CHARACTER STRINGS ENCLOSED IN APOSTROPHES.
C OTHERWISE, IF THE FIRST LETTER OF THE SYMBOLIC NAME IN THE LIST OF
C INPUT VARIABLES IS I-N, THE CORRESPONDING VALUE IN INPUT DATA IS
C INTEGER, OTHERWISE, THE INPUT PARAMETER IS OF THE TYPE REAL.
C / IN THE LIST OF INPUT VARIABLES INDICATES AN OBLIGATORY SLASH.
C THE SLASH MAY ALSO BE USED INSTEAD OF DEFAULT VALUES. THE SLASH AT
C THE END THE LAST LINE OF EACH INPUT IS OBLIGATORY BECAUSE IS INTENDED
C FOR THE COMPATIBILITY WITH VARIOUS EXTENSIONS OF THE FILE FORMS.
C
C.......................................................................
C
C FILE FORM 'LINES' (OR BRIEFLY 'LIN'):
C
THE FILE STRUCTURE IS DESIGNED TO STORE THE LINES SITUATED IN 3-D
C
(AND ALSO 2-D) SPACE. THESE LINES MAY REPRESENT THE INTERSECTIONS
C
OF INTERFACES WITH GIVEN 2-D SECTIONS, VELOCITY ISOLINES, RAYS,
C
RIVERS, CONTOURS OF LANDS, LAKES, OR CITIES, COORDINATE LINES AND
C
GRIDS, DIAGRAMS OF FUNCTIONS OF ONE VARIABLE (E.G. TRAVEL-TIME
C
CURVES), ISOLINES OF FUNCTIONS OF TWO VARIABLES, AXES, SCALES AND
C
OTHER PARTS OF FIGURES, ETC.
C
EACH LINE STARTS WITH A STRING THAT MAY CONTAIN THE NAME OR
C
DESCRIPTION OF THE LINE. THE STRING MAY BE SUPPLEMENTED WITH THE
C
COORDINATES OF THE REFERENCE POINT WHICH MAY, E.G., CONTROL THE
C
EVENTUAL PLOTTING OF SOME PART OF THE STRING. THEN THE POINTS OF
C
THE LINE FOLLOW. SINCE THE LINES OF ZERO LENGTH ARE ALLOWED, THIS
C
DATA STRUCTURE MAY ALSO BE USED TO STORE THE DISCRETE POINTS, BUT
C
EACH POINT SHOULD BE FOLLOWED BY THE ROW CONTAINING SLASH. THAT
C
IS WHY ALSO THE SPECIAL FILE FORM 'POINTS' HAS ALSO BEEN PROPOSED,
C
SEE THE NEXT FILE FORM BELOW.
C FILE STRUCTURE:
C
THE FILE CONSISTS OF ITS HEADER (1), LINES (2), AND THE
C
END-OF-DATA IDENTIFICATION (3).
C (1) TEXTS - ONE TO SEVERAL LINES READ BY A SINGLE READ STATEMENT:
C
NONE TO SEVERAL STRINGS TERMINATED BY / (A SLASH).
C
IT IS NOT RECOMMENDED TO WRITE TOO MANY STRINGS (E.G. MORE THAN
C
20) INTO THIS FILE SECTION. ON THE OTHER HAND, THE PROGRAM
C
READING THE FILE SHOULD READ AT LEAST 20 STRINGS, BY THE SINGLE
C
READ STATEMENT. A BLANK STRING FOLLOWED BY A NON-BLANK ONE IS
C
ALLOWED BUT NOT RECOMMENDED. THE STRINGS MAY BE USED AS THE NOTES
C
ABOUT THE DATA OR FILE ORIGIN, NATURE, VERSION, ETC., AND NEED NOT
C
BE TAKEN INTO ACCOUNT BY THE READING PROGRAM. ON THE OTHER HAND,
C
IF THE READING PROGRAM IS ABLE TO INDENTIFY WITHIN THE STRINGS
C
SOME KIND OF INFORMATION WRITTEN ACCORDING RULES SPECIFIC TO THE
C
PROGRAM, THE STRINGS MAY BE USED TO TRANSFER VARIOUS KINDS OF
C
INFORMATION BETWEEN THE SPECIFIC PAIRS OF APPLICATIONS.
C
DEFAULT FOR ALL STRINGS: ' ' (A BLANK STRING).
C
FIRST EXAMPLE:
C
'STRING1'
C
.
C
.
C
.
C
'STRINGM'
C
/
C
SECOND EXAMPLE:
C
/
C
THIRD EXAMPLE:
C
'STRING1' 'STRING2' 'STRING4' 'STRING5' /
C
FOURTH EXAMPLE:
C
'STRING1' 'STRING2'
C
/
C (2) FOR EACH LINE THE TRIPLET OF SUBSECTIONS (2.1), (2.2) AND (2.3):
C
GENERAL EXAMPLE (ONE LINE):
C
(2.1)
'TEXT' X1 X2 X3 /
C
(2.2)
X1(1) X2(1) X3(1) /
C
X1(2) X2(2) X3(2) /
C
.
C
.
C
X1(N) X2(N) X3(N) /
C
(2.3)
/
C (2.1) REFERENCE TEXT AND OPTIONAL REFERENCE POINT (SINGLE READ
C
STATEMENT) - ONE OF THE FOLLOWING POSSIBILITIES (A) AND (B):
C
(A)
'TEXT',X1,X2,X3,/
C
(B)
'TEXT',/
C
'TEXT'... ARBITRARY TEXT RELATED TO THE LINE. THE STRING MAY
C
CONTAIN THE NAME OR DESCRIPTION OF THE LINE. IT MAY BE
C
USED AS THE NOTES ABOUT THE LINE, BUT OFTEN CONTAINS SOME
C
INFORMATION TRANSFERRED BETWEEN THE SPECIFIC PAIRS OF
C
PROGRAMS, ENCODDED ACCORDING TO THE RULES SPECIFIC TO THE
C
PROGRAMS. ESPECIALLY, THE STRING IS ASSUMED TO BE USED
C
AT SELECTING ONLY SOME LINES FOR PLOTTING ACCORDING TO THE
C
GIVEN SELECTION KEYWORDS OR TEXTUAL MASKS, OR TO ENABLE
C
PLOTTING THE LINES WITH DIFFERENT ATTRIBUTES (COLOUR, LINE
C
WIDTH, LINE TYPE, ETC.) ACCORDING TO FITTING THE TEXT BY
C
THE GIVEN SELECTION MASKS. A SELECTED PART OF THE STRING
C
(ACCORDING TO ANOTHER KEYWORD OR MASK) MAY ALSO BE DRAWN
C
AS THE TEXT DESCRIBING THE LINE. ALSO THE NUMERICAL
C
INFORMATION CONCERNING THE LINE (E.G. THE ISOVALUE OF THE
C
ISOLINE) MAY BE CONTAINED WITHIN THE STRING AND IDENTIFIED
C
BY A KEYWORD.
C
THE STRING MAY BE BLANK BUT THE DEFAULT MUST NOT BE USED,
C
BECAUSE THE DEFAULT IDENTIFIES THE END OF DATA. THE
C
DEFAULT VALUE IN THE READING PROGRAM SHOULD BE SELECTED IN
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
SUCH A WAY THAT IT SHOULD NOT MATCH ANY STRING DESCRIBING
A LINE. FOR INSTANCE, THE STRING COMPOSED OF SEVERAL '$'
CHARACTERS MAY BE A REASONABLE DEFAULT (E.G. '$$$$').
THUS IT IS NOT RECOMMENDED TO USE THE '$' CHARACTER WITHIN
THE STRINGS IDENTIFYING LINES.
EXAMPLES OF STRINGS GENERATED BY SOME PROGRAMS:
'SECT 12, SURF
2'
(SEC, V.4.10)
'SECT 12, BLOC
3, ISOL
8, VP = 5.000'
(SEC, V.4.10)
'SECT 12, BLOC
3, ISOL
4, VS = 3.000'
(SEC, V.4.10)
'WAVE
1, RAY 112'
(CRTRAY, V.4.10)
'RAY 112'
(NET, V.2.00)
'RAY 112
TO RECNAM'
(NET, V.2.00)
'RAY 112 FROM SRCNAM'
(NET, V.2.00)
'RAY 112 FROM SRCNAM TO RECNAM'
(NET, V.2.00)
HERE 'SRCNAM' IS THE NAME OF THE SOURCE POINT AT WHICH THE
RAY STARTS AND 'RECNAM' IS THE NAME OF THE RECIVER AT
WHICH THE RAY TERMINATES (NAMES UP TO 6 CHARACTERS LONG
ARE PREFERABLE).
X1,X2,X3... COORDINATES OF THE REFERENCE POINT WHERE THE TEXT CAN
BE DRAWN. IN 2-D, THE THIRD COORDINATE X3 NEED NOT BE
SPECIFIED, AND ITS DEFAULT VALUE SHOULD ALWAYS BE 0.
THE REFERENCE POINT NEED NOT BE SPECIFIED. A MISSING
REFERENCE POINT MAY BE IDENTIFIED BY THE READING PROGRAM
ACCORDING TO THE DEFAULT OF X1 UNLIKE TO APPEAR WITHIN THE
THE INPUT DATA, E.G. -999999. MISSING COORDINATES OF THE
REFERENCE POINT MAY ALSO BE USED TO SWITCH BETWEEN DRAWING
AND DROPPING THE TEXTS DESCRIBING THE LINES. A PROGRAM
MAY DRAW ALL TEXTS, DRAW ONLY TEXTS WITH THE REFERENCE
POINT GIVEN, OR DRAW NO TEXTS.
(2.2) POINTS OF THE LINE - FOR EACH POINT OF THE LINE (2.2.1):
ANY NUMBER OF POINTS MAY BE SPECIFIED, INCLUDING NONE.
(2.2.1) COORDINATES OF THE I-TH POINT OF THE LINE:
X1(I),X2(I),X3(I),/
X1(I),X2(I),X3(I)... COORDINATES OF THE I-TH POINT OF THE LINE.
IN 2-D, THE THIRD COORDINATE X3(I) NEED NOT BE SPECIFIED,
AND ITS DEFAULT VALUE SHOULD ALWAYS BE 0. THE END OF THE
LINE IS IDENTIFIED BY THE READING PROGRAM ACCORDING TO THE
DEFAULT OF X1(I) UNLIKE TO APPEAR WITHIN THE INPUT DATA,
E.G. -999999. THUS, SUCH A VALUE SHOULD BE AVOIDED IN THE
DATA.
POSSIBLE EXTENSIONS: IN PLACE OF THE TERMINATING SLASH, SEVERAL
ADDITIONAL NUMBERS TERMINATED BY A SLASH MAY BE WRITTEN.
THE MEANING OF THIS NUMBERS IS SPECIFIC TO THE
APPLICATIONS.
EXAMPLE: POSSIBLE EXTENSIONS (A) OR (B) FOR RAYS:
(A)
X1(I),X2(I),X3(I),TT(I)/
(B)
X1(I),X2(I),X3(I),TT(I),P1(I),P2(I),P3(I),/
TT(I)... TRAVEL TIME AT THE POINT.
P1(I),P2(I),P3(I)... SLOWNESS VECTOR COMPONENTS AT THE POINT.
(2.3) / (A SLASH).
(3) / (A SLASH) OR END OF FILE.
EXAMPLE FILE DIAGRAM:
(1)
'TEXT1' 'TEXT2'
C
'TEXT3' /
C (2)
'LINE
1' 0.000 0.000 0.000 /
C
0.000 0.000 0.000 /
C
1.000 1.000 1.000 /
C
2.000 2.000 2.000 /
C
/
C
'LINE
1' /
C
2.000 2.000 2.000 /
C
3.000 3.000 3.000 /
C
/
C
'LINE
2' 0.000 1.500 0.000 /
C
0.000 1.500 0.000 /
C
3.000 1.500 0.000 /
C
/
C (3)
/
C OR:
C (1)
'TEXT1'
C
'TEXT2' 'TEXT3'
C
/
C (2)
'LINE
1'
C
0.000 0.000 0.000 /
C
0.000 0.000 0.000 /
C
1.000 1.000 1.000 /
C
2.000 2.000 2.000 /
C
/
C
'LINE
1'
C
/
C
2.000 2.000 2.000 /
C
3.000 3.000 3.000 /
C
/
C
'LINE
2'
C
0.000 1.500 0.000 /
C
0.000 1.500 0.000 /
C
3.000 1.500 0.000 /
C
/
C (3)
/
C
C.......................................................................
C
C FILE FORM 'POINTS' (OR BRIEFLY 'PTS'):
C
THE FILE STRUCTURE IS DESIGNED TO STORE THE POINTS SITUATED IN 3-D
C
(AND ALSO 2-D) SPACE. THESE POINTS MAY REPRESENT SEISMIC SOURCES,
C
RECEIVERS, ENDPOINTS OF CALCULATED RAYS, GRIDDED EARTH SURFACE OR
C
STRUCTURAL INTERFACES, MAP POINTS LIKE MOUNTAINS, THE DEPENDENCE
C
OF MEASURED DATA ON ONE OR TWO VARIABLES, TAKE-OFF PARAMETERS OF
C
RAYS, DESCRIPTIONS OF FIGURES AND OBJECTS DISPLAYED, DESCRIPTIONS
C
OF COORDINATE AXES, ETC.
C
EACH POINT HAS ITS NAME (GENERALLY THE STRING THAT MAY CONTAIN THE
C
NAME OR DESCRIPTION OF THE POINT), AND THREE COORDINATES.
C
THE FILE FORM IS DERIVED FROM FILE FORM 'LINES', DESCRIBED ABOVE,
C
IDENTIFYING POINTS WITH LINES OF ZERO LENGTHS (HAVING NO POINTS
C
EXCEPT THE REFERENCE ONE) AND DROPPING THE ROWS WITH THE
C
LINE-TERMINAL SLASHES.
C FILE STRUCTURE:
C
THE FILE CONSISTS OF ITS HEADER (1), POINTS (2), AND THE
C
END-OF-DATA IDENTIFICATION (3).
C (1) TEXTS - ONE TO SEVERAL LINES READ BY A SINGLE READ STATEMENT:
C
NONE TO SEVERAL STRINGS TERMINATED BY / (A SLASH).
C
IT IS NOT RECOMMENDED TO WRITE TOO MANY STRINGS (E.G. MORE THAN
C
20) INTO THIS FILE SECTION. ON THE OTHER HAND, THE PROGRAM
C
READING THE FILE SHOULD READ AT LEAST 20 STRINGS, BY THE SINGLE
C
READ STATEMENT. A BLANK STRING FOLLOWED BY A NON-BLANK ONE IS
C
ALLOWED BUT NOT RECOMMENDED. THE STRINGS MAY BE USED AS THE NOTES
C
ABOUT THE DATA OR FILE ORIGIN, NATURE, VERSION, ETC., AND NEED NOT
C
BE TAKEN INTO ACCOUNT BY THE READING PROGRAM. ON THE OTHER HAND,
C
IF THE READING PROGRAM IS ABLE TO INDENTIFY WITHIN THE STRINGS
C
SOME KIND OF INFORMATION WRITTEN ACCORDING RULES SPECIFIC TO THE
C
PROGRAM, THE STRINGS MAY BE USED TO TRANSFER VARIOUS KINDS OF
C
INFORMATION BETWEEN THE SPECIFIC PAIRS OF APPLICATIONS.
C
DEFAULT FOR ALL STRINGS: ' ' (A BLANK STRING).
C
FIRST EXAMPLE:
C
'STRING1'
C
.
C
.
C
.
C
'STRINGM'
C
/
C
SECOND EXAMPLE:
C
/
C
THIRD EXAMPLE:
C
'STRING1' 'STRING2' 'STRING4' 'STRING5' /
C
FOURTH EXAMPLE:
C
'STRING1' 'STRING2'
C
/
C (2) FOR EACH POINT (2.1):
C (2.1)
'TEXT',X1,X2,X3,/
C
'TEXT'... ARBITRARY TEXT RELATED TO THE POINT. THE STRING IS
C
USUALLY CONSIDERED TO BE THE NAME OF THE POINT. IT MAY BE
C
USED AS THE NOTES ABOUT THE POINT, BUT OFTEN CONTAINS SOME
C
INFORMATION TRANSFERRED BETWEEN THE SPECIFIC PAIRS OF
C
PROGRAMS, ENCODDED ACCORDING TO RULES SPECIFIC TO THE
C
PROGRAMS. ESPECIALLY, THE STRING IS ASSUMED TO BE USED
C
AT SELECTING ONLY SOME POINTS FOR PLOTTING ACCORDING TO
C
THE GIVEN SELECTION KEYWORDS OR TEXTUAL MASKS, OR TO
C
ENABLE PLOTTING THE POINTS WITH DIFFERENT ATTRIBUTES
C
(COLOUR, MARKER TYPE, ETC.) ACCORDING TO FITTING THE TEXT
C
BY THE GIVEN SELECTION MASKS. A SELECTED PART OF THE
C
STRING (ACCORDING TO ANOTHER KEYWORD OR MASK) MAY ALSO BE
C
DRAWN AS THE TEXT DESCRIBING THE POINT.
C
THE STRING MAY BE BLANK BUT THE DEFAULT MUST NOT BE USED,
C
BECAUSE THE DEFAULT IDENTIFIES THE END OF DATA. THE
C
DEFAULT VALUE IN THE READING PROGRAM SHOULD BE SELECTED IN
C
SUCH A WAY THAT IT SHOULD NOT MATCH ANY STRING DESCRIBING
C
A POINT. FOR INSTANCE, THE STRING COMPOSED OF SEVERAL '$'
C
CHARACTERS MAY BE A REASONABLE DEFAULT (E.G. '$$$$').
C
THUS IT IS NOT RECOMMENDED TO USE THE '$' CHARACTER WITHIN
C
THE STRINGS IDENTIFYING THE POINTS.
C
X1,X2,X3... COORDINATES OF THE POINT. IN 2-D, THE THIRD
C
COORDINATE X3 NEED NOT BE SPECIFIED, AND ITS DEFAULT VALUE
C
SHOULD ALWAYS BE 0.
C
POSSIBLE EXTENSIONS: IN PLACE OF THE POINT-TERMINATING SLASH,
C
SEVERAL ADDITIONAL NUMBERS TERMINATED BY A SLASH MAY BE
C
WRITTEN. THE MEANING OF THESE NUMBERS IS SPECIFIC TO THE
C
APPLICATIONS.
C
EXAMPLE: POSSIBLE EXTENSIONS (A) OR (B) FOR SOURCE OR RECEIVER
C
POINTS:
C
(A)
'TEXT',X1,X2,X3,TT,/
C
(B)
'TEXT',X1,X2,X3,TT,TTERR,/
C
TT...
TRAVEL TIME AT THE POINT.
C
TTERR...TRAVEL TIME ERROR AT THE POINT.
C (2.3) / (A SLASH).
C (3) / (A SLASH) OR END OF FILE.
C
C EXAMPLE FILE DIAGRAM:
C (1)
'VERTECES OF A UNIT CUBE'
C
/
C (2)
'POINT0'
0.000 0.000 0.000 /
C
'POINT1'
1.000 0.000 0.000 /
C
'POINT2'
0.000 1.000 0.000 /
C
'POINT3'
0.000 0.000 1.000 /
C
'POINT12' 1.000 1.000 0.000 /
C
'POINT13' 1.000 0.000 1.000 /
C
'POINT23' 0.000 1.000 1.000 /
C
'POINT123' 1.000 1.000 1.000 /
C (3)
/
C
C.......................................................................
C
C MULTI-DATA FILE FORM:
C
THE FILE CONSISTS OF ANY NUMER OF DATA SECTIONS, IDENTIFIED BY AN
C
IDENTIFIER:
C GENERAL DATA SECTION STRUCTURE:
C (1) '$ IDENTIFIER' - STRING DESCRIBING THE DATA STRUCTURE, BEGINNING
C
WITH THE '$' SIGN.
C (2) DATA SECTION - DATA FORMATTED IN A FORM INDICATED BY THE SECTION
C
IDENTIFIER.
C SPECIFIC DATA SECTION STRUCTURES:
C
THE FOLLOWING COUPLES OF STRING (1) AND DATA (2) MAY FORM A
C
SECTION:
C (1) '$ FILE FORM LINES'
C (2) DATA FORMATTED EXACTLY ACCORDING TO FILE FORM 'LINES'.
C (1) '$ FILE FORM POINTS'
C (2) DATA FORMATTED EXACTLY ACCORDING TO FILE FORM 'POINTS'.
C (1) '$ DATA FORM TEXTS'
C (2) DATA FORMATTED EXACTLY ACCORDING TO SECTION (1) OF FILE FORM
C
'LINES' OR 'POINTS'.
C (1) '$ DATA FORM LINES'
C (2) DATA FORMATTED EXACTLY ACCORDING TO SECTIONS (2) AND (3) OF FILE
C
FORM 'LINES'.
C (1) '$ DATA FORM POINTS'
C (2) DATA FORMATTED EXACTLY ACCORDING TO SECTIONS (2) AND (3) OF FILE
C
FORM 'POINTS'.
C END-OF-ALL-DATA IDENTIFIER:
C
THE DATA ARE TERMINATED BY THE FOLLOWING STRING (3) OR BY THE END
C
OF FILE:
C (3) '$ END'
C
C.......................................................................
C
C DATE: 1994, JANUARY 23
C TYPED BY LUDEK KLIMES
C
C=======================================================================
C
Download