在 FORTRAN 中创建名称包含实数的目录

2023-12-05

在我的程序中,我需要存储不同情况的结果文件。我决定创建单独的目录来存储这些结果文件。这里用伪代码来解释具体的情况。

do i=1,N     ! N cases of my analysis
    U=SPEED(i)
    call write_files(U)     !Create a new directory for this case and Open files (1 = a.csv, 2 = b.csv) to write data
    call postprocess()      !Write data in files (a.csv, b.csv)
    call close_files()      !Close all files (1,2)
end do

subroutine write_files(i)
    !Make directory i
    !Open file a.csv and b.csv with unit 1 & 2
    !Write header information in file a.csv and b.csv
close subroutine

我正在努力将实际变量 U 转换为字符变量,以便我可以使用call system('mkdir out/' trim(U))创建单独的文件夹来存储我的结果。

我还想提一下,我的变量 U 是速度,就像0.00000, 1.00000, 1.50000有没有办法可以简化我的目录名称,就像0,1,1.5 etc.

希望我的解释很清楚。如果不让我知道,我会尝试按要求进行编辑。

谢谢你的帮助。


的论证system需要是一个字符串。因此你必须施放real到一个字符串并连接mkdir out/用那根绳子。这是一个简单的例子:

module dirs 
contains
  function dirname(number)
    real,intent(in)    :: number
    character(len=6)  :: dirname

    ! Cast the (rounded) number to string using 6 digits and
    ! leading zeros
    write (dirname, '(I6.6)')  nint(number)
    ! This is the same w/o leading zeros  
    !write (dirname, '(I6)')  nint(number)

    ! This is for one digit (no rounding)
    !write (dirname, '(F4.1)')  number
  end function
end module

