【问题标题】:Error while using NetCDF: Invalid dimension ID or name使用 NetCDF 时出错:维度 ID 或名称无效
【发布时间】:2015-03-03 22:31:42
【问题描述】:

我已经安装了 NetCDF 4.3.2 和 NetCDF-Fortran 4.2。我想运行 Community Earth System Model 4.2。

当我创建一个案例、构建一个案例然后运行一个案例时,我收到以下错误:

NetCDF: Invalid dimension ID or name *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011971760 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000012a3c5d0 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011870e20 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011870e20 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011971760 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x00000000129369d0 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x00000000129369d0 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000012a3c5d0 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000012ca7090 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011a16890 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x000000001101a390 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011e02f90 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x00000000123df2b0 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x00000000128e7d30 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000012390540 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011db9ad0 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000012ca7090 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: corrupted double-linked list: 0x0000000012542e90 *** *** glibc detected *** /home/nitin/CESM/NEW_CASES/CaseX/exeroot/cesm.exe: malloc(): memory corruption: 0x0000000011e5dbb0 ***

NetCDF 安装到底出了什么问题?

【问题讨论】:

    标签: memory memory-management malloc glibc netcdf


    【解决方案1】:

    首先,不要使用 CESM 来测试您的 netcdf 安装。使用“检查”。

    然后,您提供的回溯非常清楚:您正在将垃圾传递给您的 netcdf 例程之一:可能传递了堆栈分配的变量?缺少命令行参数?如果您使用调试构建 CESM,您可以获得更好的答案:然后您可以找到适合您的 netcdf 例程。

    【讨论】:

    • 我使用'make check'来测试安装。很好。该错误是由于编译器优化和 CESM 代码中的特定 fortan 文件造成的。一旦我找到了兼容的 fortran 代码,它就可以工作了。谢谢。
    猜你喜欢
    • 2015-02-05
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多