Madagascar环境下编程

2023-05-16

【引用】【原创】Madagascar环境下编程

(2013-07-17 04:50:34)
转载
标签:

教育

分类:madagascar
 
本文转载自seismig 《【原创】Madagascar环境下编程》

Madagascar是一款非常优秀的地震处理系统,在很多方面甚至超过了su。利用该处理系统主要包括两方面,一个是如何用Python语言组织处理流程,简洁高效的进行较复杂的地震处理;另一个是如何利用该系统自带的函数库,正确合理的将自己的程序融入该系统中。本文主要介绍第二个方面——如何在madagascar环境下进行编程。

一、编程的基本步骤

1.程序的主体结构

首先程序要按madagascar的架构要求进行编写。其结构可以参考Paul Sava编写的有限差分法正演程序http://www.reproducibility.org/RSF/book/rsf/manual/manual_html/node6.html;

2.程序命名为M*.c的形式,然后从其他的user目录下拷贝一份SConstruct文件,将文件中变量progs的值改写为你的程序名,此时程序名为*.c。

3.在自己的目录下scons进行编译;

4.回到安装目录,运行sconsinstall。则会形成以sf开头的madagascar指令。

二、编程注意的问题

1.sf_error和sf_warning的用法

我们在调试过程中经常需要输出一些变量,来检查程序哪地方出现了问题。当然你肯定会想到用printf函数来做,但是由于运行程序是按指令的形式执行的,printf的输出结果会直接写入你的输出文件,而不会打印到屏幕上。事实上,madagascar内部设计了打印到屏幕的函数,分别是sf_error和sf_warning,sf_error只能输出一次,而sf_warning可以输出多次。用户可以根据自身需要进行选取。

2.程序头文件的生成

程序头文件是根据一定的规范自动生成,因此编写函数时第二行必须按的格式编写,否则无法生成正确的头文件。如果头文件生成错误,参数无法传递,程序运行结果也就无法预料了。

3.文件读写

