armando proyectos simples con ofm

72
Proyectos Simples con OFM PROYECTOS SIMPLES CON OFM................................................................... ......... 1 INTRODUCCIÓN ......................................................... ................ ..................................................... ....... 3 DATOS DENTRO DE OFM .................................................................. .................................................... 3 OTRAS TABLAS IMPORTANTES .......................................................... ........................................... .... 5 Datos estáticos.................................................................................................... ..... 6 Datos dinámicos ........................................................... ................... ..... 7 CREACIÓN DE PROYECTOS ............................................................ ............................................. ........ 8 CREACIÓN DE PROYECTO USANDO EL TEMPLATE DE PRODUCTION ANALYST .................. 8 Los símbolos del mapa............................................................................................... 19 Control de los datos.................................................................................................. 20 Creación de la tabla Propiedades ................................................................................. 23

Upload: yeralh

Post on 28-Sep-2015

52 views

Category:

Documents


12 download

DESCRIPTION

Ofm tutorial

TRANSCRIPT

_______________________________________________________________________

Proyectos Simples

con OFM

PROYECTOS SIMPLES CON OFM............................................................................ 1

INTRODUCCIN ......................................................................... ............................................................ 3

DATOS DENTRO DE OFM ...................................................................................................................... 3

OTRAS TABLAS IMPORTANTES ..................................................................................................... .... 5

Datos estticos.................................................................................................... ..... 6

Datos dinmicos ........................................................... ................... ..... 7

CREACIN DE PROYECTOS ......................................................................................................... ........ 8

CREACIN DE PROYECTO USANDO EL TEMPLATE DE PRODUCTION ANALYST .................. 8

Los smbolos del mapa............................................................................................... 19

Control de los datos.................................................................................................. 20

Creacin de la tabla Propiedades ................................................................................. 23

CREACIN DE PROYECTO USANDO UN ARCHIVO DE DEFINICIN............ ............................ 26

El archivo de definicin ............................................................................................. 26

Carga masiva de datos............................................................................................... 33

Control de datos.............................................................................................. ........ 35

REUSANDO DATOS...................................................................................................... ............ ........... 39

Archivo de Definicin ..................................................................................... .......... 39

ARCHIVOS DE DATOS........................................................................................................ ................. 46

AGREGANDO NUEVOS DATOS A PROYECTOS DE OFM .............................................................. 52

Entidades Existentes ..................................................................................... ........... 52

Entidades nuevas ........................................................................................... ......... 54

CONCLUSIONES................................................................................................................. ............ ........... 56

______________________________________________________________________

Armando Proyectos Simples con OFM

Introduccin

Este apunte est dedicado a quienes quieren armar proyectos simples de OFM. Digo simples pues existen muchas posibilidades en la base de datos que no sern cubiertas aqu1. El presente documento se concentrar en la carga de datos mensuales de produccin, inyeccin, propiedades y datos espordicos de ensayos.

Antes de poder cargar algn dato en OFM, es necesario comprender qu posibilidades de carga tenemos, dnde se guardan los datos y cmo se preparan los archivos ASCII para incorporarlos al proyecto. Finalmente, explicaremos cmo crear un proyecto desde cero y eventualmente agregarle ms datos.

Datos dentro de OFM

Esta seccin es explicativa y est primero porque es necesario tener estos conocimientos sobre la base de datos. Si bien se puede saltear, no recomiendo seguir adelante sin antes comprender esta parte pues terminaremos trabajando con proyectos sin saber que es lo que realmente est pasando y cuando los problemas se presenten, se nos har ms difcil su resolucin. As que, agua va

Los datos en OFM se guardan en tablas. Estas tablas estn relacionadas (enlazadas) entre s para formar un nico set de datos. En otras palabras, si bien la informacin est cargada en distintas tablas, se muestra al usuario como un nico conjunto de datos, consistente.

La siguiente figura muestra un ejemplo de dos tablas enlazadas. Notar que existe una tabla principal con los nombres de los pozos y sus respectivas coordenadas. Esta tabla se conoce en OFM como de tipo STATIC MASTER, y es tambin llamada maestra. El nombre puede ser cualquiera que uno elija, por ejemplo: XY, MAESTRA, HEADERID, etc.

La otra tabla contiene los valores de produccin de estos pozos. Es de tipo MONTHLY y nuevamente, el nombre puede ser cualquiera que el usuario elija, como PRD, PRODUCCION, MONTHLYPROD, etc. A simple vista, podemos notar que los colores indican a qu pozo pertenece cada dato. Sin embargo, OFM no puede hacer lo mismo tan fcilmente y necesita una columna especial que se lo indique. En OFM, la columna que se elige para relacionar los datos es la primera columna de la tabla maestra. Esta columna es muy importante y es la clave maestra de la base de datos. Se puede ver

1 Existe disponible un manual llamado OFM Administrator Handbook que trata en detalle las posibilidades de la base de datos de OFM.

______________________________________________________________________

Armando Proyectos Simples con OFM

que los datos en la tabla de produccin contienen una columna igual que dice especficamente a quin pertenece el valor y que hace de enlace entre ambas tablas.

Todo proyecto de OFM debe tener una tabla maestra y la primer columna de esta base es usada como el pegamento entre las distintas tablas. Esta columna tiene que ser definida como un STRING, es decir, una variable que guarda una tira de caracteres (y no un nmero). Columna pegamento, en la jerga de OFM se dice primary key.

En general (y en mbito de este apunte), los nombres que figuran en esta columna sern los dueos de los datos que se cargarn luego en las dems tablas.

De esta figura destacamos varios puntos muy importantes:

1- No puede haber datos en una tabla de produccin que no tengan su respectivo dueo ya cargado en la tabla maestra del proyecto. As como est el ejemplo, slo es posible cargar (o agregar) datos de produccin a nombre de tres pozos: BLUE_1, RED_2 o GREEN_5. Si queremos cargar produccin de un pozo llamado BROWN_4, ste debe estar previamente cargado en la tabla maestra.

2- No es posible que existan dos pozos en la tabla maestra con igual nombre. Por ejemplo, si existieran dos RED_2 en la tabla maestra, cmo sabemos a cual de ellos pertenecen los datos de produccin cargados a nombre de RED_2?

3- Si borramos un pozo de la tabla maestra, los datos que pertenezcan a l en las dems tablas deben ser borrados, para no quedar hurfanos. Esto es una tarea que OFM hace automticamente, por lo cual no es necesario preocuparse pero es interesante saberlo.

______________________________________________________________________

Armando Proyectos Simples con OFM

Otras tablas importantes

Existen otras clases de tablas en OFM, destinadas a guardar datos de otro tipo. Ya conocemos dos: STATIC MASTER y MONTHLY. En este apunte vamos a mencionar solamente otras tres clases: STATIC, SORT y SPORADIC.

Antes de comenzar a hablar de ellas, vamos a distinguir entre dos tipos grandes de datos: aquellos que tienen un solo valor (estticos) y aquellos que pueden tener varios (dinmicos). Para esta discusin, vamos a basarnos en la siguiente figura.

El dibujo muestra tres pozos distintos, con dos intervalos cada uno. Cada uno de estos intervalos produce gas o petrleo de distintos reservorios. La produccin de petrleo se acumula en distintos tanques.

Los datos de campo disponibles para guardar en OFM son:

Las coordenadas de los pozos

Los nombres oficiales de los pozos

La produccin (o inyeccin) histrica mensual de agua/gas/petrleo de cada uno de los intervalos punzados

Los resultados de ensayos efectuados espordicamente a cada capa

Los reservorios de los que produce cada capa

La porosidad, permeabilidad y espesor de cada capa

El tanque al cual se enva la produccin de cada capa

El campo al cual pertenece cada capa

Etc.

______________________________________________________________________

Armando Proyectos Simples con OFM

Por ejemplo, la coordenada X del pozo P1 tiene un solo valor que no cambia y si lo hace, es una correccin del valor, que reemplaza al anterior. No es necesario mantener una historia de los valores de coordenadas X de P1. Lo mismo podemos decir de, por ejemplo, el reservorio del cual una capa produce. Estos tipos de datos se llaman estticos.

Como contrapartida a los datos estticos, estn los datos dinmicos, que s requieren mltiples valores. Ejemplos de ellos seran los datos histricos de produccin, que varan con la fecha o de perfiles, que varan con la profundidad: Necesitamos guardar varios valores de produccin de petrleo o necesitamos varios valores de GR para el mismo pozo.

Los datos estticos se cargan en tres tipos de tablas: STATIC MASTER, SORT o STATIC.

Los datos dinmicos se cargan en tablas de tipo: MONTHLY, SPORADIC, etc.

A continuacin se describen estos tipos de tablas y consideraciones a hacer antes de crear un proyecto nuevo.

Datos estticos

STATIC MASTER: Este es el tipo de tabla que se usa para crear la tabla maestra. Se puede crear slo una tabla maestra por proyecto y como OFM usa mucho esta tabla, es conveniente mantenerla lo ms pequea posible (a lo ancho, es decir, minimizar el nmero de columnas), con lo cual se deberan guardar slo los datos que obligatoriamente van all. La siguiente lista detalla los lineamientos del contenido sugerido para una tabla maestra2:

Nombre de las entidades3 (Obligatorio)

Coordenadas X & Y de las entidades (Obligatorios)

Alias para el mapa (Opcional si se trabaja con pozos de una sola capa. Si hay ms de una capa por pozo, es obligatorio)

Nombre de pozo (Opcional si se trabaja con pozos de una sola capa. Si hay ms de una capa por pozo y el alias es muy corto para ser considerado como nombre del pozo, se puede agregar esta columna)

SORT: La tabla de sort (o de filtro) contiene atributos de las entidades guardadas en la tabla maestra. Se puede tener una nica tabla de sort por proyecto y sus columnas no pueden contener datos numricos.

STATIC: Estas tablas se arman para complementar a la tabla maestra sin complicarla.

