2 文件的组织和结构
2.1 ECLIPSE输入/输出结构
箭头表明数据文件可以在应用模板间直接传递;
ECLIPSE及其相关软件并不依赖于数据库来进行数据存储;
用Unix和Windows文件系统进行数据存储;
一些应用模块可以用于作用前处理和后处理(双向箭头);
上表只列出了ECLIPSE的主要结构,并不完整;
一些应用程序被作为一个套件来提供。
ECLIPSE及其前后处理模块是在应用模块所在的文件系统中读写数据的,而并没有用底层数椐库来进行数据存储。一般说来,应用模块只是在应用模块所运行的当前目录下读写数据,但是也有例外,那就是利用ECLIPSE的关键字 “INCLUDE”,它用来把其它包含ECLIPSE关键字的文件中的数据读入到 ECLIPSE数据文件中。例如:
INCLUDE
GRID.GRDECL /
把当前目录中名为GRID.GRDECL的文件读入到ECLIPSE数据文件中。
INCLUDE
`../../welldata/97match/sect2.sched` /
会从次相对路径中读取数据文件,绝对路径也是允许的。同时,文件 GRID.GRDECL和sect2.sched本身也可能包含INCLUDE关键字。
数据在应用模块间的传递是通过从一个模块输出文件再从另一个模块读入数据来实现的,当然也有例外,这种数据存储和传递的方式并个是GeoQuest软件的通用情况,因为大多数的GeoQuest软件都是从底层数据库中提取数据的。注意, 并不是所有QeoQuest的应用软件都显示在图14中了。
2.2 ECLIPSE输出文件
ECLIPSE的输入文件有后缀:.DATA(UNIX)或.DAT(PC)
屏幕输出或快捷窗口输出;
Print打印文件;
Debug调试文件;
Summary文件;
Run summary文件;
Summary详述文件;
Grid文件;
Init文件;
Restart重启文件或文件组;
Flux,RFT和(或)Save文件。
快捷输出
快捷输出或屏幕输出是追踪运行过程的一种方式。通常都会在显示器上显示出来。它包括:
一些平均值,如全区的GOR,OGR.,WCT和压力 ;
注释、信息、警告、问题和故障,范围从信息输出到运行失败报告;
井、井组和全区范围内的修井和关井信息,以及控制模式的改变;
通知结果已经输出。
若ECLIPSE在前台运行,快捷输出就会显示出来。若在后台运行,则会生 成一个.LOG文件。
主要输出
主要输出是写入.PRT文件的,它包括所有快捷输出信息及所有需要的附加 信息。无论ECLIPSE是在前台运行还是在后台运行,都会输出.RPT文件。而且 这个文件总是可读的文本文件。
如果ECLIPSE以批处理的方式在后台运行,则通常.LOG文件包括所 有.PRT文件中的信息(虽然用户可以对其进行修改),和其自身批处理过程的相 关细节。
调试(Debug)输出
.DBG文件是调试输出文件,调试文件是默认输出的。它所包含的信息是有 限的。调试信息是以编码的形式给出的,可能是非常大的一个文件,一般只有软件开发人员和技术支持人员才会使用它。建议用户不要修改默认的调试输出选项。
Summary 文件 Summary是在模拟运算过程中的一系列报告步生成的,用来产生线形曲线 图,这些线形图通常是随时间变化的一些量,如全区产油量、油井产水量、井组注水量及其它一些数据,这些数据通常都是加载到GRAF中,同时也会用于产生交互图。
Summary Spec 文件 Summary详述文件用于一些应用程序模块,用户是绝对用不到它们的,它是关于summary文件内容的一个列表及其描述。
Run Summary 文件 Run summary文件所包含的信息与summary文件相同,只不过是以表格的形式给出,可以相对更容易的调入电子表格中。
Restart 文件 Restart文件包括一个在写入阶段时油藏的完整的描述。包括每个网格的压力、相的饱和度、Rs
或Rv。以及对井和地面设施的完整描述,和全过程的产量信息。但是VFP表例外,它不包含在restart
文件里。
Restart文件通常用于创建二维或三维图形显示。ECLIPSE可以被设置为只是输出用于图形显示的restart文件,这样会比默认的restart文件占用较少的内存。
Grid文件 只包含模拟网格的几何信息。
Init文件 Init文件是关于静态油藏描述的信息:
网格尺寸,顶深和网格中心的深度;
网格属性,如:孔隙度、渗透率、孔隙体积和传导系数;
PVT和饱和度表
模型内油藏的分区信息。
FLUX文件 Flux文件包括一系列流动区域边界的流动和压力信息。
RFT文件
包含模拟的RFT数椐,如压力和饱和度随着深度的变化。
Save文件 Savc文件是Eclipse输入数倨文件中一部分信息的压縮形式,包括静态油藏描述、岩石和流体属性,水体和输出控制数据,但是不包括井、地面设施及对它们的限制信息。Save文件用于重启运算。
Error文件 Error文件包括拟合运算失败时的系统信息,是在拟合运算过程中Unix文件所产生的一系列报告。
2.3 ECLIPSE输出类型
输出文件格式在RUNSPECT部分设置;
默认是非格式化多个输出文件。
ECLIPSE可以根据用户的不同需求输出不同类型的文件。这些文件可以是格式化/非格式化和一个
文件/多个文件的任意组合:
格式化文件指的是ASCII形式的文件,即text文件;
非格式化文件指的是二进制文件,即不可读文件;
一个独立的输出文件包含多个报告步的信息;
对于多个文件输出,其中每一个文件都只包含一个单独的报告步的信息。
不是所有的ECLIPSE输出都有所有这些选项,只有restart重启文件和 summary文件可以选择是一个独立的输出文件或是多个输出文件。只有除 .PRT、.LOG、.RSM和.DBG以外的文件才能选择是格式化或非格式化文件输出,这几种文件只能是格式化文件。对输出文件格式的设置在RUNSPEC部分,默认的是非格式化多个文件输出。关键字UNIFOUT选择做单个文件输出,UNIFOUT 则选择做格式化输出,各种不同的文件输出格式都分别具有各自不同的的优点和缺点。
非格式化输出
与格式化文件相比,非格式化文件相对较小,文件读写相对较快。因为它们是二进制的,所以不可以用文木编辑器来阅读,同时也并不是在所有平台间都可以互相移植的。并不是所有的计算机都用同样的方法从磁盘中读取二进制数据,例如,一个写入PC机的非格式化restart重启文件在Silicon Graphics机器中就不能正确读取,反之亦然。为了保证文件的可移植性,在读入另一种操作平台之前,应该先用宏命令@convert把文件转化为格式化文件。
格式化输出
与非格式化文件相比,格式化文件相对较大,占用更多的磁盘空间,但是是可读的。同时由于格
式化文件使用ASCII编码,因此可以在各种不同的操作平台间移植。
多文件输出
多个文件输出包含每一个报告步的restart和summary输出信息,其优点是当运算非正常中止或磁盘空间用尽时,只会丢失当前报告步的信息,所有前面报告步的结果不会受到任何影响。因为它们的数据文件已经被写入并关闭了但是它们的主要缺点是当多个名字相似的模拟保存在同一个文件夹时,要弄清楚它们的输出分别是哪一些就会有些迷惑。同时,多个文件输出的文件个数也是有限制的,不能超过9999个。
单个文件输出
单个文件输出指的是在一个输出文件中包含所有报吿步的信息。使用单个文件输出的模拟运算会输出一个单独的Summary文件和一个单独的Restart文件。它的主要优点是,当在一个文件夹内有多个模拟时,它们的输出结果会非常的整齐和简洁。但是注意,如果模拟运算非正常中止或磁盘空间用尽了,则到目前为止的输出值息包括前面所有报告步的信息全部都会被保存下来,而且对于单个文件结果输出来说,对于报告步的个数是没有限制的。
2.4 输出文件名称
输出在当前目录下;
输入也是来于当前目录,除非是用INCLUDE读取的数据;
粗体带下划线的名字是ECLIPSE默认的文件名;
文件扩展名及其语法必须在配置文件里设置;
输出文件格式在ECLIPSE数据文件中定义。
一般情况下,ECLIPSE都是在当前目录下读写文件。但是也有例外,那就是用关键字INCLUDE把外部数据文件合并入ECLIPSE数据文件。输入和输出文件的扩展名取决于下列设置:
是Unix还是ANSI (3宇符)文件扩展名;
是大写还是小写;
是否是单一文件输出;
是否是格式化输出。
文件扩展名及大小写
默认的文件扩展名取决于操作系统是Unix还是PC。例如,在Unix系统中, ECLIPSE输入文件有后缀.DATA,而在PC非Windows系统中是.DAT。有这种别的原因是Unix允许文件有任意长度的扩展名,而PC的文件扩展名按照惯例被限制为3个字符。但是随着更成熟的PC操作系统的出现,3字符文件扩展名己经过时了,并逐渐不再被使用。默认的文件扩展名可以在一个配置文件 CONFIG.ECL中设置。P48页的内容给出了相关文件的位置。在ECLIPSE每次运行时,都会把此文件拷贝到当前目录下,并改名为ECL.CFG,文件中的信息被用来设置一系列应用程序的默认属性。当模拟运算结束时,它又会被删除。此文件包括以下信息:
激活软件所用的密码;
默认大小写(大写或小写);
默认的文件扩展名(Unix或ANSI);
临时文件位置;
使用字体的指示词;
外围设备驱动器设置;
文件名的默认设置;
Unix系统的大写、长扩展名;
PC系统的小写、短扩展名。
在Unix系统中,文件CONFIG.ECL的相关部分如下所示:
SECTION SYSTEM
CASE UPPER
--CASE LOWER
--CASE BOTH
SUFFIIX UNIX
--SUFFIX ANSI
双短划线表示是一个注释,用户在修改CONFIG.ECL文件中的设置时要非常的小心,因为这会影响到毎一位使用此ECLIPSE及其相关软件的其它用户。更好的做法是,在当前目录下的一个本地配置文件ECL.CFA中修改相关设置。在软件运行时,ECL.CFA是在ECL.CFG之后被读取,所以会使用修改后的设置。同时,在模拟运算结束时,ECL.CFA文件不会被删除。
如何改变个人的默认文件扩展名及大小写设置
这种操作是有必要的。例如,如果你已经把ECLIPSE数据从PC转到了 Unix操作平台,或者反之。操作步骤如图19所示。
来到你的工作目录;
输人@copyconfig (Unix)或$copycfg(PC),把配置文件 CONFIG..ECL 拷贝为 ECL.
CFG 到当前目录,或者直接把它拷贝到当前目录下;
把文件ECL.CFG改名为ECL.CFA ;
用文本编辑器打开文件ECL. CFA;
删除文件中所有与修改部分无关的行;
用双短划线注释掉你想撤销的设置;
激活新的设置,用删除文件中已有部分双短划线的方式,或插入自己的设置语句的方式;
保存文件并退出文本编销器;
例如:
这会影响ECLIPSE及其相关软件所有应用程序在此文件夹内的操作,但是 不会影响用户在其它文件夹内的操作。
输出格式
如P41页所示,总的说来,文件的后缀名会影响其输出格式,如,大多数格式化文件的后缀名都是以字母F开头的,但是多文件restart和summary文件除外。图17和图18给出了 Unix和PC坏境下的文件扩展名,其名字取决于是单文件输出还是多文件输出,足格式化输出还是非格式化输出,其中带下划线的粗体文件名是ECLIPSE的默认文件名。
2.5
文件位置
有一个环境变量$ECLARCH设置软件的位置,通常情况下ECLIPSE的目录为:/ecl;
用在$ECLARCH/macros中的宏指令把ECLIPSE程序调用到当前目录;
$ECLARCH/macros包含一个许可证文件,通常名为:license.dat;
目录$ECLARCH/macros同时也包含一个主要配置文件:config.Ecl;
当ECLIPSE被调用后,config.Ecl被拷贝为ecl.cfg到当前目录下;
ecl.cfg控制文件扩展名、许可证、设备驱动器和其它相关功能。
配置文件ecl.cfa中的设置会覆盖ecl.cfg中的相应设置;
在退出程序时,ecl.cfg文件会被删除,但是ecl.cfa文件不会被删除。
环境变量$ECLARCH包含软件的目录位置,在Unix机器中可以看到
echo $ECLARCH
在PC机上,DOS界面上为
set
在 Unix机器中,目录通常为:/ecl ,而在PC机中,目录通常为:c:\\ecl。子I目录如95a、96a,、96b、97a分别是软件的不同版本,它们通常不会每一个都包含所有的可执行文件。Macros的子目录包括:
主配置文件config.ecl;
许可证文件,通常名为license .dat;
宏命令如@eclipse (Unix)或$eclipse (PC)来运行应用程序(eclipse.exe);
使用宏命令来进行不同的数据处理及任务操作。
Tools文件夹的子目录中包含的是使用宏命令的可执行文件。
2.6 宏命令的使用
@convert把eclipse输出文件从一种格式转化为另一种格式;
@copyconfig把config.ecl拷贝为ecl.cfg;
@ecl2avs把eclipse输出文件转化为floviz能够接受的输入文件;
@expand把include文件合并为一个eclipse数据文件;
@extract抽取出拟合输出的一部分内容;
@flexstart重启许可证管理程序;
@frame打开在线帮助阅读器;
@lmdown关闭许可证管理程序;
@lmhostid为许可证建立主机标示符;
@lmstat向许可证管理器询问软件功能部分的状态;
所有的宏命令都在unix shell中作为命令行运行,同时提供相关操作的提示;
这些都是unix系统中的宏命令语句,在pc系统中要把标示符@改为$。
@convert 宏命令@convert用来把ECLIPSE输出文件转化为另一种格式。例如,可以 把格式化ECLIPSE输出转化为非格式化的。由于每一种输出格式的文件扩展名是不同的,因此原始数据不会被修改。
@copyconfig 这个宏命令把文件CONFIG.ECL拷贝为ECL.CFG,存储到当前目录下。@ecl2vas 用来把ECLIPSE输出数据转化为适用于FLOVIZ和RTView的格式。但是在PC系统中无法实现这一功能。
@expand 许多数据文件用关键字INCLUDE把其它文件的数据合并到主数据体中去。 例如,网格的几何数据通常是非常大的,会分别放在一个~与ECLIPSE输入文件不同的目录下。而宏命令@expand会把网格的几何数据放入ECLIPSE输入文件的一个复制文件中。这保证了,当一个数据体被移动后,所有
它的相关数据也都会被移动。
@extract 大而复杂的拟合模型会产生非常多的输出数据,这使得后处理模GRAF很 难将其导入。而@extract就提供了一种方法,可以选择输出文作中某阶段的一部 分信息。这包括summary、restart、grid和initial文件输出。例如,可以仅加载一整个油藏中一部分区域的前几年的拟合数据。
@flexstart 打幵flexlm许可证管理程序,在 PC系统中此命令为$lmup。
@ frame 运行在线帮助程序,在PC安装系统中无法实现此功能。
@lmdown 关闭flexlm许可证管理程序。
@lmhostid 显示安装软件的计算机的唯一标识符,用于许可证。在PC系统中此命令为$lmhid。
@lmstat 显示ECLIPSE软件组及其相关软件所有可用许可证的总个数,及其每一个应用程序正在被使用的
个数。
2.7
输入文件结构
每一个部分都用一个主要的关键字来标识;
每个部分的主要关键字都会关闭前面的数据部分;
各个部分必须按顺序给出;
有些数据部分是可选的;
大部分关键字都是在某一个数据区域中指定。
输入数据文件按照其不同的作用被按顺序细分为不同的部分。图22中的关键字标志着前一个数
据部分的结束和下一个数据部分的开始。这些关键字没有参数,并且要按顺序给出,虽然其中有一些是可选的。
RUNSPEC 输入数据文件的RUNPSEC部分给出模型的总体特怔,用来给拟合运算的不|同部分分配内部存储空间。RUNCPEC数据部分是必须有的,除非是快速重启运算。 I
GRID 数据文件的GRID部分给出静态油藏描述数据,如网格的几何数据、孔隙度、渗透率、净厚比和数值水体数据。GRID数据部分是必须有的,除非是快速重启运算。
EDIT EDIT部分是可选的,用来修改模型的几何形状数据,使得其更加适用于流 动计算。
PROPS PROPS部分包括流体的PVT属性、相对渗透韦和毛管力数据。
REGIONS REGIONS部分是可选的,根据网格的不同的油藏特征(如岩石压缩系数或初始油API)把网格划分为不同的区块。也可以根据不同的输出报告要求把油藏分区。
SOLUTION SOLUTION部分指定拟合运算开始时的初始条件,它是必须的,除非是快速重启运算。
SUMMARY SUMMARY部分是可选的,用来指定输出线形图表的数据。
SCHEDULE SCHEDULE部分包括所有关于井、地面设施、流动关系式和拟合运算前进和中止的数据信息,如果没有SCHEDULE数据,ECLIPSE就不会输出重启文件。 要输出初始条,须有关键字SCHEDULE,且拟合运算至少要运行一个时间步。
2.8 数据文件语法规则
eclipse输入数据文件是一个文本文件;
关键字的字符个数不能超过8个字符;
关键字的第8个字符后的任何语句都被认为是注释;
关键字的具体内容应该从关键字名称的下面一行开始;
关键字默认为从第一列开始;
数据文件默认为每行最多有132个字符;
每一行第130个字符以后的任何语句都被认为是注释;
其它部分的注释必须用双短横线或正斜杠开始;
ECLIPSE关键字对大小写不敏感;
2.9
隐藏的文本如表格或控制字符都会影响关键字的功能。
关键字语法
每一个关键字都有其自己的语法规则;
许多关键字都有相同的语法规则;
许多关键字的参数都有其默认值,具体见ECUPS 100参考手册;
省略一个关键字等同于使用它所有参数的默认值;
2.10
关键字对大小写不敏感;
只有当一个参数含有特殊字符时才会用到引弓。
各部分通用的关键字
大多数关键字都只能用于数据文件的一个部分;
一些关键字可以用在数据文件的多个部分;
少数关键字可以用在数据文件的各个部分;
ECLIPSE 100参考手册给出了各个关键字可以使用的数据部分。
INCLUDE 把其它文件中的数据合并到ECLIPSE数据文件中。
COLUMNS 设置在数据文件中,ECLIPSE读取数据的第一列和最后一列的位置,默认的位置是在第1列和第130列之间的数椐。数据列的最大个数被限制为是132列。
DEBUG 要求把调试信息输出到.DBG文件中,不推荐用户用这个选项
NOECHO 禁止向PRT文件中输出关键字的参数值,只有关键字本身被写入PRT文件,它后面的数据不会被写入,默认的是参数值会写入PRT文件。
ECHO 在使用了关键字NOECHO后,回复向PRT文件中输出关键字内容。 EXTRAPMS 显示ECLIPSE对VFP和(或)PVT表的最终外推操作,
OPTIONS 激活一些特殊的ECLIPSE工具的一些特殊选项,这些选项都非常的专业, 一般情况下推荐用户忽略这些关键字,不同版本的ECLIPSE会有不同的默认操 作,例如,从版本95a开始, MINPV已经就被加入LGR网格了,之前的版本LGRs的NINPV数据不会从整体网格拷入LGKs,使用95a之前版本的用户需要用 OPTIONS关键字来实现这项功能。
MESSAGES 设置输出到PRT文件的不同严重程度的信息的个数以及停止模拟运算的限制条件。如果某种信息的产生次数超过了它的停止限制次数,模拟运算就会停止。一旦达到了运行限制,模拟器就会从运行状态转为数据检查模式,同时在读取下一步的模拟关键字后也不会进行任何计算了。
NOWARN 禁止输出信息。强烈推荐用户不要使用这个关键字。
FORMFEED 为打印文件设置格式馈给符号,使得用户可以指定ECLIPSE如何把格式馈给符号插入PRT和RSM文件。默认的是用标准的FORTRAN托架设置。
LOAD 为快速重启建立一个SAVE文件。这个SAVE文件包括前一步模拟得出的 RUNSPEC、GRID、EDIT、PROPS和REGIONS部分的处理数据。严格的说, LOAD并不是一个各个数据文件部分都通
用的关键字,而是其它多个关键字的替代品。在重启运行中应该删除掉这些部分的数据。
因篇幅问题不能全部显示,请点此查看更多更全内容