Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-06-2011, 15:44   #1
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
[Fortran] Runtime error

Ho un problema nell'esecuzione di un programma Fortran che serve a "decomprimere" ed ordinare Database sulla turbolenza (lo potete trovare qua insieme ai database citati); tali file decompressi mi serviranno per una esercitazione per l'università, come da regola di sezione dunque questa è una "fase preliminare" per ottenere i dati su cui lavorare e non il lavoro da svolgere...
Il programmino in questione è stato scritto in Fortran dal ricercatore che ha raccolto i database ed in teoria basterebbe eseguirlo (mettendo al rigo 72 il nome del file da decomprimere) ma è da 2 giorni interi che ci provo senza successo.
Premetto che ho usato vari compilatori su varie macchine e quello con cui mi trovo meglio è FTN95 (è free per uso privato) che mi ha permesso di fare un debug ed individuare l'errore:

"Runtime error from program:c:\dmt\postbl-uvwp3d-af.exe
Run-time Error
*** Error 158, Unformatted record is too short for input list

main - in file postbl-uvwp3d-af.f at line 74 [+00d4]"

Come si può correggere? Sono assolutamente a digiuno di Fortran e non so dove mettere le mani! Ho provato con molto altri compilatori ed IDE (Force 2.0, gfortran...) ma il risultato è sempre un errore di Runtime... Ho fatto prove su due diversi PC di qualche annetto fa con Windows XP e sul notebook in firma...

Ringrazio in anticipo chiunque vorrà aiutarmi...

EDIT: Riporto il codice per intero con la riga che dà l'errore evidenziata in rosso; l'errore ovviamente vale anche per gli altri punti in cui compare questa fantomatica T0 come parametro di lista per i comandi READ e WRITE...

Codice:
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C                                                                     !
C     *******************************************************         !
C     *  POSTPROCESSOR:                                     *         !
C     *  SPATIALLY DEVELOPING TURBULENT BOUNDARY LAYER      *         !
C     *******************************************************         !
C                                                                     !
C     AUTHOR: A.FERRANTE                                              !
C     DATE:   21 AUGUST, 2006                                         !
C     INPUT:  uvwp3d.ibm.# (Unformatted IBM-P4 file)                  !
C     OUTPUT: field2dy.plt field2dx.pld (Formatted Tecplot files)     !
C                                                                     !
C     CODE DESCRIPTION:                                               !
C     READS INSTANTANEOUS 3D FLUID VELOCITY COMPONENTS U,V,W          !
C     AND PRESSURE P FROM uvwp3d.ibm.#                                !
C     WRITES X,Z,U,V,W,P ON field2dy.plt                              !
C     WRITES Y,Z,U,V,W,P ON field2dx.plt                              !
C                                                                     !
C     COMPILING LINE ON IBM-P4+:                                      !
C     xlf90_r -qfixed -qrealsize=8 -qsuppress=cmpmsg                  !
C                                                                     !
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      MODULE CPARA
      INTEGER, PARAMETER :: IMP=514,JMP=258,KMP=98
      INTEGER, PARAMETER :: ISLICE=484, JSLICE=129
      REAL, PARAMETER :: LX=20.0, LY=5.0, LZ=3.6
      INTEGER :: NCUBE,NXZ,NT,IM,JM,KM
      REAL :: DX,DY,DZ
      END MODULE CPARA
!
      MODULE CBOLA
      REAL, PARAMETER :: REDEL=8000., ATL=0.66
      REAL, DIMENSION(:), ALLOCATABLE :: ZETA,ZI,FZZ
      REAL, PARAMETER :: VKC=0.41,BLL=5.2,PIWL=0.5
      END MODULE CBOLA
!
      MODULE CFLD
      REAL, DIMENSION(:), ALLOCATABLE ::
     .     UFLD,VFLD,WFLD,DUMMY,PRESS
      REAL, DIMENSION(:,:,:), ALLOCATABLE :: U, V, W
      END MODULE CFLD
!
!----------------------------------------------------------------------
      PROGRAM POSTPRO
