Giter VIP home page Giter VIP logo

sac_docs_zh's Introduction

Hi there 👋

I'm Dongdong, an Associate Professor of Geophysics at China University of Geosciences.

seisman's github stats

sac_docs_zh's People

Contributors

core-man avatar dependabot[bot] avatar likueimo avatar seisman avatar wangliang1989 avatar zhaozhiyuan1989 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sac_docs_zh's Issues

增加“数据来源”一节

放在“SAC数据处理”一章的第一节,简单列举波形数据的主要来源,包括IRIS以及各大独立台网。

rdseed用法

rdseed是最常用的格式转换工具,可以简单介绍其用法,放在SAC相关工具一章

merge脚本

从SEED数据中提取出SAC文件之后,可能需要对数据做merge,需要写一个脚本,对所有的数据做遍历,以实现merge功能。

整理README及Wiki

整理的目的在于,将一般读者关注的内容与维护者所关注的内容完全分开。

需要整理的内容包括:

  1. README
  2. appendix/doc-maintance/changelog.tex 中的维护者部分
  3. Wiki

仪器响应发生变化时的处理方式

此时存在存在多个SAC PZ文件,因而对于任意一个波形数据而言,需要判断哪一个PZ文件才是真正需要的。

可以考虑将SAC PZ文件合并,交给SAC自动判断。

寻找minted替代品

minted可以实现代码的语法高亮,但有两个已知缺点:

  1. 依赖于外部命令pygments
  2. 编译速度慢

文档代码风格

整个文档应统一代码风格,具体风格暂定如下,如有异议,欢迎指出:

  • 每行不超过72字符(特殊情况除外);
  • 物理量及单位:使用siunitx宏来处理数字与单位之间的间隔
  • 双引号不应直接输入,左双引号用两个倒引号代替,右双引号用两个单引号代替
  • 小括号使用中文括号
  • 在遇到选项或参数等,尽量用\texttt,特殊情况下用\verb||
  • \ref\verb\nameref等在前后有中文的情况下,应该各加一个空格,例如中文 \ref{xxx} 中文

如何处理SAC软件的BUG

SAC软件目前还有大量bug,尤其是某些不太常用的命令。这些BUG该如何处理?

  1. 是否要将BUG写到文档中?
  2. 以何种方式写到文档中?
  3. 若新版本SAC中已经修复了此BUG,文档中是要删除此BUG的描述?还是保留BUG并注明哪些版本有BUG?

怎么处理一个很长久的改善任务

翻译readcss命令,需要英翻汉,然后还需要用数据试一试,中间还有一些解决不了的问题。
1这些都不可能一时解决,需要一个较长的时间,但是我又希望其他贡献者能看到我工作的进度,提出一些建议、指导和纠正。
2我可能遇到一些解决不了的问题,比如翻译时遇到的语言问题,我希望其他参与者能协助解决
我不知道这两点该怎么操作

未整理的命令

下面列出手册中未整理的命令,其中有些命令很少用到,有些命令无法正常工作。有兴趣的可以测试下面的命令,翻译整理并提交PR:

  • 3c
  • commit, recalltrace, rollback
  • depmec
  • plotctable
  • mat
  • readcss (由 @peterpanwl 负责)
  • readdb
  • readgse
  • readsuds
  • writecss (由 @peterpanwl 负责)
  • writegse
  • writesdd
  • pickauthor
  • pickphase
  • pickprefs

处理小修改地方式

我建议,固定地把小修改和编译错修改放到fix分支。

. 所有人做了新的小修改或者编译错修改后就尝试pr到seisman的fix分支在fix分支里。

. 如果seisman没有fix分支则发issue请求建立fix分支。

. 发现编译错,修改后,seisman把fix分支merge到master,并且删除fix分支。

. fix分支在做的任何commit,需要最终表示在master历史中的用中文/英文说明,不需要的就叫fix

提議把手冊轉換成gitbook

在gitbook上內文可放github

在gitbook同時可以使用網頁、pdf、epub格式發布手冊

在每頁面底下也可以讓網頁留言討論(我有看過但不普遍)

gitbook中文說明
https://www.gitbook.com/book/wastemobile/gitbook-chinese/details

缺點是從 tex 轉換成網頁Markdown
可能需要人工慢慢來
(網路上有現成 latex to Markdown工具,但不確定轉換效果)

等我畢業時候或許我可以來幫忙
不知道各位覺得如何?

sac 環境參數設定可以添加官方建議的方式

本文手冊上使用以下設定環境參數(舉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手冊!

增加datagen示例

SAC> datagen sub local *
SAC> w delete /opt/sac/
SAC> w delete /opt/sac/aux/datagen/local/

更新对SAC/BRIS的说明

抱歉本來要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}。

master分支有编译错

