Removed documentation folder. Doc is now available at resinsight.org

This commit is contained in:
Magne Sjaastad 2014-09-23 13:46:20 +02:00
parent 6e55ca82e2
commit eb43a1e6ae
62 changed files with 0 additions and 1075 deletions

View File

@ -1,48 +0,0 @@
[ Contents ](UsersGuide.md#contents)
------
## Batch Commands
ResInsight supports several commands useful in a batch setting. These examples are available from the [test section](https://github.com/OPM/ResInsight/tree/master/TestModels/Case_with_10_timesteps).
See also [ Command Line Arguments](CommandLineParameters.md) for an overview of all command line arguments.
### Example 1 : Create snapshots of all views for multiple cases
A list of cases is defined in **CaseList.txt**, containing the following
Real0/BRUGGE_0000.EGRID
Real10/BRUGGE_0010.EGRID
Real30/BRUGGE_0030.EGRID
Real40/BRUGGE_0040.EGRID
The command line used to run this example is shown here:
ResInsight --project BatchTest.rsp --multiCaseSnapshots CaseList.txt --size 500 500
This will instruct ResInsight to read the project file **BatchTest.rsp**. All cases will be replaced one by one in ResInsight, and snapshots of all views will be written to file.
### Example 2 : Replace a single case and take snapshots of all views
The command line used to run this example is shown here:
ResInsight --project BatchTest.rsp --replaceCase "Real10\BRUGGE_0010.EGRID" --savesnapshots
This will instruct ResInsight to read the project file **BatchTest.rsp**. The specified case **Real10\BRUGGE_0010.EGRID** will be imported into the project, and snapshots of all views will be written to file.
### Example 3 : Replace source cases in a case group and create snapshot
A list of cases is defined in **CaseList2.txt**, containing the following
Real0/BRUGGE_0000.EGRID
Real10/BRUGGE_0010.EGRID
The command line used to run this example is shown here:
ResInsight --project BatchStatistics.rsp --replaceSourceCases CaseList2.txt --savesnapshots
This will instruct ResInsight to read the project file **BatchTest.rsp**. All cases specified will be imported in the case group specified in the project file. Statistics will be computed, and snapshots for all views will be written to file.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,82 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Grid Case Groups and Statistics
![](images/GridCaseGroupTree.png)
**Grid Case Group**'s are designed to make it easy to calculate statistics per cell and per timestep of a large number of Eclipse simulation Cases with identical Grids (often labeled *realizations*).
If you have several Eclipse simulations with different input parameters available, you can put all the realizations into a Grid Case Group and easily calculate each of the cells mean value, range and max/min values at each timestep between the realizations.
### Creating Grid Case Groups
#### From files
The easiest way to create a **Grid Case Group** is to use the Import command:
**File->Import->Create Grid Case Group from Files**
An import dialog is opened:
![](images/CreateGridCaseGroupFromFileDialog.png)
1. Add one or more search folders to the list on the left.
2. The *.EGRID or *.GRID files found in these directories and sub directories are shown in the list to the right.
3. If you want to remove some *.EGRID files from the list, select them and press the **Remove** button.
4. When you are ready, press the **OK** button.
ResInsight then creates a **Grid Case Group** for you, and populates its **Source Cases** with the Cases you selected. Then the first of those Cases are read completely, while the others are just scanned to verify that the Grids match and to detect changes in the Active Cells layout.
This makes it quite fast to lo ad even a quite large number of realizations.
#### Manually
A Grid Case Group can be created from the context menu available when right clicking a Result Case, Input Case or a different Grid Case Group. **Source Cases** can then be added by using the mouse to *drag and drop* cases with equal grids into the **Grid Case Group**'s **Source Case** folder.
This is useful if you want to create statistics based only on a subset of the source cases in an already created **Grid Case Group**.
**Drag and Drop** of cases will normally copy the cases to the new destination, but moving them is possible by pressing and holding the **Shift** key while dropping.
### Viewing special Source Cases
To reduce the number of views, only a view for the first case is created automatically. If you want to inspect the results of a particular source case, right click the case and select **New view** from the context menu. A new 3D View will the be created on that particular case.
*TIP:* To reduce memory usage, project loading time etc. it is vise to delete the 3D Views you do not need. 3D Views use a lot of system resources.
### Statistics ##
After creating a grid case group, an empty **Statistics Case** is created for you in the **Derived Statistics** folder of the **Grid Case Group**.
#### Setting up and Calculate
The properties of an uncalculated and a calculated **Statistics Case** is shown below:
![](images/StatisticsCaseProperties.png) ![](images/StatisticsCasePropertiesCalculated.png)
- **Compute**: Starts to calculate requested statistical Properties.
- **Edit** : Deletes the calculated results, and makes the controls to edit the setup available.
- **Summary of calculation setup** : Summarizes what to calculate
- **Properties to consider**: These options makes it possible to select what Eclipse properties to include in the Statistical calculations. Adding variables increase the memory usage and the computational time.
- **Percentile Setup**: Selects whether to calculate percentiles, what method and what percentile levels should be used. Turning this off speeds up the calculations.
- **Well Data Source Case**: This option selects which set of **Simulation Wells** to be shown along with the statistical results. You can select one of the **Source Cases**.
##### Percentile Methods
Three Percentile methods are implemented:
- **Interpolated Observation**
The values are sorted, and the two observations representing the probabilities closest to the percentile are interpolated to find the value for the percentile. This is the default method.
- **Nearest Observation**
The values are sorted, and the first observation representing a probability higher or equal to the percentile probability is selected as the value for the percentile. This method is by some considered to be statistically more puristic.
- **Histogram based estimate**
A histogram is created and the percentile is calculated based on the histogram. This method will be faster when having a large number of realizations, because no value sorting is involved. You would however need several hundred realizations before this method should be considered.
#### Viewing the results
When the computation is complete, you have to create a 3D View on the **Statistics Case** to view the results. Use the Context menu available by right clicking the **Statistics Case** to create it.
#### Adding Statistics Cases
A new statistical calculation can be created by activating the context menu for **Derived Statistic->New Statistics Case**.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,24 +0,0 @@
[ Contents ](UsersGuide.md#contents)
------
## Command Line Parameters #
| Parameter | Description |
|-----------|-------------|
| `--last` | Open last used project. |
| `--project <filename>` | Open project file <filename>. |
| `--case <casename>` | Import Eclipse case <casename> (do not include .GRID/.EGRID) |
| `--startdir <folder>` | Set startup directory. |
| `--savesnapshots` | Save snapshot of all views to 'snapshots' folder in project file folder. Application closes after snapshots have been written. |
| `--size <width> <height>` | Set size of the main application window. |
| `--replaceCase [<caseId>] <newGridFile>` | Replace grid in <caseId> or first case with <newgridFile>. |
| `--replaceSourceCases [<caseGroupId>] <gridListFile>` | Replace source cases in <caseGroupId> or first grid case group with the grid files listed in the <gridListFile> file. |
| `--multiCaseSnapshots <gridListFile>` | For each grid file listed in the <gridListFile> file, replace the first case in the project and save snapshot of all views. |
| `--help, -?` | Displays help text and version info |
| `--regressiontest <folder>` | Run a regression test on all sub-folders starting with `TestCase*` of the given folder. **RegressionTest.rip** files in the sub-folders will be opened and snapshots of all the views is written to the sub-sub-folder **RegTestGeneratedImages**. Then difference images is generated in the sub-sub-folder **RegTestDiffImages** based on the images in sub-sub-folder **RegTestBaseImages**. The results are presented in **ResInsightRegressionTestReport.html** that is written in the given folder. |
| `--updateregressiontestbase <folder>` | For all sub-folders starting with `TestCase*`, copy the images in the sub-sub-folder **RegTestGeneratedImages** to the sub-sub-folder **RegTestBaseImages** after deleting **RegTestBaseImages** completely. |
See also the [Regression Test System ](RegressionTestSystem.md) for a more in-depth explanation.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,88 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Faults
ResInsight will detect all the cell faces with no geometrically matching neighbors, and display them as *Faults*.
This means that the are drawn in special ways, and that their visual appearance can be controlled separately from the rest of the grid.
### Fault Names and NNC
#### Import of Fault info from `*.DATA`-files
If enabled, ResInsight will also import fault information from the `*.DATA` files and use this information to group the detected faces into named items which is available in the ![](images/draw_style_faults_24x24.png) **Faults** item in the **Project Tree**. The imported faults are ordered in ascending order based on their name.
>
***Note:*** As import of faults can be time consuming, reading of faults can be disabled from **Preferences -> Read fault data**
#### Undefined grid faults
All the detected cell faces are compared to the faults imported from the `*.DATA` file in order to group them. If a particular face is *not* found among the fault faces defined in the `*.DATA` file or it's opposite face, the cell face is added to a fault called **Undefined grid faults**. This particular Fault will always be present, even if reading of the `*.DATA` file is disabled.
#### Fault color
Each named Fault is given a color on import. This color can be controlled by selecting the fault and edit its **Fault color** in the **Property Editor.**
#### NNC visualization
ResInsight will read Non Neighbor Connections from the Eclipse output file (`*.INIT`), and create explicit visualizations of those witch have a common surface area. These NNC's are then sorted onto the Fault's and their visibility is controlled from the **Property Editor** of the **Faults** Item in the **Project Tree**.
The color of the NNC faces are set to be a bit lighter than their corresponding named fault, and can not be controlled directly.
Currently the only result property that is mapped onto the NNC is the static TRANSXYZ property which displays the transmissibility associated to each face.
### Picking info
When clicking on a cell face that is member of a fault, the fault name is displayed in the **Result Info** window, along with cell, and result property info.
When clicking on a NNC, the relevant data for this NNC is displayed.
### Fault visualization options
#### Toolbar control
Visualization mode and mesh lines can be controlled from the toolbar.
- ![](images/draw_style_faults_24x24.png) **Faults-Only** visualization mode.
<br>When turned on, this option hides all the grid cells, and shows only the fault faces in the reservoir limited by the applied range and property filters. (Unless **Show faults outside filters** are turned on. See below.)
- ![](images/draw_style_surface_24x24.png) Turns faces on and mesh off
- ![](images/draw_style_surface_w_fault_mesh_24x24.png) Turns on all faces, and shows meshlines on faults only.
<br> This is a useful method to highlight the faults in your reservoir, because the faults stands out with black outlining.
- ![](images/draw_style_faults_label_24x24.png) Shows labels for faults
#### Common Fault Options
By clicking the ![](images/draw_style_faults_24x24.png) **Faults** item in the **Project Tree**, the following options common to all the faults are displayed:
![](images/FaultProperties.png)
##### Fault labels
- **Show labels**: Displays one label per fault with the name defined in the `*.DATA`-file
- **Label color**: Defines the label color
##### Fault options
- **Show faults outside filters**: Turning this option on, will display faults outside the filter region, making the fault visualization completely ignore the Range and Property filters in action.
- **Show results on faults**: This toggle controls whether to show the selected result property on the faults or not. This should normally be left on.
- **Show NNCs**: Toggles whether to display the Non Neighbor Connections, or not.
##### Fault Face Visibility
This group of options controls the visibility of the fault faces. Since they work together, and in some cases are overridden by the system, they can be a bit confusing.
First of all. These options are only available in **Faults-only** visualization mode. ( See *Toolbar Control* above) When not in **Faults-Only** mode, ResInsight overrides the options, and the controls are inactive.
Secondly: The option you would normally want to adjust is **Dynamic Face Selection** (See below).
- **Show defined faces**: Displays the fault cell faces that are defined on the Eclipse input file (`*.DATA`)
- **Show opposite faces**: Displays the opposite fault cell faces from what is defined on the input file, based on IJK neighbors.
<br> *These two options should normally be left **On***. <br>They are useful when investigating the exact faults information provided on the `*.DATA` file.
<br>If you need to use them, it is normally wise to set the **Dynamic Face Selection** to "Show Both"
######Dynamic Face Selection:
At one particular position on a fault there are usually two cells competing for your attention: The cell closer to you as the viewer, or the one further from you. When showing results, this becomes important because these two cell faces have different result property values, and thus color.
This option controls which of the two cell faces you actually can see: The one behind the fault, or the one in front of the fault. There is also an option of showing both, which will give you an undefined mixture, making it hard to be certain what you see.
This means that ResInsight turns on or off the faces based on your view position and this option to make sure that you always see the faces (and thus the result property) you request.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,167 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Getting started with ResInsight
### Installation
Installation instructions for ResInsight can be found here: [Installation and Configuration](Installation.md)
### User interface overview
The application has a main area and several docking windows. The different docking
windows can be managed from the **Windows** menu or directly using the local menu bar of the docking window.
![ResInsight User Interface](images/ResInsightUIFullSizeWindows.png)
#### Docking Windows
- **Project Tree** - contains all application objects in a tree structure.
- **Property Editor** - displays all properties for the selected object in the **Project Tree**
- **Process Monitor** - displays output from Octave when executing Octave scripts
- **Result Info** - displays info for the object being hit in the 3D scene when clicking with left mouse button
*TIP:* A new project tree and property editor can be added from **Windows->New Project and Property View**.
### Toolbars
A selected subset of actions are presented as controls in the toolbar. The different sections in the toolbar can be dragged and positioned anywhere as small floating toolbars. Management of the toolbar is done by right-clicking on the toolbar and then manipulating the displayed menu.
#### 3D Views
In the main area of the application, several 3D views can be open at the same time. One of them will be active and the active view can be either maximized to use the whole main area, or normalized so that you can see all the open 3D views.
*TIP:* To see views next to each other select the **Restore down** icon in the application show here for Windows :
![Restore Down](images/RestoreDown.PNG)
#### Editing the views
Most of the settings and features of ResInsight is accessible through the **Project Tree** and the **Property Editor**. Selecting an item in the **Project Tree** activates the corresponding 3D View, and shows the item properties in the **Property Editor** available for editing.
Toggling a checkbox next to an item in the **Project Tree** will toggle visibility in the 3D view. Toggling a checkbox for a collection of items will affect the visibility for all items in the collection. ![](images/TreeViewToggle.png)
Context menu commands are also available to do special operations on a selected set of items.
### Cases and their types
A *Case* in ResInsight means a Grid model with a particular set of results or property data. There are
three different Case types:
##### Result case ![](images/Case24x24.png)
This is a Case based on the results of an Eclipse analysis, read from a grid file together with restart data.
##### Input case ![](images/EclipseInput24x24.png)
This Case type is based on a `*.GRDECL` file, or a part of an Eclipse *Input* file. This Case type supports loading single ASCII files defining Eclipse Cell Properties, and also to export modified property sets to ASCII files.
Each of the Eclipse properties is listed as separate entities in the **Project Tree**, and can be renamed and exported.
##### Statistics case ![](images/Histogram24x24.png)
This is a Case type that belongs to a *Grid Case Group* and makes statistical calculations based on the source cases in the Grid Case Group.
#### Grid Case Groups ![](images/GridCaseGroup24x24.png)
A **Grid Case Group** is a group of **Result Cases** with identical grids, but generally different active cells, initial values and results. These cases are called *Source Cases*.
The purpose of a Grid Case group is to make it easy to calculate statistics across the source cases both for static and dynamic Eclipse Properties.
See [ Multiple realizations and statistics ](CaseGroupsAndStatistics.md) for more on this.
### Importing data
#### Input data support ###
ResInsight supports the following type of Eclipse input data:
- `*.GRID` and `*.EGRID` files along with their `*.INIT` and restart files `*.XNNN` and `*.UNRST`.
- Grid and Property data from `*.GRDECL` files.
#### Importing Eclipse cases
##### Eclipse Results
1. Select **File->Import->Import Eclipse Case** and select an `*.EGRID` or `*.GRID` Eclipse file for import.
2. The case is imported, and a view of the case is created
*TIP:* You can select several grid files in one go by multiple selection of files( Ctrl + left mouse button, Shift + left mouse button).
##### Eclipse ASCII input data
1. Select **File->Import->Import Input Eclipse Case** and select a `*.GRDECL` file.
2. The case is imported, and a view of the case is created
3. Right click the **Input Properties** in the generated **Input Case** and use the context menu to import additional Eclipse Property data files.
##### Handling missing or wrong MAPAXES
The X and Y grid data can be negated in order to make the Grid model appear correctly in ResInsight. This functionality is accessible in the **Property Editor** for all Case types as the toggle buttons **Flip X Axis** and **Flip Y Axis** as shown in the example below.
![](images/CaseProperties.png)
### Model navigation
ResInsight comes with two 3D navigation modes. The active mode can be selected in the **Preferences** dialog (**Edit -> Preferences**).
|Abbreviation | Meaning |
|-------------|---------|
|LMB | Pressing left mouse button |
|MMB | Pressing Middle mouse button or scroll wheel button |
|RMB | Pressing Right mouse button |
#### Ceetron navigation mode
|Mouse interaction | Action |
|------------------|---------|
|LMB | Pan model |
|MMB | Zoom to mouse pointer location |
|Scroll wheel | Zoom to mouse pointer location |
|RMB | Rotate model |
| | |
|RMB single click | Context menu |
|LMB single click | Update status bar and **Result Info** |
#### CAD navigation mode
|Mouse interaction | Action |
|------------------|--------|
|MMB | Rotate model |
|MMB + Shift | Pan model |
|Scroll wheel | Zoom to mouse pointer location |
| | |
|RMB single click | Context menu |
|LMB single click | Update status bar and **Result Info** |
### Project files and Cache directory
ResInsight stores which cases you have imported and all the settings for each view etc. in a project file with the extension `.rsp`.
This file only contains references to the real data files, and even references to data files generated by ResInsight itself.
Statistics calculations, property sets you generate by using Octave, and well paths are saved to a folder in the same directory as you save the project file, and is named \<ProjectFileName\>_cache. So if you need to move your project, make sure you move this folder as well.
*TIP:* The `.rsp`-file is an XML file, and can be edited by any text editor.
### Export options
#### Snapshot images
##### Single View ![](images/SnapShot.png) ![](images/SnapShotSave.png)
Image export of current 3D view can be launched from **File -> Export -> Snapshot To File**. A snapshot can also be copied to clipboard using **Edit->Copy Snapshot To Clipboard**.
##### All Views ![](images/SnapShotSaveViews.png)
If a project contains multiple views, all views can be exported using **File -> Export -> Snapshot All Views To File**.
It is also possible to snapshot all views from the command line. See [ Command Line Arguments] (CommandLineParameters.md)
#### Export of Eclipse Properties as ASCII data
Eclipse Properties can be exported to Eclipse ASCII files by activating the context menu for a **Cell Result**. ![](images/ExportProperty.png)
The command will export the property set currently loaded and shown in the 3D View to a file with the following format:
-- Exported from ResInsight
<keyword>
<One number per cell separated by spaces>
/
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,28 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Installation and configuration
### Windows
1. Download ZIP binary distribution from [https://github.com/OPM/ResInsight/releases](https://github.com/OPM/ResInsight/releases "release section on GitHub")
2. Extract content from ZIP file
3. (OPTIONAL) Launch ResInsight.exe, open **Edit ->Preferences** and define location of Octave, usually 'ResInsightRoot/octave/bin/octave.exe'
#### Optional - Octave installation
Currently tested and verified version on Windows is Octave 3.6.1. NB! Version 3.6.2 has compile issues using VS2010, this version will not be able to compile the Octave plugins.
- Download and install Octave 3.6.1 for VS2010 from [SourceForge](http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.1%20for%20Windows%20Microsoft%20Visual%20Studio/octave-3.6.1-vs2010-setup-1.exe/download)
- Download a [missing library file](https://github.com/OPM/ResInsight/releases/download/1.0.0/dirent.lib) and copy it into Octave lib folder, typically **c:/Octave-3.6.1/lib/dirent.lib** See details on [SourceForge](http://sourceforge.net/mailarchive/message.php?msg_id=28933804)
## Linux
1. Download TAR.GZ binary distribution from [https://github.com/OPM/ResInsight/releases](https://github.com/OPM/ResInsight/releases "release section on GitHub")
2. Extract content from TAR file
3. (OPTIONAL) Launch ResInsight, open **Edit -> Preferences** and define location of Octave in the field **Octave**, usually 'ResInsightRoot/octave/bin/octave-cli'
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,42 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Octave Interface
ResInsight provides a flexible interface to [Octave](http://www.gnu.org/software/octave/ "Octave").
This includes a set of Octave functions that communicates with a running ResInsight session, features in ResInsight that makes it easy to manage and edit Octave scripts, and their execution using Octave.
The Octave functions are documented in [ Octave Interface Reference](OctaveInterfaceReference.md).
### Script management
Octave scripts are available in the **Scripts** folder in the **Project Tree**.
![](images/OctaveScriptTree.png)
This folder contains an entry for each of the directories you have added as a **Script Folder**. Each of the folder lists available `*.m` files and sub directories. The tree is continuously updated to reflect the file structure on disk.
#### Adding Script Folders
You can add directories by right clicking the **Scripts** item to access the context menu.
Multiple standard script folder locations can also be defined in the field **Shared Script Folder(s)** in the **Preferences Dialog** (**Edit -> Preferences**).
#### Editing scripts
To enable script editing from ResInsight you need to set up the path to a text editor in the **Script Editor** field in the **Preferences Dialog** (**Edit -> Preferences**)
When done, scripts can be edited using the context menu command **Edit** on the script item in the tree.
### Script execution
Octave scripts can be executed with or without a selection of cases as context. The [ Octave Interface Reference](OctaveInterfaceReference.md) highlights in more depth how to design your Octave scripts to utilize these features.
#### Without a case selection
A script can be started by navigating to the script in the **Project Tree**, and selecting **Execute** from the context menu. The currently active case (The one with the active 3D View) will then be set as ResInsight's *Current Case*.
#### With a case selection
One script can be executed on many cases by first selecting a set of cases, and then activating **Execute script** from the context menu for the case selection. The script is then executed once pr selected case. Each time ResInsight's *Current Case* is updated, making it accessible from the Octave script.
![](images/ExecuteOctaveScriptOnSelectedCases.png)
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,222 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
# Octave Interface Reference
## Introduction
To identify a ResInsight case uniquely in the Octave script, an integer Id (CaseId) is used. This Id can be retrieved in several ways, but there are two main modes of operation regarding this for a particular octave script: Either the script is designed to work on a single case (the "Current Case"), or the script is designed to access the selection and traverse the cases by itself.
### Single case scripts
Single case scripts do not need to address cases explicitly, but works on what ResInsight considers being the "Current Case". When the user selects several cases and executes a script on them, ResInsight loops over all cases in the selection, sets the current case and executes the script. All references to the "Current Case" from the script will then refer to the case currently being processed by ResInsight.
The Current Case can be accessed directly using **riGetCurrentCase()**, but the more direct way is to *omit the CaseId parameter* in the functions, the Current Case is then automatically used.
### Multi case scripts
Scripts can access the selection state in ResInsight, and also retrieve lists of Case Groups and cases including some meta information. This can be used if the scripts need to get values from some cases, and store the results in others, etc.
### Case Types
The case type (Labeled "CaseType" in the following specification) of a case is returned as a text string when retrieving lists of cases, and is one of the following:
| Case Type | Description |
|----------------|-------------|
|ResultCase | A binary Eclipse case |
|InputCase | A case based on ASCII Eclipse input data |
|StatisticsCase | A statistics case based on many source cases in Grid Case Group |
|SourceCase | A binary Eclipse case in a Grid Case Group |
### Unresolved issues
The issue around having multiple instances of ResInsight is still not addressed, but might affect the function signatures by adding a port number parameter to all of them. We will try to find ways to avoid this, but are still not certain that we will succeed.
## Specification
### Project Information
The case information is presented in an octave Structure called CaseInfo, and contains the following fields:
CaseInfo = {
CaseId = int # A project-unique integer used to address this
# particular case
CaseName = string # The name that has been assigned to the case
# in ResInsight.
CaseType = string # See the description above
CaseGroupId = int # A project-unique integer identifying the
# CaseGroup this case is a member of.
# -1 if not in a CaseGroup. Valid only for
# Statistics-, and SourceCases
}
#### CaseInfo riGetCurrentCase()
This function returns a CaseInfo Structure for the Case considered being the "Current Case" by ResInsight. When ResInsight loops over a selection of cases and executes an Octave script for each of them, this function returns the CaseInfo for that particular Case.
#### Vector[CaseInfo] riGetSelectedCases()
This function returns a CaseInfo Structure for each of the cases selected in ResInsight at the time when the script launched.
#### 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
}
#### Vector[CaseInfo] riGetCases([CaseGroupId])
This function returns a CaseInfo Structure for all the cases in the current ResInsight project, including the Statistics cases and Source cases in a Grid Case Group.
If a CaseGroupId is provided, only the cases in that Case Group will be returned.
### Retrieving Grid Metadata
#### Matrix[numActiveCells][9] riGetActiveCellInfo([CaseId], [PorosityModel = "Matrix"|"Fracture"] )
This function returns a two dimensional matrix containing grid and IJK information about each of the active cells in the requested case. The columns contain the following information:
[GridIdx, I, J, K, ParentGridIdx, PI, PJ, PK, CoarseBoxIdx]
GridIdx # The index of the grid the cell resides in.
# Main grid has index 0
I, J, K # 1-based index address of the cell in the grid.
ParentGridIdx # The index to the grid that this cell's grid
# is residing in.
PI, PJ, PK # 1-based address of the parent grid cell that
# this cell is a part of.
CoarseBoxIdx # 1-based coarsening box index, -1 if none.
# Coarsening box info can be retrieved using
# **riGetCoarseningInfo()**
If the CaseId is not defined, ResInsight's Current Case is used.
#### Matrix[numCoarseGroups][6] riGetCoarseningInfo([CaseId])
This function returns all coarse box definitions used in the grid.
The columns contain the following information:
[I1, I2, J1, J2, K1, K2]: 1-based index addresses of the min and max corners of the coarsening box.
If the CaseId is not defined, ResInsight's Current Case is used.
#### Matrix[numGrids][3] riGetGridDimensions([CaseId])
This function returns a two dimensional matrix: One row for each grid, starting with the main grid.
*NOTE*: This means that the "normal" GridIndices where 0 means Main Grid does not work directly with this matrix. You have to add 1.
The columns contain the following information:
[NI, NJ, NK]: I, J, K dimensions of the grid.
If the CaseId is not defined, ResInsight's Current Case is used.
#### Vector[TimeStepDate] riGetTimeStepDates([CaseId])
This function returns the date information for each of the time steps in the case as a Vector of Structures.
The Structure is defined as:
TimeStepDate = {
Year = int # The year eg. 2013
Month = int # The month. Eg. 12
Day = int # The day in the month. Eg. 24
Hour = int # The hour of the day. Eg. 17
Minute = int # The minute in the hour. Eg. 55
Second = int # The second within the minute. Eg. 30
}
If the CaseId is not defined, ResInsight's Current Case is used.
#### Vector[DecimalDay] riGetTimeStepDays([CaseId])
This function returns the time from the simulation start as decimal days for all the time steps as a Vector of doubles.
If the CaseId is not defined, ResInsight's Current Case is used.
### Retrieving Property Data
#### Vector[PropertyInfo] riGetPropertyNames([CaseId] ], [PorosityModel = "Matrix"|"Fracture"])
This function returns the name and type of all the properties in the case as a Vector of Structures.
The Structure is defined as:
PropertyInfo {
PropName = string # Name of the property as received from
# the analysis tool
PropType = string # The type of the property: "StaticNative",
# "DynamicNative", "Input", "Generated"
}
If the CaseId is not defined, ResInsight's Current Case is used.
#### Matrix[numActiveCells][numTimestepsRequested] riGetActiveCellProperty([CaseId], PropertyName, [RequestedTimeSteps], [PorosityModel = "Matrix"|"Fracture"])
This function returns a two dimensional matrix: [ActiveCells][Num TimestepsRequested] containing the requested property data from the case with CaseId.
If the case contains coarse-cells, the results are expanded onto the active cells.
If the CaseId is not defined, ResInsight's Current Case is used.
The RequestedTimeSteps must contain a list of indices to the requested timesteps. If not defined, all the timesteps are returned.
#### Matrix[numI][numJ][numK][numTimestepsRequested] <font style="color:darkblue"> riGetGridProperty</font> ([CaseId], GridIndex , PropertyName, [RequestedTimeSteps], [PorosityModel = "Matrix"|"Fracture"])
This function returns a matrix of the requested property data for all the grid cells in the requested grid for each requested timestep.
Grids are indexed from 0 (main grid) to max number of LGR's
If the CaseId is not defined, ResInsight's Current Case is used.
The RequestedTimeSteps must contain a list of indices to the requested time steps. If not defined, all the timesteps are returned.
Writing Back to ResInsight
#### riSetActiveCellProperty( Matrix[numActiveCells][numTimeSteps], [CaseId], PropertyName, [TimeStepIndices], [PorosityModel = "Matrix"|"Fracture"])
Interprets the supplied matrix as a property set defined for the active cells in the case, and puts the data into ResInsight as a "Generated" property with the name "PropertyName".
The "TimeStepIndices" argument is used to "label" all the time steps present in the supplied data matrix, and must thus be complete. The time step data will then be put into ResInsight at the time steps requested.
If the CaseId is not defined, ResInsight's Current Case is used.
#### riSetGridProperty( Matrix[numI][numJ][numK][numTimeSteps], [CaseId], GridIndex, PropertyName, [TimeStepIndices], [PorosityModel = "Matrix"|"Fracture"])
Interprets the supplied matrix as a property set defined for all cells in one of the grids in a case, and puts the data into ResInsight as a "Generated" property with the name "PropertyName".
The "TimeStepIndices" argument is used to "label" all the time steps present in the supplied data matrix, and must thus be complete. The time step data will then be put into ResInsight at the time steps requested.
If the CaseId is not defined, ResInsight's Current Case is used.
### Cell Geometry Functions
#### Matrix[numI][numJ][numK][3] riGetCellCenters([CaseId], GridIndex)
This function returns the UTM coordinates (X, Y, Z) of the center point of all the cells in the grid.
If the CaseId is not defined, ResInsight's Current Case is used.
#### Matrix[ActiveCells][3] riGetActiveCellCenters([CaseId], [PorosityModel = "Matrix"|"Fracture"])
This function returns the UTM coordinates (X, Y, Z) of the center point of each of the active cells.
If the CaseId is not defined, ResInsight's Current Case is used.
Cell Corner Index layout
The corner indices follow the ECLIPSE standard:
6-------------7 |k
/| /| | /j
/ | / | |/
/ | / | *---i
4-------------5 |
| | | |
| 2---------|---3
| / | /
| / | /
|/ |/
0-------------1
#### Matrix[numI][numJ][numK][8][3] riGetCellCorners([CaseId], GridIndex)
This function returns the UTM coordinates(X, Y, Z) of the 8 corners of all the cells in the grid.
If the CaseId is not defined, ResInsight's Current Case is used.
#### Matrix[ActiveCells][8][3] riGetActiveCellCorners([CaseId], [PorosityModel = "Matrix"|"Fracture"])
This function returns the UTM coordinates (X, Y, Z) of the 8 corners of each of the active cells.
If the CaseId is not defined, ResInsight's Current Case is used.
### Well Data Functions
#### Vector[WellNames] riGetWellNames([CaseId])
This function returns the names of all the wells in the case as a Vector of strings.
If the CaseId is not defined, ResInsight's Current Case is used.
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
}
If the CaseId is not defined, ResInsight's Current Case is used.
#### Vector[WellStatus] riGetWellStatus ([CaseId], WellName, [RequestedTimeSteps])
This function returns the status information for a specified well for each requested time step as a vector of Structures. The Structure is defined as:
WellStatus {
WellType = string # "Producer", "OilInjector",
# "WaterInjector", "GasInjector", "NotDefined"
WellStatus = int # is either 0 or 1, meaning the well is shut
# or open respectively
}
If the CaseId is not defined, ResInsight's Current Case is used.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,73 +0,0 @@
# Documentation #
Documentation files uses the GitHub markdown syntax. A common file extension for markdown files is .md.
[GitHub Markdown syntax](https://help.github.com/articles/github-flavored-markdown)
## How to produce PDF from markdown files ##
Pandoc can be used to generated PDF from a markdown file like this
pandoc -f markdown_github GettingStarted.md -o GettingStarted.pdf
See here for information on Pandoc
[http://johnmacfarlane.net/pandoc/](http://johnmacfarlane.net/pandoc/)
## Internal documentation notes
### Produce PDF from markup - 28. oct 2013
The documentation for Git is build using a set of markup files. Below is a set of command history on Ubuntu 13.04 to be able to produce PDF from markup.
NOTE: On Ubuntu, use the following fonts in latex/config.yml
Ubuntu for normal text and DejaVu Sans Mono for monospace.
https://github.com/progit/progit/issues/11
16 cd ..
17 git clone https://github.com/progit/progit.git
18 cd progit/
19 ls
20 ./makepdfs en
21 sudo apt-get install ruby
22 ./makepdfs en
23 sudo apt-get install pandoc
24 ./makepdfs en
25 sudo apt-get install xelatex
26 sudo apt-get install texlive-xetex
27 ./makepdfs en
28 dir
29 sudo apt-get install texlive
30 ./makepdfs en
31 sudo apt-get install texlive-latex-extra
32 sudo apt-get install texlive-latex-base
33 ./makepdfs en
34 sudo apt-get install texlive-latex-extra
35 ./makepdfs en
36 ls
37 cd latex/
38 ls
39 kate config.yml
40 sudo apt-get install kate
41 kedit config.yml
42 gedit config.yml
43*
44 cd ..
45 ls
46 ./makepdfs en
47 fc-match helvetica
48 ./makepdfs en
49 fc-list
50 fc-match helvetica
51 fc-match helvetica neue
52 ./makepdfs en
53 fc-list
54 ./makepdfs en
55 ./makepdfs en --debug
56 ./makepdfs en
57 ls
58 ./progit.en.pdf
59 evince
60 history

View File

@ -1,48 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Regression test system
A regression tool for QA is build into ResInsight. This tool will do the following:
1. Scan a directory for sub directories containing a **RegressionTest.rip** files.
2. Each found project file will be opened, and all views in this project will be exported as snapshot images to file.
3. When snapshot images from all projects are completed, difference images based on generated and QA-approved images are computed.
4. Based on these three sets of images, an HTML report is created and automatically displayed.
### Starting regression tests
To be able to run regression tests you need the **compare** tool from the [ImageMagic suite](http://www.imagemagick.org/script/compare.php).
You can start the tests either from the command line or from the ResInsight Gui.
From the ResInsight Gui select : **File->Testing->Regression Test Dialog**
![](images/RegressionTestDialog.png)
Specify location of compare tool in **Folder containing compare**. The current working directory of ResInsight is temporarily changed to this path during execution.
### Creating regression tests
An example of the folder structure is shown below:
RegressionTestFolder/
TestCase1/
RegressionTest.rip
RegTestBaseImages/
RegTestDiffImages/
RegTestGeneratedImages/
TestCase2/
...
To create regression tests you need to do the following:
1. Create a root directory containing one directory for each test case.
2. In each of the **Test Case** folders create a ResInsight project file called **RegressionTest.rip**.
3. Run the regression test for the first time, and thereby creating images that can be used as Base images.
4. Rename the generated RegTestGeneratedImages/ folder to RegTestBaseImages/
Now you are all set to test new releases of ResInsight towards your own Regression tests.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,147 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Working with 3D Views
3D Views are the windows displaying the Grid Models. The visualization is controlled by the **Project Tree** item representing the **View** and their subitems. Each item has a set of proerties that can be editied in the **Property View**.
![](images/3DViewOverview.png)
Below is a description of the most important View settings and their properties.
### Cell Result ![](images/CellResult.png)
The **Cell Result** item defines which Eclipse property the 3D View uses for the main cell color. The property can be chosen in the property panel of the **Cell Result** item. The mapping between cell values and color is defined by the **Legend Definition** ![](images/Legend.png) along with some appearance settings on the Legend itself. (Number format etc.)
#### TRANSXYZ
Normally the Cell Result setting gives one cell color based on the legend and the selected Result Property. This is *not* the case for the special static TRANXYZ property. This property gives each face the correct color based on the TRANS value that is associated with that particular face.
The Positive I-face of the cell gets the cell TRANX value, while the J-face gets the TRANY-value etc. The negative faces, however, get the value from the neighbor cell in that direction. The negative I-face gets the TRANX value of the IJK-neighbor in negative I direction, and so on for the -J and -K faces.
### Cell Edge Results ![](images/EdgeResult_1.png)
The **Cell Edge Result** visualization mode is one of ResInsight's special features. Its main use is to show the MULT(X, Y, Z) properties at the same time.
This will show the MULT property values *different from 1.0* along the correct edges of the cells. In effect this highlights the faults and makes it easy to verify all the MULT values in one go.
![](images/CellEdgeExample.png)
ResInsight supports all properties ending with X, Y, Z and X-, Y-, Z-. However, it is only the MULT property that ignores values of 1.0.
When selecting a result variable for cell edge, a second legend shows up in the 3D view showing the variation in values for this second property. Color legend management is available when selecting the **Legend Definition** item belonging to the **Cell Edge Result** item.
### Info Box
The **Info Box** controls the visibility of the animation progress, the Case description box, and the results histogram.
The **Results Histogram** shows a histogram of the complete time series of the currently loaded **Cell Result** together with:
- The mean value ( a blue line )
- P10 and P90 ( red lines )
![](images/HistogramExample.png)
### Cell Filters
Cell Filters are used to control visibility of the cells in the 3D view. Three types of filters exists:
- **Range filter** : Define a IJK subset of the model.
- **Property filter** : Define a value range for a property to control cell visibility.
- **Well cell filter** : Display grid cells that has connections to a well. Controlled from the **Simulation Wells** item.
All filters can be turned on or off using the toggle in the **Project Tree** and controlled from their corresponding **Property Editor**.
#### Range filters
Using range filters enables the user to define a set of IJK visible regions in the 3D view.
A new range filter can be added by activating the context menu for the **Range Filters** collection in the **Project Tree**.
*TIP:* An I,J or K-slice range filter can be added directly from a Cell in the **3D View** by rightclicking the cell and using the context menu.
Below is a snapshot of the **Property Editor** of the **Range Filter** :
![](images/RangeFilterProperties.png)
- **Filter Type** : The filter can either make the specified range visible ( *Include* ), or remove the range from the View ( *Exclude* ).
- **Grid** : This option selects which of the grids the range is addressing.
- **Apply to Subgrids** : This option tells ResInsight to use the visibility of the cells in the current grid to control the visibility of the cells in sub-LGR's. If this option is turned off, Sub LGR-cells is not included in this particular Range Filter.
The **Start** and **Width** labels in front of the sliders features a number in parenthesis denoting maximum available value.<br>
The **Start** labels shows the index of the start of the active cells.<br>
The **Width** labels shows the number of active cells from the start of the active cells.
#### Property filters
**Property filters** apply to the results of the **Range filters**. Below is a snapshot of the **Property Editor** of the **Property Filter**.
![](images/PropertyFilterProperties.png)
This filter filters the cells based on a property value range (Min - Max). Cells in the range are either shown or hidden depending on the **Filter Type** ( *Include* / *Exclude* ). Exclude-filters removes the selected cells from the **View** even if some other filter includes them.
A new property filter can be made by activating the context menu for **Property Filters**. The new property filter is based on the currently viewed cell result by default.
### Simulation Wells
This item controls the overall settings for how wells in the Eclipse simulation are visualized.
The wells are shown in two ways:
1. A pipe through all cells with well connections
2. By adding the well cells to the set of visible cells
The latter is handled internally as a special range filter, and adds cells to the set of range filtered cells.
The Property Editor of the **Simulation Wells** item is shown below:
![](images/SimulationWellsProperties.png)
- **Add cells to range filter** This option controls how the well cells
(cells with connections to wells) are added to the set of range filtered cells.
- *All On* will add the cells from all wells disregarding the individual settings on the well.
- *All Off* will prevent any well cells to be added.
- *Individually* will respect the individual settings for each well, and add the cells from the wells with this option set on.
- **Use Well Fence** and
- **Well Fence direction** Controls whether to add extensions of the well cells in the I, J or K direction to the set of range filtered cells
- **Well head** These options control the appearance and position of the well labels and and symbols of the top of the well
- **Global Well Pipe Visibility** Controls if and when to show the pipe representation of the wells. The options are:
- *All On* will show the pipes from all wells disregarding the individual settings on the well.
- *All Off* will hide all simulation well pipes.
- *Individual* Will respect the individual settings for each well, and only show the well pipes from the wells with this option set on. See below.
- *Visible Cells Filtered* This option will only show the pipes of wells that are connected to visible cells. That means the combined result of **Range Filters**, **Property Filters** and any **Well Range Filters**.
*NOTE* : All Wells with **Well Range Filter** turned on will always be visible with this option selected.
- **Pipe Radius Scale** Scaling the pipe radius by the average max cell size.
- **Geometry based Branch detection** Applies only to ordinary wells (not MSW)
and will detect that parts of a well really is a branch. Those well parts will
be visualized as a branch starting at the well head instead of at the previous connected cell.
##### Well pipes of Multi Segment Wells
###### Geometry approximation
The pipe geometry generated for MSW's are based on the topology of the well (branch/segment structure) and the position of the cells being connected. The segment lengths are used as hints to place the branch points at sensible places. Thus the pipe geometry itself is not geometrically correct, but makes the topology of the well easier to see.
###### Dummy branches
Often MSW's are modeled using a long stem without connections and a multitude of small branches; one for each connection. ResInsight offsets the the pipe within the cell to clearly show how the topology of the well is defined.
![](images/MSWDummyBranchExample.png)
###### Picking reveals Segment/Branch info
Branch and segment info of a MSW-connected-Cell is shown in the **Result Info** window when picking a cell in the 3D View. This can be handy when relating the visualization to the input files.
### Individual Simulation Well options
Each of the wells can have some individual settings. These options works as specializations of the ones set on the global level (**Simulation Wells** See above) but will *only come into play when they are not ignored by the global settings*.
This is particularly important to notice for the **Show Well Pipe** and **Range Filter** options. They will not have effect if the corresponding global settings in **Simulation Wells** allows them to.
The properties of a single well are shown below.
![](images/WellProperties.png)
One option needs further explanation:
- **Pipe Radius Scale** This option is a scale that is added to the "global" scale set in the **Simulation Wells** properties.
------
[ Contents ](UsersGuide.md#contents)

View File

@ -1,32 +0,0 @@
# ![](images/AppLogo48x48.png) ResInsight 1.2 Users Guide
## Introduction
ResInsight is an open source, cross-platform 3D visualization and post processing tool for reservoir models and simulations. The system also constitutes a framework for further development and support for new data sources and visualization methods, e.g. additional solvers, seismic data, CSEM, geomechanics, and more.
The user interface is tailored for efficient interpretation of reservoir simulation data with specialized visualizations of properties, faults and wells. It enables easy handling of a large number of realizations and calculation of statistics. To be highly responsive, ResInsight exploits multi-core CPUs and GPUs. Integration with GNU Octave enables powerful and flexible result manipulation and computations. Derived results can be returned to ResInsight for further handling and visualization. Eventually, derived and computed properties can be directly exported to Eclipse input formats for further simulation cycles and parameter studies.
The main input data is
`*.GRID` and `*.EGRID` files along with their `*.INIT` and restart files `*.XNNN` and `*.UNRST`.
ResInsight also supports selected parts of Eclipse input files and can read grid
information and corresponding cell property data sets.
ResInsight has been co-developed by Statoil ASA, Ceetron Solutions AS, and Ceetron AS with the aim to provide a versatile tool for professionals who need to visualize and process reservoir models.
### Contents
- [ Getting Started ](GettingStarted.md)
- [ Working with 3D Views ](ReservoirViews.md)
- [ Multiple realizations and statistics ](CaseGroupsAndStatistics.md)
- [ Octave Interface](OctaveInterface.md)
- [ Well Trajectories ](WellPaths.md)
- [ Faults ](Faults.md)
- [ Batch Commands ](BatchCommands.md)
### Appendix
- [ Octave Interface Reference](OctaveInterfaceReference.md)
- [ Regression Test System ](RegressionTestSystem.md)
- [ Command Line Arguments](CommandLineParameters.md)

View File

@ -1,74 +0,0 @@
[ Contents ](UsersGuide.md#contents)
-----
## Well trajectories
ResInsight can import Well trajectories from simple Ascii files.
In addition, a Statoil specific solution to retrieve Well Trajectories from their internal web service is implemented.
### Ascii Well Trajectories
The command **File -> Import -> Import Well Paths From File** will read the well paths in the selected file, and create one entry for each trajectory under the ![](images/WellCollection.png) **Wells** item in the **Project Tree**.
The supported ASCII format is quite flexible but the main requirements are:
1. Each data line must contain four numbers: X Y TVD MD separated with white-space.
2. A line starting with none-number-characters are ignored, unless :
1. If the line contains a pair of : ', `, ´, or the text between the quotation marks is used as a well name.
2. If the line contains the case insensitive string "name " the rest of the line is used as a well name.
3. If a well name is found, a new well is created and the following data points ends up in it.
###### Example 1:
WELLNAME: WELL1
4507.0 5638.5 0.0 0.0
4507 5638.5 4628.6 1628.6
4297.4 5938.5 4632.4 1998.387
-999
WELLNAME: WELL2
5507.0 4638.5 0.0 0.0
5507 4638.5 3628.6 1628.6
5297.4 4938.5 3632.4 1998.387
-999
###### Example 2:
X Y TVD MD
Name Well_1
5507.0 4638.5 0.0 0.0
5507 4638.5 3628.6 1628.6
5297.4 4938.5 3632.4 1998.387
Name Well_2
5507.0 4638.5 0.0 0.0
5507 4638.5 3628.6 1628.6
5297.4 4938.5 3632.4 1998.387
The trajectory data is not copied into the ResInsight project as such. The project file only stores the file path, and the next time you open the project, ResInsight will try to read the well data from the file again.
### Importing from SSI-Hub (Internal Statoil web-service)
The command **File -> Import -> Import Well Paths From SSI-hub** launches a wizard to guide you through the process of selecting the well trajectories you need.
After completing the wizard, the wells imported are accessible as Items under the ![](images/WellCollection.png) **Wells** item in the **Project Tree**.
The trajectory data is not copied into the ResInsight project as such, but is stored in files in a directory called <ProjectFileName>_wellpaths in the same directory as your project file.
### Well Trajectory visualization
All the imported well trajectories are available below the ![](images/WellCollection.png) **Wells** item in the **Project Tree**.
![](images/WellsInTree.png)
The visible wells are always shown in all the 3D Views in the complete project, so the toggles and settings control the overall project visibility of the Well Trajectories. The **Property Editor** of the **Wells** item is shown below
![](images/WellPathCollectionProperties.png)
- **Global well path visibility** This option forces the well paths on or off, ignoring the individual settings unless it is set to Individual.
- **Clip Well Paths** This option hides the top of the Well Trajectories to avoid displaying the very long lines from the reservoir to the sea surface.
- **Well Path clipping depth distance** This number is the distance from the top of the reservoir to the clipping depth.
------
[ Contents ](UsersGuide.md#contents)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 886 B