包括/省略写语句更改 FORTRAN90 中的代码输出

问题描述 投票:0回答:0

我在这个 fortran90 代码中面临一个难以调试的问题——保留或注释掉

write(*,*)
语句正在改变代码的输出!以下是详细信息和代码(不能最小化更多,因为这可能不会导致相同的错误):

操作系统:Ubuntu 16.04
gfortran --version
GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
版权所有 (C) 2015 Free Software Foundation, Inc.

FORTRAN90 代号:gillsp_notworking.f90
编译:gfortran -ffree-line-length-none gillsp_notworking.f90

这是两个有问题的行(标记为!***** error write ****):
W1:在第 416 行写语句
W2:在第 417 行写语句

代码:

    program code

    implicit none

    real*8, parameter :: time=3600.d0, t0=0.d0
    real*8, parameter :: er=1.d-6
    real*8, parameter :: vton=600.d0
    real*8, parameter :: dl=1.d0/370.d0

    real*8,parameter :: kp1be = 11.6d0/vton, km1be = 1.4d0      
    real*8,parameter :: kp2be = 3.4d0/vton, km2be = 0.2d0       
    real*8,parameter :: kp3be = 2.9d0/vton, km3be = 5.4d0       
                                    

    real*8,parameter :: kp1pe = 0.d0/vton, km1pe = 0.d0     
    real*8,parameter :: kp2pe = 0.d0/vton, km2pe = 0.d0     
    real*8,parameter :: kp3pe = 0.d0/vton, km3pe = 0.d0      

    real*8,parameter :: kpdom = 16.d-5/vton             
    real*8,parameter :: kpcf = 13.d0/vton, kmcf = 0.7d0     
    real*8,parameter :: kmbcf = 4.4, kmpcf = 0.d0           
    real*8,parameter :: ktd = 0.003d0               
    real*8,parameter :: ktdpi = 0.3d0               
    real*8,parameter :: ksever = 0.01d0

    real*8,parameter :: kcp0=12.8d0/vton, kcm0=2.d-4        
    real*8,parameter :: kcp1=0.3d0/vton, kcm1=6.d-3         

    real*8,parameter :: alpha = 20.d0               

    real*8,parameter :: rho = 0.3d0                 
    real*8,parameter :: rhocf = 0.8d0               
    real*8,parameter :: rhocp = 0.d0                
    real*8,parameter :: V = 1.d0                    


    integer, parameter :: Nmin=100,Npos=nint(60.d0/dl)
    integer, parameter :: N=nint(rho*vton*V)
    integer, parameter :: Ncf=nint(rhocf*vton*V)
    integer, parameter :: Ncp=nint(rhocp*vton*V/1000.d0)
    integer, parameter :: nstep=300
    integer, parameter :: ndmax=3000

    integer, parameter :: minsevL=10

    integer, parameter :: plotmovie=1
    
    real*8, parameter :: delt=time/nstep

    real*8 :: t,r1,r2,pl,ph

    real*8 :: tau
    real*8 :: beta1,beta2,beta3,beta4,beta5,beta6,beta7,beta8,beta_sev
    real*8 :: beta_cp,beta_cm
    real*8 :: beta_sum
    real*8 :: alpha0
    real*8 :: rsev1,rsev2
    real*8 :: pifactr

    integer :: m, m1(-Nmin:Npos), m10(-Nmin:Npos)
    integer :: mcf, domL(1:ndmax),domR(1:ndmax), ndom,cofcount,domLen
    integer :: cap
    integer :: domL0(1:ndmax),domR0(1:ndmax),drcount,domrem(1:ndmax)
    integer :: pesever(1:10),besever(1:10),besvcount,pesvcount, sevindex, dumind

    integer :: i,j,k,nk
    integer :: l1(-Nmin:Npos)
    integer :: l1bind, l1pind, l1bind0, l1pind0
    integer :: gatp1, gadppi1, gadp1, glcf1, gzero
    integer :: l1sum

    integer :: k1,k2, dgcount, dscount, nmerge, domflag
    integer :: nfile

    integer :: dumdl
    integer :: Bstate
    integer :: nPicof

    character*80::fname, Rid

    write(*,*) 'Array size=', -Nmin, Npos


!------------------------------------------------------

    t=0
    nk=0
    nfile=0

!----------- initialisation -----------

    l1=0
    m1=0                !! monomer states: 1 ATP, 2 ADP.Pi, 3 ADP, 0 empty
    l1bind=0            !! index of incoming monomer in barbed end
    l1pind=-1           !! index of incoming monomer in pointed end
    
    m=N             !! actin monomers
    cap=Ncp             !! free capping

    Bstate = 1          !! Free barbed end
    pifactr = 1.d0          !! factor increase in Pi release rate

    ndom=0
    cofcount=0
    domL=0
    domR=0
    nPicof=0            !! number of ADP.Pi and cofilin interface
    mcf=Ncf-sum(domR-domL)-ndom


    write(200,*)t,sum(l1),m, l1pind, l1bind, cap, mcf, cofcount


!********************************************************************
!********************************************************************
!------------------- time loop ------------------------

    tloop: do while (t.le.time)

!----------------- counting G-atp, G-adp, G-cofilin in filament --------------

    gzero=count(m1<er)
    gatp1=count(m1<1+er) - gzero
    gadppi1=count(m1<2+er) - (gatp1+gzero)
    gadp1=count(m1<3+er) - (gatp1+gzero+gadppi1)
    glcf1=count(m1>3+er)

!----------------- current length ---------------------

    l1sum = sum(l1)

!------------------ propensity sum ---------------------

!---- store monomer states, domain info etc -----

    m10 = m1
    l1bind0=l1bind
    l1pind0=l1pind
    domL0=domL
    domR0=domR

!------------------- capping reaction ------------------

    if (m10(l1bind-1).eq.4) then

    if(Bstate.eq.1)then
    beta_cp = kcp1*cap/V
    beta_cm = 0.d0
    elseif (Bstate.eq.2) then
    beta_cp = 0.d0
    beta_cm = kcm1
    endif

    else

    if(Bstate.eq.1)then
    beta_cp = kcp0*cap/V
    beta_cm = 0.d0
    elseif (Bstate.eq.2) then
    beta_cp = 0.d0
    beta_cm = kcm0
    endif

    endif

!-------------------- barbed end -----------------------

    if(Bstate.eq.1)then     ! Barbed-end state if

    if(m10(l1bind-1).eq.1)then
    beta1 = km1be
    beta2 = kp1be*(m/V)
    elseif (m10(l1bind-1).eq.2) then
    beta1 = km2be
    beta2 = kp2be*(m/V)
    elseif (m10(l1bind-1).eq.3) then
    beta1 = km3be
    beta2 = kp3be*(m/V)
    elseif (m10(l1bind-1).eq.4) then
    beta1 = kmbcf
    beta2 = 0.d0
    endif

    elseif (Bstate.eq.2) then

    beta1 = 0.d0
    beta2 = 0.d0

    endif

    !----- the first monomer incorporation------!
    if(t.lt.30)then
    if(m10(l1bind-1).eq.0)then
    beta2 = kp1be*(m/V)
    endif
    endif


!-------------------- pointed end -----------------------
    
    if(m10(l1pind+1).eq.1) then
    beta3 = km1pe
    beta4=kp1pe*(m/V)
    elseif (m10(l1pind+1).eq.2) then
    beta3 = km2pe
    beta4=kp2pe*(m/V)
    elseif (m10(l1pind+1).eq.3) then
    beta3 = km3pe
    beta4 = kp3pe*(m/V)
    elseif (m10(l1pind+1).eq.4) then
    beta3 = kmpcf
    beta4 = 0.d0
    endif


!------------------- bulk reactions ---------------------

!------------------ cofilin reactions ------------------
    if(ndom.gt.0)then
    nmerge=0
    do k1=1,ndom
    do k2=1,ndom
    if(domL(k1)-1.eq.domR(k2)) nmerge=nmerge+1          ! single free site between two cof domains
    enddo
    enddo
    endif

