Geolog教程 - Loglan
- 格式:doc
- 大小:1.27 MB
- 文档页数:72
Geolog软件技术手册Loglan Programming帕拉代姆公司北京代表处2003年6月1 LOGLAN综述 (3)什么是L OGLAN? (3)2 创建新程序 (4)2.1启动程序开发界面 (5)2.2定义(插入)输入和输入/输出变量 (8)2.3定义(插入)局部变量 (9)2.4定义(插入)输出变量 (10)2.5指定单位 (11)2.6指定默认值 (12)2.7指定备注 (13)2.8输入源程序代码 (14)2.9执行程序 (15)3 LOGLAN环境 (17)3.1前言 (17)3.2L OGLAN程序 (18)4 LOGLAN程序开发界面 (21)4.1启动L OGLAN (22)4.2L OGLAN 变量 (25)5 模型启动器界面 (32)5.1前言 (32)5.2单井处理 (33)5.3多井处理(M ULTIWELL P ROCESSING) (39)6 怎样编写程序 (40)6.1制定设计图 (40)6.2制定可维护的代码 (41)6.3确保代码稳定 (42)6.4保持逻辑性 (43)6.5重新利用现有的代码 (44)7 LOGLAN语言的句法 (45)7.1程序结构 (46)7.2源文件格式 (47)7.3语句类型 (48)7.4L OGLAN函数 (52)8 LOGLAN中的数组 (64)前言 (64)9 曲线常数 (67)前言 (67)10 外部函数 (69)1 Loglan综述什么是Loglan?LOGLAN(是LOGGING LANGUAGE的缩写)是GEOLOG的测井处理语言并为GEOLOG提供软件开发工具包(SOFTWARE DEVELOPMENT KIT)。
Loglan是特别适合于测井处理(因此命名为Loglan)的程序设计语言,并且它的句法与C语言有些类似,但是熟悉C语言对学习Loglan并没有什么优势。
Loglan已经完全整合到Geolog环境中。
创建和修改Loglan程序是在图形化用户界面中进行的,而且Loglan程序与任何其它的Geolog模型没有区别。
编译Loglan程序时,它首先被转化为C程序设计语言;然后被编译和链接以产生一个可执行程序。
必须在计算机上安装ANSI C编译器才能创建和编辑Loglan程序。
使用的默认编译器是由Unix的硬件经销商和Windows的Visual C++提供的。
2 创建新程序本章介绍Loglan程序设计界面并创建一个在Geolog的Well应用模块中使用的简单程序。
在详述该语言前,先执行一个简单的练习以举例说明编写和运行Loglan程序是很容易的。
该程序将按照Raymer、Hunt和Gardner的运算公式(SPWLA,1980)从声波曲线计算孔隙度,其有效孔隙度小于0.37,使用的公式为:2.1 启动程序开发界面1、启动Geolog并打开工区STARS。
2、启动Well应用模块。
3、打开井BOTEIN。
4、在Well菜单下,选择General →Loglan…,打开Loglan开发界面mui_loglan并呈现它的基本窗口。
图1 空白的Loglan窗口5、选择Loglan →New,打开细节窗口(图2)。
在该窗口中输入描述信息,但只有程序名是强制性必须输入的。
图2 细节窗口6、在“程序(Program)”字段,输入程序名rhg_por。
7、在“描述(摘要)(Description(Brief))”字段,输入Raymer-Hunt-Gardner Porosity。
8、不要输入模版名。
该字段允许用户在执行LOGLAN程序时指定自动打开的模版。
9、如图2所示,填充“详细描述,等(DETAILED DESCRIPTION,ETC)”字段。
在模型启动器选择按钮时,显示在细节窗口输入的信息。
10、单击OK按钮,打开如图3所示的窗口。
图3 显示框架程序的Loglan窗口输入/输出(上半部分)部分是空白的,在源程序(下半部分)部分,有一个包含dowhile get_frame()循环的框架程序。
该循环执行对每一个数据框输入的计算。
下一步,定义程序中所使用的所有变量。
需要定义:★输入声波曲线DT;★输入两个常数,骨架声波时差DT_MA和流体声波时差DT_FL;★输出孔隙度曲线PHIE_RHG;★另一条限制范围在0~1的输出孔隙度曲线PHIE;★一个临时性(局部)变量alpha。
2.2 定义(插入)输入和输入/输出变量11、选择Insert →Input →Log,打开弹出式窗口,在该窗口输入输入变量名。
12、输入DT并单击OK。
13、选择Insert →Input-Output →Interval。
14、输入DT_FL并单击OK。
使用Input-Output而不使用Input的原因是:程序运行时,保存该值,然后在程序再次运行时作为默认值使用。
该值作为区间(interval)值而不是常数的原因是该值与区间有关。
如果,不按分层处理,该值将作为井常数获得和保存;否则,必须使用区间集合的曲线。
15、选择Insert →Input-Output →Interval。
16、输入DT_MA并单击OK。
2.3 定义(插入)局部变量17、选择Insert →Local。
18、输入alpha并单击OK。
局部变量是在程序内部使用的变量,它不是输入或输出变量。
2.4 定义(插入)输出变量19、选择Insert →Output →Log。
20、输入PHIE_RHG并单击OK。
21、选择Insert →Output →Log。
22、输入PHIE并单击OK。
该曲线是限制PHIE_RHG曲线为0~1间的值。
2.5 指定单位23、在输入/输出部分,通过如下操作分别指定DT_FL、DT_MA和DT的单位为μs/f:――双击字段,然后单击下拉列表按钮,选择所需的单位(US/F);或――鼠标中键单击字段选择列表中的项目。
或――单击字段,然后输入值(US/F)。
24、指定PHIE和PHIE_RHG的单位为v/v(体积比)。
2.6 指定默认值25、如果这些值不能从井常数或区间集合获得,下列该值在程序运行时当作默认值使用:参数名:默认值:DT_FL 189DT_MA 55.5下面是输出曲线的默认曲线名,该名称在程序执行时保存到输出集合中。
参数名:默认值:PHIE_RHG PHIE_RHGPHIE PHIE2.7 指定备注26、如图4所示,添加备注:图4 Loglan程序完整的输入/输出部分2.8 输入源程序代码实际的Loglan源程序代码在窗口的源程序(Source)部分输入。
27、如图5所示,输入源程序代码:――每一个数据框执行的指令必须在dowhile get_frame()…enddo循环内输入。
在该循环前后的指令只执行一次。
――由于变量alpha是局部变量及贯穿井或区间的常数,它不需要为每一个数据框计算。
因此,它可以放在dowhile get_frame()…enddo循环前。
图5 在“Source”部分输入并保存的Loglan程序28、源程序代码输入完成后,选择Loglan →Save。
该操作在当前工区的loglan目录下创建两个文件:源程序代码rhg_por.lls和rhg_,该文件包含loglan程序的描述信息,以及控制在Geolog模型启动器显示变量的信息。
29、通过选择Tools →Compile来编译程序。
如果编译成功(在Loglan 窗口底部的信息区将显示信息“Loglan 程序<./loglan/rhg_por.lls>编译成功(Loglan program <./loglan/rhg_por.lls> compiledok.)”),此时该程序可以与Geolog提供的程序一样运行。
2.9 执行程序30、关闭Loglan应用模块并返回到Geolog的Well应用模块。
31、在Well应用模块中,选择General →Module…,调用Geolog模型启动器并打开文件选择对话框。
图6 Geolog模型启动器32、选择rhg_模型,打开刚创建的Loglan程序(图7)。
图7 显示在Geolog模型启动器的rhg_por模型33、单击Start,执行Loglan程序。
注意如果使用公制单位运行程序,DT_MA和DT_FL显示值的单位为μs/m,但是它们可以μs/f 为单位通过Loglan 程序,因为Geolog将对数据单位自动转换。
3 Loglan环境3.1 前言Loglan环境由3部分组成――Loglan程序、Loglan开发界面mui_loglan和模型启动器。
在本章,用户将学习Loglan程序。
Loglan开发界面mui_loglan在后面的“Loglan程序开发界面(Loglan Development Interface)”介绍,作为Geolog的Well和Project 应用模块组分的模型启动器,在“模型启动器界面(The Module Launcher Interface)”介绍。
3.2 Loglan程序编译的Loglan程序实际包含三个文件:★源程序代码文件,后缀为.lls;★模型信息文件,后缀为.info;★ Loglan程序编译后的可执行文件,没有后缀,如果在Windows操作系统下,后缀为.exe。
3.2.1 Loglan源程序文件源程序文件包含一个程序描述的程序头部分,该部分在mui_loglan的细节窗口(图2)输入,接下来是程序使用的变量列表,其后为可执行代码。
mui_loglan将loglan程序分成了三个部分。
源程序rhg_por.lls包括:一般地,源程序文件可使用Loglan 程序开发界面(Loglan窗口)编辑,但是使用用户喜爱的编译器也可以容易地编辑它们。
如果用文本编辑器编辑源程序文件,在START标记前,必须非常小心地修改程序。
只能在Loglan窗口插入、删除和修改变量,因为修改变量需要修改.info文件――该文件由mui_loglan自动处理。
3.2.2 模型信息文件模型信息文件,其后缀为.info,是Geolog控制模型显示形式的规范文件,它包括默认值和曲线、备注、数据有效性和模型启动器窗口中的变量的可见性,模型启动器窗口在调用Well或Project应用模块时打开。
该文件不需要修改,除非通过Loglan窗口修改。
3.2.3 可执行文件该文件在Unix操作系统下没有后缀,在Windows操作系统下其后缀为.exe;它由Loglan 编译程序创建。
所有这些文件都保存在当前工区的loglan目录下。
如果使它们能在整个公司范围内使用,可拷贝它们到site/loglan目录下。
4 Loglan程序开发界面本章,用户将学习启动Loglan开发界面(Loglan窗口)的各种方法及该界面的各种组分介绍。