J'ai un fichier .bin contenant des pentes et des interceptions. J'utilise Fortran pour lire les valeurs et j'obtiens des valeurs différentes sur les machines exécutant AIX et Linux. Je crois que les données Linux sont exactes. Cela a-t-il quelque chose à voir avec la taille de la pile ou les endiens?Les données du bac sont lues différemment sous AIX et Linux.
Par exemple, la valeur AIX max est: 0.3401589687E + 39 alors que Linux valeur maximale est: 6,031288
program read_bin_files
REAL :: slope(2500,1250)
INTEGER :: recl=2500*1250*4
OPEN(UNIT=8, FILE='MODIS_AVHRR_years_slope.bin', ACTION='READ', ACCESS='direct', FORM='unformatted', RECL=recl, IOSTAT=iostat)
READ(unit=8, REC = 1, IOSTAT = iostat) slope
print *, "Max slope value is:", maxval(slope)
CLOSE(8)
end
Pourquoi ne pas utiliser la clause d'accès '' stream' et éviter recl' tous ensemble? Avez-vous accès à un compilateur Fortran moderne (2008+)? Si c'est le cas, utilisez le spécificateur 'newunit'. – jlokimlin