!---------------- Pi-cofilin interface ------------------

    nPicof=0
    do k1=l1pind0,l1bind0-1
    if(abs(m10(k1)-m10(k1+1)).eq.2.and.m10(k1)+m10(k1+1).eq.6)then
    nPicof=nPicof+1
    endif
    enddo


        !------------------- bulk reactions ---------------------

    beta5 = ktdpi*gatp1 + ktd*(gadppi1-nPicof) + alpha*ktd*nPicof               !---- total rate of hydrolysis

    beta6 = kpdom*(mcf/V)*max(0.d0,(gadp1-2.d0*ndom-2.d0*nmerge))       !---- domain creation rate

    !----- count domain growth probability -----
    if(ndom.gt.0)then
    dgcount=0
    dscount=0
    do k=1,ndom

    dumdl=domR(k)-domL(k)-1                 ! current domain length

    if(m10(domL(k)).eq.3) dgcount=dgcount+1
    if(m10(domR(k)).eq.3) dgcount=dgcount+1

    if(m10(domL(k)).le.3.and.dumdl.gt.2) dscount=dscount+1
    if(m10(domR(k)).le.3.and.dumdl.gt.2) dscount=dscount+1
    enddo
    else
    dgcount=0
    dscount=0
    endif

    beta7 = kpcf*(mcf/V)*dgcount                !---- domain growth rate

    beta8 = kmcf*dscount                    !---- domain shrinkage rate

    !----- severing probability -----
    if(ndom.gt.0)then
    besvcount=0
    pesvcount=0
    besever=-1
    pesever=-1
    do k=1,ndom
    domLen = domR(k)-domL(k)-1
    if (domLen.ge.minsevL) then             !---- domain length condition
    if(m10(domL(k)).lt.4.and.m10(domL(k)).gt.0) then
    pesvcount=pesvcount+1
    pesever(pesvcount)=domL(k)
    endif
    if(m10(domR(k)).lt.4.and.m10(domR(k)).gt.0) then
    besvcount=besvcount+1
    besever(besvcount)=domR(k)
    endif
    else        !------ domain length condition
    pesvcount=0
    besvcount=0
    endif       !------ domain length condition
    enddo
    else
    pesvcount=0
    besvcount=0
    endif

    beta_sev = ksever*(besvcount+pesvcount)             !---- severing rate
    
    beta_sum = beta1+beta2+beta3+beta4+beta5+beta6+beta7+beta8+beta_sev+beta_cp+beta_cm

    alpha0 = beta_sum

!----------------- next reaction time: tau --------------

    r1 = rand()
    do while(r1.lt.1.d-8)
    r1 = rand()
    enddo

    tau = (1.d0/alpha0)*log(1.d0/r1)

!----------------------- all reactions ------------------------

    r2 = rand()

!---------------- growth and decay ------------------

!---------------- filament 1 ----------------
!---------------- barbed end ----------------
    pl=0.d0
    ph=beta1/alpha0
    if (r2.ge.pl.and.r2.lt.ph.and.l1sum.gt.er) then         ! barbed end disassembly
    if (m1(l1bind-1).eq.4) then
!   mcf = mcf+1 Pool conc. remains same
    do k=1,ndom
    if(domR(k).eq.l1bind) domR(k)=domR(k)-1
    enddo
    endif
    l1bind = l1bind - 1
    l1(l1bind) = 0
    m1(l1bind) = 0
!   m = m+1     Pool conc. remains same
    Rid="BE-"
    endif

    pl=beta1/alpha0
    ph=(beta1+beta2)/alpha0
    if (r2.ge.pl.and.r2.lt.ph) then                 ! barbed end assembly
    m1(l1bind) = 1
    l1(l1bind) = 1
    l1bind = l1bind + 1
!   m = m-1     Pool conc. remains same
    Rid="BE+"
    endif

!---------------- pointed end ---------------

    pl=(beta1+beta2)/alpha0
    ph=(beta1+beta2+beta3)/alpha0
    if (r2.ge.pl.and.r2.lt.ph.and.l1sum.gt.er) then         ! pointed end disassembly
    if (m1(l1pind+1).eq.4) then
!   mcf = mcf+1 Pool conc. remains same
    do k=1,ndom
    if(domL(k).eq.l1pind) domL(k)=domL(k)+1
    enddo
    endif
    l1pind = l1pind + 1
    l1(l1pind) = 0
    m1(l1pind) = 0
!   m = m+1     Pool conc. remains same
    Rid="PE-"
    endif

    pl=(beta1+beta2+beta3)/alpha0
    ph=(beta1+beta2+beta3+beta4)/alpha0
    if (r2.ge.pl.and.r2.lt.ph) then                 ! pointed end assembly
    m1(l1pind) = 1
    l1(l1pind) = 1
    l1pind = l1pind - 1
