Giter Site home page Giter Site logo

opm / resinsight Goto Github PK

View Code? Open in Web Editor NEW
168.0 38.0 91.0 228.07 MB

3D viewer and post processing of reservoir models

Home Page: http://resinsight.org/

License: GNU General Public License v3.0

C 6.14% CMake 0.84% C++ 88.71% GLSL 0.18% Shell 0.01% MATLAB 0.01% Batchfile 0.01% PowerShell 0.23% Python 0.42% TypeScript 3.37% Roff 0.01% BitBake 0.11%
visualization octave reservoir-modeling eclipse cross-platform opengl c-plus-plus geomechanics python seismic

resinsight's People

Contributors

akva2 avatar andlaus avatar arashpartow avatar astridkbjorke avatar berland avatar bjornarg avatar bska avatar ceetronresinsight avatar crayxt avatar github-actions[bot] avatar hakonhagland avatar hegge avatar iloop2 avatar jacobstoren avatar joakim-hove avatar jonjenssen avatar jorgenherje avatar kriben avatar lindkvis avatar lukka avatar magnesj avatar marthinsen avatar palhagen avatar rebcox1 avatar rebekkasjaastad avatar rolk avatar rubenthoms avatar sigurdp avatar steinid avatar vidarlundb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

resinsight's Issues

Naming of Eclipse Input Files

Imported Eclise Input File grid is just given the case name "Eclipse Input Files". With several grids, this is not practical. The File name for the file in which the grid i read from, should be set at Case Name in the tree.

BUG when running octave script for multiple cases

When selecting multiple cases and execute octave script by right clicking, multiple octave runs are started, but all with CaseID -1. It seems like only the case with the active view is calulated, no matter if it is selected in the tree or not.

Cell Results Legend background and text color

With a black background color in a view, the Cell Result Legend text is not visible. The Cell Results Legend needs to have user defined background color and text color. The Property Editor should be activated by clicking on the Legend in the view.

Segmentation fault for SetGridProperty with selected timestep.

SetGridProperty (0.9.24) gives segmentation fault when timesteps are spesfied:
/project/res/x86_64_RH_5/bin/resinsight: line 2: 3104 Segmentation fault /project/res/x86_64_RH_5/share/Resinsight/ResInsight-0.9.24-el5/resinsight

If all timesteps are used, no error is created, but only timestep 1 is actually copied back to ResInsight.

Script:

GridNo=0;

Test of Dynamic parameter

Load Dynamic parameter with selected time steps:

ts=[1,3,5,7]; # Selected timesteps - Optional input
SOIL = riGetGridProperty(GridNo,"SOIL",ts); #

SOIL=SOIL.*2;

Write result back to ResInsight for selected timesteps

riSetGridProperty(SOIL,GridNo,"SOIL_test_selected_ts",ts);

--------------------------------------------------------------

Test of Dynamic parameter

Load Dynamic parameter with all time steps:

SOIL_ALL = riGetGridProperty(GridNo,"SOIL");

SOIL_ALL=SOIL_ALL.*3;

Write result back to ResInsight for all time steps

riSetGridProperty(SOIL_ALL,GridNo,"SOIL_test_all_ts");

Import ascii-data to Eclipse simulation case

Importing ascii-data (grdecl-format) to simulation case would be useful both for QC and for comparing results from other disciplines (e.g. 4d seismic) with simulation results.

Background

Functionality related to this feature is implemented in RicImportGeneralDataFeature::openEclipseFilesFromFileNames. Currently, this function supports import of ascii based simulations (GRDECL file format). This file contains both grid data and property data in same format.

Related to activity "WP3.7 Import of general parameter in ascii format"

Activities

  • Allow data from text files to be imported into a binary Eclipse case imported based on *.EGRID
  • Investigate how ACTNUM (active cells) from an imported text property can be visualized onto grid cells

See also

https://resinsight.org/export/eclipseproperties/
https://resinsight.org/import/eclipsecases/#eclipse-ascii-input-data

Octave function riGetWellCell index reference starting point

The Octave function riGetWellCell index reference starting point should be (1,1,1) for I/J/K and 1 for BranchId and SegmentId and not 0 to be consistent with simulation input.