Se pueden crear cualquier nmero de tablas estticas en un proyecto. Como ejemplos de datos que se cargan en tablas estticas, podramos citar:

Permeabilidad

Espesor

2 Recordemos que estamos considerando solamente proyectos simples. Hay ms datos, que de necesitarse, deben cargarse en la tabla maestra.

3 El nombre entidades se puede referir tanto a capas (intervalos punzados) como pozos. Para no limitarnos a slo uno de los casos, los llamamos genricamente as.

______________________________________________________________________

Armando Proyectos Simples con OFM

Porosidad

Etc.

Notar que todos son valores que necesitan solamente un nico valor. Adems, son valores numricos.

La siguiente figura muestra una distribucin coherente de datos estticos en las tres tablas mencionadas:

La tabla maestra del proyecto se llama XY4. Contiene los nombres de los distintos intervalos con sus coordenadas. Tambin contiene los alias (que por ser breves, van a ser prcticos para los mapas) y el nombre oficial del pozo. Notar que las capas que pertenecen al mismo pozo repiten este valor (y el de las coordenadas).

En la tabla de sort (que siempre se llama SC) de decidi guardar todas las particularidades de estas capas que se describen mediante un texto. El resto de los valores numricos, ha sido volcado a una tercer tabla esttica llamada Propiedades.

Es importante destacar que las relaciones entre tablas con datos estticos son del tipo uno a uno. Por cada lnea de la tabla maestra hay una y solo una en las dems tablas:

No pueden existir dos lneas para P1:A en la tabla de sort.

Datos dinmicos

En este apunte trataremos solo dos tipos de tablas que pueden guardar este tipo de datos: MONTHLY y SPORADIC.

La relacin entre este tipo de tablas y la maestra es del tipo uno a varios, que significa

que para cada lnea de la tabla maestra puede haber varias lneas en las tablas MONTHLY o SPORADIC. Ambos tipos estn pensados para guardar datos que varan con la fecha y por lo tanto no sirven para guardar, por ejemplo, perfiles5.

La figura de la pgina 2 muestra un ejemplo de tabla MONTHLY. Notar que por cada lnea de la tabla maestra hay varias (puede tambin no tener ninguna, por ejemplo un pozo que nunca produjo) lneas asociadas (por cada pozo o intervalo, hay varios valores de produccin de petrleo segn la fecha). La asociacin se hace mediante la primer columna de la tabla maestra que llamamos columna pegamento o primary key, segn recordarn6.

4 El nombre XY es a modo de ejemplo y es elegido por el usuario.

5 La carga de datos de perfiles (y el tipo de tabla necesario) no se va a discutir en este apunte.

6 Eso espero

______________________________________________________________________

Armando Proyectos Simples con OFM

Creacin de proyectos

Para crear un proyecto simple, hay que disponer de, al menos, un par de cosas:

Un archivo con la definicin de la base de datos (opcional)

Los archivos con los datos (uno para cada tabla a llenar)

El archivo con la definicin de la base de datos es el que define qu tablas van a crearse, de que tipo, con qu nombres, columnas, etc. Este archivo es opcional pues existen en OFM ciertos modelos predefinidos (llamados templates). Si alguno de ellos nos es conveniente, no necesitamos de este archivo. Vamos a crear dos proyectos, con los mismos datos: usando un template y usando un archivo de definicin.

Creacin de proyecto usando el template de Production Analyst

Para este caso, las tablas y sus columnas van a venir definidas al estilo PA mediante un template existente, por lo cual solo hay que preparar los archivos ASCII correspondientes a los datos. Los archivos deben ser ASCII (tambin llamados de texto) que contienen los datos encolumnados con algunos comandos que indican como hacer la carga.

En general, no es necesario que las columnas sean perfectas, sino que lo nico que le interesa a OFM es que exista separacin entre los datos de al menos un espacio, un tabulador o alguna combinacin de ellos. Esto es lo mismo que decir que los siguientes dos ejemplos son totalmente equivalentes para OFM.

P1:B

1243 5433

P1 ARG-NQN-A-P1x

P2:A

4232 1232 P2 ARG-NQN-B-P2p

P2:C

4232 1232

P2 ARG-NQN-B-P2p

P3:A

6600 5800

P3 ARG-MZA-B-P3x

P1:B

1243 5433

P1 ARG-NQN-A-P1x

P2:A

4232.00 1232.0 P2 ARG-NQN-B-P2p

P2:C

4232

1232

P2 ARG-NQN-B-P2p

P3:A

6600.0 5800.0 P3 ARG-MZA-B-P3x

Los archivos de datos necesarios para nuestro ejemplo son:

Archivo para tabla maestra (llamada XY)

Archivo para tabla de sort (llamada SC)

Archivo para tabla Propiedades (no existe en el template, hay que crearla)

Archivo para tabla de Produccin mensual (llamada PRD)

Archivo para tabla de Inyeccin de agua (llamada WINJ)

______________________________________________________________________

Armando Proyectos Simples con OFM

Tabla Maestra

El archivo necesario para rellenar la tabla maestra es el siguiente:

//Contenido del archivo ejemplo.xy

*METRIC

*TABLENAME XY

*WELL *XCOORD *YCOORD *ALIAS *WELLBORE

P1:A

1243

5433

P1

ARG-NQN-A-P1x

P1:B

1243

5433

P1

ARG-NQN-A-P1x

P2:A

4232

1232

P2

ARG-NQN-B-P2p

P2:C

4232

1232

P2

ARG-NQN-B-P2p

P3:A

6600

5800

P3

ARG-MZA-B-P3x

P3:C

6600

5800

P3

ARG-MZA-B-P3x

Cualquier lnea que comienza con // es ignorada por OFM y sirve para comentar el archivo, por lo tanto, pueden poner comentarios explicando el contenido del archivo, la fecha de creacin, etc. La extensin recomendada para este archivo es xy.

El comando *METRIC indica que los datos estn expresados en unidades mtricas.

Como las coordenadas estn definidas como unidad de longitud, si no ponemos este comando, 1243 van a ser interpretados como 1243 pies. Al poner este comando, se interpretarn correctamente como 1243 metros.

La tabla maestra que contiene el template de PA se llama XY, por lo cual el segundo comando del archivo especifica que estos datos se guarden en la tabla con ese nombre.

*WELL, *XCOORD, etc. son los nombres de las columnas de la tabla maestra de este template que van a almacenar los datos especificados. El orden es indistinto, siempre y cuando los datos que vienen debajo estn en el mismo orden.

Tabla de Sort

El archivo para la tabla de sort es similar, aunque los comandos son algo distintos. Es recomendable que la extensin de este archivo sea srt.

La tabla de sort nunca existe (completamente formada) en un proyecto hasta que se cargan los primeros datos. Al no existir, tampoco se sabe el nombre de las columnas, razn por la cual, la primer parte del archivo de datos debe definir las columnas necesarias antes de cargar datos a ellas.

//Contenido del archivo ejemplo.srt

*define

*tanque

*campo

*tipo

*end_define

*well *tanque *campo *tipo

P1:A

A A OIL

P1:B

A A OIL

P2:A

A B OIL

______________________________________________________________________

Armando Proyectos Simples con OFM

P2:C

B B OIL

P3:A

SIN B GAS

P3:C

B B WINJ

Nuevamente, cualquier lnea que comienza con // es ignorada por OFM y sirve para comentar el archivo. Como la tabla de sort no puede contener datos numricos, no hay unidades y no se necesita el comando *METRIC (no tiene sentido).

Una vez ms, el orden en que se definen y se cargan las columnas es indistinto. Sin embargo, la lnea que define en que orden vienen los datos (*WELL *TANQUE *CAMPO) debe ser consistente con el orden de los datos que vienen por debajo.

Tampoco se puede especificar un dato si no se define previamente la columna. Por ejemplo, el siguiente archivo es incorrecto pues trata de cargar una columna estado, sin haberla definido previamente.

*define

*tanque

*campo

*tipo

*end_define

*well *tanque *campo *tipo *estado

P1:A

A A OIL PRODUCE

P1:B

A A OIL PRODUCE

P2:A

A B OIL PRODUCE

P2:C

B B OIL PRODUCE

P3:A

SIN B GAS CERRADO

P3:C

B B WINJ INYECTA

Es importante hacer un comentario antes de seguir con los siguientes datos. Notar que la columna pegamento del template de PA se llama WELL. All estamos guardando los nombres de las capas de los tres pozos. Al cargar la tabla maestra, llenamos estos nombres. Para cargar la tabla de sort, son necesarias tres cosas:

1- Que los intervalos a los cuales les vamos a cargar los datos de sort (P1:A, etc), ya estn previamente cargados en la tabla maestra.

2- Que en el archivo de carga de los datos de sort, debemos especificar para quin son los datos de esa lnea, y este nombre debe coincidir con alguno de los existentes.

3- Que la columna WELL de la tabla de sort no la llenamos nosotros con los datos de este archivo, sino que ya esta llena por OFM antes de cargar nada. La siguiente figura muestra tres pasos del proceso de carga.

Notar tambin que como OFM procesa lnea por lnea, es indistinto el orden en que aparecen las lneas de datos. Es decir, le da lo mismo procesar primero a P1:A o a cualquier otro intervalo.

______________________________________________________________________

Armando Proyectos Simples con OFM

Tabla de Propiedades

El archivo de carga de la tabla propiedades es similar al visto para la tabla maestra. Sin embargo, es conveniente que su nombre tenga una extensin dat. Como en el template de PA no existe una tabla de propiedades, tendremos que crearla antes de cargar este archivo. Por ello, podemos poner cualquier nombre de tabla y columnas. Por ahora, este sera el archivo de datos. Luego veremos como crear la tabla necesaria en el template para que acepte a estos datos.

// Contenido del archivo propied.dat

*METRIC

*TABLENAME PROPIEDADES

*WELL *POROSIDAD *PERMEABILIDAD *ESPESOR

P1:A 0.18 2.2 0.6

