[ET Trac] [Einstein Toolkit] #1053: CarpetIOHDF5: it doesn't honor out3D_every parameter

Einstein Toolkit trac-noreply at einsteintoolkit.org
Tue Aug 21 17:35:42 CDT 2012


#1053: CarpetIOHDF5: it doesn't honor out3D_every parameter
----------------------+-----------------------------------------------------
  Reporter:  bmundim  |       Owner:  eschnett                
      Type:  defect   |      Status:  new                     
  Priority:  major    |   Milestone:                          
 Component:  Carpet   |     Version:                          
Resolution:           |    Keywords:  CarpetIOHDF5 out3D_every
----------------------+-----------------------------------------------------

Comment (by bmundim):

 The simulation stops by runtime, that it is set to 0.1min or 6.0s.
 Whenever I rerun the test I end up
 with a slightly different iteration number for when the checkpoint
 happens. I suspect that my job competition for resources in my machine
 leads to this small differences for such a short run.

 In any case I reran the test. I got the following:

 {{{
 000/CarpetWaveToyCheckpointTest:

 h5ls wavetoy::scalarevolve.xyz.h5
 Parameters\ and\ Global\ Attributes Group
 WAVETOY::phi\ it=0\ tl=0\ rl=0 Dataset {43, 43, 43}
 WAVETOY::phi\ it=0\ tl=0\ rl=1 Dataset {41, 41, 41}
 WAVETOY::phi\ it=0\ tl=0\ rl=2 Dataset {33, 33, 33}
 WAVETOY::phi\ it=0\ tl=0\ rl=3 Dataset {33, 33, 33}
 WAVETOY::phi\ it=0\ tl=0\ rl=4 Dataset {33, 33, 33}
 WAVETOY::phi\ it=0\ tl=0\ rl=5 Dataset {33, 33, 33}
 WAVETOY::phi\ it=0\ tl=0\ rl=6 Dataset {33, 33, 33}
 WAVETOY::phi\ it=0\ tl=0\ rl=7 Dataset {33, 33, 33}
 WAVETOY::phi\ it=0\ tl=0\ rl=8 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=1 Dataset {41, 41, 41}
 WAVETOY::phi\ it=128\ tl=0\ rl=2 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=3 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=4 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=5 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=6 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=7 Dataset {33, 33, 33}
 WAVETOY::phi\ it=128\ tl=0\ rl=8 Dataset {33, 33, 33}

 }}}

 the first simulation dumped the last 3d iteration at it=128, as asked in
 the par file.

 {{{
 CheckPoints:
 ls
 checkpoint.chkpt.it_252.h5  checkpoint.chkpt.it_506.h5

 h5ls checkpoint.chkpt.it_252.h5

 ...
 CARPETIOHDF5::last_output_iteration_slice[0]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::last_output_iteration_slice[1]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::last_output_iteration_slice[2]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::last_output_time_slice[0]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::last_output_time_slice[1]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::last_output_time_slice[2]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::next_output_iteration\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::next_output_time\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::this_iteration\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::this_iteration_slice[0]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::this_iteration_slice[1]\ it=252\ tl=0 Dataset {1}
 CARPETIOHDF5::this_iteration_slice[2]\ it=252\ tl=0 Dataset {1}
 ...
 }}}

 and

 {{{
 h5dump checkpoint.chkpt.it_252.h5 | grep -A 80
 'CARPETIOHDF5::this_iteration_slice'
    DATASET "CARPETIOHDF5::this_iteration_slice[0] it=252 tl=0" {
       DATATYPE  H5T_STD_I32LE
       DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
       DATA {
       (0): 0
       }
       ATTRIBUTE "carpet_mglevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "group_timelevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffset" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffsetdenom" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 1
          }
       }
       ATTRIBUTE "iorigin" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "level" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "name" {
          DATATYPE  H5T_STRING {
                STRSIZE 37;
                STRPAD H5T_STR_NULLTERM;
                CSET H5T_CSET_ASCII;
                CTYPE H5T_C_S1;
             }
          DATASPACE  SCALAR
          DATA {
          (0): "CARPETIOHDF5::this_iteration_slice[0]"
          }
       }
       ATTRIBUTE "time" {
          DATATYPE  H5T_IEEE_F64LE
          DATASPACE  SCALAR
          DATA {
          (0): 0.125
          }
       }
       ATTRIBUTE "timestep" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 252
          }
       }
    }
    DATASET "CARPETIOHDF5::this_iteration_slice[1] it=252 tl=0" {
       DATATYPE  H5T_STD_I32LE
       DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
       DATA {
       (0): 0
       }
       ATTRIBUTE "carpet_mglevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "group_timelevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffset" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffsetdenom" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 1
          }
       }
       ATTRIBUTE "iorigin" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "level" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "name" {
          DATATYPE  H5T_STRING {
                STRSIZE 37;
                STRPAD H5T_STR_NULLTERM;
                CSET H5T_CSET_ASCII;
                CTYPE H5T_C_S1;
             }
          DATASPACE  SCALAR
          DATA {
          (0): "CARPETIOHDF5::this_iteration_slice[1]"
          }
       }
       ATTRIBUTE "time" {
          DATATYPE  H5T_IEEE_F64LE
          DATASPACE  SCALAR
          DATA {
          (0): 0.125
          }
       }
       ATTRIBUTE "timestep" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 252
          }
       }
    }
    DATASET "CARPETIOHDF5::this_iteration_slice[2] it=252 tl=0" {
       DATATYPE  H5T_STD_I32LE
       DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
       DATA {
       (0): 128
       }
       ATTRIBUTE "carpet_mglevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "group_timelevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffset" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffsetdenom" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 1
          }
       }
       ATTRIBUTE "iorigin" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "level" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "name" {
          DATATYPE  H5T_STRING {
                STRSIZE 37;
                STRPAD H5T_STR_NULLTERM;
                CSET H5T_CSET_ASCII;
                CTYPE H5T_C_S1;
             }
          DATASPACE  SCALAR
          DATA {
          (0): "CARPETIOHDF5::this_iteration_slice[2]"
          }
       }
       ATTRIBUTE "time" {
          DATATYPE  H5T_IEEE_F64LE
          DATASPACE  SCALAR
          DATA {
          (0): 0.125
          }
       }
       ATTRIBUTE "timestep" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 252
          }
       }
    }

 }}}
 from this checkpoint data I can see that this_iteration_slice is set to 0,
 0 and 128 for 1D, 2D and 3D,
 respectively. The last_output_iteration_slice seems to have the same
 values as this_iteration_slice:

 {{{
 h5dump checkpoint.chkpt.it_252.h5 | grep -A 80
 'CARPETIOHDF5::last_output_iteration_slice'
    DATASET "CARPETIOHDF5::last_output_iteration_slice[0] it=252 tl=0" {
       DATATYPE  H5T_STD_I32LE
       DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
       DATA {
       (0): 0
       }
       ATTRIBUTE "carpet_mglevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "group_timelevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffset" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffsetdenom" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 1
          }
       }
       ATTRIBUTE "iorigin" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "level" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "name" {
          DATATYPE  H5T_STRING {
                STRSIZE 44;
                STRPAD H5T_STR_NULLTERM;
                CSET H5T_CSET_ASCII;
                CTYPE H5T_C_S1;
             }
          DATASPACE  SCALAR
          DATA {
          (0): "CARPETIOHDF5::last_output_iteration_slice[0]"
          }
       }
       ATTRIBUTE "time" {
          DATATYPE  H5T_IEEE_F64LE
          DATASPACE  SCALAR
          DATA {
          (0): 0.125
          }
       }
       ATTRIBUTE "timestep" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 252
          }
       }
    }
    DATASET "CARPETIOHDF5::last_output_iteration_slice[1] it=252 tl=0" {
       DATATYPE  H5T_STD_I32LE
       DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
       DATA {
       (0): 0
       }
       ATTRIBUTE "carpet_mglevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "group_timelevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffset" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffsetdenom" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 1
          }
       }
       ATTRIBUTE "iorigin" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "level" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "name" {
          DATATYPE  H5T_STRING {
                STRSIZE 44;
                STRPAD H5T_STR_NULLTERM;
                CSET H5T_CSET_ASCII;
                CTYPE H5T_C_S1;
             }
          DATASPACE  SCALAR
          DATA {
          (0): "CARPETIOHDF5::last_output_iteration_slice[1]"
          }
       }
       ATTRIBUTE "time" {
          DATATYPE  H5T_IEEE_F64LE
          DATASPACE  SCALAR
          DATA {
          (0): 0.125
          }
       }
       ATTRIBUTE "timestep" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 252
          }
       }
    }
    DATASET "CARPETIOHDF5::last_output_iteration_slice[2] it=252 tl=0" {
       DATATYPE  H5T_STD_I32LE
       DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
       DATA {
       (0): 128
       }
       ATTRIBUTE "carpet_mglevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "group_timelevel" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffset" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "ioffsetdenom" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 1
          }
       }
       ATTRIBUTE "iorigin" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "level" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 0
          }
       }
       ATTRIBUTE "name" {
          DATATYPE  H5T_STRING {
                STRSIZE 44;
                STRPAD H5T_STR_NULLTERM;
                CSET H5T_CSET_ASCII;
                CTYPE H5T_C_S1;
             }
          DATASPACE  SCALAR
          DATA {
          (0): "CARPETIOHDF5::last_output_iteration_slice[2]"
          }
       }
       ATTRIBUTE "time" {
          DATATYPE  H5T_IEEE_F64LE
          DATASPACE  SCALAR
          DATA {
          (0): 0.125
          }
       }
       ATTRIBUTE "timestep" {
          DATATYPE  H5T_STD_I32LE
          DATASPACE  SCALAR
          DATA {
          (0): 252
          }
       }
    }

 }}}

 which is odd. In any case, at least the 3d slice seems to correctly
 indicate its last output
 (while 2d and 1d don't). Now if we move to directory 001 output we have:

 {{{
 001/CarpetWaveToyCheckpointTest:

 h5ls wavetoy::scalarevolve.xyz.h5
 Parameters\ and\ Global\ Attributes Group
 WAVETOY::phi\ it=252\ tl=0\ rl=6 Dataset {33, 33, 33}
 WAVETOY::phi\ it=252\ tl=0\ rl=7 Dataset {33, 33, 33}
 WAVETOY::phi\ it=252\ tl=0\ rl=8 Dataset {33, 33, 33}
 WAVETOY::phi\ it=380\ tl=0\ rl=6 Dataset {33, 33, 33}
 WAVETOY::phi\ it=380\ tl=0\ rl=7 Dataset {33, 33, 33}
 WAVETOY::phi\ it=380\ tl=0\ rl=8 Dataset {33, 33, 33}

 h5ls wavetoy::scalarevolve.xy.h5
 Parameters\ and\ Global\ Attributes Group
 WAVETOY::phi\ it=256\ tl=0\ rl=0 Dataset {43, 43}
 WAVETOY::phi\ it=256\ tl=0\ rl=1 Dataset {41, 41}
 WAVETOY::phi\ it=256\ tl=0\ rl=2 Dataset {33, 33}
 WAVETOY::phi\ it=256\ tl=0\ rl=3 Dataset {33, 33}
 WAVETOY::phi\ it=256\ tl=0\ rl=4 Dataset {33, 33}
 WAVETOY::phi\ it=256\ tl=0\ rl=5 Dataset {33, 33}
 WAVETOY::phi\ it=256\ tl=0\ rl=6 Dataset {33, 33}
 WAVETOY::phi\ it=256\ tl=0\ rl=7 Dataset {33, 33}
 WAVETOY::phi\ it=256\ tl=0\ rl=8 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=1 Dataset {41, 41}
 WAVETOY::phi\ it=384\ tl=0\ rl=2 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=3 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=4 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=5 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=6 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=7 Dataset {33, 33}
 WAVETOY::phi\ it=384\ tl=0\ rl=8 Dataset {33, 33}

 }}}
 that is: the file containing 2d slices starts correctly at it=256 while
 the one with
 3d slices starts at the same iteration as the checkpoint iteration,
 it=252, which is
 clearly wrong. I hope it is clearer now.

 Thanks a lot!

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1053#comment:19>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list