!   m = m-1     Pool conc. remains same
    Rid="PE+"
    endif

!---------- severing of filament -------------

    pl=(beta1+beta2+beta3+beta4)/alpha0
    ph=(beta1+beta2+beta3+beta4+beta_sev)/alpha0
    if (r2.ge.pl.and.r2.lt.ph) then             ! filament severing if
    rsev1=rand()
    rsev2=rand()
    if(rsev1.le.0.2d0.and.besvcount.gt.0)then       ! find severing dir if loop
    dumind = 1 + nint(rsev2*(besvcount-1))          ! use besever
    sevindex = besever(dumind)              ! assumption: barbed end is not cofilin-bound (not good with capping)
    else

    if (pesvcount.gt.0) then                            
    dumind = 1 + nint(rsev2*(pesvcount-1))          ! use pesever, if pesevcount=0, use besever
    sevindex = pesever(dumind)
    else
    dumind = 1 + nint(rsev2*(besvcount-1))          ! use besever
    sevindex = besever(dumind)
    endif

    endif           ! find severing dir if loop


    l1bind=sevindex     ! keep olp pointed end
    Bstate=1        ! set new barbed end free
!   m=m+(l1bind0-sevindex)  Pool conc. remains same
    m1(sevindex:l1bind0)=0
    l1(sevindex:l1bind0)=0

    drcount=0
    domrem=0
    do j=sevindex,l1bind0               ! j-loop
!   if(m10(j).eq.4) then        Pool conc. remains same
!   mcf=mcf+1
!   endif
    do k=1,ndom
    if(domL(k).eq.j)then
    drcount=drcount+1
    domrem(drcount)=j
    domL(k)=0
    domR(k)=0
    endif
    enddo
    enddo       ! j-loop
    Rid="SEVER"
    write(*,*)'sever', m10(sevindex-1) ,sevindex, l1bind0, besvcount, pesvcount !***** error write ****
    write(*,*)'sever', m10(sevindex-1)                      !***** error write ****
    endif           ! filament severing if



!---------------- capping ------------------

    pl=ph
    ph=(beta1+beta2+beta3+beta4+beta_sev+beta_cp)/alpha0

    if (r2.ge.pl.and.r2.lt.ph) then
!   cap=cap-1   Pool conc. remains same
    Bstate = 2
    Rid="CAPPING +"
    endif


!---------------- de-capping ------------------

    pl=ph
    ph=(beta1+beta2+beta3+beta4+beta_sev+beta_cp+beta_cm)/alpha0

    if (r2.ge.pl.and.r2.lt.ph) then
!   cap=cap+1   Pool conc. remains same
    Bstate = 1
    Rid="CAPPING -"
    endif



!---------- hydrolysis in filament -----------

    pl=(beta1+beta2+beta3+beta4+beta_sev+beta_cp+beta_cm)/alpha0

    do j=l1pind0,l1bind0                    ! j monomer loop

    if(m10(j).eq.1)then                 ! Hydrolysis: G-ATP -> G-ADP.Pi
    ph=pl+(ktdpi/alpha0)
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(j) = 2
    Rid="HYD atp"
    endif
    pl=ph

    elseif(m10(j).eq.2)then                 ! Hydrolysis: G-ADP.Pi -> G-ADP

    if(m10(j-1).eq.4.or.m10(j+1).eq.4)then          ! enhanced Pi release at domain boundaries
    pifactr=alpha
    else
    pifactr=1.d0
    endif
    ph=pl+(pifactr*ktd/alpha0)
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(j) = 3
    Rid="Pi Release"
    endif
    pl=ph

    elseif(m10(j).eq.3)then                 ! single Cofilin binding G-ADP -> G-ADP-Cofilin
    domflag=0
    if(ndom.gt.0)then   ! ndom-if
    do k=1,ndom
    if(j.eq.domL(k)) then
    domflag=1
    endif
    if(j.eq.domR(k)) then
    domflag=1
    endif
    enddo
    endif       ! ndom-if

    if (domflag.lt.1) then
    ph=pl+((kpdom*mcf/V)/alpha0)                ! Domian creation
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(j) = 4
!   mcf=mcf-1   Pool conc. remains same
    ndom=ndom+1
    domL(ndom)=j-1
    domR(ndom)=j+1   
    Rid="DOM"
    write(*,*) 'domain created', ndom
    endif
    pl=ph
    endif

    endif   ! hydrolysis if

    enddo       ! j monomer loop

                                ! DOMAINS ONLY GROW IF ADP ACTIN IS PRESENT
    if(ndom.gt.0)then       ! ndom if                   ! Cofilin domain growth

    do k=1,ndom

    dumdl=domR(k)-domL(k)-1                 ! current domain length

    !--------------------- domain growth --------------------
    if (m10(domL(k)).eq.3) then     ! Left boundary ADP-if
    ph=pl+((kpcf*mcf/V)/alpha0)
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(domL(k))=4
!   mcf=mcf-1       Pool conc. remains same
    domL(k)=domL(k)-1
    Rid="DOML+"
    endif
    pl=ph
    endif

    if (m10(domR(k)).eq.3) then     ! Right boundary ADP-if
    ph=pl+((kpcf*mcf/V)/alpha0)
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(domR(k))=4
!   mcf=mcf-1       Pool conc. remains same
    domR(k)=domR(k)+1
    Rid="DOMR+"
    endif
    pl=ph
    endif

