Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
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


Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
Il nuovo Snapdragon 8 Elite Gen 6 sar&ag...
Nintendo Switch 2: risultati sotto le at...
Weekend con tante sorprese su Amazon: to...
HONOR non si ferma più: il 2025 &...
Speciale best seller: EUREKA J15 Evo Ult...
Roborock Q10 X5+ da 10.000 Pa a 199€ &eg...
E-mail reset password di Instagram: la c...
La NASA ha discusso le problematiche del...
Il razzo spaziale NASA SLS e la capsula ...
Stazione Spaziale Internazionale: Crew-1...
Samsung Galaxy S26 Ultra: la ricarica de...
Apple ha un nuovo partner per la sua App...
Trenitalia introduce il prezzo dinamico ...
OnePlus non si ferma più: c'&egra...
DAZN sconta il piano Full per 6 mesi, se...
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: 00:24.


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