参考:
简要说明
本文主要对mineos软件运行的程序进行了解与描述。
内容均源自程序内部解释与运行进程。
模型文件为DEMO中具有的PREM等地球模型。
minos_bran
简介
包含一个输入:
模型文件
两个输出:
1、模型列表和简正振型属性摘要
2、本征函数的一个文件
参数
jcom
jcom = n, 当n为以下值时:
- 1 radial modes 可能是指只有n值(径向振型)。
- 2 toroidal modes 环型振型(环振振型)
- 3 spheroidal modes 球型振型(球振振型)
- 4 inner core toroidal modes 内核环型振型;因为外核为液态,理论上内核有独立的振型。
lmin lmax wmin wmax nmin nmax
lmin - lmax defines the range of angular orders to be computed.
if jcom=1 this is ignored. wmin - wmax defines the frequency range to be computed (in millihertz)
nmin-nmax specifies the branch numbers to be computed – nmin=0 is the fundamental mode
- lmin lmax 定义角度阶数,l。具体内容见扭振振型与球振振型。jcom为1时忽略
- wmin wmax 定义计算的频率范围 单位:毫赫兹 振型存在一定的频率。频率与n和l组成的图像在(地震学、震源及地球结构概论图2.9-10所示)
- nmin nmax 指定计算的分支编号 nmin=0时为基阶振型
eps wgrav
eps controls the accuracy of the runge-kutta integration scheme. the relative accuracy of an eigen frequency will be 2-3 x eps.
it also controls the precision with which a root is found and the minimum relative separation of two roots with the same
angular order.it is safe to set eps=1.d-7.
wgrav is the frequency in millihertz above which gravitational
terms are neglected-this gives about a factor of 3 increase in speed.
- eps: 控制’’runge-kutta integration scheme’’的准确度。本征频率的相对准确度为2-3倍的eps。
它还控制找到根的精度以及具有相同角度顺序的两个根的最小相对距离。设置1e-7是安全的。
如果周期为5-10s,eps设置为10^(-12)-10^(-10)。 - wgrav: 频率(单位毫赫兹)超过该频率的引力项被忽略。 造成3倍的速度增长。
忽略的是重力项;Love 1911年地球的径向振动中考虑了重力的影响,和修订了基阶振型周期为60min。具体的影响还未学习到。
输入文件(模型文件)
简介:
模型文件为计算所需的模型,有两种格式:一种为表格数据类型,例如prem模型;另一种格式为多项式格式。
表格数据类型
例:prem_noocean.txt
第一行:标题,限制为80字节长度
PREM NO OCEAN MODEL: ( 0.0000 0.000) anisotropic case
第二行:(按照参数出现顺序排列)
1 1.00000 1
- ifanis 1表示各向异性模型(横向各向同性);0表示各向同性。
- tref 物理频散校正使用的模型参考周期(单位s);<0表示无校正
- ifdeck 定义模型类型;1:模型表示为数据表格;0:模型表示为多项式
第三行:
185 33 66
- N 模型节点?,N<=350,指模型表格行数,表示有N个点。
- nic ICB固态侧的索引?
- noc CMB流体侧的索引?
第四行-第N+3行:模型表格主体,每一行表示节点在半径r上的模型参数。
注意:间断面定义为相同半径的不同节点,即两个相邻节点半径相同,但是参数不同。
0. 13088.50 11262.20 3667.80 1327.7 84.6 11262.20 3667.80 1.00000
- r 节点所在球体半径(单位m ),注意:minos_bran小数部分去尾,因此厚度<1m的薄层没有意义。薄层会造成额外的界面?。 如果模型包含液态界面,整个液态界面必须为没有中间节点的单层。半径从0(索引为1)开始,在自由界面结束。从球心开始。
- rho 密度,单位kg/m3
- vpv 垂向偏振P波速度,单位m/s
- vsv 垂向偏振(极化)S波速度,单位m/s
- qkappa 压缩Q(compressional Q)
- qshear 剪切波Q(shear Q)
- vph 水平偏振P波速度,单位m/s
- vsh 水平偏振S波速度,单位m/s
- eta 横向各向同性模型参数
注意:如果模型是各向同性的且ifanis=1(横向各向同性),则minos_bran读取时会这样处理第四行之后的数据:
vph = vpv, vsh = vsv, eta = 1,
格式:(f8.0, 3f9.2, 2f9.1, 2f9.2, f9.5)
模型类型为多项式类型时(ifdeck=0)
第三行: 暂无示例
nreg 模型中区域的数量
nic ICB固态侧的索引?与表格数据类型相同
noc CMB流体侧的索引?
rx 多项式的归一化半径(normalizing radius) 单位km,通常是6371km。下文的归一化半径(normalized radius)应该为x=r/rx,
第四行:暂无示例
nlay r1到r2区域中使用的层数
r1 单位km
r2 单位km
第五行:第4-9或4-12层一般会重复nreg次。各项同性模型4-9行,各向异性模型为4-12行。
每一行包含五个系数,4阶多项式系数为:a0,a1,a2,a3,a4,x=r/rx。P(x)=a0+a1x+a2x^2+a3x^3+a4x^4。
一组5个(各向同性模型)或8个(各向异性模型)多项式用于差值模型参数:密度、速度等。作为第四行定义的区域内归一化半径的函数。
- 第五行:密度rho的系数 (g/cm3)
- 第六行:vpv的系数 (km/s)
- 第七行:vsv的系数 (km/s)
- 第八行:qkappa的系数
- 第九行:qshear的系数
下面三行各向异性模型中: - 第十行:vph的系数 (km/s)
- 第十一行:vsh的系数 (km/s)
- 第十二行:eta的系数
注意:
模型创建时需要注意以下几点:
- ICB边界固态侧不能为索引2。因为计算时将其-1作为开始层。因此ICB边界索引必须大于2。
- 模型间隔避免太大,即两行之间的半径差值不可太大,可能是由于插值问题导致的。
- 严格按照上述格式(f8.0, 3f9.2, 2f9.1, 2f9.2, f9.5)进行创建,否则会导致.eigcon出错。
- 前三行标题行格式严格按照Mineos。MODEL注意大写,不要小写,否则会造成寻找定位mode位置时错误。
例如:( 0.0000 0.000)
中间多了,
会出现错误。
输出文件
模型列表
一个ASCII文件,列出了模型和mode properties(振型属性)。
例如:相速度(km/s),频率,周期,群速度(km/h),q,一个参数(动能与势能的比值-1)
在DEMO3示例中,prem_noocean_S文件就是输出的模型列表。
它的列表有两个表格,第一个表格是输入模型的数据,即第一部分,
此即prem_noocean.txt内的数据,标题为:PREM NO OCEAN MODEL: ( 0.0000 0.000) anisotropic case ref per = 1.0 secs
表示为PREM 无海洋的模型,采样间隔1s。
表头为:level radius rho vpv vph vsv vsh eta qmu qkap
示例:
1 | 1 0.0 13088.50 11262.20 11262.20 3667.80 3667.80 1.00000 84.60 1327.70 |
第二个表格(第二部分)表头为:integration precision = 0.1000E-09 root precision = 0.1000E-09 gravity cut off = 0.6283E-02 rad/s
mode phs vel w(mhz) t(secs) grp vel(km/s) q raylquo
integration precision对应参数eps,
该表格中的w对应的范围为0-200,但是最后一行超过了200,想必是取值时由于步长原因超出了一点点。
描述
第一部分:模型表格
如果使用的是表格数据格式的模型,即上文中ifdeck=1,则只是输入模型的拷贝,加入了索引,改变了参数列的排列顺序。
对于各向同性模型,执行了上文中表述的数据处理。
如果输入的模型为多项式格式,则通过插值转换为表格数据格式。
每一个区域程序构造nlay+1个半径步长相同节点。节点总数N=nreg*(nlay+1);
- 1-5行 包含模型标题、参考周期tref、模型列表的表头和空行。无格式。
- 6-(N+5)行 index、r、rho、vpv、vph、vsv、vsh、eta、qshear、qkappa,示例见上。
格式:(3x, i3, f12.1, 5f12.2, f12.5, 2f12.2) - N+6/N+11行 包含具有 Runge-Kutta 精度积分、
重力切断频率、空行和简正振型属性表标题(共6行)的文本消息。格式:自由格式
第二部分:振型属性
对于固定的径向阶数 n 和角度阶数 l,minos_bran计算本征函数
(单独存储)和标量参数(属性):特征值(频率)、相位和群速度、
Q 以及动能与势能之比。这些标量参数存储在简正振型属性表中。
此表中的每一行(行)都给出了当前 n 和 l 的属性。
第一部分后面的行如下所示:
第(N+12)行到最后:
- norder 振型的径向阶数 n
- typeo 振荡的类型:
- s 球振振型
- t 环振振型
- c 内核环振振型
- lorder 振型的角阶数l
- phvel 相速度,单位:km/s
- freq 频率(本征值) 单位:mHz
- per 周期,per=1000/freq 单位:s
- grvel 群速度 单位:km/s
- Q 剪切波Q
- raylquo 动能与势能之比减1。
如果本征函数准确并且模型中有足够的径向节点允许正交精确完成,
则该比率应该很小(EPS 阶)。(对于强指数振型(如斯通利振型),
您可能会看到此参数有所下降。)
格式:(i5, a2, i5, 6g16.7)
本征函数文件
在DEMO3中输出的文件为fortran无格式二进制文件eprem_noocean_S。是一个二进制表达的本征函数。
这个文件是一个固定记录长度的二进制封装文件,封装类型很大程度上取决于编译器。为了
更加方便,eigcon程序将封装移除,并创建一个二进制文件,在不同语言和平台都能够读取。minos_bran程序使用一个write语句输出每一个本征函数。
文件名为“none”时不再计算本征函数。
这是一个固定记录长度的二进制文件,每个模式都有一个条目写为
1 | real*4 abuf(nvec) |
- nvec:spheroidal modes(球型振型),值为:5+6N;toroidal or radial modes(环型或径向振型),值为:5+2N。
- abuf的前五个字为:n,l,w,Q和群速度Cg。剩余的包括:
- toroidal modes(环型振型):W(1..N)、 W’(1..N)
- 球型振型:本征函数和其关于半径的偏导数 U(1..N),U’(1..N),V(1..N),V’(1..N),P(1..N),P’(1..N)
- U: 垂直球振振型分量(vertical spheroidal S)本征函数
- V: horizontal S component 水平S分量
- P:重力势
- W:其它振型的常用表示法
woodhouse和dahlen(1978)表示W,W’,V,V’ 必须除以 sqrt(l*(l+1)).
注:(A be devided by B 相当于 A/B)
本征函数的归一化:
- 归一化:
frequency2 * integral(rhowwrr) = 1 for toroidal modes
frequency2 * integral(rho*(uu+l(l+1)vv)rr) = 1 for spheroidal modes
模型经过归一化,密度(rho)为:5515 mg/m*3 = 1;pig=1
积分限为0到rn。W与rho为r的函数。
g为重力常数,地球半径(rn=6371000m)为1,归一化结果为:
acceleration normalisation(加速度归一化) = pigrhobar*rn
velocity normalisation(速度归一化) = rnsqrt(pig*rhobar)= vn
frequency normalization(频率归一化) = vn/rn
运行内容
1 | input model file: ../models/模型名称 |
eigcon
简介
将minos_bran的输出文件转换为.eigen,仅包含最上层dmax km ( 0 < dmax < Rn) 的信息。R0是自由界面半径(单位km)。
他能够运行于所有振型,自动读取输入文件的振型。
输入路径或名称,存储本征函数。其中,输入方式为两种:路径path/dbase_name或名称dbase_name。
minos_bran输出的两个文件和模型文件一起被作为输入。
eigcon renormalizes the eigen-functions and outputs them to a depth of 1000 km, in this example.
这个程序对本征函数进行重归一化,输出在1000km的深度(这个参数可以在程序中设置,即enter max depth中设置。
创建的文件为:dbase_name.eigen, 创建的文件夹为dbase_name.eigen.dat,文件夹中有二进制文件eigen。
这里输出的文件为test_S.eigen,命名的为test
参数
输入参数
- jcom 同minos_bran
- max_depth 输出的本征函数(单位km)的深度。
所有输出值只在区间(rn,rn-max_depth)内存在。rn是自由界面的半径(单位km)。
即:只保留地表与最大深度之间内的本征函数作为输出。
程序参数
- rn : radius at surface 表面的半径
- wn : frequency normalization 频率归一化?为什么只是一个参数呢?
- vn : velocity normalisation 速度归一化?
- accn : acceleration normalisation 加速度归一化
- n : index of surface grid point 表面网格点索引
- nstart : index of lowest grid point 最低网格点索引
- nrad : # of gridpoints of reduced eigenfunctions 简化本征函数的网格点?
输出文件
有三个输出文件。关系列表dbname.eigen
,一个文件夹dbname.eigen.dat
,一个二进制文件dbname.eigen.dat/eigen
其中二进制文件是存储在文件夹中的,因此用/表示。即一个名称为eigen
的文件。
dbname.eigen
这个列表格式在(原文表6.1)中描述。
每一行描述了单个本征函数的模态特性(modal properties),
并引用了dbname.dat/eigen
文件中的数据段。
示例:
1 | 0 2 S 1 3233.67798 4.95166 6.38945 509.68240 67 7 7 f4 0 test_S.eigen.dat eigen -1 01/03/23-12:10:00 |
dbname.eigen.dat/eigen
包含段(segments)的二进制文件,每一个段存储单个本征振型(n,l)的归一化本征函数。
包含4字节长度的单词组成。
。大多数计算机体系结构有两种常见的字节顺序:
BIG_ENDIAN(直顺序 1-2-3-4)和LOW_ENDIAN(反向顺序 4-3-2-1)。
BIG_ENDIAN由SUN和RISC导向的平台使用,
LOW_ENDIAN由PC,VAX和DEC硬件使用。
eigcon自动检测字节顺序,并将文本字符串“t4”(BIG_ENDIAN)
或“f4”(LOW_ENDIAN)放入.eigen关系中的数据类型字段中。
每一个字段逻辑分为2部分:头部和主体
头部
这个部分的段存储模态特性(modal properties)的标量参数和归一化系数。
前7个word:
- n integer*4 本征振型径向阶数 n。必须与参考.eigen关系中的
norder
相同。 - l integer*4 角度阶数(harmonic degree) l。必须与参考关系中的
lorder
相同。 - w real4 本征振型频率。单位rad/s;w=2pi/per。per是参考关系中的
period field
。 - q real4 衰减表达中的指数项部分,即exp(-qt)。q=0.5w/Q,rad/sec。
- rn real*4 半径归一化系数,以m为单位的情况下,与模型的自由表面的半径相同。
- vn real4 速度归一化系数。vn = rn(piGrhon)^1/2
- G 引力常数
- rhon 密度归一化系数 5515kg/m3
- wn 圆频率归一化系数 wn=vn/rn
- an real4 加速度归一化系数 an=10^20/(rhonrn^4)
主体 word8-最后
- E(nrow, ncol) real*4 存储归一化本征函数的矩阵,括号内为行列数。
第一列为半径,其他列为本征函数。本征函数数量取决于模态(modal)类型。- 球振振型 包含7列(r,U,U’,V,V’,P,P’)
- 环振振型及其他 3列(r,W,W’)
本征函数的归一化见上文。
运行内容
1 | spheroidals (3) or toroidals (2) or radial (1) orinner core toroidals (4) modes: 选择需要的即可。 |
之后运行结束。
运行过程中的信息
eigcon: n,nstart,nrad = nnn, mmm, kkk
- nnn 本征函数节点的总数量
- mmm 在使用深度截取本征函数之后的开始的节点数
- kkk 截取之后的终止节点数
示例:
1 | eigcon: n,nstart,nrad = 260 119 142 |
节点总数为260个,119-142为截取的节点数。
green
简介
这个程序计算单个事件和一组给定的台站的格林函数。
每个台站,需要输入指定的通道列表。这个程序能够选择计算不同的格林函数:
a) 只计算Z分量;b) 计算三分量,使用标准ZNE传感器;c) 计算三分量,使用12Z传感器。
建立台站信息需要创建一个数据集,包含.site
和.sitechan
两个文件。可以使用IRIS的rdseed或者从全球数据库中选择。
另一个输入包含环振振型和球振振型的.eigen关系,在下方的输入一行中提到。
输入:db_list文件,内容为上面eigcon输出的文件列表,不带后缀名。
输出:名为green的.wfdisc文件等。每个传感器有六个格林函数
.sitechan
文件决定那些台站和通道用于构建格林函数。通道方向(位置)在.sitechan
文件中,台站方向(位置)在.site
文件中。这两个文件需要预处理。
另一个预处理文件为db_list
,包含所有eigenfunction文件。在测试中为eigcon输出的文件,即:test_S和test_T。
输入参数
fmin fmax
定义输入本征函数数据集中选择的频率范围。忽略所有频率超过范围的振型。
nsamples
理论地震图中的样本(这里应该是指地震图中的采样点数量)数量,所有理论地震图从震源时间开始。
输入文件
in_dbname .site .sitechan文件
文件介绍见simpledit程序。
使用这些关系文件,green程序为每个台站定义一定数量的通道组,
每一个组有两种情况:一种是包含独立的Z分量通道;或是三通道分量。
在分组之前,green程序按照(sta,chan)字段对.sitechan文档进行排序,
并删除所有重复行。注意:.sitechan关系文件中的chan字段是标准SEED格式的三字符的通道名称,详见台站数据格式。
db_list
This file allows joining an unlimited number of eigcon outputs for spheroidal, toroidal, or radial modes. The single requirement is that intersection between these files is null. Each desired eigenfunction must be present and unique in some eigcon output.
此文档允许为球振振型、环振振型或径向振型(radial)连接无限数量的eigcon输出。
要求:这些文档之间的交集为null,每个的本征函数必须存在并在eigcon的输出中是唯一的。
cmt_event
包含一行数据,参考[CMT .ndk与衍生数据格式]
输出文件
.wfdisc文件
内部每一行的格式如下:
1 | ALE LHZ 947893030.80000 1 18 2000014 947941029.80000 48000 1.0000000 1.000000 20.000000 - g f4 - green.wfdisc.dat g.00001 0 -1 01/03/23-12:10:00 |
二进制文件包含六个格林函数,按照顺序对应于张量分量:Mrr,Mθθ,Mφφ,Mrθ,Mrφ,Mθφ,总长度:nsamp
.wfdisc.dat文件
内部存在对应通道数量的文件。
运行内容
1 | enter path to db with sta & stachan(输入包含台站等信息的文件路径):.site和.sitechan的文件名。输入文件名即可。示例为short。 |
输出信息
sph. modes in band = nnn must be .le. meig
- nnn 所有输入数据集的球振振型的总数。
- meig 允许的最大数量(max allowed number)的球振振型,是一个限定值,限制nnn的数量。
示例:此时需要修改green.h中的信息。修改后删除/usr/local/bin中与mineos相关的程序,重新编译安装(最好使用原版。1
# sph. modes in band = 1918 must be .le. 300000
tor. modes in band = nnn must be .le. meig
同上,但是是环振振型。
cmt_event文件:事件信息
格式:
1 | Event: evid date&time lat = ±dd.ddd, lon = ±ddd.ddd |
第一行为事件信息数据; 第二行为时间深度; 第三行为格林函数的时间步长和采样点数量。
示例:
1 | Event: B011400F 2000 14 23:37:10.800 lat = 25.390, lon = 101.400 |
输入的.site和.sitechan文件名
格式:
1 | Input dbname : xxxxx |
示例:
1 | Input dbname : short |
台站信息
格式:
1 | Station: code lat lon , Channels: nnn |
台站码、位置坐标、选择的传感器组的通道数量
通道信息
格式:
1 | Channel: # nnn code chan hang vang |
- nnn current number in the group 当前组中通道的编号,这个编号可能只是一个表示不同分量的标号。
- code 台站码
- chan hang vang 通道码、以及对应的水平角和垂直角
示例:
1 | Channel: # 1 BDFB LHZ 0.00000000 0.00000000 |
震中距
格式:
1 | Epicentral Distance : ddd.ddd |
可以得到台站的震中距
震源方位角
格式:
1 | Azimuth of Source : ddd.ddd |
台站到震源的方位角。
格林函数的
格式:
1 | nnn code chan date&time step mmm |
- nnn 通道索引。范围为1-通道总数,是这个通道在这个.sitechan文件中的索引。
- code 台站名
- chan 通道码
- date&time 发震时间
- step 格林函数采样时间间隔,单位s
- mmm 六个格林函数块的采样点总数,采样点数 nsamples*6
示例:1
13 BILL LHZ 2000 14 23:37:10.800 1.000 48000
syndat.f
简介
构建理论地震图使用的程序。选择的事件的地震矩张量和格林函数的卷积,得到理论地震图。
最终输出的文件为Syndat.wfdisc.dat,内部为理论地震图。
参数
plane 输入张量类型
- 0 moment 张量分量直接从cmt_file中获取
- 1 nodal plane 1 即从节面1(cmt文件中的倒数6-4个数据)获取角度数据及标量距M0计算矩张量分量
- 2 nodal plane 2 从节面2获取相应数据计算,同上。
datatype 数据类型
- 0 输出的地震波形为加速度地震图,单位nm/s2
- 1 输出速度图,单位nm/s
- 2 输出位移图,单位nm
输入文件
输入格林函数文件
即green程序输出的.wfdisc关系文件。
输出文件
地震图文件,可以通过程序cucss2sac转化为sac格式的地震图。
运行内容
1 | enter input CMT file name(输入CMT文件名称):示例为china_cmt_event |
cucss2sac
简介
将理论地震图转化为其他格式的数据。例如sac格式和asc格式(ASCII)。
描述
cucss2sac是为了解决IRIS css2sac中的bug而特别为mineos设计的。它并不是标准css2sac的平替,例如:cucss2sac仅支持CSS3.0架构和如下两种CSS输入二进制数据格式:
- “t4”(BIG_ENDIAN, single precision floating point)
- “f4”(LOW_ENDIAN, single precision floating point)
cucss2sac转换CSS二进制数据,不进行校正和修改。在Mineos中,它用于格林函数和理论地震图格式转化。
一个CSS数据集名称db_name必须至少包含一个db_name.wfdisc文件,包含波形的CSS格式信息。并且需要包含数据集:.origin和.site关系列表(文件db_name.origin db_name.site)来获取完全的SAC头信息。
- .origin文件 包含事件位置信息
- .site文件 包含台站位置信息
生成的SAC文件
如果在数据集中.origin出现,cucss2sac只使用这个文件的第一行。在ASCII输出的情况下,所有的参数符合ASCII头信息–文件的前三行。例如一个理论地震图的输出如下:
1 | EVENT: 2000(014)-23:37:10.800 947893030.80000 25.3900 101.4000 33.0000 |
- EVENT:包含发震事件(origin time)(human and epoch) 纬度(deg) 经度 震源深度(km)
- STATION:台站名,通道码,纬度,经度,深度=0
- DATA:波形开始时间(waveform starting time)(human and epoch),采样点数量,采样间隔(sec)
- 数据体:为两列,第一列为相对波形开始的时间(sec),第二列为波形点的值,按照选择有nm(位移),nm/s(速度),nm/s/s(加速度),取决于生成地震图时的选择。
如果不需要头部信息,使用-n。
生成的ASCII文件
输出的ASCII文件与SAC不同。头部文件相同,但是数据不同。是一个7列的数据表格。第一列为相对时间,剩下6列为选择的格林函数分量–垂直或一些水平方向。(G rr , G θθ , G φφ , G rθ , G rφ , G θφ )
分量的结束和syndat程序中地震矩张量分量Mij的阶数相同,因此相对理论地震图S:
S=10E−18*sum(Gij Mij)
其中,Mij单位为dyne*cm, ij=rr,θθ,φφ, rθ, rφ, θφ
运行
cucss2sac [-a [-n]] db_name 输出的sac文件路径的名称
[]内的内容:
无,输出sac文件
-a 输出ASC文件
-n 按照ASCII表格表头输出,必须和-a一起使用。
dbname:该文件必须包括.wfdisc;.origin;.site文件,才能完成SAC标题的构建。这个文件为之前green函数生成的三个文件。
示例
1 | cucss2sac Syndat Syndat_SAC |
eigen2asc
简介
将本征函数的.eigen文件转化为asc文件。
描述
eigen2asc功能转换部分或者全部.eigen关系到一系列ASCII文件。程序eigen2sac在db_name.eigen文件中寻找所有符合振型参数n,l的本征函数:其中,nmin<n<nmax,lmin<l<lmax。并且转换本征函数到ASCII文件。输出文件在out_dir。每一个输出文件包含头部信息和文件内容。
头部信息:一行包含.eigen关系的前10个字段,见表6.1(mineos官方手册)。选项 -n 包含头部输出。数据体为三列(包含径向、环型振型(radial toroidal modes))或者七列(球型振型)表格。第一列为半径(单位m),其他列包含本征函数和他们关于半径的导数-U,U‘,V,V’,P,P‘(球型振型)和W,W‘(其他振型)。更多内容见章节4.1(即上面的cucss2sac描述)。输出文件名格式为:X.NNNNNNN.MMMMMMM.ASC;
X:S球型振型,T环型振型。
nnnnnnn:数字n
mmmmmmm:数字l。
运行
eigen2asc nmin nmax lmin lmax db_name out_dir
- nmin, nmax - mininal and maximal values of the radial mode number n(径向振型数n)
- lmin, lmax - mininal and maximal values of the lateral mode number l(l)
- db_name - data base name, must include .eigen relation;(.eigen文件)
- out_dir - output directory for ASCII files(输出ASCII文件路径)
示例
eigen2asc 0 0 6 8 test_S test_S_ASC
eigen2asc 0 1 2 500 test_S Eigen_S_ASC
eigen2asc -n 0 1 2 500 test_S Eigen_S_no_headers_ASC
endi
简介
In-place file swapping with fixed width
描述
This utility is used when you transfer binary files of
.wfdisc or .eigen relations to a platform with a
different byte order. The utility changes the byte
order from BIG_ENDIAN to LOW_ENDIAN and vice versa.
endi sequentially reads the file from the list
file1 [ file2 … filen] into memory as an unsigned
character string, swaps sequential groups of nw
bytes long starting from the beginning of the file,
and stores the swapped data
into the same place as before (swapping in-place).
If the last group has a length less than nw,
it stays unswapped.
这个程序用于转换二进制文件
这个程序改变byte order,从BIG_ENDIAN到LOW_ENDIAN,反之亦然。
endi以无符号character string类型顺序读取file1,file2 … 到内存中,交换
运行
endi nw file1 [file2 ... filen]
示例
w.00001和w.00002都是来源于在PC上产生的一些.wfdisc关系二进制real*4数据文件。这些文件
These files have internal LOW_ENDIAN data representation created, e.g., by a direct
access FORTRAN WRITE statement.
endi 4 w.00001 w.00002
we change the order of 4-byte words to BIG_ENDIAN for transferring these files on a computer with BIG_ENDIAN byte order, e.g., a SUN Ultra machine, where we may use a direct access READ statement to read data as real*4 variables.
simpledit
简介
从一个输入的ASCII文件创建.site和.sitechan CSS关系
描述
将手动创建的具有台站和通道信息的无格式ASCII文件 ascii_file 转换为 CSS3.0 db_name.site和db_name.sitechan关系列表(文件)。 db_name来自于命令行,是数据文件的名称。
对于真实数据的另一种创建方法:使用IRIS的rdseed程序创建。
注意,CSS格式定义严格,不要人工创建.site和.sitechan文件,这可能造成数值格式错误,造成mineos程序崩溃。
对于大量的台站数据,更好的解决方式是写一个直接创建ascii_file或者.site .sitechan文件的程序。
需要预处理的ASCII文件
这个文件是ASCII格式集,每一行描述了一个单独的台站或者通道。所有列在台站行之后的通道行隶属于这个台站。
例如:
1 | ANMO 34.9502 -106.4602 1.6890 ’Albuquerque, New Mexico, USA’ |
- 台站行包含:台站代码sta 纬度lat 经度lon 海拔elev 台站名staname
见表格6.3 .site关系表 - 通道行:以@开始,其他内容为:通道码chan 传感器edepth hang vang
见表格6.4 .sitechan关系表
标准格式为:
@ XXE dd.dddd 90.0 90.0
@ XXN dd.dddd 0.0 90.0
@ XXZ dd.dddd 0.0 0.0
- dd.dddd:传感器的edepth。
- 注意:通道的order不重要。
运行
simpledit ascii_file db_name
示例
将上述示例保存为普通text文件即可,命名为stations,输入命令:
time simpledit stations short
即可得到short.site short.sitechan两个文件。
create_origin
简介
转换一个事件text文件为CSS3.0 .origin关系。
描述
create_origin是一个shell脚本,从cmt_event ASCII文件中读取green程序输入文件cmt_event第一行,
将震源时间和位置信息转换为一行CSS3.0关系表,并将其写入db_name.origin文件。
这个脚本只填写.origin关系表中的字段:lat,lon,depth,time,orid,jdate,auth和lddate。其他的字段对于mineos并不重要,
由默认值填充。更多信息见下面所示表4.1。
运行
create_origin cmt_event db_name
关系(relation)表
.origin 震源关系
示例:
1 | -7.2800 125.9900 473.4000 393567535.30000 1 -1 1982173 -1 -1 -1 -1 -1 - -999.0000 - -999.00 -1 -999.00 -1 -999.00 -1 - PDE & Hvd CMT -1 -1 |
字节索引 | 名称 | 含义 | NA值 | 取值范围 | 备注 | 单位 |
---|---|---|---|---|---|---|
1 | lat | 估算的纬度 | 不允许 | -90.0≤lat≤90.0 | 纬度,地理纬度,北半球为正;即cmt文件中的纬度 | 度 ° degrees |
2 | lon | 估算的经度 | 不允许 | -180.0≤lon≤180.0 | 地理经度,本初子午线以东为正;即cmt文件中的经度 | |
3 | depth | 震源深度 | cmt文件中的震源深度 | |||
4 | time | 发震时间 | 发震时间为儒略日时间 | |||
5 | orid | 震源原始id代码 | 1 | |||
6 | evid | 事件代码 | -1 | |||
7 | jdate | 日期 | -1 | yyyyddd,必须与time属性一致 | 年份和一年第几天 。具体内容:公元前(B.C.E)日期为负。例如没有0000000.仅用于估计S,T,C振型(Evaluated only for S,T,C) | |
9 | ndef | 定位(locating)震相索引 | -1 | |||
10 | ndp | 深度(depth)震相索引 | -1 | |||
11 | grn | 地理区域索引 | -1 | |||
12 | srn | 地震区域索引 | -1 | |||
13 | etype | 事件类型 | - | |||
14 | depdp | 源自深度震相的估计深度 | -999.0000 | |||
15 | dtype | 使用的深度方法 | - | |||
16 | mb | 体波震级 | -999.00 | |||
17 | mbid | mb 编号(magid)? | -1 | |||
18 | ms | 面波震级 | -999.00 | |||
19 | msid | ms magid 纬度 | -1 | |||
20 | ml | 近震(local)震级 | -999.00 | |||
21 | mlid | ml magid | -1 | |||
22 | algorithm | 使用的定位算法 | - | |||
23 | auth | source/originator | 震中参考地震记录 & 震源信息来源 | |||
24 | commid | comment id | -1 No any remarks | ≥0 | 数据文件。注释标识。这是用于指向预定义备注列表中的自由格式注释的整数键。尚未实施。 | |
25 | lddate | 载入时间 | 未说明 | 任意值 | 记录创建的时间,not implemented yet? |
注: -1、-999.00、- 可能是该项没有值或者未知。
6号evid为1可能是由于只有一个地震事件。目前还未尝试是否有多个地震事件的计算方式。
.eigen 本征关系
示例:
1 | 0 44 S 1 197.56850 4.55313 3.58608 151.39850 67 7 7 f4 0 test_S.eigen.dat eigen -1 01/09/23-21:11:33 |
字节索引 | 名称 | 含义 | NA值 | 取值范围 | 备注 | 单位 |
---|---|---|---|---|---|---|
1 | norder | 径向阶数 n | -1 | 未给出 | 本征振型的径向阶数n | |
2 | lorder | 角度阶数 l | -1 | 未给出 | 简正振型的角阶数l,也称 harmonic degree | |
3 | typeo | 振型类型 | 不允许 | 未给出 | 二进制数据类型。这个字符表示数据类型。R:radial径向振型;S:球振振型;T:环振振型;C:内核环振振型;P:表示数据包括常熟(constants)、归一化参数(normalization)和半径采样点(radius samples)。 | |
4 | eigid | eigen id | 不允许 | 本征函数索引,这个关键字段是一个由n l和振型类型定义的本征函数数据独一无二的标识 | ||
5 | per | 本征频率 周期表示 | -1 | >0 | 对应的本征频率。频率为w=2*pi/per;w的归一化值位于关联的二进制文件中。 | 秒 s |
6 | phvel | 相速度 | -1 | >0 | 该振型对应的本征频率(per)的相速度。见typeo | km/s |
7 | grvel | 群速度 | -1 | >0 | 群速度。给出属性per(本征频率)对应的量级值的群速度。仅评估S,T和C振型,见typeo | km/s |
8 | attn | 衰减 | -1 | >0 | 衰减系数Q(品质因子) | |
9 | nrow | 行号 | 不允许 | >0 | 二进制文件中存储的本征函数网格(grid)的行号 | |
10 | ncol | 列号 | -1 | 未说明 | 二进制文件中存储的本征函数网格(grid)的列号 | |
11 | npar | 参数序号 | 0 | >0 | ?二进制文件中存储的参数的序号 | |
12 | datatype | 数值存储 | 不允许 | t4或f4 | 数值存储数据。该属性指定文档系统中数据序列的格式。属性用于在必要时以实数交换四个字节。f4用于PC、DEC、VAX IEEE,单精度实型;t4用于SUN IEEE,单精度实型 | |
13 | foff | 字节偏移量 | 不允许 | ≥0 | 这是数据文档中特征函数段的字节偏移量。见dir和dfile | |
14 | dir | 所在目录 | 不允许 | 任意64个字符的字符串 | 路径名的目录部分,包含特征关系的当前目录的相对路径 | |
15 | dfile | 文件名称 | 不允许 | 任意32个字符的字符串 | 数据文件。指多路特征函数文件。 | |
16 | commid | 注释标识(comment id) | -1 No any remarks | ≥0 | 数据文件。注释标识。这是用于指向预定义备注列表中的自由格式注释的整数键。尚未实施。 | |
17 | lddate | 载入时间 | 未说明 | 任意值 | 记录创建的时间,not implemented yet? |
.site 台站位置信息
示例:
1 | ANMO 1960001 -1 34.9462 -106.4567 1.7400 Albuquerque, New Mexico, USA - - 0.0000 0.0000 01/08/23-21:43:39 |
字节索引 | 名称 | 含义 | NA值 | 取值范围 | 备注 | 单位 |
---|---|---|---|---|---|---|
1 | sta | 台站码 | ||||
2 | ondate | 儒略开始日期 | 不允许 | yyyyddd | 台站或者传感器其实日期。台站经常移动,但是台站码不变。该日期使得能够选择当时正确的台站lat,lon和elev。 | |
3 | offdate | 儒略终止日期 | -1 | yyyyddd | 台站或者传感器关闭、取消或移除的时间。见ondate | |
4 | lat | 纬度 | 不允许 | -90.0≤lat≤90.0 | 纬度,地理纬度,北半球为正;即cmt文件中的纬度 | 度 ° degrees |
5 | lon | 经度 | ||||
6 | elev | 海拔 | -999.0 | -10.0≤elev≤10.0 | 地震台站相对于平均海平面的海拔 | 千米 km |
7 | staname | 台站描述 | - | 50个字符以内的大写字符串 | sta所描述台站的全名 | |
8 | statype | 台站类型:但台站,台阵等等 | - | ss ar (小写) | 台站类型。ss:单个台站;ar:台阵 | |
9 | refsta | 台站相对台阵编号 | - | 任意site关系中的sta | 参考台站。这个字符串指定使用的阵列(这个site文件中的所有台站)的参考台站。?见deast,dnorth | |
10 | dnorth | 台阵参考偏移距 | 0.0 | -20000.00≤dnorth≤20000.00 | 北向距离。给出台阵(array element)元素北向或相对位置,位于由refsta值指定的台阵中心以北。见deast | |
11 | deast | 台阵参考偏移距 | 0.0 | -20000.00≤deast≤20000.00 | 向东距离。此属性给出台阵元素的“东向”或相对位置,位于由 refsta 值指定的台阵中心以东。见dnorth。 | 千米 km |
12 | lddate | 载入时间 | 未说明 | 任意值 | 记录创建的时间,not implemented yet? |
.sitechan 台站通道信息
示例
1 | ANMO LHE 1960001 -1 -1 n 100.0000 90.0 90.0 - 01/08/23-21:43:39 |
字节索引 | 名称 | 含义 | NA值 | 取值范围 | 备注 | 单位 |
---|---|---|---|---|---|---|
1 | sta | 台站码 | ||||
2 | chan | 通道码 | 需要有效值 | 3个大写字母 | 通道码,具体可在搜索中查找 | |
3 | ondate | 儒略开始日期 | 不允许 | yyyyddd | 台站或者传感器其实日期。台站经常移动,但是台站码不变。该日期使得能够选择当时正确的台站lat,lon和elev。 | |
4 | chanid | 通道id | -1 | >0 | 通道记录标识。是一个独立标识一个特殊记录的代理键(surrogate key)。作为单个标识符,表示sta、chan、time更加方便。但是这三个值对处理人员更加直观。 | |
5 | offdate | 儒略结束日期 | ||||
6 | ctype | 通道类型 | - | 小写字母n或b或i | 表示数据通道类型。n:正常仪器响应;b:台阵数据确定的相干波形?;i:能量叠加的非相干波形? | |
7 | edepth | 安置深度 | 不允许 | ≥0.0 | 仪器位置的深度,相对于site关系中的elev(台站海拔) | 千米 km |
8 | hang | 水平角 | 不允许 | 0.0≤hang≤360.0 | 地震仪的水平方向。给出地震仪在水平平面上的指向,由正北顺时针。NS走向地震仪指向北,为0;WE走向地震仪指向西,为270 | 度,° degrees |
9 | vang | 垂直角 | 不允许 | 0.0≤vang≤90.0 | 地震仪的垂向指向。此属性测量地震仪的敏感轴与向外垂直方向之间的角度。对于垂直走向地震仪,vang=0;水平走向地震仪,vang=90 | 度 ° degrees |
10 | descrip | 通道描述 | - | 50字节长度的任意格式字符串 | 通道描述,数据通道的描述。对于非仪器通道(例如beams)这是在核心列表的通道选择中仅有的定量描述 | |
11 | lddate | 载入时间 | 未说明 | 任意值 | 记录创建的时间,not implemented yet? |
wfdisc 波形文件头信息和描述信息
1 | ANMO SHZ 393567535.30000 1 6 1982173 393615534.30000 48000 1.0000000 1.000000 20.000000 - g f4 - green.wfdisc.dat g.00001 0 -1 01/09/23-21:11:33 |
字节索引 | 名称 | 含义 | NA值 | 取值范围 | 备注 | 单位 |
---|---|---|---|---|---|---|
1 | sta | 台站码 | 需要有效输入 | 6个字符的大写字符串 | 台站码,或者地震台的common code name。通常为3或4个字符 | |
2 | chan | 通道码 | 需要有效值 | 3个大写字母 | 通道码,具体可在搜索中查找 | |
3 | time | 文件中第一个采样点的地质时间(epoch time) | 不允许 | 未说明 | 从1970年1月1日0时为起始点计算的秒数。存储为双精度浮点型,允许15个十进制数字。范围可达3*10^4年。 | 秒s |
4 | wfid | 波形id,这里是一个索引值,相当于行数 | ||||
5 | chanid | 通道操作id | -1 | >0 | 通道记录标识。是一个独立标识一个特殊记录的代理键(surrogate key)。作为单个标识符,表示sta、chan、time更加方便。但是这三个值对处理人员更加直观。 | |
6 | jdate | 儒略(julian)日期 | ||||
7 | endtime | 注意!详细查看备注time*(nsamp-1)/samprate | +9999999999(10个9).999 | endtime>time | endtime=time+(nsamp-1)/samprate(这里与前面的含义不一样,源文档如此。这里认为此处+为正确) | |
8 | nsamp | 采样点个数 | 不允许 | >0 | 采样点个数,波形段的采样点数量 | |
9 | samprate | 采样率,单位s^-1 | 不允许 | >0 | samples/second。该值可能与标称值略有不同,以反映时钟漂移。? | s^-1 |
10 | calib | 标称校准 | 不允许 | 任意非0浮点数 | 校准系数,即映射数字数据到地球位移的转换系数。该系数在属性calper规定的自由振荡周期内成立。正值表示分量方向的地面位移增量(分量方向,如z、n、e)由增值表示(),负值相反。该值通常反映记录时可用的最佳校准信息。 | nanometers或digital count |
11 | calper | 标称较准周期 | 不允许 | >0 | calib有效时规定周期。 | 秒,s |
12 | instype | 仪器码 | - | 大写字母,不计数。详见Ganse and Hutt,1982 | 标识仪器类型,例如SRO、ASRO以及S-750 | |
13 | segtype | 标引(indexing)方法 | - | o v s d g w | segment type。段类型。波形为:o(original)原始;v(virtual)虚拟的;s(segmented)分离的?;d(duplicate)副本;g(Green’s function)格林函数;w(synthetic)合成记录 | |
14 | datatype | 数值存储 | 不允许 | t4或f4 | 数值存储数据。该属性指定文档系统中数据序列的格式。属性用于在必要时以实数交换四个字节。f4用于PC、DEC、VAX IEEE,单精度实型;t4用于SUN IEEE,单精度实型 | |
15 | clip | 削减(clipped)标志 | - | {c n} 小写字母 | 一个字符指示数据是否削减。c表示是,n表示否 | |
16 | dir | 所在文件夹 | 不允许 | 任意64个字符的字符串 | 路径名的目录部分,包含特征关系的当前目录的相对路径 | |
17 | dfile | 文件名 | 不允许 | 任意32个字符长度的字符串 | disk waveform?的名称或者单分量格林函数的名称。 | |
18 | foff | 字节偏移量 | 不允许 | ≥0 | 这是数据文档中特征函数段的字节偏移量。见dir和dfile | |
19 | commid | 注释标识(comment id) | -1 No any remarks | ≥0 | 数据文件。注释标识。这是用于指向预定义备注列表中的自由格式注释的整数键。尚未实施。 | |
20 | lddate | 载入时间 | 未说明 | 任意值 | 记录创建的时间,not implemented yet? |
振型计算数量
由模型文件prem_S等得到S与T振型w范围为5-200mHz下的计算数量。目前统计到n=19的情况。
计算数量与w范围有关,即计算振型的频率范围有关。
S 振型
n | lmin | lmax |
---|---|---|
0 | 44 | 4653 |
1 | 28 | 2566 |
2 | 24 | 1945 |
3 | 23 | 1792 |
4 | 18 | 1775 |
5 | 14 | 1760 |
6 | 13 | 1742 |
7 | 12 | 1721 |
8 | 9 | 1695 |
9 | 8 | 1667 |
10 | 7 | 1643 |
11 | 5 | 1627 |
12 | 4 | 1611 |
13 | 3 | 1597 |
14 | 2 | 1582 |
15 | 1 | 1566 |
16 | 1 | 1549 |
17 | 1 | 1530 |
18 | 1 | 1510 |
19 | 1 | 1491 |
T 振型
n | lmin | lmax |
---|---|---|
0 | 41 | 2410 |
1 | 27 | 1903 |
2 | 20 | 1745 |
3 | 16 | 1735 |
4 | 12 | 1722 |
5 | 1 | 1706 |
6 | 1 | 1685 |
7 | 1 | 1661 |
8 | 1 | 1640 |
9 | 1 | 1627 |
10 | 1 | 1611 |
11 | 1 | 1597 |
12 | 1 | 1584 |
13 | 1 | 1569 |
14 | 1 | 1552 |
15 | 1 | 1535 |
16 | 1 | 1515 |
17 | 1 | 1495 |
18 | 1 | 1477 |
19 | 1 | 1460 |