(./appendix/data-fetch/data-source.tex) (./appendix/data-fetch/iris-tools.tex
[337] [338]
! Missing $ inserted.
<inserted text> 
                $
l.128     \item 可生成 \texttt{BREQ_FAST}
                                             格式的文件
? 

检查了这个文件,找不出错

load命令的具体用法

理论上,可以自己写一套函数库,然后通过load命令载入到SAC中,以此来扩展SAC命令的功能。
实际上,这部分代码可能很多年没有整理过,因而不确定是否还能使用。

相关文档:aux/help/external_howto aux/help/external_interface

plotpk的若干问题

  1. BELL ON|OFF选项是否可用?
  2. REFERENCE ON|OFF|v选项是否可用?
  3. RELATIVE|ABSOLUTE的解释有误?
  4. SAVELOCS选项是否有效?
  5. MARKALL的有效性?

该介绍ppk p 3 r m还是a m

1多个数据一起标定的时候,写入t1的是鼠标在的那个数据的参考时间,如果有数据的参考时刻和这个数据的不一样,就会出错

2初学者没有改参考时间为一致,数据又有间断,那么在多个数据标定时可能波形对齐不是用户想象的那样

3多数人比如我不会第一次看就看命令的详细解释,我们是否需要考虑在数据处理介绍的时候把ppk p 3 r m换乘a m然后提示参考时刻要一样,否则时间就不对?

人称问题

手册中“我”的问题,我觉得可以用第三人称,比如:
本手册一直由我一人维护并持续更新。鉴于个人精力有限,因而希望有志愿者参与到这个开源项目中,一起维护并完善该手册
改为:
本手册一直由seisman一人维护并持续更新。seisman精力有限,希望有志愿者参与到这个开源项目中,一起维护并完善该手册

SAC手册网页版任务列表

用pandoc将latex源码转换成了markdown源码,但还存在很多问题,因而需要人工一一检查并修正。

markdown源码位于 gitbook 分支,网页版地址为:https://seisman.github.io/SAC_Docs_zh/


以下是所有需要检查的markdown文件。请通过 @ 自己来认领某一任务,待文件检查完毕后记得来这里打钩。


自动转换得到的markdown源码已知会存在如下问题:

  1. 图片的路径不对,正确的使用方式是 ![图标题](/figures/xxxx.png)
  2. 大部分的表格转换都有问题,需要重新做
  3. markdown只支持有序列表和无序列表,不支持定义列表,因而所有定义列表都需要修改。在每个命令的语法说明中,介绍选项时都使用的是定义列表,因而选项要如何介绍还需要讨论
  4. 命令的语法介绍部分转换存在问题,需要手动修改
  5. 网页版的脚注感觉很丑,考虑是否要去掉所有的脚注
  6. 数学公式存在问题。gitbook 是支持数学公式的,目前尚不确定为何不支持
  7. C、Perl等代码没有被包含进去 (解决办法见 sacio/sacio-in-c.md)

文档风格:

  1. 从文件中插入代码: [include](filename.c)
  2. 插入图片: ![标题](/figures/filename.png)
  3. 插入数学公式:
    1. 行内公式: 文字 $$x^2+y^2=x^2$$ 文字

    2. 行间公式

      文字
      $$x^2+y^2=z^2$$
      文字
      
  4. 链接到某一章: [地震数据处理](/data-process) 会链接到地震数据处理一章
  5. 链接到某一节/某个文件:[write](/commands/write.md) 会直接链接到 write 命令
  6. SAC很多命令和选项都有简写形式,在原先的PDF中,是通过将某些字母变成灰色来表示简写形式。在markdown中不可能做到,因而需要用其他方式来表示简写形式。目前采取的方式是将命令的语法写两遍,第一遍写完整版,第二遍写简写版,可以参考 commands/taper.md 的写法
  7. SAC中在介绍选项时使用的是定义列表,即 description 环境,而markdown 不支持,故而只能将其转换为无序列表,可以参考 commands/taper.md 的写法

  • SUMMARY.md
  • README.md
  • contributor.md
  • frontmatterIII.md
  • version.md
  • ChangeLog.md @seisman



  • fileformat/README.md add readme @likueimo
  • fileformat/header-variables.md
  • fileformat/binary-and-alphanumeric.md
  • fileformat/header-structure.md
  • fileformat/intro-to-fileformat.md @likueimo
  • fileformat/sac-time.md

  • data-process/README.md add readme @likueimo
  • data-process/intro-to-process.md @likueimo
  • 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 @likueimo
  • graphics/begin-devices.md
  • graphics/format-conversion.md
  • graphics/save-image.md
  • graphics/graphic-devices.md @seisman
  • graphics/composite-plots.md
  • graphics/plot-appearance.md
  • graphics/plot-commands.md
  • graphics/plot-contour.md

  • macros/README.md @seisman
  • macros/blackboard-variables.md
  • macros/inline-functions.md
  • macros/macros.md
  • macros/header-variables.md
  • macros/intro-to-sac-programming.md @seisman

  • call-in-script/README.md @seisman
  • call-in-script/call-sac-in-python.md @seisman
  • call-in-script/call-sac-in-bash.md @seisman
  • call-in-script/intro-to-scripts.md @seisman
  • call-in-script/call-sac-in-perl.md @seisman

  • libs/README.md added by @seisman
  • libs/call-libsacio.md
  • libs/intro-to-libs.md
  • libs/call-libsac.md



  • tricks-and-traps/README.md @seisman
  • tricks-and-traps/command-line-length.md @seisman
  • tricks-and-traps/max-allowed-files.md @seisman
  • tricks-and-traps/tab-and-space.md @seisman
  • tricks-and-traps/wh-wover.md @seisman
  • tricks-and-traps/debug.md @seisman
  • tricks-and-traps/init-macro.md @seisman
  • tricks-and-traps/running-speed.md @seisman
  • tricks-and-traps/undefined-header-variables.md @seisman
  • tricks-and-traps/endian.md @seisman
  • tricks-and-traps/read-dir.md @seisman


请参考 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

merge命令

merge似乎并不支持通配符,需要修改相关内容

增加LaTeX命令cmd、opt、arg

目前代码中对命令、选项以及参数使用了大量的 \texttt{}命令。考虑定义 cmd opt arg等命令,这样源码中就将命令、选项和参数区分开来,也方便以后对这几项自定义不同的属性。

更新“修改发震时刻”的Perl和Python脚本

修改一个文件的发震时刻和修改多个文件的发震时刻,在处理上是不一样的。目前的Perl和Python脚本中仅处理了一个SAC数据的发震时刻,需要修改以实现一次处理所有SAC数据的功能。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.