C
C I= 1,IM+2      ARRAYS DIMENSION -- (IMP=IM+2) SIMILAR FOR J AND K
C I= 2,IM+1      PHYSICAL GRID POINTS IM
C DX=LX/IM, DY=LY/JM, DZ=LZ/KM
C
C U(I,J,K)       u component of velocity in (i+.5,j   ,k)
C V              v component of velocity in (i   ,j+.5,k)
C W              w component of velocity in (i   ,j   ,k+.5)
C
C PRESS(I,J,K)   pressure in (i,j,k)
C
C UFLD(:)        u component of velocity in (i,j,k)
C VFLD           v    //
C WFLD           w    //
C
C X,Y,Z          (I   ,J   ,K   )  [-DX/2:LX+DX/2] {1,IMP}
C XS,YS,ZS       (I+.5,J+.5,K+.5)  [    0:LX+DX  ] {1,IMP}
C
      USE cpara
      USE cfld
      USE cbola
C
      CALL OP_WR
C
      DO 1 IXYZ=1,2       ! X and Y planes
C
      NGPH1=25
      OPEN(NGPH1,FILE='uvwp3d.ibm.06160',FORM='UNFORMATTED')
      REWIND(NGPH1)
      READ(NGPH1) T0  
      BACKSPACE(NGPH1)
C
      CALL ALLOC_VAR(IXYZ)
C
      IM = IMP-2
      JM = JMP-2
      KM = KMP-2
      DX = LX/FLOAT(IM)
      DY = LY/FLOAT(JM)
      DZ = LZ/FLOAT(KM)
C
      CALL BLUREF
C
      NT=0
C
 10   CONTINUE                  ! LOOP ON TIME NT
      NT=NT+1
C
      READ(NGPH1,END=100) T0
      BACKSPACE(NGPH1)
C
      CALL READU(IXYZ)
      print *,'nt=',NT
C
C    ***AVERAGE VELOCITY FIELD IN GRID POINTS I,J,K***
C
      CALL COPYFIELD(IXYZ)
      CALL AVGRPO(IXYZ)
C
C    ***WRITE IN OUTPUT VELOCITY AND PRESSURE FIELD***
C
      CALL WRSLICE(IXYZ)
C
      GOTO 10
C
 100  CONTINUE
C
      CALL DEALLOC_VAR
      CLOSE(NGPH1)
C
 1    CONTINUE ! IPLANE=1,2 FOR X AND Y
C
      WRITE(*,*)'I-SLICE X=',DX*(ISLICE-1.5)
      WRITE(*,*)'J-SLICE Y=',DY*(JSLICE-1.5)
      STOP
      END
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E   O P _ W R
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE OPENS INPUT FILES AND OUTPUT FILES
C	      AND WRITES HEADERS OF OUTPUT FILES.
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE OP_WR
C
      USE cpara
      USE cfld
      USE cbola
c
      OPEN( 9 ,FILE='field2dx.plt')
      OPEN(11 ,FILE='field2dy.plt')
c      OPEN(13 ,FILE='field2dz.plt')
      WRITE( 9,'(35HVARIABLES = "Y" "Z" "U" "V" "W" "P")')
      WRITE(11,'(35HVARIABLES = "X" "Z" "U" "V" "W" "P")')
c      WRITE(13,'(35HVARIABLES = "X" "Y" "U" "V" "W" "P")')
      RETURN
      END
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E   A L L O C _ V A R
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE ALLOCATES ALL THE ARRAYS
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE ALLOC_VAR(IXYZ)
!
      USE cpara
      USE cfld
      USE cbola
!
      IF(IXYZ==1) THEN
      NX = 4                    ! AF-5MAR02
      NY = JMP
      NZ = KMP
      NCUBE = NX*NY*NZ
      ALLOCATE (DUMMY(IMP*KMP))
      ALLOCATE (ZETA(KMP),ZI(KMP),FZZ(KMP))
      ALLOCATE (UFLD(NCUBE),VFLD(NCUBE),WFLD(NCUBE)
     .     ,PRESS(NCUBE))
      ALLOCATE (U(1:4,0:NY,0:NZ)
     .         ,V(1:4,0:NY,0:NZ)
     .         ,W(1:4,0:NY,0:NZ))
      ELSEIF(IXYZ==2) THEN
      NX = IMP
      NY = 4
      NZ = KMP
      NCUBE = NX*NY*NZ
      ALLOCATE (DUMMY(IMP*KMP))
      ALLOCATE (ZETA(KMP),ZI(KMP),FZZ(KMP))
      ALLOCATE (UFLD(NCUBE),VFLD(NCUBE),WFLD(NCUBE)
     .     ,PRESS(NCUBE))
      ALLOCATE (U(0:NX,1:4,0:NZ)
     .         ,V(0:NX,1:4,0:NZ)
     .         ,W(0:NX,1:4,0:NZ))
      ENDIF
      RETURN
      END
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E   D E A L L O C _ V A R
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE ALLOCATES ALL THE ARRAYS
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE DEALLOC_VAR
!
      USE cpara
      USE cfld
      USE cbola
