2015-01-06 4 views
1

Я установил NetCDF 4.3.2 и NetCDF-Fortran 4.2. Я хочу запустить Community Earth System Model 4.2.Ошибка при использовании NetCDF: недопустимый идентификатор или имя измерения

Когда я создаю случай, построить случай, а затем запустить случай, я получаю следующее сообщение об ошибке:

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: 0x0000000*** *** 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?

ответ

2

Во-первых, не используйте CESM для проверки установки netcdf. используйте «make check».

Тогда обратная линия, которую вы предоставили, довольно понятна: вы передаете мусор одной из ваших подпрограмм netcdf: возможно, передавая переменную, назначенную стеком? отсутствующий аргумент командной строки? Вы можете получить лучший ответ, если вы построите CESM с помощью отладки: вы можете найти, какая программа netcdf дает вам возможность.

+0

Я использовал «make check» для проверки установки. Это было прекрасно. Ошибка была вызвана оптимизацией компилятора и конкретным файлом форта в коде CESM. Как только я нашел совместимый код fortran, он сработал. Благодарю. –

Смежные вопросы