!   --------------------- domain shrinkage -------------------
    if (m10(domL(k)).le.3.and.dumdl.gt.2) then  ! Left boundary shrink-if
    ph=pl+(kmcf/alpha0)
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(domL(k)+1)=3
!   mcf=mcf+1       Pool conc. remains same
    domL(k)=domL(k)+1
    Rid="DOML-"
    endif
    pl=ph
    endif

    if (m10(domR(k)).le.3.and.dumdl.gt.2) then  ! Right boundary shrink-if
    ph=pl+(kmcf/alpha0)
    if (r2.ge.pl.and.r2.lt.ph) then
    m1(domR(k)-1)=3
!   mcf=mcf+1       Pool conc. remains same
    domR(k)=domR(k)-1
    Rid="DOMR-"
    endif
    pl=ph
    endif


    
    enddo       ! k ndom loop   
    endif       ! ndom if
    

!----------------- count bound cofilin --------------------

    cofcount=0
    do j=l1pind,l1bind
    if (m1(j).eq.4) then
    cofcount=cofcount+1
    endif
    enddo



!------------------- ERROR CHECKS ----------------------

    if (tau.lt.0.d0) exit tloop
    if (m1(l1bind).ne.0.or.m1(l1pind).ne.0) exit tloop
    if (m.ne.N) exit tloop
    if (mcf.ne.Ncf) exit tloop
    if (cap.ne.Ncp) exit tloop
!   if (sum(l1).eq.0) then
!   write(*,*) 'FULLY DEPOLYMERIZED'
!   t = time
!   endif

!----------------- FULL DECORATION ----------------

!   if (cofcount.eq.sum(l1)) write(*,*) 'fully decorated filament'

!-------------------------------------------------------

    t = t + tau


    enddo tloop     !***** time loop *****

!------------------ time loop ended -----------------------



    write(*,*) 'domains created', ndom
    do k=1,ndom
    write(*,*) k, 'size', domR(k)-domL(k)-1, 'L-R', domL(k), domR(k)
    enddo

    do k=l1pind,l1bind
    write(101,*) k, m1(k)
    enddo

    if(t.ge.time) write(*,*) 'CODE ENDED WITHOUT ERROR'
    write(*,*) 'CODE STOPPED ','t=',t,'id=',Rid

    if (tau.lt.0.d0) write(*,*) 'ERROR: tau negative', tau, alpha0, beta1+beta2+beta3+beta4+beta5, beta6, beta7
    if (m1(l1bind).ne.0.or.m1(l1pind).ne.0) write(*,*) 'ERROR: l1bind/l1pind not zero', m1(l1bind), m1(l1pind)
    if (m.ne.N) write(*,*) 'ERROR: constant conc. fails', m, N 
    if (mcf.ne.Ncf) write(*,*) 'ERROR: constant conc. fails', mcf, Ncf
    if (cap.ne.Ncp) write(*,*) 'ERROR: constant conc. fails', cap, Ncp

    write(*,*) 'pe',l1pind,'be',l1bind, 'domains', ndom


    stop
    end program code