!
      DEALLOCATE (DUMMY)
      DEALLOCATE (ZETA,ZI,FZZ)
      DEALLOCATE (UFLD,VFLD,WFLD,PRESS)
      DEALLOCATE (U,V,W)
      RETURN
      END
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      SUBROUTINE BLUREF
C
C     COMPUTES THE STRETCHED MESH FUNCTION: ZETA(K)
C     REF. FERRANTE & ELGHOBASHI, JCP 2004
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      USE CPARA
      USE CFLD
      USE CBOLA
C
C     COMPUTE REFERENCE VELOCITY PROFILE u+=f_w(z+)
C
      TGLZ =TANH(ATL*LZ)
      QTGLZ=1./TGLZ
      QTLZ =1./(ATL*LZ)
      DO K=1,KM+1
         ZI(K)=(K-1.5)*DZ
         ZETA(K)=LZ*(1.-TANH(ATL*(LZ-ZI(K)))*QTGLZ)
         FZZ(K)=TGLZ*QTLZ*(COSH(ATL*(LZ-ZI(K))))**2
      ENDDO
      RETURN
      END
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E   R E A D I N
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE READS IN VARIOUS VARIABLES
C             FOR THE GRAPHICS PROGRAM TO USE.
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE READU(IXYZ)
!
      USE cpara
      USE cfld
!
      IK(I,K)   = I + (K-1)*IMP
      IJK(I,J,K)= I-ISLICE+2 + (K-1)*4 + (J-1)*4*KMP
C
      print*,'in readu'
C
      NGPH1=25
      IEOF=0
      IF (IXYZ==1) THEN         ! X PLANE (YZ)
      READ(NGPH1,END=100) T0
      WRITE(*,*) 'T=',T0
      NXZ = IMP*KMP
C
      DO 20 J=1,JMP
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      DO 21 K=1,KMP
      DO 21 I=ISLICE-1,ISLICE+2
      IJKL=IJK(I,J,K)
      IKL=IK(I,K)
      UFLD(IJKL)=DUMMY(IKL)
 21   CONTINUE
 20   IEOF = IEOF+1
      WRITE(*,*) 'READ U'
c
      DO 30 J=1,JMP
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      DO 31 K=1,KMP
      DO 31 I=ISLICE-1,ISLICE+2
      IJKL=IJK(I,J,K)
      IKL=IK(I,K)
      VFLD(IJKL)=DUMMY(IKL)
 31   CONTINUE
 30   IEOF = IEOF+1
      WRITE(*,*) 'READ V'
c
      DO 40 J=1,JMP
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      DO 41 K=1,KMP
      DO 41 I=ISLICE-1,ISLICE+2
      IJKL=IJK(I,J,K)
      IKL=IK(I,K)
      WFLD(IJKL)=DUMMY(IKL)
 41   CONTINUE
 40   IEOF = IEOF+1
      WRITE(*,*) 'READ W'
c
      DO 42 J=1,JMP
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      DO 43 K=1,KMP
      DO 43 I=ISLICE-1,ISLICE+2
      IJKL=IJK(I,J,K)
      IKL=IK(I,K)
      PRESS(IJKL)=DUMMY(IKL)
 43   CONTINUE
 42   IEOF = IEOF+1
      WRITE(*,*) 'READ P'
c
      ELSEIF(IXYZ==2) THEN      ! Y PLANE (XZ)
C
      READ(NGPH1,END=100) T0
      WRITE(*,*) 'T=',T0
      NXZ = IMP*KMP
C
      DO 50 J=1,JMP
      IF((J==JSLICE-1).OR.(J==JSLICE).OR.(J==JSLICE+1).OR.(J==JSLICE+2))
     .        THEN
      READ(NGPH1,END=100) (UFLD(NPCNT+NXZ*(J-JSLICE+1)) ,NPCNT=1,NXZ)
      ELSE
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      ENDIF
 50   IEOF = IEOF+1
      WRITE(*,*) 'READ U'
