несколько месяцев назад я задал вопрос о написании файлов netcdf3 с кодом netcdf4. Теперь у меня другая проблема. У меня более старый код fortran, который запускается в последовательном порядке и используется для интерполяции данных из одной сетки в другую. Код основан на использовании файлов netcdf3, и я хотел бы перекомпилировать его с netcdf4. код использует следующие функции netcdf: nf_open, nf_put_vara_real и т. д. Я далек от того, чтобы быть экспертом, но, насколько я читал, код должен по-прежнему принимать файлы netcdf4 с этими вызовами. Однако, когда я пытаюсь скомпилировать его с netcdf4, я получаю много сообщений об ошибках. Код сам использует netcdf.inc, который находится в той же папке, что и код, команды компиляции следующим образом:, связывающий код fortran с использованием netcdf3 на netcdf4
gfortran parameter.f90 netcdf_utils.f90 mean_streaks.f90 -L/opt/netcdf/netcdf3/lib/ -lnetcdf -O2
Затем я попытался просто изменить netcdf3 до 4, как у меня есть netcdf3 и 4 папки под/неавтоматического/NetCDF. Тем не менее, я, например, следующие сообщения об ошибках при компиляции:
/tmp/ccgwLiTF.o: In function `__netcdf_utils_MOD_read3d':
netcdf_utils.f90:(.text+0x445): undefined reference to `nf_open_'
netcdf_utils.f90:(.text+0x4a0): undefined reference to `nf_get_vara_real_'
netcdf_utils.f90:(.text+0x4b4): undefined reference to `nf_close_'
Кто-нибудь случится, чтобы знать, что я пропускаю или как я должен связать библиотеки, чтобы получить сборник сделан?
спасибо за ответы заранее