如何使用fortran读取不规则行

2023-12-26

我有一个格式如下的文本文件:

1  2 
3  4  5
6  7    

对于许多行等等。

我运行这个 fortran 程序:

i=1
tt=1
do while(.true.)
  read(unit=1,*,IOSTAT=status) lon(i,tt),lat(i,tt),h(i,tt)
  i=i+1
  if(status/=0)exit
enddo

我想在同一行中分配三个数字lon, lat, h。但是,因为第一行没有第三个元素,所以程序将读取第二行中的第一个元素(即 3 到 h(i,tt)),这不是我想要的。我want将 h(i,tt) 设置为某些行中的缺失值

我怎样才能做到这一点?


对于您的具体示例,您可以尝试这样的操作:

program test

  integer :: status, i, tt
  character(len=100) :: line
  integer :: lon(3, 1), lat(3, 1), h(3, 1)

  lon(:, :) = 0
  lat(:, :) = 0
  h(:, :) = 0

  open(unit=1, file='data.txt')
  i=1
  tt=1
  do

     read(1, '(A100)', iostat=status) line
     if(status/=0) exit

     read(line, *, iostat=status) lon(i, tt), lat(i, tt), h(i, tt)

     if(status/=0) then
        read(line, *) lon(i, tt), lat(i, tt)
        h(i, tt) = 1  ! default value
     end if

     i = i + 1

  end do

  print *, 'lon=', lon
  print *, 'lat=', lat
  print *, 'h=', h

end program test

返回

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