P1:B 0.12 2.4 0.7

P2:A 0.11 1.3 1.2

P2:C 0.17 16.0 0.5

P3:A 0.15 13.1 0.9

P3:C 0.13 16.0 1.1

______________________________________________________________________

Armando Proyectos Simples con OFM

Los comentarios a hacer son los mismos que antes. Notar que se especifica el nombre de la tabla destino y el nombre de sus columnas. Recordar que el template no contiene a esta tabla, por lo cual va a ser necesario crearla primero antes de intentar cargar estos datos.

Datos de Produccin

Vamos a trabajar con unos pocos datos, para simplificar la carga. Existen dos formatos

para estos archivos que pasamos a mostrar.

// Contenido del archivo produc.prd

// Formato 1

*METRIC

*TABLENAME PRD

*WELL *DATE *DAYS *OIL *GAS *WATER

P1:A 199901 20 80 120 20

P1:A 199902 25 81 130 21

P1:A 199903 22 78 150 20

P1:A 199904 30 78 140 19

P1:A 199905 30 75 100 22

P1:A 199906 24 74 110 23

P1:B 199902 21 60 0 16

P1:B 199903 27 59 0 15

P1:B 199904 28 59 0 13

P1:B 199905 22 60 0 16

P1:B 199906 23 60 0 17

En los datos de produccin, es importante el comando *METRIC. El nmero 80 ser interpretado como 80 m3 con *METRIC presente. Si el comando falta del archivo, sern cargados como 80 bbl. La tabla destino existe en el template y se llama PRD. Las columnas existentes en esta tabla llevan los nombres especificados en la lnea correspondiente *WELL *DATE *DAYS *OIL

Para archivos cortos, este formato puede ser conveniente. Sin embargo, existe un segundo formato que evita repetir el nombre de la entidad (duea del dato) en la primer columna. El formato alternativo (y totalmente equivalente) es el siguiente:

// Contenido del archivo produc.prd

// Formato 2

*METRIC

*TABLENAME PRD

*DATE *DAYS *OIL *GAS *WATER

*KEYNAME P1:A

199901 20 80 120 20

199902 25 81 130 21

199903 22 78 150 20

199904 30 78 140 19

199905 30 75 100 22

199906 24 74 110 23

*KEYNAME P1:B

______________________________________________________________________

Armando Proyectos Simples con OFM

199902 21 60 0 16

199903 27 59 0 15

199904 28 59 0 13

199905 22 60 0 16

199906 23 60 0 17

Notar que se agrega un nuevo comando (*KEYNAME) que significa: Los datos que siguen, hasta nuevo aviso, pertenecen a

Datos de Ensayos

Los datos de ensayos son datos similares a los vistos para produccin: pertenecen a una determinada capa y fecha. Sin embargo, no tienen la regularidad de stos: No tenemos datos de ensayos una vez por mes, sino de vez en cuando.

Guardar estos datos en una tabla de tipo MONTHLY sera un inconveniente pues sta hace lugar para uno y siempre un dato al mes: No me permite guardar dos valores en el mismo mes y si no guardo nada en un determinado mes, igual crea el lugar.

El tipo de tabla preferido para ensayos es SPORADIC, que como su nombre lo dice, guarda valores que se registran espordicamente.

El template de PA tiene una tabla ya definida y se llama TEST. El archivo necesario para cargar estos datos es:

// Contenido del archivo tests.dat

// Formato 1

*METRIC

*TABLENAME TEST

*DATE *OIL *GAS *WATER

*KEYNAME P1:A

19990112 2.67 4.00 0.67

19990219 2.70 4.33 0.70

19990502 2.50 3.33 0.73

19960624 2.47 3.67 0.77

*KEYNAME P1:B

19990202 2.00 0.00 0.53

19990519 2.00 0.00 0.53

*KEYNAME P3:A

19990601 2.00 0.00 0.57

Notar que las fechas contienen no slo el ao y el mes sino tambin el da. El resto es similar a los archivos mencionados anteriormente. De la misma manera, existe un formato alternativo para este tipo de datos, que se muestra a continuacin:

// Contenido del archivo tests.dat

// Formato 2

*METRIC

*TABLENAME TEST

*WELL *DATE *OIL *GAS *WATER

P1:A 19990112 2.67 4.00 0.67

P1:A 19990219 2.70 4.33 0.70

P1:A 19990502 2.50 3.33 0.73

P1:A 19960624 2.47 3.67 0.77

______________________________________________________________________

Armando Proyectos Simples con OFM

P1:B 19990202 2.00 0.00 0.53

P1:B 19990519 2.00 0.00 0.53

P3:A 19990601 2.00 0.00 0.57

Datos de Inyeccin

Para terminar, citamos a un archivo con datos de inyeccin. Para simplificar, diremos que el pozo P3 est siendo usado para inyectar a travs de su capa punzada en el reservorio C, o sea que P3:C es inyectora.

El archivo de carga de los datos de inyeccin de esta capa podra ser:

// Contenido del archivo Inyeccion.dat

//Formato 1

*METRIC

*TABLENAME WINJ

*DATE *WIDAY *WINJ *WIPRE

*KEYNAME P3:C

199904 25.4 1100 400

199905 30.0 1600 480

199906 27.8 1800 467

o bien

// Contenido del archivo Inyeccion.dat

//Formato 2

*METRIC

*TABLENAME WINJ

*WELL *DATE *WIDAY *WINJ *WIPRE

P3:C 199904 25.4 1100 400

P3:C 199905 30.0 1600 480

P3:C 199906 27.8 1800 467

Notar que este archivo est preparado para la tabla WINJ del template, que se usa para guardar los valores mensuales de inyeccin de agua. WIDAY es una de las columnas que guarda los das de inyeccin al mes, WINJ es el volumen de agua inyectada y WIPRE la presin.

Armado del proyecto con el template de PA

Crear un directorio vaco para guardar al proyecto. Es aconsejable crear un subdirectorio llamado Data, donde colocaremos los archivos ASCII preparados para el proyecto. Una vez hecho esto, arrancar OFM.

Con OFM abierto, seleccionar File/New. Esto inicia el proceso de creacin del nuevo proyecto. Elegir el directorio vaco creado para el proyecto e ingresar el nombre deseado. En el ejemplo, se bautiz al proyecto como Basado en PA.

______________________________________________________________________

Armando Proyectos Simples con OFM

Al hacer click en OK, OFM pregunta cmo se va a armar al proyecto. En este caso, seleccionamos el template Production Analyst.

Notar que el Data Source muestra Ascii Flat Files, que son los archivos ASCIIs preparados en las secciones anteriores.

Una vez seleccionadas estas opciones, hacer click en OK.

OFM abre la ventana de Data Loader, destinada a seleccionar los archivos ASCII que se van a cargar al proyecto.

______________________________________________________________________

Armando Proyectos Simples con OFM

En la parte superior se muestran los archivos disponibles. Al hacer doble click sobre ellos, se mueven a la parte inferior.

Esta seccin inferior muestra los archivos que van a ser cargados.

Seleccionar los archivos a cargar, tal como lo muestra la figura.

Notar que estn los siguientes archivos:

Tabla maestra: *.xy

Tabla de Sort: *.srt

Tabla de Inyeccin: *.dat

Tabla de Produccin: *.prd

Tabla de Ensayos: *.dat

Recordemos que no se selecciona el archivo con los datos de propiedades pues el template no contiene an la tabla para almacenar estos datos.

Para proceder, hacemos click en Load. OFM carga los archivos seleccionados y muestra los resultados como en la siguiente figura. Notar que hay tres smbolos en el mapa, que representan a los tres pozos.

En realidad, hay seis smbolos (uno por cada intervalo), aunque como tienen coordenadas similares, se plotean superpuestos.

______________________________________________________________________

Armando Proyectos Simples con OFM

Los datos ya estn cargados, sin embargo hace falta decirle a OFM un par de cosas importantes. Lo primero a hacer es Edit/Map/Association. Esto abre una ventana donde debemos asociar los distintos datos cargados.

El primer botn (WellType-Sort) se usa para decirle a OFM en cul columna de la tabla de Sort estn las siglas que describen al tipo de smbolo a usar en el mapa. Seleccionar la columna TIPO y el Well Symbol File Default.

Repasar las opciones segn la figura y hacer click en OK. OFM muestra nuevamente el mapa, aunque ahora con distintos smbolos, acordes a lo indicado en la columna TIPO de la tabla de sort.

______________________________________________________________________

Armando Proyectos Simples con OFM

Para arreglar el mapa un poco ms, podemos hacer lo siguiente:

Edit/Map/Limits/Grid y seleccionar que nos muestre la grilla.

Edit/Map/Wellnames y seleccionar que nos muestre los alias.

View/Legend para mostrar la leyenda que explica el significado de los smbolos.

Una vez hechas estas modificaciones, el mapa cambia como se muestra en la siguiente figura.

Notar que ahora es ms obvio lo que decamos antes de que cada smbolo representa a un elemento de la tabla maestra y no a un pozo. En los P1 y P2, ambas capas son petroleras y como sus smbolos coinciden, aparentan ser uno solo. En el caso de P3, sin embargo, una de sus capas es gasfera y la otra es inyectora.

Ambos smbolos aparecen superpuestos.

______________________________________________________________________

Armando Proyectos Simples con OFM

Los smbolos del mapa

Como vimos, OFM necesita de una sigla para poder definir el smbolo del mapa. En nuestro caso (el ms comn), esta sigla viene de una de las columnas de la tabla de Sort, que decidimos llamar TIPO.

Las siglas que usamos en nuestro ejemplo fueron: OIL, GAS y WINJ y estas se representaron mediante las combinaciones de smbolo/color/descripcin mostradas en la ltima figura.

Por defecto, OFM reconoce un cierto nmero de siglas y tiene pre-definidos para cada una de ellas un smbolo, color y descripcin (la que aparece en la leyenda del mapa base). En la siguiente pgina listamos las siglas y sus equivalentes.

