返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

mgd77manage

发布于 2023-08-10 21:46:56 字数 7885 浏览 0 评论 0 收藏 0

这里首先介绍 mgd77 整个包:

mgd77 模块

本模块主要用来管理和处理美国 NGDC (National Geophysical Data Center,现为 National Centers for Environmental Information,NCEI) 机构下的海洋地球物理数据。在不同的时期,针对上述数据,NCEI 开发了多种数据格式,MGD77 格式为 1977 年针对沿测线重力,磁,测深以及地震等观测开发的格式,目前已经成为国际数据交换的标准,并在某个版本中加入了制表符分隔的 MGD77T 格式。目前 mgd77 主要包括下面 9 个命令:

  • 官方文档

    mgd77manage

    简介

    管理 MGD77+ 文件

    mgd77manage 用来处理在 MGD77+ NetCDF 文件中的自定义列。用户可以删除列,增加列,更新已经存在的列,或使用 e77 文件进行误差改正。新数据可以来自 ASCII 表文件,或基于现有的列和理论表达式,或对网格进行沿轨采样得到。新数据将以自定义数据列的形式追加到 MGD77+ 文件中具体见

    gmt mgd77manage GEODAS-ids [

    NGDC-ids

    可以是 5 种说明符种的一种或者几种:

    1. 8 个字符的 GEODAS ID,例如:01010083,JA010010

    2. 2 个字符的机构 ID,将会返回所有该机构的测线

    3. 4 个字符代码,返回对应机构和测量船的测线,机构和测量船的代码见 mgd77info -L

    4. =listlist 文件中包含 GEODAS ID 列表,每行一个记录

    5. 什么都不指定,返回所有的测线

    如果不指定文件扩展名,则搜索下面 4 个扩展名。搜素顺序为:

    • MGD77+ (“.nc”)

    • MGD77T (“.m77t”)

    • MGD77 (“.mgd77”)

    • 普通文本文件 (“.dat”)

    使用 -I 选项可以略过其中的某种或几种格式。

    搜索文件时首先在当前目录查找,如果未设置 $MGD77_HOME, 则在默认的 $GMT_SHAREDIR/mgd77 目录查找,如果设置了 $MGD77_HOME,则在其下的 $MGD77_HOME/mgd77_paths.txt 文件中保存的路径中查找。

    可选选项

    -Aa|c|d|D|e|E|g|i|n|t|Tfileinfo[+f]

    添加新的数据列。如果文件中已经存在相同名称的列,则无法添加。+f 选项可以强制覆盖,但是在某些情况下,这种强行覆盖会失败,需要先删除对应的列,然后再添加,出现这种情况时,会警告提示。新增的列时可以使用如下代码,其含义如下:

    • a 追加包含要添加的列的文件名。文件的行数必须与 MGD77+ 文件中相同。如果不指定文件名,则从标准输入中读取。

    • c 从现有的数据或者公式创建新列,用于改正或者作为参考场。其后可以再接一个字符,字符的含义如下:

      • c 从未改正的测深中减去 Carter 改正

      • g IGF 重力参考场(也称为“正常重力”);使用头部信息中的代码确定计算的公式,如果未设置或者无效,则默认使用 IGF1980;代码含义如下:

        • 1 Heiskanen 1924

        • 2 International 1930

        • 3 IGF1967

        • 4 IGF1980

      • m IGRF 总磁场参考场

      • r 重新计算的磁异常 rmag = mtfx - IGRF,追加 1 或者 2 表示使用的字段

    • d 指定一个包含两列数据的文件名,第一列为沿轨距离,第二列为数值。如果不指定文件,则从标准输入中读取。MGD77+ 文件中有对应的距离则将被新值取代,在其他距离,设置为 NaN。 使用 -N 设置距离单位,通过 -j 选择距离计算方式。

    • Dd 功能类似,但在没有给定距离的点,内插得到其更新值

    • e 从当前路径或者 $MGD77_HOME/E77 路径中寻找 mgd77sniffer 生成的 GEODAS_ID.e77 E77 日志,使用该日志检查数据并修改头部信息,为某些系统误差提供改正项(例如缩放尺度和偏移量),指定某个异常应用观测值中重新计算(例如:从 mtf1 和 最新的 IGRF 计算 mag ),并增加或者更新特殊的列标记 flag 。所有的固定修改项(例如:由于源机构使用了错误的单位,需要对字段进行缩放)将作为属性写入到 NetCDF MGD77+ 文件中,并在 mgd77list 读取数据时自动应用该缩放值。通过交叉分析确定的临时的校正不保存在数据文件中,而是保存在改正表中(见 mgd77list )。默认情况下,e77 文件中每个头段行的第一个字符(?, Y,N)用来表示是否应该应用响应的改正,其中只有 Y 会被改正。对 -Ae 进一步使用子选项可以修改这种行为,h 忽略所有的头段信息提供的改正,f 忽略所有固定固定校正值,n , vs 将忽略与导航,数据值以及其变化率的标志。使用 -Ae+f 将使用新的值替换文件中任何现有的 E77 改正。最后,如果 E77 文件没有被验证,则其改正值将不会被应用。使用 -AE 来忽略验证状态。

    • g 沿着 MGD77+ 文件给出的轨迹,使用双三次插值对 GMT 地理网格进行插值,后面追加 GMT 网格文件名。

    • i 沿 MGD77+ 文件轨迹使用双三次插值内插 Sandwell/Smith 墨卡托 *.img 网格。追加 img 网格文件名,一个缩放尺度(通常为 1 或者 0.1),img 文件格式(0-3)以及一个可选的网格最大纬度[80.738],用逗号分隔。文件格式模式中:

      • 0 代表 img 文件没有约束代码,返回所有数据

      • 1 代表 img 文件有约束代码,返回所有数据

      • 2 代表 img 文件有约束代码,返回只在约束点的数据,其他地方为 NaN

      • 3 代表 img 文件有约束代码,在约束点返回 1,其他地方为 0

    • n 追加一个两列表文件名第一列为记录编号,从 0 开始,第二列为数据值,如果不指定文件,则从标准输入中读取。使用对应的数据替换 MGD77+ 中的数据,其他数据则设置为 NaN

    • t 追加一个两列表文件名,第一列为绝对时间,第二列为数据值,如果不指定文件,则从标准输入中读取。MGD77+ 文件中时间与数据中相对应的会被替换,其他数据设置为 NaN。使用大写的 T 选项,将会进行内插。

    -Dabbrev1,abbrev2,…)

    给定一个逗号分隔的行缩写列表,从 MGD77+ 文件中删除这些数据。如果要替换数据则不应该使用该选项,而是使用 -A…+f 。由于不能从 NetCDF 文件中删除变量,所以必须创建一个新的文件,其中不包含被剔除的列。一旦文件被创建,则临时删除旧文件,将新文件命名为旧文件,然后移除旧文件。

    -Eempty

    指定单独的字符用来替换空字符串值,例如:“9” 将会把空字符串替换为 “999….”,默认为 9。

    -F

    强制模式。当激活该模式时,可以强制删除或者替换标准的 MGD77 文件中列。用户需要慎重。

    -Iabbrev/name/unit/c/scale/offset/comment

    除了文件信息,还可以为新增的列指定属性等信息。可指定所选数据的缩写(16 个字符或者更小,仅使用小写字母、数字或下划线),详细描述名声、单位、数据类型(上述以 c 为例,下面会介绍各种数据类型缩写),缩放参数 scale 以及 offset,以及其他说明(小于 128 字符)。

    数据类型可选项包括:

    • c 字符

    • b Byte 类型

    • s short 整数类型

    • f float 浮点数类型

    • i int 整数类型

    • d double 浮点数类型

    • t text 文本类型

    如果选择了文本数据类型,则

    GMT支持多种不同的距离单位,以及三种不同的球面距离计算方式。详情见 单位-j 选项

    示例

    在 Geosat/ERS-1 得到的 11.2 版本的海洋重力场中内插 01010047.nc 和 01010008.nc ,将内插结果写到文件中,类型为 2-byte 短整形,单位为 mGal * 10

    gmt mgd77manage 01010047 01010008 -Ai10/1/grav.11.2.img \
        -Isatgrav/"Geosat/ERS-1 gravity"/"mGal"/s/10/0/"Sandwell/Smith version 11.2" -V
    

    使用一个滤波后的磁观测数据添加到 01010047.nc 作为新的列,类型为 float,在对应的时间内插该磁观测数据

    gmt mgd77manage 01010047 -ATmymag.tm -Ifiltmag/"Intermediate-wavelength \
        magnetic residuals"/"nTesla"/f/1/0/"Useful for looking for isochrons" -V
    

    从所有的 MGD77+ 文件中删除 satfaa、coastdist 以及 satvgg 列

    gmt mgd77manage =allmgd77.lis -Dsatfaa,coastdist,satvgg -V
    

    从所有的 MGD77+ 文件中创建 IGRF 字段,4 字节浮点数类型

    gmt mgd77manage =allmgd77.lis -Acm -Iigrf/"IGRF reference \
        field"/"nTesla"/f/1/0/"IGRF version 10 for 1990-2010" -V
    

    Credits

    IGRF 基于英国地质调查局的 Susan Macmilan 编写的 Fortran 程序,由 Algrave 大学的 Joaquim 通过 f2c 转换到 C 语言,最终 Paul Wessel 改成 GMT 风格。

    参考

    MDG77 格式见 http://www.ngdc.noaa.gov/mgg/dat/geodas/docs/mgd77.txt.

    IGRF 见 https://www.ngdc.noaa.gov/IAGA/vmod/igrf.html

    相关模块

    mgd77convert, mgd77header, mgd77list, mgd77magref mgd77info, mgd77track, mgd77sniffer, mgd77track

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文