Bonjour,
y-a-t-il une fonction fortran qui permet de lire un fichier de format .h5 comme on peut le faire avec read pour un fichier .DAT ou .TXT
Merci
Bonjour,
y-a-t-il une fonction fortran qui permet de lire un fichier de format .h5 comme on peut le faire avec read pour un fichier .DAT ou .TXT
Merci
Salut!
C'est quoi le format .h5? Dans Wikipedia, j'ai trouvé:
Alors?H5 peut faire référence à :
- H5, un collectif de graphistes français
- H5, une société américaine spécialisée en recherche d'information
- un type d'hémagglutinine présent dans le virus de la grippe aviaire H5N1
- Sony Cyber-shot DSC-H5, un appareil photo de la série Sony Cyber-shot DSC
- Magadan Airlines, selon la liste des codes AITA des compagnies aériennes
Jean-Marc Blanc
Une simple recherche Google "Fortran hdf5" retourne plein de liens qui semblent pertinents...
Il me semble qu'il y a une interface dans la bibliothèque officielle. Tu l'as essayée ? C'est sans doute la meilleure manière d'accéder aux données sous ce format !
Le format .h5 vient de là :
http://www.hdfgroup.org/HDF5/
Tua s la réponse au même endroit... http://www.hdfgroup.org/hdf5-quest.html#F90
Bonjour,
pour lire un fichier h5 avec fortran, j'utilise la routine suivante :
Mais ça me renvoie comme erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 PROGRAM H5_RDWT USE HDF5 ! This module contains all necessary modules IMPLICIT NONE CHARACTER(LEN=12), PARAMETER :: filename = "f1tab_WOF.h5" ! File name CHARACTER(LEN=5), PARAMETER :: dsetname = "dset1" ! Dataset name INTEGER(HID_T) :: file_id ! File identifier INTEGER(HID_T) :: dset_id ! Dataset identifier INTEGER :: error ! Error flag REAL, DIMENSION(21,63) :: data_out ! Data buffers INTEGER, DIMENSION(21,63) :: dset_data INTEGER(HSIZE_T), DIMENSION(2) :: data_dims ! Initialize FORTRAN interface. CALL h5open_f(error) ! Open an existing file. CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error) ! Open an existing dataset. CALL h5dopen_f(file_id, dsetname, dset_id, error) data_dims(1) = 21 data_dims(2) = 63 CALL h5dread_f(dset_id, H5T_NATIVE_REAL,data_out, data_dims, error) print*,'data',data_out(:,1) ! ! Close the dataset. ! CALL h5dclose_f(dset_id, error) ! ! Close the file. ! CALL h5fclose_f(file_id, error) ! ! Close FORTRAN interface. ! CALL h5close_f(error) END PROGRAM H5_RDWT
Ça vient de la fonction READ : quelqu'un a une idée sur l'option à modifier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 DF5-DIAG: Error detected in HDF5 (1.8.10-patch1) thread 0: #000: ../../src/H5Dio.c line 174 in H5Dread(): can't read data major: Dataset minor: Read failed #001: ../../src/H5Dio.c line 337 in H5D__read(): unable to set up type info major: Dataset minor: Unable to initialize object #002: ../../src/H5Dio.c line 838 in H5D__typeinfo_init(): unable to convert between src and dest datatype major: Dataset minor: Feature is unsupported #003: ../../src/H5T.c line 4523 in H5T_path_find(): no appropriate function for conversion path major: Datatype minor: Unable to initialize object
Merci
"unable to convert between src and dest datatype"
C'est assez explicite, tu as un problème de typage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager