Commit Graph

55 Commits

Author SHA1 Message Date
Pedro Vicente Nunes
c24cea791f [svn-r13503]
Preparation for making 1.6 and 1.7 h5dump more similar and 1.6 to have 1.7 fixed bugs incorporated
2007-03-12 11:36:34 -05:00
Quincey Koziol
bb392083b2 [svn-r13297] Description:
Add small 'h5mkgrp' tool to create groups in an HDF5 file from the command
line, allowing the group structure for a file to be created in a script.  This
tool closely follows the 'mkdir' command line tool in UNIX/Linux.

    Allow tool library applications to pass a FAPL to the h5tool_fopen() call,
giving some additional flexibility to tools which are adding objects to an
existing HDF5 file (like h5copy & h5mkgrp).

    Fix missing files in MANIFEST from previous checkin(s).

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-14 08:54:11 -05:00
Quincey Koziol
d3c5ab50fc [svn-r13292] Description:
Add feature to h5copy to allow it to add an object to an existing file,
instead of blowing away existing file.

    Modify h5tools_fopen() routine to take access flags, so it can be used
to open an existing file for writing.

    Added check to h5copy test script that verifies it has produced a file
with the correct structure.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-13 17:42:43 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
Pedro Vicente Nunes
ba14f83846 [svn-r13134]
New version of the function h5tools_dump_simple_subset, to display subsetting. The new algorithm is: 
Introduced an outer loop for cases where dimensionality is greater 
 than 2D. In each iteration a 2D block is displayed by rows in a inner
 loop. The remainning slower dimensions above the first 2 are incremented 
 one at a time in the outer loop

Note: when blocks are introduced, the display is not correct. This is a bug that requires an improvement of the algorithm.
2007-01-10 14:15:16 -05:00
Pedro Vicente Nunes
aa646b5b43 [svn-r13064]
Fix several bugs

1) the parsing of subsetting was using atoi to convert the parameter to an int, which caused problems for numbers greater that int. Substitute with atof

2) the printing of indices in the subsetting case was not being done. Solution: calculate the element position at the start of the subsetting using the algorythm 

Given an index I(z,y,x) its position from the beginning of an array   of sizes A(size_z, size_y,size_x) is given by
Position of I(z,y,x) = index_z * size_y * size_x 
                              + index_y * size_x
                              + index_x

And pass that position to the function that dumps data, h5tools_dump_simple_data. 

3) several index counters were declared as int, use hsize_t instead

4) modified the test generation program so that it includes test cases for subsetting of 1d, 2d, 3d, and 4d arrays and add these tests to the shell script
2006-12-14 16:18:08 -05:00
Pedro Vicente Nunes
a1edc70691 [svn-r12784]
Fixes for bugs 676, 228

676: both h5repack and h5diff use H5Dread. In the case of a "big"
dataset, use read/write by hyperslabs the same way h5dump uses. An
arbitrary value of 1GB was defined for "big", i.e, if the dataset is
greater than 1GB, then read/write by hyperslabs

228: use the file type in read/write by default. A new switch -n was
introduced if the user wants to use a native type, which was the
previous use by default.

Added a new test for h5repack that repacks a 1GB dataset

Tested: heping (serial, parallel), sol, copper
2006-10-19 12:07:26 -05:00
Quincey Koziol
14dcb6db33 [svn-r12736] Description:
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)

    Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back.  (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
    Carry those changes into the tests, etc.

    Clean up a bunch more compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-1.6-compat
2006-10-08 23:18:18 -05:00
Albert Cheng
66d2d26f5d [svn-r12634] Purpose:
Code cleanup.

Description:
Removed argc and argv from the function arguments of h5tools_get_fapl() and
h5tools_fopen().  They were used to call MPI_Init() which was no longer
needed.

Tested:
heping (serial and parallel).
2006-08-27 19:55:27 -05:00
Albert Cheng
104edc6fb9 [svn-r12534] Purpose:
Bug fixes.

Description:
There were MPI_init and MPI_finalize calls in the code of h5tools_fopen in
parallel mode.  But if a non-MPI tool is invoke to open a non-existing
file, it tries to open the non-existing file with different VFD and
eventaully came to try with the MPIO or the MPIPOSIX vfd, then it would
try to do MPI_Init which would fail in the MPI environment if the a.out
was not launched by MPI properly.

Solution:
MPI_Init and MPI_Finalize in general should be called by the MPI application,
not called by a library subroutine as in the manner that was done here.
Removed the MPI_init and MPI_Finalize calls.  Used MPI_Initialized to
verify if this has been launched as an MPI application in the proper
manner before attempting to use the MPIO or the MPIPOSIX VFD to open
the file.

Tested:
In tg-ncsa parallel, where it had failed explicitly and also in Heping,
using both serial and parallel mode.
2006-08-03 21:57:36 -05:00
James Laird
3e755623cb [svn-r12528] Added User-Defined links to the library.
Users can create external links using H5L_create_external().  These links
point to an object in another HDF5 file.  Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.

Added tests, tools support, etc.

Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).

Additional documentation and examples are forthcoming.
2006-08-02 18:41:53 -05:00
Pedro Vicente Nunes
70b46a1d89 [svn-r12518] h5dump binary output:
1. changed the -F flag option names to "BE and "LE" for big and little endian 
2. added a more verbose usage message for these options
3. add a new test
4. add a make clean instruction  to *.bin
2006-07-31 11:04:31 -05:00
Pedro Vicente Nunes
c7384f49e0 [svn-r12513]
new feature
h5dump binary output. use little and big endian type conversions
2006-07-28 10:00:29 -05:00
Pedro Vicente Nunes
b7dd856aea [svn-r12504]
bug fix

calling h5tools_get_fapl running the mpio driver caused H5FD_pl_copy to
fail silently in some conditions. a MPI call was made before MPI_Init.

solution: corrected the MPI call to be made after MPI_Init and added error return
conditions to H5FD_pl_copy and h5tools_get_fapl

tested on copper parallel, mir, shanti
2006-07-27 10:01:48 -05:00
Quincey Koziol
e9d6c992d6 [svn-r12474]
Clean up some compiler warnings.

Tested on:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-07-15 14:49:04 -05:00
Pedro Vicente Nunes
7637b67933 [svn-r12444] Purpose:
new feature

Description:

added support for h5dump to dump binary data using the file type format
added one test to the test script that tests this


Solution:

Platforms tested:
mir
shanti
copper


Misc. update:
2006-06-28 14:34:08 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
Pedro Vicente Nunes
8846157e59 [svn-r12437] Purpose:
new feature. h5dump output of binary data

Description:
a new switch -b FILE_NAME that dumps the contents of memory data to file FILE_NAME in binary form

new program binread.c that reads the contents of this file and outputs it to stdout

added a test for the h5dump shell script that does a run of -b
the binread.c program reads the data used in this run, usage is ./binread FILE_NAME


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2006-06-26 09:41:59 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
Pedro Vicente Nunes
c997f29d60 [svn-r11584] Purpose:
bug fix


Description:

an assertion after the search for objects was saying that the number of
objects in file should be > 0
removed it, since there can be a case where the number of objects is 0.
in this case this was found by a case where zlib was not present and the output file
was not written any objects to

note: this was only detected on the windows batch files, that do not have a conditional
condition to not run tests when a filter is not present


Solution:

Platforms tested:
linux

Misc. update:
2005-10-19 11:46:12 -05:00
Quincey Koziol
a4329aaa47 [svn-r11297] Purpose:
Code cleanup & speedup

Description:
    Refactor h5dump & related code to be considerably cleaner & faster for
files with large #'s of objects.

Platforms tested:
    FreeBS 4.11 (sleipnir)
    Linux 2.4
2005-08-25 15:16:40 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Pedro Vicente Nunes
1b313aa2f6 [svn-r10738] Purpose:
bug fix 366

Description:
the printing of the array indices was done relatively to the stripmine data (data read
by hyperslabs when its memory requiremnts are too large)
this was causing an incorrect numbering of the array indices (the next read would initialize
the indices to zero)

Solution:
added a field to the print context that keeps track of the stripmine position
and pass to the rendering function the total element position

Platforms tested:
Linux

