Skip to content

Commit

Permalink
将texttt和verb替换成!!
Browse files Browse the repository at this point in the history
  • Loading branch information
seisman committed Apr 27, 2016
1 parent bcbd8f1 commit 3ced8ec
Show file tree
Hide file tree
Showing 197 changed files with 1,636 additions and 1,636 deletions.
3 changes: 2 additions & 1 deletion Makefile
Expand Up @@ -12,7 +12,8 @@ DOC = SAC_Docs
all: $(DOC).pdf

$(DOC).pdf: $(DOC).tex
latexmk -xelatex -shell-escape -interaction=nonstopmode $^
#latexmk -xelatex -shell-escape -interaction=nonstopmode $^
latexmk -xelatex -shell-escape $^

clean:
latexmk -c
Expand Down
20 changes: 10 additions & 10 deletions appendix/changelog.tex
Expand Up @@ -12,7 +12,7 @@ \section*{2012-09-03 1.1版}
\item 代码从NotePad++中直接导出,支持语法高亮
\item 代码及正文英文字体采用Consolas字体
\item 增加了``在脚本中调用SAC''一节
\item 新增命令 \texttt{transfer}、\texttt{traveltime}、\texttt{saveimg}、\texttt{datagen}
\item 新增命令 !transfer!、!traveltime!、!saveimg!、!datagen!
\item 更新至SAC v101.5c
\item 公式用公式编辑器编辑
\end{itemize}
Expand Down Expand Up @@ -65,7 +65,7 @@ \section*{2014-09-25 3.1版}
\section*{2015-05-02 3.2版}
\begin{itemize}
\item 修复bugs和typos
\item 命令整理:\texttt{systemcommand}、\texttt{transfer}
\item 命令整理:!systemcommand!、!transfer!
\item 新增章节
\begin{itemize}
\item 波形排序
Expand All @@ -82,7 +82,7 @@ \section*{2015-05-02 3.2版}
\section*{2015-06-06 3.3版}
\begin{itemize}
\item 修改bugs和typos
\item 命令整理:\texttt{hilbert}、\texttt{transfer}
\item 命令整理:!hilbert!、!transfer!
\item 新增内容:
\begin{itemize}
\item 四个文件重命名脚本
Expand All @@ -93,7 +93,7 @@ \section*{2015-06-06 3.3版}
\item 错误与警告消息
\item 未定义变量
\item SAC debug
\item \texttt{wh}\texttt{w over} 的区别
\item !wh!!w over! 的区别
\end{itemize}
\end{itemize}

Expand All @@ -109,8 +109,8 @@ \section*{2015-09-15 3.4版}
\item 新增内容:
\begin{itemize}
\item 在Mac OS X 10.10中安装SAC
\item 在C程序中调用SAC提供的 \texttt{distaz} 函数
\item 数据处理中使用 \texttt{decimate}\texttt{interpolate} 进行数据重采样
\item 在C程序中调用SAC提供的 !distaz! 函数
\item 数据处理中使用 !decimate!!interpolate! 进行数据重采样
\item Python中修改发震时刻
\item 在C程序中读写SAC文件
\item 在Fortran程序中读写SAC文件
Expand All @@ -119,22 +119,22 @@ \section*{2015-09-15 3.4版}
\item 修改SAC所能读取的文件数目的上限
\item 文档维护与更新并征集维护者
\end{itemize}
\item 命令整理:\texttt{mtw}、\texttt{markptp}、\texttt{markvalue}、\texttt{readcss}
\item 命令整理:!mtw!、!markptp!、!markvalue!、!readcss!
\item 修正Bugs和Typos
\end{itemize}