先定义文件指针sf_file *in,*out;然后对其赋值in=sf_input("in");out=sf_output("out");中间可以从输入文件读入可用参数n1,d1,o1。写文件时,先写入数据的相关信息sf_putint(out,"n1",n1);sf_putfloat(out,"d1",d1);sf_putfloat(out,"o1",o1)...然后再写入数据sf_floatwrite(dat,nd,out);最后关闭文件sf_fileclose(out)。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Madagascar环境下编程 的相关文章

  • C++中的reverse()函数

    实现翻转数组 xff0c 字符串 xff0c 向量 xff01 1翻转数组 span class token comment 头文件 span span class token macro property span class token
  • 联想R7000P进入BIOS快捷键

    F2
  • 机顶盒(Iptv)EPG页面实现视频播放

    目录 1 html部分 xff1a play html 2 引入的 vodplay css 3 引入的js文件 1 html部分 xff1a play html lt DOCTYPE html PUBLIC 34 W3C DTD XHTML
  • 飞机中机体坐标系定义和欧拉角

    飞机机体坐标系为前右下 绕X轴旋转的角度称为滚转角roll xff0c 用符号 phi 表示 xff0c 旋转矩阵 R X
  • Python3二分查找库函数bisect(), bisect_left()和bisect_right()介绍

    前提 xff1a 列表有序 xff01 xff01 xff01 bisect 和bisect right 等同 xff0c 那下面就介绍bisect left 和bisec right 的区别 xff01 用法 xff1a index1 s
  • python db读写实践

    目录 1 读db2 写db 1 读db span class token keyword import span sqlite3 span class token keyword def span span class token func
  • 给定一个整数数组和一个整数target,计算该数组中子数组和等于target的子数组个数

    暴力解法 xff1a span class token keyword int span span class token function subarraySum span span class token punctuation spa
  • linux中终端命令行“删除在光标之前的所有字符“快捷键

    可以使用快捷键 34 Ctrl 43 U 34 xff0c 该快捷键能够删除在光标之前的所有字符 xff0c 包括命令行参数 如果您想要还原这些被删除的字符 xff0c 可以使用快捷键 34 Ctrl 43 Y 34
  • 开发机Python HTTP服务器

    目录下执行下载py文件 xff0c wget http 10 138 59 50 8080 HttpServer py 执行 xff0c nohup python2 HttpServer py 8081 amp 浏览器打开 ip 8081
  • C/C++封装socket通信类

    C C 43 43 封装socket通信类 一 读取 写入数据1 recvn函数2 sendn函数3 TcpRecv函数4 TcpSend函数 二 C的封装方法1 客户端2 服务端 三 C 43 43 的封装方法1 客户端2 服务端 不管是
  • Invalid prop: custom validator check failed for prop “value“

    问题描述 看见这种大片的爆红 xff0c 就两个字 xff1a 头疼 xff01 xff01 xff01 虽然这样的爆红不影响程序运行 xff0c 但是作为一个合格的程序猿 xff0c 我们怎么可以允许这个问题出现呢 x1f60e 问题排查
  • 如何计算UDP/TCP检验和checksum

    一 下面的图是一个UDP的检验和所需要用到的所有信息 xff0c 包括三个部分 xff1a 1 UDP伪首部 2 UDP首部 3 UDP的数据部分 xff08 切记不要遗漏该部分 xff0c 否则就 吐血了 xff09 首先解释下伪首部的概
  • 日常生活小技巧 -- UART (串口)回环测试

    转自https blog csdn net qq 29350001 article details 77335721 新买的USB转串口线 需要测试一下是否是OK的 该如何测试 xff1f 其实很简单 xff0c 就是讲 Tx 和 Rx 短
  • C/C++:头文件与cpp文件的声明/定义

    一 头文件 1 一般来说 xff0c 头文件仅仅用于声明 xff0c 相应的定义要放在对应的cpp文件中 声明的内容一般可以是 xff1a 1 类定义体 xff1b 2 类中的成员方法 xff1b 3 类外的函数 xff1b 4 类外的变量
  • 树莓派简易人脸追踪云台

    前言 xff1a 这篇文章属于此系列 xff1a 一个用树莓派做的会聊天 xff0c 能人脸识别 xff08 支持云台追踪 xff09 和发送邮件的小玩具 https blog csdn net yonglisikao article de
  • Android JNI调用概要

    一 Java调C 编写Native方法 使用javah命令生成 h头文件 复制 h头文件到CPP工程中 复制jni md h和jni h到CPP工程中 实现 h头文件中生成的 生成dll文件 C的函数名称 xff1a Java 包名 方法名
  • curl的请求头与响应头获取

    1 从CURL中获取响应头 oCurl 61 curl init 设置请求头 有时候需要 有时候不用 看请求网址是否有对应的要求 header 61 34 Content type application x www form urlenc
  • C++头文件包含顺序问题

    C 43 43 中类的声明和类的定义分开几乎成了一个不成文的规定 这样做的好处是使得类的声明和实现分开 xff0c 清晰明了 xff0c 同时便于库函数发布 但是在实际编程中由此也常常引起了一些由于头文件的包含顺序问题而产生的符号未定义的编
  • 详解printf重定向到文件中,打印日志的实现

    printf是将信息打印到终端 xff0c 但是有时当我们需要打印的信息比较多时 xff0c 终端无法将所有信息都能够保留在屏幕上 xff0c 这样我们就不能在终端获取我们想要的信息了 xff0c 重定向很好的帮我们解决了这个问题 xff0
  • 计划

    文档计划 读书的时候 2010年左右 由于和导师做了一些涉及单片机的项目 xff0c 狠狠熟悉了一把C语言 xff0c 所以试图写一个实时内核 xff0c 但是由于涉及大量的硬件知识 xff0c 底层汇编和任务栈之类的东西 xff0c 而这

