f2i-consulting / fesapi Goto Github PK
View Code? Open in Web Editor NEWDevKit for ENERGISTICS™ data standards (mainly RESQML™), multi-languages (C++, Java, C#, Python)
License: Apache License 2.0
DevKit for ENERGISTICS™ data standards (mainly RESQML™), multi-languages (C++, Java, C#, Python)
License: Apache License 2.0
You can put contacts in a sealed surface framework but you cannot get them.
i am facing error while creating .h5 file " The HDF5 file does not exist or is not a valid HDF5 file ". I am trying to write horizon in Java. But in cpp i am able to do this.
1- I have a non public software
2- I want to honor the 5.3.4 clause of CeCILL-B
Any Licensee who may distribute a Modified Software hereby expressly agrees to:
1. indicate in the related documentation that it is based on the Software licensed hereunder, and reproduce the intellectual property notice for the Software, 2. ensure that written indications of the Software intended use, intellectual property notice and license hereunder are included in easily accessible format from the Modified Software interface, 3. mention, on a freely accessible website describing the Modified Software, at least throughout the distribution term thereof, that it is based on the Software licensed hereunder, and reproduce the Software intellectual property notice, 4. where it is distributed to a third party that may distribute a Modified Software without having to make its source code available, make its best efforts to ensure that said third party agrees to comply with the obligations set forth in this Article .
If the Software, whether or not modified, is distributed with an External Module designed for use in connection with the Software, the Licensee shall submit said External Module to the foregoing obligations.
Looking especially at point 3 in the 5.3.4 clause, it looks to restrictive to "mention, on a freely accessible website describing the Modified Software" something about a non public software which would use fesapi.
The credits should be much less constrained.
An Apache 2.0 license looks to be the best compromise looking at ethic, technical and legal parameters.
0.11
//home/travis/build/untereiner/fesapi/install/example: error while loading shared libraries: libFesapiCpp.so.0.12: cannot open shared object file: No such file or directory
working example executable
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
Travis log: https://ghostbin.com/paste/rc6h7
master branch
(Thanks for reporting an issue! Please make sure you click the link above to view the issue guidelines, then fill out the blanks below.)
Segmentation fault
Return 0
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
…
0.11
Observe it works
It should raise an exception since the count of GridConnectionSet is a positiveInteger
0.11
Is your feature request related to a problem? Please describe.
I want to retrieve the stratigraphic column associated to an earth model interpretation
Describe the solution you'd like
Add a getter in the EarthModelInterpretation class
Describe alternatives you've considered
/
Additional context
/
At least some in C++ as a beginning.
does fesapi provide support for 3D horizon Data
range error
if (edge > 7)
throw range_error("Edge is out of range.");
I am expecting that edge must be < 4 as stated in function documentation
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
master branch
Hello,
Here is the reporting of an issue regarding fesapi unit tests.
Regards,
Mathieu
Most of the unit tests fail.
All unit tests should succeed.
Fesapi is up to date according to commit #16
This version of the compiler is complaining about the different signature of the method 'readArrayNdOfValues' in src/common/HdfProxy.h and the correspondent cpp file.
Anyway, the issue can be fixed using the same typedef defined in H5Ipublic.h:
typedef int64_t hid_t;
Obviously the signature of all 'readArrayNdOfValues' needs to be changed accordingly:
from:
void readArrayNdOfValues(const std::string & datasetName, void* values, const int & datatype);
to:
void readArrayNdOfValues(const std::string & datasetName, void* values, const hid_t & datatype);
Do you want me to send a pull request for it? Or you don't plan to support this version of Visual Studio now?
Observed on travis
As a first step, fesapi must check that pull request indeed build in C++.
From https://discourse.f2i-consulting.com/t/connectionsetrepresentation/61/4
I guess one more minor comment is that it would be useful to have an overloaded API in the future, to load gridIndexPairs as UINT16 (shorts), since in the vast majority of use cases, we have only grid representations numbering in the single digits, and yet, for such cases, if we have millions of connections (which we almost always do), we still have to specify that many gridIndexPairs, which can be be wasteful on memory.
(Thanks for reporting an issue! Please make sure you click the link above to view the issue guidelines, then fill out the blanks below.)
Read a fault that have some patches with seismic support and others without seismic support.
AbstractRepresentation::getSeismicSupportOfPatch(patch_index) may return wrong information for some patch_index (a different support than the one expected, or some support for patches that are not supposed to have one).
I expect getSeismicSupportOfPatch() to return the support defined in the EPC file for a patch, or nullptr when there is no support.
In general I think pushBackSeismicSupport() would need to take the patch index as a parameter to correctly fill the seismicSupportSet vector.
An old one, but the issue exists in the latest source code available here.
Hi Philippe,
I'm compiling with warnings again... 😉
C4267 - 'return': conversion from 'size_t' to 'unsigned int', possible loss of data
Here are the locations:
resqml2/AbstractGridRepresentation.h(93)
resqml2/AbstractGridRepresentation.h(127)
resqml2_0_1/WellboreTrajectoryRepresentation.h(208)
Either static_cast or change return type to size_t
I would submit a PR but I don't know which solution you would prefer. I imagine you don't want to change the API so probably the first. Let me know if so.
Just updated to master yesterday.
When build the fesapi library.
Build failed
Build with upstrream version
https://ghostbin.com/paste/mokfy
None
Latest git version
Adrien Jeser
Software developer at Int France
The RESQML 2.0.1 standard tells the null value of LocalFacePerCellIndexPairs should be -1.
However, in RESQML-467 (https://energistics.atlassian.net/browse/RESQML-467) it has been decided that it would not be the case in longer term.
Since some writers have already adopted the decision in RESQML-467, fesapi should allow to read the null value which is not possible for now.
To be able to read the null value set by the writer.
Last one on master
Try to import/read an epc file associated to an HDF5 file which has a wrong uuid attribute. The uuid attribute is in my case an array of string instead of a single fixed length string.
An exception is thrown because the uuid attribute is read with a 1 char string.
A non blocking warning
…
0.11.1.1
(Thanks for reporting an issue! Please make sure you click the link above to view the issue guidelines, then fill out the blanks below.)
An interpretation is required ad cannot be null.
I want it to be possible
last one on master
For example, try to use
AbstractProperty::void setRepresentation(class AbstractRepresentation * rep);
on a property belonging to EpcDocument A
with a representation belonging to EpcDocument B
To read the entire string without the null terminating char.
If the string attribute is null terminated, it copies the '\0' into the string.
Last one on master
constantParentCellCountPerKInterval is actually exported as constantParentCellCountPerIInterval
constantParentCellCountPerKInterval exported as given
The implementation of the method makes too much use of constantParentCellCountPerIInterval.
All I, J and K regrid use it instead of just I regrid
last one on master
(Thanks for reporting an issue! Please make sure you click the link above to view the issue guidelines, then fill out the blanks below.)
The windows appveyor build should also try to build the fesapi csharp wrappers project.
0.11
auto resqml_grid = epc.getResqmlAbstractObjectByUuid<AbstractIjkGridRepresentation>("09356035-1adc-4bbd-a34e-ec08d66c8edd");
const_cast<resqml2_0_1::AbstractIjkGridRepresentation*>(resqml_grid)->loadSplitInformation();
unsigned int ncells = static_cast<unsigned int>(resqml_grid->getCellCount());
unsigned int ni = resqml_grid->getICellCount();
unsigned int nj = resqml_grid->getJCellCount();
unsigned int nk = resqml_grid->getKCellCount();
if (resqml_grid->hasEnabledCellInformation())
{
auto enabled = new bool[ncells];
resqml_grid->getEnabledCells(enabled);
}
causes an exception "The HDF5 file ust be opened"
no exception
1.4 up to #93 (a week or two ago)
Hello,
I found an issue in IjkGridParametricRepresentation.cpp. Line 1454, cumulativeLength->NullValue is not properly instantiated.
Regards,
Mathieu
Out of range error occurs line 1454 of IjkGridParametricRepresentation.cpp
I think that line 1454 is inconsistent considering that within setGeometryAsParametricSplittedPillarNodesUsingExistingDatasets, splitCoordinateLineColumnCumulativeCount parameter is an HDF5 dataset path. On my mind, the expression "splitCoordinateLineCount - 1" into brackets does not make sense. I think that this expression is a remain of the splitCoordinateLineColumnCumulativeCount unsigned int array.
fesapi is up to date according to december 11 2017 commit.
Is your feature request related to a problem? Please describe.
The citation format is used to indicate the application using fesapi for exporting RESQML data. This attribute is on each object. Consequently, it is painful to be forced to set the format each time I create an object.
Describe the solution you'd like
I would like to set the format to be applied to each object once for all.
Describe alternatives you've considered
Not any.
Additional context
None
The following error:
In file included from /fesapi-superbuild/fesapi/src/proxies/stdsoap2.cpp:44:
/fesapi-superbuild/fesapi/src/proxies/stdsoap2.cpp: In function 'const char* soap_float2s(soap*, float)':
/fesapi-superbuild/fesapi/src/proxies/stdsoap2.h:1480:32: error: call of overloaded 'isnan(double)' is ambiguous
# define soap_isnan(n) isnan(n)
^
/fesapi-superbuild/fesapi/src/proxies/stdsoap2.cpp:16446:7: note: in expansion of macro 'soap_isnan'
if (soap_isnan((double)n))
^~~~~~~~~~
/fesapi-superbuild/fesapi/src/proxies/stdsoap2.h:1401:16: note: candidate: 'int isnan(double)'
extern "C" int isnan(double);
^~~~~
In file included from /usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/math.h:36,
from /fesapi-superbuild/fesapi/src/proxies/stdsoap2.h:697,
from /fesapi-superbuild/fesapi/src/proxies/stdsoap2.cpp:44:
/usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/cmath:624:3: note: candidate: 'constexpr bool std::isnan(long double)'
isnan(long double __x)
^~~~~
/usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/cmath:619:3: note: candidate: 'constexpr bool std::isnan(double)'
isnan(double __x)
^~~~~
/usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/cmath:611:3: note: candidate: 'constexpr bool std::isnan(float)'
isnan(float __x)
Same error for function isinf.
no error
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
A work around consists to add # ifdef __clang__
just after # ifdef __cplusplus
at line 1401 in stdsoap2.h and add a # endif
after the define function
master branch version
(Thanks for reporting an issue! Please make sure you click the link above to view the issue guidelines, then fill out the blanks below.)
exception "There are no fault associated to the cell connections." is always thrown
To get the interpretation information from the GCSR
the probleme looks that the exception is always thrown from getInterpretationIndexCumulativeCount, getInterpretationIndices, getInterpretationIndexNullValue
last one on master
Hi,
Here is an issue regarding AbstractLocal3dCrs.
Regards,
Mathieu
Not relevant.
Attribute ProjectedAxisOrder of class AbstractLocal3dCrs cannot be set with fesapi. There exists no appropriate setter or constructor.
To provide some facilities to set this attribute (probably by adding a parameter within constructors of classes LocalDepth3dCrs and LocalTime3dCrs).
No.
No.
Up to date regarding last commit.
Hi,
Since the symbols (including namespaces) are identical, it exists a conflict at runtime between the two fesapi versions.
I would like to be able to use (at least) two different versions of fesapi a same application.
The solution looks to be able to easily modify the C++ namespaces of fesapi. Defining the namespaces as CMAKE variables looks to answer all needs.
When you use the installed fesapi, include of nsDefinitions.h is not honored.
The fesapi install should be ok by itself without having to manually copy nsDefinitions.h
latest on master
Grid2dRepresentation allows setting the geometry both with setGeometryAsArray2dOfLatticePoints3d and setGeometryAsArray2dOfExplicitZ.
However, the getters, e.g., get ZValues, only support Point3dZValueArray. The alternate Point3dLatticeArray is not supported.
It would really help if the Grid2dRepresentation supported Point3dLatticeArray more fully.
As it stands, the workaround for the user is to try getZValues, catch the exception, and loop over offsets and spacing to reconstruct the z values. It would be nice if this could be hidden from the users.
Is your feature request related to a problem? Please describe.
There is no SealedVolumeFrameworkRepresentation support.
Describe the solution you'd like
I want Fesapi to support it.
Describe alternatives you've considered
None
Additional context
https://discourse.f2i-consulting.com/t/how-to-create-and-populate-a-volumetric-framework/109
This issue occurs while reading the geometry of a sequence of at least 2 k-interfaces of an IjkGridParametricRepresentation containing at least one straight pillar with 2 control points.
See https://discourse.f2i-consulting.com/t/issue-using-swig-enums/115
in C++:
gsoap_witsml1_4_1_1::witsml1__LengthUom__m = 'm'; // (ASCII 109)
and in Java:
witsml1__LengthUom.witsml1__LengthUom__m = 0
Same value for the same enumerated value.
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
…
master January 2 2019
Some adopters need to transfer perforation data (MDs and events).
Describe the solution you'd like
Since perforation data exist in WITSML2, the intent is to allow access (Read and Write) to them in association with RESQML through wellbores.
Describe alternatives you've considered
Additional context
The support of WITSML 1.4.1.1 will be given up.
Hi,
Here is an issue regarding generation of gSOAP proxies while building fesapi.
Regards,
Mathieu
Following error is raised during proxies generation : " Cannot open 'C:/Dev/fesapiEnv/buildHyperslabbingUncommitted/win64shared/src/C:/Dev/fesapiEnv/energistics_schemas/energyml/data/resqmlv2/v2.0.1/xsd_schemas/Common.xsd' to retrieve schema"
Path looks crazy since current build directory is append to Common.xsd absolute path.
Common.xsd is supposed to be opened properly thanks to line 7 of PropertyTypeMapping.xsd
I tried to update line 63 of src/CMakeLists.txt (adding file:/// as prefix for output Common.xsd location) from
COMMAND cscript ${FESAPI_ROOT_DIR}/gsoap/sed.vbs "sRESQML_SCHEMA_LOCATION${RESQML_SCHEMA_LOCATION}g" < ${FESAPI_ROOT_DIR}/gsoap/PropertyTypeMapping.xsd > ${CMAKE_CURRENT_BINARY_DIR}/PropertyTypeMapping.xsd
to
COMMAND cscript ${FESAPI_ROOT_DIR}/gsoap/sed.vbs "sRESQML_SCHEMA_LOCATION*file:///${RESQML_SCHEMA_LOCATION}*g" < ${FESAPI_ROOT_DIR}/gsoap/PropertyTypeMapping.xsd > ${CMAKE_CURRENT_BINARY_DIR}/PropertyTypeMapping.xsd
Then, I got the following error (by playing again steps to reproduce the issue):
Cannot open 'file:///C:/Dev/fesapiEnv/energistics_schemas/energyml/data/resqmlv2/v2.0.1/xsd_schemas/Common.xsd' to retrieve schema
This issue seems weird since 'file:///C:/Dev/fesapiEnv/energistics_schemas/energyml/data/resqmlv2/v2.0.1/xsd_schemas/Common.xsd' opens properly in an internet browser. This path is definitly correct.
Dev environment:
Up to date on 01/03/2018.
In README.md, it looks ZLIB_LIBRARY_RELEASE is not required but a cmake configure without it fails.
Test AppVeyor
The web page does show any information except something about "My project"
0.11
There is no available method in fesapi to achieve that.
If the min and max are set within the discrete property XML file, then fesapi should just retun them.
If not, fesapi should compute them.
I expect the same behaviour than the one for continuous properties.
0.11
zlib.h is not found
the fesapi build should take into account the ZLIB_INCLUDE_DIR cmake variable
last one on master
Observe fesapi does not prevent against this forbidden usage
An exception should be raised when trying to set a zero epsg code since it is forbidden by XML schema
0.11
According to https://support.hdfgroup.org/HDF5/release/known_problems/ HDF5 libraries prior to 1.8.18 should be avoided.
No method is available
To find some methods to achieve that
latest on master
If you validate the XML file of this horizon, it does not validate.
The day is the zero day instead of being the 1 day.
The export must be XML valid
Regression from #59
0.13
The resulting time_t is -1 which does not represent the transfered datetime.
To be able to read this date which is allowed by the standard
gsoap can map xsd:datetime to char* or struct-tm as well : https://www.genivia.com/doc/databinding/html/
Using struct_tm looks adequat.
last one on master
The creation does not rise any exception but ends with an invalid EPC document (xml files)
An empty UUID should generate a random UUID by FESAPI convention
Last master one
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.