W1和W2被注释掉时的O/P:

 Array size=        -100       22200
 domain created           1
 domain created           2
 domain created           3
 domain created           4
 domain created           5
 domain created           6
 domain created           7
 domains created           7
           1 size          -1 L-R           0           0
           2 size         -17 L-R          50          34
           3 size          -1 L-R           0           0
           4 size          -1 L-R           0           0
           5 size          -1 L-R           0           0
           6 size          -1 L-R           0           0
           7 size          -1 L-R           0           0
 CODE ENDED WITHOUT ERROR
 CODE STOPPED t=   3600.2563350269443      id=BE-                                                                             
 pe          -1 be           0 domains           7
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL

W1 和 W2 未注释掉时的 O/P:

 Array size=        -100       22200
 domain created           1
 domain created           2
 domain created           3
 domain created           4
 domain created           5
 domain created           6
 sever           4         138         620           2           2
 sever           4
 domain created           7
 sever           2         106         390           1           1
 sever           2
 domain created           8
 domain created           9
 domain created          10
 domain created          11
 sever           3         237         584           1           1
 sever           3
 domain created          12
 domain created          13
 sever           2         227         362           2           2
 sever           2
 sever           3         198         303           1           1
 sever           3
 domain created          14
 sever           2         346         622           1           1
 sever           2
 domain created          15
 domain created          16
 sever           3         320         783           2           1
 sever           3
 domain created          17
 domain created          18
 domain created          19
 sever           3         405         862           1           1
 sever           3
 domain created          20
 sever           4         607         893           1           1
 sever           4
 domain created          21
 sever           3         512         867           2           2
 sever           3
 domain created          22
 domain created          23
 domain created          24
 sever           3         576        1023           3           2
 sever           3
 domain created          25
 domain created          26
 domain created          27
 sever           4         584         887           2           2
 sever           4
 domain created          28
 domain created          29
 domain created          30
 domain created          31
 domain created          32
 sever           3        1003        1124           4           4
 sever           3
 domain created          33
 sever           2         596        1128           2           2
 sever           2
 domains created          33
           1 size         -10 L-R          34          25
           2 size         -23 L-R          47          25
           3 size         -45 L-R          79          35
           4 size          24 L-R           0          25
           5 size          -1 L-R           0           0
           6 size           0 L-R           0           1
           7 size          -1 L-R           0           0
           8 size          -1 L-R           0           0
           9 size          44 L-R          95         140
          10 size         132 L-R         139         272
          11 size          -1 L-R           0           0
          12 size          -1 L-R           0           0
          13 size          -1 L-R           0           0
          14 size          -1 L-R           0           0
          15 size         197 L-R         271         469
          16 size          -1 L-R           0           0
          17 size          -1 L-R           0           0
          18 size          -1 L-R           0           0
          19 size          -1 L-R           0           0
          20 size          -1 L-R           0           0
          21 size          -1 L-R           0           0
          22 size          87 L-R         468         556
          23 size          -1 L-R           0           0
          24 size          -1 L-R           0           0
          25 size           0 L-R         569         570
          26 size          -1 L-R           0           0
          27 size           5 L-R         555         561
          28 size          -1 L-R           0           0
          29 size          -1 L-R           0           0
          30 size          -1 L-R           0           0
          31 size          -1 L-R           0           0
          32 size          -1 L-R           0           0
          33 size          -1 L-R           0           0
 CODE ENDED WITHOUT ERROR
 CODE STOPPED t=   3600.0229776615342      id=Pi Release                                                                      
 pe          -1 be         860 domains          33
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL

没有一个结果是非物理的,并且可以在 mac 上使用不同的编译器重现不同的结果。我也用

gfortran -Wall -Wno-tabs -g -fcheck=all -fbacktrace gillsp_notworking.f90
编译过,但没有发现任何严重的问题。除了不同的结果,代码有时也会冻结在注释掉两个写入语句的某种组合中,这似乎取决于我之前运行的组合(疯狂!) - 如果这有助于诊断。欢迎任何帮助或提示。提前谢谢你!

debugging fortran gfortran fortran90
© www.soinside.com 2019 - 2024. All rights reserved.