Commit 324494b8 authored by thomas.forbriger's avatar thomas.forbriger Committed by thomas.forbriger
Browse files

more info; and correction

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.


SVN Path:     http://gpitrsvn.gpi.uni-karlsruhe.de/repos/TFSoftware/trunk
SVN Revision: 1958
SVN UUID:     67feda4a-a26e-11df-9d6e-31afc202ad0c
parent 56a25fad
c this is <gremlin_help.f> c this is <gremlin_help.f>
c------------------------------------------------------------------------------ c------------------------------------------------------------------------------
c $Id: gremlin_help.f,v 1.9 2002-08-07 13:40:21 forbrig Exp $ c $Id: gremlin_help.f,v 1.10 2006-01-13 11:19:28 tforb Exp $
c c
c 25/03/98 by Thomas Forbriger (IfG Stuttgart) c 25/03/98 by Thomas Forbriger (IfG Stuttgart)
c c
...@@ -33,7 +33,7 @@ c ...@@ -33,7 +33,7 @@ c
call gremhelp_subtit('display/edit model') call gremhelp_subtit('display/edit model')
print *,' dre display reference model in a table' print *,' dre display reference model in a table'
print *,' dwo display working copy of model in a table' print *,' dwo display working copy of model in a table'
print *,' med edit actual model (model will be written to' print *,' med edit current model (model will be written to'
print *,' file edit.p.mod and will be read again)' print *,' file edit.p.mod and will be read again)'
print *,' dmo file display basic control screen for model in "file"' print *,' dmo file display basic control screen for model in "file"'
print *,' dmi index display named model of index' print *,' dmi index display named model of index'
...@@ -178,7 +178,7 @@ c ...@@ -178,7 +178,7 @@ c
print *,' this will be used for sections below asphalt' print *,' this will be used for sections below asphalt'
print *,'model file read polynomial model from "file"' print *,'model file read polynomial model from "file"'
print *,'para file read gremlin parameters from "file"' print *,'para file read gremlin parameters from "file"'
print *,'save file write actual work model to "file"' print *,'save file write current work model to "file"'
print *,'resp file write complex response file' print *,'resp file write complex response file'
print *,'wsave file save model parameter weights to file' print *,'wsave file save model parameter weights to file'
print *,'wread file read model parameter weights from file' print *,'wread file read model parameter weights from file'
......
c this is <mod_showparcor.f> c this is <mod_showparcor.f>
c------------------------------------------------------------------------------ c------------------------------------------------------------------------------
cC cC
c $Id: mod_showparcor.f,v 1.2 2000-06-02 10:23:32 thof Exp $ c $Id: mod_showparcor.f,v 1.3 2006-01-13 11:19:29 tforb Exp $
c c
c 24/03/98 by Thomas Forbriger (IfG Stuttgart) c 24/03/98 by Thomas Forbriger (IfG Stuttgart)
c c
...@@ -15,6 +15,7 @@ c as model definition changed ...@@ -15,6 +15,7 @@ c as model definition changed
c 20/01/99 V1.2 changed reporting style of following sections c 20/01/99 V1.2 changed reporting style of following sections
c 02/06/00 V1.3 had to correct follow reporting scheme (took wrong c 02/06/00 V1.3 had to correct follow reporting scheme (took wrong
c section) c section)
c 13/01/06 V1.4 lowest polynomial oder has to be zero
c c
subroutine mod_showparcor subroutine mod_showparcor
c c
...@@ -43,10 +44,10 @@ c ...@@ -43,10 +44,10 @@ c
do ipol=1,glqm_npol(isec,ipar) do ipol=1,glqm_npol(isec,ipar)
if ((isec.gt.1).and.(ipol.eq.1).and. if ((isec.gt.1).and.(ipol.eq.1).and.
& glqm_follow(isec, ipar)) then & glqm_follow(isec, ipar)) then
print 54,isec,ipar,ipol print 54,isec,ipar,ipol-1
else else
i=i+1 i=i+1
print 53,i,isec,ipar,ipol,mweight(i) print 53,i,isec,ipar,ipol-1,mweight(i)
endif endif
enddo enddo
endif endif
......
...@@ -7,6 +7,10 @@ c PURPOSE ...@@ -7,6 +7,10 @@ c PURPOSE
c c
c REVISIONS and CHANGES c REVISIONS and CHANGES
c 24/03/98 V1.0 Thomas Forbriger c 24/03/98 V1.0 Thomas Forbriger
c 13/01/06 V1.1 added a lot of information which might not be intended
c to be output here. But I found useful to be provided
c to the user. And it was easiest to put it here, since
c it explains the meaning of the provided index values.
c c
c============================================================================== c==============================================================================
c c
...@@ -23,18 +27,79 @@ cE ...@@ -23,18 +27,79 @@ cE
print *,'array index values' print *,'array index values'
print *,'==================' print *,'=================='
print *,' ' print *,' '
print *,'Within the program the model values are stored in'
print *,'multidimensional arrays.'
print *,' '
print *,'Polynomial models:'
print *,'This is the model type read from file. The values'
print *,'are stored in a three-dimensional arrays. The indices'
print *,'specify: section, type of model parameter (velocity,'
print *,'density, etc.), polynomial order. The index values'
print *,'for the type of model parameters are given here:'
print *,' '
print *,'named model parameters:' print *,'named model parameters:'
print *,' Pp (1./alpha): ',mi_alpha print *,' Vp: ',mi_alpha
print *,' Ps (1./beta): ',mi_beta print *,' Vs: ',mi_beta
print *,' density: ',mi_density print *,' density: ',mi_density
print *,' 1./Qalpha: ',mi_Qalpha print *,' Qp ',mi_Qalpha
print *,' q./Qbeta: ',mi_Qbeta print *,' Qs ',mi_Qbeta
print *,' depth: ',mi_depth print *,' depth: ',mi_depth
print *,' ' print *,' '
print *,'anonymous model parameters:' print *,'For polynomial models the depth is stored in a'
print *,'separate array.'
print *,' '
print *,'Prior to each calculation of synthetic data, the'
print *,'polynomial model is converted to a representation of'
print *,'discrete layers. The resulting values are stored'
print *,'in a two-dimensional array, where on index specifies'
print *,'the layer and the other specifies the named model'
print *,'parameter.'
print *,' '
print *,'The program holds polynomial models in two places.'
print *,'It hold a reference model, which is initialized to the'
print *,'model read from file and which will be updated after'
print *,'every iteration of the inversion procedure. And it'
print *,'holds a working copy, which may be used to calculate'
print *,'partial derivatives by finite differences. Both'
print *,'copies are held in one multi-dimensional array, where'
print *,'one index selects the copy:'
print *,' reference model: ',mb_ref print *,' reference model: ',mb_ref
print *,' work model: ',mb_work print *,' work model: ',mb_work
print *,' ' print *,' '
print *,'The work model is derived from the reference model'
print *,'in subroutine mod_parcor. This subroutine adds model'
print *,'perturbations to the reference model and stores the'
print *,'result in the reference model. The model perturbations'
print *,'are the free model parameters of the inversion'
print *,'procedure.'
print *,' '
print *,'The inversion procedure describes the model by a'
print *,'simple vector (the model vector). It is stored in'
print *,'a one-dimensional linear array. Which element of'
print *,'the vector relates to which parameters of the'
print *,'subsurface model is not apparent in first place.'
print *,'The relation is only defined through subroutine'
print *,'mod_parcor. For this reason, we call the model'
print *,'parameter vector ''anonymous model parameters''.'
print *,'There may be fewer anonymous model parameters than'
print *,'physical parameters. This is defined by the search'
print *,'range table through function spc from the main menu.'
print *,' '
print *,'Be careful: In case you defined a set of model'
print *,'parameters to be active in the inversion and to be'
print *,'thus contained in the set of anonymous model'
print *,'parameters, you must not read a new model file'
print *,'(calling med from them main menu e.g.) without'
print *,'respecifying the search ranges in case you changed'
print *,'the number of sections or added or removed follow'
print *,'flags. Otherwise your anonymous model parameters'
print *,'will not be synchronous to your subsurface model'
print *,'anymore and the program will take the emergency exit.'
print *,' '
print *,'Data is held in four places within one multi-dimensional'
print *,'array. The four different data types are selected by'
print *,'one index of the array:'
print *,' '
print *,'data space:' print *,'data space:'
print *,' read data: ',di_read print *,' read data: ',di_read
print *,' modified data: ',di_mread print *,' modified data: ',di_mread
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment