aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOHDF5/src/CarpetIOHDF5.cc
Commit message (Collapse)AuthorAge
* CarpetIOHDF5: correct output method name in INFO messageRoland Haas2013-09-25
|
* Timers: Move all timer-related code into a new thorn TimersErik Schnetter2013-08-07
|
* CarpetIO*: New parameter CarpetIO*::out_group_separatorErik Schnetter2013-05-26
| | | | out_group_separator chooses the string by which thorn name and group name are separated in file names. The default is "::" for backward compatibility. This parameter only affects output where CarpetIO*::one_file_per_group is set; otherwise, the thorn name does not appear in the file name.
* Replace Cactus complex number type with C/C++ complex numbersErik Schnetter2013-03-08
| | | | | | | | | | | | | Map CCTK_COMPLEX to "double complex" in C, and "complex<double>" in C++. (It is already mapped to "double complex" in Fortran.) Update type definitions. Re-implement Cactus complex number math functions by calling the respective C functions. Update thorn that access real and imaginary parts of complex numbers to use standard-conforming methods instead.
* CarpetIOHDF5: remove index files along with checkpoint filesRoland Haas2013-02-28
|
* CarpetIOHDF5: close all HDF5 objects when output file is closedRoland Haas2012-10-24
| | | | also garbage collect HDF5 at each H5close
* CarpetIOHDF5: output index files for sliced output if requestedRoland Haas2012-10-20
|
* CarpetIOHDF5: Use string instead of char[] in HDF5 for large attributesErik Schnetter2012-09-11
|
* CarpetIOHDF5: Increase array size for last_output_iteration_sliceErik Schnetter2012-09-11
|
* CarpetIOHDF5: teach the checkpointer to write index filesRoland Haas2012-09-11
|
* CarpetIOHDF5: support indices in sequential chunked outputRoland Haas2012-09-11
| | | | which happens to be the output method used for single process runs.
* CarpetIOHDF5: add option checkpoint_every_divisorRoland Haas2012-09-11
| | | | | | to checkpoint when cctk_iteration % checkpoint_every_divisor == 0 rather than at whenever checkpoint_every iterations have passed since the last checkpoint
* CarpetIOHDF5: Introduce API to checkpoint only a subset of groupsErik Schnetter2011-12-14
| | | | | | | Introduce a new API to checkpoint only a subset of group, via an aliased function IO_SetCheckpointGroups. This can be used for simulation spawning, i.e. off-loading certain calculations (e.g. analysis) outside of the main simulation.
* CarpetIOHDF5: print more information for ID and termination checkpointknarf2011-12-14
| | | | | | CarpetIOHDF5 already prints the iteration and time for periodic checkpoints. This patch adds this to both of initial data checkpoints (also after restart) and termination checkpoints.
* Adapt Carpet to hierarchical timersIan Hinder2011-12-14
| | | | | | | | Specifically, remove any hierarchy information that has been added to the name of timers, as well as any code for creating timers dynamically, as these are now unnecessary. Additionally, time some previously-untimed parts of the code and make timer names in some places more consistent.
* CarpetIOHDF5: Store cell centering offset with grid function attributesErik Schnetter2011-12-14
|
* CarpetIOHDF5: Checkpoint and recover delta times (time step sizes)Erik Schnetter2011-12-14
|
* CarpetIOHDF5: make sure metadata matches old codeRoland Haas2011-12-14
| | | | | * add some attributes to metadata to match what the old code wrote * only tag object names with components of there are more than one
* CarpetIOHDF5: turn on 3d output in OutputSlice.ccRoland Haas2011-12-14
| | | | | | | | Register new-style output code as an IO method with IOUtil for 3d output. The new code is not quite as capable as the old code, since it does not include Ian Hinder's indexing facility and so far outputs all data on the root processor. It does support the new-style output_symmetry_points etc. options however.
* CarpetIOHDF5: Index file supportIan Hinder2011-12-14
| | | | | | | | | | | | | Scanning the attributes of a large CarpetIOHDF5 output file, as is necessary in the visitCarpetHDF5 plugin, can be very time consuming. This commit adds support for writing an "index" HDF5 file at the same time as the data file, conditional on a parameter "CarpetIOHDF5::output_index". The index file is the same as the data file except it contains null datasets, and hence is very small. The attributes can be read from this index file instead of the data file, greatly increasing performance. The datasets will have size 1 in the index file, so an additional attribute (h5space) is added to the dataset to specify the correct dataset dimensions.
* CarpetIOHDF5: Improve handling termination checkpointsErik Schnetter2011-12-14
| | | | | When checkpoints of initial data are disabled, but termination checkpoints are enabled, then do checkpoint the initial data.
* CarpetIOHDF5: Add comments and indent one lineErik Schnetter2011-12-14
|
* Re-organise time level handlingErik Schnetter2011-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the current Cactus time (and not a fake Carpet time) in the th "time hiearchy". This removes the now redundant "leveltimes" data structure in Carpet. Add past time levels to th, so that it can store the time for past time levels instead of assuming the time step size is constant. This allows changing the time step size during evolution. Share the time hierarchy between all maps, instead of having one time hierarchy per map. Simplify the time level cycling and time stepping code used during evolution. Improve structure of the code that loops over time levels for certain schedule bins. Introduce a new Carpet variable "timelevel", similar to "reflevel". This also makes it possible to avoid time interpolation for the past time levels during regridding. The past time levels of the fine grid then remain aligned (in time) with the past time levels of the coarse grid. This is controlled by a new parameter "time_interpolation_during_regridding", which defaults to "yes" for backwards compatibility. Simplify the three time level initialisation. Instead of initialising all three time levels by taking altogether three time steps (forwards and backwards), initialise only one past time level by taking one time step backwards. The remaining time level is initialised during the first time step of the evolution, which begins by cycling time levels, which drops the non-initialised last time level anyway. Update Carpet and the mode handling correspondingly. Update the CarpetIOHDF5 checkpoint format correspondingly. Update CarpetInterp, CarpetReduce, and CarpetRegrid2 correspondingly. Update CarpetJacobi and CarpetMG correspondingly.
* CarpetIOHDF5: Correct more attribute namesErik Schnetter2011-12-14
|
* CarpetIOHDF5: Correct attribute nameErik Schnetter2011-12-14
|
* CarpetIOHDF5: Use parameter IO::out_timesteps_per_fileErik Schnetter2011-12-14
|
* CarpetIOHDF5: Handle both old and new IOUtil APIErik Schnetter2011-12-14
|
* CarpetIOHDF5: Allow different numbers of ghost zones on different levelsErik Schnetter2011-12-14
| | | | | | | Allow different numbers of ghost zones and different spatial prolongation orders on different refinement levels. This causes incompatible changes to the checkpoint file format.
* CarpetIOHDF5: Increase output accuracy for time hierarchyErik Schnetter2011-12-14
| | | | | | Serialise the time hierarchy with 17 digits of accuracy, instead of the standard 6 digits. This is required for correctly recovering the time hierarchy.
* CarpetIOHDF5: #include <cstddef>Erik Schnetter2011-12-14
| | | | Ignore-this: e7d15a216ec4fbb524f1ebe1fdeff905
* Import CarpetErik Schnetter2011-12-14
| | | | Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
* Merge branch 'master' of /Users/eschnett/Cbeta/carpet/Erik Schnetter2008-10-13
|\
| * CarpetIOHDF5: fixed two small memory leaks in the checkpointing code, one in ↵Thomas Radke2008-10-13
| | | | | | | | writing string attributes, another in querying the "Checkpoint" tag of CCTK groups
| * CarpetIOHDF5: Don't called scheduled ↵Erik Schnetter2008-09-05
| | | | | | | | | | | | | | functionCarpetIOHDF5_InitCheckpointingIntervals Calling the scheduled function CarpetIOHDF5_InitCheckpointingIntervals leads to namespace problems with PGI compiler.
* | CarpetIOHDF5: Don't called scheduled ↵Erik Schnetter2008-09-05
| | | | | | | | | | | | | | functionCarpetIOHDF5_InitCheckpointingIntervals Calling the scheduled function CarpetIOHDF5_InitCheckpointingIntervals leads to namespace problems with PGI compiler.
* | Merge branch 'master' of /Users/eschnett/Cbeta/carpet/Erik Schnetter2008-09-04
|\| | | | | | | | | Conflicts: Carpet/CarpetWeb/index.html
| * Schedule the initialisation of checkpointing interval counterThomas Radke2008-09-02
| | | | | | | | | | | | | | | | variables also in the POST_RECOVER_VARIABLES bin so that the last checkpoint iteration counter starts counting from the recovered iteration number. (see also discussion thread starting at http://lists.carpetcode.org/archives/developers/2008-August/002309.html)
| * Revert "make sure that checkpoints are written at multiples of ↵Erik Schnetter2008-08-29
| | | | | | | | | | | | (<last-checkpoint-iteration> + IO::checkpoint_every)" This reverts commit 30f1c46a7f94d423bda65e04220015e0296e1347.
| * CarpetIOHDF5: Output current simulation time when checkpointingErik Schnetter2008-08-29
| |
* | Revert "make sure that checkpoints are written at multiples of ↵Erik Schnetter2008-08-28
| | | | | | | | | | | | (<last-checkpoint-iteration> + IO::checkpoint_every)" This reverts commit 30f1c46a7f94d423bda65e04220015e0296e1347.
* | Merge branch 'master' of /Users/eschnett/Cbeta/carpet/Erik Schnetter2008-08-26
|\|
| * make sure that checkpoints are written at multiples of ↵Thomas Radke2008-08-25
| | | | | | | | (<last-checkpoint-iteration> + IO::checkpoint_every)
| * CarpetIOHDF5: Correct error with checkpoint_every_walltime_hoursErik Schnetter2008-08-03
| | | | | | | | | | Broadcast the result of checkpoint_every_walltime_hours, since different processors may come to different decisions.
| * CarpetIOHDF5: Correct problem with IO::out_dtErik Schnetter2008-08-03
| | | | | | | | Correct a multi-processor synchronisation problem when using IO::out_dt.
* | CarpetIOHDF5: Output current simulation time when checkpointingErik Schnetter2008-08-13
| |
* | CarpetIOHDF5: Correct error with checkpoint_every_walltime_hoursErik Schnetter2008-08-03
| | | | | | | | | | Broadcast the result of checkpoint_every_walltime_hours, since different processors may come to different decisions.
* | CarpetIOHDF5: Correct problem with IO::out_dtErik Schnetter2008-08-03
| | | | | | | | Correct a multi-processor synchronisation problem when using IO::out_dt.
* | CarpetIO: Adapt to changes in CactusBase/IOUtilErik Schnetter2008-07-11
|/ | | | | The CactusBase/IOUtil routine IOUtil_ParseVarsForOutput now accepts an additional parameter out_dt_default.
* CarpetIOHDF5: Correct error in determining checkpointing intervalErik Schnetter2008-06-02
| | | | Correct error in determining checkpointing interval after restarting.
* don't evaluate the IO::out_single_precision parameter when outputting ↵Thomas Radke2008-05-26
| | | | integer-type grid variables