Open VDS issueshttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues2023-09-06T10:11:02Zhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/201SEG-Y header field definition at the last byte location doesn't work2023-09-06T10:11:02ZMorten OfstadSEG-Y header field definition at the last byte location doesn't workSEGYImport does not allow reading the last FourByte header word from the SEGY header.
If the crossline in the last header word, you can define a JSON file as follows:
```
{
"InlineNumber" : [ 233, "FourByte"],
"CrosslineNumber"...SEGYImport does not allow reading the last FourByte header word from the SEGY header.
If the crossline in the last header word, you can define a JSON file as follows:
```
{
"InlineNumber" : [ 233, "FourByte"],
"CrosslineNumber" : [ 237, "FourByte"]
}
```
This gives an ‘illegal field’ definition error because the code checks that 237 + 4 is no more than 240 which is off-by-one.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/200Any hint on generate fast slices?2023-08-30T13:35:01ZQiang FuAny hint on generate fast slices?I would like to read data inline by inline, crl by crl. I saw the documents said it could be done by fast slices, any hint how to handle it? Does segyimport support it?I would like to read data inline by inline, crl by crl. I saw the documents said it could be done by fast slices, any hint how to handle it? Does segyimport support it?https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/199SEGYImport DataProvider for DMS needs to support chunked datasets2024-02-26T20:08:56ZMorten OfstadSEGYImport DataProvider for DMS needs to support chunked datasetsSEG-Y datasets in DMS uploaded with sdutil will have a default chunk size of 32MB, the DataProvider class needs to support this in order to successfully import the data. See this issue for details:
https://community.opengroup.org/osdu/p...SEG-Y datasets in DMS uploaded with sdutil will have a default chunk size of 32MB, the DataProvider class needs to support this in order to successfully import the data. See this issue for details:
https://community.opengroup.org/osdu/platform/pre-shipping/-/issues/585#note_246359Deepa KumariDeepa Kumarihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/198Failed to create 3D Prestack container on OSDU2023-08-29T14:40:24ZAnatoly YanchevskyFailed to create 3D Prestack container on OSDUI try to create 3D Prestack with 4 axis:
Sample/Trace(offset)/Crossline/Inline
Error occurred on call "OpenVDS::Create".
Message: "DimensionGroup 41 is not a valid dimension."
Stack: [call_stack.txt](/uploads/fb0ec722ccda7ec907d357aa4b0...I try to create 3D Prestack with 4 axis:
Sample/Trace(offset)/Crossline/Inline
Error occurred on call "OpenVDS::Create".
Message: "DimensionGroup 41 is not a valid dimension."
Stack: [call_stack.txt](/uploads/fb0ec722ccda7ec907d357aa4b03a211/call_stack.txt)
Same volume can be created on local disk.
Output from VDSInfo: [VDSInfo_axis.txt](/uploads/1ecb09ef3ce874ef18686d3397a45a61/VDSInfo_axis.txt) and [VDSInfo_channels.txt](/uploads/bd3daf2ce80b5022ecab479f329109d7/VDSInfo_channels.txt)
Probably, I do something wrong, but I did not understand what exactly.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/197Deadlock in VolumeDataRequestProcessor::WaitForCompletion after cancel loadin...2023-08-25T07:48:49ZAnatoly YanchevskyDeadlock in VolumeDataRequestProcessor::WaitForCompletion after cancel loading one of LODsWe create several LODs in OpenVDS container. When our viewer display data, some time need to cancel loading one of the LODs.
It produce deadlock in open-vds library.
Two threads that are in the deadlock: [stack_1.txt](/uploads/25ff1d9f8...We create several LODs in OpenVDS container. When our viewer display data, some time need to cancel loading one of the LODs.
It produce deadlock in open-vds library.
Two threads that are in the deadlock: [stack_1.txt](/uploads/25ff1d9f89d453a9b1a11eec99dcb5ab/stack_1.txt) and [stack_2.txt](/uploads/8dfb70257b51f09f3f6c8df050abdc5b/stack_2.txt)
To fix that, we do next changes: [VolumeDataRequestProcessor.patch](/uploads/9ddab5fc678d95834df15a07fc5874d9/VolumeDataRequestProcessor.patch)
Problem occurred on Linux, open-vds 3.0.3. But we found that in latest version function VolumeDataRequestProcessor::WaitForCompletion did not changed.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/196Wavelet compression in Python2023-08-29T14:41:08ZVasilii SinkevichWavelet compression in PythonHi,
I am investigating VDS capabilities and trying to convert numpy array into VDS using Wavelet compression.
I am using the example provided along the source code (npy_to_vds.py) with minimal changes
Everything works fine with no com...Hi,
I am investigating VDS capabilities and trying to convert numpy array into VDS using Wavelet compression.
I am using the example provided along the source code (npy_to_vds.py) with minimal changes
Everything works fine with no compression or with Zip or RLE compression, I can write and read data back, but if I try using Wavelet, like this:
```python
compressionMethod = openvds.CompressionMethod(1)
```
the code execution gets stuck at committing changes
```python
accessor.commit()
```
regardless of compression tolerance value. It just hangs here for ages.
I am wondering if python port is actual OpenVDS+ binding, maybe it is actually OpenVDS (without plus) that do not support wavelet compression?
If it *is* OpenVDS+, could you please provide a sample of the code (or maybe edit npy_to_vds.py) that saves VDS format with wavelet compression?
EDIT: I am working on Debian 9, python 3.9, openvds 3.2.6
Thanks,
Vasiliihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/195Missing const in Sample-functions in VolumeDataAxisDescriptor2023-07-04T09:13:40ZAlena ChaikouskayaMissing const in Sample-functions in VolumeDataAxisDescriptor```
SampleIndexToCoordinate
CoordinateToSampleIndex
CoordinateToSamplePosition
```
functions in [OpenVDS::VolumeDataAxisDescriptor](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/blob/master/s...```
SampleIndexToCoordinate
CoordinateToSampleIndex
CoordinateToSamplePosition
```
functions in [OpenVDS::VolumeDataAxisDescriptor](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/blob/master/src/OpenVDS/OpenVDS/VolumeDataAxisDescriptor.h#L113) seem to not modify anything, yet they are not marked as const.
Not being able to use const objects with these functions is inconvenient.
Is this an oversight or is it in theory possible for these operations to change something?https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/194allow limiting OpenMP/ThreadPool num of threads at runtime (via omp_num_threads)2023-07-12T13:55:36ZFilip Brzękallow limiting OpenMP/ThreadPool num of threads at runtime (via omp_num_threads)Hello,
It seems, that setting `OMP_NUM_THREADS=<int>` doesn't seem to have an effect, due to constants and limiting logic `src/OpenVDS/VDS/WaveletOpenMP.h`
and
```c++
#define WAVELET_OPENMP_SSE_THREAD_COUNT 4
#define WAVELET_OPENMP_MEM...Hello,
It seems, that setting `OMP_NUM_THREADS=<int>` doesn't seem to have an effect, due to constants and limiting logic `src/OpenVDS/VDS/WaveletOpenMP.h`
and
```c++
#define WAVELET_OPENMP_SSE_THREAD_COUNT 4
#define WAVELET_OPENMP_MEMORY_THREAD_COUNT 2
namespace Wavelet {
inline int Wavelet_GetEffectiveOpenMPThreadCount(int wantedThreadCount)
{
return std::max(1, std::min(omp_get_num_procs() - 2, wantedThreadCount));
}
}
```
and how that's used here
```log
src/OpenVDS/VDS/WaveletAdaptiveLLDecompress.cpp:537: const int threadCount = Wavelet_GetEffectiveOpenMPThreadCount(WAVELET_OPENMP_SSE_THREAD_COUNT);
src/OpenVDS/VDS/WaveletAdaptiveLLDecompress.cpp:666: const int threadCount = Wavelet_GetEffectiveOpenMPThreadCount(WAVELET_OPENMP_SSE_THREAD_COUNT);
src/OpenVDS/VDS/WaveletDecompress.cpp:636: WaveletTransform_InverseTransform_SSE(Wavelet_GetEffectiveOpenMPThreadCount(WAVELET_OPENMP_SSE_THREAD_COUNT), tempBuffer.data(), tempBufferSize, source, m_transformIterations, m_bandSize, m_transformMask, m_allocatedSizeX, m_allocatedSizeXY, m_integerInfo);
```
which always defaults to `omp_get_num_procs`, which is not ideal if the underlying machine is shared between workloads, it's spawning threads either based on `WAVELET_OPENMP_SSE_THREAD_COUNT 4` or `num_procs - 2`, whereas we would like to control max allowed by `OMP_NUM_THREADS`.
Is this something that can be improved? Or there are some designs for WaveletAdaptive implementation, that must have at least 4 compute threads.
context: Our recent observation yielded ~200+ Open VDSCopy threads on a 100+ core machine, which is of a shared nature, causing some other problems and unpredictable bursts of load when VDSCopy is invoked.
EDIT: seems the rest of the threads might be coming from threadPool, can we have a runtime limitation for this as well?
```log
src/OpenVDS/IO/IOManagerInMemory.cpp:11: , m_threadPool(std::thread::hardware_concurrency())
src/OpenVDS/VDS/VolumeDataRequestProcessor.cpp:1721: , m_threadPool(std::thread::hardware_concurrency())
```
I can submit a PR if you like.
Thanks,
Filiphttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/193Change in behavior of rare formats after upgrade2023-06-23T11:44:23ZAlena ChaikouskayaChange in behavior of rare formats after upgradeHi!
Some of our tests failed after upgrade to openvds master.
Seems to be caused by commit 560aa68029de532bc2a2b1d1c3d28229fcb9ba7a
Tests which started to fail request data from vds created from SEGY in formats [format3.segy](/uploads/...Hi!
Some of our tests failed after upgrade to openvds master.
Seems to be caused by commit 560aa68029de532bc2a2b1d1c3d28229fcb9ba7a
Tests which started to fail request data from vds created from SEGY in formats [format3.segy](/uploads/9e27a6b840c695d308517d1490bb2574/format3.segy), [format8.segy](/uploads/a8a04f7d69d85464db78c4c0f6fb9f4a/format8.segy), [format11.segy](/uploads/71dc95ca89c5c0e3d7869979d12c3f19/format11.segy), [format16.segy](/uploads/d0673ee9e49f08ed0de338a8bc3e46eb/format16.segy) (signed short 2 byte, signed char 1 byte, unsigned short 2 byte, unsigned char 1 byte) by using RequestVolumeTraces.
Per our previous experience, for all supported format this method returned us data in f4. Requested buffer is in floats, after all.
Now the following code [format.cpp](/uploads/38bf2d7b5adecf75b46bcb5f5e1f881b/format.cpp) produces results like that:
| | old openvds | new openvds |
|--------------|-----------------------------------------|-----------------------------------------------------------------------|
| format3.vds | 100 101 102 103 104 105 106 107 108 109 | -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768 |
| format8.vds | 100 101 102 103 104 105 106 107 108 109 | -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 |
| format11.vds | 100 101 102 103 104 105 106 107 108 109 | 0 0 0 0 0 0 0 0 0 0 |
| format16.vds | 100 101 102 103 104 105 106 107 108 109 | 0 0 0 0 0 0 0 0 0 0 |
Did we as usual make some incorrect assumption or is it a breaking change?
[format16.vds](/uploads/c88014b946188f95c4511e7c517d48dd/format16.vds)
[format11.vds](/uploads/5f012a4590218ba68e27648ed06e30b6/format11.vds)
[format8.vds](/uploads/dc1df019ae30dd4863c67bc06f964b5f/format8.vds)
[format3.vds](/uploads/2a23f1b8f8a0155e9f8e1d69f72c7ab0/format3.vds)https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/192Samples order in the SliceRequestTraces does not depend on axis direction.2023-06-22T12:15:33ZTimofey AbramovSamples order in the SliceRequestTraces does not depend on axis direction.We had used the "VolumeDataAccessManager::SliceRequestSamples" api for making slices this way:
1) Obtaining number of samples for each axis via `axisDescriptors[i].GetNumSamples()`;
2) Obtaining min-max world coordinates of boundary poin...We had used the "VolumeDataAccessManager::SliceRequestSamples" api for making slices this way:
1) Obtaining number of samples for each axis via `axisDescriptors[i].GetNumSamples()`;
2) Obtaining min-max world coordinates of boundary points, i.e. at `0` and `GetNumSamples() - 1`;
3) Creating grid of 3D slice world coordinates within the min and max;
4) Translating them to Voxel indexes via `WorldCoordinatesToVoxelIndexFloat`;
5) Applying `RequestVolumeSamples` function.
Now we have migrated to `SliceRequestTraces` along the `traceDimension = 0`, i.e. vertical axis, let us name it "Z" axis. And we noticed in the `RequestVolumeSamples` output a point with min world "Z" coordinate (for example, `-1000`) corresponds to the bottom (deepest) point in the source seg-y, and max (for example,`0`) corresponds to the top, i.e. the "Z" axis directed from deep to surface. But in the `SlicRequestTraces` output the first point in the trace corresponds to the top (surface) sample, last one - to the bottom (deepest) one, as in the surce seg-y. So we have questions:
1) Is the samples order same as in the source seg-y? If yes, are there seg-ys that store trace in inverse order (deepest point first);
2) Is the samples number same as in the source seg-y? I.e. in all obtained by the "SliceRequestTraces" traces?
3) Does the samples number along Z in the `RequestVolumeTraces` result always equal to `axisDescriptors[0].GetNumSamples()`?https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/189Error uploading VDS (VDSCopy) into a OSDU subproject2023-08-29T14:41:36ZJuliana Fernandesjuliana.fernandes@iesbrazil.com.brError uploading VDS (VDSCopy) into a OSDU subprojectHello,
I'm trying to use OpenVDS+ 3.2.6 to upload a vds file into a OSDU subproject at AWS.
The upload goes fine until 84.21% and them stop the progress. I left the process run more than 12 hours without any updates. The VDS file h...Hello,
I'm trying to use OpenVDS+ 3.2.6 to upload a vds file into a OSDU subproject at AWS.
The upload goes fine until 84.21% and them stop the progress. I left the process run more than 12 hours without any updates. The VDS file has around 5.7GB. I can get the dataset info in postman, but the path postman indicates does not exist into the console.
Regards,
Juliana Fernandes
![VDSCopy](/uploads/4b8652d47846bc60428d4d13500de65a/VDSCopy.png)
![dataset_info_postman](/uploads/875e9ae95b1839bc6e5639054e6f5cdb/dataset_info_postman.png)
![aws_console_subproject](/uploads/69272e0e2863e94b1e765d2d130c36c4/aws_console_subproject.png)https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/188Compressed and Uncompressed size of a VDS2024-02-26T20:09:18ZJørgen Lindjorgen.lind@3lc.aiCompressed and Uncompressed size of a VDSIt would be nice to be able to get the compressed and uncompressed size of a VDS. It would also be very handy if this was exposed in VDSInfoIt would be nice to be able to get the compressed and uncompressed size of a VDS. It would also be very handy if this was exposed in VDSInfohttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/186Error copying VDS (VDSCopy) generated by Headwave to S32023-05-24T07:27:22ZRodrigo EirasError copying VDS (VDSCopy) generated by Headwave to S3I am trying to upload a VDS to a bucket into S3 and the error popped out into the console.
Screenshot attached.
I converted the SEGY to VDS using OpenVDS+ and I could to upload it to S3 bucket.
I converted the same SEGY to VDS using hea...I am trying to upload a VDS to a bucket into S3 and the error popped out into the console.
Screenshot attached.
I converted the SEGY to VDS using OpenVDS+ and I could to upload it to S3 bucket.
I converted the same SEGY to VDS using headwave and throws the error.
![error](/uploads/c9f8ddb5bf08994304e0733a1a4c0726/error.jpg)
This is the command that I used to:
.\VDSCopy.exe "C:\Users\rodri\IesBrazil\IesBrazil - PROJETOS\BLUWARE\VDS EXAMPLE\Sismica3D\Exmouth_tol1_w.vds" -d "Region=sa-east-1; AccessKeyId=xxxx; SecretKey=xxxx" s3://demo-vds-paleoscan/1/Exmouth_tol1_whttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/185SEGYImport stucks when importing seg-y with "Wavelet" compression method.2023-07-17T11:53:08ZTimofey AbramovSEGYImport stucks when importing seg-y with "Wavelet" compression method.We have a segy that is big-endian on headers data, but little endian in traces data. So SEGYImport cannot process traces data correctly. But it is not the issue we are reporting (and we [know about it](https://community.opengroup.org/osd...We have a segy that is big-endian on headers data, but little endian in traces data. So SEGYImport cannot process traces data correctly. But it is not the issue we are reporting (and we [know about it](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/162#note_172762)). The main issue is stucking the SEGYImport utility with "Wavelet" compression method on this file:
```
C:\Users\t.abramov_rogii\Downloads\openvds+-3.2.5\bin\msvc_141>SEGYImport.exe --input "D:/Format8_fixed_cropped.sgy" --vdsfile="D:/out" --compression-method=Wavelet
SEGYImport - OpenVDS+ 3.2.5 - Revision: c2525fbab73bd4977c1b6092fe9785bd612a479f
Importing into: D:/out
87.50 % Done.The value range in the wavelet compression was NaN or close to Inf. Clamping value range to +-10^30.
```
And it stucks at this progress.
SEGY: [Format8_fixed_cropped.sgy](/uploads/655e487aaef0133d347f51d5e61ba6ce/Format8_fixed_cropped.sgy)https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/184Question: How to create VDS with an OpenVDS::VDSError in constructor? (Python...2023-05-16T14:07:50ZFilip BrzękQuestion: How to create VDS with an OpenVDS::VDSError in constructor? (Python API)Dear Devs,
I was trying to use `openvds.create` with an error output parameter, however, seems Pybind11 exports are not happy with accepting `<class 'openvds.core.VDSError'>` for argument typed as `error: OpenVDS::VDSError`.
The snippe...Dear Devs,
I was trying to use `openvds.create` with an error output parameter, however, seems Pybind11 exports are not happy with accepting `<class 'openvds.core.VDSError'>` for argument typed as `error: OpenVDS::VDSError`.
The snippet I'm playing with is something like that:
```Python
import openvds
self.forward_error = openvds.VDSError
self.vds_handle: openvds.core.VDS = openvds.create(
vds_url,
connection_string,
layout_descriptor,
axis_descriptors,
channel_descriptors,
metadata_container,
self.forward_error,
)
```
code without passing `self.forward_error` works correctly. If I try to fill error output parameter I'm getting:
```log
TypeError: create(): incompatible function arguments. The following argument types are supported:
E 1. (url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, error: OpenVDS::VDSError) -> openvds.core.VDS
E 2. (url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float) -> openvds.core.VDS
E 3. (url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, error: OpenVDS::VDSError) -> openvds.core.VDS
E 4. (url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess) -> openvds.core.VDS
...
E Invoked with: '/tmp/pytest-of-filip/pytest-32/<REDACTED>/subset_0.vds', '', <openvds.core.VolumeDataLayoutDescriptor object at 0x7f80f269c0b0>, [<openvds.core.VolumeDataAxisDescriptor object at 0x7f80f269c830>, <openvds.core.VolumeDataAxisDescriptor object at 0x7f80f269c970>, <openvds.core.VolumeDataAxisDescriptor object at 0x7f80f269cc70>], [<openvds.core.VolumeDataChannelDescriptor object at 0x7f80f269c870>], <openvds.core.MetadataContainer object at 0x7f80f2683fb0>, <class 'openvds.core.VDSError'>
```
From the log message, the constructor that works is number 4, and the one I'm trying to use is 3. Am I doing something dumb, and seeing it?
Context: We're trying to debug a rare issue, where writing data pages fails without apparent exception in Python, causing a zombie Python process in a container, that just hangs; My thought was, we might be able to use an error parameter constructor to have some logs, as the issue occurred a handful of times till then, and we don't have a root cause yet, but neither do we have any logs. If you have any tips, on how to grab any log that might have been created (we're writing to the S3 bucket, behind OSDU SDMS API) I would appreciate it.
Thanks,
Filiphttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/183Update documentation build system2023-09-15T11:31:24ZMorten OfstadUpdate documentation build systemInclude the sphinx-design module so we can have multi-language example code in tabs:
https://sphinx-design.readthedocs.io/en/rtd-theme/tabs.html
Replace the markdown module with MyST:
https://myst-parser.readthedocs.io/en/v0.15.1/sphinx/...Include the sphinx-design module so we can have multi-language example code in tabs:
https://sphinx-design.readthedocs.io/en/rtd-theme/tabs.html
Replace the markdown module with MyST:
https://myst-parser.readthedocs.io/en/v0.15.1/sphinx/intro.htmlMorten OfstadMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/182The sdapi proxy is neither forward nor backward compatible.2024-01-30T12:14:42ZPaal KvammeThe sdapi proxy is neither forward nor backward compatible.I have run tests on version 3.2.1 using both the old "sdapi" I/O manager and the new "proxy" I/O manager, using VDSCopy. I have built OpenVDS from sources. Observations:
- A file on the cloud written using the "sdapi" manager cannot be ...I have run tests on version 3.2.1 using both the old "sdapi" I/O manager and the new "proxy" I/O manager, using VDSCopy. I have built OpenVDS from sources. Observations:
- A file on the cloud written using the "sdapi" manager cannot be read with the "proxy" manager.
- A file on the cloud written using the "proxy" manager cannot be read with the "sdapi" manager.
- Additionally, the file written using the "proxy" manager is seen as corrupt by other dms applications. The list of block names is empty. Somehow the meta-data isn't stored correctly.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/181Create 2d-lod for 3D post-stack data2023-03-31T12:48:06ZXudong DuanCreate 2d-lod for 3D post-stack dataAs the OpenVDS documentation, there is channel named "Fast Slices". I use SEGYImport tool with the "--create-2d-lods" option to translate a 3D post-stack SEGY. When I use the HueList the show the information of the generated VDS file, th...As the OpenVDS documentation, there is channel named "Fast Slices". I use SEGYImport tool with the "--create-2d-lods" option to translate a 3D post-stack SEGY. When I use the HueList the show the information of the generated VDS file, there is no data related to 2d-lod.
I want to ask how to generate 2d lods for 3d post-stack data.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/180openvds fails to read from s3 bucket2023-03-27T06:24:30ZGeorge Zavitsanosopenvds fails to read from s3 bucketI am using openvds-3.2.1 python package from PyPI. I am trying to connect and read a .vds format file located in a AWS S3 bucket, in which I have full access.
But the below code, fails:
uri = "s3://bucket-name/path-to-vds-file/filename...I am using openvds-3.2.1 python package from PyPI. I am trying to connect and read a .vds format file located in a AWS S3 bucket, in which I have full access.
But the below code, fails:
uri = "s3://bucket-name/path-to-vds-file/filename.vds"
openvds.open(uri)
with the error:
RuntimeError: Error on downloading VolumeDataLayout object: Http error respons: 404 -> https://bucket-name.s3.eu-central 1.amazonaws.com/path-to-vds-file/filename.vds/VolumeDataLayout
Reading vds files is working smoothly in my local environment.
Any help would be really appreciated. Thanks.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/178Installation on MacOS does not install libuv (OpenVDS 3.2.1)2023-04-03T08:34:43ZAlexander JaustInstallation on MacOS does not install libuv (OpenVDS 3.2.1)Thank you so much for updating the installation process! The actual compile process worked for me without any problems. :thumbsup:
## Description
I install OpenVDS in a non-standard installation prefix (I will call it `INSTALLATION_DI...Thank you so much for updating the installation process! The actual compile process worked for me without any problems. :thumbsup:
## Description
I install OpenVDS in a non-standard installation prefix (I will call it `INSTALLATION_DIR`). After the compilation and installation step I get the following error message when using tools like `VDSInfo` or `SEGYImport`:
```
$ VDSInfo --help
dyld[19054]: Library not loaded: @rpath/libuv.1.dylib
Referenced from: <B3C82796-5CB5-3C06-97AE-C111D8D19A9C> /Users/AEJ/software/openvds-3.2.1-install-python/lib/libopenvds.3.2.1.dylib
Reason: tried: '/Users/AEJ/software/openvds-3.2.1-install-python/lib/libuv.1.dylib' (no such file), '$ORIGIN/libuv.1.dylib' (no such file), '$ORIGIN/libuv.
1.dylib' (no such file), '$ORIGIN/../lib64/libuv.1.dylib' (no such file), '$ORIGIN/../lib64/libuv.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS@rpath/libuv.1.dylib' (no such file), '$ORIGIN/libuv.1.dylib' (no such file), '$ORIGIN/libuv.1.dylib' (no such file), '$ORIGIN/../lib64/libuv.1.dylib' (no
such file), '$ORIGIN/../lib64/libuv.1.dylib' (no such file), '/usr/local/lib/libuv.1.dylib' (no such file), '/usr/lib/libuv.1.dylib' (no such file, not in dyld cache)
Abort trap: 6
```
## Manual fix
I could fix the problem by:
1. Copy `libuv.1.0.0.dylib` from `${BUILD_DIR}/libuv_1.44.2_install/Release/lib/libuv.1.0.0.dylib` to `${INSTALLATION_DIR}/lib`.
2. Create a symlink within the ``${INSTALLATION_DIR}/lib/` directory such that `libuv.1.dylib -> libuv.1.0.0.dylib`.
Now the error is gone
```
$ VDSInfo --version
VDSInfo - OpenVDS 3.2.1 - Revision: 6922d9151901e3d727b31c776559dd033add30fd
```
## Compilation command
```
cmake -S . \
-B build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_JAVA=OFF \
-DBUILD_PYTHON=ON \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTS=OFF \
-DBUILD_DOCS=OFF \
-DDISABLE_AWS_IOMANAGER=ON \
-DDISABLE_AZURESDKFORCPP_IOMANAGER=ON \
-DDISABLE_GCP_IOMANAGER=ON \
-DDISABLE_DMS_IOMANAGER=ON \
-DDISABLE_STRICT_WARNINGS=ON \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DAUTO_ADJUST_UUID=OFF \
-DBUILD_CURL=OFF \
-DCMAKE_MACOSX_RPATH=ON \
-DCMAKE_INSTALL_PREFIX="${INSTALLATION_DIR}"
```
## System
* Arm64 MacOS 13.2.1
* OpenVDS 3.2.1
* clang 14.0.0
```
$ clang --version
Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: arm64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
```
* cmake 3.26.0 (via Homebrew)