I'm Dongdong, an Associate Professor of Geophysics at China University of Geosciences.
seisman / sac_docs_zh Goto Github PK
View Code? Open in Web Editor NEWSAC参考手册中文版
Home Page: https://seisman.github.io/SAC_Docs_zh
SAC参考手册中文版
Home Page: https://seisman.github.io/SAC_Docs_zh
1多个数据一起标定的时候,写入t1的是鼠标在的那个数据的参考时间,如果有数据的参考时刻和这个数据的不一样,就会出错
2初学者没有改参考时间为一致,数据又有间断,那么在多个数据标定时可能波形对齐不是用户想象的那样
3多数人比如我不会第一次看就看命令的详细解释,我们是否需要考虑在数据处理介绍的时候把ppk p 3 r m换乘a m然后提示参考时刻要一样,否则时间就不对?
从SEED数据中提取出SAC文件之后,可能需要对数据做merge,需要写一个脚本,对所有的数据做遍历,以实现merge功能。
下面列出手册中未整理的命令,其中有些命令很少用到,有些命令无法正常工作。有兴趣的可以测试下面的命令,翻译整理并提交PR:
readcss
(由 @peterpanwl 负责)minted可以实现代码的语法高亮,但有两个已知缺点:
pygments
理论上,可以自己写一套函数库,然后通过load命令载入到SAC中,以此来扩展SAC命令的功能。
实际上,这部分代码可能很多年没有整理过,因而不确定是否还能使用。
相关文档:aux/help/external_howto
aux/help/external_interface
整个文档应统一代码风格,具体风格暂定如下,如有异议,欢迎指出:
siunitx
宏来处理数字与单位之间的间隔\texttt
,特殊情况下用\verb||
\ref
、\verb
、\nameref
等在前后有中文的情况下,应该各加一个空格,例如中文 \ref{xxx} 中文
所有安装的命令,都可以加上-y参数,就不用按y了
我建议,固定地把小修改和编译错修改放到fix分支。
在gitbook上內文可放github
在gitbook同時可以使用網頁、pdf、epub格式發布手冊
在每頁面底下也可以讓網頁留言討論(我有看過但不普遍)
gitbook中文說明
https://www.gitbook.com/book/wastemobile/gitbook-chinese/details
缺點是從 tex 轉換成網頁Markdown
可能需要人工慢慢來
(網路上有現成 latex to Markdown工具,但不確定轉換效果)
等我畢業時候或許我可以來幫忙
不知道各位覺得如何?
执行后出现 abort 错误,原因未知。
目前代码中对命令、选项以及参数使用了大量的 \texttt{}
命令。考虑定义 cmd
opt
arg
等命令,这样源码中就将命令、选项和参数区分开来,也方便以后对这几项自定义不同的属性。
SAC> datagen sub local *
SAC> w delete /opt/sac/
SAC> w delete /opt/sac/aux/datagen/local/
主要讲IRIS申请数据的各种方式,也包括其他机构的(如果可能的话)
要把这部分放在哪里?
整理的目的在于,将一般读者关注的内容与维护者所关注的内容完全分开。
需要整理的内容包括:
README
appendix/doc-maintance/changelog.tex
中的维护者部分翻译readcss命令,需要英翻汉,然后还需要用数据试一试,中间还有一些解决不了的问题。
1这些都不可能一时解决,需要一个较长的时间,但是我又希望其他贡献者能看到我工作的进度,提出一些建议、指导和纠正。
2我可能遇到一些解决不了的问题,比如翻译时遇到的语言问题,我希望其他参与者能协助解决
我不知道这两点该怎么操作
merge似乎并不支持通配符,需要修改相关内容
在每个命令的说明中,基本都会提到该命令的相关命令,所以“相关命令”这一小节可以删除。
放在“SAC数据处理”一章的第一节,简单列举波形数据的主要来源,包括IRIS以及各大独立台网。
使用libsac.a
函数库中的apply
和design
函数。
能够用SAC绘制的则用SAC绘制,用SAC难以实现的用GMT5或者matplotlib绘制
目前文档中在设计数字与单位之间没有间隔,不符号标准。考虑采用siunitx宏包解决这一问题。
参考:
(./appendix/data-fetch/data-source.tex) (./appendix/data-fetch/iris-tools.tex
[337] [338]
! Missing $ inserted.
<inserted text>
$
l.128 \item 可生成 \texttt{BREQ_FAST}
格式的文件
?
检查了这个文件,找不出错
saclst返回的头段b和e的小数点后的部分不准。用这些值做数据截窗的窗口,可能出现越界。
rdseed
是最常用的格式转换工具,可以简单介绍其用法,放在SAC相关工具
一章
SAC软件目前还有大量bug,尤其是某些不太常用的命令。这些BUG该如何处理?
抱歉本來要pull但還是不夠熟悉
我用繁體中文打修改內容,怕用字不是簡體慣用字詞
可能要交給大家幫忙修成適合簡體常用詞(?
SAC变体 這個section
\item[MacSAC] 也称为SAC/BRIS,仅可在Mac OS下使用。该变种由
10.6d Fortran源码衍生而来,后期与10.6f集成,
其功能是SAC/IRIS功能的超集。相对于SAC/IRIS的最主要
扩展在于宏语言功能的增强以及处理台阵数据的能力。
其作者为
\href{http://www1.gly.bris.ac.uk/~george/gh.html}{George Helffrich}。
我建議可以改
\item[SAC/BRIS] 也可称为MacSAC,主要設計給Mac OS,除了提供Mac OS下編譯好安裝包外,還可安裝在其他linux系統(需使用網頁上提供shell script自行編譯,使用時要注意endian問題,因為Mac OS為big-endian)。该变种由
10.6d Fortran源码衍生而来,后期与10.6f集成,
其功能是SAC/IRIS功能的超集。相对于SAC/IRIS的最主要
扩展在于宏语言功能的增强以及处理台阵数据的能力之外,還可以直接讀取miniseed檔案(執行sac後,read mseed miniseed檔名)。
其作者为
\href{http://www1.gly.bris.ac.uk/~george/gh.html}{George Helffrich}。
用pandoc将latex源码转换成了markdown源码,但还存在很多问题,因而需要人工一一检查并修正。
markdown源码位于 gitbook 分支,网页版地址为:https://seisman.github.io/SAC_Docs_zh/ 。
以下是所有需要检查的markdown文件。请通过 @ 自己来认领某一任务,待文件检查完毕后记得来这里打钩。
自动转换得到的markdown源码已知会存在如下问题:
![图标题](/figures/xxxx.png)
sacio/sacio-in-c.md
)文档风格:
[include](filename.c)
![标题](/figures/filename.png)
行内公式: 文字 $$x^2+y^2=x^2$$ 文字
行间公式
文字
$$x^2+y^2=z^2$$
文字
[地震数据处理](/data-process)
会链接到地震数据处理一章[write](/commands/write.md)
会直接链接到 write 命令commands/taper.md
的写法description
环境,而markdown 不支持,故而只能将其转换为无序列表,可以参考 commands/taper.md
的写法SUMMARY.md
README.md
contributor.md
frontmatterIII.md
version.md
ChangeLog.md
@seismanintroduction/what-is-sac.md
@seismanintroduction/variants.md
@seismanintroduction/request.md
@seismanintroduction/history.md
@seismanintroduction/linux-install.md
@seismanintroduction/maillist.md
@seismanintroduction/README.md
@seismanintroduction/mac-install.md
@seismanbasic/how-to-read.md
@seismanbasic/start-and-quit.md
@seismanbasic/command.md
@seismanbasic/convection.md
@seismanbasic/funcgen-and-datagen.md
@seismanbasic/read-and-write.md
@seismanbasic/README.md
@seismanbasic/display.md
@seismanbasic/how-to-learn.md
@seismanbasic/philosophy.md
@seismanfileformat/README.md
add readme @likueimofileformat/header-variables.md
fileformat/binary-and-alphanumeric.md
fileformat/header-structure.md
fileformat/intro-to-fileformat.md
fileformat/sac-time.md
data-process/README.md
add readme @likueimodata-process/intro-to-process.md
data-process/traveltime.md
data-process/cut-data.md
data-process/data-analysis.md
data-process/data-format.md
data-process/data-request.md
data-process/event-info.md
data-process/instrument-response.md
data-process/merge-traces.md
data-process/naming.md
data-process/quality-control.md
data-process/resampling.md
data-process/sort-traces.md
data-process/station-info.md
data-process/time-zone-correction.md
data-process/rglitches.md
data-process/rmean-rtrend-taper.md
data-process/rotate.md
data-process/filter.md
data-process/picking-phase.md
graphics/README.md
add readme @likueimographics/begin-devices.md
graphics/format-conversion.md
graphics/save-image.md
graphics/graphic-devices.md
@seismangraphics/composite-plots.md
graphics/plot-appearance.md
graphics/plot-commands.md
graphics/plot-contour.md
macros/README.md
@seismanmacros/blackboard-variables.md
macros/inline-functions.md
macros/macros.md
macros/header-variables.md
macros/intro-to-sac-programming.md
call-in-script/README.md
@seismancall-in-script/call-sac-in-python.md
@seismancall-in-script/call-sac-in-bash.md
@seismancall-in-script/intro-to-scripts.md
call-in-script/call-sac-in-perl.md
@seismanlibs/README.md
added by @seismanlibs/call-libsacio.md
libs/intro-to-libs.md
libs/call-libsac.md
sacio/README.md
@seismansacio/sacio-in-c.md
@seismansacio/sacio-in-matlab.md
@seismansacio/intro-to-sacio.md
sacio/sacio-in-python.md
@seismansacio/sacio-in-fortran.md
@seismantools/README.md
@seismantools/byte-swap.md
@seismantools/pssac.md
@seismantools/rdseed.md
@seismantools/sac-config.md
@seismantools/saclst.md
@seismantools/sgftops.md
@seismantricks-and-traps/README.md
@seismantricks-and-traps/command-line-length.md
@seismantricks-and-traps/max-allowed-files.md
@seismantricks-and-traps/tab-and-space.md
@seismantricks-and-traps/wh-wover.md
@seismantricks-and-traps/debug.md
@seismantricks-and-traps/init-macro.md
@seismantricks-and-traps/running-speed.md
@seismantricks-and-traps/undefined-header-variables.md
@seismantricks-and-traps/endian.md
@seismantricks-and-traps/read-dir.md
@seismanappendix/resp/README.md
@seismanappendix/resp/physical-details.md
@seismanappendix/resp/intro-to-resp.md
@seismanappendix/resp/resp-file.md
@seismanappendix/data-fetch/data-source.md
@seismanappendix/data-fetch/iris-tools.md
@seismanappendix/naming-convections.md
@seismanappendix/messages.md
@seismanappendix/messages/msg0.md
appendix/messages/msg1.md
appendix/messages/msg2.md
appendix/messages/msg5.md
appendix/messages/msg9.md
appendix/messages/msgn.md
appendix/changelog.md
请参考 command/taper.md
的处理方式。
commands/about.md
commands/abs.md
commands/taper.md
commands/addf.md
commands/add.md
commands/apk.md
commands/arraymap.md
commands/axes.md
commands/bandpass.md
commands/bandrej.md
commands/bbfk.md
commands/beam.md
commands/begindevices.md
commands/beginframe.md
commands/beginwindow.md
commands/benioff.md
commands/binoperr.md
commands/border.md
commands/capf.md
commands/chnhdr.md
commands/chpf.md
commands/color.md
commands/comcor.md
commands/contour.md
commands/convert.md
commands/convolve.md
commands/copyhdr.md
commands/correlate.md
commands/cuterr.md
commands/cutim.md
commands/cut.md
commands/datagen.md
commands/decimate.md
commands/deletechannel.md
commands/dif.md
commands/divf.md
commands/div.md
commands/divomega.md
commands/echo.md
commands/enddevices.md
commands/endframe.md
commands/envelope.md
commands/erase.md
commands/evaluate.md
commands/exp10.md
commands/exp.md
commands/fft.md
commands/fileid.md
commands/filenumber.md
commands/filterdesign.md
commands/fir.md
commands/floor.md
commands/func_commands.md
commands/funcgen.md
commands/getbb.md
commands/grayscale.md
commands/grid.md
commands/gtext.md
commands/hanning.md
commands/help.md
commands/highpass.md
commands/hilbert.md
commands/history.md
commands/ifft.md
commands/image.md
commands/inicm.md
commands/installmacro.md
commands/interpolate.md
commands/int.md
commands/keepam.md
commands/khronhite.md
commands/linefit.md
commands/line.md
commands/linlin.md
commands/linlog.md
commands/listhdr.md
commands/loadctable.md
commands/load.md
commands/log10.md
commands/loglab.md
commands/loglin.md
commands/loglog.md
commands/log.md
commands/lowpass.md
commands/macro.md
commands/map.md
commands/markptp.md
commands/marktimes.md
commands/markvalue.md
commands/mathop.md
commands/merge.md
commands/message.md
commands/mtw.md
commands/mulf.md
commands/mul.md
commands/mulomega.md
commands/news.md
commands/null.md
commands/oapf.md
commands/ohpf.md
commands/pause.md
commands/pickphase.md
commands/pickprefs.md
commands/picks.md
commands/plabel.md
commands/plot1.md
commands/plot2.md
commands/plotalpha.md
commands/plotc.md
commands/plotdy.md
commands/plot.md
commands/plotpk.md
commands/plotpm.md
commands/plotsp.md
commands/plotxy.md
commands/printhelp.md
commands/print.md
commands/production.md
commands/qdp.md
commands/quantize.md
commands/quit.md
commands/quitsub.md
commands/readbbf.md
commands/readcss.md
commands/readerr.md
commands/readhdr.md
commands/readsp.md
commands/readtable.md
commands/report.md
commands/reverse.md
commands/rglitches.md
commands/rmean.md
commands/rms.md
commands/rotate.md
commands/rq.md
commands/rtrend.md
commands/saveimg.md
commands/setbb.md
commands/setdevice.md
commands/setmacro.md
commands/sgf.md
commands/smooth.md
commands/sonogram.md
commands/sort.md
commands/spectrogram.md
commands/sqr.md
commands/sqrt.md
commands/stretch.md
commands/subf.md
commands/sub.md
commands/symbol.md
commands/synchronize.md
commands/systemcommand.md
commands/ticks.md
commands/title.md
commands/trace.md
commands/transcript.md
commands/transfer.md
commands/traveltime.md
commands/tsize.md
commands/unsetbb.md
commands/unwrap.md
commands/vspace.md
commands/wait.md
commands/whiten.md
commands/whpf.md
commands/width.md
commands/wiener.md
commands/wild.md
commands/window.md
commands/writebbf.md
commands/writecss.md
commands/writehdr.md
commands/write.md
commands/writesp.md
commands/xdiv.md
commands/xfudge.md
commands/xfull.md
commands/xgrid.md
commands/xlabel.md
commands/xlim.md
commands/xlin.md
commands/xlog.md
commands/xvport.md
commands/ydiv.md
commands/yfudge.md
commands/yfull.md
commands/ygrid.md
commands/ylabel.md
commands/ylim.md
commands/ylin.md
commands/ylog.md
commands/yvport.md
commands/zcolors.md
commands/zlabels.md
commands/zlevels.md
commands/zlines.md
commands/zticks.md
spe/plotspe.md
spe/spe.md
spe/writecor.md
spe/cor.md
spe/mem.md
spe/mlm.md
spe/pds.md
spe/plotcor.md
spe/plotpe.md
spe/readcor.md
spe/writespe.md
sss/deletestack.md
sss/distanceaxis.md
sss/globalstack.md
sss/plotrecordsection.md
sss/sumstack.md
sss/timewindow.md
sss/velocityroset.md
sss/zerostack.md
sss/addstack.md
sss/deltacheck.md
sss/distancewindow.md
sss/incrementstack.md
sss/plotstack.md
sss/sss.md
sss/timeaxis.md
sss/velocitymodel.md
sss/writestack.md
sss/changestack.md
sss/liststack.md
sss/traveltime.md
BELL ON|OFF
选项是否可用?REFERENCE ON|OFF|v
选项是否可用?RELATIVE|ABSOLUTE
的解释有误?SAVELOCS
选项是否有效?MARKALL
的有效性?此时存在存在多个SAC PZ文件,因而对于任意一个波形数据而言,需要判断哪一个PZ文件才是真正需要的。
可以考虑将SAC PZ文件合并,交给SAC自动判断。
目前文档中relative和absolute的解释不太易于理解,也有可能描述是错的,需要修改。
涉及到plot1
、plot2
和plotpk
三个命令。
本文手冊上使用以下設定環境參數(舉linux部份)
export SACHOME=/usr/local/sac
export SACAUX=${SACHOME}/aux
export PATH=${SACHOME}/bin:${PATH}
export SAC_DISPLAY_COPYRIGHT=1
export SAC_PPK_LARGE_CROSSHAIRS=1
export SAC_USE_DATABASE=0}
而在sac安裝檔申請完收到後解壓縮,資料夾裡面的 README
在 * Environment Setup 部份
提供下列建議
If SACHOME is /usr/local/sac and the sacinit file is modified accordingly,
to set the path and other options for SAC, do the following:
For csh and tcsh, edit ~/.cshrc adding the lines
setenv SACHOME /usr/local/sac
source ${SACHOME}/bin/sacinit.csh
After saving and exiting the file, enter
source ~/.cshrc
For bash, edit ~/.bashrc adding the lines
export SACHOME=/usr/local/sac
. ${SACHOME}/bin/sacinit.sh
After saving and exiting the file, enter
. ~/.bashrc```
而比如說我sac安裝在/opt/sac
,在Linux的bash環境
我會修改/opt/sac/bin/sacinit.sh
裡面一行
export SACHOME=/usr/local/sac
成 export SACHOME=/opt/sac
之後在bash環境參數添加
export SACHOME=/opt/sac
. ${SACHOME}/bin/sacinit.sh
而在官方的wiki上也是提供類似建議
https://seiscode.iris.washington.edu/projects/sac/wiki/Binary_Installation
If you received a binary distribution of SAC, it expects to be installed at /usr/local/sac.
tar -zxf sac-101.6_linux_x86_64.tar.gz -C /usr/local
Environment setup
SAC comes with a set of scripts to add the correct directories to your path and setup the environment variables properly. They are located in the bin directory within sac distribution. Follow the instructions based on the shell you are running.
sh / bash
To your ~/.profile or ~/.bashrc add:
source /usr/local/sac/bin/sacinit.sh
csh / tcsh
To your ~/.cshrc or ~/.tcshrc add:
source /usr/local/sac/bin/sacinit.csh
個人覺得添加官方說明部份也好讓使用者有個尋找安裝根據
在 sacinit.sh
內文有參數詳細配置選項
而在 sac 底下 README
文件還提到
Matlab Interface 怎麼設定環境參數 (本手冊好像沒包含?)
使用者翻閱 README 也可以知道更多可以控制地方
除了安裝之外,sac目錄底下還有四份 README
sac/README
sac/doc/examples/README
sac/doc/README
sac/macros/README
其中在 sac/doc/examples
有很多有趣script 和 fortran 跟 c 程式
未來也可以介紹在手冊裡面
謝謝這麼詳細SAC手冊!
grep -v '^*' SAC_PZs_00 > SAC_PZs_00.new
修改一个文件的发震时刻和修改多个文件的发震时刻,在处理上是不一样的。目前的Perl和Python脚本中仅处理了一个SAC数据的发震时刻,需要修改以实现一次处理所有SAC数据的功能。
代码本身在PDF中可以正常显示,但复制代码时,所有缩进都丢失。
手册中“我”的问题,我觉得可以用第三人称,比如:
本手册一直由我一人维护并持续更新。鉴于个人精力有限,因而希望有志愿者参与到这个开源项目中,一起维护并完善该手册
改为:
本手册一直由seisman一人维护并持续更新。seisman精力有限,希望有志愿者参与到这个开源项目中,一起维护并完善该手册
这一节内容不是大多数读者都不关心,可以将这一节的内容放在项目的README或者wiki里,在文档中给出链接即可。
参考:http://seisman.info/maintainers-for-sac-manual-wanted.html
位置:维护者列表后,或者附录中
cuterr fillz
binoperr npts ignore
r a.sac
subf b.sac
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.