Es necesario destacar que esto es totalmente configurable y que se puede ajustar todo, inclusive incorporar nuevas formas de smbolo. Sin embargo, como esto no se va a discutir en este apunte, solamente nos limitamos a mostrar las opciones que OFM acepta sin ningn esfuerzo adicional.

______________________________________________________________________

Armando Proyectos Simples con OFM

SiglaDescripcin en la leyenda

OILOil Producer

GASGas Producer

GINJGas Injector

WINJWater Injector

CINJCarbon Dioxide Injector

CO2PRDCarbon Dioxide Producer

DRYDry Hole

PROSPProspect

SWDISSalt Water Disposal

P&APlugged & Abandoned

SCYCLCyclic Steam

ObSerObservation

N2INJNitrogen Injector

WSUPPWater Supply

SINJSteam Injection

SPRODSteam Production

GEOTHGeothermal Producer

HORIZHorizontal

DISCVDiscovery Well

MONMonitor Well

WACO2WACO2

ITATA'd Injector

PTATA'd Producer

SWDSWD

Control de los datos

Una vez cargados los datos, es necesario hacer un control de ellos. En principio, la mejor forma de hacerlo es mediante reportes7. Sin embargo, existe la posibilidad de hacer una revisin rpida de otra manera.

Antes de seguir con estos procedimientos, es necesario hacer una importante aclaracin:

Los siguientes procedimientos ponen a los datos en planillas de clculo donde uno puede no solamente ver sino editar los datos. Editar los datos desde ellas no es un procedimiento recomendado y puede ser motivo de corrupcin de la base de datos. El modo preferido de carga o modificacin de datos sigue siendo mediante archivos ASCII.

Como los datos que ingresamos son mtricos, antes de hacer el control, debemos poner a OFM en modo mtrico para que nos muestre los valores en el mismo sistema de unidades que usamos para la carga. Para ello, debemos hacer Tools/Settings, seleccionar la oreja de Units y activar la opcin de Use Metric Units.

7 Como este apunte no intenta explicar cmo generar un reporte, mostraremos un mtodo

alternativo.

______________________________________________________________________

Armando Proyectos Simples con OFM

Luego, desde el mapa base hacemos Edit/Project/Data. OFM nos muestra la lista de tablas que existen en el proyecto. Como vern, existen muchas y esto es debido a que

el template de PA utilizado contiene ms de las que estrictamente necesitamos. Por ahora, seleccionamos la tabla maestra XY y clickeamos OK. OFM muestra la grilla con los datos cargados en esta tabla, como se ve en la figura anterior.

Esto nos sirve para controlar nuestro archivo de datos (el *.xy) y ver que sus valores

______________________________________________________________________

Armando Proyectos Simples con OFM

hayan sido cargados correctamente en el proyecto de OFM. Si los datos coinciden, podemos seguir. Si no, ser necesario investigar la causa y recargar el archivo ASCII. El siguiente paso es controlar los datos de Sort. Para ello, cerramos esta grilla con File/Close y una vez en el mapa base hacemos Edit/Project/Sort. OFM muestra la tabla de sort y su contenido, como en la figura anterior.

Una vez revisados los datos de sort, hacemos File/Close.

El resto de los datos a revisar son del tipo dinmico y no se pueden ver todos a la vez. OFM es capaz de mostrar una grilla similar a la vista pero de a un dueo a la vez, o sea, de a una historia a la vez. El siguiente ejemplo clarifica esta aclaracin.

Haciendo Edit/Project/Data, seleccionamos la tabla de produccin (PRD). OFM abre una grilla vaca. Para ver los datos es necesario seleccionar el intervalo que queremos revisar desde la lista de seleccin, por ejemplo el P1:A.

Al seleccionar alguno de los intervalos, OFM recupera los datos correspondientes y rellena la grilla. Como dijimos, lo hace con solo uno a la vez. Si deseamos controlar a algn otro, debemos seleccionarlo. Una vez satisfecho con los resultados, podemos hacer File/Close, volver al mapa base y revisar las otras tablas.

El procedimiento es similar. Por ejemplo, haciendo Edit/Project/Data/WINJ y seleccionando al intervalo que tiene cargada inyeccin (P3:C) podemos ver los valores cargados. El resultado sera como en mostrado en la figura siguiente.

Seleccionar P1:A

______________________________________________________________________

Armando Proyectos Simples con OFM

La siguiente figura muestra los valores de ensayos cargados (en la tabla TEST) para P1:A. Una vez verificados, cerrar la planilla con File/Close.

Creacin de la tabla Propiedades

Finalmente, nos queda cargar las propiedades de los distintos intervalos. Para ello, ya tenamos preparado el archivo ASCII con los datos, pero nos haca falta crear una tabla que acepte estos datos. La siguiente seccin explica como hacer esto.

______________________________________________________________________

Armando Proyectos Simples con OFM

Para crear una tabla, debemos hacer Edit/Project/Definition.

Esto trae una ventana donde podemos agregar nuevas o quitar tablas. Tambin podemos escoger una tabla existente y modificar su estructura.

Hacemos click sobre Add y OFM nos

gua para la creacin de una nueva tabla. Recordemos que queremos llamar a esta

tabla Propiedades y queremos que sea

del tipo esttica. Por la tanto, una vez

completados los datos como en la figura,

hacemos OK y procedemos a definir el

resto de la tabla.

Completamos la siguiente ventana con la definicin de la primera de las columnas: Porosidad (prxima figura, a la izquierda). Notar que hemos elegido tambin una unidad del tipo Fraction.

Una vez completado, hacemos click en New para agregar la segunda columna, Permeabilidad, a la cual asignamos md como unidad (figura anterior, a la derecha).

Finalmente, hacemos un segundo click en New y agregamos Espesor, en m.

Como ya definimos todas las columnas, hacemos click en OK para cerrar esta ventana. Notar que ahora existe la nueva tabla propiedades entre todas las tablas del proyecto.

Cerramos la ventana de Edit Project Definition haciendo click en OK y retornamos al mapa base.

Para cargar los datos, llamamos al Data Loader mediante File/Get External Data/Data Loader. Como vemos, el data loader recuerda los

______________________________________________________________________

Armando Proyectos Simples con OFM

archivos que ya cargamos. Como no los queremos volver a cargar, hacemos click en

Clear All y seleccionamos el archivo ASCII con los datos que van a la tabla de propiedades, tal como se muestra en la siguiente figura. Luego hacemos click en Load y OFM carga los datos.

Finalmente, podemos verificar los datos cargados mediante Edit/ Project Data/ Propiedades.

La siguiente figura

muestra el resultado.

Con este ltimo paso damos por finalizado el primer ejercicio. A modo de repaso,

resumiremos los principales puntos de esta seccin.

____________________________________________________________________

Armando Proyectos Simples con OFM

Hemos preparado los archivos ASCIIs con los datos necesarios para el nuevo proyecto.

Como el proyecto se basa en el template de PA, no es necesario crear las tablas antes de la carga. Sin embargo, los archivos de datos deben estar preparados para ser tomados por las tablas de este template.

Creamos un directorio nuevo, vaco y creamos all el nuevo proyecto. En la misma operacin, hicimos la carga de nuestros archivos de datos.

Una vez hecha la carga, revisamos las asociaciones desde Edit/Map/Associations.

Luego ajustamos un poco la cosmtica del mapa base.

Verificamos que los datos que se cargaron coinciden con los que especificamos en

nuestros archivos ASCII.

Creamos una tabla nueva llamada propiedades pues desebamos cargar este tipo de datos y el template PA no tena nada predefinido. Una vez creada esta tabla, cargamos los datos desde el archivo ASCII previamente preparado.

A su vez, tambin explicamos algunos aspectos prcticos sobre los smbolos del

mapa base.

Creacin de proyecto usando un archivo de definicin

Comparado con el anterior, este caso requiere solo un paso extra. En este ejemplo no vamos a usar ningn template, con lo cual partiremos de la nada. Al no tener ninguna tabla pre-definida (la funcin principal del template), es necesario crearlas antes de

intentar la carga de los datos.

Hemos visto que una tabla puede ser creada en modo interactivo (como se ha mostrado para la tabla propiedades). Sin embargo, este mtodo sirve para agregar tablas a un proyecto existente y no para cuando el proyecto es nuevo. En estos casos, es necesario preparar otro archivo ASCII con los comandos necesarios para definir las tablas necesarias. Este es el llamado archivo de definicin.

El archivo de definicin

Este archivo posee una sintaxis algo complicada, sin embargo, con el mnimo de comandos se puede crear la estructura bsica y completarla desde dentro del programa,

en forma interactiva. Este es el modo en que vamos a proceder. Para ms detalles del archivo de definicin, ver la seccin correspondiente mas adelante.

En general, el archivo define una a una las tablas que deseamos incluir en el proyecto.

Como regla, se debe definir la tabla maestra primero y se debe prestar especial atencin a que la primer columna que en ella se defina sea de tipo STRING. Esta ser la columna pegamento (primary key) del proyecto.

El siguiente es un ejemplo de archivo de definicin mnimo, con todas las tablas que

vamos a necesitar.

______________________________________________________________________

Armando Proyectos Simples con OFM

// Archivo de definicin bsico. manual.def

*TABLENAME MAESTRA Static Master

CAPA

STRING 20

XCOORD

FLOAT

YCOORD

FLOAT

ALIAS

STRING 10

POZO

STRING 30

*TABLENAME PRODUCCION Monthly

DIAS

FLOAT

OIL

FLOAT

GAS

FLOAT

WATER

FLOAT

PDOIL

CALCULATED*4 "OIL/DIAS"

PDGAS

CALCULATED*4 "GAS/DIAS"

PDWATER

CALCULATED*4 "WATER/DIAS"

*TABLENAME INYECCION Monthly

DIAS

FLOAT

WATERINJ

FLOAT

PRESION

FLOAT

PDWINJ

CALCULATED*4 "WATERINJ/DIAS"

