opm / resinsight Goto Github PK
View Code? Open in Web Editor NEW3D viewer and post processing of reservoir models
Home Page: http://resinsight.org/
License: GNU General Public License v3.0
3D viewer and post processing of reservoir models
Home Page: http://resinsight.org/
License: GNU General Public License v3.0
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.
ResInsight 0.9.26
riSetGridProperty gives only 0-values in ResInsight for dynamic parameters except for the first timestep. This happens if all timestep are used (default) or if a selection of timesteps are used.
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.
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.
It would make script administration easier if script files could be copied and pasted between the script folders in ResInsight.
In commit 1e7c4a3 the variable PRIVATE_INSTALL
was renamed to RESINSIGHT_PRIVATE_INSTALL
but the package files were apparently not updated correspondingly.
A toolbar function to measure lengths (2D and 3D) in a 3D view
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.
GridNo=0;
ts=[1,3,5,7]; # Selected timesteps - Optional input
SOIL = riGetGridProperty(GridNo,"SOIL",ts); #
SOIL=SOIL.*2;
riSetGridProperty(SOIL,GridNo,"SOIL_test_selected_ts",ts);
SOIL_ALL = riGetGridProperty(GridNo,"SOIL");
SOIL_ALL=SOIL_ALL.*3;
riSetGridProperty(SOIL_ALL,GridNo,"SOIL_test_all_ts");
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.
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"
https://resinsight.org/export/eclipseproperties/
https://resinsight.org/import/eclipsecases/#eclipse-ascii-input-data
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
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.
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 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.
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
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.
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.
Platform: Ubuntu Linux Precise (12.04)
"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.
Nuff said. baaaad.
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)
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.
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
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 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.
Cmake runs fine, but make fails. The ouput from cmake is rather noisy, I will attach all of it in a file.
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
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.
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
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
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.
Optional parameter for "Generated" and "Input parameter" in Octave riGetActiveCellProperty and riGetGridProperty.
Write Octave parameter to "Generated" folder (as is) and write "arning" message in Process Monitor window when an existing parameter is over-written.
In Property filter for integer array (FIPNUM tested): Arrow keys when adjusting range do not increment in integer steps (havb)
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:
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.
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.
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 symbol
java_exit' is not valid as a function
10:17:29 Process finished
ResInsight has problems reading grid blocks in Z-direction. All layers seem to be trunckated into one.
If the MAPAXES keyword is not present in the .grdecl file, the grid disappears (are the defaults all zero?). However, this keyword is marked as optional in the Eclipse Reference Manual.
See https://gist.github.com/3059626 for an example.
Example:
WellNames = riGetWellNames();
% Change to Class: Cell
[n m]=size(WellNames);
cellWellNames={};
for i=1:n
cellWellNames{i}=strtrim(WellNames(i,:));
end
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.
I have no clue why this is done, it looks like a remedy from .. less developed operating systems... ?
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.
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.