\section*{2016-01-09 3.5版}
\begin{itemize}
\item 增加示例:绘制滤波器的时间响应和频率响应
\item 增加示例:一次性修改多个波形数据的发震时刻
\item 新增章节:\texttt{rdseed} 的选项及其用法
\item 新增章节:!rdseed! 的选项及其用法
\item 新增章节:介绍IRIS等地震数据中心
\item 新增章节:介绍数据申请:连续波形数据和事件波形数据
\item 新增章节:IRIS波形数据申请工具
\item 新增章节:SAC与脚本运行速度差异导致的陷阱
\item 新增Perl脚本:数据提取、合并、重命名、修改发震时刻、去仪器响应、分量旋转、重采样
\item 新增Python脚本:数据提取、合并、重命名、修改发震时刻、去仪器响应、分量旋转、重采样
\item 更新命令说明:\texttt{plotpk}、\texttt{plot1}、\texttt{plot2}、\texttt{datagen}
\item 新增命令:\texttt{writecss}
\item 更新命令说明:!plotpk!、!plot1!、!plot2!、!datagen!
\item 新增命令:!writecss!
\item 修正Bugs和Typos
\end{itemize}
4 changes: 2 additions & 2 deletions appendix/data-fetch/iris-tools.tex
Expand Up @@ -125,7 +125,7 @@ \subsection{SOD}
\item 命令行工具,易于批量处理
\item 申请数据的同时可以对数据进行预处理
\item 数据格式:SAC、miniSEED
\item 可生成 \texttt{BREQ\_FAST} 格式的文件
\item 可生成 !BREQ_FAST! 格式的文件
\end{itemize}
\item 缺点:学习成本较高
\end{itemize}
Expand All @@ -138,6 +138,6 @@ \subsection{SeismiQuery}
\item 特色及优点:
\begin{itemize}
\item 网页工具
\item 可以生成 \texttt{BREQ\_FAST} 所需的文件
\item 可以生成 !BREQ_FAST! 所需的文件
\end{itemize}
\end{itemize}
14 changes: 7 additions & 7 deletions appendix/messages/msg1.tex
Expand Up @@ -9,11 +9,11 @@

\SACTitle{1106 Not a valid SAC command.}
对于每一行命令,SAC首先会检查是否是SAC内部的命令,如果不是,则检查是否是系统自带
的命令,比如 \texttt{ls}、\texttt{cp} 等。
的命令,比如 !ls!、!cp! 等。

一个例外是系统命令 \texttt{rm}。在SAC中直接执行rm命令会出现如上所示的错误。出现该
错误的原因是SAC禁用了系统命令 \texttt{rm},主要目的是为了防止将 \texttt{r *.SAC} 误敲成
\texttt{rm *.SAC} 而导致数据的误删除。可以使用 \nameref{cmd:systemcommand} 命令显式
一个例外是系统命令 !rm!。在SAC中直接执行rm命令会出现如上所示的错误。出现该
错误的原因是SAC禁用了系统命令 !rm!,主要目的是为了防止将 !r *.SAC! 误敲成
!rm *.SAC! 而导致数据的误删除。可以使用 \nameref{cmd:systemcommand} 命令显式
调用系统命令,如下:
\begin{SACCode}
SAC> rm BAD*.SAC
Expand All @@ -25,11 +25,11 @@
内存中未读入数据。可能是未指定要读取的文件列表,或列表中的文件不可读。

\SACTitle{1303 Overwrite flag is not on for file}
该错误主要出现在写SAC文件时,出现该错误的原因是SAC文件的头段变量 \texttt{lovrok} 的值
\texttt{FALSE},即磁盘中的数据不允许被覆盖。解决该问题的方法有两种:
该错误主要出现在写SAC文件时,出现该错误的原因是SAC文件的头段变量 !lovrok! 的值
!FALSE!,即磁盘中的数据不允许被覆盖。解决该问题的方法有两种:
\begin{itemize}
\item 以其他文件名写入磁盘,不覆盖磁盘文件;
\item 修改 \texttt{lovrok} 的值为 \texttt{TRUE}
\item 修改 !lovrok! 的值为 !TRUE!
\end{itemize}

\SACTitle{1304 Illegal operation on data file}
Expand Down
16 changes: 8 additions & 8 deletions appendix/messages/msg2.tex
Expand Up @@ -6,18 +6,18 @@