*TABLENAME TEST Sporadic

DATE

INT4

OIL

FLOAT

GAS

FLOAT

WATER

FLOAT

HORAS

FLOAT

*TABLENAME PROPIEDADES Static

POROSIDAD

FLOAT

PERMEABILIDAD

FLOAT

ESPESOR

FLOAT

En este archivo apenas definimos las tablas y sus columnas (y no sus unidades, apariencia en plots, reportes, multiplicadores, etc.)

La primera es la maestra, que llamamos MAESTRA (antes XY). La primer columna fue definida con el nombre CAPA (que funcionar de la misma manera que antes funcionaba la llamada WELL). La segunda tabla fue llamada PRODUCCION y ser la que contenga los datos de produccin. El resto es similar.

Este archivo se puede escribir desde cero o bien se puede robar de algn proyecto existente cuya estructura quiera ser usada como modelo. Para obtener un archivo con la definicin de las tablas de un proyecto existente, debemos abrir este proyecto y hacer File/Export/Table Definitions. Esto crea el archivo necesario y se ver con mas

detalles en secciones siguientes.

______________________________________________________________________

Armando Proyectos Simples con OFM

Para nuestro caso, en el cual partimos desde nada, decidimos escribir este archivo con los detalles mnimos necesarios. Una vez terminado, an debemos preparar el resto de los archivos ASCII de datos en forma similar al caso anterior. Sin embargo, es necesario notar que los nombres de las tablas ahora son distintos por lo cual, algunas partes de estos sern diferentes. Los siguientes cuadros muestran los distintos archivos de datos preparados para ser cargados en las tablas especificadas en el archivo de definicin.

Tabla Maestra

//Contenido del archivo ejemplo.xy

*METRIC

*TABLENAME MAESTRA

*CAPA *XCOORD *YCOORD *ALIAS *POZO

P1:A 12435433 P1 ARG-NQN-A-P1x

P1:B 12435433 P1 ARG-NQN-A-P1x

P2:A 42321232 P2 ARG-NQN-B-P2p

P2:C 42321232 P2 ARG-NQN-B-P2p

P3:A 66005800 P3 ARG-MZA-B-P3x

P3:C 66005800 P3 ARG-MZA-B-P3x

Tabla de Sort

//Contenido del archivo ejemplo.srt

//Igual que el anterior

*define

*tanque

*campo

*tipo

*end_define

*well *tanque *campo *tipo

P1:A A A OIL

P1:B A A OIL

P2:A A B OIL

P2:C B

B OIL

P3:A SINB GAS

P3:C B B WINJ

Tabla de Propiedades

// Contenido del archivo propied.dat

*METRIC

*TABLENAME PROPIEDADES

*CAPA *POROSIDAD *PERMEABILIDAD *ESPESOR

P1:A

0.18

2.2

0.6

P1:B

0.12

2.4

0.7

P2:A

0.11

1.3

1.2

P2:C

0.17

16.0

0.5

P3:A

0.15

13.1

0.9

P3:C

0.13

16.0

1.1

Tabla de Produccin

// Contenido del archivo produc.prd

// Formato 1

______________________________________________________________________

Armando Proyectos Simples con OFM

*METRIC

*TABLENAME PRODUCCION

*CAPA *DATE *DIAS *OIL *GAS *WATER

P1:A 199901 20 80 120 20

P1:A 199902 25 81 130 21

P1:A 199903 22 78 150 20

P1:A 199904 30 78 140 19

P1:A 199905 30 75 100 22

P1:A 199906 24 74 110 23

P1:B 199902 21 60 0 16

P1:B 199903 27 59 0 15

P1:B 199904 28 59 0 13

P1:B 199905 22 60 0 16

P1:B 199906 23 60 0 17

// Contenido del archivo produc.prd

// Formato 2

*METRIC

*TABLENAME PRODUCCION

*DATE *DIAS *OIL *GAS *WATER

*KEYNAME P1:A

199901 20 80 120 20

199902 25 81 130 21

199903 22 78 150 20

199904 30 78 140 19

199905 30 75 100 22

199906 24 74 110 23

*KEYNAME P1:B

199902 21 60 0 16

199903 27 59 0 15

199904 28 59 0 13

199905 22 60 0 16

199906 23 60 0 17

Datos de Ensayos

// Contenido del archivo tests.dat

// Formato 1

*METRIC

*TABLENAME TEST

*DATE *OIL *GAS *WATER

*KEYNAME P1:A

19990112 2.67 4.00 0.67

19990219 2.70 4.33 0.70

19990502 2.50 3.33 0.73

19960624 2.47 3.67 0.77

*KEYNAME P1:B

19990202 2.00 0.00 0.53

19990519 2.00 0.00 0.53

*KEYNAME P3:A

19990601 2.00 0.00 0.57

______________________________________________________________________

Armando Proyectos Simples con OFM

// Contenido del archivo tests.dat

// Formato 2

*METRIC

*TABLENAME TEST

*CAPA *DATE *OIL *GAS *WATER

P1:A 19990112 2.67 4.00 0.67

P1:A 19990219 2.70 4.33 0.70

P1:A 19990502 2.50 3.33 0.73

P1:A 19960624 2.47 3.67 0.77

P1:B 19990202 2.00 0.00 0.53

P1:B 19990519 2.00 0.00 0.53

P3:A 19990601 2.00 0.00 0.57

Datos de Inyeccin

// Contenido del archivo Inyeccion.dat

//Formato 1

*METRIC

*TABLENAME INYECCION

*DATE *DIAS *WATERINJ *PRESION

*KEYNAME P3:C

199904 25.4 1100 400

199905 30.0 1600 480

199906 27.8 1800 467

// Contenido del archivo Inyeccion.dat

//Formato 2

*METRIC

*TABLENAME INYECCION

*CAPA *DATE *DIAS *WATERINJ *PRESION

P3:C 199904 25.4 1100 400

P3:C 199905 30.0 1600 480

P3:C 199906 27.8 1800 467

Armado del proyecto

Una vez preparados los archivos, estamos en condiciones de crear el proyecto. Debido a que nuestro archivo de definicin no est completo, va a ser necesario hacer el ensamblado en dos etapas. Primero, la carga del archivo de definicin y su terminacin en forma interactiva. Segundo, la carga masiva de los datos.

Para ello, volvemos a crear un directorio vaco (que contendr al proyecto) y colocamos un subdirectorio Data, donde incluiremos todos los archivos ASCII de datos ms el nuevo de definicin.

Luego, arrancamos OFM y seleccionamos File/New. Esto es similar a lo visto anteriormente, le damos un nombre y luego, no seleccionamos el template de Production Analyst, sino la opcin de User Defined, como se muestra en las siguientes figuras.

______________________________________________________________________

Armando Proyectos Simples con OFM

Una vez hecho esto, OFM vuelve a abrir la ventana del Data Loader. Como dijimos, en

primera instancia vamos a cargar nicamente al archivo de definicin, por lo tanto, la ventana del Data Loader, debera quedar como la siguiente figura.

Una vez hecho esto, clickeamos Load y OFM arma la estructura del proyecto basada en nuestro archivo de definicin. Como no cargamos datos, la ventana del mapa aparece vaca. Este es el momento de terminar de disear las tablas. Si bien estn todas creadas, no se ha hecho ninguna definicin extra mas all de los tipos y nombres.

En particular, antes de cargar los datos, debemos definir al menos las unidades.

Hacemos esto va Edit/Project/Definition.

Seleccionaremos las tablas, una a una y recorreremos las unidades que deba asignarse a las distintas columnas que contengan nmeros y necesiten unidades.

Empezamos por la tabla MAESTRA, a modo de ejemplo.

______________________________________________________________________

Armando Proyectos Simples con OFM

Para ello, seleccionamos la tabla (que aparezca en azul, como en el ejemplo) y hacemos click en el botn Fields. Esto abre la ventana de Variable Definitions.

Luego, desde la lista de Variable Name, seleccionamos las columnas que necesiten una unidad. En esta tabla en particular, slo las dos de las coordenadas, a las cuales les asignamos la unidad feet (ft). Una vez revisadas todas las unidades de esta tabla, con un click en OK cerramos la ventana de Variable Definitions.

Sucesivamente, desde la ventana de Edit Table Definition, pasamos por las siguientes tablas y asignamos las correspondientes unidades a cada una de sus columnas.

La siguiente lista muestra, para cada tabla y columna, la unidad que es necesario asignar para las tablas de este ejemplo:

MAESTRA

XCOORD

ft

YCOORD

ft

PRODUCCION

DIAS

Days

OIL

bbl

GAS

cf

WATER

bbl

PDOIL

bbl/d

PDGAS

cf/d

PDWATER

bbl/d

INYECCION

DIAS

Days

WATERINJ

bbl

______________________________________________________________________

Armando Proyectos Simples con OFM

PRESION

psi

PDWINJ

bbl/d

TEST

DATE

Date

OIL

bbl/d

GAS

cf/d

WATER

bbl/d

HORAS

Hours

PROPIEDADES

POROSIDAD Fraction

PERMEABILIDAD md

ESPESOR

ft

Como vern, las unidades que les estoy sugiriendo son inglesas. Por ahora, me voy a limitar a una sugerencia, sin entrar en detalles sobre el tema de unidades (tratado en profundidad en el OFM Administrator Handbook). En general, es ms sencillo asignar las unidades desde el sistema ingls (o sea, con el Tools/Settings/Units en no-mtrico).

El problema es que hay varias unidades inglesas que tienen el mismo equivalente en el sistema mtrico. Por ejemplo:

Cf (cubic feet) tiene un equivalente a m3

Acre-ft tiene un equivalente a m3

Bbl tiene un equivalente a m3

Si asignamos las unidades con OFM seteado en mtrico, al querer asignar m3 nos vamos a encontrar con tres m3, aparentemente iguales, de los cuales solo uno es el correcto. Para evitar estas confusiones, es muy recomendable hacer esto desde el sistema ingls, luego poner a OFM en sistema mtrico y eventualmente verificar los resultados.