c
      DO 60 J=1,JMP
      IF((J==JSLICE-1).OR.(J==JSLICE).OR.(J==JSLICE+1).OR.(J==JSLICE+2))
     .        THEN
      READ(NGPH1,END=100) (VFLD(NPCNT+NXZ*(J-JSLICE+1)) ,NPCNT=1,NXZ)
      ELSE
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      ENDIF
 60   IEOF = IEOF+1
      WRITE(*,*) 'READ V'
c
      DO 70 J=1,JMP
      IF((J==JSLICE-1).OR.(J==JSLICE).OR.(J==JSLICE+1).OR.(J==JSLICE+2))
     .        THEN
      READ(NGPH1,END=100) (WFLD(NPCNT+NXZ*(J-JSLICE+1)) ,NPCNT=1,NXZ)
      ELSE
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      ENDIF
 70   IEOF = IEOF+1
      WRITE(*,*) 'READ W'
C
      DO 75 J=1,JMP
      IF((J==JSLICE-1).OR.(J==JSLICE).OR.(J==JSLICE+1).OR.(J==JSLICE+2))
     .        THEN
      READ(NGPH1,END=100) (PRESS(NPCNT+NXZ*(J-JSLICE+1)) ,NPCNT=1,NXZ)
      ELSE
      READ(NGPH1,END=100) (DUMMY(NPCNT),NPCNT=1,NXZ)
      ENDIF
 75   IEOF = IEOF+1
      WRITE(*,*) 'READ P'
C
      ENDIF !IF(IXYZ==1,2,3)
C
100   CONTINUE
C
      print*,'IEOF=',IEOF
      print*,'out readu'
C
      RETURN
      END
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E   C O P Y F I E L D
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE COPIES THE VELOCITY UFLD TO U,V,W(I,J,K)
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE COPYFIELD(IXYZ)
C
      USE cpara
      USE cfld
C			***SPACE LOOPS TO COPY THE FIELD***
      IF(IXYZ==1) THEN
C
        DO 100 K = 1,KMP
          DO 100 J = 1,JMP
            DO 100 I = 1,4
              NPCNT = I + 4*KMP*(J-1) + 4*(K-1)
              U(I,J,K) = UFLD(NPCNT)
              V(I,J,K) = VFLD(NPCNT)
              W(I,J,K) = WFLD(NPCNT)
100   CONTINUE
C
      ELSEIF (IXYZ==2) THEN
C			***SPACE LOOPS TO COPY THE FIELD***
        DO 200 K = 1,KMP
          DO 200 J = 1,4
            DO 200 I = 1,IMP
              NPCNT = I + NXZ*(J-1) + IMP*(K-1)
              U(I,J,K) = UFLD(NPCNT)
              V(I,J,K) = VFLD(NPCNT)
              W(I,J,K) = WFLD(NPCNT)
200   CONTINUE
C
      ENDIF
C
      RETURN
      END
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E   A V G R P O
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE AVERAGES THE VELOCITY COMPONENTS
C             IN THE PRESSURE GRID POINTS FROM THE STAGGERED VEL.
C
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE AVGRPO(IXYZ)
C
      USE cpara
      USE cfld
c
      IF(IXYZ==1) THEN
C			***AVERAGE VELOCITY COMPONENTS***
      DO 100 K = 2,KMP
          DO 100 J = 2,JMP
            DO 100 I = 2,4
              NPCNT = I + 4*KMP*(J-1) + 4*(K-1)
              UFLD(NPCNT) = .5 * (U(I-1,J,K) + U(I,J,K))
              VFLD(NPCNT) = .5 * (V(I,J-1,K) + V(I,J,K))
              WFLD(NPCNT) = .5 * (W(I,J,K-1) + W(I,J,K))
c
              IF (J.EQ.JM+1) THEN ! PERIODIC BOUNDARY CONDITION IN J
                NP1 = I + 4*(K-1)
	        UFLD(NP1) = UFLD(NPCNT)
                VFLD(NP1) = VFLD(NPCNT)
                WFLD(NP1) = WFLD(NPCNT)
	      ENDIF
	      IF (K.EQ.2) THEN    ! NO SLIP BC AT THE WALL U(1)=0 FOR K=1
                NP1 = I + NXZ*(J-1)
	        UFLD(NP1) = 0.
                VFLD(NP1) = 0.
                WFLD(NP1) = 0.
	      ENDIF
