Released versions of package CRT

Released versions: 1.00 (1988, June): Preliminary version, contains only subroutines for model specification, no complete ray tracing subroutines. 2.00 (1990, February): Common release with model specification routines. First consistent version of the ray tracing program. The routines determining the take-off parameters of rays are awfully primitive. Poorly debugged. 3.00 (1991, January): Common release with model specification routines. New version of the file 'rpar.for' determining the take-off parameters of rays: one-parametric boundary-value ray tracing. Principal errors removed in files 'ray.for', 'raycb.for' and 'trans.for'. Some of the points of intersection of rays with the given surfaces may be selected for storing the computed quantities - minor changes in files 'ray.for' and 'writ.for'. 4.00 (1992, December): MODEL and CRT packages has been split: 'raycb.for' splitted into 'means.for' (MODEL) and 'raycb.for' (CRT). 'crt.for': Split into 'crt.for' and 'crtin.for', name of the data set CRT read from the * unit. 'ray.for': Indices of end surfaces supplemented with the signs, boundaries of the computational volume enabled to be storing surfaces. 'raycb.for': *** Considerable changes and corrections.*** 'trans.for': Corrections for nearly normal incidence, and for weakly refracted or nearly grazing rays corrected. 'init.for': Definition of material parameters, and of the signs of auxiliary surfaces at the initial points corrected. 'rpar.for': Reading the data for an auxiliary surface specifying the profiles enabled. 'writ.for': Specification of the names of output files slightly generalized, independent variable X along rays added to the output files, some other minor changes. 'scropc.for': Minor changes. E.g., refreshing wave index on the screen added, renumbering of colour indices removed (unfortunately, the renumbering may be useful on some computers). *** new FORTRAN77 source code files ***: 'calcomp.for': CalComp to GKS graphic interface. 'ap.for': Applications and processing of the results of complete ray tracing, only the first 1/3 of subroutines. 'inv1.for', 'inv3.for', and 'inv4.for': Provisions towards a tomographic inversion. 4.10 (1994, January): 'ap.for' split into 'ap.for' and 'apvar.for'. 'crtin.for', 'code.for', 'ray.for', 'trans.for', 'init.for', 'rpar.for', 'writ.for', 'calcomp.for', 'ap.for', 'apvar.for', 'inv1.for', 'inv3.for', 'inv4.for': Error messages, previously generated by statements like STOP 'Error...', are now generated by PAUSE 'Error...' followed by the STOP statement, in order to suspend the batch files in the case of error (the date of subroutines not updated). 'crtin.for', 'code.for', 'ray.for', 'init.for', 'rpar.for', 'writ.for', 'scropc.for', 'calcomp.for', 'ap.for': Each BLOCK DATA subprogram has been declared EXTERNAL in the subroutine designed to read or initialize the data shared. The subroutine is the first subroutine in the corresponding file, after the BLOCK DATA subprogram, and was always assumed to be called before the data in the corresponding common blocks can be used. 'calcomp.for', 'ap.for': External procedures declared EXTERNAL. 'code.for': Subroutine CODE1 has been corrected and updated - determination of the common parts of elementary waves enabled. 'rpar.for': Several bugs fixed. Subroutines restructured in order to separate one-parametric shooting from the parts useful also for possible future upgrade to two-parametric shooting. Specification of profiles along coordinate planes simplified. Profile coordinates in a separate file enabled. *** change in input data: Index of the second X-function (receiver coordinate) reserved for future extensions *** 'writ.for': Generation of error message 557 corrected. Indications IEND,ISHEET added to the output files with initial points of rays. 'ap.for': Wrong second travel-time derivatives fixed. Statements dealing with curvilinear coordinates denoted by '*' in the first column. 'crt.for', 'code.for', 'raycb.for', 'init.for', 'rpar.for', 'writ.for', 'scronul.for', 'scropc.for', 'calcomp.for', 'ap.for', 'apvar.for', 'inv1.for': Other minor fix-ups and changes. *** new FORTRAN77 source code files ***: 'crtray.for': Program converting the unformatted output of program CRT into formatted files with rays suitable for plotting. 5.00 (1996, September): 'crt.for': Minor update. 'code.for': Minor correction of comments. 'raycb.for': Updated. Subroutine PSHIFT considerably. Boundaries of computational box enabled as storing surfaces. 'trans.for': *** Reduced amplitudes corrected.*** 'init.for': *** Updated, input data changed. *** In particular, initial line and surface fixed. 'rpar.for': *** Considerably corrected and updated, input data changed. Split into 'rpar.for' and 'rp2d.for'. Calls to 'rp3d.for' enabled. *** 'writ.for': *** Updated. Input data changed. *** Indication IREC added to the output files with initial points of rays, files with indices of rays forming homogeneous triangles in the ray-parameter domain now generated. Check for nonexisting rays supplied. 'scropc.for': Updated. Default plotting units switched to inches. 'ap.for': *** Considerably corrected and updated.*** 'crtray.for': Considerably updated. 'plotvdi.for','ploth.for','plotvax.for': Discarded. 'calcomp.for': Moved to package MODEL. 's1-code.dat': Renamed to 'code1.dat'. 's1-crt.dat','s1-rpar.dat','s2-crt.dat': Changed, renamed and moved to subdirectory 'len'. 'inv1.dat','points.dat','ftt.dat': Changed, renamed and moved to subdirectory 'u2d'. 'inv3grid.dat': Renamed to 'inv3.dat'. '*.pre': Updated, renamed to 'prem*.*', and moved to subdirectory 'prem'. 'crtpc.bat': Discarded. *** new ***: All files converted from UPPERCASE to both UpperCase and LowerCase (for better reading and Unix systems), INCLUDE statement introduced for COMMON blocks. '*.inc': Include files with COMMON blocks. SAVE statement is now used consistently for COMMON blocks All files with main programs supplemented with the INCLUDE statements to include all files with called subroutines to simplify the compilation and linking considerably. MS-DOS batch files supplemented with corresponding Unix scripts. 'rp3d.for': Subroutines to control the two-parametric shooting algorithm for 3-D two-point ray tracing. 'scronum.for'... New simple basic version of the screen output subroutines. 'crtout.for','ttsort.for','crt2p.for','crtpts.for': Subroutines and programs to convert or process the unformatted output of program CRT. 'green.for': Program to convert the output of program CRT into the ray-theory elastodynamic Green function. 'greenss.for': Program to read the ray-theory elastodynamic Green function and to generate time-domain synthetic seismograms or frequency-domain response functions. 'ss.for' and 'sp.for': Programs to generate and plot synthetic seismograms, adopted from package SW84, updated for the list-directed input and the GSE data exchange format, commented. 'srpcrt.bat','lcrt.bat': Sample MS-DOS batch files. 'len','prem','elf1','u2d': Subdirectories with examples of input data corresponding to different seismic models. 5.10 (1997, October): *** probably not all changes are listed here *** 'inv1.for' split into 'soft.for', 'inv1soft.for' and 'inv1tt.for'. 'soft.for', 'inv1soft.for', 'inv3.for','inv3.dat','inv4.for' moved to package MODEL. 'crt.doc' renamed to 'crtdoc.htm' and revised. 'lcrt.bat' renamed to 'fcrt.bat' and revised. 'code.for','ray.for','init.for','rpar.for','rp2d.for': BLOCK DATA subprograms cancelled. 'crtpts.for','green.for','greenss.for','ss.for','sp.for', 'inv1tt.for': Memory managed by means of ''. Descriptions corrected and updated in most files. All error descriptions moved towards the corresponding reporting statements. Errors renumbered in some files. Warnings written to log files instead of the console. 'rpar.for': KMAH index included also in the history of an unsuccessful ray. New option to include or not the boundaries of the computational volume into ray histories. Default input value of IPOINT changed. 'rp3d.for': *** Considerably corrected and updated.*** 'ap.for': Reading just initial points enabled. *** Severe bug fixed in AP21. *** 'writ-s.dat' renamed to 'writsrf.dat' and 'writall.dat' supplemented. *** new *** All Fortran files supplemented with HTML references. 'rpplot.for': Plotting ray parameters. 'crt2d3d.for': Converting 2-D results of CRT for MTT. 'mtt.for': Interpolation within ray cells. 'mttgrd.for': Converting multivalued travel times produced by program MTT into several singlevalued grids corresponding to individual ray histories. 5.20 (1998, October): All error messages in the Fortran files, previously generated by statements like PAUSE 'Error ...', are now generated by CALL ERROR('...') in order to enable to fit the error handling for a particular computer by editting file 'error.for' (the date of subroutines not updated). Most warning messages in the Fortran files, previously generated by statements like PAUSE 'Warning ...', are now generated by CALL WARN('...'). 'crtdoc.htm' split into 'crtdoc.htm' and 'crtver.htm', list of files moved to 'crt.htm'. 'ss.for','sp.for': *** Moved to package FORMS. *** 'crt.for': Subroutine LUWARN moved to '../forms/error.for'. 'raycb.for','init.for','crtpts.for': *** Severe bugs fixed. *** 'rpar.for': Now writing the table of ray histories and optionally checking whether a ray satisfies the whole code. 'rp2d.for': Revised. 'rp3d.for': *** Considerably revised: Distance of a two-point ray from the receiver may now exceed XERR (with warning in logout file), some bugs fixed. *** 'rpplot.for': *** Input data changed *** (name of output plot can be specified). CRT output files containing more than one elementary wave may now be used. 'rpsymb.for': Bugs causing stack overflow in PostScript fixed. 'mttgrd.for': *** All output grids (data cubes) now written into a single file by default, N4 appended to input SEP file. *** 'ray.for': Comments updated. 'crtout.for','','','', '','': Minor corrections. 'ap.for': Bugs in subroutines AP00 and AP03 fixed. 'inv1tt.for': A bug fixed. *** new *** All MS-DOS batch files '*.bat' and Unix scripts '*' replaced by corresponding Perl scripts '*.pl' or by history files '*.h' containing the lines specifying how to run the programs. 'crtcart.for': Program converting rays calculated by program 'crt.for' from curvilinear to Cartesian coordinates, which are required by 'mtt.for'. 'mtt.for': *** Considerably revised: Bicubic travel-time interpolation introduced, errors on sides of ray cells removed, 'indexx.for' used to speed up sorting of ray tubes, interpolation of slowness vector enabled, minor errors in caustic regions connected with number of roots of cubic equation removed. *** 'green.for': *** Input data changed to SEP format *** Calculating frequency-dependent elementary Green functions using coupling ray theory in anisotropic models. 'wan.for': Subroutines for coupling ray theory in weakly anisotropic models. 'greenss.for': *** Input data changed to SEP format *** Able to read frequency-dependent elementary Green functions (e.g., of coupling ray theory for S waves). May include the response of the transmission through a stack of fine horizontal layers at each receiver location. 5.30 (1999, June): 'crt.for','crtin.for','init.for','rpar.for': *** Main input data changed to SEP format *** 'init.for': Updated to correspond to the new version of subroutines BLOCK and BLOCKS of file 'model.for' of package MODEL, bug in subroutine SPHERE for INIPAR=3 fixed, *** input data changed (SEP format) *** 'raycb.for','rpar.for','','rp3d.for','': *** Control of the width of ray tubes enabled. *** Error reports in 'rpar.for' improved. 'mtt.for','rpplot.for': *** Main input data changed to SEP format *** 'mtt.for','mtt.for': *** 2-D computations enabled (without crt2d3d). Interpolation of new quantities supplemented. Several bugs connected with rays of zero length fixed. *** Interpolation in tetrahedra possible after minor editing the code. 'green.for': The bug related to the names of output files of program 'crt.for' fixed. 'wan.for': *** Computation of travel time corrections fixed. New criterion for the maximum error of propagator matrix. Models with structural interfaces enabled (but not fully debugged!) *** 'greenss.for': Fatal bug when writing zero frequency response function fixed. 'scropc.for': A bug fixed. 'ray.for','writ.for','ap.for','rpsymb.for': Minor correction of comments. 'code.dat' renamed to 'code2.dat', because it contain codes of waves reflected at the first and second interface. 'rm/rm-mod.dat': Free space simple block added. 'crt.h', 'len/lenb-rpa.dat', 'len/lenz-rpa.dat', 'elf1/elf1*crt.h': Created to reflect the conversion of input data for program crt.for to the SEP format. '','crt.dat','rpar.dat','len/len-crt.h', 'len/lenb-crt.h', 'len/lenz-crt.h', 'len/leni-mtt.h', 'prem/prem-crt.h','u2d/u2d-*.h','rm/rm-fd.h','qi/qi-ss.h', 'elf1/elf1*crt.dat','elf1/elf1*.pl','98/98-mtt.h', '98/98-ss.h','*/*-crt*.dat','*/*-rpa*.dat': Modified to reflect the conversion of input data for program crt.for to the SEP format. 'len/len-crt.h', '98/98-ss.h': *** Upgraded to generate 3-D VRML97 representation of two-point rays together with structural interfaces. *** *** new *** 'code.dat': Code of P wave transmitted at all interfaces (the most common wave code). '98/98-mod.h', '98/98-cam*.dat' and '98/98-dli*.dat': History file to generate 3-D VRML97 representations of structural interfaces and velocity distribution in model 98, and the corresponding data desribing initial positions of the camera and the directional lights. 'wrl': Subdirectory with examples of 3-D VRML97 representations of rays with structural interfaces. 5.40 (2000, May): 'crt2d3d.for', 'crtray.for', 'crtpts.for', '': *** Input data changed to SEP format. *** 'mttgrd.for': *** Input data changed. *** Multiple files from * device moved to the history file. 'crt.htm': Considerably revised. 'crtdoc.htm' discarded (information moved to 'crt.htm'). 'crt.for','init.for','','rpar.for','scronum.for': *** Ray tracing for multiple sources enabled. *** 'init.for': A bug in initialization of IY(11) fixed. 'rpar.for': *** Severe bug in the determination of ray histories fixed. Severe bug in the estimation of the widths of ray tubes fixed. *** 'rp2d.for': Creation of ray tube limited by non-existing ray during initial-value ray tracing fixed. 'rp3d.for', '': Several bugs fixed. 'scropc.for': Enter from standard input to confirm erasing of the ray diagram of each elementary wave is no longer required, but may optionally be enabled. 'apvar.for': Subroutine AP28 moved to 'ap.for'. 'rpplot.for': Minor corrections. 'mtt.for' split into 'mtt.for' and 'mttq.for'. File 'mttq.for' contains specification of interpolated quantities and may simply be editted in order to add new user-defined quantities for interpolation. 'mtt.for': Some bugs, mainly in 2-D interpolation, fixed. '': Minor changes. 'mttq.for': Interpolation of width of Gaussian beams added. 'mttgrd.for': Numbers in generated filenames decreased by 1. 'green.for': *** Multiple elementary waves enabled. *** 'greenss.for': A bug related to attenuation at zero frequency fixed. 'inv1tt.for' renamed to 'invtt.for' and *** considerably updated. *** 'code.dat' renamed to 'codep.dat' and 'code2.dat' to 'codep2.dat'. Subdirectories with the data for particular models moved to new package DATA. 'len-src.dat' moved to package DATA. 'rpar.dat' renamed to 'len-rpar.dat' and moved to package DATA. 'crt.h' and 'crt.dat' renamed to 'len-crti.h' and 'len-crt.dat', updated and moved to package DATA. 'wan.for': Cosmetic changes. 'crtin.for', 'writ.for': Comments updated and corrected. *** new *** 'calcompx.c': CalComp to Xlib (X Window) interface. 'crtx.mak': Makefile to compile and link 'crt.for' with 'calcompx.c'. 'wfsrf.for', '': Program to generate wavefronts composed of polygons for display purposes. 5.50 (2001, June): 'crtin.for','writ.for','','scronum.for', 'scronul.for','scropc.for','ap.for','', 'crt2p.for','crtcart.for': *** Output files of ray tracing supplemented with source index ISRC. *** 'ray.for': Comments updated. 'rp3d.for': *** Error in coverage of ray domain fixed. *** 'mtt.for': *** Second derivatives of the complex-valued travel times of Gaussian beams, which were specified by constant real-valued parameters in version 5.40, may depend on two-way travel time and ray parameters, and may be specified on an optional ray-parameter grid. *** 'mttq.for','': Subroutines of file 'mttq.for' are now used also by program 'wfsrf.for'. '': New file with declaration of common block used by both programs 'mtt.for' and 'wfsrf.for'. 'wfsrf.for', '': *** Many new quantities may be computed along wavefronts and written to output file. *** List of the quantities, which may be computed along wavefronts, has been unified with program 'mtt.for'. Subroutine file 'mttq.for' is now used by both 'wfsrf.for' and 'mtt.for'. 'crt2p.for', 'crtcart.for': Minor changes. 'crtpts.for': *** Parameter ISRC renamed to KREC. *** 'crtpts.for','crtray.for','crtout.for': New parameters KSRC and KTWO. 'green.for','wan.for': Maximum error of the quasi-isotropic projection of the polarization vectors now checked and reported. Various kinds of quasi-isotropic approximation now enabled for testing purposes. *** New input parameters ERRQI, QICHM, QITT, QIDT. *** *** Tests of the coupling ray theory calculations in models with structural interfaces enabled. *** Error messages corrected. 'greenss.for': Source coordinates in the comment lines of the GSE file now identified by parameter names X1SRC, X2SRC and X3SRC, instead of XS1, XS2 and XS3. 'invtt.for': Calculation of the checksum fixed. Minor corrrections of error messages and screen output. '': ISRC changed to KREC. *** new *** 'ap.for','apvar.for': Simultaneous quadrature of several sets of equations by several invocation of subroutine AP28 at each point of ray has been enabled, which is important for optimization of the shape of Gaussian beams. Optional calculation of the variations of the line integral of the density for the gravimetric inversion has been included. 'gbopt.for': New program to calculate quantities for optimization of the shape of 2-D Gaussian beams for prestack migrations.