\SACTitle{2002 Following files are not an orthogonal pair}
出现该错误的原因是使用 \nameref{cmd:rotate} 旋转的两个分量不完全正交,
此时应注意检查两个分量的头段变量 \texttt{cmpinc}\texttt{cmpaz}
此时应注意检查两个分量的头段变量 !cmpinc!!cmpaz!
若两个头段变量未定义,则需要根据仪器的其他信息确定两个头段变量的值;
若两个头段变量有定义,但的确不正交,则无法进行分量旋转。

\SACTitle{2003 Following files are not both horizontals}
\nameref{cmd:rotate} 命令的 \texttt{TO} 选项只能用于将两个水平的分量
旋转到某个角度,出现该错误时应注意检查两个分量的头段变量 \texttt{cmpinc}
\nameref{cmd:rotate} 命令的 !TO! 选项只能用于将两个水平的分量
旋转到某个角度,出现该错误时应注意检查两个分量的头段变量 !cmpinc!
是否等于90度。

\SACTitle{2004 Insufficient header information for rotation}
\nameref{cmd:rotate} 命令的 \texttt{TO GCP} 选项要求头段变量中
\texttt{stla}、\texttt{stlo}、\texttt{evla}\texttt{evlo} 必须定义。
\nameref{cmd:rotate} 命令的 !TO GCP! 选项要求头段变量中
!stla!、!stlo!、!evla!!evlo! 必须定义。
该选项会读取一对分量中的第一个文件中的头段变量,并计算反方位角,而不是
直接使用头段变量中已有的反方位角值。

Expand All @@ -26,10 +26,10 @@
输出会被截断。

\SACTitle{2111 Taper frequency limits are invalid. No taper applied.}
该警告出现在 \nameref{cmd:transfer} 命令中,出现该错误的原因是 \texttt{freqlimits}
选项的参数设置有误。四个频率应满足 \texttt{f1<f2<f3<f4}
该警告出现在 \nameref{cmd:transfer} 命令中,出现该错误的原因是 !freqlimits!
选项的参数设置有误。四个频率应满足 !f1<f2<f3<f4!

出现该警告时,\nameref{cmd:transfer} 会忽略 \texttt{freqlimits} 选项,
出现该警告时,\nameref{cmd:transfer} 会忽略 !freqlimits! 选项,
即在去仪器响应时,不使用taper函数,进而可能导致去仪器响应后的波形出现问题。

