We successfully compiled it on MacBook Pro with OS X 10.6.8. We also have newer MacBooks running 10.7 were it compiled and run without error but would not plot the results (mainly xrayinvr).
It's quite some time ago so I don't remember details but I've attached my source folder including binarys. Maybe that helps you.
Dear Tanja: Many thanks for your answer and the binary files. However, I tried to execute them without success, and compilation failed again. Could you please tell me which compiler did you use? Thanks!
You are right. Sorry. That bunch doesn't even work for me. It's quite a while ago. I just browsed through my computer and found attached source, which compiled for me. It's was part of RayGUI http://pubs.usgs.gov/of/2004/1426/ package with extra changes for Mac, I think.
I could compile it with gcc's f77 installed with fink.
> f77 -v
Reading specs from /sw/lib/gcc/i686-apple-darwin10.8.0/3.4.3/specs
Thanks so much again for your help, and apologies for the long delay in answering... I still have some errors during compilation that seem to be related to issues with the x86_64 architecture. Binary files seem to create correct p.out files, but the graphic windows are completely black. I will keep on trying...
Many thanks for your input. Yes, there are several issues here: change of architecture, f77 to g77 linking... More than an updated patch, I think we need a complete tutorial! Please, let us know if you make any progress on this...
Yes, of course, RAYINVR can work with topographic variations. You can find the documentation here (note that it is quite old): http://terra.rice.edu/department/faculty/zelt/rayinvr.html
Also, for all of you interested, I would recommend having a look at this GUI developed by Tanja Fromm:
Article PRay - A graphical user interface for interactive visualizat...
If you download the package from the link I provided above, you will find a folder called "examples", with several input files.
v.in files have this structure for each of the model layers:
1. A row starting with the layer number, following with the x-coordinates of the top boundary of the upper layer. Max 10 coordinates (if you need more, add another line in the 4th row).
2. A row starting with 0 if you used 10 coordinates or less to define the top boundary of the upper layer, or 1 if you are going to continue with more x-coordinates (in the 4th row). Then, add the z-coordinate corresponding to the x-coordinates listed in the preceding row.
3. A row of 0, 1 or -1 for each z-coordinate listed above depending on whether (1) or not (0) partial derivatives are to be calculated for a particular boundary node or the boundary depth is to be determined by fixing the thickness of the layer above at that x-coordinate (-1).
4. Add 3 more lines as above, to continue to define the layer top, if necessary.
5. A row starting with the layer number, following with the x-coordinates for which you want to define a velocity value at the top of the layer. Again, max. 10 values per line.
6. A row starting with 0 if you used 10 velocity points or less, or 1 if you are going to continue with more x-coordinates below. Then add velocity values for the top of the layer, corresponding to the x-coordinates defined above.
7. A row with a 0 or 1 for each velocity listed above depending on whether (1) or not (0) partial derivatives are to be calculated for a particular velocity.
8. Add three more lines as above if you need to define more than 10 velocity points at the top of the layer.
9. Repeat points 5 to 8, but to define the velocity at the base of the layer (the basal boundary of the layer is defined by the top of the next one).
Example of definition of layer 1 in example v1_s.in of the rayinvr/examples folder:
The first two lines define the X and Z coordinates of the upper boundary of the top layer, which is the one that defines the topography. This layer extends from X=0 to X=300, and its nodes are not allowed to change during inversion (rows of 0). The layer has an initial velocity gradient from 4.90 km/s at the top to 5.40 km/s at the bottom, all along the model, although values at the top and bottom are allowed to change during inversion in three positions: left-hand border (x=0), middle of the section (X=150) and right-hand border (X=300).
Hope this helps...
David
(I'm sorry that the format is lost in this message. You can check the correct formats in the rayinvr/documentation files and in rayinvr/examples).