Carga masiva de datos

Para completar el proyecto, el prximo paso comprende la carga de todos los datos.

Esto debe hacerse despus de que las unidades hayan sido seteadas. Si cargamos datos mtricos y despus asignamos la unidad correspondiente, vamos a tener problemas.

Nuevamente, no entraremos en detalles pero recuerden esto: cuando se cargan datos mtricos (con *METRIC en el archivo de datos), es necesario que las unidades estn previamente definidas. Si por el contrario, se modifican las unidades con los datos ya cargados, ser necesario recargar los datos.

______________________________________________________________________

Armando Proyectos Simples con OFM

Para cargar los datos, debemos llamar al cargador de datos: File/Get External

Data/Data Loader. En este pasos, hay que asegurarse de borrar el manual.def, pues sino volveremos al principio y perderemos las unidades definidas anteriormente.

Luego seleccionamos los archivos a cargar, como se indic en el ejercicio anterior. La figura muestra este paso. Notar que estn todos los archivos seleccionados.

El de inyeccin tambin, solo que est ltimo en la lista y no se ve.

Una vez hecho esto, clickeamos en Load.

OFM carga los archivos y nos muestra el mapa base con los tres smbolos. Nos queda repetir los pasos anteriores. Lo primero a hacer, es verificar las asociaciones.

Edit/Map/Associations

Notar que, como antes, el tipo de pozo para el smbolo viene de la columna TIPO de la tabla de sort.

Nuestra informacin con el nombre del pozo ahora est en la columna POZO.

Una vez seteadas estas asociaciones, hacemos click en OK y OFM retorna al mapa base.

Para arreglar el mapa un poco ms, podemos hacer lo siguiente:

Edit/Map/Limits/Grid y seleccionar que nos muestre la grilla.

Edit/Map/Wellnames y seleccionar que nos muestre los alias.

View/Legend para mostrar la leyenda que explica el significado de los smbolos.

______________________________________________________________________

Armando Proyectos Simples con OFM

Una vez hechas estas modificaciones, el mapa cambia como se muestra en la siguiente figura.

Como vemos, el resultado fue exactamente el mismo de antes aunque ahora, la estructura de la base de datos fue pensada y definida enteramente por nosotros.

Control de datos

El prximo paso sera el de asegurarse de que los datos hayan sido correctamente. Esto

se hace repitiendo los mismos pasos que mencionamos en el anterior ejercicio, en la

seccin Control de Datos, de la pgina 18. Recuerden que ahora las tablas y columnas

tienen otros nombres, por lo cual, al seguir las mismas instrucciones habr que tener

esto en cuenta.

______________________________________________________________________

Armando Proyectos Simples con OFM

Tabla Maestra

Tabla de Sort

______________________________________________________________________

Armando Proyectos Simples con OFM

Datos de Produccin de P1:A

Datos de Inyeccin de P3:C

______________________________________________________________________

Armando Proyectos Simples con OFM

Datos de Ensayos de P1:B

Tabla de Propiedades

Para terminar este segundo ejercicio, haremos una vez ms un breve repaso.

Hemos confeccionado un rudimentario archivo de definicin con las tablas deseadas

para este proyecto.

______________________________________________________________________

Armando Proyectos Simples con OFM

Hemos preparado los archivos ASCIIs con los datos necesarios para el nuevo proyecto, con los nuevos nombres de tablas y columnas elegidos en nuestro archivo de definicin.

Creamos un directorio nuevo, vaco y creamos all el nuevo proyecto. En un principio, slo cargamos al archivo de definicin. OFM cre un proyecto vaco, pero con la estructura de datos deseada. Luego, en modo interactivo, definimos las unidades para cada una de las columnas numricas de nuestra base.

A continuacin invocamos al data loader, y cargamos todos los archivos de datos restantes. Esta vez, como la tabla de propiedades vino definida por el propio archivo de definicin, incluimos el archivo de datos con sus datos en la misma operacin.

Una vez hecha la carga, revisamos las asociaciones desde Edit/Map/Associations.

Luego ajustamos un poco la cosmtica del mapa base.

Verificamos que los datos que se cargaron coinciden con los que especificamos en nuestros archivos ASCII.

Reusando Datos

En los ejercicios anteriores hemos visto como construir proyectos sencillos basados en un template o en un archivo de definicin. Tambin vimos que un template es ms cmodo siempre que la estructura se adapte a nuestras necesidades. Por el contrario, el archivo de definicin es ms flexible pero un poco ms laborioso. Existe entre ambos una solucin de compromiso y es la de robarle el archivo de definicin a un proyecto existente. Este mtodo es muy conveniente pues el archivo no solo contiene la estructura de tablas, sino todo lo relacionado con ellas: unidades, apariencia en plots y reportes, multiplicadores, etc.

En las siguientes secciones, mostraremos como hacer este tipo de operaciones y que detalles deben tenerse en cuenta al preparar los archivos ASCII de datos.

Archivo de Definicin

El archivo de definicin puede ser creado a partir de otro que robemos a algn proyecto modelo. A modo de ejemplo, abramos el proyecto DemoDB que viene con la distribucin de OFM.

______________________________________________________________________

Armando Proyectos Simples con OFM

Ahora hacemos File/Export/Table Definitions. OFM nos pregunta por un nombre y crea un archivo de definicin basado en la estructura de tablas del proyecto demodb.

El archivo es el siguiente:

*Datelabel DATE

*TABLENAME HEADERID Static Master

UNIQUEID

STRING 20

*rh "" "HEADERID" "UNIQUEID"

*rf 20 1 Right

ALIAS STRING 20

*rh "" "HEADERID" "ALIAS"

*rf 20 1 Right

XCOOR DOUBLE

*pn "HEADERID.XCOOR"

*pa "Blue" "Solid " "None " 4

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "XCOOR"

*rf 10 1 Right

YCOOR DOUBLE

*pn "HEADERID.YCOOR"

*pa "Yellow" "Solid " "None " 4

______________________________________________________________________

Armando Proyectos Simples con OFM

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "YCOOR"

*rf 10 1 Right

UPPERPERF

FLOAT

*pn "HEADERID.UPPERPERF"

*pa "Magenta" "Solid " "None " 4

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "UPPERPERF"

*rf 10 1 Right

LOWERPERF

FLOAT

*pn "HEADERID.LOWERPERF"

*pa "Cyan" "Solid " "None " 4

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "LOWERPERF"

*rf 10 1 Right

TOTALDEPTH

FLOAT

*pn "HEADERID.TOTALDEPTH"

*pa "Red" "Solid " "None " 4

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "TOTALDEPTH"

*rf 10 1 Right

MIDPERFDEPTH

FLOAT

*pn "HEADERID.MIDPERFDEPTH"

*pa "Green" "Solid " "None " 4

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "MIDPERFDEPTH"

*rf 10 1 Right

OWNERFRACTION

FLOAT

*pn "HEADERID.OWNERFRACTION"

*pa "Blue" "Solid " "None " 4

*u "None"

______________________________________________________________________

Armando Proyectos Simples con OFM

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "HEADERID" "OWNERFRACTION"

*rf 10 1 Right

WELLBORE

STRING 20

*rh "" "HEADERID" "WELLBORE"

*rf 20 1 Right

*TABLENAME MONTHLYPROD Monthly

DAYS INT4

*pn "Producing Days"

*pa "Black" "Solid " "None " 4

*u "days"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "Producing" "Days"

*rf 10 0 Right

OIL FLOAT

*pn "Monthly Oil"

*pa "Green" "Solid " "None " 4

*u "bbl"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "Monthly" "Oil"

*rf 10 0 Right

GAS DOUBLE

*pn "Monthly Gas"

*pa "Red" "Solid " "None " 4

*u "cf"

*mu "M" "M"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "Monthly" "Gas"

*rf 10 0 Right

WATER FLOAT

*pn "Monthly Water"

*pa "Blue" "Solid " "None " 4

*u "bbl"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "Monthly" "Water"

*rf 10 0 Right

PRESSURE

FLOAT

______________________________________________________________________

Armando Proyectos Simples con OFM

*pn "Reservoir Pressure"

*pa "Black" "None " "Diamond" 0

*u "psia"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "Reservoir" "Pressure" ""

*rf 10 0 Right

STATUS STRING 4

*rh "Status" "" ""

*rf 4 1 Right

ON CALCULATED*1 "OIL|GAS|WATER"

*pn "MONTHLYPROD.ON"

*pa "Gray" "Solid " "None " 4

*u "None"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "MONTHLYPROD" "ON"

*rf 10 1 Right

Etctera

Como vemos, un archivo de definicin no solo contiene los nombres de las tablas y sus columnas, sino que tambin puede contener cada uno de los posibles atributos de ellas.

Un archivo con todo esto correctamente definido hace que el paso intermedio de asignacin de unidades mostrado en el ejercicio anterior sea totalmente innecesario. Un buen archivo de definicin contiene todo esto, solo que es difcil especificarlo a mano.

Analicemos alguna de las variables, por ejemplo el petrleo de la tabla de produccin.

OIL FLOAT

*pn "Monthly Oil"

*pa "Green" "Solid " "None " 4

*u "bbl"

*mu "1" "1"

*id 0

*ma Yes None

*da 0 0 -99999

*rh "" "Monthly" "Oil"

*rf 10 0 Right

Estos comandos crean la columna OIL de tipo FLOAT. Sin embargo, tambin especifican:

*pn: plot name, la leyenda que va a incluirse en los plots cuando se use esta variable.

*pa: plot attributes, el color, tipo de lnea, markers y su ancho para los plots.

______________________________________________________________________

Armando Proyectos Simples con OFM

*u: units, las unidades de la variable.

*mu: multiplicadores de entrada y salida, para la carga y presentacin.

*ma: math average, para especificar si el valor de grupo es una suma o promedio.

