[Users] Issue with ReadInterpolate

Roland Haas rhaas at mail.ubc.ca
Fri Jul 25 10:31:33 CDT 2025


Hello Luciano,

I am not quite clear what's going on, ideally one would need the new
grid structure and the old.

My guess is that you may need to make the new coarsest grid a bit
smaller than the old one (by the difference in boundary sizes would be
my guess). If I recall correctly then ReadInterpolate will (have to)
fill in all boundary points and the boundary points stick out beyond
the grid size you give with CoordBase::[xyz]{min,max}.

Yours,
Roland

PS I should probably add code to avoid the "cannot interpolate
integers" warning.

> [CAUTION: Non-UBC Email]
> 
> Hi people,
> 
> I have used ReadInterpolate successfully for different applications in the past. I'm now trying to use it to interpolate onto a new grid that has 5 ghost zones i.e.:
> 
> CoordBase::boundary_size_x_lower     = 5
> CoordBase::boundary_size_y_lower     = 5
> CoordBase::boundary_size_z_lower     = 5
> CoordBase::boundary_size_x_upper     = 5
> CoordBase::boundary_size_y_upper     = 5
> CoordBase::boundary_size_z_upper     = 5
> Driver::ghost_size                   = 5
> GRHydro::GRHydro_stencil             = 5
> But I'm getting this error:
> 
> CCTK_Proc569.err <==
>   while executing schedule bin ReadInterpolate_ReadData, routine ReadInterpolate::ReadInterpolate_Read
>   in thorn ReadInterpolate, file /home/mvxcombi/ET_Zelmani/Cactus/arrangements/EinsteinInitialData/ReadInterpolate/src/read.c:559:
>   -> Skipping integer variable 'SPACEMASK::space_mask it=335925 tl=0 rl=0 c=569'. Do not know how to interpolate integers.  
> ERROR from host bcn1814.usr.hlrn.de process 569
>   while executing schedule bin ReadInterpolate_ReadData, routine ReadInterpolate::ReadInterpolate_Read
>   in thorn ReadInterpolate, file /home/mvxcombi/ET_Zelmani/Cactus/arrangements/EinsteinInitialData/ReadInterpolate/src/interpolate.cc:130:
>   -> There were 70227 points in 27 variables that could not be set.  
> cactus_etk_devel: /home/mvxcombi/ET_Zelmani/Cactus/arrangements/Carpet/Carpet/src/helpers.cc:275: int Carpet::Abort(const cGH*, int): Assertion `0' failed.
> Rank 569 with PID 1675935 received signal 6
> Writing backtrace to AIC_interp/backtrace.569.txt
> The original grid has 3 ghost zones. I'm using the following parfile:
> # What to interpolate
> # -------------------
> ReadInterpolate::files                        = "checkpoint.chkpt.it_335925"
> ReadInterpolate::max_number_of_read_variables = 30
> ReadInterpolate::only_these_datasets          = ":Y_e, :rho, :temperature, :vel, :Ax, :Ay, :Az, :psi6phi, :kxx, :kxy, :kxz, :kyy, :kyz, :kzz, :gxx, :gxy, :gxz, :gyy, :gyz, :gzz, :betax, :betay, :betaz, :alp"
> ReadInterpolate::minimum_reflevel             = 0     # Default
> ReadInterpolate::maximum_reflevel             = 1000  # Default
> 
> # Interpolator settings
> # ---------------------
> ReadInterpolate::epsilon                 = 1.e-12 #2  # Default
> ReadInterpolate::interpolator_half_width = -1      # Default, use cctk_nghostzones
> ReadInterpolate::interpolator_name       = "Lagrange polynomial interpolation"
> ReadInterpolate::interpolator_pars       = "
>     order = 3
>     boundary_off_centering_tolerance = {1. 1. 1. 1. 1. 1.}
>     boundary_extrapolation_tolerance = {1.e-12 1.e-12 1.e-12 1.e-12 1.e-12 1.e-12}
> "
> 
> # Fixing the read-in data
> # -----------------------
> ReadInterpolate::shift_read_datasets_by[0] = 0.
> ReadInterpolate::shift_read_datasets_by[1] = 0.
> ReadInterpolate::shift_read_datasets_by[2] = 0.
> 
> ReadInterpolate::enforce_symmetries_after_reading = no  # Default
> ReadInterpolate::fix_cell_centered_origins        = no  # Default
> 
> Any suggestions on how to solve this issue?
> 
> Thanks a lot!!

-- 
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://pgp.mit.edu .


More information about the Users mailing list