100   CONTINUE
C
      ELSEIF(IXYZ==2) THEN
C			***AVERAGE VELOCITY COMPONENTS***
      DO 200 K = 2,KMP
          DO 200 J = 2,4
            DO 200 I = 2,IMP
              NPCNT = I + NXZ*(J-1) + IMP*(K-1)
              UFLD(NPCNT) = .5 * (U(I-1,J,K) + U(I,J,K))
              VFLD(NPCNT) = .5 * (V(I,J-1,K) + V(I,J,K))
              WFLD(NPCNT) = .5 * (W(I,J,K-1) + W(I,J,K))
	      IF (K.EQ.2) THEN    ! NO SLIP BC AT THE WALL U(1)=0 FOR K=1
                NP1 = I + NXZ*(J-1)
	        UFLD(NP1) = 0.
                VFLD(NP1) = 0.
                WFLD(NP1) = 0.
	      ENDIF
C
200   CONTINUE
C
      ENDIF
      RETURN
      END
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C  S U B R O U T I N E  W R S L I C E
C
C  PURPOSE:
C  --------
C             THIS SUBROUTINE WRITES THE VELOCITY
C	      AND PRESSURE FIELD AT THE GRID POINTS ON X OR Y PLANE.
C             THE VELOCITY FIELD IS AVERAGED AT THE GRID POINTS.
C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      SUBROUTINE WRSLICE(IXYZ)
C
      USE cpara
      USE cfld
      USE cbola
C			***WRITING OUTPUT***
      print*,'writing velocity slice...'
C			***TIME LOOP***
      IF(IXYZ==1) THEN
      I=2
C
      WRITE(9,200) T0,JM,KM
C			***SPACE LOOPS***
      DO 90 K = 1,KM          ! AF-28SEP02 AFTER REMOVING THE AVFIELD AND LEAVING AVGRPO
         Z = ZETA(K)
         IF(K==1) Z=0.0
         DO 90 J = 2,JM+1
            Y = DY*(J-1.5)
            NPCNT = I + 4*KMP*(J-1) + 4*(K-1)
            WRITE(9,300) Y,Z
     .           ,UFLD(NPCNT),VFLD(NPCNT),WFLD(NPCNT)
     .           ,PRESS(NPCNT)
 90     CONTINUE
C
      ELSEIF(IXYZ==2) THEN
C
      J=2
      WRITE(11,200) T0,IM,KM
C			***SPACE LOOPS***
        DO 100 K = 1,KM
           Z=ZETA(K)
           IF(K==1) Z=0.0
           DO 100 I = 2,IM+1
              X = DX*(I-1.5)
              NPCNT = I + NXZ*(J-1) + IMP*(K-1)
              WRITE(11,300) X,Z
     .             ,UFLD(NPCNT),VFLD(NPCNT),WFLD(NPCNT)
     .             ,PRESS(NPCNT)
100   CONTINUE
C
      ENDIF
C
 200  FORMAT('ZONE T="T =',G14.5,'"'
     .      ,'  F=POINT, I=',I4,' J=',I4)
 300  FORMAT( 1X,6G14.5)
C
      RETURN
      END
C================================================================================
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati

Ultima modifica di Pess : 25-06-2011 alle 16:29.
Pess è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2011, 12:06   #2
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
Nessuno mi sa aiutare?
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati
Pess è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2011, 23:55   #3
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da Pess Guarda i messaggi
Nessuno mi sa aiutare?
L'errore è abbastanza chiaro:

Run-time Error
*** Error 158, Unformatted record is too short for input list

il programma cerca di leggere un record non formattato dal file uvwp3d.ibm.06160 e metterlo nella variabile T0. Il problema è che quello che legge non gli piace (è troppo corto).

Nel migliore dei casi si tratta semplicemente di modificare il file vwp3d.ibm.06160.
Nel peggiore dei casi potrebbe essere il sintomo di un errore più oscuro ma meglio andare per gradi.

Ciao

tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2011, 08:43   #4
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
Quote:
Originariamente inviato da tiMo Guarda i messaggi
L'errore è abbastanza chiaro:

Run-time Error
*** Error 158, Unformatted record is too short for input list