Misc. update:
2005-05-09 09:53:22 -05:00
Pedro Vicente Nunes
983e9a9e26 [svn-r9961]
Purpose:
bug fix, new test file

Description:
h5dump was not properly displaying array indices > 3D

Solution:
added the same algorythm and data structure that h5diff uses to calculate the array index
from a element number position

Platforms tested:
linux
solaris






Misc. update:
2005-02-08 15:55:17 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Raymond Lu
22a72b911e [svn-r9531] Purpose: Bug fix(#213)
Description:  H5Pset_fapl_family sets family member size only for creating
new file.  The file doesn't keep this size information.  When the file is
re-opened, the size of first member file is used as the member size.

Solution:  Assume user knows the original member size and sets it through
H5Pset_fapl_family.  That will be the member size.  User can pass in value 0
as member size if he doesn't know the original member size.  Library will
choose the size of current first member size as the member file size.

Platforms tested: h5committest and fuss.
2004-11-16 11:38:28 -05:00
Quincey Koziol
e1c1f5cc15 [svn-r9395] Purpose:
Bug fix

Description:
    Correct a couple of array bounds issues exposed by the PGI compiler

Platforms tested:
    Linux 2.4 (verbena) w/PGI compilers
    Too minor too requie h5committest
2004-10-10 14:22:03 -05:00
Quincey Koziol
a25cc355a3 [svn-r9382] *** empty log message *** 2004-10-08 13:41:44 -05:00
Quincey Koziol
defe612ab2 [svn-r9370] Purpose:
Refactor code

Description:
    Refactor common code for determining the native type for using in the
tools into separate routine.

    Also, reduce diffs between the two branches and bring back some fixes from
the development branch to the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    too minor to require h5committest
2004-10-06 11:11:18 -05:00
Raymond Lu
7ba45c05b3 [svn-r9364]
Purpose:  change feature

Description:  Back up support bitfield and time datatypes in H5Tget_native_type.Leave it to future support.  Let it return "not supported" error message for
now.


Platforms tested:  h5committest and fuss.

Misc. update:  RELEASE.txt
2004-10-05 09:31:14 -05:00
Pedro Vicente Nunes
d5c705a642 [svn-r8840] Purpose:
bug fix

Description:
when printing array indices , the calculation of the current column was not done correctly

Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-07-08 16:49:40 -05:00
Pedro Vicente Nunes
265a1d0209 [svn-r8773] Purpose:
bug fix

Description:
the indentation was not made properly for nested objects when printing array indices

Solution:
added the indentation to h5tools_simple_prefix function

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-06-30 13:45:14 -05:00
Pedro Vicente Nunes
bad5b7ec31 [svn-r8622] Purpose:
h5dump new version

Description:
added the changes already made for 1.6
support for dumping of
1) filters
2) storage layout
3) fill value
4) comments
5) superblock
6) file contents
7) array indices


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-07 11:40:25 -05:00
Raymond Lu
9e9bdad5e9 [svn-r8563] *** empty log message *** 2004-05-21 10:58:53 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Quincey Koziol
1b147875db [svn-r8151] Purpose:
Bug fix

Description:
    Fix h5tools routines to not try to call MPI_Init() unless an MPI-based
VFD is actually used.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    Linux 2.4 (verbena) w/parallel
2004-02-04 17:43:00 -05:00
Quincey Koziol
233319898d [svn-r8143] Purpose:
New Feature.  (Contributed by Robb)

Description:
    Allow h5ls to specify a VFL with the '--vfl=' command line flag.

    Add MPI-I/O & MPI-POSIX VFL drivers to list of drivers available for
h5ls and h5dump.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    h5committested
2004-02-01 22:32:41 -05:00
Quincey Koziol
32220914a5 [svn-r7401] Purpose:
Code cleanup

Description:
    Remove various "fixtype" routines which duplicate (and actually pre-date)
    the functionality in H5Tget_native_type in favor of having the tools call
    H5Tget_native_type().  This provides the same functionality (actually better
    functionality, since the old "fixtype" routines didn't handle alignment of
    compound fields correctly) and reduces the amount of code to maintain.

    Add additional tests to dump out a "complex" compound datatype which
    exercises more code in the library for aligning compound fields correctly.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-25 15:00:56 -05:00