随机推荐

  • CMOS内核--序言

    CMOS内核 序言 本文介绍一些CMOS中需要用的基础知识 由于在单片机系统中不会有MMU所以单片机系统中的每个任务就是一个线程 xff0c 共用系统的地址空间 xff0c 为了精确性 xff0c 后文中措辞中使用线程替换任务 xff0c
  • 欧拉角和旋转矩阵之间的转换

    一 什么是欧拉角 在3D 空间中 xff0c 表示物体的旋转可以由三个欧拉角来表示 xff1a pitch围绕X轴旋转 xff0c 叫俯仰角 yaw围绕Y轴旋转 xff0c 叫偏航角 roll围绕Z轴旋转 xff0c 叫翻滚角 这三个角的顺
  • C++编译之(1)-g++单/多文件/库的编译及C标准的发展历程

    g 43 43 编译入门 本文为您介绍g 43 43 的编译用法 xff1b 通过从最简单的单文件编译 xff0c 到多文件编译 xff0c 再到动态库 静态库的编译及使用 xff1b 例子都经过实际编译并运行 xff0c 可谓全网最良心之
  • STM32F103-寄存器开发-2

    上一篇博客中我已经配置好了对应的时钟 xff0c 接下来就是对GPIOC口进行操作了 为此我们需要配置端口配置寄存器 xff0c 但是在用户手册中查阅 xff0c 可以发现有两个寄存器 xff0c CRL和CRH xff0c 我们应该使用哪
  • 25.UART串口发送过程与配置

    UART串口收发过程与配置 参考资料 STM32Fx中文参考手册 第26章 xff1a 通用同步异步收发器章节 开发板配套教程 STM32Fx开发指南 串口实验章节 笔记基于正点原子官方视频 视频连接https www bilibili c
  • c语言HTTP服务器,超级简易版。

    算是对linux多线程的复习把 xff0c 尝试这用socket写了一个简单的HTTP服务器 xff0c 当访问它的时候它会给你发送一个HTML文件 xff0c 这个HTML文件需要自己写 代码 span class hljs prepro
  • linux POST请求

    linux POST请求 curl https baidu com X POST H key1 value1 H key2 value2 d name test age 23 i 说明 xff1a H header 后接key value对
  • CPPREST处理跨域问题

    本例使用的代码框架非常简单 按照下面这个路径搭建即可 https blog csdn net youyicc article details 108261287 问题由来 网页端需要动态检测C 服务器这边服务是否正常运行 所以采用的方式是h
  • 内存存取区——堆和栈

    一 预备知识 程序的内存分配 一个由c C 43 43 编译的程序占用的内存分为以下几个部分 1 栈区 xff08 stack xff09 由编译器自动分配释放 xff0c 存放函数的参数值 xff0c 局部变量的值等 其操作方式类似于数据
  • ROS中RVIZ坐标系及TF坐标系转换

    RVIZ坐标系 X轴 红色 Y轴 绿色 Z轴 蓝色 YAW 偏航角 绕Z轴旋转 PITCH 俯仰角 绕Y轴旋转 ROLL 滚转角 绕X轴旋转 符合右手坐标系原则 利用TF进行坐标系转换 采用以下指令进行转换 xff0c 其中frame id
  • 【C语言】长度为0的数组

    最近在看代码的时候发现一个好玩的事情 xff0c 长度为0的数组 xff0c 在此记录一下 在网上看到的这个说是只有GNU C才支持的特性 xff0c 因此考虑跨平台或者可移植特点需要慎用 话不多说 xff0c 上案例才有感觉 span c
  • jetson xavier nx使用usb线刷机后开机黑屏闪屏

    情况一 比较常见 xff09 由于刷机是的flash接口是调在右边的 xff0c 如下图所示 解决方法 xff1a 故在刷机成功后 xff0c 连接显示屏后要将flash接口调到 左侧 情况二 在对jetson xavier nxs进行刷机
  • python牛客网输入输出处理

    python 笔试输入 sys stdin readline和input 非常有用 xff01 xff01 xff09 https www jianshu com p 6f14ca3290ee input vs sys stdin read
  • Demo-简单使用libcurl静态库访问网址

    在开始前请先准备好下面的文件 xff1a 1 调试版的libcurl静态库libcurld lib xff0c 可以在网上下载或自己编译 xff1b 2 头文件 xff0c curl h curlver h easy h mprintf h
  • QQ 浏览器(iOS版)崩溃信息研究

    今天碰巧下载了QQ浏览器iOS版本 xff0c 居然一启动就挂了 后来从手机里面把崩溃信息导出来 xff0c 仔细研究下 xff0c 把研究的结果放到网上 xff0c 与大家分享下 先把我导出的崩溃信息放出来 Incident Identi
  • EXCEL利用VBA自由控制图表绘图区大小

    用好VBA的话确实可以给你再办公室的工作效率带来质的提升 如果有人跟你说你可以用Python什么的语言处理Excel balabala的 xff0c 你可以无视他了 当然python可以处理很多事情 xff0c 但是EXCEL自带的作图工具
  • 提升CUDA程序运行效率的几个关键点

    目录 1 明确计算机中GPU卡片的计算资源 xff0c 决定变量的性质 xff08 constant xff0c share还是global xff09 以及Grid xff0c Block的维度 xff0c 充分并合理利用GPU显卡的资源
  • CUDA程序编写具体参数设置

    介绍了GPU的结构以及资源的控制要素 xff08 GPU硬件结构和程序具体参数设置 yu132563的专栏 CSDN博客 xff09 以及编程过程中的一些需要注意的问题 xff08 CUDA程序性能调优 yu132563的专栏 CSDN博客
  • CUDA Stream流并发性

    目录 1 CUDA 中的异步命令 2 默认流 3 Multistream多流示例 异构计算是指高效地使用系统中的所有处理器 xff0c 包括 CPU 和 GPU 为此 xff0c 应用程序必须在多个处理器上并发执行函数 CUDA 应用程序通
  • Madagascar环境下编程

    引用 原创 Madagascar环境下编程 2013 07 17 04 50 34 转载 标签 xff1a 教育 分类 xff1a madagascar 本文转载自seismig 原创 Madagascar环境下编程 Madagascar是