如何使用fortran读取不规则行 的相关文章

  • 加载两个包含相同符号的本机库时出现内存问题

    我正在尝试使用 JNA 同时操作本机 非线程安全的 Fortran 库 由于该库不是线程安全的 我尝试实例化同一库的不同副本 但显然它们似乎共享内存地址 如果我修改一个库中的一个变量 则另一个库中的变量也会被修改 这种行为使得它们不可能在单
  • 具有重载赋值的嵌套派生类型

    我有一个派生类型 wrapper 包含其他派生类型 over 对于后者 赋值运算符已被重载 由于派生类型的分配按默认组件方式发生 因此我希望分配两个实例wrapper将调用重载分配over在某一点 然而 使用下面的程序 情况似乎并非如此 仅
  • 在 Fortran 中写入现有文件而不覆盖

    我有一个由 Fortran 程序编写的现有文件 已格式化 我想在文件开头添加几行 我们的想法是在不复制原始文件的情况下完成此操作 我可以在文件末尾添加一行 open 21 file myfile dat status old action
  • Fortran 接受来自 C 的字符串(?)

    我觉得这应该是一个简单的问题 但我无法让它发挥作用 我有一些 Fortran 代码 需要如下输入 SUBROUTINE TRACE X Y NAME XX YY EXTERNAL NAME CALL NAME X Y XX YY 我正在尝试
  • 将标量和数组(任意维度)从 Fortran 传递到 C

    我有以下名为的 Fortran 子例程show value调用一个名为的 C 函数show value INTERFACE SUBROUTINE show value variable BIND C name show value USE
  • 为什么在 Fortran 中使用命令 PRINT 会覆盖输入文件?

    我正在编写代码并使用 Fortran 中的输入和输出功能 代码看起来像这样 仅用于简化 PROGRAM TEST REAL DIMENSION 1000 A REAL B INTEGER T Defining input and outpu
  • 使用 MPI 派生数据类型

    我正在学习 Fortran 中的 BCASTing 数据类型 并且有一个代码可以从终端获取两个值并将它们显示在每个进程上 对于整数 整数和整数 实数类型的组合 value1 value2 这是有效的 但是对于整数 实数 8 的组合 它会失败
  • 在 Fortran 语言中 advance='no' 是什么意思?

    我是 Fortran 新手 我不明白这一行 write a35 advance no in program democonvertion implicit none real tc tf tr tk write a35 advance no
  • 循环变量文件名[重复]

    这个问题在这里已经有答案了 我正在使用 Fortran 对分成许多文件的庞大数据集进行计算 文件的名称是 maltoLyo12per reimage set1 traj maltoLyo12per reimage set2 traj mal
  • 提高由整数商定义的变量的精度

    假设我有以下程序 program derp implicit none integer parameter ikind selected real kind 18 real kind ikind a 2 0 3 0 print a end
  • 使用 Visual Studio 2013 和 Intel Fortran 编译混合 C++/C 代码

    我正在尝试编译一个简单的 C Fortran 混合程序 但存在链接问题 我使用的是Visual Studio 2013 Ultimate和Intel Visual Fortran Compiler XE 14 该程序非常简单 是从网上的某个
  • 将 C 字符串数组传递给 Fortran (iso_c_binding)

    如何传递 C 字符串数组 char cstrings 到 Fortran 子程序 问题使用 iso c binding 的 fortran C 桥接器中的字符串数组 https stackoverflow com questions 968
  • Dependency Walker 未显示所有依赖的 Dll

    我有一个 fortran dll 我想知道它所依赖的程序集再分配目的 http software intel com en us forums showthread php t 73161 我发现的一件事是依赖项步行器没有显示所有依赖项 即
  • 如何用好Fortran语句标签?

    我正在开发一个用 Fortran 95 编写的模型 我对此完全陌生 语句标签的概念似乎很奇怪 到目前为止我只找到了标签可以由作者任意决定的解释 通常以 10 为增量 除了更容易地找出语句的结尾位置之外 这些标签还有其他实际用途吗 以及关于如
  • Fortran 函数:指针作为实际参数,目标作为形式

    我正在尝试破译 Fortran 代码 它将指向函数的指针作为实际参数传递 而形式参数则是目标 它在主程序中定义并分配一个 globalDATA 类型的指针 然后调用一个传递该指针的函数 module dataGLOBAL type glob
  • fortran中双引号和单引号的区别?

    我刚刚开始使用 Fortran 对双引号和单引号的使用感到困惑 它们是等价的 它们的用法没有区别 您可以使用它来打印引号字符之一 print print 首先打印 进而 注意 您还可以在一行中使用两个引号字符来打印一个 print prin
  • 如何调用模块中子程序内部的函数?

    我有一个包含子例程的模块 该子例程又包含一个函数 我说use themodule在我的主程序中 我可以call thesubroutine 但是如何访问子例程中包含的函数呢 代码如下所示 module useful integer para
  • 最佳 Fortran IDE [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 stackoverflow上有人用Fortran吗 您使用什么 IDE 您认为哪一个是最好的 似乎我周围的很多人都对 Intel Visu
  • Fortran 中的数组第一个索引

    我认为 Fortran 中数组的第一个索引是 1 但是为什么这段代码可以工作呢 代码是 Wavewatch 的修改部分 http polar ncep noaa gov waves wavewatch http polar ncep noa
  • 指定 gfortran 应该在其中查找模块的目录

    我目前基于模块来编译程序 例如主程序foo这取决于模块bar 如下 gfortran c bar f90 gfortran o foo exe foo f90 bar o 当foo f90 and bar f90位于同一目录中 如何指定 g

随机推荐

  • OpenCL:SIMT执行模型的基本问题

    SIMT 架构的一些概念和设计我仍然不清楚 根据我所看到和阅读的内容 不同的代码路径和 if 一起是一个相当糟糕的主意 因为许多线程可能会同步执行 那么这究竟意味着什么呢 怎么样 kernel void foo int flag if fl
  • 如何逐行读取文本区域 HTML 标记

    我有一个文本区域 其中每行都包含整数值 如下所示 1234 4321 123445 我想检查用户是否确实输入了有效值 而不是一些有趣的值 如下所示 1234 987l 为此 我需要逐行读取文本区域并验证它 如何使用 javascript 逐
  • Flutter Android 警报管理器不工作

    我已经安装了Android 闹钟管理器 https pub dartlang org packages android alarm manager按照链接中的说明将插件添加到我的 Flutter v1 0 0 应用程序中 但是当我尝试使用A
  • 无法在ubuntu v-20.04.1中安装nodejs

    我正在尝试使用此命令安装 nodejs 版本 14 15 4 apt install nodejs 14 15 4 但我收到这个错误 E 找不到 nodejs 的版本 14 15 4 我在这个命令中犯了什么错误 或者有什么更好的安装方法吗
  • 如何修复 Angular 6 中文件上传时出现的 415 不支持的媒体类型

    我负责 Net Core Web Api 和 Angular 应用程序 我创建了一个控制器 它将图像链接到数据库中的项目 HttpPut Action id public async Task
  • 如何对UDP协议进行拥塞控制?

    我有一个自定义的 UDP 协议 具有多个发送器 接收器 旨在尽可能快地发送大文件 它是基于客户端 服务器的 如何检测 LAN 上的拥塞情况以降低 UDP 数据包的发送速率 编辑 请不要评论UDP的使用是否合适 该协议使用 UDP 但在数据包
  • Java 中的 DI 没有注释?

    有没有什么方法 现有框架 可以在 Java 中配置 DI 而不必向 不属于 的类添加注释 在我的研究中 看起来要完成构造函数注入 我们需要向构造函数添加一些注释 如下所示 Inject or Autowired for Spring Boo
  • 无法对“XMLHttpRequest”执行“发送”

    我正在开发一个使用ajax 的Cordova 应用程序 我的问题是 在调试中 应用程序正在运行 但是当我构建一个版本时 我收到了错误 readyState 0 status 0 statusText NetworkError Failed
  • 如何使 type="number" 只为正数

    目前我有以下代码
  • 在 TeamCity 构建步骤中获取构建作业 URL

    我有一个 Microsoft Teams Webhook 当 TeamCity 构建失败时它会提醒我 我想知道如何获取当前 TeamCity 版本的 URL 以便可以将此信息传递到我的 webhook 仅使用手头的参数 您就可以将 uri
  • 如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?

    我正在调整一个网站 以便员工更轻松地编辑产品 现在 必须有人登录数据库并更改价格 然后必须有人更改网站本身的物理 html 因此 我正在编写代码 从数据库中提取所有产品 并将它们显示在可以编辑的页面上 我认为用 Ajax 来做所有事情都是最
  • 阻止 Word 2010 保存 o:gfxdata base64 或 uuencoded VML?

    我正在处理包含多个绘图画布的 docx 文件 其中插入了图像以及在 Word 2010 中绘制的一些线条和箭头 我使用的是没有兼容模式的 2010 格式 Word 插入一个o gfxdata属性到每个v shape and v group元
  • ORA-01400: 无法将 null 插入 (TABLE.COLUMN)(休眠)

    我正在使用 hibernate 4 3 oracle 11 当我想插入一个员工时 它与类别有一对多的关系 一个类别有很多员工 首先我将一个类别插入数据库 然后我尝试将一个员工插入数据库并得到一个异常 实体的代码是由hibernate生成的
  • 如何在 PowerShell 中标准化路径?

    我有两条路 fred frog and frag 我可以在 PowerShell 中将它们连接在一起 如下所示 join path fred frog frag 这给了我这个 fred frog frag 但我不想要这样 我想要一个没有双点
  • Android - 具有多个底部导航菜单的导航组件

    我有一个 Android 应用程序 Java 它使用导航组件来设置底部导航 该应用程序由一个活动 主 组成 其他所有内容都以片段形式加载 这个想法是让启动屏幕启动并检查用户是否登录 如果用户登录 则加载主屏幕并且底部导航 之前隐藏 变得可见
  • C# - 编译器错误 - 将 int[] 分配给 object[] 时

    namespace ConsoleApplication1 class Program static void Main string args object obj new object 3 obj 0 new object obj 1
  • 为什么在 c 中嵌入 python 时无法导入“math”库?

    我正在使用 python 2 6 文档中的示例开始尝试在 C 中嵌入一些 python C 代码示例 http docs python org extending embedding html pure embedding不允许我执行以下
  • 设置可选的禁用属性

    我想禁用表单中的所有字段 这些字段在加载页面时具有值 例如在这个 td Html TextBoxFor m gt m PracticeName new style width 100 disabled Model PracticeName
  • Windows 8 上的 WP7 SDK

    是否可以在 Windows 8 Release Preview 上安装 WP7 SDK 我尝试使用标准安装包 http www microsoft com en us download details aspx id 29233但不断收到以
  • 如何使用fortran读取不规则行

    我有一个格式如下的文本文件 1 2 3 4 5 6 7 对于许多行等等 我运行这个 fortran 程序 i 1 tt 1 do while true read unit 1 IOSTAT status lon i tt lat i tt