*da: data range, para especificar los valores mximo, mnimo y default.

*rh: report header, que aparecer en las tres lneas de la cabeza del reporte.

*rf: report format, ancho, decimales y alineacin en los reportes.

Etc.

Existen ms atributos especificables mediante este archivo, descriptos en el Help.

Qu es lo que queremos explicar con esto? Que una vez que tenemos un proyecto modelo, con todo definido a nuestro gusto, es muy fcil clonarlo para crear uno nuevo. Simplemente exportamos su archivo de definicin y lo usamos para nuestra nueva base.

Si el archivo de definicin est completo, podemos cargar todo en un solo paso, como se muestra a continuacin.

Abrimos OFM, hacemos File/New. Elegimos el nombre para nuestro nuevo proyecto.

Luego indicamos que va a ser basado en un archivo de definicin (User Defined).

Cuando OFM abre la ventana del data loader, no solo inclumos los archivos de datos sino que el de definicin tambin. Al hacer click en Load, OFM hace todo en un paso.

Solo resta revisar las asociaciones y listo.

File/New

______________________________________________________________________

Armando Proyectos Simples con OFM

______________________________________________________________________

Armando Proyectos Simples con OFM

OFM ensambla las tablas y carga los datos. Inmediatamente despus, muestra el mapa con los resultados. Las asociaciones se deben revisar, como siempre.

Archivos de Datos

Existen una serie de consejos, reglas y trucos para los archivos de datos. Trataremos de exponerlas en esta seccin.

Datos numricos

Se han visto problemas cuando los datos numricos tienen decimales y estos estn en el archivo a lo latino, es decir, con la coma como separador decimal. Mi mejor consejo es que trabajen siempre con el punto y jams mezclen. Es tambin recomendable que el mismo Windows est seteado con este formato.

Ejemplos:

// Contenido del archivo Inyeccion.dat

//Formato 1

*METRIC

*TABLENAME WINJ

*DATE *WIDAY *WINJ *WIPRE

______________________________________________________________________

Armando Proyectos Simples con OFM

*KEYNAME P3:C

199904 25.4 1100 400

199905 30.0 1600 480

199906 27.8 1800 467

// Contenido del archivo Inyeccion.dat

//Formato 1

*METRIC

*TABLENAME WINJ

*DATE *WIDAY *WINJ *WIPRE

*KEYNAME P3:C

199904 25,4 1100 400

199905 30,0 1600 480

199906 27,8 1800 467

Datos no numricos

Cuando el archivo contiene datos no numricos (tiras de caracteres), es necesario seguir la siguiente regla: Si la tira contiene espacios, es necesaria encomillarla. Si no hacen esto, OFM considera como dato a la primer parte antes del espacio. Lo que siga, va a ser asignado como dato siguiente!

Por ejemplo,

//Contenido del archivo ejemplo.srt

*define

*tanque

*campo

*tipo

*end_define

*well *tanque *campo *tipo

P1:A Tanque A Campo A OIL

P1:B Tanque A Campo A OIL

P2:A Tanque A Campo B OIL

P2:C Tanque B Campo B OIL

P3:A Sin Tanque Campo B GAS

//Contenido del archivo ejemplo.srt

*define

*tanque

*campo

*tipo

*end_define

*well *tanque *campo *tipo

P1:A Tanque A Campo A OIL

P1:B Tanque A Campo A OIL

P2:A Tanque A Campo B OIL

P2:C Tanque B Campo B OIL

P3:A Sin Tanque Campo B GAS

Alineacin

La alineacin de los datos es innecesaria. Ya se ha mencionado esto antes pero lo repetimos para que la seccin quede completa. Para separar dos datos en una lnea,

______________________________________________________________________

Armando Proyectos Simples con OFM

OFM necesita al menos un espacio o un tabulador o cualquier combinacin de ellos. Para

OFM, los siguientes archivos son igualmente vlidos.

P1:B 1243 5433 P1 ARG-NQN-A-P1x

P2:A 4232 1232 P2 ARG-NQN-B-P2p

P2:C 4232 1232 P2 ARG-NQN-B-P2p

P3:A 6600 5800 P3 ARG-MZA-B-P3x

P1:B 1243 5433 P1 ARG-NQN-A-P1x

P2:A 4232.00 1232. 0 P2

ARG-NQN-B-P2p

P2:C

4232 1232

P2 ARG-NQN-B-P2p

P3:A 6600.0 5800.0 P3 ARG-MZA-B-P3x

Fechas

El campo de fechas tiene muchas posibilidades. El formato depende del tipo de tabla a la que se va a cargar la fecha. Si la tabla es mensual, no es necesario especificar el da, por lo cual, las siguientes fechas son totalmente vlidas y equivalentes:

19961201

961201

9612

Si la tabla que va a aceptar los datos es diaria o espordica, el da del mes es necesario.

En este caso, cualquiera de estos formatos es vlido y equivalente:

19961201

961201

Como OFM es compatible con el problema del ao 2000, tiene un algoritmo para discernir entre fechas ambiguas. Cuando un ao se especifica con solo dos dgitos, OFM los trata de diferente manera, de acuerdo al ao especificado.

Si el ao nn es menor que 20, entonces lo considera como 20nn. Si por el contrario, es mayor o igual a 20, OFM lo considera como 19nn. Para tener total control, es conveniente especificar los cuatro dgitos. Si esto no se hace, OFM aplica la regla mencionada.

Ejemplos

1801 201801

1901 201901

2001 192001

2101 192101

2201 192201

9902 199902

Ignorando datos

Cuando cargamos un archivo de datos, existen dos maneras de decirle a OFM que ignore ciertos datos: Que ignore cierta columna o que ignore cierta seccin del final del archivo.

______________________________________________________________________

Armando Proyectos Simples con OFM

Si queremos que OFM ignore cierta columna que est presente en el archivo y no queremos cargar, usamos el comando *SKIP como titulo de esa columna. Ejemplo:

//Contenido del archivo ejemplo.srt

*define

*tanque

*campo

*tipo

*end_define

*SKIP *well *tanque *SKIP *campo *tipo

1) P1:A Tanque A 199001 Campo A OIL

2) P1:B Tanque A 199001 Campo A OIL

3) P2:A Tanque A 199001 Campo B OIL

4) P2:C Tanque B 199001 Campo B OIL

5) P3:A Sin Tanque 199001 Campo B GAS

OFM ignorar los datos de las columnas 1 y 4, debido al comando especificado. Esto

tambin sirve para archivos de datos, por ejemplo:

// Contenido del archivo Inyeccion.dat

//Formato 1

*METRIC

*TABLENAME INYECCION

*DATE *DIAS *WATERINJ *PRESION *SKIP

*KEYNAME P3:C

199904 25.4 1100 400 921

199905 30.0 1600 480 82.2

199906 27.8 1800 467 nada

El comando *SKIP permite ignorar secciones verticales del archivo. Si necesitamos ignorar secciones horizontales, se usa el comando *EOF. OFM ignora cualquier cosa despus de este comando. Por ejemplo:

*METRIC

*TABLENAME INYECCION

*DATE *DIAS *WATERINJ *PRESION

*KEYNAME P3:C

199904 25.4 1100 400

199905 30.0 1600 480

199906 27.8 1800 467

199907 25.4 1100 400

*EOF

199908 30.0 1600 480

199909 27.8 1800 467

199910 25.4 1100 400

Estos datos son ignorados por OFM

199911 30.0 1600 480

199912 27.8 1800 467

Los comandos *SKIP y *EOF sirven para archivos de datos. No se aplican en el archivo

de definicin.

______________________________________________________________________

Armando Proyectos Simples con OFM

Multiplicadores

Existe una opcin ms para evitar la edicin innecesaria del archivo. Esto hace uso del

multiplicador de entrada definido para la variable en cuestin. Para modificar este

multiplicador, es necesario hacer:

Edit/Project/Definition

Seleccionar la tabla deseada

Clickear en Fields

Seleccionar la variable deseada desde Variable Name

Seleccionar la oreja de Math

Verificar el multiplicador de entrada (Input Multiplier)

La figura anterior muestra el proceso para la variable GAS, de la tabla PRODUCCION.

Como el multiplicador de entrada seleccionado es M, cuando al cargar se lea un archivo de datos destinados a esta columna, el nmero del archivo ser interpretado como miles de. Si la unidad definida para GAS es scm (standard cubic meter), entonces un 38 en el archivo de datos sern cargados como 38000 scm de gas. Si por el contrario, el multiplicador de entrada se deja en 1, el mismo 38 ser interpretado como apenas 38 scm.

El multiplicador de salida es slo para la presentacin de esta variable. Por ejemplo, si hacemos un plot, el gas estar en scm (el valor se leer sobre un eje que marque 38000 y la leyenda especificar que el gas est en scm). Si por el contrario, el multiplicador de salida se selecciona tambin en M, entonces el eje indicar 38, pero la leyenda dir que el gas est en Mscm (miles de scm).

______________________________________________________________________

Armando Proyectos Simples con OFM

Ejemplos:

Unidades

Finalmente, hablaremos respecto de las unidades. OFM trabaja con dos sistemas de unidades: Mtrico/Ingls. El sistema se selecciona mediante Tools/Settings/Units.

Desde esta ventana, se selecciona el sistema deseado para la presentacin de los datos, pero nada tiene que ver con la carga de ellos. La forma de decirle a OFM que los datos a cargar estn en sistema mtrico es mediante la inclusin del comando *METRIC en el archivo de carga. OFM no tiene en cuenta el seteo de Units a la hora de

______________________________________________________________________

Armando Proyectos Simples con OFM

hacer la carga. Slo respeta a la presencia (o ausencia) del comando *METRIC en el archivo de carga.

Por lo tanto, se puede estar trabajando en sistema ingls y cargar sin problemas un archivo con datos mtricos, siempre que este incluya el comando *METRIC. La situacin opuesta es igualmente vlida.

Agregando Nuevos Datos a Proyectos de OFM