il programma cerca di leggere un record non formattato dal file uvwp3d.ibm.06160 e metterlo nella variabile T0. Il problema è che quello che legge non gli piace (è troppo corto).

Nel migliore dei casi si tratta semplicemente di modificare il file vwp3d.ibm.06160.
Nel peggiore dei casi potrebbe essere il sintomo di un errore più oscuro ma meglio andare per gradi.

Ciao

tiMo
Innanzi tutto grazie mille per la risposta e la spiegazione...
Ora il problema è che non posso agire in nessun modo sul file in questione; ho fatto una piccola ricerca sul formato (Unformatted IBM-P4 File) ma non ho trovato nulla di concreto su cui poter agire...
A dirla tutta ho circa una decina di questi file (ognuno pesa poco più di 400 mb) ma il problema si presenta per tutti...
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati
Pess è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2011, 10:48   #5
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da Pess Guarda i messaggi
Innanzi tutto grazie mille per la risposta e la spiegazione...
Ora il problema è che non posso agire in nessun modo sul file in questione; ho fatto una piccola ricerca sul formato (Unformatted IBM-P4 File) ma non ho trovato nulla di concreto su cui poter agire...
A dirla tutta ho circa una decina di questi file (ognuno pesa poco più di 400 mb) ma il problema si presenta per tutti...
Potrebbe essere che il formato del file non sia riconosciuto o che i file siano stati corrotti, cosa che può capitare se si passa da un sistema operativo ad un altro.

Ad esempio il vecchio Digital Fortran ha un'opzione per convertire i file IBM

http://www.helsinki.fi/atk/unix/dec_...52/dfum008.htm

quando hai compilato hai usato gli switch indicati?

In ogni caso la cosa migliore è chiedere lumi a chi ha prodotto il codice.

ciao

tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 00:17   #6
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
Quote:
Originariamente inviato da tiMo Guarda i messaggi
Potrebbe essere che il formato del file non sia riconosciuto o che i file siano stati corrotti, cosa che può capitare se si passa da un sistema operativo ad un altro.

Ad esempio il vecchio Digital Fortran ha un'opzione per convertire i file IBM

http://www.helsinki.fi/atk/unix/dec_...52/dfum008.htm

quando hai compilato hai usato gli switch indicati?

In ogni caso la cosa migliore è chiedere lumi a chi ha prodotto il codice.

ciao

tiMo
Si, ho usato gli switch ma il codice continua a crashare... Chissà se è specifico per il compilatore usato dai calcolatori di Cineca (XL Fortran 90 della IBM)... Ottenere tale compilatore è cmq impossibile per me...
Proverò a chiedere all'autore del codice, sperando che non mi mandi a quel paese...
Altri software tra i quali Matlab sono in grado di convertire i file binari, ma non so di preciso come è "formattato" tale file (quali serie di bit devo considerare volta per volta)...
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati
Pess è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 09:41   #7
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
due cose a cui non avevo pensato
  1. Gli switch indicati: xlf90_r -qfixed -qrealsize=8 -qsuppress=cmpmsg
    probabilmente non hanno senso se usi un altro compilatore. Se vengono ignorati, questa potrebbe essere la causa del problema. Non conosco il compilatore IBM ma ad esempio potrebbe essere che lo switch -qrealsize=8 dichiari la doppia precisione su tutte le variabili reali.
    Dovresti capire come tradurre gli switch per il compilatore che usi tu.
  2. La variabile T0 non è dichiarata, e questa non è una buona pratica di programmazione.
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 09:53   #8
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
Quote:
Originariamente inviato da tiMo Guarda i messaggi
due cose a cui non avevo pensato
  1. Gli switch indicati: xlf90_r -qfixed -qrealsize=8 -qsuppress=cmpmsg
    probabilmente non hanno senso se usi un altro compilatore. Se vengono ignorati, questa potrebbe essere la causa del problema. Non conosco il compilatore IBM ma ad esempio potrebbe essere che lo switch -qrealsize=8 dichiari la doppia precisione su tutte le variabili reali.
    Dovresti capire come tradurre gli switch per il compilatore che usi tu.
  2. La variabile T0 non è dichiarata, e questa non è una buona pratica di programmazione.