\SACTitle{2405 Cannot PRINT: no SGF files produced}
Expand Down
66 changes: 33 additions & 33 deletions appendix/naming-convections.tex
@@ -1,45 +1,45 @@
\texttt{rdseed} 程序从标准SEED格式中解压得到的SAC文件,通常都具有
!rdseed! 程序从标准SEED格式中解压得到的SAC文件,通常都具有
固定格式的文件名。具体格式为:
\begin{verbatim}
yyyy.ddd.hh.mm.ss.ffff.NN.SSSSS.LL.CCC.Q.SAC
\end{verbatim}
其中
\begin{itemize}
\item \texttt{yyyy.ddd.hh.mm.ss.ffff} 是SAC文件中第一个数据点对应的时间
\item !yyyy.ddd.hh.mm.ss.ffff! 是SAC文件中第一个数据点对应的时间
\begin{itemize}
\item \texttt{yyyy} 为年;
\item \texttt{ddd} 为一年的第多少天;
\item \texttt{hh.mm.ss} 为时、分、秒;
\item \texttt{ffff} 为毫秒;需要注意的是 $\SI{1}{\s}=\SI{1000}{\ms}$
\item !yyyy! 为年;
\item !ddd! 为一年的第多少天;
\item !hh.mm.ss! 为时、分、秒;
\item !ffff! 为毫秒;需要注意的是 $\SI{1}{\s}=\SI{1000}{\ms}$
这里毫秒用了4位来表示。
\end{itemize}
\item \texttt{NN} 为台网名\footnote{所有永久或临时台网的台网名列表:
\item !NN! 为台网名\footnote{所有永久或临时台网的台网名列表:
\url{http://www.fdsn.org/networks/}},长度不超过2个字符;
\item \texttt{SSSSS} 为台站名,长度不超过5个字符;
\item \texttt{LL} 为位置码,为空或两字符;
\item \texttt{CCC} 为通道名;
\item \texttt{Q} 为质量控制标识;
\item \texttt{SAC} 为文件后缀;
\item !SSSSS! 为台站名,长度不超过5个字符;
\item !LL! 为位置码,为空或两字符;
\item !CCC! 为通道名;
\item !Q! 为质量控制标识;
\item !SAC! 为文件后缀;
\end{itemize}

\section{位置码}
位置码(Location ID)用于区分同一个台站处几套类似的仪器,这些仪器可能是
相同的型号,但位于不同的深度或者指向不同的方位;也有可能是不同型号的仪器。

位置码通常用两位字母或数字表示,比如常见的 \texttt{00}、\texttt{01}
\texttt{10} 等。对于一个台站只有一套仪器的情况,位置码通常是空值。
位置码通常用两位字母或数字表示,比如常见的 !00!、!01!
!10! 等。对于一个台站只有一套仪器的情况,位置码通常是空值。

\section{质量控制}
\label{sec:quality-control}
质量控制符 \texttt{Q} 用于表征当前SAC数据的数据质量。该标识符可以
质量控制符 !Q! 用于表征当前SAC数据的数据质量。该标识符可以
取如下四种:
\begin{itemize}
\item \texttt{D} 不确定状态的数据
\item \texttt{M} 已合并的数据
\item \texttt{R} 原始波形数据
\item \texttt{Q} 经过质量控制的数据
\item !D! 不确定状态的数据
\item !M! 已合并的数据
\item !R! 原始波形数据
\item !Q! 经过质量控制的数据
\end{itemize}
常见的质量控制符为 \texttt{M}\texttt{Q}
常见的质量控制符为 !M!!Q!

\section{通道名}
通道名用三个字符来表示,这三个字符分别代表了频带码(Band Code)、
Expand Down Expand Up @@ -87,11 +87,11 @@ \subsection{仪器码}
\toprule
仪器码 & 说明 \\
\midrule
\texttt{H} & High Gain Seismometer \\
\texttt{L} & Low Gain Seismometer \\
\texttt{G} & Gravimeter \\
\texttt{M} & Mass position Seismometer \\
\texttt{N} & Accelerometer \\
!H! & High Gain Seismometer \\
!L! & Low Gain Seismometer \\
!G! & Gravimeter \\
!M! & Mass position Seismometer \\
!N! & Accelerometer \\
\bottomrule
\end{tabular}
\end{table}
Expand All @@ -106,16 +106,16 @@ \subsection{方位码}
\toprule
方位码 & 说明 \\
\midrule
\texttt{N E Z} & 南北向、东西向、垂向 \\
\texttt{1 2 3} & 3为垂向;1、2为水平方向,正交但与正东西、正南北向有偏离 \\
\texttt{T R Z} & T为切向、R为径向,通常R方向是震中到台站的大圆连线方向 \\
!N E Z! & 南北向、东西向、垂向 \\
!1 2 3! & 3为垂向;1、2为水平方向,正交但与正东西、正南北向有偏离 \\
!T R Z! & T为切向、R为径向,通常R方向是震中到台站的大圆连线方向 \\
\bottomrule
\end{tabular}
\end{table}

通常情况下,若仪器的方向与正东西方向的夹角小于2度时,方位码取为 \texttt{E}
当与正东西方向夹角大于2度时,方位码取为 \texttt{1}\texttt{2}。因而,
方位码为 \texttt{E} 并不意味着分量是正东西方向的,真实的分量方向应以SAC
头段中的 \texttt{cmpaz}\texttt{cpminc} 为准。更进一步,由于仪器放置
过程中的技术问题,SAC头段中的 \texttt{cmpaz} 在某些情况下也会产生一定的
通常情况下,若仪器的方向与正东西方向的夹角小于2度时,方位码取为 !E!
当与正东西方向夹角大于2度时,方位码取为 !1!!2!。因而,
方位码为 !E! 并不意味着分量是正东西方向的,真实的分量方向应以SAC
头段中的 !cmpaz!!cpminc! 为准。更进一步,由于仪器放置
过程中的技术问题,SAC头段中的 !cmpaz! 在某些情况下也会产生一定的
误差。
26 changes: 13 additions & 13 deletions appendix/resp/resp-file.tex
Expand Up @@ -93,9 +93,9 @@ \subsection{内置仪器响应}
除了表 \ref{table:instrument-type} 中列出的众多仪器类型之外,还有几个
特别的仪器类型:
\begin{itemize}
\item \texttt{none}:即位移,也是SAC的默认值
\item \texttt{vel}:速度
\item \texttt{acc}:加速度
\item !none!:即位移,也是SAC的默认值
\item !vel!:速度
\item !acc!:加速度
\end{itemize}

\subsection{RESP文件}
Expand Down Expand Up @@ -174,36 +174,36 @@ \subsection{SAC PZ文件}
\end{verbatim}

SAC PZ文件中,以星号开始的行为注释行,给出了该PZ文件所对应的台站信息,
其中 \texttt{INPUT UNIT} 表明了该PZ文件的输入是位移、速度还是加速度。
\texttt{rdseed} 从SEED数据中提取出来的PZ文件,输入都是位移,
其中 !INPUT UNIT! 表明了该PZ文件的输入是位移、速度还是加速度。
!rdseed! 从SEED数据中提取出来的PZ文件,输入都是位移,
且单位为 \si{\m}。

以关键字 \texttt{ZEROS} 起始的行给出了零点数目,接下来几行列出了每个
零点的实部和虚部。以关键字 \texttt{POLES} 起始的行给出了极点数目,
以关键字 !ZEROS! 起始的行给出了零点数目,接下来几行列出了每个
零点的实部和虚部。以关键字 !POLES! 起始的行给出了极点数目,
接下来几行列出了每个极点的实部和虚部。最后一行给出了仪器响应中的常数
\texttt{CONSTANT}
!CONSTANT!

根据零极点以及 \texttt{CONSTANT},即可计算得到仪器响应函数:
根据零极点以及 !CONSTANT!,即可计算得到仪器响应函数:
\[
H(s) = C_0 * \frac{(s-z_1)(s-z_2)...(s-z_{nz})}{(s-p_1)(s-p_2)...(s-p_{nz})}
\]
其中$s=2\pi i f$

一些说明:
\begin{itemize}
\item 若有零点 \texttt{(0.0,0.0)},则这样的``''零点可以省略。因而
\item 若有零点 !(0.0,0.0)!,则这样的``''零点可以省略。因而
列出的零点数可能会少于``ZEROS''行给出的零点数;上例中的三个零点
可以不列出;
\item \texttt{CONSTANT} 对应于RESP文件中所有阶段的增益$Sd_0$以及归一化
\item !CONSTANT! 对应于RESP文件中所有阶段的增益$Sd_0$以及归一化
因子$A_0$的乘积;
\item 若未指定 \texttt{CONSTANT},则默认值为1.0;
\item 若未指定 !CONSTANT!,则默认值为1.0;
\end{itemize}

\subsection{FAP文件}
FAP文件是响应函数的另一种表现形式,其包含了很多记录行,每行三个字段,
分别是频率(\si{Hz})、振幅及相位。

频率不需要等间隔分段。在执行 \texttt{transfer} 时,低于第一行频率的
频率不需要等间隔分段。在执行 !transfer! 时,低于第一行频率的
频段将使用第一行的振幅和相位;同理大于最后一行频率的频段将使用最后
一行的振幅和相位。

Expand Down

0 comments on commit 3ced8ec

Please sign in to comment.