A set of tools to convert HDF files produced by MPI numerical models, such as those in the atmospheric science, to other formats for visualization and analysis. A simple API is included which can be incorporated into any C/FORTRAN code.
Be the first to post a text review of hdftools. Rate and review a project by clicking thumbs up or thumbs down in the right column.
A set of tools to convert HDF files produced by MPI numerical models, such as those in the atmospheric science, to other formats for visualization and analysis. A simple API is included which can be incorporated into any C/FORTRAN code. See CHANGELOG for info. This release is in concert with the latest official version of CM1 which contains HDF output as an option. This HDF output code in CM1 was written by me and the tools here work with this format natively.
1.0 initial release 1.0.1 Merged makefiles into one file Netcdf, hdf include/libs taken from environment variables (user must set these) Added more intelligent code to deal with metafiles. Are generated automatically if they are not there. Added reflect routine in hdf2v5d.c but is only a placeholder 1.0.2 Added new reflectivity code which changed API (ns variable for number of species). Corrected various typos in comments. Fixed bug in readmult where fopen was not matched with fclose with metafile code and would core dump when too many files were open Added derived options (qcqi, dbz) to sample hdf2v5d.dat file, also default to compress=2 rather than 4 for small file size. 1.0.3 Fixed major bug in readmult. SDreadattr was passing id (declared but never uesd) instead of sds_id. Oddly enough this usually did not end up causing a problem, probably because sds_id is usually zero anyway. 1.1.0 Added two more routines: first_hdf_index: Finds a hdf file in the directory where the HDF files are. This is in order to accomodate removal of some of the HDF files to save disk space (say for example near the model boundaries). If all of the HDF files are available, will return 0 (for rank 0 file). Metadata is constant across all HDF files, and this provides an easy way to get access to any HDF file in order to get this metadata. get_hdf_metadata: Gets the metadata required to reconstruct the node geometry parameters needed by read_hdf_mult. This routine must be called only once, and nx,ny,nz,nodex,nodey values must be passed to read_hdf_mult for all future calls to read_hdf_mult. This was done in order to eliminated the need to create metafiles and in order to reduce on the number of reads to HDF files. API to read_hdf_mult changed: removed nhist and added nx,ny,nz,nodex,nodey Added useful error messages everywhere (die_here) Changed API of hdf2b: All input specificed at command line. hdf2b and b2nc: X0 Y0 XF YF Z0 ZF all stored in netcdf file in order to know where you are in the domain. hdfslice2bin removed. Recommend executing hdf2b in a shell script loop and doing "ncview *.nc" for animations to reproduce hdfslice2bin functionality. genhdfmeta removed, as it is obsoleted with new approach. hdfglue removed, no interest in maintaining 1.2.0 5/14/08 MMM readmult.c: Able to read lossless (floating point) HDF data format. This is now an option in CM1. Automatically detects data type, is transparent to user. hdf2v5d.c: Added capability to read files easily when each time is stored in a directory rather than all files in a single directory. This is how I store data for big runs on cobalt. See isdir option. hdf2v5d.c: Added offset inidces which can be put in hdf2v5d.dat file from netcdf X0,XF,Y0,YF. This makes it easier to choose box vertices for vis5d files when using ncview as a guide. You can read ncview coordinates right off screen, as they are relative to .nc data not model domain data. hdf2nc.sh: Created an example invocation of the hdf to nc converter in a script which creates files which can be animated with ncview
hdftools 1.1 contains several performance improvements for dealing with large amounts of data.
1.0 initial release 1.0.1 Merged makefiles into one file Netcdf, hdf include/libs taken from environment variables (user must set these) Added more intelligent code to deal with metafiles. Are generated automatically if they are not there. Added reflect routine in hdf2v5d.c but is only a placeholder 1.0.2 Added new reflectivity code which changed API (ns variable for number of species). Corrected various typos in comments. Fixed bug in readmult where fopen was not matched with fclose with metafile code and would core dump when too many files were open Added derived options (qcqi, dbz) to sample hdf2v5d.dat file, also default to compress=2 rather than 4 for small file size. 1.0.3 Fixed major bug in readmult. SDreadattr was passing id (declared but never uesd) instead of sds_id. Oddly enough this usually did not end up causing a problem, probably because sds_id is usually zero anyway. 1.1.0 Added two more routines: first_hdf_index: Finds a hdf file in the directory where the HDF files are. This is in order to accomodate removal of some of the HDF files to save disk space (say for example near the model boundaries). If all of the HDF files are available, will return 0 (for rank 0 file). Metadata is constant across all HDF files, and this provides an easy way to get access to any HDF file in order to get this metadata. get_hdf_metadata: Gets the metadata required to reconstruct the node geometry parameters needed by read_hdf_mult. This routine must be called only once, and nx,ny,nz,nodex,nodey values must be passed to read_hdf_mult for all future calls to read_hdf_mult. This was done in order to eliminated the need to create metafiles and in order to reduce on the number of reads to HDF files. API to read_hdf_mult changed: removed nhist and added nx,ny,nz,nodex,nodey Added useful error messages everywhere (die_here) Changed API of hdf2b: All input specificed at command line. hdf2b and b2nc: X0 Y0 XF YF Z0 ZF all stored in netcdf file in order to know where you are in the domain. hdfslice2bin removed. Recommend executing hdf2b in a shell script loop and doing "ncview *.nc" for animations to reproduce hdfslice2bin functionality. genhdfmeta removed, as it is obsoleted with new approach. hdfglue removed, no interest in maintaining
1.0 initial release 1.0.1 Merged makefiles into one file Netcdf, hdf include/libs taken from environment variables (user must set these) Added more intelligent code to deal with metafiles. Are generated automatically if they are not there. Added reflect routine in hdf2v5d.c but is only a placeholder 1.0.2 Added new reflectivity code which changed API (ns variable for number of species). Corrected various typos in comments. Fixed bug in readmult where fopen was not matched with fclose with metafile code and would core dump when too many files were open Added derived options (qcqi, dbz) to sample hdf2v5d.dat file, also default to compress=2 rather than 4 for small file size. 1.0.3 Fixed major bug in readmult. SDreadattr was passing id (declared but never uesd) instead of sds_id. Oddly enough this usually did not end up causing a problem, probably because sds_id is usually zero anyway.
1.0 initial release 1.0.1 Merged makefiles into one file Netcdf, hdf include/libs taken from environment variables (user must set these) Added more intelligent code to deal with metafiles. Are generated automatically if they are not there. Added reflect routine in hdf2v5d.c but is only a placeholder
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?