Skip to content

Conversation

@Dirack
Copy link
Owner

@Dirack Dirack commented Oct 11, 2020

📤 Pull Request

Description

Deploy of the version 2.1.1-beta.1

Resolve #54, #55 and #59

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Add images bellow and additional context if needed

Tutorial: http://www.throwtheswitch.org/unity
Unity is a framework for unit tests in C that run with gcc
This new program, sfrnip2vrms, will convert RNIP values in
VRMS velocities for each (t0,m0) pairs in the stacked section
Scratch of the program, input, output and selfdoc
This allows to unit test the function that calculate vrms for a
RNIP vector given
Use Unity to test the functions of the program
The test compares the values retuned by the function with a set of
previously calculated values in the vector v for a set of values
in rnip vector
Use global and defined variables to allow multiple tests
with the same parameters and use tearDown function to
allocate the vectors
The fullinterpolationAndStack experiment is modified to generate a parameters cube
with RN, RNIP, BETA values for each (t0,m0) pair. RNIP can be used in the multifocus
formula in order to get an estimate of the VRMS velocity
The list that stores the parameters file for each m0 is
parametersCubeForM0List, that is the correct input to build the
parameters cube. The first three parameters in the file are RN,
RNIP and BETA.
Cut the RNIP vector from parameters cube and use it to estimate the
VRMS velocity for each pair (t0,m0) in the stacked section. Use the
new program 'sfrnip2vrms'.
Use sf_warning to see the values used by sfrnip2vrms to calculate
the vrms. Run this test using the following command
in the outs directory:

~$ <stackedSection.rsf sfrnip2vrms rnip=rnip.rsf > teste.rsf

It will print the values used in the function to calculate vrms
Files in the outs directory are required for this test and will be
deleted when this bug is fixed
The correct formula for t0 is in function of dt0 (time sampling),
not in function of nt0 (number of time samples). So, dt0 should
be a parameter of the function calculateVrmsSectionForRnipVector
to calculate t0 properly
Recalculate expected values for vrms and define a
time sampling dt0 as input of the function
Function calculateVrmsSectionFromRnipValues now receives
dt0 as input parameter instead of om0
The directory outs is a test directory with test files that
are no longer required
Feature/issue/54 and hotfix/issue/56
Change the input files of sfrnip2vrms. Now the program receives
only rnip file with the same dimensions of stacked section. Because of
that is no longer required to receive the stacked section as input
Use define LOGGING macro to allow logging and warning option
during program compilation. Someone only have to comment or
uncomment the line with the macro definition to use or not the
warnings during the program execution.

This option is for degub purpose only. To verbose execution,
use verb parameter available for sfrnip2vrms
1. Conditional builds in travis CI

Configure .travis.yml to allow conditional builds of
the stages with environment variables evaluated as
true. Each job has its own name.

2. Include unit tests in the .travis.yml file

Now, travis will run 3 stages of tests, unit tests calling
make in the TDD directory; modeling step, calling the unittest
module for each test script in the TDD directory; and deploy
stage, that should be written.

This is done with test_travis_docker.sh script, that generate a
docker container with cregatherstack:1.0.0 image where Madagascar is
installed and pre configured. This script is called in the
.travis.yml file

3. New tests for negative values

The function calculateVrmsSectionForRnipVector returns 0
for negative values. It is added a test for this condition
and a test for a random set of rnip values in the test suite
Madagascar recipes kimodel.py and pefInterpolation.py
are installed in the image cregatherstack:1.0.0 used
during the building with travis CI and the installation
process of these recipes is no longer required
The script test_travis_docker.sh that runs docker containers
of the unit tests is moved to TDD directory. This script is
called from .travis.yml configuration file
Build a parameters cube with the parameters of zero offset CRS, extracted
from data cube during VFSA global optimization. Window RNIP from parameters
cube and use it as input to the program sfrnip2vrms, that estimate VRMS
from rnip values of each (t0,m0) pair in the stacked section
Use Makefile conditional to allow building tests for CENTOS
distribution in HOSTGATOR VPS using the following command:

~$ make CENTOS=1

The value for CENTOS variable is not important, the conditional
verifies if it is defined or not
The docker image repository used in the test is updated
Establish the CRE Gather Stack process as a function of the
creGatherStack.py Recipe. This function allows the usage of the
CDS option to use the non-hyperbolic CRS traveltime approximation
with CDS condition (RN=RNIP) applied as stacking curve.
Establish stage deploy on .travis.yml file to draft a release and
tag to be deployed. The .travis.yml file use the tag defined in the
file VERSION.md of the package to define a tag.
The script deploy/build_tag_message.sh generate an automatic tag
message using git log and commit marks in the body or subject of
relevant commits in the history.

The list of marks and its meaning:

 - [ADD] Added for new features.
 - [CHA] Changed for changes in existing functionality.
 - [DEP] Deprecated for once-stable features removed in upcoming releases.
 - [REM] Removed for deprecated features removed in this release.
 - [FIX] Fixed for any bug fixes.
 - [SEC] Security to invite users to upgrade in case of vulnerabilities.

They should be added to the beggining of the commit subject to be
added to the formated tag message and changelog during deploy
There is no need to update releases in README file. Just make
a reference on it to CHANGELOG or wiki.
Unfortunatelly full deploy with travis CI is not posible yet.
It Generate a draft release, but it's not capable to publish
the tag description
@Dirack Dirack added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 11, 2020
@Dirack Dirack added this to the v2.1 milestone Oct 11, 2020
@Dirack Dirack self-assigned this Oct 11, 2020
@Dirack Dirack merged commit 0b7f51b into master Oct 11, 2020
@Dirack Dirack deleted the develop/2.1 branch October 12, 2020 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

2 participants