Closed andrea-bistacchi closed 2 years ago
Hi Andrea,
type
is used as a way to link the observations to the geological feature being modelled. For example, if we are modelling a fault the data would have a name that can be used to identify the fault. I have actually renamed type
to feature_name
to make this more clear but it is backwards compatible but I missed the reference in that documentation.
Each row in the table is an observation and can record the value of the implicit function or components of a vector normal to the surface. There is a bit more information here.
Each feature is then added to the model using the methods of the GeologicalModel class e.g. create_and_add_foliation(name,**kwargs)
, create_and_add_fault(name,displacement,**kwargs)
. The function gets the data for the feature being modelled by finding rows where the name matches the feature_name.
The columns strike, dip, dip_dir, plunge etc are all converted into vector components nx
,ny
,nz
. The data i/o is undergoing some changes at the moment to make it easier to go from a map to a model - this will make the conversions easier. It should be finished in the next 2 weeks. For now, I would recommend just specifying the vector components for what you are trying to model.
Hopefully, this is helps.
Thanks for instantaneous reply!
From "For now, I would recommend just specifying the vector components for what you are trying to model." I guess you are only using bedding/foliation constraints at the moment? No fold axes?
Thanks!
One suggestion: using just "feature_name" could be not enough. For instance you can have a "cretaceous" that could be either the top of cretaceous (conformal), a cretaceous unconformity, or a dip/azimuth measurement collected somewhere within the cretaceous (informational). How do you manage that?
I am particularly interested because I am trying to use LoopStructural within a modelling application that we are developing, with a rich user-friendly GUI, and we are reasoning quite a lot about the geological data model (or "legend" in traditional geological terms).
Ah, now I see... is this more up-to-date?
https://loop3d.github.io/LoopStructural/user_guide/input_data.html
To create a geological model the data needs to be formatted in a table the following headings:
X - x component of the cartesian coordinates
Y - y component of the cartesian coordinates
Z - z component of the cartesian coordinates
feature_name - unique name of the geological feature being modelled
val - value observations of the scalar field
interface - unique identifier for an inteface containing similar scalar field values
nx - x component of the gradient norm
ny - y component of the gradient norm
nz - z component of the gradient norm
gx - x component of a gradient constraint
gy - y component of a gradient constraint
gz - z component of a gradient constraint
tx - x component of a gradient tangent constraint
ty - y component of a gradient tangent constraint
tz - z component of a gradient tangent constraint
coord - coordinate of the structural frame data point is used for
Additional question: how do you calculate val for intraformational dip measurements? Just live it as None?
I am now running example 1. Here you use just one feature called 'conformable' for two different stratigraphic surfaces, so it appears that the feature_name acts as the name of a continuous stratigraphic sequence. Correct?
Actually, I have the impression that feature_name is used as a sort of keyword to pick some rows from the data dataframe and tell LoopStructural to use them in the interpolation. Correct?
I confirm. In example 2 feature_name = 'strati' and it is definitely a continuous stratigraphic sequence.
Hello, I am wondering what are the legal types of input data and what is their definition according to classical structural geology terminology.
In core/geological_model.py, at line 333, I find:
Type can be any unique identifier for the feature the data point 'eg' 'S0', 'S2', 'F1_axis' it is then used by the create functions to get the correct data.
I suspect that 'eg' is not a type but means e.g., then I understand that S0 is bedding or layering, S1, S2, etc. are different generations of foliation/schistosity, F1_axis is clear, but what is the type for e.g. a fold axial surface? And the letters should be capitalized or not? In some examples they are lower case.
More in general, is there a general definition of types of these structural data. Unfortunately I cannot find it.
In addition, I have the impression that columns for structural data are somehow redundant. They are: strike, dip, dip_dir, plunge, plunge_dir, azimuth.
strike -> is this defined according to right hand rule with respect to dip direction? I.e. strike = dip_dir - 90°? Is strike or dip_dir "prevailing" in case they are both defined?
plunge, plunge_dir -> I suppose that plunge is used for axes and lineations, and that plunge_dir is actually "trend". Correct?
azimuth (the last column) -> what is this for? Also strike, dip_dir and plunge_dir are azimuths.
Thanks very much!