Код Fortran выдает ошибку времени выполнения «операция не поддерживается» при попытке открыть текстовый файл

Я пытаюсь запустить фрагмент кода на фортране, написанный на f95. Я скомпилировал его с помощью gfortran в Ubuntu.

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

    Fortran runtime error: Cannot open file 'input_parameters.txt': Operation not supported

Это код до момента, когда мы пытаемся прочитать текстовый файл:

    program LSmodel
    implicit none !this is a fortran thing that means that all variables that start with i,j,k,l,m,n are integers. 

    real :: sec,ran,gasdev                        ! random generator variables
    real :: x,y,z,u,v,w,ut,vt,wt,t,dt             ! simulation variables
    real :: wg                                    ! seed parametes
    real :: Um,sigma_u,sigma_v,sigma_w,uw         ! wind statistics variables
    real :: dvaru_dz,dvarv_dz,dvarw_dz,duw_dz     ! wind statistics variables
    real :: dissip_m,TL                           ! vector over the range of ustars
    real :: zs,zg,zmax                            ! release height & boundaries
    real :: Ainv,C0inv                            ! inverse parameters
    real :: C0,A,b,au,av,aw,dt_on_TL              ! LS model parameters
    real :: dz_max,dt_max                         ! time step limit
    real :: CT,beta                               ! Crossing Trajectories correction
    real :: C_chi,chi,TKE,T_chi,omega             ! DI parameters
    real :: a_ln,b_ln,sigma_chi,dissip_s          ! DI parameters
    real :: rhop,rho,r,g,gt,Re,AIP,Cd,nu          ! IP parameters
    real :: up,vp,wp,upt,vpt,wpt,vr,dt_ip,alpha   ! IP parameters
real :: keepseed, maxheight
    integer :: seed                              ! random generator variables, keepseed decides whether to keep the same seed or not for comparison of simulation
    integer :: pnum, traj_exit     ! simulation parameters. traj_exit counts the number of particles that have exited from the topo f the wind flow. 
    integer :: i,j,jj,n,ii                        ! counting parameters
    integer :: n_ip,IP=1                          ! IP parameters
    character(len=80) :: filename, wgchar, foldername
    real, allocatable,dimension(:) ::  z_vec,Um_vec,sigma_u_vec,sigma_v_vec,sigma_w_vec,uw_vec
    real, allocatable,dimension(:) ::  dvaru_dz_vec,dvarv_dz_vec,dvarw_dz_vec,duw_dz_vec,dissip_m_vec


    ! input
    open (23,file='input_parameters.txt') !opening a file for the input parameters....
    read (23, *) x,C0,wg,zs,zg,beta,dt_on_TL,y,sigma_chi,C_chi,r,rhop,alpha,rho,nu, keepseed, foldername
    close(23)

Я использую Ubuntu 18.04.2 LTS.


person agorapotatoes    schedule 22.10.2019    source источник
comment
Вы должны добавить, как вы скомпилировали свою программу и, возможно, как вы ее запустили. Также на всякий случай, файл присутствует в каталоге, где выполняется программа?   -  person PTRK    schedule 22.10.2019
comment
Кроме того, просто для уточнения implicit none !this is a fortran thing that means that all variables that start with i,j,k,l,m,n are integers. неверно. Неявный none означает, что компилятор не будет неявно определять тип по первой букве переменной. Поэтому, если переменная не объявлена, возникает ошибка.   -  person PTRK    schedule 22.10.2019
comment
Я не могу воспроизвести эту ошибку с gfortran 9.2.1. Ваш код компилируется и работает нормально для меня с input_parameters.txt 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 myCoolFolderName.   -  person zaen    schedule 23.10.2019
comment
Вывод ls -l input_parameters.txt в каталоге, где вы пытаетесь его запустить, также может быть полезен.   -  person Ian Bush    schedule 23.10.2019


Ответы (1)


Обновление - я нашел (я полагаю) причину, по которой этот код не работал, хотя я не знаю, почему.

Папка была на сетевом диске, а не на моем локальном компьютере. Как только я переместил папку на свой локальный компьютер, я перестал получать эту ошибку.

person agorapotatoes    schedule 24.10.2019