Ovviamente ho "Convertito" le funzionalità di quegli switch nel mio compilatore, l'unico davvero importante è quello che indica la grandezza dei numeri reali ad 8 bit...
Anche dichiarando la variabile T0 non cambia nulla...
Ho trovato in rete un programmimo Matlab che converte i codici Fortran in matlab.... Funziona abbastanza bene dai commenti che leggo anche se non è perfetto... Cmq dato che con Matlab un pò me la cavo anche se viene tradotto approssimativamente saprei come ritoccarlo...

Grazie mille per i suggerimenti cmq...
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati
Pess è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 10:11   #9
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
Quote:
Originariamente inviato da Pess Guarda i messaggi
Ovviamente ho "Convertito" le funzionalità di quegli switch nel mio compilatore, l'unico davvero importante è quello che indica la grandezza dei numeri reali ad 8 bit...
Anche dichiarando la variabile T0 non cambia nulla...
Ho trovato in rete un programmimo Matlab che converte i codici Fortran in matlab.... Funziona abbastanza bene dai commenti che leggo anche se non è perfetto... Cmq dato che con Matlab un pò me la cavo anche se viene tradotto approssimativamente saprei come ritoccarlo...

Grazie mille per i suggerimenti cmq...
no problem,

prima che provare a tradurre il codice fortran in Matlab proverei a usare Matlab per leggere il file in questione e magari capire se è un problema di lunghezza di record. Ovviamente per fare questo dovresti avere un modo per capire se i file sono letti bene.

ciao
tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 10:21   #10
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
Quote:
Originariamente inviato da tiMo Guarda i messaggi
no problem,

prima che provare a tradurre il codice fortran in Matlab proverei a usare Matlab per leggere il file in questione e magari capire se è un problema di lunghezza di record. Ovviamente per fare questo dovresti avere un modo per capire se i file sono letti bene.

ciao
tiMo
Ho già provato a leggerlo con Matlab direttamente come file binario, ma mi mancano alcune informazioni che invece nel programma Fortran ci sono: ad esempio la posizione dei vari valori da andare a pescare (dovrebbero essercene 10 diversi per ogni riga in quanto come risultato devo avere 2 dile distinti)... Non avrei quindi modo di capire se i file sarebbero corretti...
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati
Pess è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 11:15   #11
tiMo
Member
 
Iscritto dal: Jan 2005
Messaggi: 157
1. hai provato a settare -qrealsize=4 ? Il valore 8 potrebbe avere senso solo su determinate architetture (e.g. Cray).

2. Io provererei a installare una trial version del compilatore IBM, però hai bisogno di linux.

http://www-01.ibm.com/software/awdto...fortran/linux/

ciao

tiMo
__________________
The plural of anecdote is not data.
~ Roger Brinner
tiMo è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 11:36   #12
Pess
Senior Member
 
L'Avatar di Pess
 
Iscritto dal: Aug 2006
Città: Milano (MI)
Messaggi: 7307
Quote:
Originariamente inviato da tiMo Guarda i messaggi
1. hai provato a settare -qrealsize=4 ? Il valore 8 potrebbe avere senso solo su determinate architetture (e.g. Cray).

2. Io provererei a installare una trial version del compilatore IBM, però hai bisogno di linux.

http://www-01.ibm.com/software/awdto...fortran/linux/

ciao

tiMo
Ho provato anche quello... Senza mettere 8 il programma non parte nemmeno...
Purtroppo non ho a disposizione una macchina con linux ora... Ieri un mio amico che ha linux ha provato con iFort della intel ma senza ottenere nulla purtroppo...
__________________
OnePlus 12 16/526Gb
Thread sull'utilizzo degli SSD e sui modelli consigliati
Pess è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Toyota usa giochi e premi per spingere i...
HarmonyOS ha raggiunto la soglia di sopr...
Le offerte Amazon più convenienti...
Un gruppo di ladri ha usato Google Maps ...
Apple non si fida di Samsung per la real...
Windows 11: un nuovo driver nativo mette...
Vi hanno regalato buoni Amazon? Intanto ...
Via acari, polvere e sporco da materassi...
Cuffie Beats in super offerta su Amazon,...
Xbox Cloud Gaming arriva su Amazon Fire ...
Un blackout a San Francisco manda in til...
Windows 11 è diventato più...
Apple cambia strategia a causa della cri...
007 First Light: uscita rimandata di due...
Samsung Galaxy A37 e A57: il comparto fo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v