Vector[WellCellInfo] riGetWellCells([CaseId], WellName, TimeStep)
This function returns the cells defined in the specified well for the time step requested as a vector of Structures. The Structure is defined as:
WellCellInfo {
I, J, K = int # Index to the cell in the grid
GridIndex = int # the index of the grid. Main grid has index 0.
CellStatus = int # is either 0 or 1, meaning the cell is closed or open respectively
BranchId = int # Branch id of the branch intersecting the cell
SegmentId = int # Branch segment id of the branch intersecting the cell

Navigation mode improvements

For panning of object in view, Shift+MB is available in CAD navigation mode.
However, Right mouse button for panning would be a better alternative. Avoid Shift use. Similar to rms default behavoir.

Cannot build on Mac OS X

Using Mac OS X 10.7 (Lion), with Qt SDK 1.2.1 (Qt 4.8.1), cmake is successful,
but make fails:

[ 0%] Building CXX object VisualizationModules/LibCore/CMakeFiles/LibCore.dir/cvfAssert.cpp.o
clang: error: no such file or directory: '/openmp'
make[2]: *** [VisualizationModules/LibCore/CMakeFiles/LibCore.dir/cvfAssert.cpp.o] Error 1
make[1]: *** [VisualizationModules/LibCore/CMakeFiles/LibCore.dir/all] Error 2
make: *** [all] Error 2

riGetGridDimensions array dimension

riGetGridDimensions for only a main grid produces a 3x1 array, and not a 1x3 array as expected from specifications.

Including a LGR gives a 3x2 array, and not a 2x3 as expected.

Fails to build on Red Hat 6

Tried to build on Red Hat 6 unsuccessfully, and the error message does not make sense to me. Seems to be related to the Octave plugin. This is where it occurs (line above and below included):

[ 55%] Generating /private/abir/ResInsight/build/OctavePlugin/riGetActiveCellProperty.oct
Assembler messages:
Fatal error: can't create riGetActiveCellProperty.o: Permission denied
[ 55%] Building CXX object VisualizationModules/LibRender/CMakeFiles/LibRender.dir/cvfUniformSet.cpp.o

Create Property filter in 3D view

From the RB mouse klick on a model in a 3D view, the property viewed could be available as an option (in addition to I/J/K-filters) to be set as a "Property Filter" and with the filter name set equal to the property name.

synchronised visualisation

It would be great to have the possibility to synchronise visualisation of multiple projects.
Currently I work on three different simulations of the same model. So I load all the 3 eclipse simulations and then I want to compare them layer by layer. Now I have to define separatly for each model the property I want to visualize, the layer, the time step etc. It would save me a lot of time (and clicking) if I could kind of synchronise or lock the three models so that I could define property, layer, time step for all three models in one single operation (instead of for each model). Rgds.

Toolbar - Well cell filter

"Short-cut" for the Well cell filter option on the toolbar. This will make this function much more available for users.
The well cell fence in i,j,k direction may also be included.

Multiple loading of grids on .grdecl (ascii) format

When several grid on .grdecl format via Import/Open Input Eclipse Case are selected, only the first grid is loaded. Multiple grid loading would be more practical, where properties read are put latest read grid (after size check)

Ability to remove ACTNUM filter

When ACTNUM is imported in a grid model, cells with ACTNUM=0 are automatically filtered away. This is correct behaviour, but in some cases the ACTNUM array has too many zeroes due to other bugs. Thus, it would be nice to be able to remove the implicit ACTNUM==1 property filter.

ternary view

Have you considered implementing visualisation of ternary data, that is to say simultaneous visualisation of all three phases saturations (Soil/Sgas/Swater)? This a very usefull and powerfull feature when reviewing simulation results. Rgds

Build fails on RHEL6

I should have caught this one before, so time to automate build tests I believe. I checked back to the 0.9.2 dump on February 11th, and the build failure was present. Cmake goes well, but during make I get:

[ 2%] Building CXX object VisualizationModules/LibCore/CMakeFiles/LibCore.dir/cvfCharArray.cpp.o
make[2]: *** [VisualizationModules/LibRender/CMakeFiles/LibRender.dir/cvfBufferObjectManaged.cpp.o] Error 1
make[1]: *** [VisualizationModules/LibRender/CMakeFiles/LibRender.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

and indeed the build fails with:

/private/abir/dev/ResInsight/ThirdParty/Ert/devel/libert_util/src/block_fs.c:428: warning: ‘file_node_index_fread_alloc’ defined but not used
Linking C shared library ../../lib64/libert_util.so
[ 18%] Built target ert_util
make: *** [all] Error 2

Legend Definition Precision

Legend Definition Precision defined by a user defined number seems to be more a number of Desimals spesification.

Legend Definition Precision = 0 do not produce a valid legend, but it would be useful to have Legends presented with 0 desimals for some parameters.

Fails to build on Red Hat 5

Cmake runs fine, but make fails. The ouput from cmake is rather noisy, I will attach all of it in a file.

Octave function riGetCaseGroups gives wrong data structure naming

In ResInsight 0.9.29, the Octave function function riGetCaseGroups names the resulting data structure CaseName, and not CaseGroupName as expected.


Vector[CaseGroupInfo] riGetCaseGroups()
This function returns a CaseGroupInfo Structure for each of the case groups in the current ResInsight project.
CaseGroupInfo = {
CaseGroupId = int # A project-unique integer used to address this particular CaseGroup
CaseGroupName = string # The name assigned to the CaseGroup in ResInsight

Reload data from ongoing simulation

For a on-going reservoir simulation, it would be practical to update the case directly in the tree-structure, compared to import it as a new case.

Loading libecl fails

I am unable to start Resinsight on Red Hat 6, error message as follows:

error while loading shared libraries: libecl.so.1.0: cannot open shared object file: No such file or directory

Assertion failed for localGridIndex

When reading the EGRID-file for a LGR case (incl. also multisegm.wells) Resinsight ended with the following error message:
Assertion failed: (localGridIndex - 1 < m_localGrids.size()), file /var/lib/jenkins/jobs/ResInsightBuildFromGitHub-inte rnal/workspace/ApplicationCode/ReservoirDataModel/RigMainGrid.cpp, line 107

Caset ligger her: /project/multiscale/OPM/Ceetron/simu/Troll/MSW_LGR/
og er kopiert over på ftp

Assertion failed (bb.isValid()) when opening eclipse case

When I try to open an Eclipse input case, the program aborts with the following error:

Warning: character string: 'F' ignored when reading keyword:SPECGRID
Assertion failed: (bb.isValid()), file [snip]/ResInsight/VisualizationModules/LibViewing/cvfModelBasicList.cpp, line 186
Aborted (core dumped)

I used the following input file: http://folk.ntnu.no/spaans/parallel.grdecl

I'm using Ubuntu 13.04 64-bit on a machine with i7-3930K CPU, 16 GB RAM and AMD 7950 card. For installing prerequisites and buiding the program I followed the README to the point. I use gcc 4.8.1 and cmake 2.8.10.1.

ResInsight won't read eclipse output data from upscaling application

This issue has been discussed via e-mail for some time (at least @joakim-hove, @hhgs, @magnesj and myself has been involved), but for the sake of openness it really belongs to the GitHub issue tracker. I choose to open it here, but it is not clear to me whether this issue belongs here or in another OPM module, e.g. opm-core or opm-upscaling.

The problem is that not all eclipse output files from the upscaling application steadystate_test_implicit are possible to open in ResInsight. The produced EGRID file opens fine, but the UNRST files are not possible to open. Three issues have been identified:

  • The basename (without extension) of all eclipse output files must be identical.
  • ERT crashes when time stampes are prior to 1970.
  • The number of active cells in the EGRID files does not match the number of parameter values in the UNRST files.

By this issue I do not intend to push those of you already working on it, but it is probably for the best to let the hole community of OPM be aware of it.

Octave error: Waiting for header

For large data set, typically when using dynamic data, the octave communication is not yet stable. Other octave functions with less information copied to octave works ok.

ResInsight 0.9.28 (with octave runned locally) still gives:

10:16:58 Process starting
error: Waiting for header: Network operation timed out
error: evaluating assignment expression near line 4, column 6
error: near line 4 of file /project/res/riOctaveScripts/TimeDiff_SOIL.m' error: feval: the symboljava_exit' is not valid as a function
10:17:29 Process finished

Truncated grid blocks

ResInsight has problems reading grid blocks in Z-direction. All layers seem to be trunckated into one.

Octave function riGetWellNames Class definition

The well names from the Octave function riGetWellNames are Class type 'char', which is not practical to address for later use. The Class should be changed to 'cell' .

Example:
WellNames = riGetWellNames();

% Change to Class: Cell
[n m]=size(WellNames);
cellWellNames={};
for i=1:n
cellWellNames{i}=strtrim(WellNames(i,:));
end

Well name legend color user defined

The well name legends are presented with a white color. On a white background color, the well names are not visible. The well name legends need to be user defined.

Time to simplify install scripts?

Currently we are up to four layers of install scripts for Resinsight. Hence, it would be nice to take an overview and see if there are some obvious places where we can simplify things and make them less error prone.

Beginning from the inner most script, I am wondering if it really is necessary to get and set the install script before the binary loads. I do not remember the discussion on this point, so is there any obvious reason why QDir is not used?
ref. http://stackoverflow.com/questions/7402576/how-to-get-current-working-directory-in-a-qt-application

Secondly, it seems the application automagically finds libraries located in the folder of the binary. Hence, I am wondering if LD_LIBRARY_PATH is really needed. I am afraid I do not remember the reasoning here, but maybe we should just do a test across a number of our machines at our end to see if we can get by without.

Lastly, maybe it is time to stop bundling Qt on linux. Just today I had issues starting Resinsight on my Red Hat 6 box due to incompatibilities between Qt libs. That would leave the Octave functions as the only bundle.

Thoughts are welcome.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.