|
|
# src/green/gremlin1
|
|
|
(XXX macro: "PageOutline")
|
|
|
|
|
|
Navigation: [[Mainpage], [wiki:trunk], [wiki:branches], [wiki:tags], [wiki:vendor], [wiki:export], [wiki:admin], [wiki:docs|WikiStart]]
|
|
|
|
|
|
## Installation
|
|
|
### Basic compilation and installation
|
|
|
1. Install libtf, libgrrefsub (only for gremlin), libwrefsub (only for wgremlin)
|
|
|
|
|
|
/src/libs> make install
|
|
|
2. Install librefread
|
|
|
|
|
|
/src/synt/ref/refmet> make librefread.a
|
|
|
3. Check other libraries (expected to be installed)
|
|
|
|
|
|
locate libpgplot
|
|
|
locate libblas
|
|
|
locate liblapack
|
|
|
|
|
|
---(XXX macro: "br")
|
|
|
4. Installation of gremlin
|
|
|
|
|
|
/src/green/gremlin1> make
|
|
|
|
|
|
|
|
|
### Array size adjustment
|
|
|
The Fortran 77 program uses fixed size array.
|
|
|
Since it has to store the complete matrix of partial derivatives, memory requirements may become significant.
|
|
|
Array sizes therefore are to be carefully adjusted.
|
|
|
In particular the number of slowness values and frequencies in the input data (Fourier Bessel expansion coefficients) must not exceed the array size.
|
|
|
In case you experience problems, please use the program
|
|
|
[[gredim|trunk/src/green/gremlin1#gredim]]
|
|
|
|
|
|
## Problems
|
|
|
### Problems with broken library header files
|
|
|
If there are any problems with libraries(XXX macro: "br")
|
|
|
1) check your remcmmnt mechanism (see [wiki:docs/installation/remcmmnt])
|
|
|
|
|
|
printenv | grep REMCMMNT
|
|
|
|
|
|
if the output isn't
|
|
|
|
|
|
TF_REMCMMNT=cat
|
|
|
|
|
|
adjust settings in ~/.TFbashrc (see [wiki:docs/installation] point 1). (see also ticket:72)
|
|
|
2.) Call
|
|
|
|
|
|
make reinstall
|
|
|
|
|
|
in your directories (e.g. src/libs)(XXX macro: "br")
|
|
|
3.) Call
|
|
|
|
|
|
make install
|
|
|
|
|
|
in the same directories (e.g. src/libs)
|
|
|
|
|
|
### Problems with array size
|
|
|
If you encounter problems due to data size being too large ('data exceeds array bounds'), you may like to adjust
|
|
|
the array size used in gremlin.
|
|
|
See the section on [[gredim|trunk/src/green/gremlin1#gredim]] and the output of this program.
|
|
|
Alternatively you might like to reduce the size of your data.
|
|
|
You can reduce the number of slowness values by an appropriate parameter to
|
|
|
[[grepg|trunk/src/green/grepg]] or you might like to resample your frequency axis by applying
|
|
|
[[greto|trunk/src/green/tools#greto]] to the expansion coefficient data file.
|
|
|
|
|
|
## Documentation
|
|
|
### Application
|
|
|
Documentation regarding the application of gremlin is collected at
|
|
|
wiki:docs/processing/Inversion[[OfExpansionCoefficients]].
|
|
|
|
|
|
### Programs
|
|
|
#### gremlin
|
|
|
This is the main inversion program.
|
|
|
Its application is documented at wiki:docs/processing/Inversion[[OfExpansionCoefficients]].
|
|
|
|
|
|
#### gredim
|
|
|
This is a program to check the fixed array dimensions in the Fortran 77 code of gremlin and the required memory.
|
|
|
The program just reports the current memory requirement.
|
|
|
It first reports the array dimensions set in
|
|
|
[[libs/glq_dim.inc|source:trunk/src/green/gremlin1/libs/glq_dim.inc]]
|
|
|
and then it calculates the number of bytes required for each major array and the total number of bytes in RAM to run [[gremlin|trunk/src/green/gremlin1#gremlin]].
|
|
|
This total must be significantly smaller than the total RAM available in your system.
|
|
|
The meaning of the dimensions set are defined by comments in [[libs/glq_dimstd.inc|source:trunk/src/green/gremlin1/libs/glq_dimstd.inc]].
|
|
|
|
|
|
### Specific functions
|
|
|
#### gremlin
|
|
|
=#### med: edit model within gremlin=
|
|
|
The command `med` saves the current model to a file called `edit.p.mod` and then calls the text editor to allow model modification.
|
|
|
Currently the `vim` editor is hardwired in the source code.
|
|
|
After closing the editor, the modified file is read for further use in gremlin.
|
|
|
This function is implemented at:
|
|
|
source:trunk/src/green/gremlin1/gremlin.f@3599:720-721#L705
|
|
|
|
|
|
=#### dgr: display expansion coefficients used as data=
|
|
|
The command `dgr` displays the modulus (amplitude) of the expansion coefficients which are read from file and used within gremlin as data in four different displays:
|
|
|
1. expansion coefficients as read from file, full frequency and slowness range
|
|
|
1. expansion coefficients as read from file, selected frequency and slowness range is displayed only
|
|
|
1. expansion coefficients after application of scaling function selected by *green data mode*, full frequency and slowness range
|
|
|
1. expansion coefficients after application of scaling function selected by *green data mode*, selected frequency and slowness range is displayed only
|
|
|
|
|
|
### Tips and tricks
|
|
|
#### gremlin
|
|
|
=#### What can I do if I do not have refracted P-wave traveltimes available?=
|
|
|
If you do not like to use the travel-time information at all, just set bala
|
|
|
to 1.
|
|
|
- first enter command "spa"
|
|
|
- the enter command "bala 1."
|
|
|
This will apply a weight of 0. to the the travel time residuals. The will then
|
|
|
have no more effect within the inversion and travel time picks are allowed to
|
|
|
be entirely meaningless. Only information from the expansion coeffients will
|
|
|
be used for the inversion. |