dirack / vfsa Goto Github PK
View Code? Open in Web Editor NEWVery Fast Simulated Annealing global optimization of the zero offset CRS parameters
Home Page: https://www.geofisicando.com
License: GNU General Public License v3.0
Very Fast Simulated Annealing global optimization of the zero offset CRS parameters
Home Page: https://www.geofisicando.com
License: GNU General Public License v3.0
🐛 Bug report
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
🎉 Feature request
Is your feature request related to a problem? Please describe.
Use the vfsa programs to get the CRS parameters (RN, RNIP and BETA) in a two interface model with constant velocity layers for both reflector surfaces.
Describe the solution you'd like
Modeling should use a finite difference algorithm in order to build the seismic data cube. After that, repeat the same process in the usage example twice, one for each reflector. Do the same as in the usage example, show the CRS surfaces and error.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
🐛 Bug report
Describe the bug
The program does not check data cube limits to prevent out of boundaries errors. It should check for m0 and t0 limits and it should have a variable to define aperture.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
🐛 Bug report
Describe the bug
For simple models, RNIPs parameters are not inverted correctly. It occurs because you are not using correct coordinates (Half-Offsets instead of Offsets). So, use a flag to inform the program if you are using half-offset coordinates or offsets and treat it properly.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
🎉 Feature request
Is your feature request related to a problem? Please describe.
Use another model to generate a different usage example. Use a different reflector interface shape
and velocity model.
Describe the solution you'd like
The same results
showed in the previous example, showing convergence between surfaces and
less error amplitude.
Describe alternatives you've considered
Could be another model and it could use finite differences in the modeling step.
🎉 Feature request
Is your feature request related to a problem? Please describe.
The program sfnhcrsruf does not have a gdb debug script and a makefile command to generate programs version for debugging sesssions
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
To write a wiki documentation of the vfsa programs
Use a constant temperature temp0=1.5 and check semblance in function of c0 and the number of iterations. The purpose of this experiment is to show how c0 parameter affects the algorithm convergence to the best semblance value
🐛 Bug report
Describe the bug
Tests that use 'dummyheader.rsf' file brake in other machines. The problem occurs because the 'dummyheader.rsf' file references
a file in Madagascar DATAPATH and that variable could be different from one machine to another
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Tests should work in every machine with the same configuration
Screenshots
Desktop (please complete the following information):
Additional context
🎉 Feature request
Is your feature request related to a problem? Please describe.
I have to deploy manually and the workflows repeat some jobs
Describe the solution you'd like
A github action workflow to generate the release automatically and stablish the dependency between workflows
Describe alternatives you've considered
Use the following:
Additional context
Use the following to build dependency between workflows:
🐛 Bug report
Describe the bug
The function generates the same sequence of random numbers every time the main program is called. I've modified the test getRandomNumberBetween0and1_returns_float_between_0_and_1() in the branch hotfix/32/randomNumberGeneration in order to reproduce this behavior.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
🎉 Feature request
Is your feature request related to a problem? Please describe.
This feature is related with feature #17. This feature makes optimization tests with unit tests started in the feature #17.
Describe the solution you'd like
Use openmp library to parallelize the vfsa algorithm and allow faster optimization.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
🎉 Feature request
New package version with unit tests and documentation.
Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
Here I described the way I am thinking to solve this problem...
Describe alternatives you've considered
Here I describe any alternative solutions or features I've considered...
Build a convergence graph for each thread while using the repeat parameter. Multi thread option should increase precision in parameters optimization
Show the semblance value for a constant number of iterations in function of c0 and temp0 parameters. You will have to choose a t0, m0 coordinate and fix other parameters to apply this convergence test. The purpose is to get the best set of c0, temp0 parameters to use in VFSA global optimization. This will be the ones that produce the best semblance value
🐛 Bug report
Describe the bug
The parameters file input dimension n1 is not correct. The program sfnhcrssurf uses this dimension an an input to read RN, RNIP and BETA parameter from parameters file as a 1D vector. If n1 is minor then 3 the program does not read RNIP and BETA and assign a zero or a memory garbage to the parameter. It results that the non hyperbolic CRS surface generated by the program is full of INF and NAN values. After that the sfgrey program get stuck trying to read it.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
🐛 Bug report
Describe the bug
The output of the program, 3 CRS parameters RN, RNIP and BETA appears in portuguese.
To Reproduce
Steps to reproduce the behavior:
< dataCube.rsf /home/dirack/madagascar/bin/sfvfsacrsnh m0=5 v0=1.5 t0=1.1 verb=y repeat=2 > crsParameters.rsf
sfvfsacrsnh: Active mode on!!!
sfvfsacrsnh: Command line parameters:
sfvfsacrsnh: m0=5.000000 v0=1.500000 t0=1.100000 c0=0.500000 temp0=10.000000 repeat=2
sfvfsacrsnh: Input file parameters:
sfvfsacrsnh: n1=1001 d1=0.004000 o1=0.000000
sfvfsacrsnh: n2=161 d2=0.012500 o2=0.000000
sfvfsacrsnh: n3=401 d3=0.025000 o3=0.000000
sfvfsacrsnh: Parâmetros otimizados:
RN=2.783287, RNIP=1.187177, BETA=0.005667, SEMB=0.723192
Expected behavior
Expression should be Optimized parameters.
Desktop (please complete the following information):
Additional context
The problem is in the line 186 of the Mvfsacrsnh file.
/* Show optimized parameters on screen before save them */
sf_warning("Parâmetros otimizados:\n RN=%f, RNIP=%f, BETA=%f,SEMB=%f",otrn,otrnip,otbeta,otsemb);
Documentation request
Describe your documentation request clearly bellow
Program version
What kind of documentation you are requesting?
Generate a convergence surface for constant iteration number with different repeat parameters. We expect that more threads will improve the results
Show a graph of semblance best value in function of the iteration
To write a readme.md documentation for the programs
Documentation request
Describe your documentation request clearly bellow
To write a wiki page with decription of the VFSA algorithm and provide references.
Program version
Version 1.0
What kind of documentation you are requesting?
🎉 Feature request
Is your feature request related to a problem? Please describe.
Add unit tests of the functions in vfsacrsnh_lib.c using Unity framework for unit tests in C.
🐛 Bug report
Describe the bug
A segmentation faut ocurred when I try to use sfvfsa in the multi Layer experiment. In the Flow above:
https://github.com/Dirack/creGatherStack/blob/28de03dad315b27f817716d42e96c8256498ae36/experiments/multiLayerModel/cre/SConstruct#L62-L66
To Reproduce
Steps to reproduce the behavior:
< multiLayerDataCube.rsf /root/madagascar/bin/sfvfsacrsnh m0=4 v0=1.5 t0=1 verb=y repeat=3 > crsParameters-m0-4-t0-0.rsf
sfvfsacrsnh: Active mode on!!!
sfvfsacrsnh: Command line parameters:
sfvfsacrsnh: m0=4.000000 v0=1.500000 t0=1.000000 c0=0.500000 temp0=10.000000 repeat=3
sfvfsacrsnh: Input file parameters:
sfvfsacrsnh: n1=1001 d1=0.004000 o1=0.000000
sfvfsacrsnh: n2=161 d2=0.012500 o2=0.000000
sfvfsacrsnh: n3=201 d3=0.025000 o3=0.000000
sh: line 1: 13576 Segmentation fault (core dumped) /root/madagascar/bin/sfvfsacrsnh m0=4 v0=1.5 t0=1 verb=y repeat=3 < "multiLayerDataCube.rsf" > "crsParameters-m0-4-t0-0.rsf"
scons: *** [crsParameters-m0-4-t0-0.rsf] Error 139
Desktop (please complete the following information):
Additional context
This problem probably occurs because standard aperture used in Mvfsacrsnh.c to define a square of the approximated surface where to calculate the semblance is 50 samples in CMP and Offset coordinates.
To check that, I run sfin program:
sfin multiLayerDataCube.rsf
multiLayerDataCube.rsf:
in="/root/rsfdata/experiments/multiLayerModel/cre/multiLayerDataCube.rsf@"
esize=4 type=float form=native
n1=1001 d1=0.004 o1=0 label1="Time" unit1="s"
n2=161 d2=0.0125 o2=0 label2="Offset" unit2="Km"
n3=201 d3=0.025 o3=0 label3="CMP" unit3="Km"
32393361 elements 129573444 bytes
The data cube CMP axis dimension is:
~$ echo "201*0.025" | bc -l
5.025
If someone try to sum up vfsa standard aperture to 4Km (m0 position):
~$ echo "4+50*0.025" | bc -l
5.250
Documentation request
Describe your documentation request clearly bellow
Change the modeling usage example from creGatherStack repository to this repository.
Those examples are from version v0.1.1-alpha.1 from creGatherStack.
Program version
Version 1.1.2
What kind of documentation you are requesting?
🎉 Feature request
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.