Last active
November 15, 2015 21:52
-
-
Save blippy/82c23d1d0cdb932a4c29 to your computer and use it in GitHub Desktop.
Using C to print out an HDF5 file of float64's
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
begin 764 foo.h5 | |
MB4A$1@T*&@H```````@(``0`$`````````````````#__________YX5```` | |
M````__________\``````````&```````````0````````"(`````````*@" | |
M`````````0`!``$````8`````````!$`$```````B`````````"H`@`````` | |
M`%12144```$`_____________________P``````````5A0````````(```` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M``````!(14%0`````%@`````````$`````````#(`@`````````````````` | |
M4$52```````!`````````$@````````````````````````````````````` | |
M``````````````````````````````````````````````!44D5%`0`!`/__ | |
M__________________]."`````````````````````````````!0"P`````` | |
M````````````JP(````````(```````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M`````````````````````'A>59A]B%1E%,:W((S%R,VM=4W7W?F\\WWOS)W/ | |
MW5GOS)J;FMGV)=)JF2""%$9%906;MD@2+($1%D1B251(M!0B2!>CC"C""!9A | |
M"98H(BN$6(D@:/8^O_=&\\\P<]_W/><\YSG/.>^]^\S`].57&EZS>^[D@7,E | |
M;^%@[^GQW07OL:4_KB3Y'?%*2Y\_A_5[J.FE)F?.+[Y;\CJ[FMU]3>^WB<Y! | |
M&=L[/=Y9D<]Z>Y<^5_=[7<$GZGVV:$W.M&V^&W[P?:BD]:?KWI+YYL`+7N=4 | |
M:W);4>=;>6_)O8FG;]?Z\VGY=<#R7C_>^;ST('XGM*X6]X)MDV7O]L#1O-;; | |
M^'7:#?;M6/V1]\W7G<\=#>T[D])YQVW_ZI*9Q>4A#F]WPIO;T];Z#S9XSW;^ | |
M7CC;\)9V#4SG%?<#]WO!OB>SX&)I7S2'OROQ/Z[]!]=ZZX(#5OD!KK.V\$K4 | |
M%$^S0!QIUN?T?*^+W9SLON^`MRW[Y1%P`)_^]5JWWY*]-\?EU\EUBF\AQ?,X | |
M?J?Q8UAV&V-^8.\ZV[L[.'B+;_PQN,DO2WD]WZ=S]KG*^U1%>>W.B">OC9*O | |
M@N*XKDA>HJRWB<^!9U7Q[O$J_D>)R]%ZSR9O1?%F)B_[7[:4_PL1K>LRO(O` | |
MBPSYM>37=K.NP7==^?[:4=Q/O4@<4=DY?$#G'7+`+8E_>?E;VDH>T_`@@W\- | |
MK?_%`;>,SCT:"?DN?"SRGX2G.?F];`0^Y>%%@M_KR'^1]3%?O$CZPBLJOV:S | |
M^%G1_K^ICP-5<(R0#YLXAG3N8I9XAO`SX0?FC\5E[V67?-GBQ;X)X3A%GC]W | |
M%<\:6_NO;\&G/.O*/*]@S\6_B'"^MD[>TY[LUHBGS/H!^!33\WOKPO>+V^"Y | |
MX7^!.-&'"_!HRM2IQ?JKGXH7ELY_M:6X_D+OYJB_RP:_?%@'\B.EO+ZW6<\_ | |
MM!7??!$_JGK^%;IWM`'?#$ZN\/X'7?@Y!B_0J?Z\SOF!=<^7P'.MSEE.73U: | |
M(R_H[!]%V=M<Q.\XO"Z#9]0/[%7N]^5/#+VPT<$J>I&$!_W43P:>)WV=6P2G | |
M&[%K@X.ITS2ZE5$\.SSYG1T'#Q?_(L3E8+^I[Q_I5YWZ"O)X9`Q<X\IG5XP\ | |
M6/C9I]\_;1%O>\N<[["N[0=^;:O(WHF=V.W2_S,9UN7@ERL_QEKZOOP0>HF? | |
MT;3V7QR&)ZN#?6<+G\#?"+C7P7>0>MN$?F>Q4PQYIW.+^K\W1?TGX7^>ON62 | |
MGSQ\<X3WMR7?]"79,3IU*_T;WDVB4]OJ]+-TV-=-70?;_BR3/^KC8]/W!^EK | |
MR^3OX98?P/R/BW[M1(>IEY^S\!T=M1SJ8"7\K:*OK'NN15VLQUZ5_-?!#5ZN | |
M>CC4"_%PC=$M<!R$/SV*[XT)ZLNAO[O4<PX_T,N#!>HDX\OO(GQ#=Y>/PZ^; | |
MI+O'33V6.:_$?O3\@D5^'/`V>:B1_TWT,T]\ZK'!MX`^%K"?@$\WD]<,_,ZB | |
M9QET?1UVL^`<U?,3V#MF^JI#?T]2W_2QPUNP@RYW^FD0UBGFHSO2]&L3)WWD | |
MR%/A/*2\,U].W<=O%SUSX!>X^D7T^I901U0O:>%V8YZX1GSAD,1_FWQ56%<& | |
MAS3U$B?>`O5M\D3]7\P0'WUXGOEV/W79FT/'8EKW\%W2AW?&L,?\=[([K%/5 | |
ML>D#,?PND:<R?$SH_.^-CL3PQ^CT`'E+AG4L?:F`8Y[X+)W;F=^5MPW$$\=N | |
M@7HQ<T0*W"J&W\3!_',QA9^YL/Z#O%RBG^\K4=_,B1=-?=WL:TXM<Q[\F#6Z | |
M9_G2;9L^YJ`'Z/.54?Q.,1>:.9^Y;8[Y[U)1YZX<ISZ8H]>V\!M<C[7H:^2Y | |
MITT^4IR7HL^@=[42_<CHS$;P7\$^YMPN<)E-HB/HT"_,L[_O0:],WS'X)N3' | |
M*Z:_FKZ<0,\;Y#-*?7'O*$_Z\A?<QP?1<?P^$P]Y*-Z,_'_>6O&`+[\3\+BL | |
M=;]ZZ$,&O5Q%?3/W='1`N+B*]]-GN8>`@\__I5BH;_I=-7V*.,P]J%_Y']V` | |
M?P7N$;50W\P<:.X=AF?B2QN\T,&I.'C`2XLYZ4WFTX4$?MKH'GI_<(4OW'KU | |
MO&N'^/)$F[RY.N_IAZC_7OR\!ETW.EL.^[3PJL&3./Z:><UAKC7W'^:W'I=S | |
MF7MZJM1)`9XX]#6;O%GTPPKQ<V^<9_Z8L/W@_]H>="+"\R%?<>6(?R2\%TE' | |
MTN"69.YA?LR;_A-%CQWR/QSJB7"`9UWHW1IX,4L<$^8>5@GU(SAVVM6\8/!I | |
M&QSAYU?FWI0%!\,C^M?W1?C!W'N"/C+59M\MX$9?Z3?O.6+431_KAO$_RWS# | |
M>Y$%\G,(WC1J\BM])WAPCYG/D9<R_$V'=2B^W@!/(N@D]Z3I`O-.';TJP;<2 | |
M_2<GGM9R^)<+SU$\]+G.O!_$^:U-_.8]2X[[F)G'Z]2IJ1/FI8Z.R-^"_M]5 | |
MHG]5POZD?=SO-S<5]\@8?MU'7M+A_4TX)#G7(O_TEPGZ>!Z_MS7)=YOXA\A3 | |
M0GCMW.JK3M"I?970;]7-1NGC=G2BV:1^QLBCT17>;RWDF#-ND/_>?_=1^3-* | |
M7^,>?"Y+_KE/'<TPM\69E^_![[[POB3^Q\-[J,$]\',N!B_,>Z7_ZD_GEIE3 | |
MC(XWP<_@AA_=?;[RG:!^R/?T6GC)^RFKPKQEWNNDPSD[H/\I>'MVF#F4/MN9 | |
MI]5OJ8>A-GI`77SWA/K]RD=TCSSETF^'I/.[S#R1T_.-8]CG?4QG/E.\272( | |
M/C9CTW=3\)AY>='$%U'>WMI$7+?YPB<+_YAG:^C7+O->:AA_XM3_(/L2\F<W | |
M>.P=\?7;S)'<K];0KR>?@0=-ZK;F_0L2V</Q`0`&``$```"H``````````$` | |
M&````````0$!``````"K`@```````*L"`````````P`8``$````1(#\`"``` | |
M````0``T"P`T_P,````````%``@``0````(#``$`````"P`@``$````!`0`` | |
M``````$`"``!``$`9&5F;&%T90`$``````````@`&``!`````P("(`,````` | |
M``"K`@``"```````````$@`(```````!````8&E&5E-.3T0!``$`"``````` | |
M``">$P`````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
M```````````````````````````````````````````````````````````` | |
L```````````````````````````````````````````````````````````` | |
` | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Example of reading data in HDF | |
Compile using: | |
gcc h5print.c -lhdf5 | |
Dataset is available in UUENCODED format at: | |
https://gist.github.com/blippy/82c23d1d0cdb932a4c29 | |
*/ | |
#include "hdf5.h" | |
#include <stdio.h> | |
#include <stdlib.h> | |
#define FILE "foo.h5" | |
#define DATASET "PER" | |
#define DIM0 32 | |
#define DIM1 64 | |
#define CHUNK0 4 | |
#define CHUNK1 8 | |
int | |
main (void) | |
{ | |
hid_t file, space, dset, dcpl; /* Handles */ | |
herr_t status; | |
htri_t avail; | |
H5Z_filter_t filter_type; | |
hsize_t dims[2] = {DIM0, DIM1}, | |
chunk[2] = {CHUNK0, CHUNK1}; | |
size_t nelmts; | |
unsigned int flags, | |
filter_info; | |
int i, j; | |
float rdata[DIM0][DIM1]; | |
/* | |
* Open file and dataset using the default properties. | |
*/ | |
file = H5Fopen (FILE, H5F_ACC_RDONLY, H5P_DEFAULT); | |
dset = H5Dopen (file, DATASET, H5P_DEFAULT); | |
/* | |
* Retrieve dataset creation property list. | |
*/ | |
dcpl = H5Dget_create_plist (dset); | |
space = H5Dget_space(dset); | |
printf("Sizeof float is %d\n", sizeof(float)); | |
nelmts = H5Sget_simple_extent_npoints(space); | |
printf("Number of elements: %ld\n", nelmts); | |
/* | |
* Read the data using the default properties. | |
*/ | |
status = H5Dread (dset, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, // me added FLOAT | |
rdata[0]); | |
// print the data -- not very elegent | |
for (i=0; i<DIM0; i++) | |
for (j=0; j<DIM1; j++) | |
{ | |
printf("%f\n", rdata[i][j]); | |
if (--nelmts == 0) {goto bored;} | |
} | |
bored: | |
status = H5Pclose (dcpl); | |
status = H5Dclose (dset); | |
status = H5Fclose (file); | |
return 0; | |
} |
I think I may have to
status = H5Sclose (space);
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The sample dataset is in UU-ENCODED form, and needs to be decoded first before use.