program dirtest
  use dirs

  call system('mkdir -p out/' // adjustl(trim( dirname(1.) ) ) )
end program

代替call system(...)这是非标准的,您可以使用 Fortran 2008 语句execute_command_line(如果您的编译器支持)。

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

在 FORTRAN 中创建名称包含实数的目录 的相关文章

  • 在 Fortran 中读取行数已知但每行条目数未知的数据文件

    如何读取包含已知行数但每行中的条目数未知的数据文件 例如如果我的数据文件包含类似的内容 1 3 4 5 6 7 8 9 1 3 5 6 4 5 6 7 8 3 5 6 7 8 4 5 7 8 即三行 但每行中的数据未知 有一次我需要来自一行
  • 使用 Fortran (CLFORTRAN) 在 OpenCL 中将两个选项作为参数传递

    当我的主机程序采用 C 语言时 我可以传递两个选项作为 OpenCL 函数的参数 例如 我可以通过两个 标志到clCreateBuffer像这样的函数 clCreateBuffer context CL MEM READ ONLY CL M
  • OpenMP 因大型数组而崩溃

    我正在使用 Fortran 和 OpenMP 但当我尝试在存在大型数组时使用 OpenMP 并行化循环时 我不断遇到问题 例如 以下代码 PROGRAM main IMPLICIT NONE INTEGER PARAMETER NUMLOO
  • 将 C 字符串数组传递给 Fortran (iso_c_binding)

    如何传递 C 字符串数组 char cstrings 到 Fortran 子程序 问题使用 iso c binding 的 fortran C 桥接器中的字符串数组 https stackoverflow com questions 968
  • Fortran90 数组将空白值读取为 null

    我正在读取外部文本文件的数据 30 行 7 列 每行用 分隔 我缺少表示为 的值 当我将数据读入二维数组时 缺失值被 0 00 替换 但数据中也有 0 00 值 当我计算平均值时 计数 项目数 n 显示为计数 缺失值的数量 我如何动态选择缺
  • 时间数组在建模中超出范围?

    这些天我正在尝试使用新的气象数据 以 netcdf 格式而不是旧的 cray 格式给出 运行我的气候模型 模型编译顺利 但是当进行模拟时 模型在第一天运行良好 但在模拟的第二天就停止了 总是在同一时间步长 无论我使用哪个开始日期 错误是 f
  • 编译错误:无法打开模块文件

    我有这个代码 PROGRAM xfit driver for routine fit USE nrtype USE nrutil USE nr USE ran state ONLY ran seed IMPLICIT NONE INTEGE
  • 如何包装 fortran write 语句

    我想包装 fortran写语句 http software intel com sites products documentation doclib stdxe 2013 composerxe compiler fortran lin 在
  • 如何调用模块中子程序内部的函数?

    我有一个包含子例程的模块 该子例程又包含一个函数 我说use themodule在我的主程序中 我可以call thesubroutine 但是如何访问子例程中包含的函数呢 代码如下所示 module useful integer para
  • 如何将mortran代码转换为fortran代码

    我有一些 Mortran 代码 来自 glmnet 我想阅读和编译 我知道在编译时 Mortran首先转换为Fortran 然后编译 如果有预处理器的话 如何安装 Mortran 预处理器 特别是 OS X 上的 Mortran3 我在以下
  • f951 错误:无法识别的命令行选项

    我在linux上 正在编译以下内容 mpif90 shared source F90 object1 o object2 o L some path Qoption link rpath some path I some path lhdf
  • 指针的 Fortran 副本

    我有一个包含指针 p 的 var 类型 我需要将 var 复制到与 var 类型相同的另一个变量 var1 上 通过执行 var1 var 在引号中 因为我不知道这是否是正确的方法 请参见下文 在我的实现中 var 和 var1 被传递给一
  • 在 fortran 子例程中包含 c/c++ 头文件

    我有一个用 C C 编写的库 其开发人员声明该库具有 Fortran 接口 该接口将被启用 包括头文件 h 并调用经典子例程 我想编译我的 Fortran 程序并链接该库 该库已经过测试并且可以工作 这是主程序 Main program I
  • 带有过程参数的通用类型绑定过程

    我正在尝试编写一个通用的类型绑定过程 它将不同的回调函数作为参数 当编译以下代码 使用 ifort 12 1 3 时 我收到以下警告 module test type a type contains procedure t s gt at
  • MPI_Gather 在最基本的代码中给出了 seg 错误

    我正在开发一个更大的程序 但我在 MPI Gather 上遇到了困难 我编写了一个最小的示例代码 请参见下文 program test use MPI integer ierr rank size double precision allo
  • Fortran :: (1) 处 OPEN 语句中存在语法错误

    我试图通过 顽固测试 来测试我的密码算法 http stat fsu edu pub diehard http stat fsu edu pub diehard 我意识到我的输入文件必须是未格式化的直接访问文件 所以我尝试用 Fortran
  • 如何在fortran 90中生成[0,5]范围内的整数随机数?

    我对 Fortran 编程有点陌生 任何人都可以帮我解决问题吗 我在生成整数随机数时遇到问题 在 Fortran 随机数范围 0 5 中使用 random seed 和 rand 为了支持answer https stackoverflow
  • 分发编译后的 fortran 库和模块文件

    我有一个Fortran使用很多模块的库 我用ifortWindows 上的编译器 因此 我得到一个 lib图书馆的文件和 mod所用模块的文件 这有一个缺点 我还必须分发 mod文件 如果我想在另一个程序中使用编译的库 如何防止这种情况发生
  • 在 VSCode Fortran 调试中检查从另一个模块导入的变量

    我正在调试一些包含许多 Fortran 模块的代码 其中一些模块彼此共享变量 不幸的是 带有 VScode 的 gdb 在调试时似乎无法检查导入的变量 目前 当我需要检查导入的变量时 唯一的方法是停止调试 并手动更改代码以包含等于导入变量的
  • 将结构化数据类型从 Fortran 传递到 C++ [重复]

    这个问题在这里已经有答案了 我在 Fortran 中有一个结构化类型 其中包含大量数据 包括指针 real 8 指针数据类型 我正在为某些 Fortran 例程开发 C API 我需要在对 Fortran 例程的调用之间保留该结构的内容 我

随机推荐

  • 在sql server中生成序列

    我正在开发一个函数 该函数将采用一个小数和一个大数作为参数 并返回一个包含其间 并包括 所有内容的表 我知道我可以使用游标并增加一个变量 每次迭代将其添加到基于范围的表中 但如果可能的话 我宁愿避免使用游标 还有其他人有关于执行此操作的方法
  • 如何在js文件中写入php代码

    我的程序是我将页面划分为第一个 div 中的 div 我添加了此代码
  • 宏完成后删除文档

    我有一个 Word 2007 docm 文件 我将其作为电子邮件附件发送给用户 以便他们更新文件 宏从服务器下载文件并正确安装它们 而不是将文件作为电子邮件附件发送并相信用户能够正确安装 我会改用 VBScript 文件 但不允许我通过电子
  • JSF 验证错误,丢失值

    我有一个带有复合键的更新表单 所有复合键都显示在输出框中 因为我为每个复合键都有隐藏字段 验证错误后 这些输出框值为空 我该如何解决这个问题 我在同一页面上 所以它不需要有这些值 这确实是一种非直觉行为h inputHidden 我曾经提交
  • 获取 API 时出错/无法从方法“getHeroes”返回“List”类型的值,因为返回类型为“Future?>”

    我是 Dart Flutter 的新手 正在努力使用 API 这是我的模型文件夹中的文件 List
  • 画布上下文中的 React-chartjs-2 渐变填充错误

    我有一个react chart js2组件 我试图在填充上制作渐变 但是我遇到了一些不同的打字稿错误 并且似乎无法让它工作 该文档表示将 data 属性作为函数传递并引用画布 以便访问画布上下文以添加渐变 不幸的是 这不起作用 这是文件的代
  • SVN Repo 给出 404 not Found

    我已经在 Ubuntu 12 04 上安装了 svn 版本 1 6 17 r1128011 我在这里做了我的回购 sudo mkdir home 2nd disk svn 设置我的 etc apache2 mods enabled dav
  • 寻找一种更Pythonic的方式来访问数据库

    我有很多遵循这种模式的 python 方法 def delete session guid conn get conn cur conn cursor cur execute delete from sessions where guid
  • Facebook 视频上传 OAuthException 200 错误

    我有与此类似的代码 位于 使用 php sdk graph api 将视频上传到 facebook 在我编写的应用程序中 但昨天我开始收到 OAuthException 错误 我寻找了一个简单的视频上传示例到 Facebook 页面进行测试
  • 当我添加新数据时,列表项会发生变化...为什么?

    我有一种方法可以将文件转换为字节 以便稍后可以通过互联网发送它 无论如何 因为我计划发送大文件 所以我发送大块文件而不是发送整个文件 每个块由一个字节数组 byte 组成 我对这一切都很陌生 所以我想在发送之前将每个块保存在块列表 List
  • 如果发生错误,using 语句会回滚数据库事务吗?

    我在 using 语句中有一个 IDbTransaction 但我不确定如果在 using 语句中抛出异常 它是否会回滚 我知道 using 语句将强制调用 Dispose 但是有人知道 Rollback 是否也是如此 Update 另外
  • 如何获取两个日期之间的天数objective-c [重复]

    这个问题在这里已经有答案了 我正在尝试制作一个标签 标明距离活动还剩多少天 我想计算今天的日期和事件日期之间的差异 我正在使用这段代码 它给了我 4600 在我使用今天的日期之前它工作正常 NSDateFormatter f NSDateF
  • 对 Python Dataframe 中的行求和

    我刚刚开始学习 Python 所以如果这个问题已经在其他地方得到了回答 请原谅我 我想创建一个名为 Sum 的新列 它只是将前面的列相加 Risk Parity tail VCIT VCLT PCY RWR IJR XLU EWL Date
  • 如何在 MATLAB 中中止程序执行?

    如何在不退出 MATLAB 的情况下停止 MATLAB 中的程序执行 我正在寻找类似 C 中的 exit 1 的东西 我尝试过退出 退出 但它们也会杀死 MATLAB 这不是我想要的行为 理想情况下 我会使用 try catch 来冒泡错误
  • 我的碰撞检测无法正常工作

    我正在使用 pygame 和 math 模块在 python 中编写游戏 我编写了这些代码来进行碰撞检测 我制作了 5 个障碍物 我希望我的玩家与它们发生碰撞 但问题是在玩游戏的过程中 有时有效 有时无效 这些是我定义的碰撞函数 def c
  • NSDecimalNumber 对长数字进行舍入

    我试图让 NSDecimalNumber 打印出大数字 15 位或更多数字 在 15 位数字中 我看到 111 111 111 111 111 超过 15 位数字时 我看到的是 1 111 111 111 111 110 即使格式化的数字是
  • Angular 2 RC1:从使用的初始 URL 获取参数

    有些用户通过邀请进入我的网络应用程序 所以他们会有一个看起来像这样的链接 https example com invitaion 12345其中 12345 是他们的唯一邀请号码 当用户单击链接时 框架在客户端初始化我的 AppCompon
  • Spring Security oauth2“未找到授权请求”

    我将 Spring Security 5 2 1 配置为与 Google 一起使用 Oauth2 该应用程序在本地运行良好 当部署在 Azure 应用服务上时 每当我尝试 Oauth2 登录流程时 都会出现以下异常 我被转发到 login
  • 包含相同元素的两个数组可以不相等吗?

    今天我遇到了一个令人震惊的问题 我试图查找一个对象是否包含在 List 集合中 问题是 当我已经可以看到该对象时 列表找不到该对象并返回索引为 1 然后我创建了一个自定义索引查找器通过比较属性而不是直接相等来查找对象 我发现对象的属性之一
  • 在 FORTRAN 中创建名称包含实数的目录

    在我的程序中 我需要存储不同情况的结果文件 我决定创建单独的目录来存储这些结果文件 这里用伪代码来解释具体的情况 do i 1 N N cases of my analysis U SPEED i call write files U Cr