Quincey Koziol
2629b6e4d3 [svn-r7109] Purpose:
Code cleanup

Description:
    Clean up varios compiler warnings flagged by SGI compiler and gcc 3.3

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-25 21:10:33 -05:00
Quincey Koziol
103f7b4c92 [svn-r7006] Purpose:
Bug fix/new feature

Description:
    Teach h5dump/h5ls to display variable-length datatypes correctly.

    Change "raw byte" output of array elements from "0xde8141b1a818" to
    "de:81:41:b1:a8:18" so that it's easier for users to read.


Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest

Misc. update:
    Patch provided by Robb Matzke (matzke@llnl.gov)
2003-06-09 14:29:28 -05:00
Bill Wendling
eb018ba036 [svn-r6544] Purpose:
Update

Description:
    Update copyright statement

Platforms tested:
    Linux (Comment change only)

Misc. update:
2003-03-31 13:10:51 -05:00
Quincey Koziol
1074ccf4d9 [svn-r6398] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-02-12 12:04:40 -05:00
Raymond Lu
0105a3b97c [svn-r6099]
Purpose:
    bug fix.
Description:
    h5dump cannot dump data and datatype for VL string.
Platforms tested:
    eirene, arabica
Misc. update:
    MANIFEST, RELEASE.txt
2002-11-18 11:38:11 -05:00
Bill Wendling
240c679e80 [svn-r4783]
Purpose:
	Small Fix
Description:
	Changed how the list of drivers were listed from:

		{ "driver1",
		  "driver2",
		  /* ... */
		  "drivern",
#ifdef FOO
		  "driverm"
#endif
		};

	to

		{ "driver1"
		  ,"driver2"
		  /* ... */
		  ,"drivern"
#ifdef FOO
		  ,"driverm"
#endif
		};

	since it's a nicer way of doing the same thing without the annoying
	warning of an extraneous , if FOO isn't defined.
Platforms tested:
	Dangermouse, Modi4, Kelgia
2002-01-05 11:36:59 -05:00
Quincey Koziol
d456c2bb82 [svn-r4643] Purpose:
Code cleanup
Description:
    Windows is generating hundreds of warnings from some of the practices in
    the library.  Mostly, they are because size_t is 32-bit and hsize_t is
    64-bit on Windows and we were carelessly casting the larger values down to
    the smaller ones without checking for overflow.

    Also, some other small code cleanups,etc.

Solution:
    Re-worked some algorithms to eliminate the casts and also added more
    overflow checking for assignments and function parameters which needed
    casts.

    Kent did most of the work, I just went over his changes and fit them into
    the the library code a bit better.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:29:13 -05:00
Bill Wendling
d10d58c0c3 [svn-r4455]
Purpose:
    Warning Removal
Description:
    Remove some spurious warnings from the compilation.
Platforms tested:
    Linux
2001-09-18 11:57:16 -05:00
Quincey Koziol
d24ae52673 [svn-r4326] Purpose:
Code cleanups, mostly..
Description:
    Work on pacifying the SGI compiler to get the generic properties working
    correctly with --enable-parallel and --enable-fortran.  It's not quite
    fixed yet, but I need to head home and these patches help... :-/
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 17:30:01 -05:00
Quincey Koziol
41529d180e [svn-r4312] Purpose:
Feature shift
Description:
    Take out the v1.2.x compatibility stubs and put in the hooks for v1.4.x
    compatibility when needed.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-08-06 11:01:44 -05:00
Bill Wendling
88729d4c14 [svn-r4282]
Purpose:
    Bug Fix/Feature Add
Description:
    Added new flag ("-f" and "--family") to allow user to specify which
    file driver to use to open the file. If they don't specify anything,
    then it defaults to the old behaviour of trying each driver in turn
    until one actually opens the file.

    If the driver the user specified doesn't succeed in opening the
    file, then we do NOT try other file drivers.
Platforms tested:
    Linux
2001-07-30 16:55:46 -05:00
Quincey Koziol
0c1c23245d [svn-r4180] Purpose:
Documentation
Description:
    Accommodate v1.2.x behavior when --enable-hdf5v1_2 is enabled.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-10 15:18:52 -05:00