[Users] Carpet::max_timelevels not steerable

Roland Haas roland.haas at physics.gatech.edu
Fri Jun 27 12:56:28 CDT 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello all,

I am trying to recover a checkpoint that was written with the attached
parfile and get errors
- --8<--
cactus_bns_all:
/mnt/data/rhaas/postdoc/gr/Zelmani/arrangements/Carpet/CarpetLib/src/th.hh:79:
CCTK_REAL8 th::get_time(int, int, int) const: Assertion `tl>=0 and
tl<timelevels' failed.
Rank 0 with PID 31684 received signal 6
Writing backtrace to tov-mol/backtrace.0.txt
- --8<--
and indeed the checkpoint contains
- --8<--
ML_ADMCONSTRAINTS::H\ it=0\ tl=2\ rl=0\ c=0 Dataset {21, 21, 36}
- --8<--

Setting carpet::max_timelevels when recovering however does not have
the desired effect since the parameter is not steerable.

There was a lengthy discussion as to how best fix this issue of not
being able to recover checkpoints when the parameter file was "funny"
in https://trac.einsteintoolkit.org/ticket/626 (yes, that one :-) ).

My question now is: why is carpet::max_timelevels not steerable? It
seems to me as if the most common use will be exactly to make a
checkpoint recoverable. Was this just an oversight?

Ideally no such parameter should be needed. Either CarpetIOHDF5 should
ignore (or: fail with a meaningful error when it encounters them)
timelevels in checkpoint files that the current simulation cannot
handle or Carpet should be able to cope with the maximum possible
number of timelevels (determined to be the maximum over all groups of
CCTK_MaxTimeLevels()), I think.

Yours,
Roland

PS The attached parfile is a proxy for a real world parfile where we
attempt to do something similar (but the real world one runs on many
cores only), so just disabling ML_ADMCONSTRAINTS is not an option.

- -- 

My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://keys.gnupg.net.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlOtsEwACgkQTiFSTN7SboWd2ACfUluOYaUdMQ329HG2GVV+RzTe
cgcAn0Xdk+o2LXXk9DFO5EjcVCVpBI5e
=VT73
-----END PGP SIGNATURE-----
-------------- next part --------------
# An example for the Einstein Toolkit; see <http://einsteintoolkit.org/>

ActiveThorns = "
        ADMBase
        ADMCoupling
        ADMMacros
        AEILocalInterp
        Boundary
        Carpet
        CarpetIOASCII
        CarpetIOBasic
        CarpetIOScalar
        CarpetIOHDF5
        CarpetInterp
        CarpetLib
        CarpetReduce
        CarpetRegrid2
        CartGrid3d
        Constants
        Coordbase
        EOS_Omni
        GRHydro
        SphericalSurface
        GenericFD
        HydroBase
        IOUtil
        InitBase
        LoopControl
        ML_ADMConstraints
        MoL
        NaNChecker
        NewRad
        ReflectionSymmetry
        SpaceMask
        StaticConformal
        SymBase
        Time
        TmunuBase
	TGRTensor
	TovSolver
	Slab
	#RotatingSymmetry90
        Socket
        HTTPD
        Formaline
"




################################################################################
################################################################################
# Physics and numerics
################################################################################
################################################################################

################################################################################
# Termination condition
################################################################################

Cactus::terminate       = "iteration"
Cactus::cctk_final_time = 4.0   # 1000.0
Cactus::cctk_itlast     = 1

################################################################################
# Initial condition
################################################################################

InitBase::initial_data_setup_method = "init_all_levels"

ADMBase::initial_data    = "tov"
ADMBase::initial_lapse   = "one"
ADMBase::initial_shift   = "tov"
ADMBase::initial_dtlapse = "zero"
ADMBase::initial_dtshift = "zero"
HydroBase::initial_Y_e = "one"
HydroBase::initial_entropy = "zero"
HydroBase::initial_temperature = "zero"


tovsolver::TOV_Rho_Central[0] = 3.116e-3
tovsolver::TOV_Gamma          = 2.0
tovsolver::TOV_K              = 100.0
tovsolver::TOV_Combine_Method = "maximum"

GRHydro::GRHydro_rho_central                            = 3.116e-3



################################################################################
# Time evolution: spacetime
################################################################################

MoL::ODE_Method             = "RK4"
MoL::MoL_Intermediate_Steps = 4
MoL::MoL_Num_Scratch_Levels = 3
Time::dtfac                 = 0.25

ADMBase::evolution_method        = "ID-apply-regrid"
ADMBase::lapse_evolution_method  = "ID-apply-regrid"
ADMBase::shift_evolution_method  = "ID-apply-regrid"
ADMBase::dtlapse_evolution_method= "ID-apply-regrid"
ADMBase::dtshift_evolution_method= "ID-apply-regrid"

################################################################################
# Time evolution: hydro
################################################################################

HydroBase::evolution_method = "GRHydro"
HydroBase::prolongation_type               = "ENO"
HydroBase::timelevels      = 2
admbase::metric_timelevels = 1
admbase::lapse_timelevels = 1
admbase::shift_timelevels = 1
admmacros::spatial_order = 4

TmunuBase::stress_energy_storage           = "yes"
TmunuBase::stress_energy_at_RHS            = "yes"
TmunuBase::prolongation_type               = "none"
TmunuBase::support_old_CalcTmunu_mechanism = "no"

SpaceMask::use_mask = "yes"

GRHydro::GRHydro_MaxNumSandRVars = 0

GRHydro::riemann_solver    = "HLLE"
GRHydro::GRHydro_eos_type  = "general"
GRHydro::GRHydro_eos_table = "Ideal_Fluid"
GRHydro::recon_method      = "ppm"
GRHydro::GRHydro_stencil   = 3
GRHydro::bound             = "none"
GRHydro::rho_abs_min       = 1.e-10

EOS_Omni::poly_gamma =   2.0
EOS_Omni::poly_k     = 100.0

EOS_Omni::gl_gamma =   2.0
EOS_Omni::gl_k     = 100.0


################################################################################
# Analysis
################################################################################

NaNChecker::check_every     = 0
NaNChecker::action_if_found = "abort"
NaNChecker::check_vars      = "
        ADMBase::metric
        ADMBase::curv
        ADMBase::lapse
        ADMBase::shift
        HydroBase::rho
        HydroBase::vel
        HydroBase::eps
        HydroBase::press
"



################################################################################
################################################################################
# Grid structure
################################################################################
################################################################################

Carpet::max_refinement_levels    = 1
driver::ghost_size               =  3
Carpet::prolongation_order_space =  2
Carpet::prolongation_order_time  =  1
#carpet::max_timelevels = 3 # work around someone storing three timelevels in a checkpoint


Carpet::init_fill_timelevels     = "yes"

Carpet::poison_new_timelevels = "yes"
Carpet::check_for_poison      = "no"
CarpetLib::poison_new_memory  = "yes"
CarpetLib::poison_value       = 114

CarpetReduce::verbose = yes

################################################################################
# Domain
################################################################################

Carpet::domain_from_coordbase = "yes"
Carpet::enable_all_storage    = no
Carpet::use_buffer_zones      = "yes"

CartGrid3D::type         = "coordbase"
CartGrid3D::avoid_origin = "no"
CoordBase::xmin          =   -60.0
CoordBase::ymin          =   -60.0
CoordBase::zmin          =   -60.0
CoordBase::xmax          =   60.0
CoordBase::ymax          =   60.0
CoordBase::zmax          =   60.0
CoordBase::dx            =   4.0
CoordBase::dy            =   4.0
CoordBase::dz            =   4.0

################################################################################
# Boundaries
################################################################################

CoordBase::boundary_size_x_lower     = 3
CoordBase::boundary_size_y_lower     = 3
CoordBase::boundary_size_z_lower     = 3
CoordBase::boundary_size_x_upper     = 3
CoordBase::boundary_size_y_upper     = 3
CoordBase::boundary_size_z_upper     = 3
CoordBase::boundary_shiftout_x_lower = 0
CoordBase::boundary_shiftout_y_lower = 0
CoordBase::boundary_shiftout_z_lower = 0
CoordBase::boundary_shiftout_x_upper = 0
CoordBase::boundary_shiftout_y_upper = 0
CoordBase::boundary_shiftout_z_upper = 0
CoordBase::boundary_staggered_x_lower = yes
CoordBase::boundary_staggered_y_lower = yes
CoordBase::boundary_staggered_z_lower = yes
CoordBase::boundary_staggered_x_upper = yes
CoordBase::boundary_staggered_y_upper = yes
CoordBase::boundary_staggered_z_upper = yes

################################################################################
# Symmetries (octant mode)
################################################################################

ReflectionSymmetry::reflection_x   = "no"
ReflectionSymmetry::reflection_y   = "no"
ReflectionSymmetry::reflection_z   = "no"
ReflectionSymmetry::avoid_origin_x = "yes"
ReflectionSymmetry::avoid_origin_y = "yes"
ReflectionSymmetry::avoid_origin_z = "yes"

################################################################################
# Refinement hierarchy
################################################################################

CarpetRegrid2::verbose      = "yes"
CarpetRegrid2::regrid_every = 0   # static
CarpetRegrid2::boundary_shiftout     = 0
CarpetRegrid2::symmetry_rotating180 = no
CarpetRegrid2::snap_to_coarse = yes

CarpetRegrid2::num_centres  = 1
CarpetRegrid2::num_levels_1 =  1
CarpetRegrid2::radius_1[1]  = 30.0 # 1
CarpetRegrid2::radius_1[2]  = 15.0 # 0.5
CarpetRegrid2::radius_1[3]  = 6.0  # 0.25

carpet::verbose = no
carpet::veryverbose = no

Carpet::grid_structure_filename   = "carpet-grid-structure"
Carpet::grid_coordinates_filename = "carpet-grid-coordinates"
Carpet::refinement_centering = "cell"



################################################################################
################################################################################
# Output
################################################################################
################################################################################

IO::out_dir  = $parfile

################################################################################
# Screen output
################################################################################

IOBasic::outInfo_every = 1
IOBasic::outInfo_vars  = "
        ADMBase::lapse
        HydroBase::rho
	Carpet::physical_time_per_hour
"

################################################################################
# Norms
################################################################################

IOScalar::outScalar_every = -1
IOScalar::one_file_per_group = yes
IOScalar::outScalar_vars  = "
        ADMBase::lapse
        ADMBase::shift
        ADMBase::metric
        ADMBase::curv
        HydroBase::rho
        HydroBase::vel
        HydroBase::eps
        HydroBase::press
        GRHydro::dens
        GRHydro::scon
        GRHydro::tau
        ML_ADMConstraints::ML_Ham
        ML_ADMConstraints::ML_Mom
"

################################################################################
# ASCII output
################################################################################

IOASCII::out1D_every            = -1
IOASCII::one_file_per_group     = "yes"
IOASCII::output_symmetry_points = "no"
IOASCII::out3D_ghosts           = "no"
IOASCII::out3D_outer_ghosts     = "no"
IOASCII::out1D_vars             = "
        ADMBase::lapse
        ADMBase::shift
        ADMBase::metric
        ADMBase::curv
        HydroBase::rho
        HydroBase::vel
        HydroBase::eps
        HydroBase::press
        GRHydro::dens
        GRHydro::scon
        GRHydro::tau
        ML_ADMConstraints::ML_Ham
        ML_ADMConstraints::ML_Mom
"

ActiveThorns = "TimerReport"
TimerReport::out_every    = 0
TimerReport::out_filename = "TimerReport"
TimerReport::output_all_timers          = "yes"
TimerReport::output_all_timers_together = "yes"
TimerReport::output_all_timers_readable = "yes"
#TimerReport::before_checkpoint          = "yes"
TimerReport::n_top_timers               = 40

CarpetIOHDF5::out2d_every = -1
CarpetIOHDF5::out2d_vars = "hydrobase::rho"

CarpetIOHDF5::out_every = 4
CarpetIOHDF5::out_vars = "hydrobase::rho hydrobase::vel hydrobase::Y_e hydrobase::entropy admbase::metric admbase::lapse grid::x grid::y grid::z"

CarpetIOHDF5::checkpoint = yes
IO::checkpoint_ID = yes
IO::checkpoint_every_walltime_hours = -1
IO::checkpoint_keep = -1
IO::recover = autoprobe
IO::recover_dir = "tov-mol-cp"
IO::checkpoint_dir = $parfile
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tov-mol.par.sig
Type: application/pgp-signature
Size: 72 bytes
Desc: not available
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20140627/3e2280e8/attachment.bin 


More information about the Users mailing list