Cuando recibimos nuevos datos, es necesario agregarlos a nuestro proyecto de OFM.

Esta seccin explica cmo hacer esto8. El procedimiento que explicaremos ser el mismo para el caso de desear corregir algn valor ya cargado: simplemente lo volvemos a cargar. En general, cuando uno recarga un dato que ya existe, OFM reemplaza su valor por el nuevo. No conserva el valor anterior sino que lo actualiza.

Recordemos que para poder agregar un dato a las tablas de produccin, inyeccin, ensayos o propiedades, es necesario que el dueo de estos datos est en la tabla maestra. Esto hace que podamos hacer una distincin entre dos casos diferentes:

Cuando los datos pertenecen a entidades (pozos o capas) ya existentes en la tabla maestra.

Cuando los datos pertenecen a entidades (pozos o capas) que no existen en la tabla

maestra.

Entidades Existentes

Si la capa (o pozo) ya existe en la tabla maestra, entonces agregar sus nuevos datos es tan fcil como preparar un archivo ASCII apropiado y cargarlo. Por ejemplo, si deseamos agregar datos a P1:A del mes de Julio del 99, entonces los archivos seran:

Datos de Produccin

// Contenido del archivo produc.prd

// Formato 1

*METRIC

*TABLENAME PRD

*WELL *DATE *DAYS *OIL *GAS *WATER

P1:A 199907 23 73 109 23

// Contenido del archivo produc.prd

// Formato 2

*METRIC

*TABLENAME PRD

8 Los ejemplos sern basados en el template de PA. Si nuestra estructura de tablas es distinta,

habr que considerar los nombres adecuados a ella.

______________________________________________________________________

Armando Proyectos Simples con OFM

*DATE *DAYS *OIL *GAS *WATER

*KEYNAME P1:A

199906 23 73 109 23

Datos de Ensayos

// Contenido del archivo tests.dat

// Formato 1

*METRIC

*TABLENAME TEST

*DATE *OIL *GAS *WATER

*KEYNAME P1:A

19990711 2.34 3.90 0.66

// Contenido del archivo tests.dat

// Formato 2

*METRIC

*TABLENAME TEST

*WELL *DATE *OIL *GAS *WATER

P1:A 19990711 2.34 3.90 0.66

Si deseamos agregar datos a ms de un pozo (o capa) a la vez, podemos poner todo esto en un mismo archivo. Por ejemplo, para produccin:

// Contenido del archivo produc.prd

// Formato 1

*METRIC

*TABLENAME PRD

*WELL *DATE *DAYS *OIL *GAS *WATER

P1:A 199907 23 73 109 23

P1:B 199907 20 60 0 15

// Contenido del archivo produc.prd

// Formato 2

*METRIC

*TABLENAME PRD

*DATE *DAYS *OIL *GAS *WATER

*KEYNAME P1:A

199907 23 73 109 23

*KEYNAME P1:B

199907 20 60 0 15

Para modificar un dato existente, se recarga el archivo ASCII con el dato modificado. Por ejemplo, si la produccin de agua de P1:B de Julio del 99 era 14.5 y no 15, como se carg con el archivo anterior, simplemente editamos el archivo ASCII y lo volvemos a cargar.

// Contenido del archivo produc.prd

// Formato 1

*METRIC

______________________________________________________________________

Armando Proyectos Simples con OFM

*TABLENAME PRD

*WELL *DATE *DAYS *OIL *GAS *WATER

P1:A 199907 23 73 109 23

P1:B 199907 20 60 0 14.5

// Contenido del archivo produc.prd

// Formato 2

*METRIC

*TABLENAME PRD

*DATE *DAYS *OIL *GAS *WATER

*KEYNAME P1:A

199907 23 73 109 23

*KEYNAME P1:B

199907 20 60 0 14.5

Entidades nuevas

Si la entidad no existe en la tabla maestra, debemos preparar los archivos necesarios para agregarla all. Supongamos que se ha perforado un nuevo pozo P4, que produce de una sola capa C. Nos han enviado los datos de produccin de esta nueva capa, junto con los primeros ensayos. Como no existe P4:C en nuestra base, antes de poder cargar sus datos debemos agregarlo a la tabla maestra. Si bien no es indispensable (para poder cargar los datos mencionados), al agregar el P4:C a la tabla maestra, tambin deberamos incluir sus datos en la tablas de sort y propiedades. Por lo tanto, los archivos necesarios seran:

Tabla Maestra

//Contenido del archivo nuevo.xy

*METRIC

*TABLENAME XY

*WELL *XCOORD *YCOORD *ALIAS *WELLBORE

P4:C 2200 6100 P4 ARG-NQN-A-P4P

Tabla de Sort

Si recuerdan, habamos mencionado que antes de poder cargar datos a la tabla de Sort, haba que definir sus columnas y que esto se haca en la primer parte del archivo *.srt.

El siguiente cuadro muestra un ejemplo del archivo para agregar los datos de P4:C a la tabla de sort.

//Contenido del archivo nuevo.srt

*define

*tanque

*campo

*tipo

*end_define

*well *tanque *campo *tipo

P4:C A B OIL

______________________________________________________________________

Armando Proyectos Simples con OFM

Sin embargo, como las columnas de esta tabla ya estn definidas (nuestro proyecto ya contiene una tabla de sort y con esas mismas columnas), podemos crear un archivo ms simple que no incluya estos comandos y el resultado ser totalmente equivalente (recrear una columna de sort con el mismo nombre no afecta a los valores que ya estn cargados en ella). Este archivo sera:

//Contenido del archivo nuevo.srt

//Notar que no contiene los comandos *define *end_define

//ya que estas columnas ya estn en la tabla de sort.

*well *tanque *campo *tipo

P4:C A B OIL

Tabla de Propiedades

// Contenido del archivo propied.dat

*METRIC

*TABLENAME PROPIEDADES

*WELL *POROSIDAD *PERMEABILIDAD *ESPESOR

P4:C

0.12

1.6

0.3

Datos de Produccin

// Contenido del archivo produc.prd

// Formato 1

*METRIC

*TABLENAME PRD

*WELL *DATE *DAYS *OIL *GAS *WATER

P4:C 199907 23 73 109 23

// Contenido del archivo produc.prd

// Formato 2

*METRIC

*TABLENAME PRD

*DATE *DAYS *OIL *GAS *WATER

*KEYNAME P4:C

199906 23 73 109 23

Datos de Ensayos

// Contenido del archivo tests.dat

// Formato 1

*METRIC

*TABLENAME TEST

*DATE *OIL *GAS *WATER

*KEYNAME P4:C

19990713 2.34 3.90 0.66

// Contenido del archivo tests.dat

// Formato 2

*METRIC

*TABLENAME TEST

*WELL *DATE *OIL *GAS *WATER

P4:C 19990713 2.34 3.90 0.66

______________________________________________________________________

Armando Proyectos Simples con OFM

Conclusiones

Como vimos, es relativamente sencillo crear un proyecto simple con OFM. La primer parte de este apunte se concentr en describir la forma en que OFM guarda los datos. Espero que realmente presten atencin a esta parte pues la comprensin de ella es de gran importancia para solucionar eventuales problemas.

Luego mostramos la creacin de un proyecto basado en el template PA. El mismo procedimiento sera adecuado para basarse en el otro de los templates disponibles: el template GeoQuest. Usar templates nos ahorra mucho tiempo, sin embargo, nos limita en cuanto a los nombres y tablas que componen el proyecto. No es para preocuparse demasiado el hecho de que existan tablas que no usamos pues, si no se les carga dato alguno, consumen recursos despreciables y no afectan a la performance general del proyecto.

Siguiendo esto, explicamos como construir un proyecto basado en un archivo de definicin, creado a mano (mtodo limitado, debido a la complejidad de los comandos que se pueden incluir en este archivo) y tambin utilizando una definicin basada en un proyecto existente usado como modelo.

Durante estas explicaciones, hicimos algunas advertencias sobre el correcto tratamiento de archivos con valores en sistema mtrico (con el comando *METRIC) y la importancia de tener las unidades definidas antes de cargar este tipo de archivos.

Tambin se hizo mencin al tema de smbolos y solo se trat el caso en el que las siglas provienen de una de las columnas de la tabla de sort.

La parte siguiente se concentr en detalles que es conveniente saber a la hora de preparar los archivos de datos ASCII, para evitar ediciones intensivas innecesarias.

Finalmente, explicamos brevemente cmo cargar nuevos datos (o agregar) a un proyecto armado.

No se han tratado temas igualmente importantes, tales como la creacin de un set de variables calculadas para el proyecto. Solo nos limitaremos a decir que cuando nos basamos en un template, ste ya incluyen un set mnimo. Sin embargo, cuando partimos de un archivo de definicin personalizado, el proyecto resultante no tendr ninguna variable calculada hasta que se definan (interactivamente o mediante un archivo ASCII). Esto no debera ser de gran preocupacin pues CV Builder, uno de los mdulos de OFM Plus que se incluyen a partir de OFM 3.0, contiene una planilla para construir, en minutos, un set extremadamente rico de variables calculadas.

______________________________________________________________________

Armando Proyectos Simples con OFM

Finalmente, recordemos que una vez que se carga un archivo a un proyecto, el archivo ASCII se puede borrar. Sin embargo, es muy recomendable quedarse siempre con todos los archivos cargados a un proyecto debido a que si se presenta algn problema, ste se puede reconstruir en unos pocos minutos. Mi sugerencia final sera, pues, jams se deshagan de los archivos ASCII que se cargan a un proyecto. Usen la // para agregar comentarios y documentar que contiene cada archivo y mantengan siempre una copia en un lugar seguro.

Por ahora, nada ms. Espero que les sirva para su trabajo diario con OFM. Saludos para todos.

Milci

Buenos Aires, 16 de Julio de 1999.Tanque va a ir a *tanque, A va a ir a *campo, Campo va a ir a *tipo y ni A ni OIL van a ser tenidos en cuenta