aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknarf <knarf@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2009-11-18 16:36:37 +0000
committerknarf <knarf@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2009-11-18 16:36:37 +0000
commitaed5c4b5b94ef683f83c7597aee2174e34ec245f (patch)
tree6903142286d005e57a416cae7ce003f55edb61d4
This is a _temporary_ repository to be able to start to work on the
code right now. I have put in the public version of Whisky to start from. Everybody with commit rights should get commit messages (and the other way around). It should not be a problem to add people to that list, just ask. I don't want to get into political problems because someone feels excluded, but I also don't want to give everyone access per se. Frank git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@3 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
-rw-r--r--COPYING3
-rw-r--r--GPLv2339
-rw-r--r--README29
-rw-r--r--configuration.ccl5
-rw-r--r--doc/documentation.tex2164
-rw-r--r--interface.ccl445
-rw-r--r--par/BenchRNS_Carpet_3level.par196
-rw-r--r--par/Whisky.th19
-rw-r--r--par/whisky.par39
-rw-r--r--param.ccl533
-rw-r--r--schedule.ccl997
-rw-r--r--src/Utils.F90174
-rw-r--r--src/Whisky_Boundaries.F90326
-rw-r--r--src/Whisky_CalcUpdate.F90225
-rw-r--r--src/Whisky_CarpetWeights.cc66
-rw-r--r--src/Whisky_Con2Prim.F901987
-rw-r--r--src/Whisky_Differences.F90152
-rw-r--r--src/Whisky_ENOReconstruct.F90221
-rw-r--r--src/Whisky_ENOScalars.F9022
-rw-r--r--src/Whisky_EOS.c70
-rw-r--r--src/Whisky_Eigenproblem.F901133
-rw-r--r--src/Whisky_Eigenproblem_Marquina.F901441
-rw-r--r--src/Whisky_EoSChangeGamma.F90240
-rw-r--r--src/Whisky_Flux.F90113
-rw-r--r--src/Whisky_FluxSplit.F90956
-rw-r--r--src/Whisky_HLLE.F90586
-rw-r--r--src/Whisky_HLLEPoly.F90538
-rw-r--r--src/Whisky_Loop.F9086
-rw-r--r--src/Whisky_Marquina.F90659
-rw-r--r--src/Whisky_Maxima.F90498
-rw-r--r--src/Whisky_Minima.F90126
-rw-r--r--src/Whisky_Minima.cc175
-rw-r--r--src/Whisky_PPM.F90651
-rw-r--r--src/Whisky_ParamCheck.F9094
-rw-r--r--src/Whisky_Particle.F90248
-rw-r--r--src/Whisky_PreLoop.F9095
-rw-r--r--src/Whisky_Prim2Con.F90730
-rw-r--r--src/Whisky_Reconstruct.F90591
-rw-r--r--src/Whisky_ReconstructPoly.F90564
-rw-r--r--src/Whisky_RegisterGZ.cc92
-rw-r--r--src/Whisky_RegisterMask.c89
-rw-r--r--src/Whisky_RegisterVars.cc105
-rw-r--r--src/Whisky_RiemannSolve.F90372
-rw-r--r--src/Whisky_RoeAverage.F9039
-rw-r--r--src/Whisky_RoeSolver.F90585
-rw-r--r--src/Whisky_Scalars.F9030
-rw-r--r--src/Whisky_Set_TP_GF.c89
-rw-r--r--src/Whisky_Shift.F90174
-rw-r--r--src/Whisky_SlopeLimiter.F90105
-rw-r--r--src/Whisky_Source.F90495
-rw-r--r--src/Whisky_Startup.F90428
-rw-r--r--src/Whisky_TVDReconstruct.F90113
-rw-r--r--src/Whisky_Tmunu.F90175
-rw-r--r--src/Whisky_UpdateMask.F90244
-rw-r--r--src/Whisky_Weights.c286
-rw-r--r--src/include/Whisky_EMTensor.inc269
-rw-r--r--src/include/Whisky_EMTensor_temps.inc27
-rw-r--r--src/make.code.defn55
-rw-r--r--src/make.code.deps8
-rw-r--r--src/make.configuration.defn4
-rw-r--r--src/make.configuration.deps18
-rw-r--r--src/util/Riemann1d.f90872
-rw-r--r--test/whisky_test_shock.par71
-rw-r--r--test/whisky_test_shock/dens_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/dens_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/dens_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/dens_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/eps_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/eps_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/eps_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/eps_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/press_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/press_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/press_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/press_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/rho_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/rho_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/rho_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/rho_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[0]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/scon[0]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[0]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[0]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[1]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/scon[1]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[1]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[1]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[2]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/scon[2]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[2]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/scon[2]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/tau_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/tau_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/tau_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/tau_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[0]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/vel[0]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[0]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[0]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[1]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/vel[1]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[1]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[1]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[2]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/vel[2]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[2]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/vel[2]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/w_lorentz_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock/w_lorentz_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock/w_lorentz_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock/w_lorentz_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock/whisky_test_shock.par71
-rw-r--r--test/whisky_test_shock_ppm.par70
-rw-r--r--test/whisky_test_shock_ppm/dens_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/dens_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/dens_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/dens_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/eps_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/eps_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/eps_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/eps_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/press_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/press_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/press_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/press_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/rho_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/rho_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/rho_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/rho_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[0]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[0]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[0]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[0]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[1]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[1]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[1]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[1]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[2]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[2]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[2]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/scon[2]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/tau_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/tau_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/tau_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/tau_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[0]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[0]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[0]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[0]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[1]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[1]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[1]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[1]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[2]_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[2]_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[2]_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/vel[2]_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/w_lorentz_3D_diagonal.xg108
-rw-r--r--test/whisky_test_shock_ppm/w_lorentz_x_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/w_lorentz_y_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/w_lorentz_z_[7][7].xg108
-rw-r--r--test/whisky_test_shock_ppm/whisky_test_shock_ppm.par70
-rw-r--r--test/whisky_test_tov_ppm.par80
-rw-r--r--test/whisky_test_tov_ppm/alp_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/alp_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/alp_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/alp_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/dens_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/dens_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/dens_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/dens_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/dens_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/dens_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/dens_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/dens_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/eps_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/eps_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/eps_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/eps_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/eps_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/eps_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/eps_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/eps_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/gxx_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxx_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxx_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxx_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/gxz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/gyz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/gzz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gzz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/gzz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/gzz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/ham_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/ham_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/ham_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/ham_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/ham_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/ham_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/ham_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/ham_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/kxx_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxx_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxx_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxx_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/kxz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/kyz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/kzz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kzz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/kzz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/kzz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/momx_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/momx_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/momx_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/momx_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/momx_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/momx_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momx_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momx_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momy_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/momy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/momy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/momy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/momy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/momy_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momy_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momy_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momz_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/momz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/momz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/momz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/momz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/momz_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momz_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/momz_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/press_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/press_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/press_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/press_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/press_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/press_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/press_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/press_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/rho_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/rho_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/rho_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/rho_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/rho_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/rho_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/rho_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/rho_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[0]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[1]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/scon[2]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/tau_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/tau_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/tau_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/tau_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/tau_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/tau_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/tau_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/tau_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[0]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[1]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/vel[2]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/w_lorentz_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm/whisky_test_tov_ppm.par80
-rw-r--r--test/whisky_test_tov_ppm_no_trp.par81
-rw-r--r--test/whisky_test_tov_ppm_no_trp/alp_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/alp_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/alp_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/alp_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/dens_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/eps_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxx_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxx_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxx_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxx_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gxz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gyz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gzz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gzz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gzz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/gzz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/ham_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxx_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxx_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxx_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxx_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kxz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kyz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kzz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kzz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kzz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/kzz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momx_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momy_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/momz_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/press_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/rho_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[0]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[1]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/scon[2]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/tau_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[0]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[1]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/vel[2]_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_3D_diagonal.xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_maximum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_minimum.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_norm1.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_norm2.xg9
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_x_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_y_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/w_lorentz_z_[16][16].xg288
-rw-r--r--test/whisky_test_tov_ppm_no_trp/whisky_test_tov_ppm_no_trp.par81
526 files changed, 72134 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..f34d487
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,3 @@
+You can use this code under the GPL General Public License, version 2, or later
+
+The license text is included in the file GPLv2.
diff --git a/GPLv2 b/GPLv2
new file mode 100644
index 0000000..d511905
--- /dev/null
+++ b/GPLv2
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/README b/README
new file mode 100644
index 0000000..83cb391
--- /dev/null
+++ b/README
@@ -0,0 +1,29 @@
+Cactus Code Thorn Whisky
+Author(s) : Luca Baiotti
+ Ian Hawke
+ Pedro Montero
+ Sebastiano Bernuzzi
+ Giovanni Corvino
+ Toni Font
+ Joachim Frieben
+ Roberto De Pietri
+ Thorsten Kellermann
+ Frank Löffler
+ Christian D. Ott
+ Luciano Rezzolla
+ Nikolaos Stergioulas
+ Aaryn Tonita
+ many others
+Maintainer(s): Whisky developers team
+Licence : GPLv2+
+--------------------------------------------------------------------------
+
+1. Purpose
+
+Whisky is the evolution code for a general-purpose 3D relativistic
+hydrodynamics code. To work it requires Einstein, MoL (the method of
+lines thorn), CactusEOS (the general equation of state interface).
+In theory any (suitably written) spacetime evolution thorn should work,
+but for the moment the MoL version of BSSN will be the tested version.
+
+For more information see the documentation in the ThornGuide.
diff --git a/configuration.ccl b/configuration.ccl
new file mode 100644
index 0000000..514cd02
--- /dev/null
+++ b/configuration.ccl
@@ -0,0 +1,5 @@
+# Configuration definition for thorn Whisky
+# $Header$
+
+REQUIRES EOS_Base EOS_Polytrope Boundary CartGrid3D SpaceMask ADMMacros
+
diff --git a/doc/documentation.tex b/doc/documentation.tex
new file mode 100644
index 0000000..ed394ca
--- /dev/null
+++ b/doc/documentation.tex
@@ -0,0 +1,2164 @@
+\documentclass{article}
+%\usepackage{../../../../doc/ThornGuide/cactus}
+\usepackage{../../../../doc/latex/cactus}
+\begin{document}
+
+% The title of the document (not necessarily the name of the Thorn)
+\title{The {\tt Whisky} code: three-dimensional relativistic hydrodynamics}
+
+% The author of the documentation - on one line, otherwise it does not work
+\author{Original authors: Luca Baiotti, Ian Hawke, Pedro Montero \cr Contributors:
+ Sebastiano Bernuzzi, Giovanni Corvino, Toni Font, Joachim Frieben, \cr Roberto De Pietri, Thorsten
+ Kellermann, Frank L\"offler, Christian D. Ott, \cr Luciano Rezzolla, Nikolaos Stergioulas, Aaryn
+ Tonita, \cr {\it and many others,} \cr {\it especially those who were in the European Network ``Sources of
+ Gravitational Waves'' } }
+
+% the date your document was last changed, if your document is in CVS,
+% please use:
+\date{$ $Date: 2009-09-17 15:24:01 -0500 (Thu, 17 Sep 2009) $ $}
+\maketitle
+
+% *======================================================================*
+% Cactus Thorn template for ThornGuide documentation
+% Author: Ian Kelley
+% Date: Sun Jun 02, 2002
+% $Header$
+%
+% Thorn documentation in the latex file doc/documentation.tex
+% will be included in ThornGuides built with the Cactus make system.
+% The scripts employed by the make system automatically include
+% pages about variables, parameters and scheduling parsed from the
+% relevent thorn CCL files.
+%
+% This template contains guidelines which help to assure that your
+% documentation will be correctly added to ThornGuides. More
+% information is available in the Cactus UsersGuide.
+%
+% Guidelines:
+% - Do not change anything before the line
+% % START CACTUS THORNGUIDE",
+% except for filling in the title, author, date etc. fields.
+% - Each of these fields should only be on ONE line.
+% - Author names should be sparated with a \\ or a comma
+% - You can define your own macros are OK, but they must appear after
+% the START CACTUS THORNGUIDE line, and do not redefine standard
+% latex commands.
+% - To avoid name clashes with other thorns, 'labels', 'citations',
+% 'references', and 'image' names should conform to the following
+% convention:
+% ARRANGEMENT_THORN_LABEL
+% For example, an image wave.eps in the arrangement CactusWave and
+% thorn WaveToyC should be renamed to CactusWave_WaveToyC_wave.eps
+% - Graphics should only be included using the graphix package.
+% More specifically, with the "includegraphics" command. Do
+% not specify any graphic file extensions in your .tex file. This
+% will allow us (later) to create a PDF version of the ThornGuide
+% via pdflatex. |
+% - References should be included with the latex "bibitem" command.
+% - use \begin{abstract}...\end{abstract} instead of \abstract{...}
+% - For the benefit of our Perl scripts, and for future extensions,
+% please use simple latex.
+%
+% *======================================================================*
+%
+% Example of including a graphic image:
+% \begin{figure}[ht]
+% \begin{center}
+% \includegraphics[width=6cm]{MyArrangement_MyThorn_MyFigure}
+% \end{center}
+% \caption{Illustration of this and that}
+% \label{MyArrangement_MyThorn_MyLabel}
+% \end{figure}
+%
+% Example of using a label:
+% \label{MyArrangement_MyThorn_MyLabel}
+%
+% Example of a citation:
+% \cite{MyArrangement_MyThorn_Author99}
+%
+% Example of including a reference
+% \bibitem{MyArrangement_MyThorn_Author99}
+% {J. Author, {\em The Title of the Book, Journal, or periodical}, 1 (1999),
+% 1--16. {\tt http://www.nowhere.com/}}
+%
+% *======================================================================*
+
+% If you are using CVS use this line to give version information
+% $Header$
+
+% Use the Cactus ThornGuide style file
+% (Automatically used from Cactus distribution, if you have a
+% thorn without the Cactus Flesh download this from the Cactus
+% homepage at www.cactuscode.org)
+
+% Do not delete next line
+% START CACTUS THORNGUIDE
+
+% Add all definitions used in this documentation here
+% \def\mydef etc
+
+%\newcommand{\eqref}[1]{(\ref{#1})}
+
+% Add an abstract for this thorn's documentation
+\begin{abstract}
+ {\tt Whisky} is a fully general-relativistic three-dimensional hydrodynamics code. It evolves the
+ hydrodynamics using High Resolution Shock Capturing methods and can
+ work with realistic equations of state. The evolution of the
+ spacetime can be done by any other ``appropriate'' thorn, such as
+ the {\tt CCATIE} code, maintained and developed at the Albert-Einstein-Institut (Potsdam).
+\end{abstract}
+
+% The following sections are suggestive only.
+% Remove them or add your own.
+
+\section{Introduction}
+\label{sec:intro}
+
+The {\tt Whisky}\footnote{The name is
+ due to Tom Goodale, who pointed out that the in the original Gaelic
+ {\it uisge beatha} (from which {\tt whisky} is derived) meant {\it water of
+ life}. This name was chosen at a free and fair democratic ballot
+ at the EU Network meeting in Southampton that gave the right answer
+ thanks to a little bit of help from the authors of the code after
+ some slight irregularities on the part of certain specialists in
+ strange stars.} code is a product of the EU Network on Sources of
+Gravitational Radiation\footnote{http://www.eu-network.org}. It was initially written by Luca Baiotti, Ian Hawke
+and Pedro Montero, based on the publicly available {\tt GR3D} code and with many other important
+contributors.
+
+
+
+\section{Using This Thorn}
+\label{sec:use}
+
+What follows is a brief introduction to using {\tt Whisky}. It assumes that
+you know the required physics and numerical methods, and also the
+basics of Cactus\footnote{http://www.cactuscode.org}. If you don't, then skip this section and come back
+to it after reading the rest of this ThornGuide of Cactus. For more details such
+as thornlists and parameter files, take a look at the {\tt Whisky} web page
+which is currently stored at
+\begin{verbatim}
+http://www.whiskycode.org
+\end{verbatim}
+
+{\tt Whisky} provides the hydro variables and methods to evolve them. It
+does not provide any information about initial data or equations of
+state. For these, other thorns are required. A minimal list of thorns
+for performing a shock-tube test is given in the shock-tube test
+parameter file, found at
+\begin{verbatim}
+Whisky/test/whisky_test_shock.par
+\end{verbatim}
+and will include the essential thorns
+\begin{verbatim}
+whisky eos_base admbase admcoupling mol
+\end{verbatim}
+Current thorns actually implementing equations of state include
+\begin{verbatim}
+eos_ideal_fluid eos_polytrope
+\end{verbatim}
+Initial data for shocks can be set using
+\begin{verbatim}
+whisky_init_data
+\end{verbatim}
+Initial data for spherically symmetric static stars (with
+perturbations or multiple ``glued'' stars) can be set by
+\begin{verbatim}
+whisky_tovsolverc
+\end{verbatim}
+
+The actual evolution in time is controlled by the Method of Lines
+thorn MoL. For full details see the relevant ThornGuide. For the
+purposes of {\tt Whisky} at least two parameters are relevant; {\tt
+ ode\_method} and {\tt mol\_timesteps}. If second-order accuracy is
+all that is required then {\tt ode\_method} can be set to either {\tt
+ "rk2"} (second-order TVD Runge-Kutta evolution) or {\tt "icn"}
+(Iterative Crank Nicholson, number of iterations controlled by {\tt
+ mol\_timesteps}, defaults to three), and {\tt mol\_timesteps} can be
+ignored. A more generic (and hence less efficient) method can be
+chosen by setting {\tt ode\_method} to {\tt "genrk"} which is a
+Shu-Osher type TVD Runge-Kutta evolution. Then the parameter {\tt
+ mol\_timesteps} controls the number of intermediate steps and hence
+the order of accuracy. First to seventh order are currently supported.
+
+{\tt Whisky} currently uses a Reconstruction-Evolution type method. The type
+of reconstruction is controlled by the parameter {\tt recon\_method}.
+The currently supported values are {\tt "tvd"} for slope limited TVD
+reconstruction, {\tt "ppm"} for the Colella-Woodward PPM method, and
+{\tt "eno"} for the Essentially Non-Oscillatory method of Harten et
+al. Each of these has further controlling parameters. For example
+there are a number of slope limiters controlled by the keyword {\tt
+ tvd\_limiter}, the PPM method supports shock detection by the
+Boolean {\tt ppm\_detect}, and the ENO method can have various orders
+of accuracy controlled by {\tt eno\_order}. Note that the higher-order
+methods such as PPM and ENO require the stencil size to be increased
+using {\tt whisky\_stencil} {\bf and} {\tt driver::ghost\_size}.
+
+For the evolution various approximate Riemann solvers are available,
+controlled by {\tt riemann\_solver}. Currently implemented are {\tt
+ "HLLE"}, {\tt "Roe"} and {\tt "Marquina"}. For the Roe and Marquina
+methods there are added options to choose which method is used for
+calculating the left eigenvectors. This now defaults to the efficient
+methods of the Valencia group, but the explicit matrix inversion is
+still there for reference.
+
+For the equations of state, two ``types'' are recognized, controlled
+by the parameter {\tt whisky\_eos\_type}. These are {\tt "Polytype"}
+where the pressure is a function of the density, $P=P(\rho)$, and the
+more generic {\tt "General"} type where the pressure is a function
+of the density and the internal energy, $P=P(\rho, \epsilon)$. For the
+{\tt Polytype} equations of state one fewer equation is evolved and
+the specific internal energy is set directly from the density. The
+actual equation of state used is controlled by the parameter {\tt
+ whisky\_eos\_table}. Polytype equations of state include {\tt
+ "2D\_Polytrope"} and general equations of state include {\tt
+ "Ideal\_Fluid"}.
+
+\subsection{Obtaining This Thorn}
+
+The public version of Whisky can be found on the
+website {\tt http://www.whiskycode.org}.
+
+\subsection{Basic Usage}
+
+The simplest way to start using {\tt Whisky} would be to download some
+example parameter files from the web page to try it. There are a number
+of essential parameters which might reward some experimentation. These
+include:
+\begin{itemize}
+\item Reconstruction methods:
+ \begin{itemize}
+ \item {\tt recon\_method}: The type of reconstruction method to
+ use. {\tt tvd} is the standard. {\tt ppm} is more accurate but it requires
+ more resources. {\tt eno} gives in theory
+ arbitrary order of accuracy but it is practically unworthy to go beyond fifth order.
+ \item {\tt tvd\_limiter}: When using {\tt tvd} reconstruction the
+ choice of limiter can have a large effect. {\tt vanleerMC2} is
+ probably the best to use, but the extremes of {\tt minmod} and {\tt
+ Superbee} are also interesting.
+ \item {\tt ppm\_detect}: When using {\tt ppm} reconstruction with
+ shocks, the shock detection algorithm can notably sharpen the
+ profile.
+ \end{itemize}
+\item Riemann solvers: {\tt Marquina} is the standard solver
+ used. {\tt HLLE} is significantly faster, but sometimes provides cruder approximation.
+\item Equations of state: These are controlled by the {\tt
+ whisky\_eos\_type} and {\tt whisky\_eos\_table} parameters. Changing
+ these parameters will depend on which equation of state thorns you
+ have compiled in.
+\item Initial data parameters: {\tt whisky\_rho\_central} is inherited by many
+ initial data thorns to set the central density of compact fluid
+ objects such as single stars.
+\item Atmosphere parameters: Many of these are listed in
+ section~\ref{sec:atmosphere}.
+\end{itemize}
+
+\subsection{Special Behaviour}
+
+Although in theory {\tt Whisky} can deal with conformal metrics as well as
+physical metrics, this part of the code is completely untested as we
+don't have conformal initial data (although this would not be hard -
+we just haven't had the incentive).
+
+\subsection{Interaction With Other Thorns}
+
+{\tt Whisky} provides the appropriate contribution to the stress energy
+through the {\tt CalcTmunu} interface. Those spacetime evolvers that
+use this interface can use {\tt Whisky} without change. To pass the required
+variables across {\tt Whisky} is a friend of {\tt ADMCoupling}.
+
+{\tt Whisky} uses the {\tt MoL} thorn to perform the actual time
+evolution. This means that if all other evolution thorns are also
+using {\tt MoL} then the complete evolution will have the accuracy of
+the {\tt MoL} evolution method without change. This (currently) allows
+for up to fourth-order accuracy in time without any changes to {\tt Whisky}.
+
+For the general equations of state {\tt Whisky} uses the {\tt EOS\_Base}
+interface. This returns the necessary hydrodynamical quantities, such
+as the pressure and derivatives with general function calls. The
+parameter {\tt whisky\_eos\_table} controls which equation of state is
+used during evolution.
+
+{\tt Whisky} also explicitly depends on the polytropic equation of state
+thorn {\tt EOS\_Polytrope}. This is used to reset the hydrodynamical
+quantities in the atmosphere if necessary.
+
+For the metric quantities {\tt Whisky} uses the standard {\tt
+ CactusEinstein} arrangement, especially {\tt ADMBase}. This allows
+the standard thorns to be used for the calculation of constraint
+violations, emission of gravitational waves, location of the apparent
+horizon, and more.
+
+\subsection{Support and Feedback}
+
+The {\tt Whisky} web page is located at
+\begin{verbatim}
+http://www.whiskycode.org
+\end{verbatim}
+and contains information on obtaining the code, together with
+thornlists and sample parameter files. There is also a section on
+Frequently Asked Questions which will hopefully solve your problem.
+If your problem is not answered there then please send details to one
+of the maintainers listed below.
+
+The primary maintainers of {\tt Whisky} are Ian Hawke ({\tt
+ hawke@aei.mpg.de}), Luca Baiotti ({\tt baiotti@ea.c.u-tokyo.ac.jp}) and Frank L\"offler
+({\tt frank.loeffler@aei.mpg.de}). Email should always reach us faster than
+other means and we will try to fix any problems as fast as possible.
+Problems with the web page should also be addressed to Frank.
+
+Other people with knowledge and experience of developing and using
+{\tt Whisky} who may be able to help include Luciano Rezzolla ({\tt
+ rezzolla@aei.mpg.de}) and Nick Stergioulas ({\tt niksterg@aei.mpg.de}).
+
+Problems with thorns that {\tt Whisky} depends on should go direct to their
+maintainers. Examples would be
+\begin{itemize}
+\item {\tt MoL}: Ian Hawke ({\tt hawke@aei.mpg.de})
+\item {\tt ADM\_BSSN}: Denis Pollney ({\tt pollney@aei.mpg.de}) or Ian Hawke ({\tt
+ hawke@aei.mpg.de})
+\item {\tt ADMBase, ADMCoupling, StaticConformal}: The Cactus team
+ ({\tt cactusmaint@cactuscode.org})
+\item {\tt EOS\_*}: Ian Hawke (although in this case I can't guarantee
+ I'll be able to fix the problem)
+\item {\tt Whisky\_Init\_Data}: Luca Baiotti ({\tt baiotti@ea.c.u-tokyo.ac.jp}) or
+ Ian Hawke ({\tt hawke@aei.mpg.de})
+\item {\tt Whisky\_TOVSolverC}: Ian Hawke ({\tt hawke@aei.mpg.de}) or Frank L\"offler ({\tt
+ frank.loeffler@aei.mpg.de})
+\item {\tt Whisky\_IVP}: Frank L\"offler ({\tt frank.loeffler@aei.mpg.de})
+ or Luca Baiotti ({\tt baiotti@ea.c.u-tokyo.ac.jp}) or Ian Hawke ({\tt hawke@aei.mpg.de})
+\end{itemize}
+
+\section{Physical System}
+\label{sec:phys}
+
+The equations of general relativistic hydrodynamics can be written in
+the flux conservative form
+\begin{equation}
+ \label{eq:consform1}
+ \partial_t {\bf q} + \partial_{x^i} {\bf f}^{(i)} ({\bf q}) = {\bf
+ s} ({\bf q}),
+\end{equation}
+where ${\bf q}$ is a set of {\it conserved variables}, ${\bf f}^{(i)}
+({\bf q})$ the fluxes and ${\bf s} ({\bf q})$ the source
+terms.
+The five conserved variables are labeled $D$, $S^i$, and $\tau$, where
+$D$ is the generalized particle number density, $S^i$ are the generalized
+momenta in each direction, and $\tau$ is an internal energy term.
+These conserved variables are composed from a set of {\it primitive variables},
+which are $\rho$, the density, $p$, the
+pressure, $v^i$, the fluid 3-velocities, $\epsilon$, the internal
+energy, and $W$, the Lorentz factor, via the following relations
+% from Whisky/src/Prim2con.F90
+% w = 1.d0 / sqrt(1.d0 - (gxx*dvelx*dvelx + gyy*dvely*dvely + gzz &
+% &*dvelz*dvelz + 2*gxy*dvelx*dvely + 2*gxz*dvelx *dvelz + 2*gyz&
+% &*dvely*dvelz))
+%
+% dpress = (whisky_eos_gamma - 1.d0) * drho * deps
+%
+% ddens = sqrt(det) * drho * w
+% dsx = sqrt(det) * (drho*(1+deps)+dpress)*w*w * (gxx*dvelx + gxy&
+% &*dvely + gxz*dvelz)
+% dsy = sqrt(det) * (drho*(1+deps)+dpress)*w*w * (gxy*dvelx + gyy&
+% &*dvely + gyz*dvelz)
+% dsz = sqrt(det) * (drho*(1+deps)+dpress)*w*w * (gxz*dvelx + gyz&
+% &*dvely + gzz*dvelz)
+% dtau = sqrt(det) * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
+\
+\begin{eqnarray}
+ \label{eq:prim2con}
+ D &=& \sqrt{\gamma}W\rho \nonumber \\
+ S^i &=& \sqrt{\gamma} \rho h W^2 v^i \nonumber \\
+ \tau &=& \sqrt{\gamma}\left( \rho h W^2 - p\right) - D,
+\end{eqnarray}
+where $\gamma$ is the determinant of the spatial 3-metric $\gamma_{ij}$ and
+$h \equiv 1 + \epsilon + p/\rho$.
+Only five of the primitive variables are
+independent. Usually the Lorentz factor is defined in terms of the
+velocities and the metric as $W = (1-\gamma_{ij}v^i v^j)^{-1/2}$.
+Also one of the pressure, density or internal energy terms is given in
+terms of the other two by an {\it equation of state}.
+
+The fluxes are usually defined in terms of both the conserved
+variables and the primitive variables:
+%
+\begin{eqnarray}
+{\bf F}^i({\bf U}) &=& [D(\alpha v^i - \beta^i), S_j(\alpha v^i -
+ \beta^i) + p\delta^i_j, \tau(\alpha v^i - \beta^i) + p
+ v^i]^T\ .
+\end{eqnarray}
+%
+The source terms are
+%
+\begin{eqnarray} \label{source_terms}
+{\bf s}({\bf U}) = \Big [0, T^{\mu\nu}\big (\partial_\mu g_{\nu j} +
+ \Gamma^\delta_{\mu\nu} g_{\delta j}\big ), \alpha \big (T^{\mu
+ 0}\partial_\mu \ln \alpha - T^{\mu\nu}\Gamma^0_{\nu\mu} \big) \Big ]\ .
+\end{eqnarray}
+%
+Note that the source terms do not contain differential operators
+acting on the stress-energy tensor and that this is important for the
+numerical preservation of the hyperbolicity character of the system.
+Also note that in a curved spacetime the equations are not in a
+strictly-homogeneous conservative form, which is recovered only in flat
+spacetime. This conservative form of the relativistic Euler equations
+was first derived by the group at the Universidad de Valencia
+\cite{Banyuls97} and therefore was named the {\it Valencia
+formulation}.
+
+
+%Describe possible equations of state.
+
+%Any other physics points (there'll be lots).
+
+For more detail see the review of Font~\cite{livrevgrrfd}.
+
+\section{Numerical Implementation}
+
+\section{High Resolution Shock Capturing methods}
+\label{sec:hrsc}
+
+The numerical evolution of a hydrodynamical problem is complicated by
+the occurrence of {\it shocks}, {\it i.e.} genuine nonlinear discontinuities that
+will generically form. It is also complicated by the conservation
+constraint. In a High Resolution Shock Capturing (HRSC) method the
+requirement of conservation is used to ensure the correct evolution of
+a shock. A HRSC method also avoids spurious oscillations at shocks
+which are known as Gibbs' phenomena, while retaining a high order of
+accuracy over the majority of the domain.
+
+For a full introduction to HRSC methods see~\cite{laney}, \cite{toro},
+\cite{leveque}, \cite{livrevsrrfd} and \cite{livrevgrrfd}.
+
+In the {\tt Whisky} code it was decided to use the {\it method of lines} as a
+base for the HRSC scheme. The method of lines is a way of turning a
+partial differential equation such as~(\ref{eq:consform1}) into an
+ordinary differential equation. For the {\tt Whisky} code the following steps
+are required.
+\begin{itemize}
+\item Partition the domain of interest into {\it cells}. For
+ simplicity we shall assume a regular Cartesian partitioning. This is
+ not necessary for the method of lines, but it is for {\tt Whisky}.
+\item Over a given cell with Cartesian coordinates $(x^1_i, x^2_j, x^3_k)$,
+ integrate equation~(\ref{eq:consform1}) in space to find the
+ ordinary differential equation
+ \begin{eqnarray}
+ \label{eq:molform1} \nonumber
+ \frac{{\rm d} \,}{{\rm d} t} {\bf q} & = & \int \!\!\!\! \int \!\!\!\!
+ \int {\bf s} \,{\rm d}^3 x + \int_{x^2_{j-1/2}}^{x^2_{j+1/2}}
+ \int_{x^3_{k-1/2}}^{x^3_{k+1/2}} {\bf f}^{(1)} ({\bf q}
+ (x^1_{i-1/2}, y, z)) {\rm d} y \, {\rm d} z - \\
+ && \int_{x^2_{j-1/2}}^{x^2_{j+1/2}}
+ \int_{x^3_{k-1/2}}^{x^3_{k+1/2}} {\bf f}^{(1)} ({\bf q}
+ (x^1_{i+1/2}, y, z))
+ {\rm d} y \, {\rm d} z + \cdots
+ \end{eqnarray}
+ where the boundaries of the Cartesian cells are given by $x^1_{i \pm
+ 1/2}$ and so on.
+\item If we define $\bar{\bf q}$ as the integral average of
+ ${\bf q}$ over the cell, after dividing (\ref{eq:molform1}) by the volume of the cell, we get an ordinary
+ differential equation for $\bar{\bf q}$, in terms of the flux functions and the
+ source terms as functions of the spatial differential of $\bar{{\bf
+ q}}$. We note that, unlike the spatial differential of ${\bf q}$,
+ the spatial differential of $\bar{{\bf q}}$ is well defined in a
+ cell containing a discontinuity.
+\end{itemize}
+
+This ordinary differential equation can be solved by the Cactus thorn
+MoL. All that {\tt Whisky} has to do is to return the values of the discrete
+spatial differential operator
+\begin{eqnarray}
+ \label{eq:molrhs1} \nonumber
+ {\bf L}({\bf q}) & = & \int \!\!\!\! \int \!\!\!\!
+ \int {\bf s} \,{\rm d}^3 x + \int_{x^2_{j-1/2}}^{x^2_{j+1/2}}
+ \int_{x^3_{k-1/2}}^{x^3_{k+1/2}} {\bf f}^{(1)} ({\bf q}
+ (x^1_{i-1/2}, y, z)) {\rm d} y \, {\rm d} z - \\
+ && \int_{x^2_{j-1/2}}^{x^2_{j+1/2}}
+ \int_{x^3_{k-1/2}}^{x^3_{k+1/2}} {\bf f}^{(1)} ({\bf q}
+ (x^1_{i+1/2}, y, z)) {\rm d} y \, {\rm d} z + \cdots
+\end{eqnarray}
+given the data ${\bf q}$, and to supply the boundary conditions that will
+be required to calculate this right hand side at the next time level.
+We note that in the current implementation of MoL the solution to the
+ordinary differential equation~(\ref{eq:molform1}) will be $N^{\rm
+ th}$-order accurate provided that the time integrator used by MoL is $N^{\rm
+ th}$-order accurate in time, and that the discrete operator ${\bf L}$ is
+$N^{\rm th}$-order accurate in space and {\it first}-order (or better)
+accurate in time. For more details on the method of lines, and the
+options given with the time integration for MoL, see the relevant
+chapter in the ThornGuide.
+
+In this implementation of {\tt Whisky} the right hand side operator ${\bf L}$
+will be simplified considerably by approximating the integrals by the
+midpoint rule to get
+\begin{equation}
+ \label{eq:molrhs2}
+ {\bf L}({\bf q}) = {\bf s}_{i,j,k} + {\bf f}^{(1)}_{i-1/2,j,k} -
+ {\bf f}^{(1)}_{i+1/2,j,k} + \cdots
+\end{equation}
+where the dependence of the flux on ${\bf q}$ and spatial position is
+implicit in the notation. Given this simplification, the calculation
+of the right hand side operator splits simply into the following two parts:
+\begin{enumerate}
+\item Calculate the source terms ${\bf s}({\bf q}(x^1_i, x^2_j,
+ x^3_k))$:
+
+ Given that $\bar{{\bf q}}$ is a second-order accurate approximation
+ to ${\bf q}$ at the midpoint of the cell, which is precisely $(x^1_i, x^2_j,
+ x^3_k)$, for second-order accuracy it is sufficient to use ${\bf
+ s}(\bar{{\bf q}}_{i,j,k})$.
+\item In each coordinate direction $x^a$, calculate the {\it intercell
+ flux} ${\bf f}^{(a)}({\bf q}_{i+1/2,j,k})$:
+
+ From the initial data $\bar{{\bf q}}$ given at time $t^n$ we can
+ reconstruct the data at the cell boundary, $({\bf q}_{i+1/2,j,k})$
+ to any required accuracy in space (except in the vicinity of a
+ shock, where only first-order accuracy is guaranteed).
+% - FIXME: check,
+% Ian thinks the ENO theorems say that for linear problems get high order
+% even with discty).
+ However this will only be zeroth-order accurate
+ in time. To ensure first-order accuracy in time, we have to find
+ $({\bf q}_{i+1/2,j,k})(t)$ while retaining the high spatial order
+ of accuracy. This requires two steps:
+ \begin{enumerate}
+ \item {\it Reconstruct} the data ${\bf q}$ over the cells adjacent
+ to the required cell boundary. This reconstruction should use the
+ high spatial order of accuracy. This gives two values of
+ $({\bf q}_{i+1/2,j,k})$, which we call ${\bf q}_L$ and ${\bf q}_R$,
+ where ${\bf q}_L$ is obtained from cell $i$ (left cell) and ${\bf q}_R$
+ from cell $i+1$ (right cell).
+ \item The values ${\bf q}_{L,R}$ are used as initial data for the
+ {\it Riemann problem}. This is the initial value problem given by
+ the partial differential equation~(\ref{eq:consform1}) with
+ semi-infinite piecewise constant initial data ${\bf q}_{L,R}$. As
+ the true function ${\bf q}$ is probably not piecewise constant we
+ will not get the exact solution of the general problem even if we
+ solve the local Riemann problem exactly. However, it will be first-order
+ accurate in time and retain the high order of accuracy in
+ space which, as explained in the documentation to the MoL thorn,
+ is sufficient to ensure that the method as a whole has a high
+ order of accuracy.
+ \end{enumerate}
+\end{enumerate}
+
+So, the difficult part of {\tt Whisky} is expressed in two routines. One that
+reconstructs the function ${\bf q}$ at the boundaries of a
+computational cell given the cell average data $\bar{{\bf q}}$, and
+another that calculates the intercell flux ${\bf f}$ at this cell
+boundary.
+
+\section{Reconstruction}
+\label{sec:recon}
+
+In the reduction of all of {\tt Whisky} to two routines in the last section
+one point was glossed over. That is, in order for the numerical method
+to be consistent and convergent it must retain conservation and not
+introduce spurious oscillations. Up to this point all the steps have
+either been exact or have neither changed the conservation properties
+or the profile of the function. Also, the calculation of the intercell
+flux from the Riemann problem can be made to be ``exactly correct''.
+That is, even though as explained above it may not be the true flux
+for the real function ${\bf q}$, it will be the exact physical
+solution for the values ${\bf q}_{L,R}$ given by the reconstruction
+routine, so the intercell flux cannot violate conservation or
+introduce oscillations. Unphysical effects such as these can only be
+introduced by an incorrect reconstruction.
+
+For a full explanation of reconstruction methods see
+Laney~\cite{laney}, Toro~\cite{toro}, Leveque~\cite{leveque}. For the
+moment we will concentrate on the simplest methods that are better
+than first-order accurate in space, the TVD slope-limited methods.
+More complex methods such as ENO will be introduced later.
+
+In the late 1950's Godunov proved a theorem that, in this context,
+says
+\begin{quote}
+Any {\bf linear} reconstruction method of higher-than-first-order
+accuracy may introduce spurious oscillations.
+\end{quote}
+For this theorem {\it linear} meant that the reconstruction method was
+independent of the data it was reconstructing. Simple centred
+differencing is a linear second-order method and is oscillatory near a
+shock. Instead we must find a reconstruction method that depends on
+the data ${\bf q}$ being reconstructed.
+
+Switching our attention to conservation, we note that there is
+precisely one conservative first-order reconstruction method,
+\begin{equation}
+ \label{eq:reconfirst}
+ {\bf q}^{{\rm First}}(x) = \bar{{\bf q}}_i, \qquad x \in [
+ x_{i-1/2}, x_{i+1/2} ],
+\end{equation}
+and that any second-order conservative method can be written in terms
+of a {\it slope} or rather \emph{difference} $\Delta_i$ as
+\begin{equation}
+ \label{eq:reconsecond}
+ {\bf q}^{{\rm Second}}(x) = \bar{{\bf q}}_i + \frac{x -
+ x_i}{x_{i+1/2} - x_{i-1/2}} \Delta_i, \qquad x \in [ x_{i-1/2}, x_{i+1/2} ].
+\end{equation}
+
+\subsection{TVD Reconstruction}
+\label{sec:tvd}
+
+As we want a method that is accurate ({\it i.e.}, at least to second order)
+while being stable ({\it i.e.}, only first order or nonlinear at shocks)
+then the obvious thing to do is to use some second-order method in the
+form of equation~(\ref{eq:reconsecond}) in smooth regions but which
+changes to the form of equation~(\ref{eq:reconfirst}) smoothly near
+shocks.
+
+In the articles describing the {\tt GRAstro\_Hydro}
+code\footnote{http://wugrav.wustl.edu/ASC/internal/asccodes.html},
+this was described as an average of the two reconstructions,
+\begin{equation}
+ {\bf q}^{{\rm TVD}}(x) = \phi({\bf q}) {\bf q}^{{\rm Second}} + (1 -
+ \phi({\bf q})) {\bf q}^{{\rm First}},
+ \label{First_qTVD}
+\end{equation}
+where $\phi \in [0,1]$ varies smoothly in some sense, and is zero near
+a shock and 1 in smooth regions. In Toro's notation~\cite{toro} (which we usually adopt here)
+the slope limiter function $\phi$ (having the same attributes as above)
+directly multiplies the slope, giving
+\begin{equation}
+ {\bf q}^{{\rm TVD}}(x) = \bar{{\bf q}}_i + \frac{x -
+ x_i}{x_{i+1/2} - x_{i-1/2}} \phi({\bf q}) \Delta_i, \qquad x \in [
+ x_{i-1/2}, x_{i+1/2} ].
+ \label{Toro_qTVD}
+\end{equation}
+Equations (\ref{First_qTVD}) and (\ref{Toro_qTVD}) are equivalent.
+
+For details on how to construct a limiter, on their stability regions and on
+the explicit expressions for the limiters used here,
+see~\cite{toro}. The {\tt Whisky} code implements the {\tt minmod} limiter
+(the most diffusive and the default), the Van Leer Monotonized Centred
+(MC) ({\tt VanLeerMC}) limiter in a number of forms (which should give equivalent results),
+and the {\tt Superbee} limiter. The limiter specified by the parameter value {\tt VanLeerMC2}
+is the recommended one.
+
+As an example, we show how TVD with the minmod limiter is implemented
+in the code. First, we define the minmod function:
+\begin{equation}
+ \label{eq:tvdminmod}
+ \mathrm{\mathbf{minmod}}(a,b) = \left\{ \begin{array}{c l}
+ \textrm{min}(|a|,|b|) & \textrm{if } (a b > 0)\\
+ 0 & \textrm{otherwise}. \end{array}\right.
+\end{equation}
+For reconstructing $\mathbf{q}$ %at the cell interfaces $i+\frac{1}{2}$ and $i-\frac{1}{2}$,
+we choose two differences
+\begin{equation}
+ \begin{array}{lcl}
+ \Delta_{\mathrm{upw}} & = & \mathbf{q}_i - \mathbf{q}_{i-1}\\
+ \Delta_{\mathrm{loc}} & = & \mathbf{q}_{i+1} - \mathbf{q}_{i}\,,\\
+ \end{array}
+\end{equation}
+and write
+\begin{equation}
+ {\bf q}^{{\rm TVD,minmod}}(x) = \bar{{\bf q}}_i + \frac{x -
+ x_i}{x_{i+1/2} - x_{i-1/2}} \mathbf{minmod}(\Delta_{\mathrm{upw}},\Delta_{\mathrm{loc}}),
+ \qquad x \in [
+ x_{i-1/2}, x_{i+1/2} ].
+\end{equation}
+\subsection{PPM reconstruction}
+\label{sec:ppm}
+
+The piecewise parabolic method (PPM) of Colella and
+Woodward~\cite{ppm} is a rather more complex method that requires a
+number of steps. The implementation in the {\tt Whisky} code is specialized
+to use evenly spaced grids. Also, some of the more complex features are not
+implemented; in particular, the dissipation algorithm is only the
+simplest given in the original article. Here we just give the implementation
+details. For more details on the method we refer to the original
+article.
+
+Again we assume we are reconstructing a scalar function $q$ as a
+function of $x$ in one dimension on an evenly spaced grid, with spacing $\Delta
+x$. The first step is to interpolate a quadratic polynomial to the cell
+boundary,
+\begin{equation}
+ \label{eq:ppm1}
+ q_{i+1/2} = \frac{1}{2} \left( q_{i+1} + q_i \right) + \frac{1}{6}
+ \left( \delta_m q_i - \delta_m q_{i+1} \right),
+\end{equation}
+where
+\begin{equation}
+ \label{eq:ppmdm1}
+ \delta_m q_i = \left\{ \begin{array}{c l} \textrm{min}(|\delta q_i|,
+ 2|q_{i+1} - q_i|, 2|q_i - q_{i-1}|) \textrm{ sign}(\delta q_i) &
+ \textrm{if } (q_{i+1} - q_i)(q_i - q_{i-1}) > 0, \\
+ 0 & \textrm{otherwise}. \end{array} \right.,
+\end{equation}
+and
+\begin{equation}
+ \label{eq:ppmd1}
+ \delta q_i = \frac{1}{2}(q_{i+1} - q_{i-1}).
+\end{equation}
+At this point we set both left and right states at the interface to be
+equal to this,
+\begin{equation}
+ \label{eq:ppmset1}
+ q_i^R = q_{i+1}^L = q_{1+1/2}.
+\end{equation}
+
+This reconstruction will be oscillatory near shocks. To preserve
+monotonicity, the following replacements are made:
+\begin{eqnarray}
+ \label{eq:ppmmonot}
+ q_i^L = q_i^R = q_i & \textrm{if} & (q_i^R - q_i)(q_i - q_i^L) \leq
+ 0 \\
+ q_i^L = 3 q_i - 2q_i^R & \textrm{if} & (q_i^R - q_i^L)\left( q_i -
+ \frac{1}{2} (q_i^L + q_i^R) \right) > \frac{1}{6}(q_i^R - q_i^L)^2
+ \\
+ q_i^R = 3 q_i - 2q_i^L & \textrm{if} & (q_i^R - q_i^L)\left( q_i -
+ \frac{1}{2} (q_i^L + q_i^R) \right) < -\frac{1}{6}(q_i^R -
+ q_i^L)^2.
+\end{eqnarray}
+
+However, before applying the monotonicity preservation two other steps
+may be applied. Firstly we may steepen discontinuities. This is to
+ensure sharp profiles and is only applied to contact
+discontinuities. This may be switched on or off using the parameter
+{\tt ppm\_detect}. This part of the method replaces the cell boundary
+reconstructions of the density with
+\begin{eqnarray}
+ \label{eq:ppmdetect}
+ \rho_i^L & = & \rho_i^L (1-\eta) + \left(\rho_{i-1} + \frac{1}{2}
+ \delta_m \rho_{i-1} \right) \eta \\
+ \rho_i^R & = & \rho_i^R (1-\eta) + \left(\rho_{i+1} - \frac{1}{2}
+ \delta_m \rho_{i+1} \right) \eta
+\end{eqnarray}
+where $\eta$ is only applied if the discontinuity is mostly a contact
+(see~\cite{ppm} for the details) and is defined as
+\begin{equation}
+ \label{eq:ppmeta}
+ \eta = \textrm{max}(0, \textrm{min}(1, \eta_1 (\tilde{\eta} - \eta_2))),
+\end{equation}
+where $\eta_1,\eta_2$ are positive constants and
+\begin{equation}
+ \label{eq:ppmetatilde}
+ \tilde{\eta} = \left\{ \begin{array}{c l}
+ \frac{\rho_{i+2} - \rho_{i+2} + 4 \delta\rho_i}{12\delta\rho_i} &
+ \textrm{ if } \left\{
+\begin{array}{l}
+ \delta^2\rho_{i+1}\delta^2\rho_{i-1} < 0\\
+ (\rho_{i+1} - \rho_{i-1}) - \epsilon \textrm{min}(|\rho_{i+1}|,|\rho_{i-1}|) >
+ 0\nonumber
+\end{array} \right. \\
+ 0 & \textrm{otherwise} \end{array} \right.,
+\end{equation}
+with $\epsilon$ another positive constant and
+\begin{equation}
+ \label{eq:ppmd2rho}
+ \delta^2\rho_i = \frac{\rho_{i+1} - 2\rho_i + \rho_{i-1}}{6\Delta
+ x^2}.
+\end{equation}
+
+Another step that is performed before monotonicity enforcement is to
+flatten the zone structure near shocks. This adds simple dissipation
+and is always in the code. In short, the reconstructions are again
+altered to
+\begin{equation}
+ \label{eq:ppmflatten}
+ q_i^{L,R} = \nu_i q_i^{L,R} + (1 - \nu_i) q_i,
+\end{equation}
+where
+\begin{equation}
+ \label{eq:ppmflatten2}
+ \nu_i = \left\{ \begin{array}{c l} {\rm max}(0, 1 - \textrm{max}(0, \omega_2
+ (\frac{p_{i+1} - p_{i-1}}{p_{i+2} - p_{i-2}} - \omega_1))) & \textrm{
+ if } \omega_0 \textrm{min}(p_{i-1}, p_{i+1}) < |p_{i+1} - p_{i - 1}|
+ \textrm{ and } v^x_{i-1} - v^x_{i+1} > 0 \\
+ 1 & \textrm{otherwise} \end{array} \right.
+\end{equation}
+and $\omega_0, \omega_1,\omega_2$ are constants.
+
+The above flattening procedure is not the one in the original article of Colella and Woodward, but
+it has been adapted from it in order to have a stencil of three points. The original flattening
+procedure is also implemented in {\tt Whisky}. Instead of \ref{eq:ppmflatten}, it consists in the formula
+\begin{equation}
+ \label{eq:ppmflatten-stencil4}
+ q_i^{L,R} = \tilde \nu_i q_i^{L,R} + (1 - \tilde \nu_i) q_i,
+\end{equation}
+where
+\begin{eqnarray}
+\tilde \nu_i &=& {\rm max}\Big(\nu_i,\nu_{i+{\rm sign}(p_{i-1}-p_{i+1})}\Big)
+\end{eqnarray}
+and $\nu_i$ is given by \ref{eq:ppmflatten2}. This can be activated by setting the parameter {\tt
+ppm\_flatten} to {\tt stencil\_4}. Formula \ref{eq:ppmflatten-stencil4}, despite requiring
+more computational resources (especially when mesh refinement is used), usually gives very similar
+results to \ref{eq:ppmflatten}, so we routinely use \ref{eq:ppmflatten}.
+
+
+\subsection{ENO Reconstruction}
+\label{sec:eno}
+
+An alternative way of getting higher-than-second-order accuracy is the implementation of the
+Essentially Non-Oscillatory methods of Harten et.al~\cite{eno}. The
+essential idea is to alter the stencil to use those points giving the
+smoothest reconstruction. The only restriction is that the stencil
+must include the cell to be reconstructed (for stability). Here we
+describe the simplest ENO type reconstruction: piecewise polynomial
+reconstruction using the (un)divided differences to measure the
+smoothness.
+
+Let $k$ be the order of the reconstruction. Suppose we are
+reconstructing the scalar function $q$ in cell $i$. We start with the
+cell $I_i$. We then add to the stencil cell $I_j$, where $j = i \pm
+1$, where we choose $j$ to minimize the Newton divided differences
+\begin{eqnarray}
+ \label{enodd}
+ q \left[ x_{i-1}, x_i \right] & = & \frac{q_i - q_{i-1}}{x_{i+1/2}
+ - x_{i-3/2}} \\
+ q \left[ x_i, x_{i+1} \right] & = & \frac{q_{i+1} - q_i}{x_{i+3/2}
+ - x_{i-1/2}}.
+\end{eqnarray}
+\noindent We then recursively add more cells, minimizing the higher-order
+Newton divided differences $q \left[ x_{i-k}, \dots, x_{i+j} \right]$
+defined by
+\begin{equation}
+ \label{enodd2}
+ q \left[ x_{i-k}, \dots, x_{i+j} \right] = \frac{ q \left[ x_{i-k+1},
+ \dots, x_{i+j} \right] - q \left[ x_{i-k}, \dots, x_{i+j-1} \right]
+ }{x_{i+j} - x_{i-k}}.
+\end{equation}
+\noindent The reconstruction at the cell boundary is given by a
+standard $k^{\textrm{th}}$-order polynomial interpolation on the chosen
+stencil.
+
+\cite{shueno} has outlined an elegant way of calculating the cell
+boundary values solely in terms of the stencil and the known data. If
+the stencil is given by
+\begin{equation}
+ \label{enostencil1}
+ S(i) = \left\{ I_{i-r}, \dots, I_{i+k-r-1} \right\},
+\end{equation}
+\noindent for some integer $r$, then there exist constants $c_{rj}$
+depending only on the grid $x_i$ such that the boundary
+values for cell $I_i$ are given by
+\begin{equation}
+ \label{enoc1}
+ q_{i+1/2} = \sum_{j=0}^{k-1} c_{rj} q_{i-r+j}, \qquad q_{i-1/2} =
+ \sum_{j=0}^{k-1} c_{r-1,j} q_{i-r+j}.
+\end{equation}
+\noindent The constants $c_{rj}$ are given by the rather complicated
+formula
+\begin{equation}
+ \label{enoc2}
+ c_{rj} = \left\{ \sum_{m=j+1}^k \frac{ \sum_{l=0, l \neq m}^k
+ \prod_{q=0, q \neq m, l}^k \left( x_{i+1/2} - x_{i-r+q-1/2} \right)
+ }{ \prod_{l=0, l \neq m}^k \left( x_{i-r+m-1/2} - x_{i-r+L-1/2}
+ \right) } \right\} \Delta x_{i-r+j}.
+\end{equation}
+\noindent This simplifies considerably if the grid is even. The
+coefficients for an even grid are given (up to seventh order)
+by~\cite{shueno}.
+
+\section{Riemann Problems}
+\label{sec:riemann}
+
+Given the reconstructed data, we then solve a local Riemann problem in
+order to get the intercell flux. The Riemann problem is specified by
+an equation in flux conservative homogeneous form,
+\begin{equation}
+ \label{eq:homconsform1}
+ \partial_t {\bf q} + \partial_{x^i} {\bf f}^{(i)} ({\bf q}) = 0
+\end{equation}
+with piecewise constant initial data ${\bf q}_{_{L,R}}$ separated by a
+discontinuity at $x^{(1)}=0$. Flux terms for the other directions are
+given similarly. There is no intrinsic scale to this problem and so
+the solution must be a self similar solution with similarity variable
+$\xi = x^{(1)}/t$. The solution is given in terms of {\it waves} which
+separate different {\it states}, with each state being constant. The
+waves are either {\it shocks}, across which all hydrodynamical
+variables change discontinuously, {\it rarefactions}, across which all
+the variables change continuously (the wave is not a single value of
+$\xi$ for a rarefaction, but spreads across a finite range), or {\it
+contact or tangential} discontinuities, across which some but not all
+of the hydrodynamical variables change discontinuously and the rest
+are constant. The characteristics of the matter evolution converge and
+break at a shock, diverge at a rarefaction and are parallel at the
+other linear discontinuities.
+
+The best references for solving the Riemann problem either exactly or
+approximately are~\cite{leveque}, \cite{toro}, \cite{laney}. Here, we start by
+giving a simple outline. We
+start by considering the $N$ dimensional linear problem in one
+dimension given by
+\begin{equation}
+% \label{eq:linsys1}
+ \label{lsrp}
+ \partial_t {\bf q} + A \partial_{x} {\bf q} = 0 \ ,
+\end{equation}
+where $A$ is a $N\times N$ matrix with constant coefficients. We
+define the eigenvalues $\lambda^j$ with associated right and left
+eigenvectors ${\bf r}^j,{\bf l}_j$, where the eigenvectors are
+normalized to each other ({\it i.e.}, their dot product is
+$\delta^i_j$).
+%%%%This was sort of written twice
+%Defining the characteristic variables ${\bf w}_i$ as
+%\begin{equation}
+% \label{eq:charvar1}
+% {\bf w}_i = {\bf l}^j_i \cdot {\bf q}_j \ ,
+%\end{equation}
+%then equation (\ref{eq:linsys1}) transforms to a set of uncoupled
+%linear equations
+%\begin{equation}
+% \label{eq:linsys2}
+% \partial_t {\bf w}_i + \Lambda \partial_{x} {\bf w}_i = 0 \ ,
+%\end{equation}
+%where the matrix $\Lambda$ contains the eigenvalues on the diagonals
+%and is zero elsewhere. By convention the eigenvalues are ordered
+%$\lambda_1 < \dots < \lambda_N$.
+%
+%The solution to one of the uncoupled equations along the cell boundary
+%is simply that the characteristic variable is given by
+%\begin{equation}
+% \label{eq:linflux}
+% {\bf w}_i = \left\{ \begin{array}[c]{r c l} ({\bf w}_i)_L & {\rm if}
+% & \lambda_i > 0 \\
+% ({\bf w}_i)_R & {\rm if} & \lambda_i < 0. \end{array}\right\},
+%\end{equation}
+%where, as before, subscripts $L$ and $R$ are used to denote quantities
+%obtained from cells on the left and right, respectively, of the intercell
+%interface.
+%To get the intercell flux we transform the solution back to the
+%conserved variables by taking the dot product with the right
+%eigenvectors and then multiplying by the matrix $A$. This can be written
+%in a number of ways; the form we use is
+%\begin{equation}
+% \label{eq:linsysflux}
+% {\bf f}_{i+1/2} = \frac{1}{2} \left[ A({\bf q}_{_L}) + A({\bf q}_{_R})
+% - \Sigma_{j=1}^N |\lambda_j| \Delta {\bf w}_j {\bf r} \right],
+%\end{equation}
+%where $\Delta {\bf w}^j$ is the jump in the appropriate characteristic
+%variable across the $j^{{\rm th}}$ wave. We note that the
+%characteristic jumps are easily calculated from
+%\begin{equation}
+% \label{eq:charjump}
+% \Delta {\bf w}_i = {\bf l}_i^j \left[ ({\bf q}_R)_j - ({\bf q}_L)_j
+% \right].
+%\end{equation}
+%
+%The Roe flux is simply given by locally assuming that the conserved
+%variables are constant. Thus the matrix $A$ is simply given by
+%evaluating the Jacobian matrix $\partial {\bf f}({\bf q}) / \partial
+%{\bf q}$ at some average state. Equation~(\ref{eq:linsysflux}) is then
+%used to evaluate the intercell flux. The only questions are
+%\begin{itemize}
+%\item What is an appropriate intermediate state?
+%\item When is this approximate (in)valid?
+%\end{itemize}
+%
+%\subsection{Linear system}
+%%
+%Let ${\bf l}_i$, ${\bf r}^i$ be the left and right eigenvectors,
+%respectively, of the matrix $A$ with eigenvalues $\lambda_i$,
+%normalized such that ${\bf l}_i \cdot {\bf r}^j = \delta_i^j$.
+%
+\label{sec:linsys}
+We shall assume that the eigenvectors span the space. The characteristic
+variables ${\bf w}_i$ are defined by
+\begin{equation}
+ \label{charvar}
+ {\bf w}_i = {\bf l}_i \cdot {\bf q}.
+\end{equation}
+\noindent Then equation (\ref{lsrp}) when written in terms of the
+characteristic variables becomes
+\begin{equation}
+ \label{charvarrp}
+ \partial_t {\bf w} + \Lambda \partial_x {\bf w} = 0,
+\end{equation}
+\noindent where $\Lambda$ is the matrix containing the eigenvalues
+$\lambda_i$ on the diagonals and zeros elsewhere. Hence each
+characteristic variable ${\bf w}^i$ obeys the linear advection
+equation with velocity $a = \lambda_i$. This solves the Riemann
+problem in terms of characteristic variables.
+
+In order to write the solution in terms of the original variables
+${\bf q}$ we order the variables in such a way that $\lambda_1 \leq \dots \leq
+\lambda_N$. We also define the differences in the characteristic
+variables $\Delta {\bf w}_i = ({\bf w}_i)_L - ({\bf w}_i)_R$ across
+the $i^{{\rm th}}$ characteristic wave. These differences are single
+numbers (`scalars'). We note that these differences can easily be
+found from the initial data using
+\begin{equation}
+ \label{dw}
+ \Delta {\bf w}_i = {\bf l}_i \cdot \left( {\bf q}_L - {\bf q}_R
+ \right).
+\end{equation}
+\noindent As the change in the solution across each wave is precisely
+the difference in the associated characteristic variable, the solution
+of the Riemann problem in terms of characteristic variables can be
+written as either
+\begin{equation}
+ \label{lsrpsol1}
+ {\bf w}_i = ({\bf w}_i)_L + \sum_{j=1}^M \Delta {\bf w}_j {\bf e}^j \quad
+ {\rm if}\ \lambda_M < \xi < \lambda_{M+1},
+\end{equation}
+\noindent or
+\begin{equation}
+ \label{lsrpsol2}
+ {\bf w} = ({\bf w}_i)_R - \sum_{j=M+1}^N \Delta {\bf w}_j {\bf e}^j
+ \quad {\rm if}\ \lambda_M < \xi < \lambda_{M+1},
+\end{equation}
+\noindent or as the average
+\begin{equation}
+ \label{lsrpsol3}
+ {\bf w}_i = \frac{1}{2} \left( ({\bf w}_i)_L + ({\bf w}_i)_R +
+ \sum_{j=1}^M \Delta
+ {\bf w}_j {\bf e}^j - \sum_{j=M+1}^N \Delta {\bf w}_j {\bf e}^j
+ \right) \quad {\rm if}\ \lambda_M < \xi < \lambda_{M+1},
+\end{equation}
+\noindent where ${\bf e}^i$ is the column vector $({\bf e}^i)_j =
+\delta^i_j$.
+
+Converting back to the original variables ${\bf q}$ we have the
+solution
+\begin{equation}
+ \label{lsrpsol4}
+ {\bf q} = \frac{1}{2} \left( {\bf q}_L + {\bf q}_R + \sum_{i=1}^M \Delta
+ {\bf w}_i {\bf r}^i - \sum_{i=M+1}^N \Delta {\bf w}_i {\bf r}^i
+ \right) \quad {\rm if}\ \lambda_M < \xi < \lambda_{M+1}.
+\end{equation}
+\noindent In the case where we are only interested in the flux
+along the characteristic $\xi = 0$ we can write the solution in the
+simple form
+\begin{equation}
+ \label{lsrpsol6}
+ {\bf f}({\bf q}) = \frac{1}{2} \left( {\bf f}({\bf q}_L) + {\bf f}({\bf
+ q}_R) - \sum_{i=1}^N | \lambda_i | \Delta {\bf w}_i {\bf r}^i \right).
+\end{equation}
+
+All exact Riemann solvers have to solve at least an implicit
+equation and so are computationally very expensive. As the
+solution of Riemann problems takes a large portion of
+the time to run in a HRSC code, approximations that speed the
+calculation of the intercell flux are often essential. This is
+especially true in higher dimensions (>1), where the solution of the
+ordinary differential equation to give the relation across a
+rarefaction wave makes the use of an exact Riemann solver impractical.
+
+Approximate Riemann solvers can have problems, as shown in depth by
+Quirk~\cite{Quirk}. Hence it is best to compare the
+results of as many different solvers as possible. Here we shall describe
+the three approximate solvers used in this code, starting with the
+simplest.
+
+\subsection{HLLE solver}
+\label{sec:hlle}
+
+The Harten-Lax-van Leer-Einfeldt (HLLE) solver of Einfeldt~\cite{Einfeldt88} is a
+simple two-wave approximation. We assume that the maximum and minimum wave speeds
+$\xi_{\pm}$ are known. The solution of the Riemann problem is then
+given by requiring conservation to hold across the waves. The solution
+takes the form
+\begin{equation}
+ \label{hlle1}
+ {\bf q} = \left\{ \begin{array}[c]{r c l} {\bf q}_L & {\rm if} & \xi
+ < \xi_- \\ {\bf q}_* & {\rm if} & \xi_- < \xi < \xi_+ \\
+ {\bf q}_R & {\rm if} & \xi > \xi_+, \end{array}\right.
+\end{equation}
+\noindent and the intermediate state ${\bf q}_*$ is given by
+\begin{equation}
+ \label{hlle2}
+ {\bf q}_* = \frac{\xi_+ {\bf q}_R - \xi_- {\bf q}_L - {\bf f}({\bf
+ q}_R) + {\bf f}({\bf q}_L)}{\xi_+ - \xi_-}.
+\end{equation}
+\noindent If we just want the numerical flux along the boundary then
+this takes the form
+\begin{equation}
+ \label{hlleflux}
+ {\bf f}({\bf q}) = \frac{\widehat{\xi}_+{\bf f}({\bf q}_L) -
+ \widehat{\xi}_-{\bf f}({\bf q}_R) + \widehat{\xi}_+ \widehat{\xi}_-
+ ({\bf q}_R - {\bf q}_L)}{\widehat{\xi}_+ - \widehat{\xi}_-},
+\end{equation}
+\noindent where
+\begin{equation}
+ \label{hlle3}
+ \widehat{\xi}_- = {\rm min}(0, \xi_-), \quad \widehat{\xi}_+ =
+ {\rm max}(0, \xi_+).
+\end{equation}
+
+Knowledge of the precise minimum and maximum characteristic velocities
+$\xi_{\pm}$ requires knowing the solution of the Riemann problem.
+Instead, the characteristic velocities are usually found from the
+eigenvalues of the Jacobian matrix $\partial {\bf f} / \partial {\bf
+ q}$ evaluated at some intermediate state. To ensure that the maximum
+and minimum eigenvalues over the entire range between the left and
+right states are found, we evaluate the Jacobian in both the left and
+right states and take the maximum and minimum over all eigenvalues.
+This ensures, for the systems of equations considered here, that the
+real maximum and minimum characteristic velocities are contained
+within $[\xi_-, \xi_+]$.
+
+If we set $\alpha = {\rm max}(|\xi_-|, |\xi_+|)$ and replace the
+characteristic velocities $\xi_{\pm}$ with $\pm \alpha$, we find the
+Lax--Friedrichs flux ({\it cf.} also Tadmor's semi-discrete scheme~\cite{Tadmor00})
+\begin{equation}
+ \label{lfflux}
+ {\bf f}({\bf q}) = \frac{1}{2} \left[ {\bf f}({\bf q}_L) + {\bf f}({\bf
+ q}_R) + \alpha ({\bf q}_L -{\bf q}_R) \right].
+\end{equation}
+\noindent This is very diffusive, but also very stable.
+
+
+\subsection{Roe solver}
+\label{sec:roe}
+
+The linearized solver of Roe~\cite{Roe81} is probably the most popular
+approximate Riemann solver. The simplest interpretation is that the
+Jacobian $\partial {\bf f} / \partial {\bf q}$ is linearized about
+some intermediate state. Then the conservation form reduces to the
+linear equation
+\begin{equation}
+ \label{roe1}
+ \partial_t {\bf q} + A \partial_x {\bf q} = 0,
+\end{equation}
+\noindent where $A$ is a constant coefficient matrix. This is
+identical to equation (\ref{lsrp}) and so all the results of
+section~\ref{sec:linsys} on linear systems hold. We reiterate that the
+standard form for the flux along the characteristic ray $\xi=0$ is
+\begin{equation}
+ \label{roe2}
+ {\bf f}({\bf q}) = \frac{1}{2} \left( {\bf f}({\bf q}_L) + {\bf f}({\bf
+ q}_R) - \sum_{i=1}^N | \lambda_i | \Delta {\bf w}_i {\bf r}^i \right).
+\end{equation}
+
+There is a choice of which intermediate state the Jacobian should be
+evaluated at. Roe gives three criteria that ensure the consistency and
+stability of the numerical flux:
+\begin{enumerate}
+\item $A({\bf q}_{{\rm Roe}}) \left( {\bf q}_R - {\bf q}_L \right) =
+ {\bf f}({\bf q}_R) - {\bf f}({\bf q}_L)$,
+\item $A({\bf q}_{{\rm Roe}})$ is diagonalizable with real
+ eigenvalues,
+\item $A({\bf q}_{{\rm Roe}}) \rightarrow \partial {\bf f} / \partial
+ {\bf q}$ smoothly as ${\bf q}_{{\rm Roe}} \rightarrow {\bf q}$.
+\end{enumerate}
+\noindent A true Roe average for relativistic hydrodynamics, {\it i.e.}, an
+intermediate state that satisfies all these conditions, has been
+constructed by Eulderink~\cite{Eulderink94}. However, frequently it is sufficient
+to use
+\begin{equation}
+ \label{roe3}
+ {\bf q}_{{\rm Roe}} = \frac{1}{2} \left( {\bf q}_R + {\bf q}_L \right),
+\end{equation}
+\noindent which satisfies only the last two conditions. For simplicity
+we have implemented this arithmetic average.
+
+
+\subsection{Marquina solver}
+\label{sec:marq}
+
+Unlike all the other Riemann solvers introduced so far, the Marquina
+solver as outlined in \cite{Marquina1} does not solve the Riemann
+problem completely. Instead, only the flux along the characteristic
+ray $\xi=0$ is given. It can be seen as a generalized Roe solver, as
+the results are the same except at sonic points. These points are
+where the fluid velocity is equal to the speed of sound of the fluid.
+In the context of Riemann problems, sonic points are found when the
+ray $\xi=0$ is within a rarefaction wave.
+
+Firstly define the left ${\bf l}({\bf q}_{L,R})$ and right ${\bf
+ r}({\bf q}_{L,R})$ eigenvectors and the eigenvalues $\lambda({\bf
+ q}_{L,R})$ of the Jacobian matrix $\partial {\bf f} / \partial {\bf
+ q}$ evaluated at the left and right states. Next define left and
+right characteristic variables ${\bf w}_{L,R}$ and fluxes
+${\bf \phi}_{L,R}$ by
+\begin{equation}
+ \label{marq1}
+ ({\bf w}_i)_{L,R} = {\bf l}_i({\bf q}_{L,R}) \cdot {\bf q}_{L,R}, \quad
+ ({\bf \phi}_i)_{L,R} = {\bf l}_i({\bf q}_{L,R}) \cdot {\bf f}({\bf
+ q}_{L,R}).
+\end{equation}
+
+Then the algorithm chooses the correct-sided characteristic flux if
+the eigenvalues $\lambda_i({\bf q}_L)$, $\lambda_i({\bf q}_R)$ have
+the same sign, and uses a Lax--Friedrichs type flux if they change
+sign. In full, the algorithm is given in figure~\ref{fig:marqcode}.
+\begin{figure}[htbp]
+ \begin{center}
+ \leavevmode
+\begin{equation}
+ \label{marqalg}
+ \begin{array}[l]{l}
+ {\bf For}\ \, i = 1, \dots, N\ {\bf do} \\
+ \qquad \begin{array}[c]{l}
+ {\bf If}\ \, \lambda_i({\bf q}_L) \lambda_i({\bf q}_R) > 0
+ \ \, {\bf then} \\
+ \qquad \qquad \begin{array}[c]{l}
+ {\bf If}\ \, \lambda_i({\bf q}_L) > 0 \ \, {\bf then} \\
+ \qquad \qquad \qquad \begin{array}[c]{r c l}
+ {\bf \phi}^i_+ & = & {\bf \phi}^i_L \\
+ {\bf \phi}^i_- & = & 0
+ \end{array} \\
+ {\bf else} \\
+ \qquad \qquad \qquad \begin{array}[c]{r c l}
+ {\rm \phi}^i_+ & = & 0 \\
+ {\rm \phi}^i_- & = & {\bf \phi}^i_R
+ \end{array} \\
+ {\bf end if}
+ \end{array} \\
+ {\bf else} \\
+ \qquad \qquad \begin{array}[c]{r c l}
+ \alpha^i & = & {\rm max}(|\lambda_i({\bf q}_L), \lambda_i({\bf
+ q}_R)|) \\
+ {\bf \phi}^i_+ & = & \frac{1}{2} \left( {\bf \phi}^i_L +
+ \alpha^i {\bf w}^i_L \right) \\
+ {\bf \phi}^i_- & = & \frac{1}{2} \left( {\bf \phi}^i_R -
+ \alpha^i {\bf w}^i_R \right)
+ \end{array} \\
+ {\bf end if} \\
+ \end{array} \\
+ {\bf end do}
+ \end{array}
+\end{equation}
+ \caption[The algorithm to calculate the Marquina flux]{The
+ algorithm to calculate the Marquina flux.}
+ \label{fig:marqcode}
+ \end{center}
+\end{figure}
+
+Then the numerical flux is given by
+\begin{equation}
+ \label{marqflux}
+ {\bf f}({\bf q}) = \sum_{i=1}^N \left[ {\bf \phi}^i_+
+ {\bf r}^i ({\bf q}_L) + {\bf \phi}^i_- {\bf r}^i ({\bf q}_R)
+ \right].
+\end{equation}
+
+The above implementation is based on \cite{Aloy99b}.
+
+
+\section{Other points in {\tt Whisky}}
+\label{sec:misc}
+
+There are a number of other things done by {\tt Whisky} which, whilst not as
+important as reconstruction and evolution, are still essential.
+
+
+\subsection{Source terms}
+\label{sec:sources}
+
+In a curved spacetime the equations are not in homogeneous conservation-law
+form but also contain source terms. These are actually calculated
+first, before the flux terms (it simplifies the loop very slightly).
+There are a few points to note about the calculation of the sources.
+\begin{itemize}
+\item The calculation used here, taken from the {\tt GR3D} code, requires both the
+ metric and the extrinsic curvature.
+\item In order to calculate the Christoffel symbols the gauge and
+ metric variables must be differenced. Currently centred differencing
+ of second or fourth (we are safe to use this, as {\tt Whisky} requires
+ always at least 2 ghost zones) order is hardwired in. The two differencings can be selected via
+ the parameter {\tt ADMMacros/spatial\_order}.
+\item For numerical reasons, namely in order to avoid the presence of time derivatives
+ in the source-term computation, the implemented form of the source terms is not
+ \eqref{source_terms} directly, but it has been modified as shown in
+ the following paragraphs (following a clever idea by Mark Miller (see the {\tt GR3D} code)
+\end{itemize}
+
+%The actual derivation of the source terms is somewhat complex and not
+%at all obvious. If anybody comes up with a better way of doing things
+%than the below, please alter the documentation.
+In what follows Greek letters range from $0$ to $3$ and roman letters from $1$ to $3$.
+
+For the following computations, we need the expression of some of the 4-Christoffel symbols
+$\ {}^{(4)}\Gamma^\rho_{\mu\nu}$ applied to the 3+1 decomposed
+variables. In order to remove time derivatives we will frequently make
+use of the ADM evolution equation for the 3-metric in the form
+%
+\begin{equation}
+ \label{eq:SourceADMg}
+ \partial_t \gamma_{ij} = - 2 \left( \alpha K_{ij} + \partial_{(i}
+ \beta_{j)} - {}^{(3)}\Gamma^k_{ij} \beta_k \right)\ .
+\end{equation}
+%
+As it is used in what follows, we also recall that $\nabla$ is the
+covariant derivative associated with the spatial 3-surface and we note that it is
+compatible with the 3-metric:
+%
+\begin{eqnarray}
+\label{compatible_derivative}
+\nabla_i\gamma^{jk}=\partial_i\gamma^{jk} + 2{}^{(3)}\Gamma^j_{il}\gamma^{lk} = 0 \ .
+\end{eqnarray}
+%
+We start from the ${}^{(4)}\Gamma^0_{00}$ symbol:
+%
+\begin{eqnarray}
+\label{eq:Gamma000}
+{}^{(4)}\Gamma^0_{00} = \frac{1}{2\alpha^2}\Big[
+-\partial_t\big(\beta_k\beta^k\big)+2\alpha\partial_t\alpha
++ 2\beta^i\partial_t\beta_i - \beta^i\partial_i\big(\beta_k\beta^k\big) + 2\alpha\beta^i\partial_i\alpha\Big]
+\end{eqnarray}
+%
+and we expand the derivatives as
+%
+\begin{eqnarray} \label{de_t_beta2}
+\partial_t\big(\beta_k\beta^k\big) &=&
+\partial_t\big(\gamma_{jk}\beta^j\beta^k\big) = 2\gamma_{jk}\beta^j\partial_t\beta^k +
+\beta^j\beta^k\partial_t\gamma_{jk} = \nonumber \\
+ &=& 2\beta_k\partial_t\beta^k -2\alpha K_{jk}
+\beta^j\beta^k - 2\beta^j\beta^k\partial_j\beta_k + 2{}^{(3)}\Gamma^i_{kj} \beta_i\beta^j\beta^k
+\end{eqnarray}
+%
+and
+%
+\begin{eqnarray} \label{de_i_beta2}
+\partial_i\big(\beta_k\beta^k\big) =
+\partial_i\big(\gamma^{jk}\beta_j\beta_k\big) =
+2\gamma^{jk}\beta_j\partial_i\beta_k + \beta_j\beta_k\partial_i\gamma^{jk} =
+2\beta_k\partial_i\beta_k -2{}^{(3)}\Gamma^j_{ik}\beta_j\beta^k \ ,
+\end{eqnarray}
+%
+where we have used \eqref{eq:SourceADMg} and
+\eqref{compatible_derivative}, respectively.
+Inserting \eqref{de_t_beta2} and \eqref{de_i_beta2}, equation
+\eqref{eq:Gamma000} becomes
+%
+\begin{eqnarray}
+ \label{eq:Gamma000_final}
+{}^{(4)}\Gamma^0_{00} = \frac{1}{\alpha}\Big(\partial_t\alpha +
+\beta^i\partial_i\alpha + K_{jk}\beta^j\beta^k \Big)\ .
+\end{eqnarray}
+%
+With the same strategy we then compute
+%
+\begin{eqnarray}
+ \label{eq:SourceChr1a}
+ {}^{(4)}\Gamma^0_{i0} & = & - \frac{1}{2\alpha^2} \Big[
+ \partial_i (\beta^k \beta_k - \alpha^2) - \beta^j (\partial_i
+ \beta_j - \partial_j \beta_i + \partial_t \gamma_{ij}) \Big] = - \frac{1}{\alpha} \Big(\partial_i\alpha - \beta^j K_{ij}\Big)
+\end{eqnarray}
+%
+and
+%
+\begin{eqnarray}
+\label{eq:SourceChr0ij}
+ {}^{(4)}\Gamma^0_{ij} & = & - \frac{1}{2\alpha^2} \Big[
+ \partial_i\beta_j + \partial_j\beta_i - \partial_t\gamma_{ij} - \beta^k
+ (\partial_i\gamma_{kj} + \partial_j\gamma_{ki} - \partial_k\gamma_{ij})\Big] = -
+ \frac{1}{\alpha} K_{ij}\ .
+\end{eqnarray}
+%
+Other more straightforward calculations give
+%
+\begin{alignat}{3}
+ \label{eq:SourceS3a}
+ {}^{(4)}\Gamma_{00j} &=& {}^{(4)}\Gamma^\nu_{0j}g_{\nu 0} & = \frac{1}{2} \partial_j \left( \beta_k
+ \beta^k - \alpha^2 \right), \\
+\nonumber\\
+ \label{eq:SourceS3b}
+ {}^{(4)}\Gamma_{l0j} &=& {}^{(4)}\Gamma^\nu_{lj}g_{\nu 0} & = \alpha K_{lj} + \partial_l\beta_j + \partial_j\beta_l - \beta_k{}^{(3)}\Gamma^k_{lj}\ , \\
+\nonumber\\
+ \label{eq:SourceS3c}
+ {}^{(4)}\Gamma_{0lj} &=& {}^{(4)}\Gamma^\nu_{0j}g_{\nu l} & = -\alpha K_{jl} - \partial_l\beta_j + \beta_k {}^{(3)}\Gamma^k_{lj}\ , \\
+\nonumber\\
+ \label{eq:SourceS3d}
+ {}^{(4)}\Gamma_{lmj} &=& {}^{(4)}\Gamma^\nu_{lj}g_{\nu m} & = {}^{(3)}\Gamma_{lmj}\ ,
+\end{alignat}
+%
+where~\eqref{eq:SourceADMg} was used to derive \eqref{eq:SourceS3b}
+and~\eqref{eq:SourceS3c}.
+\subsubsection{Source term for $S_k$}
+Now we have all the expressions for calculating the source terms. The
+ones for the variables $S_{\,k}$ are
+%
+\begin{equation}
+ \label{eq:SourceS1}
+ \big({\mathcal S}_{S_k}\big)_j = T^\mu_\nu \Gamma^\nu_{\mu j} = T^{\mu\nu} \Gamma_{\mu\nu j}\ .
+\end{equation}
+%
+After expanding the derivative in
+\eqref{eq:SourceS3a}, the coefficient of the $T^{\ 00}$ term in
+\eqref{eq:SourceS1} becomes
+%
+\begin{eqnarray}
+ \label{eq:SourceS4a}
+ {}^{(4)}\Gamma_{00j} & = & \frac{1}{2} \beta^l \beta^m \partial_j
+ \gamma_{lm} - \alpha \partial_j \alpha + \beta_m \partial_j \beta^m.
+\end{eqnarray}
+%
+The coefficient of the $T^{\,0i}$ term
+% (or the $T^{i0}$ term, as the stress-energy tensor is symmetric)
+is
+%
+\begin{eqnarray}
+ \label{eq:SourceS5a}
+ {}^{(4)}\Gamma_{0ij} + {}^{(4)}\Gamma_{i0j} = \partial_j\beta_i = \beta^l \partial_i
+ \gamma_{jl} + \gamma_{il} \partial_j \beta^l.
+\end{eqnarray}
+%
+The coefficient of the $T^{\,lm}$ term is simply
+%
+\begin{eqnarray}
+ \label{eq:SourceS6a}
+{}^{(3)}\Gamma_{lmj} =
+ \frac{1}{2} \Big (\partial_j\gamma_{ml} + \partial_m\gamma_{jl} - \partial_l\gamma_{mj} \Big).
+\end{eqnarray}
+%
+Finally, summing \eqref{eq:SourceS4a}--\eqref{eq:SourceS6a} we
+find
+%
+\begin{eqnarray}
+ \label{eq:SourceS2a}
+\big({\mathcal S}_{S_k}\big)_j & = &
+ T^{00}\left( \frac{1}{2} \beta^l \beta^m \partial_j \gamma_{lm} -
+ \alpha \partial_j \alpha \right) + T^{0i} \beta^l \partial_j
+ \gamma_{il} + T^0_i\partial_j \beta^i + \frac{1}{2} T^{lm}
+ \partial_j \gamma_{lm} \ ,
+\end{eqnarray}
+%
+which is the expression implemented in the code.
+%This also has the advantage that all partial derivatives of the shift are collected in
+%one term.
+% ACTUALLY, NO PARTICULAR EFFORT WAS MADE TO COLLECT THE SHIFT DERIVATIVES...
+
+\subsubsection{Source term for $\tau$}
+
+The source term for $\tau$ is [{\it cf.} \eqref{source_terms}]
+%
+\begin{equation}
+ \label{eq:SourceT1}
+ {\mathcal S}_{\tau} = \alpha \left( T^{\mu 0} \partial_{\mu}
+ \alpha - \alpha T^{\mu\nu} {}^{(4)}\Gamma^0_{\mu\nu}\right).
+\end{equation}
+%
+For clarity, again we consider separately the terms containing as a
+factor the different components of $T^{\mu\nu}$. From
+\eqref{eq:Gamma000_final} we find the coefficient of $T^{\,00}$ to be
+%
+\begin{eqnarray}
+ \label{eq:SourceT3a}
+\alpha\big(\partial_t \alpha -\alpha {}^{(4)}\Gamma^0_{00}\big) =
+-\alpha\big( \beta^i \partial_i \alpha + \beta^k \beta^l K_{kl}\big)\ .
+\end{eqnarray}
+%
+The coefficient of the term $T^{\,0i}$ is given by
+% Here we note that we it is T^{0i} + T^{i0}
+%
+\begin{eqnarray}
+ \label{eq:SourceT4a}
+ \alpha\big(\partial_i \alpha - 2 \alpha {}^{(4)}\Gamma^0_{i0}\big) =
+ 2 \alpha\beta^j K_{ij} - \alpha\partial_i \alpha
+\end{eqnarray}
+%
+and, finally, the coefficient for $T^{\,ij}$ is
+%
+\begin{eqnarray}
+ \label{eq:SourceT5a}
+ -\alpha^2 {}^{(4)}\Gamma^0_{ij} = \alpha K_{ij}\ .
+\end{eqnarray}
+The final expression implemented in the code is thus
+%
+\begin{eqnarray}
+ \label{eq:SourceT2a}
+ {\mathcal S}_{\tau} = \alpha\big[ T^{00}\left( \beta^i\beta^j K_{ij} - \beta^i
+ \partial_i \alpha \right) + T^{0i} \left( -\partial_i \alpha + 2
+ \beta^j K_{ij} \right)
++ T^{ij} K_{ij}\big]\ .
+\end{eqnarray}
+
+%% original version by Ian. It contains typos, Luca believes
+%\subsubsection{Source term for S}
+%
+%The source terms for $S_j$ are
+%\begin{equation}
+% \label{eq:SourceS1}
+% {\cal S}_{S_j} = \alpha \sqrt{\gamma} T^{\mu\nu}
+% {}^{(4)}\Gamma_{\nu\mu j}.
+%\end{equation}
+%Ignoring the factor of $\alpha \sqrt{\gamma}$, these source terms are
+%coded as
+%\begin{eqnarray}
+% \label{eq:SourceS2a}
+% {\cal S}_{S_j} & = & T^{00}\left( \frac{1}{2} \beta^l \beta^m
+% \partial_j \gamma_{lm} - \alpha \partial_j \alpha \right) + \\
+% \label{eq:SourceS2b}
+% & & T^{0i} \left( \beta^l \partial_j \gamma_{il} \right) + \\
+% \label{eq:SourceS2c}
+% & & \frac{1}{2} T^{lm} \partial_j \gamma_{lm} + \\
+% \label{eq:SourceS2d}
+% & & \frac{\rho h W^2 v_l}{\alpha}\partial_j \beta^l .
+%\end{eqnarray}
+%
+%In order to get from the first expression to the expression in the
+%code we need to calculate the 4-Christoffel symbols ${}^{(4)}\Gamma$
+%applied to the 3+1 decomposed variables. In order to remove time
+%derivatives we will frequently make use of the ADM evolution equation
+%for the 3-metric in the form
+%\begin{equation}
+% \label{eq:SourceADMg}
+% \partial_0 \gamma_{ij} = - 2 \left( \alpha K_{ij} + \partial_{(i}
+% \beta_{j)} - {}^{(3)}\Gamma^k_{ij} \beta_k \right),
+%\end{equation}
+%or equivalent forms.
+%
+%So, the heart of the calculation is to show that
+%\begin{eqnarray}
+% \label{eq:SourceS3a}
+% {}^{(4)}\Gamma_{00j} & = & \frac{1}{2} \partial_j \left( \beta_k
+% \beta^k - \alpha^2 \right), \\
+% \label{eq:SourceS3b}
+% {}^{(4)}\Gamma_{l0j} & = & -\alpha K_{jl} - \beta_{j,l} - \beta_k
+% {}^{(3)}\Gamma^k_{lj}, \\
+% \label{eq:SourceS3c}
+% {}^{(4)}\Gamma_{0mj} & = & \alpha K_{mj} + {}^{(3)}\Gamma^k_{mj}
+% \beta_k, \\
+% \label{eq:SourceS3d}
+% {}^{(4)}\Gamma_{lmj} & = & {}^{(3)}\Gamma_{lmj}.
+%\end{eqnarray}
+%These are tedious but straightforward, where~(\ref{eq:SourceADMg}) was
+%used in equations~(\ref{eq:SourceS3b}) and~(\ref{eq:SourceS3c}).
+%
+%Substituting these expressions into the original form of
+%equation~(\ref{eq:SourceS1}) we find the coefficient of the $T^{00}$
+%term to be
+%\begin{eqnarray}
+% \label{eq:SourceS4a}
+% {}^{(4)}\Gamma_{00j} & = & \frac{1}{2} \beta^l \beta^m \partial_j
+% \gamma_{lm} - \alpha \partial_j \alpha \\
+% \label{eq:SourceS4b}
+% && + \beta_m \partial_j \beta^m.
+%\end{eqnarray}
+%Line~(\ref{eq:SourceS4a}) is equivalent to the
+%line~(\ref{eq:SourceS2a}) in the code.
+%
+%The coefficient of the $T^{0i}+T^{i0}$ term (as the stress-energy
+%tensor is symmetric here) is
+%\begin{eqnarray}
+% \label{eq:SourceS5a}
+% {}^{(4)}\Gamma_{0ij} + {}^{(4)}\Gamma_{i0j} & = & \beta^l \partial
+% \gamma_{jl} \\
+% \label{eq:SourceS5b}
+% && + \gamma_{il} \partial_j \beta^l.
+%\end{eqnarray}
+%Similarly to above, line~(\ref{eq:SourceS5a}) is equivalent to the
+%line~(\ref{eq:SourceS2b}) in the code.
+%
+%The coefficient of the $T^{lm}$ term is given by
+%\begin{eqnarray}
+% \label{eq:SourceS6a}
+% {}^{(4)}\Gamma_{lmj} & = & {}^{(3)}\Gamma_{lmj} \\
+% \label{eq:SourceS6b}
+% & = & \frac{1}{2} \gamma_{ml,j} \\
+% \label{eq:SourceS6c}
+% && + \frac{1}{2} \left( \gamma_{jl,m} - \gamma_{mj,l} \right).
+%\end{eqnarray}
+%Again, line~(\ref{eq:SourceS6b}) is equivalent to the
+%line~(\ref{eq:SourceS2b}) in the code.
+%
+%In each of these sets of coefficients there is an extra line. In the
+%case of the coefficient of $T^{lm}$ line~(\ref{eq:SourceS6c}) vanishes
+%when contracted with $T^{lm}$ due to the symmetry of the stress-energy
+%tensor and the anti-symmetry of line~(\ref{eq:SourceS6c}) with respect
+%to $l,m$. However, lines~(\ref{eq:SourceS5b}) and (\ref{eq:SourceS4b})
+%do not vanish. Instead, after contraction with the appropriate
+%components of the stress-energy tensor, they simplify to form
+%line~(\ref{eq:SourceS2d}) in the code. This gathers all partial
+%derivatives of the shift in one place.
+%
+%\subsubsection{Source term for $\tau$}
+%
+%The derivation of the source term for $\tau$ is a bit more involved.
+%
+%The source term for $\tau$ is
+%\begin{equation}
+% \label{eq:SourceT1}
+% {\cal S}_{\tau} = \alpha \sqrt{\gamma} \left( T^{\mu 0} \partial_{\mu}
+% \alpha - \alpha T^{\mu\nu} {}^{(4)}\Gamma^0_{\mu\nu}\right).
+%\end{equation}
+%Ignoring the factor of $\alpha \sqrt{\gamma}$, these source terms are
+%coded as
+%\begin{eqnarray}
+% \label{eq:SourceT2a}
+% {\cal S}_{\tau} & = & T^{00}\left( \beta^i\beta^j K_{ij} - \beta^i
+% \partial_i \alpha \right) + \\
+% \label{eq:SourceT2b}
+% & & T^{0i} \left( -\partial_i \alpha + 2 \beta^j K_{ij} \right) + \\
+% \label{eq:SourceT2c}
+% & & T^{lm} K_{lm}.
+%\end{eqnarray}
+%
+%We consider the coefficient of $T^{00}$ first. In what follows $D$ is
+%the covariant derivative associated with the 3-surface. We note that
+%it is compatible with the 3-metric, $D_i\gamma_{jk}=0$. Expanding the
+%coefficient directly we get
+%\begin{eqnarray}
+% \label{eq:SourceT3a}
+% \partial_0 \alpha - \alpha {}^{(4)}\Gamma^0_{00} & = & - \beta^i
+% \partial_i \alpha + \frac{1}{\alpha} \left( \beta^i \partial_0
+% \beta_i - \frac{1}{2} \partial_0 (\beta^k \beta_k) - \frac{1}{2}
+% \beta^i \partial_i (\beta^k \beta_k) \right) \\
+% \label{eq:SourceT3b}
+% & = & -\beta^i \partial_i \alpha + \frac{1}{2\alpha} \left( 2 \beta^i
+% \partial_0 \beta_i - \beta^k \partial_0 \beta_k - \beta_k \partial_0
+% \beta^k - \beta^i D_i (\beta^k \beta_k) \right) \\
+% \label{eq:SourceT3c}
+% & = & -\beta^i \partial_i \alpha + \frac{1}{2\alpha} \left(
+% \gamma_{kl} \beta^l \partial_0 \beta^k - \beta^k \partial_0
+% (\gamma_{kl} \beta^l) - \beta^i \left( \beta_k D_i \beta^k +
+% \beta^k D_i \beta_k \right) \right) \\
+% \label{eq:SourceT3d}
+% & = & -\beta^i \partial_i \alpha + \frac{1}{2\alpha} \left(
+% -\beta^k \beta^l \partial_0 \gamma_{kl} - \beta^i \left( \beta^l
+% D_i \beta_l + \beta^k D_i \beta_k + \beta_k \beta_l D_i
+% \gamma^{kl} \right) \right) \\
+% \label{eq:SourceT3e}
+% & = & -\beta^i \partial_i \alpha + \frac{1}{2\alpha} \left(
+% 2 \alpha \beta^k \beta^l K_{kl} - \beta^k \beta^l (D_k \beta_l +
+% D_l \beta_k) + 2 \beta^i \beta^k D_i \beta_k \right) \\
+% \label{eq:SourceT3f}
+% & = & -\beta^i \partial_i \alpha + \beta^k \beta^l K_{kl}.
+%\end{eqnarray}
+%Again to go from line~(\ref{eq:SourceT3d}) to (\ref{eq:SourceT3e}) we
+%used the evolution equation~(\ref{eq:SourceADMg}), expressed in terms
+%of the covariant derivative $D$.
+%
+%To simplify the calculation of the other coefficients we first
+%calculate the 4-Christoffel symbol ${}^{(4)}\Gamma^0_{i\nu}$. This is
+%given by
+%\begin{eqnarray}
+% \label{eq:SourceChr1a}
+% {}^{(4)}\Gamma^0_{i\nu} & = & - \frac{1}{2\alpha^2} \left\{ \left(
+% \partial_i (\beta^k \beta_k - \alpha^2) - \beta^j (\partial_i
+% \beta_j - \partial_j \beta_i + \partial_0 \gamma_{ij}) \right)
+% \delta^0_{\nu} + \right. \\
+% && \left. \left( (\partial_l \beta_i + \partial_i \beta_l -
+% \partial_0 \gamma_{il}) - 2 \beta^j {}^{(3)}\Gamma_{jil} \right)
+% \delta^l_{\nu} \right\} \\
+% \label{eq:SourceChr1b}
+% & = & - \frac{1}{2\alpha^2} \left\{ \left(
+% \partial_i (\beta^k \beta_k - \alpha^2) - \beta^j ( 2 \partial_i
+% \beta_j - 2 \alpha K_{ij} - 2 \beta_k {}^{(3)}\Gamma^k_{ij})
+% \right) \delta^0_{\nu} + \right. \\
+% && \left. \left( (2 \alpha K_{il} + 2 \beta_k
+% {}^{(3)}\Gamma^k_{il}) - 2 \beta^j {}^{(3)}\Gamma_{jil} \right)
+% \delta^l_{\nu} \right\}.
+%\end{eqnarray}
+%
+%The coefficient of $T^{0i} + T^{i0}$ is expanded in a similar
+%fashion. Here we note that we only pick up one partial derivative of
+%the lapse (as there is a specific ordering on that term) but that
+%symmetry gives us two Christoffel symbols,
+%\begin{eqnarray}
+% \label{eq:SourceT4a}
+% \partial_i \alpha - 2 \alpha {}^{(4)}\Gamma^0_{i0} & = & \partial_i
+% \alpha + \frac{1}{\alpha} \left( (\beta^k \beta_k - \alpha^2)_{,i} -
+% 2 \beta^j (\partial_i \beta_j - \beta_k {}^{(3)}\Gamma^k_{ij} -
+% \alpha K_{ij}) \right) \\
+% \label{eq:SourceT4b}
+% & = & 2 \beta^j K_{ij} - \partial_i \alpha + \frac{1}{\alpha} \left(
+% \partial_i (\beta^k \beta_k) - 2 \beta^j (\partial_i \beta_j -
+% \beta_k {}^{(3)}\Gamma^k_{ij} ) \right).
+%\end{eqnarray}
+%We then have to show that the term in brackets vanishes identically.
+%Just expanding gives
+%\begin{eqnarray}
+% \label{eq:SourceT4c}
+% \left(\dots\right) & = & 2 \beta^k \partial_i \beta_k + \beta^k
+% \beta^l \partial_i \gamma_{kl} - 2 \beta^j \left( \gamma_{jk}
+% \partial_i \beta^k + \beta^k \partial_i \gamma_{jk} - \beta_k
+% \gamma^{kl} (\partial_i \gamma_{lj} + \partial_j \gamma_{il} -
+% \partial_l \gamma_{ij}) \right) \\
+% \label{eq:SourceT4d}
+% & = & \beta^j \beta^l (\partial_j \gamma_{il} - \partial_l
+% \gamma_{ij} )
+%\end{eqnarray}
+%which is zero by symmetry.
+%
+%Finally we have the $T^{lm}$ coefficient. Again a simple expansion
+%gives
+%\begin{eqnarray}
+% \label{eq:SourceT5a}
+% -\alpha {}^{(4)}\Gamma^0_{lm} & = & \frac{1}{2\alpha} \left( 2
+% \alpha K_{lm} + 2 \beta_k {}^{(3)}\Gamma^k_{lm} - 2 \beta^j
+% {}^{(3)} \Gamma_{jlm} \right) \\
+% \label{eq:SourceT5b}
+% & = & K_{lm}.
+%\end{eqnarray}
+%Once again we had to make use of equation~(\ref{eq:SourceADMg}).
+
+
+\subsection{Conversion from conservative to primitive variables}
+\label{sec:con2prim}
+
+As noted in section~\ref{sec:phys} the variables that are evolved are
+the conserved variables $D, S_i, \tau$. But in order to calculate the
+fluxes and sources we require the primitive variables $\rho, v_i, P$.
+Conversion from primitive to conservative is given analytically by
+equation~(\ref{eq:prim2con}). Converting in the other direction is not
+possible in a closed form except in certain special circumstances.
+
+There are a number of methods for converting from conservative to
+primitive variables; see~\cite{livrevsrrfd}. Here we use a
+Newton-Raphson type iteration. If we are using a general equation of
+state such as an ideal gas, then we find a root of the pressure
+equation. Given an initial guess for the pressure $\bar{P}$ we find
+the root of the function
+\begin{equation}
+ \label{eq:pressure1}
+ f = \bar{P} - P(\bar{\rho}, \bar{\epsilon}),
+\end{equation}
+where the approximate density and specific internal energy are given
+by
+\begin{eqnarray}
+ \label{eq:press1gives}
+ \bar{\rho} & = & \frac{\tilde{D}}{\tilde{\tau} + \bar{P} + \tilde{D}}
+ \sqrt{ (\tilde{\tau} + \bar{P} + \tilde{D})^2 - S^2 }, \\
+ \bar{W} & = & \frac{\tilde{\tau} + \bar{P} + \tilde{D}}{\sqrt{
+ (\tilde{\tau} + \bar{P} + \tilde{D})^2 - S^2 }}, \\
+ \bar{\epsilon} & = & \tilde{D}^{-1} \left( \sqrt{ (\tilde{\tau} +
+ \bar{P} + \tilde{D})^2 - S^2 } - \bar{P} \bar{W} - \tilde{D}
+ \right).
+\end{eqnarray}
+Here the conserved variables are all ``undensitized'', {\it e.g.},
+\begin{equation}
+ \label{eq:undens}
+ \tilde{D} = \gamma^{-1/2} D,
+\end{equation}
+where $\gamma$ is the determinant of the 3-metric, and $S^2$ is given
+by
+\begin{equation}
+ \label{eq:s2}
+ S^2 = \gamma^{ij}\tilde{S}_i\tilde{S}_j.
+\end{equation}
+
+In order to perform a Newton-Raphson iteration we need the derivative
+of the function with respect to the dependent variable, here the
+pressure. This is given by
+\begin{equation}
+ \label{eq:df}
+ f' = 1 - \frac{\partial P}{\partial \rho}\frac{\partial
+ \rho}{\partial P} - \frac{\partial P}{\partial
+ \epsilon}\frac{\partial \epsilon}{\partial P},
+\end{equation}
+where $\frac{\partial P}{\partial \rho}$ and $\frac{\partial
+ P}{\partial \epsilon}$ given by calls to {\tt EOS\_Base}, and
+\begin{eqnarray}
+ \label{eq:df2}
+ \frac{\partial \rho}{\partial P} & = & \frac{\tilde{D}
+ S^2}{\sqrt{(\tilde{\tau} + \bar{P} + \tilde{D})^2 -
+ S^2}(\tilde{\tau} + \bar{P} + \tilde{D})^2}, \\
+ \frac{\partial \epsilon}{\partial P} & = & \frac{\bar{P}
+ S^2}{\rho\left((\tilde{\tau} + \bar{P} + \tilde{D})^2 -
+ S^2\right)(\tilde{\tau} + \bar{P} + \tilde{D})}. \\
+\end{eqnarray}
+
+For a polytropic type equation of state, the function is given by
+\begin{equation}
+ \label{eq:polyf}
+ f = \bar{\rho}\bar{W} - \tilde{D},
+\end{equation}
+where $\bar{\rho}$ is the variable solved for, the pressure, specific
+internal energy and enthalpy $\bar{h}$ are set from the EOS and the
+Lorentz factor is found from
+\begin{equation}
+ \label{eq:polyw}
+ \bar{W} = \sqrt{1 + \frac{S^2}{(\tilde{D}\bar{h})^2}}.
+\end{equation}
+The derivative is given by
+\begin{equation}
+ \label{eq:dpolyf}
+ f' = \bar{W} - \frac{\bar{\rho}S^2 \bar{h}'}{\bar{W} \tilde{D}^2
+ \bar{h}^3},
+\end{equation}
+where
+\begin{equation}
+ \label{eq:dpolyenth}
+ \bar{h}' = \bar{\rho}^{-1}\frac{\partial P}{\partial \rho}.
+\end{equation}
+
+\subsection{A note on the Roe and Marquina Riemann Solvers}
+\label{sec:rsnote}
+
+Finding the Roe or Marquina fluxes as given is
+section~\ref{sec:riemann} requires the left eigenvectors to either be
+supplied analytically or calculated numerically.
+
+When this is done by inverting the matrix of right
+eigenvectors, in the actual code this is combined with the calculation
+of, {\it e.g.}, the characteristic jumps $\Delta {\bf w}$.
+Normally the eigenvalues and vectors are ordered lexicographically.
+However for the polytropic equation of state one of the equations is
+redundant, so the matrix formed by these eigenvectors is linearly
+dependent and hence singular. It turns out that this is only a minor
+problem; by rearranging the order of the eigenvalues and vectors it is
+possible to numerically invert the matrix.
+This means that no specific ordering of the eigenvalues should be
+assumed. It also explains the slightly strange ordering in the
+routines {\tt Whisky\_EigenProblem*.F90}.
+
+The current default is that the left eigenvectors are calculated
+analytically - for the expressions see Font~\cite{livrevgrrfd}. For
+both the Roe and the Marquina solvers an optimized version of the flux
+calculation has been implemented. For more details on the analytical
+form and the optimized flux calculation see Ib{\'a}{\~n}ez et
+al.~\cite{Iban01}, Aloy et al.~\cite{Aloy99} and Frieben et
+al.~\cite{Frie02}.
+
+\subsection{The atmosphere}
+\label{sec:atmosphere}
+
+In simulations of compact objects, often the matter is located only on a (small) portion of the
+numerical grid. In fact, over much of the evolved domain the physical situation is likely to be
+sufficiently well approximated by vacuum. However, in the vacuum limit the continuity equations
+describing the fluid break down. The speed of sound tends to the speed of light and everything fails
+(especially the conversion from conserved to primitive variables).
+
+To avoid this problem it is customary to introduce an atmosphere. In our implementation, this is a
+low-density region surrounding the compact objects and initially it has no velocity and is in equilibrium. The
+introduction of an atmosphere is managed by the initial data thorns.
+
+However {\tt Whisky} itself also knows about the atmosphere, of course. If the conserved variables
+$D$ or $\tau$ are beneath some minimum value, or an evolution step might push them below such a
+value, then the relevant cell is not evolved. Also, if the density should fall below a minimum value
+in the routine that converts from conservative to primitive variables, all the variables are reset
+to the values adopted for the atmosphere.
+
+Probably the hardest part of using {\tt Whisky} is to correctly set these
+atmosphere values. In the current implementation the atmosphere is
+used in three separate places. These are
+\begin{enumerate}
+\item {\bf Set up of the initial data}. Initial-data routines should set an atmosphere consistent
+ with the one that will be evolved.
+\item {\bf In the routine that converts from conserved variables to
+ primitive variables}. This is where the majority of the atmosphere
+ resets will occur.
+
+ If the equation of state is polytropic then an
+ attempt is made to convert to primitive variables. If the iterative
+ algorithm returns a negative (and hence unphysical) value of $\rho$,
+ then $\rho$ is reset to the atmosphere value, the velocities are set
+ to zero, and $P$, $\epsilon$, $S^i$ and $\tau$ are reset to be
+ consistent with $\rho$ (and $D$). Note that even though the
+ polytropic equation of state gives us sufficient information to
+ calculate a consistent value of $D$, this is not done.
+
+ If the equation of state is the more general type (such as that of an ideal fluid) and if $\rho$
+ is less than the specified minimum, then, as above, we assume we are in the atmosphere and call
+ the routine that changes from the conserved to the primitive variables for the polytrope.
+
+\item {\bf When applying the update}. If the calculated update terms
+ for a specific cell would lead to either $D$ or $\tau$ becoming
+ negative, then two steps are taken. First, we do not update this
+ specific cell. Second, the data in this cell is reset to be the
+ atmosphere.
+\end{enumerate}
+
+The reason why the routine that converts to the primitive variables
+does not ensure that $D$ is consistent with the other variables is
+practical rather than accurate. If the value of the variables is set
+such that they all lie precisely on the atmosphere, then small errors
+(typically initially of the order of $10^{-25}$ for a $64^3$-point TOV star
+in octant symmetry) would move certain cells above the atmosphere
+values. Combined with the necessary atmosphere treatment this leads to
+high-frequency noise. This will lead to waves of matter falling onto
+the star. Despite their extremely low density (typically only an
+order of magnitude higher than the floor) they will result in visible
+secondary overtones in the oscillations of, {\it e.g.}, the central
+density.
+
+The parameters controlling the atmosphere are the following.
+\begin{itemize}
+\item {\tt Whisky::rho\_abs\_min}. An absolute value for $\rho$ in the
+ atmosphere. Defaults to -1. Any negative value will be ignored, and
+ the value of {\tt rho\_rel\_min} used instead.
+\item {\tt Whisky::rho\_rel\_min}. A relative value for $\rho$ in the
+ atmosphere. Defaults to $10^{-7}$. Only used if {\tt rho\_abs\_min}
+ is negative, which is the default behaviour. The actual value of the
+ atmosphere will be $\rho =${\tt rho\_rel\_min}$\times${\tt
+ whisky\_rho\_max}, where {\tt Whisky::whisky\_rho\_max}
+ is a variable containing the maximum value of $\rho$ on the numerical grid at time zero.
+\item {\tt initial\_rho\_abs\_min}. An absolute value for rho in the initial atmosphere. It is used
+ only by initial data routines. Unused if negative.
+\item {\tt initial\_rho\_rel\_min}. A relative (to the initial maximum rest-mass density) value for rho
+ in the atmosphere. It is used only by initial data routines and only if it is positive and {\tt
+ initial\_rho\_abs\_min} is negative.
+\item {\tt initial\_atmosphere\_factor}. A relative (to the initial atmosphere) value for rho in the
+ atmosphere. It is used only by initial data routines. It multiplies the atmosphere value used by
+ the initial data solver. Unused if negative.
+\item {\tt whisky\_atmo\_tolerance}. A parameter useful mostly in mesh-refined simulations. A point
+ is set to the atmosphere values in the conservative to primitive routines if its rest-mass density
+ is such that $\rho <$ {\tt whisky\_rho\_min}$*(1+${\tt whisky\_atmo\_tolerance}). This avoids
+ occasional spurious oscillations in ({\tt Carpet}) buffer zones lying in the atmosphere (because
+ prolongation happens on conserved variables).
+\end{itemize}
+
+The motivation for these parameters referring only to the initial data is that it is sometimes best
+to set the initial atmosphere to slightly below the atmosphere cutoff used during evolution, as this
+avoids truncation error and metric evolution leading to low density waves travelling across the
+atmosphere.
+
+The routines essential to the atmosphere are contained in {\tt
+Whisky\_Minima.F90, Whisky\_Con2Prim.F90, Whisky\_UpdateMask.F90}.
+
+\subsection{Advection of passive scalars ('tracers')}
+\label{sec:tracer}
+
+For some astrophysical problems it is necessary to advect passive
+compositional scalars such as the electron fraction $Y_e$ (number of
+electrons per baryon). For a generic tracer $X_k$, the evolution
+equation looks like
+
+%%%\begin{eqnarray}
+%%% \label{eq:tracer}
+%%% D &=& \sqrt{\gamma}W\rho \nonumber \\
+%%% S^i &=& \sqrt{\gamma} \rho h W^2 v^i \nonumber \\
+%%% \tau &=& \sqrt{\gamma}\left( \rho h W^2 - p\right) - D,
+%%%\end{eqnarray}
+
+\begin{equation}
+ \label{eq:tracer}
+ \partial_t { ( D X_k )} + \partial_{x^j} {\bf f}^{(j)} ({D X_k}) = 0\, ,
+\end{equation}
+where $D$ is the generalized particle number density as defined in
+Eq.~(\ref{eq:prim2con}). {\tt Whisky} currently supports any number of
+independent tracer variables. The following parameters have to be
+set to use the tracers:
+
+\begin{itemize}
+ \item {\tt Whisky::evolve\_tracer}. Boolean. Set to {\tt yes} if
+ you want the tracers to be active.
+ \item {\tt Whisky::number\_of\_tracers}. Integer. Defaults to 0. To
+ use tracers, set to at least 1.
+\end{itemize}
+
+Note, that your initial data thorn must set initial data for
+{\tt Whisky::tracer[k]} and {\tt Whisky::cons\_tracer[k]} for all tracers
+you want to advect. {\tt Whisky::cons\_tracer[k]} stores $D X_k$.
+
+\subsubsection{Implementation and Limitations}
+
+\begin{itemize}
+ \item Reconstruction: Currently only TVD and PPM reconstruction of the
+ tracers $X_k$ are implemented. Since for most astrophysical problems one
+ will associate the tracer with some compositional variable it might
+ be better to reconstruct $\rho X_k$.
+
+ \item Riemann Solvers: Only HLLE and Marquina are supported. In HLLE,
+ the fluxes as given in Eq.~(\ref{eq:tracer}) are computed for each tracer.
+ In the Marquina solver, we multiply the $D$-flux by each tracer to get
+ the individual tracer fluxes according to the following prescription:
+
+ \begin{equation}
+ \label{eq:marquinatracer}
+ \begin{array}[l]{l}
+ {\bf If}\ \, F_{i+1/2} (D) > 0 \,\, {\bf then} \\
+ \qquad \qquad \begin{array}[c]{l}
+ \qquad \qquad F_{i+1/2} (D X_k) = X_{k_i}^+ F_{i+1/2} (D)
+ \end{array} \\
+ {\bf else} \\
+ \qquad \qquad \begin{array}[c]{r c l}
+ \qquad \qquad F_{i+1/2} (D X_k) = X_{k_{i+1}}^- F_{i+1/2} (D)
+ \end{array} \\
+ {\bf end if} \\
+ \end{array} \\
+ \end{equation}
+
+ The above was suggested by Miguel Aloy and first implemented and
+ tested by Harry Dimmelmeier in his code (CoCoNuT), then by Christian~D.~Ott
+ in {\tt Whisky}.
+
+\end{itemize}
+
+
+\section{History}
+
+The approximate time line is something like this:
+\begin{itemize}
+\item ~1995: Valencia group hydrodynamics code, fixed spacetime.
+\item ~1997: Ported to Cactus, extensively rewritten for the Binary
+ Neutron Star Grand Challenge. Primarily written by Mark Miller.
+ Released as {\tt GR3D} as public domain code.
+\item ~1998-: Developed as Cactus thorn {\tt MAHC} inside the
+ GR{\tt Astro\_Hydro} arrangement at Washington University, primarily by
+ Mark Miller.
+\item 2002-: {\tt Whisky} written based on {\tt GR3D}.
+\end{itemize}
+
+This is necessarily only a sketch; many people have contributed to
+the history of this code, and the present authors were not around for most of it...
+
+\subsection{Thorn Source Code}
+
+This was initially written by Luca Baiotti, Ian Hawke and Pedro
+Montero with considerable assistance from Luciano Rezzolla, Toni Font,
+Nick Stergioulas and Ed Seidel. This led to the basic {\tt Whisky} thorns,
+{\tt Whisky} itself, {\tt Whisky\_Init\_Data} and {\tt Whisky\_RNSID}.
+
+Since then most of the maintenance has been done by Ian Hawke, Luca Baiotti and Frank L\"offler. Various
+people have contributed to the development. In particular
+\begin{itemize}
+\item The PPM reconstruction methods were written by Ian Hawke heavily
+ based on the code of Toni Font. They were later expanded by Christian D. Ott and Luca Baiotti.
+\item The Roe and Marquina solvers were made considerably more
+ efficient thanks to Joachim Frieben.
+\item The current atmosphere algorithm is a mixture of ideas from the
+ {\tt GR3D} code, Luciano Rezzolla, Toni Font and Nick
+ Stergioulas. The current setup was written by Ian Hawke and Luca Baiotti.
+\item The 1-dimensional TOV solver {\tt Whisky\_TOVSolver} was written
+ by Ian Hawke based on a short paper by Thomas Baumgarte.
+%\item The use of the equation of state, in particular the routines to
+% ensure the initial hydrodynamic consistency, were due to the work of
+% Harald Dimmelmeier and Christian Ott.
+\item The initial value solver {\tt Whisky\_IVP} was initially a
+ rewrite of the IVP solver written by Washington University (Malcolm
+ Tobias?) based on the formulation given by the Living Review of
+ Cook~\cite{Cook00}. For actually making it work thanks are due to
+ Frank L\"offler and Luca Baiotti.
+\end{itemize}
+
+\subsection{Thorn Documentation}
+
+This documentation was first written largely by Ian Hawke and Scott Hawley in 2002. Long due,
+rather necessary and considerably large updates were made in 2008 by Luca Baiotti.
+
+
+\subsection{Acknowledgements}
+
+As already mentioned, the history behind this code leads to a long list
+of people to be acknowledged.
+
+Firstly, without the work of the Valencia group this sort of code
+would be impossible.
+
+Secondly, the incomparable work of Mark Miller and the Washington
+University - AEI Collaboration in producing the {\tt GR3D} and {\tt
+GRAstro\_Hydro} codes gave an essential benchmark to aim for, and
+encouragement that it was possible!
+
+Thirdly, the support of the Cactus team, especially Tom Goodale,
+Gabrielle Allen and Thomas Radke made (and, especially Thomas, continue to make) life a
+lot easier.
+
+Finally, for their work in coding, ideas and suggestions, or just
+plain encouragement, we would like to thank all at the AEI and in the
+EU Network, especially Toni Font, Luciano Rezzolla, Nick Stergioulas,
+Ed Seidel, Carsten Gundlach and Jos\'e-Maria Ib{\'a}{\~n}ez.
+
+Originally Ed Seidel and then Luciano Rezzolla have been granting (in addition to valuable
+scientific advice) financial support and human resources to the development of the code.
+
+\begin{thebibliography}{20}
+
+\bibitem{Aloy99b}
+Aloy M.A., Ib{\'a}nez J.M., Mart\'\i J.M., M{\"u}ller E.
+\newblock {\em Astroph. J. Supp.\/}, {\bf 122}: 151 (1999).
+
+\bibitem{Aloy99}
+M.~A. Aloy, J.~A. Pons, and J.~M. Ib{\'a}{\~n}ez.
+\newblock An efficient implementation of flux formulae in multidimensional
+ relativistic hydrodynamical codes.
+\newblock {\em Comput. Phys. Commun.}, {\bf 120}:\penalty0 115--121, 1999.
+
+\bibitem{Banyuls97}
+Banyuls F., Font J.A., Ib{\'a}nez J.M., Mart\'{\i} J.M., Miralles J.A.
+\newblock {\em Astrophys. J.\/}, {\bf 476}: 221 (1997).
+
+\bibitem{ppm}
+P. Colella and P.~R. Woodward.
+\newblock The {P}iecewise {P}arabolic {M}ethod ({PPM}) for
+{G}as-{D}ynamical {S}imulations.
+\newblock {\em J. Comput. Phys.}, {\bf 54}, 174--201, 1984.
+
+\bibitem{Cook00}
+G. Cook
+\newblock Initial Data for Numerical Relativity
+\newblock {\em Living Rev. Relativity}, {\bf 3}, 2000.
+\newblock [Article in on-line journal], cited on 31/08/02,
+ http://www.livingreviews.org/ Articles/Volume3/2000-5cook/index.html.
+
+\bibitem{Marquina1}
+R.~Donat and A.~Marquina.
+\newblock Capturing shock reflections: An improved flux formula.
+\newblock {\em J. Comput. Phys.}, {\bf 125}:\penalty0 42--58, 1996.
+
+\bibitem{Einfeldt88}
+Einfeldt B.
+\newblock {\em Journal of Computational Physics\/}, {\bf 25}: 294 (1988).
+
+\bibitem{Eulderink94}
+Eulderink F., Mellema G.
+\newblock {\em Astron. Astrophys.\/}, {\bf 284}: 652 (1994).
+
+\bibitem{livrevgrrfd}
+J.~A. Font.
+\newblock Numerical hydrodynamics in {G}eneral {R}elativity.
+\newblock {\em Living Rev. Relativity}, {\bf 3}, 2000.
+\newblock [Article in on-line journal], cited on 31/07/01,
+ http://www.livingreviews.org/ Articles/Volume3/2000-2font/index.html.
+
+\bibitem{Frie02}
+J. Frieben, J.~M. Ib{\'a}{\~n}ez, and J. Pons.
+\newblock {\em in preparation}
+
+\bibitem{eno}
+A.~Harten, B.~Engquist, S.~Osher, and S.~R. Chakravarthy.
+\newblock Uniformly high order accurate essentially non-oscillatory schemes,
+ {III}.
+\newblock {\em J. Comput. Phys.}, {\bf 71}:\penalty0 231--303, 1987.
+
+\bibitem{Iban01}
+J.~M. Ib{\'a}{\~n}ez et al.
+\newblock in {\em Godunov Methods: Theory and Applications}.
+\newblock New York, 485--503, (2001)
+
+\bibitem{Tadmor00}
+A. Kurganov and E. Tadmor.
+\newblock {\em New high-resolution central schemes for nonlinear conservation laws and
+ convection-diffusion equations}.
+\newblock {\em J. Comput. Phys.}, {\bf 160}:241, 2000.
+
+\bibitem{laney}
+C.~B. Laney.
+\newblock {\em Computational {G}asdynamics}.
+\newblock Cambridge University Press, 1998.
+
+\bibitem{leveque}
+R.~J. LeVeque.
+\newblock {N}onlinear conservation laws and finite volume methods for
+ astrophysical fluid flow.
+\newblock In O.~Steiner and A.~Gautschy, editors, {\em {C}omputational
+ {M}ethods for {A}strophysical {F}luid {F}low}. Springer-Verlag, 1998.
+
+\bibitem{livrevsrrfd}
+J.~M. Mart{\'{\i}} and E.~M{\"u}ller.
+\newblock Numerical hydrodynamics in {S}pecial {R}elativity.
+\newblock {\em Living Rev. Relativity}, {\bf 2}, 1999.
+\newblock [Article in on-line journal], cited on 31/7/01,
+ http://www.livingreviews.org/Articles/Volume2/1999-3marti/index.html.
+
+\bibitem{Quirk}
+J.~J. Quirk.
+\newblock A contribution to the great {R}iemann solver debate.
+\newblock {\em Int. J. Numer. Methods Fluids}, {\bf 18}:\penalty0 555--574,
+ 1994.
+
+\bibitem{Roe81}
+Roe P.L.
+\newblock {\em J. Comput. Phy.\/}, {\bf 43}: 357 (1981).
+
+\bibitem{shueno}
+C. Shu.
+\newblock {H}igh {O}rder {ENO} and {WENO} {S}chemes for
+{C}omputational {F}luid {D}ynamics.
+\newblock In T.~J. Barth and H. Deconinck, editors {\em High-Order
+ Methods for Computational Physics}. Springer, 1999.
+\newblock A related on-line version can be found under {\em Essentially
+ {N}on-{O}scillatory and {W}eighted {E}ssentially {N}on-{O}scillatory
+ {S}chemes for {H}yperbolic {C}onservation {L}aws} at {\tt
+ http://www.icase.edu/library/reports/rdp/97/97-65RDP.tex.refer.html}.
+
+\bibitem{toro}
+E.~F. Toro.
+\newblock {\em {R}iemann {S}olvers and {N}umerical {M}ethods for {F}luid
+ {D}ynamics}.
+\newblock {S}pringer-{V}erlag, 2nd edition, 1999.
+
+\end{thebibliography}
+
+% Do not delete next line
+% END CACTUS THORNGUIDE
+
+\end{document}
diff --git a/interface.ccl b/interface.ccl
new file mode 100644
index 0000000..57a8a53
--- /dev/null
+++ b/interface.ccl
@@ -0,0 +1,445 @@
+# Interface definition for thorn Whisky
+
+####################################################################
+### Whisky needs to inherit the metric from Einstein. ###
+### Other thorns will need to know what EOS we're using. They ###
+### inherit to get the handle. ###
+####################################################################
+
+implements: Whisky
+inherits: ADMBase, StaticConformal, Boundary, SpaceMask, ADMMacros, Tmunubase, HydroBase
+
+#INCLUDES SOURCE: Whisky_EMTensor.inc in CalcTmunu.inc
+#INCLUDES: Whisky_EMTensor_temps.inc in CalcTmunu_temps.inc
+
+USES INCLUDE: FishEye.h
+USES INCLUDE: EOS_Base.inc
+USES INCLUDE: SpaceMask.h
+USES INCLUDE: EOS_Base.h
+
+USES INCLUDE HEADER: carpet.hh
+
+###############################################################
+### Provided functions. These are mainly to allow RNSID ###
+### to convert back to primitive / conservative variables ###
+### without having an explicit coupling to Whisky. ###
+### NOTE: the function that converts conservative to ###
+### primitive variables requires pointers to the conserved ###
+### variables as well as these variables are reset if ###
+### we're in the atmosphere. ###
+###############################################################
+
+void FUNCTION SpatialDet(CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
+ CCTK_REAL IN gxz, CCTK_REAL IN gyy, \
+ CCTK_REAL IN gyz, CCTK_REAL IN gzz, \
+ CCTK_REAL OUT det)
+
+void FUNCTION UpperMet(CCTK_REAL OUT uxx, CCTK_REAL OUT uxy, \
+ CCTK_REAL OUT uxz, CCTK_REAL OUT uyy, \
+ CCTK_REAL OUT uyz, CCTK_REAL OUT uzz, \
+ CCTK_REAL IN det, CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
+ CCTK_REAL IN gxz, CCTK_REAL IN gyy, CCTK_REAL IN gyz, \
+ CCTK_REAL IN gzz)
+
+#void FUNCTION Con2Prim(CCTK_INT IN handle, \
+# CCTK_REAL OUT dens, \
+# CCTK_REAL OUT sx, CCTK_REAL OUT sy, CCTK_REAL OUT sz, \
+# CCTK_REAL OUT tau, \
+# CCTK_REAL OUT rho, \
+# CCTK_REAL OUT velx, CCTK_REAL OUT vely, CCTK_REAL OUT velz, \
+# CCTK_REAL OUT epsilon, CCTK_REAL OUT press, \
+# CCTK_REAL OUT w_lorentz, \
+# CCTK_REAL IN uxx, CCTK_REAL IN uxy, CCTK_REAL IN uxz, \
+# CCTK_REAL IN uyy, CCTK_REAL IN uyz, CCTK_REAL IN uzz, \
+# CCTK_REAL IN det, \
+# CCTK_REAL IN x, CCTK_REAL IN y, CCTK_REAL IN z, CCTK_REAL IN r, \
+# CCTK_INT OUT epsnegative, \
+# CCTK_REAL IN whisky_rho_min, CCTK_REAL IN pmin, \
+# CCTK_INT IN whisky_reflevel, CCTK_REAL IN whisky_C2P_failed)
+
+void FUNCTION Con2PrimPoly(CCTK_INT IN handle, CCTK_REAL OUT dens, \
+ CCTK_REAL OUT sx, CCTK_REAL OUT sy, \
+ CCTK_REAL OUT sz, CCTK_REAL OUT tau, \
+ CCTK_REAL OUT rho, CCTK_REAL OUT velx, \
+ CCTK_REAL OUT vely, CCTK_REAL OUT velz, \
+ CCTK_REAL OUT epsilon, CCTK_REAL OUT press, \
+ CCTK_REAL OUT w_lorentz, CCTK_REAL IN uxx, \
+ CCTK_REAL IN uxy, CCTK_REAL IN uxz, \
+ CCTK_REAL IN uyy, CCTK_REAL IN uyz, \
+ CCTK_REAL IN uzz, CCTK_REAL IN det, \
+ CCTK_REAL IN x, CCTK_REAL IN y, CCTK_REAL IN z, \
+ CCTK_REAL IN r, CCTK_REAL IN rho_min, \
+ CCTK_INT IN whisky_reflevel, CCTK_REAL IN whisky_C2P_failed)
+
+#void FUNCTION Prim2Con CCTK_INT handle, CCTK_REAL gxx, CCTK_REAL gxy, CCTK_REAL gxz, CCTK_REAL gyy, CCTK_REAL gyz, CCTK_REAL gzz, CCTK_REAL det, CCTK_REAL dens, CCTK_REAL sx, CCTK_REAL sy, CCTK_REAL sz, CCTK_REAL tau, CCTK_REAL rho, CCTK_REAL velx, CCTK_REAL vely, CCTK_REAL velz, CCTK_REAL epsilon, CCTK_REAL press, CCTK_REAL w_lorentz
+
+void FUNCTION Prim2ConGen(CCTK_INT IN handle, \
+ CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
+ CCTK_REAL IN gxz, CCTK_REAL IN gyy, \
+ CCTK_REAL IN gyz, CCTK_REAL IN gzz, \
+ CCTK_REAL IN det, CCTK_REAL OUT dens, \
+ CCTK_REAL OUT sx, CCTK_REAL OUT sy, \
+ CCTK_REAL OUT sz, CCTK_REAL OUT tau, \
+ CCTK_REAL IN rho, CCTK_REAL IN velx, \
+ CCTK_REAL IN vely, \
+ CCTK_REAL IN velz, CCTK_REAL IN epsilon, \
+ CCTK_REAL OUT press, CCTK_REAL OUT w_lorentz)
+
+void FUNCTION Prim2ConPoly(CCTK_INT IN handle, \
+ CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
+ CCTK_REAL IN gxz, CCTK_REAL IN gyy, \
+ CCTK_REAL IN gyz, CCTK_REAL IN gzz, \
+ CCTK_REAL IN det, CCTK_REAL OUT dens, \
+ CCTK_REAL OUT sx, CCTK_REAL OUT sy, \
+ CCTK_REAL OUT sz, CCTK_REAL OUT tau, \
+ CCTK_REAL IN rho, CCTK_REAL IN velx, \
+ CCTK_REAL IN vely, \
+ CCTK_REAL IN velz, CCTK_REAL OUT epsilon, \
+ CCTK_REAL OUT press, CCTK_REAL OUT w_lorentz)
+
+PROVIDES FUNCTION SpatialDet WITH SpatialDeterminant LANGUAGE Fortran
+PROVIDES FUNCTION UpperMet WITH UpperMetric LANGUAGE Fortran
+#PROVIDES FUNCTION Con2Prim WITH Con2Prim_pt LANGUAGE Fortran
+PROVIDES FUNCTION Con2PrimPoly WITH Con2Prim_ptPolytype LANGUAGE Fortran
+PROVIDES FUNCTION Prim2ConGen WITH prim2con LANGUAGE Fortran
+PROVIDES FUNCTION Prim2ConPoly WITH prim2conpolytype LANGUAGE Fortran
+
+####################################################
+### Functions provided by MoL for registration ###
+####################################################
+
+CCTK_INT FUNCTION MoLRegisterEvolved(CCTK_INT IN EvolvedIndex, \
+ CCTK_INT IN RHSIndex)
+CCTK_INT FUNCTION MoLRegisterConstrained(CCTK_INT IN ConstrainedIndex)
+CCTK_INT FUNCTION MoLRegisterEvolvedGroup(CCTK_INT IN EvolvedIndex, \
+ CCTK_INT IN RHSIndex)
+CCTK_INT FUNCTION MoLRegisterConstrainedGroup(CCTK_INT IN ConstrainedIndex)
+CCTK_INT FUNCTION MoLRegisterSaveAndRestoreGroup(CCTK_INT IN SandRIndex)
+
+USES FUNCTION MoLRegisterEvolved
+USES FUNCTION MoLRegisterConstrained
+USES FUNCTION MoLRegisterEvolvedGroup
+USES FUNCTION MoLRegisterConstrainedGroup
+USES FUNCTION MoLRegisterSaveAndRestoreGroup
+
+#########################################
+### Aliased functions from Boundary ###
+#########################################
+
+CCTK_INT FUNCTION Boundary_SelectVarForBC(CCTK_POINTER_TO_CONST IN GH, \
+ CCTK_INT IN faces, CCTK_INT IN boundary_width, CCTK_INT IN table_handle, \
+ CCTK_STRING IN var_name, CCTK_STRING IN bc_name)
+CCTK_INT FUNCTION Boundary_SelectGroupForBC(CCTK_POINTER_TO_CONST IN GH, \
+ CCTK_INT IN faces, CCTK_INT IN boundary_width, CCTK_INT IN table_handle, \
+ CCTK_STRING IN group_name, CCTK_STRING IN bc_name)
+
+USES FUNCTION Boundary_SelectVarForBC
+USES FUNCTION Boundary_SelectGroupForBC
+
+############################################
+### Aliased function from DriftCorrect ###
+############################################
+
+void FUNCTION SetDriftCorrectPosition ( CCTK_POINTER_TO_CONST IN GH_Pointer, \
+ CCTK_REAL IN x, \
+ CCTK_REAL IN y, \
+ CCTK_REAL IN z )
+USES FUNCTION SetDriftCorrectPosition
+
+##############################################################
+### Functions provided by GZPatchSystem for registration ###
+##############################################################
+
+CCTK_INT FUNCTION GZPatchSystem_register_sync(CCTK_STRING IN cactus_group_name)
+USES FUNCTION GZPatchSystem_register_sync
+CCTK_INT FUNCTION \
+ GZPatchSystem_register_cxform(CCTK_INT IN time_level, \
+ CCTK_STRING IN cactus_group_name)
+USES FUNCTION GZPatchSystem_register_cxform
+
+#######################################################
+### Functions provided by the general EOS interface ###
+#######################################################
+
+CCTK_INT FUNCTION EOS_SetupCall(CCTK_INT IN table_handle)
+USES FUNCTION EOS_SetupCall
+
+CCTK_INT FUNCTION EOS_SetGFs(CCTK_POINTER_TO_CONST IN GH, \
+ CCTK_INT IN call_number)
+USES FUNCTION EOS_SetGFs
+
+public:
+
+int whisky_eos_scalars type = SCALAR
+{
+ whisky_eos_handle
+ whisky_polytrope_handle
+} "Handle number for EOS"
+
+real whisky_minima type = SCALAR
+{
+ whisky_rho_min
+# whisky_dens_min
+} "Atmosphere values"
+
+real dens type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar" tensorweight=+1.0 interpolator="matter"' "generalized particle number"
+
+real tau type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar" tensorweight=+1.0 interpolator="matter"' "internal energy"
+
+real scon[3] type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="D" tensorweight=+1.0 interpolator="matter"' "generalized momenta"
+
+
+real whisky_tracers[number_of_tracers] type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar"'
+{
+ tracer
+} "Tracers"
+
+real w_lorentz type = GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar" tensorweight=+1.0 interpolator="matter"' "Lorentz factor"
+
+real densrhs type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"' "Update term for dens"
+real taurhs type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"' "Update term for tau"
+real srhs[3] type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"' "Update term for s"
+
+##################################################
+### These variables are only protected so that ###
+### the tests in init_data work. Should fix. ###
+##################################################
+
+real whisky_prim_bext type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"'
+{
+ rhoplus, velxplus, velyplus, velzplus, pressplus, epsplus, w_lorentzplus,
+ rhominus, velxminus, velyminus, velzminus, pressminus, epsminus,
+ w_lorentzminus
+} "Primitive variables extended to the cell boundaries"
+
+int whisky_scalars type = SCALAR tags='checkpoint="no"'
+{
+ flux_direction, xoffset, yoffset, zoffset
+} "Which direction are we taking the fluxes in and the offsets"
+
+int whisky_atmosphere_mask type = GF Timelevels = 1 tags='Prolongation="None"'
+{
+ atmosphere_mask
+} "Flags to say whether a point needs to be reset to the atmosphere"
+
+int whisky_atmosphere_descriptors type=SCALAR
+{
+ atmosphere_field_descriptor
+ atmosphere_atmosp_descriptor
+ atmosphere_normal_descriptor
+}
+
+real whisky_cons_tracers[number_of_tracers] TYPE=GF Timelevels = 3 tags='ProlongationParameter="HydroBase::prolongation_type" tensortypealias="Scalar"'
+{
+ cons_tracer
+} "The conserved tracer variable"
+
+# For measuring separations
+CCTK_REAL whisky_maxima_position TYPE=SCALAR tags='checkpoint="no"'
+{
+ maxima_x
+ maxima_y
+ maxima_z
+ maximum_density
+} "The position (coordinate values) of the maximum value of rho"
+
+CCTK_REAL maxrho_global TYPE=SCALAR tags='checkpoint="no"' "store the global maximum of rho, for refinment-grid steering"
+
+# functions can be prolonged only if they are real (not integer).
+CCTK_REAL whisky_C2P_failed TYPE=GF Timelevels = 1 tags='Prolongation="restrict" tensortypealias="Scalar" checkpoint="no"' "Mask that stores the points where C2P has failed"
+
+# Should we do the same for the atmo masks?
+
+private:
+
+int whisky_reflevel type = SCALAR tags='checkpoint="no"' "Refinement level Whisky is working on right now"
+
+real whisky_con_bext type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"'
+{
+ densplus, sxplus, syplus, szplus, tauplus,
+ densminus, sxminus, syminus, szminus, tauminus
+} "Conservative variables extended to the cell boundaries"
+
+real whisky_fluxes type = GF Timelevels = 1 tags='Prolongation="None" checkpoint="no"'
+{
+ densflux, sxflux, syflux, szflux, tauflux
+} "Fluxes for each conserved variable"
+
+# real fluxweightvolume type = GF Timelevels = 1
+# {
+# cell_volume
+# cell_jdet
+# } "Weighting factors for the interfaces for using FishEye"
+#
+# real cell_surface[3] type = GF Timelevels = 1
+#
+# real whisky_fisheye_scalars type=GF timelevels=1
+# {
+# frho
+# fpress
+# feps
+# } "Whisky scalars in physical coordinates"
+#
+# real whisky_fisheye_vectors type=GF timelevels=1
+# {
+# fvelx
+# fvely
+# fvelz
+# } "Whisky vectors in physical coordinates"
+
+real whisky_coords type=GF timelevels=3
+{
+ whisky_x
+ whisky_y
+ whisky_z
+} "Coordinates to use with the comoving shift"
+
+real whisky_coords_rhs type=GF timelevels=1 tags='Prolongation="None"'
+{
+ whisky_x_rhs
+ whisky_y_rhs
+ whisky_z_rhs
+} "RHS for coordinates to use with the comoving shift"
+
+#real whisky_hamiltonian type=GF tags='tensortypealias="Scalar"'
+#{
+# whisky_hamnormalized
+# whisky_ham
+#} "Whisky hamiltonian constraints"
+
+#real whisky_momentum type=GF tags='tensortypealias="U" checkpoint="no"'
+#{
+# whisky_momx,
+# whisky_momy,
+# whisky_momz
+#} "Whisky momentum constraints"
+
+int whisky_trivial_rp_gf_group type=GF timelevels=1 tags='Prolongation="None"'
+{
+ whisky_trivial_rp_gf_x
+ whisky_trivial_rp_gf_y
+ whisky_trivial_rp_gf_z
+} "set gf for triv. rp (only for debugging)"
+
+
+real flux_splitting TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ densfplus, densfminus
+ sxfplus, sxfminus
+ syfplus, syfminus
+ szfplus, szfminus
+ taufplus, taufminus
+} "Fluxes for use in the flux splitting"
+
+real fs_alpha TYPE=SCALAR
+{
+ fs_alpha1
+ fs_alpha2
+ fs_alpha3
+ fs_alpha4
+ fs_alpha5
+} "Maximum characteristic speeds for the flux splitting"
+
+real whisky_tracer_rhs[number_of_tracers] TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ cons_tracerrhs
+} "RHS for the tracer"
+
+real whisky_tracer_flux[number_of_tracers] TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ cons_tracerflux
+} "Flux for the tracer"
+
+real whisky_tracer_cons_bext[number_of_tracers] TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ cons_tracerplus, cons_tracerminus
+} "Cell boundary values for the tracer"
+
+real whisky_tracer_prim_bext[number_of_tracers] TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ tracerplus, tracerminus
+} "Primitive cell boundary values for the tracer"
+
+real whisky_tracer_flux_splitting[number_of_tracers] TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ tracerfplus, tracerfminus
+} "Flux splitting for the tracer"
+
+real whisky_mppm_eigenvalues TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ whisky_mppm_eigenvalue_x_left, whisky_mppm_eigenvalue_x_right
+ whisky_mppm_eigenvalue_y_left, whisky_mppm_eigenvalue_y_right
+ whisky_mppm_eigenvalue_z_left, whisky_mppm_eigenvalue_z_right
+ whisky_mppm_xwind
+} "debug variable for flux eigenvalues in mppm"
+
+CCTK_REAL particles TYPE=ARRAY DIM=1 TIMELEVELS=3 SIZE=number_of_particles GHOSTSIZE=0 DISTRIB=DEFAULT
+{
+ particle_x
+ particle_y
+ particle_z
+} "Coordinates of particles to be tracked"
+
+CCTK_REAL particle_rhs TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=number_of_particles GHOSTSIZE=0 DISTRIB=DEFAULT
+{
+ particle_x_rhs
+ particle_y_rhs
+ particle_z_rhs
+} "RHS functions for particles to be tracked"
+
+CCTK_REAL particle_arrays TYPE=ARRAY DIM=1 TIMELEVELS=1 SIZE=number_of_particles GHOSTSIZE=0 DISTRIB=DEFAULT tags='checkpoint="no"'
+{
+ particle_vx
+ particle_vy
+ particle_vz
+ particle_alp
+ particle_betax
+ particle_betay
+ particle_betaz
+} "Temporaries to hold interpolated values for particle tracking"
+
+# For measuring separations
+
+CCTK_REAL whisky_maxima_location TYPE=SCALAR tags='checkpoint="no"'
+{
+ maxima_i
+ maxima_j
+ maxima_k
+} "The location (point index) of the maximum value of rho"
+
+CCTK_INT whisky_maxima_iteration TYPE=SCALAR "Iteration on which maximum was last set"
+
+CCTK_REAL whisky_maxima_separation TYPE=SCALAR tags='checkpoint="no"'
+{
+ whisky_separation
+ whisky_proper_separation
+} "The distance between the centres (locations of maximum density) of a binary NS"
+
+CCTK_REAL DiffRho TYPE=GF tags='Prolongation="None" checkpoint="no"' "The first difference in rho"
+
+# For the new EOS interface a couple of temporaries are required
+
+CCTK_REAL EOS_temps TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ eos_cs2_p, eos_cs2_m
+ eos_dpdeps_p, eos_dpdeps_m
+} "Temporaries for the EOS calls"
+
+CCTK_REAL RoeAverage_temps TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ rho_ave, velx_ave, vely_ave, velz_ave, eps_ave, press_ave
+ eos_cs2_ave, eos_dpdeps_ave
+} "Temporaries for the Roe solver"
+
+CCTK_REAL Metric_temps TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ Whisky_det
+ Whisky_uxx,Whisky_uxy,Whisky_uxz,Whisky_uyy,Whisky_uyz,Whisky_uzz
+} "Temporaries for the determinant of the 3-metric and the inverse metric"
+
+CCTK_REAL Con2Prim_temps TYPE=GF tags='Prolongation="None" checkpoint="no"'
+{
+ press_old, press_new
+ eos_dpdeps_temp, eos_dpdrho_temp
+} "Temporaries for the conservative to primitive conversion"
+
diff --git a/par/BenchRNS_Carpet_3level.par b/par/BenchRNS_Carpet_3level.par
new file mode 100644
index 0000000..ad54a30
--- /dev/null
+++ b/par/BenchRNS_Carpet_3level.par
@@ -0,0 +1,196 @@
+
+#--- Base and Driver Thorns
+
+ActiveThorns = " time
+ carpet
+ carpetlib
+ carpetregrid
+ carpetreduce
+ cartgrid3d
+ coordbase
+ mol
+ boundary
+ spacemask
+ carpetiobasic
+ ioutil
+ symbase
+ aeilocalinterp
+ carpetinterp
+ "
+
+#--- Spacetime :-)
+
+ActiveThorns = " admbase
+ staticconformal
+ admconstraints
+ admcoupling
+ coordgauge
+ admmacros
+ bssn_mol
+ "
+
+#--- Hydrodynamics
+
+ActiveThorns = " whisky
+ whisky_init_data
+ whisky_rnsid
+ hydrobase
+ eos_base
+ eos_polytrope
+ "
+
+
+################## Output Related Stuff ##################################
+
+IOBasic::outInfo_vars = "HydroBase::rho admbase::alp"
+iobasic::outInfo_every = 1
+
+
+#--- general
+
+
+#--- output directories
+IO::out_dir = $parfile
+
+#--- checkpoint recovery
+io::recover = "no"
+
+
+#--- output frequency
+carpetiobasic::real_min = 1.0e-2
+io::out_single_precision = "yes"
+
+
+
+############################# DRIVER #####################################
+
+#--- Benchmarking
+
+carpet::constant_load_per_processor = "yes"
+
+#--- performance & infrastructure
+
+carpet::enable_all_storage = "no"
+CarpetLib::save_memory_during_regridding = "yes"
+
+#--- Carpet prolongation order settings
+
+Carpet::prolongation_order_space = 3
+Carpet::prolongation_order_time = 2
+
+
+#--- Carpet initial data setup parameters
+
+Carpet::init_3_timelevels = "no"
+Carpet::init_each_timelevel = "no"
+
+MoL::initial_data_is_crap = "yes"
+
+
+#--- Grid Setup and carpet parameters
+
+
+carpet::buffer_width = 6
+
+driver::ghost_size = 3
+
+cartgrid3d::type = "box"
+cartgrid3d::domain = "full"
+cartgrid3d::avoid_origin = "no"
+
+cartgrid3d::dxyz = 1.0
+driver::global_nx = 30
+driver::global_ny = 30
+driver::global_nz = 30
+
+cactus::cctk_itlast = 128
+
+Carpet::domain_from_coordbase = "no"
+
+carpet::max_refinement_levels = 3
+carpetregrid::refinement_levels = 3
+
+carpet::veryverbose = "no"
+carpet::verbose = "no"
+
+
+################## Spacetime Related Stuff #############################
+
+
+admbase::evolution_method = "adm_bssn"
+admbase::lapse_evolution_method = "1+log"
+admbase::shift_evolution_method = "static"
+
+boundary::radpower = 2
+
+admconstraints::bound = "static"
+
+bssn_mol::timelevels = 3
+
+
+######################## Hydro Related Stuff ###########################
+
+
+HydroBase::timelevels = 3
+
+whisky::whisky_rho_central = 1.61930347e-08
+whisky::riemann_solver = "Marquina"
+whisky::whisky_eos_type = "Polytype"
+whisky::whisky_eos_table = "2D_Polytrope"
+whisky::recon_method = "ppm"
+whisky::ppm_detect = "yes"
+whisky::whisky_stencil = 3
+whisky::bound = "none"
+
+whisky::EoS_Change = "no"
+EOS_Polytrope::eos_gamma = 2.0
+EOS_Polytrope::eos_k = 1.0
+EOS_Polytrope::use_cgs = "yes"
+EOS_Polytrope::gamma_ini = 2.0
+
+#------ Atmosphere treatment
+
+SpaceMask::use_mask = yes
+
+whisky::rho_rel_min = 1.e-5
+
+#------ Atmosphere only for
+whisky::initial_atmosphere_factor = 0.99
+
+
+
+####################### Initial Data #####################################
+
+
+admbase::initial_data = "rnsid"
+admbase::initial_lapse = "rnsid"
+admbase::initial_shift = "rnsid"
+admbase::metric_type = "physical"
+
+rnsid::axes_ratio = 1.0
+rnsid::accuracy = 1e-7
+
+rnsid::RNS_Gamma = 2.0
+rnsid::RNS_K = 100.0
+
+rnsid::recover_2Dmodel = "no"
+rnsid::save_2Dmodel = "no"
+
+rnsid::mdiv = 151
+rnsid::sdiv = 301
+
+
+
+
+##################### Infrastructure Related Stuff ########################
+
+#--- Time integration
+
+MoL::ODE_Method = "icn"
+MoL::MoL_Intermediate_Steps = 3
+time::dtfac = 0.375
+
+
+
+#---- Timer output
+cactus::cctk_timer_output = "FULL"
diff --git a/par/Whisky.th b/par/Whisky.th
new file mode 100644
index 0000000..30d60e6
--- /dev/null
+++ b/par/Whisky.th
@@ -0,0 +1,19 @@
+CactusMoL/MoL
+CactusBase/Boundary
+CactusBase/CartGrid3D
+CactusBase/IOUtil
+CactusBase/IOBasic
+CactusBase/Time
+CactusBase/IOASCII
+CactusPUGH/PUGH
+CactusPUGH/PUGHSlab
+CactusPUGH/PUGHReduce
+EUHydro/Einstein
+HydroBase/HydroBase
+Whisky/Whisky
+Whisky/Whisky_Init_Data
+CactusUtils/NaNChecker
+CactusEOS/EOS_Base
+CactusEOS/EOS_Ideal_Fluid
+CactusEOS/EOS_1D_Base
+CactusEOS/EOS_1D_Ideal_Polytrope
diff --git a/par/whisky.par b/par/whisky.par
new file mode 100644
index 0000000..33f8f12
--- /dev/null
+++ b/par/whisky.par
@@ -0,0 +1,39 @@
+ActiveThorns = "time MoL pugh pughreduce pughslab cartgrid3d ioutil ioascii iobasic boundary einstein hydrobase whisky whisky::whisky_init_data nanchecker eos_base eos_ideal_fluid"
+
+#This is a hack. ghost_size should be the same as whisky::whisky_stencil.
+
+pugh::ghost_size=2
+
+time::dtfac = 0.25
+
+methodoflines::ode_method = "rk2"
+
+einstein::evolution_system="none"
+einstein::shift="none"
+einstein::use_conformal = "no"
+einstein::use_conformal_derivs = "no"
+einstein::initial_data="shocktube"
+whisky_init_data::shocktube_type="diagshock"
+whisky_init_data::shock_case="Simple"
+
+EOS_Ideal_Fluid::eos_ideal_fluid_gamma=1.66666666666666
+whisky::riemann_solver="Roe"
+whisky::tvd_limiter="minmod"
+whisky::bound="flat"
+whisky::whisky_eos_table="Ideal_Fluid"
+
+grid::type = "BySpacing"
+grid::domain = "full"
+grid::dxyz = 0.5
+
+driver::global_nx = 15
+driver::global_ny = 15
+driver::global_nz = 15
+
+cactus::cctk_itlast = 5
+
+IO::outdir = "whisky_shocktube"
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "HydroBase::rhoHydroBase::press HydroBase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon"
diff --git a/param.ccl b/param.ccl
new file mode 100644
index 0000000..d2e0b43
--- /dev/null
+++ b/param.ccl
@@ -0,0 +1,533 @@
+# Parameter definitions for thorn Whisky
+# $Header$
+
+shares:ADMBase
+
+USES int initial_shift ""
+{
+}
+
+USES KEYWORD metric_type ""
+{
+}
+
+EXTENDS KEYWORD shift_evolution_method ""
+{
+ "Comoving" :: "Set the shift so the matter is approximately comoving"
+}
+
+
+#########################################
+### PARAMETRES SHARED FROM HydroBase ###
+#########################################
+
+shares: HydroBase
+
+USES CCTK_INT timelevels
+USES KEYWORD prolongation_type
+EXTENDS KEYWORD evolution_method ""
+{
+ "whisky" :: "Use Whisky to evolve the hydro variables"
+}
+
+#########################################
+### PARAMETRES SHARED FROM MoL ###
+#########################################
+
+shares: MethodOfLines
+
+USES CCTK_INT MoL_Num_Evolved_Vars
+USES CCTK_INT MoL_Num_Constrained_Vars
+USES CCTK_INT MoL_Num_SaveAndRestore_Vars
+USES CCTK_INT MoL_Max_Evolved_Array_Size
+USES CCTK_INT MoL_Num_ArrayEvolved_Vars
+
+shares:SpaceMask
+
+USES boolean use_mask
+
+shares: ADMMacros
+
+USES INT spatial_order
+
+restricted:
+
+CCTK_INT Whisky_MaxNumEvolvedVars "The maximum number of evolved variables used by Whisky" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars
+{
+ 5:8 :: "dens scon[3] tau"
+} 5
+
+CCTK_INT Whisky_MaxNumConstrainedVars "The maximum number of constrained variables used by Whisky" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Constrained_Vars
+{
+ 7:13 :: "A small range, depending on testing or not"
+} 8
+
+CCTK_INT Whisky_MaxNumSandRVars "The maximum number of save and restore variables used by Whisky" ACCUMULATOR-BASE=MethodofLines::MoL_Num_SaveAndRestore_Vars
+{
+ 0:16 :: "A small range, depending on testing or not"
+} 16
+
+keyword recon_method "Which reconstruction method to use"
+{
+ "tvd" :: "Slope limited TVD"
+ "ppm" :: "PPM reconstruction"
+ "eno" :: "ENO reconstruction"
+} "tvd"
+
+keyword method_type "Which type of method to use"
+{
+ "RSA FV" :: "Reconstruct-Solve-Average finite volume method"
+ "Flux Split FD" :: "Finite difference using Lax-Friedrichs flux splitting"
+} "RSA FV"
+
+
+boolean check_for_trivial_rp "Do check for trivial Riemann Problem"
+{
+} "yes"
+
+keyword recon_vars "Which type of variables to reconstruct"
+{
+ "primitive" :: "Reconstruct the primitive variables"
+ "conservative" :: "Reconstruct the conserved variables"
+} "primitive"
+
+keyword tvd_limiter "Which slope limiter to use"
+{
+ "minmod" :: "Minmod"
+ "vanleerMC" :: "Van Leer MC - Ian"
+ "vanleerMC2" :: "Van Leer MC - Luca"
+ "minmod2" :: "Minmod - Ian"
+ "minmod3" :: "Minmod - Luca (or vice versa). Expect I've made a typo"
+ "Superbee" :: "Superbee"
+} "minmod"
+
+real myfloor "A minimum number for the TVD reconstruction routine"
+{
+ 0.0: :: "Must be positive"
+} 1.e-10
+
+boolean ppm_detect "Should the PPM solver use shock detection?"
+{
+} "no"
+
+keyword ppm_flatten "Which flattening procedure should the PPM solver use?"
+{
+ "stencil_3" :: "our flattening procedure, which requires only stencil 3 and which may work"
+ "stencil_4" :: "original C&W flattening procedure, which requires stencil 4"
+} "stencil_3"
+
+real ppm_epsilon "Epsilon for PPM zone flattening"
+{
+ 0.0: :: "Must be positive. Default is from Colella & Woodward"
+} 0.33
+
+real ppm_omega1 "Omega1 for PPM zone flattening"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 0.75
+
+real ppm_omega2 "Omega2 for PPM zone flattening"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 10.0
+
+real ppm_omega_tracer "Omega for tracer PPM zone flattening"
+{
+ : :: "Anything goes. Default is from Plewa & Mueller"
+} 0.50
+
+real ppm_epsilon_shock "Epsilon for PPM shock detection"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 0.01
+
+real ppm_eta1 "Eta1 for PPM shock detection"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 20.0
+
+real ppm_eta2 "Eta2 for PPM shock detection"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 0.05
+
+real ppm_k0 "K0 for PPM shock detection"
+{
+ : :: "Anything goes. Default suggested by Colella & Woodward is: (polytropic constant)/10.0"
+} 0.2
+
+real ppm_small "A floor used by PPM shock detection"
+{
+ 0.0:1.0 :: "In [0,1]"
+} 1.e-7
+
+int ppm_mppm "Use modified (enhanced) ppm scheme"
+{
+ 0:1 :: "0 (off, default) or 1 (on)"
+} 0
+
+int ppm_mppm_debug_eigenvalues "write eigenvalues into debug grid variables"
+{
+ 0:1 :: "0 (off, default) or 1 (on)"
+} 0
+
+int eno_order "The order of accuracy of the ENO reconstruction"
+{
+ 1:* :: "Anything above 1, but above 5 is pointless"
+} 2
+
+keyword riemann_solver "Which Riemann solver to use"
+{
+ "Roe" :: "Standard Roe solver"
+ "Marquina" :: "Marquina flux"
+ "HLLE" :: "HLLE"
+} "HLLE"
+
+
+keyword HLLE_type "Which HLLE type to use"
+{
+ "Standard" :: "Standard HLLE solver"
+ "Tadmor" :: "Tadmor's simplification of HLLE"
+} "Standard"
+
+
+
+keyword left_eigenvectors "How to compute the left eigenvectors"
+{
+ "analytical" :: "Analytical left eigenvectors"
+ "numerical" :: "Numerical left eigenvectors"
+} "analytical"
+
+keyword numerical_viscosity "How to compute the numerical viscosity"
+{
+ "fast" :: "Fast numerical viscosity"
+ "normal" :: "Normal numerical viscosity"
+} "fast"
+
+keyword bound "Which boundary condition to use - FIXME"
+{
+ "flat" :: "Zero order extrapolation"
+ "none" :: "None"
+ "static" :: "Static, no longer supported"
+ "scalar" :: "Constant"
+} "none"
+
+int whisky_stencil "Width of the stencil"
+{
+ 0: :: "Must be positive"
+} 2
+
+keyword whisky_eos_type "Type of Equation of State"
+{
+ "Polytype" :: "P = P(rho) or P = P(eps)"
+ "General" :: "P = P(rho, eps)"
+} "General"
+
+string whisky_eos_table "Name for the Equation of State"
+{
+ .* :: "Can be anything"
+} "Ideal_Fluid"
+
+
+#Parameters controlling conservative <-> primitive change.
+
+int whisky_c2p_warnlevel "Warnlevel for Con2Prim warnings" STEERABLE=ALWAYS
+{
+ 0:1 :: "Either 0 or 1"
+} 0
+
+# This parameter is not used anymore in maintained code: the warnings are produced only for really evolved points.
+int whisky_c2p_warn_from_reflevel "Start warning on given refinement level and on higher levels" STEERABLE=ALWAYS
+{
+ 0: :: "Greater or equal to 0"
+} 0
+
+boolean c2p_reset_pressure "If the pressure guess is unphysical should we recompute it?"
+{
+} "no"
+
+real whisky_eps_min "Minimum value of internal energy - this is now only used in Whisky_InitData's Whisky_Only_Atmo routine"
+{
+ 0: :: "Positive"
+} 1.e-10
+
+real whisky_perc_ptol "Tolerance for primitive variable solve (percent)"
+{
+ 0: :: "Do we really want both tolerances?"
+} 1.e-8
+
+real whisky_del_ptol "Tolerance for primitive variable solve (absolute)"
+{
+ 0: :: "Do we really want both tolerances?"
+} 1.e-18
+
+int whisky_countmax "Maximum number of iterations for Con2Prim solve"
+{
+ 1:* :: "Must be positive"
+} 100
+
+int whisky_countmin "Minimum number of iterations for Con2Prim solve"
+{
+ 0:* :: "Must be non negative"
+} 1
+
+int whisky_polish "Number of extra iterations after root found"
+{
+ 0:* :: "Must be non negative"
+} 0
+
+###Parameters for compact fluid objects
+
+REAL whisky_rho_central "Central Density for Star"
+{
+ : :: ""
+} 1.e-5
+
+##Parameters for the atmosphere.
+
+REAL rho_abs_min "A minimum rho below which evolution is turned off (atmosphere). If negative, the relative minimum will be used instead."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL rho_rel_min "A minimum relative rho (rhomin = centden * rho_rel_min) below which evolution is turned off (atmosphere). Only used if rho_abs_min < 0.0"
+{
+ 0: :: ""
+} 1.e-9
+
+REAL initial_rho_abs_min "An absolute value for rho in the atmosphere. To be used by initial data routines only. Unused if negative."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL initial_rho_rel_min "A relative (to the central density) value for rho in the atmosphere. To be used by initial data routines only. Unused if negative."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL initial_atmosphere_factor "A relative (to the initial atmosphere) value for rho in the atmosphere. To be used by initial data routines only. Unused if negative."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL rho_abs_min_after_recovery "A new absolute value for rho in the atmosphere. To be used after recovering. Unused if negative." STEERABLE=ALWAYS
+{
+ -1.0: :: ""
+} -1.0
+
+REAL whisky_atmo_tolerance "A point is set to atmosphere in the Con2Prim's if its rho < whisky_rho_min *(1+whisky_atmo_tolerance). This avoids occasional spurious oscillations in carpet buffer zones lying in the atmosphere (because prolongation happens on conserved variables)" STEERABLE=ALWAYS
+{
+ 0.0: :: "Zero or larger. A useful value could be 0.0001"
+} 0.0
+
+BOOLEAN wk_atmosphere "Use some of Wolfgang Kastauns atmosphere tricks"
+{
+} "no"
+
+BOOLEAN Check_Rho_Minimum "Should a check on rho < whisky_rho_min be performed and written as WARNING level 2?"
+{
+} "no"
+
+boolean EoS_Change "Recalculate fluid quantities if changing the EoS"
+{
+} "no"
+
+keyword EoS_Change_type "Change polytropic K or Gamma?"
+{
+ "K" :: "Change the K"
+ "Gamma" :: "Change the Gamma"
+ "GammaKS" :: "Change K and Gamma, Shibata et al. 2004 3-D GR Core Collapse style"
+} "Gamma"
+
+real initial_Gamma "If changing Gamma, what was the value used in the initial data routine?"
+{
+ (0.0: :: "Positive"
+} 1.3333
+
+real initial_k "If changing K, what was the value used in the initial data routine?"
+{
+ (0.0: :: "Positive"
+} 100.0
+
+#If you want to use FishEye, you need the weighted fluxes
+
+BOOLEAN use_weighted_fluxes "Weight the flux terms by the cell surface areas"
+{
+} "no"
+
+#For the comoving shift
+
+real comoving_factor "Factor multiplying the velocity for the comoving shift"
+{
+ 0.0:2.0 :: "[0,2] is allowed, but [0,1] is probably reasonable"
+} 0.0
+
+keyword comoving_attenuate "Which attenuation method for the comoving shift"
+{
+ "sqrt" :: "Multiply by sqrt(rho/rho_max)"
+ "tanh" :: "Multiply by 1/2*(1+tanh(factor*(rho/rho_max - offset)))"
+} "tanh"
+
+keyword comoving_v_method "Which method for getting the radial velocity"
+{
+ "projected" :: "vr = x_i . v^i / r"
+ "components" :: "vr = sqrt(v_i v^i)"
+} "projected"
+
+real comoving_tanh_factor "The factor in the above tanh attenuation"
+{
+ (0.0:* :: "Any positive number"
+} 10.0
+
+real comoving_tanh_offset "The offset in the above tanh attenuation"
+{
+ 0.0:1.0 :: "Only makes sense in [0,1]"
+} 0.05
+
+int set_trivial_rp_grid_function "set gf for triv. rp (only for debugging)"
+{
+ 0:1 :: "0 for no (default), 1 for yes"
+} 0
+
+#Advect a tracer?
+
+boolean evolve_tracer "Should we advect tracers?"
+{
+} "no"
+
+int number_of_tracers "Number of tracer variables to be advected"
+{
+ 0:* :: "positive or zero"
+} 0
+
+boolean use_min_tracer "Should there be a floor on the tracer?"
+{
+} "no"
+
+real min_tracer "The floor placed on the tracer"
+{
+ *:* :: "Anything"
+} 0.0
+
+#Track particles?
+int number_of_particles "Number of particles to track" ACCUMULATOR-BASE=MethodOfLines::MoL_Max_Evolved_Array_Size
+{
+ 0:* :: "0 switches off particle tracking"
+} 0
+
+int number_of_arrays "Number of arrays to evolve" ACCUMULATOR-BASE=MethodOfLines::MoL_Num_ArrayEvolved_Vars
+{
+ 0:3 :: "Either zero or three, depending on the particles"
+} 0
+
+STRING particle_interpolator "What interpolator should be used for the particles"
+{
+ ".+" :: "A valid interpolator name"
+} "Lagrange polynomial interpolation"
+
+CCTK_INT particle_interpolation_order "What order should be used for the particle interpolation"
+{
+ 1:* :: "A valid positive interpolation order"
+} 2
+
+#Drift Correction
+
+boolean compute_DCandMaxima "Should we compute the drift correction and the maxima?" STEERABLE=ALWAYS
+{
+} "no"
+
+int DCandMaxima_every "Every so many iterations the maximum is computed"
+{
+ 1:* :: "Any positive integer"
+} 1
+
+real rho_max_min "Minimum which the searched maximum of the density can have to be still used"
+{
+ 0:* :: "any positive number"
+} 0
+
+boolean Whisky_useFullGridForMaxima "Should we use the full grid for finding the maxima (default is x>0)?" STEERABLE=ALWAYS
+{
+} "no"
+
+boolean set_dc_centroid "Should we use the maximum density to set the DriftCorrect location?"
+{
+} "no"
+
+boolean use_coord_maxima "Should we use the coordinate maximum (yes) or weighted maximum?"
+{
+} "yes"
+
+#Finding separations
+
+boolean compute_EqualMassStarSeparation "Should we compute the separation between the two stars? It only works for the equal-mass case."
+{
+} "yes"
+
+int separation_npoints "Number of points along the straight line for measuring proper separation"
+{
+ 1:* :: "Any positive number"
+} 100
+
+#Finding the local gradient
+
+keyword gradient_method "Which method is used to set Whisky::DiffRho?"
+{
+ "First diff" :: "Standard first differences"
+ "Curvature" :: "Curvature based method of Paramesh / FLASH"
+ "Rho weighted" :: "Based on the size of rho"
+} "First diff"
+
+#For the new EOS interface
+
+BOOLEAN use_eosgeneral "Should we use the new EOS interface?"
+{
+} "no"
+
+STRING eosgeneral_name "The name of the EOS to be used"
+{
+ ".*" :: "Any registered EOS"
+} "Polytrope"
+
+STRING eosgeneral_indep_names "The names of additional variables to be used in the EOS call"
+{
+ ".*" :: "Any variables consistent with the EOS"
+} ""
+
+INT eosgeneral_n_indeps "The number of additional variables to be used in the EOS call"
+{
+ 0:* :: "Anything non-negative"
+} 0
+
+STRING eosgeneral_indep_gfs "The names of the grid functions holding the additional variables"
+{
+ ".*" :: "Should be in the full Thorn::GF format"
+} ""
+
+STRING eosgeneral_indep_plus_gfs "The names of the grid functions holding the additional variables that will be correct at the plus cell boundary"
+{
+ ".*" :: "Should be in the full Thorn::GF format"
+} ""
+
+STRING eosgeneral_indep_minus_gfs "The names of the grid functions holding the additional variables that will be correct at the minus cell boundary"
+{
+ ".*" :: "Should be in the full Thorn::GF format"
+} ""
+
+#Setting outflow boundaries over only some of the domain for multipatch runs
+
+BOOLEAN outflow_boundaries "Use the outflow boundary conditions?"
+{
+} "no"
+
+REAL outflowboundary_normal[3] "The normal to the plane; to the right of this outflow conditions will be set"
+{
+ *:* :: "Anything"
+} 0.0
+
+# NaN detection level
+
+INT Whisky_NaN_verbose "The warning level for NaNs occuring within Whisky"
+{
+ 0:* :: "The warning level"
+} 2
diff --git a/schedule.ccl b/schedule.ccl
new file mode 100644
index 0000000..acb02cb
--- /dev/null
+++ b/schedule.ccl
@@ -0,0 +1,997 @@
+# Schedule definitions for thorn Whisky
+# $Header$
+
+#######################################################################
+### We leave the storage on all the time for the variables required ###
+### by MoL. There is probably a better way of doing this. ###
+#######################################################################
+
+#################################################
+### Storage for the extra timelevels for the ###
+### use of MoL with Einstein ###
+#################################################
+
+if (timelevels == 3)
+{
+ STORAGE:dens[3]
+ STORAGE:tau[3]
+ STORAGE:scon[3]
+ STORAGE:w_lorentz[3]
+ if (number_of_particles)
+ {
+ STORAGE:particles[3]
+ }
+ STORAGE: ADMBase::metric[3], ADMBase::curv[3]
+ STORAGE: ADMBase::lapse[3]
+}
+else
+{
+ STORAGE:dens[2]
+ STORAGE:tau[2]
+ STORAGE:scon[2]
+ STORAGE:w_lorentz[2]
+ if (number_of_particles)
+ {
+ STORAGE:particles[2]
+ }
+ STORAGE: ADMBase::metric[2], ADMBase::curv[2]
+ STORAGE: ADMBase::lapse[2]
+}
+STORAGE:whisky_reflevel
+STORAGE:densrhs
+STORAGE:taurhs
+STORAGE:srhs
+STORAGE:whisky_eos_scalars
+STORAGE:whisky_minima
+STORAGE:whisky_scalars
+#STORAGE:fluxweightvolume
+#STORAGE:cell_surface
+if (number_of_particles)
+{
+ STORAGE:particle_rhs
+ STORAGE:particle_arrays
+}
+
+if (evolve_tracer)
+{
+ STORAGE:whisky_tracers[3]
+ STORAGE:whisky_cons_tracers[3]
+ STORAGE:whisky_tracer_rhs
+}
+
+# leave this here for compatibility with older code, should not be used anymore
+# and go out at some point
+schedule group Whisky_Initial IN HydroBase_Initial
+{
+} "Whisky initial data group"
+
+#################################################
+### Storage for the extra timelevels for the ###
+### use of MoL with Einstein ###
+#################################################
+
+if (timelevels == 3)
+{
+ STORAGE: ADMBase::metric[3], ADMBase::curv[3]
+ STORAGE: ADMBase::lapse[3]
+}
+else
+{
+ STORAGE: ADMBase::metric[2], ADMBase::curv[2]
+ STORAGE: ADMBase::lapse[2]
+}
+if (!CCTK_Equals(initial_shift,"none"))
+{
+ if (timelevels == 3)
+ {
+ STORAGE: ADMBase::shift[3]
+ }
+ else
+ {
+ STORAGE: ADMBase::shift[2]
+ }
+ if (CCTK_Equals(shift_evolution_method,"Comoving"))
+ {
+ if (timelevels == 3)
+ {
+ STORAGE: whisky_coords[3]
+ }
+ else
+ {
+ STORAGE: whisky_coords[2]
+ }
+ STORAGE: whisky_coords_rhs
+
+ schedule Whisky_SetUpCoords IN HydroBase_Initial
+ {
+ LANG: Fortran
+ } "Set up the coordinates for use with the comoving shift"
+
+ schedule Whisky_EvolveCoords IN WhiskyRHS
+ {
+ LANG: Fortran
+ } "Evolve the coordinates for the comoving shift"
+
+ schedule Whisky_ComovingShift IN HydroBase_PostStep AFTER HydroBase_Con2Prim
+ {
+ LANG: Fortran
+ } "Comoving shift"
+
+ }
+}
+
+##############################################
+### Storage for the conformal state scalar ###
+##############################################
+
+STORAGE: conformal_state
+
+###############################
+### Register startup banner ###
+###############################
+
+schedule Whisky_Startup AT WRAGH AFTER EOSBase_GeneralRegister AFTER HydroBase_StartUp
+{
+ LANG: Fortran
+} "Startup banner"
+
+#########################################
+### Register the masks with SpaceMask ###
+#########################################
+
+schedule Whisky_RegisterMask AT STARTUP
+{
+ LANG: C
+} "Register the hydro masks"
+
+
+####################################
+### Check the parameters are ok. ###
+####################################
+
+schedule Whisky_ParamCheck AT PARAMCHECK
+{
+ LANG: Fortran
+} "Check parameters"
+
+######################################
+### Standard symmetry registration ###
+######################################
+
+schedule Whisky_InitSymBound AT BASEGRID
+{
+ LANG: Fortran
+} "Schedule symmetries"
+
+##########################################################
+### Schedule the flux weighting calculation at initial ###
+##########################################################
+
+# schedule Whisky_Weights AT CCTK_INITIAL
+# {
+# LANG: C
+# } "Set up the weighting terms for the fluxes"
+
+###################################
+### Register with GZPatchSystem ###
+###################################
+
+SCHEDULE GROUP GZPatchSystem_register
+{
+} "Tell Cactus that this group exists, but is not scheduled from here"
+
+SCHEDULE Whisky_register_GZPatchSystem IN GZPatchSystem_register
+{
+ LANG: C
+ OPTIONS: meta
+} "register to-be-interpatch-synchronized variables with GZPatchSystem"
+
+##################################
+### Set the handle for the EOS ###
+##################################
+
+schedule Whisky_EOSHandle AT CCTK_INITIAL before HydroBase_Initial
+{
+ LANG: C
+} "Set the EOS number"
+
+schedule Whisky_EOSHandle AT CCTK_POST_RECOVER_VARIABLES
+{
+ LANG: C
+} "Set the EOS number"
+
+####################################
+### Setup of rho minima scalars ###
+####################################
+
+schedule Whisky_Rho_Minima_Setup AT CCTK_Initial BEFORE HydroBase_Initial
+{
+ LANG: Fortran
+} "Set up minimum for the rest-mass density in the atmosphere (before intial data)"
+
+if (rho_abs_min_after_recovery > 0.0)
+{
+ schedule Whisky_Change_Rho_Minimum_At_Recovery AT CCTK_POST_RECOVER_VARIABLES
+ {
+ LANG: Fortran
+ } "Set up minimum for the rest-mass density in the atmosphere (before intial data)"
+}
+
+if (CCTK_IsThornActive("PUGH" ))
+{
+ schedule Whisky_Rho_Minima_Setup_Final_PUGH AT CCTK_PostInitial BEFORE MoL_PostStep
+ {
+ LANG: C
+ } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution (PUGH)"
+}
+else if (CCTK_IsThornActive("Carpet"))
+ {
+# schedule Whisky_Rho_Minima_Setup_Final AT CCTK_PostInitial BEFORE MoL_PostStep
+ schedule Whisky_Rho_Minima_Setup_Final AT CCTK_PostPostInitial BEFORE Con2Prim
+ {
+ LANG: C
+ } "Set the value of the rest-mass density of the atmosphere which will be used during the evolution"
+ }
+
+# this is a temporary hack, because carpet does allow only one loop over the levels for Basegrid-Iniital-Postinitial
+# so we must compute whisky_rho_min at postpostinitial and the constraints after this (and afer C2P)
+# schedule GROUP ADMConstraintsGroup at CCTK_POSTINITIAL after (MoL_PostStep MoL_PostInitial)
+ schedule GROUP ADMConstraintsGroup at CCTK_POSTPOSTINITIAL
+ {
+ } "Evaluate ADM constraints, and perform symmetry boundary conditions"
+
+######################################################################
+### Setup and remove the coefficient arrays for ENO reconstruction ###
+######################################################################
+
+if (CCTK_Equals(recon_method,"eno"))
+{
+
+ schedule Whisky_ENOSetup AT CCTK_Basegrid
+ {
+ LANG:Fortran
+ } "Coefficients for ENO reconstruction"
+
+ schedule Whisky_ENOShutdown AT CCTK_Terminate BEFORE Driver_Terminate
+ {
+ LANG:Fortran
+ } "Deallocate ENO coefficients"
+
+}
+
+######################################################################
+### This routine is a bit strangely situated, as it's really to do ###
+### with initial data. There may be a better place for it later. ###
+### What it does is reset the hydrodynamical quantities if we have ###
+### changed the EoS between constructing the initial model and ###
+### evolving. Essentially, we assume that the polytropic EoS that ###
+### we are using for the atmosphere is correct, and reset eps ###
+### given the values for rho. We then can call the primitive to ###
+### conservative routine to get the pressure. ###
+######################################################################
+if (EoS_Change)
+{
+ if (CCTK_Equals(EoS_Change_type,"Gamma"))
+ {
+ schedule Whisky_EoSChangeGamma AT CCTK_Initial AFTER HydroBase_Initial BEFORE Whisky_IVP
+ {
+ LANG: Fortran
+ } "Reset the specific internal energy if the EoS changes between ID and evolution"
+ }
+ if (CCTK_Equals(EoS_Change_type,"K"))
+ {
+ schedule Whisky_EoSChangeK AT CCTK_Initial AFTER HydroBase_Initial BEFORE Whisky_IVP
+ {
+ LANG: Fortran
+ } "Reset the hydro variables if the EoS (K) changes between ID and evolution"
+ }
+ if (CCTK_Equals(EoS_Change_type,"GammaKS"))
+ {
+ schedule Whisky_EoSChangeGammaK_Shibata AT CCTK_Initial AFTER HydroBase_Initial BEFORE Whisky_IVP
+ {
+ LANG: Fortran
+ SYNC: dens
+ SYNC: tau
+ SYNC: scon
+ SYNC: w_lorentz
+ SYNC: hydrobase::rho
+ SYNC: hydrobase::press
+ SYNC: hydrobase::eps
+ SYNC: hydrobase::vel
+ } "Reset the hydro variables if the EoS Gamma and K change between ID and evolution"
+ }
+}
+
+#####################################
+### Setup of dens minima scalars ###
+#####################################
+# commented out, since unused for a long time
+#schedule Whisky_Dens_Minima_Setup AT CCTK_Postinitial
+#{
+# LANG: Fortran
+#} "Set up and check minima for dens"
+
+#################################################
+### Standard registration of variables to MoL ###
+#################################################
+
+schedule Whisky_Register IN MoL_Register
+{
+ LANG: C
+} "Register variables for MoL"
+
+####################################################
+### Setup of any scalars for efficiency purposes ###
+####################################################
+
+schedule Whisky_Scalar_Setup IN MoL_PreStep
+{
+ LANG: Fortran
+} "Set up and check scalars for efficiency"
+
+################################################
+### We might want to switch off evolution... ###
+################################################
+
+if (CCTK_EQUALS(evolution_method, "whisky")) {
+
+STORAGE:whisky_atmosphere_mask
+STORAGE:whisky_atmosphere_descriptors
+
+schedule Whisky_SetupMask AT CCTK_Initial BEFORE HydroBase_Initial
+{
+ LANG: Fortran
+} "Initialize the atmosphere mask"
+
+# If using mesh refinement
+schedule Whisky_SetupMask AT POSTREGRID BEFORE MoL_PostStep AFTER (MaskOne,MaskZero)
+{
+ LANG: Fortran
+} "Initialize the atmosphere mask"
+
+schedule Whisky_SetupMask AT POSTRESTRICTINITIAL BEFORE HydroBase_PostStep AFTER (MaskOne,MaskZero)
+{
+ LANG: Fortran
+} "Initialize the atmosphere mask"
+
+if (wk_atmosphere)
+{
+ schedule Whisky_InitAtmosMask AT CCTK_PostInitial
+ {
+ LANG: Fortran
+ } "Set the atmosphere mask"
+
+ schedule Whisky_InitAtmosMask AT POSTREGRID AFTER Whisky_SetupMask BEFORE MoL_PostStep
+ {
+ LANG: Fortran
+ } "Set the atmosphere mask"
+
+ schedule Whisky_InitAtmosMask AT POSTRESTRICTINITIAL AFTER Whisky_SetupMask BEFORE HydroBase_PostStep
+ {
+ LANG: Fortran
+ } "Set the atmosphere mask"
+}
+
+schedule Whisky_SetupDescriptors AT CCTK_Initial BEFORE HydroBase_Initial
+{
+ LANG: C
+} "Get and store the mask descriptors"
+
+# If using mesh refinement
+
+
+#####################################################################
+### The group to calculate the update term for MoL. This contains ###
+### the calculation of the source terms and the flux update. ###
+#####################################################################
+
+schedule group WhiskyRHS IN HydroBase_RHS
+{
+ STORAGE:whisky_scalars
+} "Calculate the update terms"
+
+#============================================
+# Uncomment the following lines for debugging
+#
+# schedule Whisky_Scalar_Setup AT CCTK_Initial
+# {
+# LANG: Fortran
+# } "Set up and check scalars for efficiency"
+#
+# schedule group WhiskyRHS AT CCTK_Analysis
+# {
+# STORAGE:whisky_scalars
+# TRIGGERS: densrhs
+# TRIGGERS: srhs
+# TRIGGERS: taurhs
+# } "Calculate the update terms"
+#
+# STORAGE:whisky_fluxes
+# STORAGE:whisky_con_bext
+# STORAGE:whisky_prim_bext
+# STORAGE:EOS_temps
+#
+# schedule Primitive2ConservativeCells AT CCTK_POSTINITIAL AFTER GZPatchSystem_cxform BEFORE MoL_PostStep
+# {
+# LANG: Fortran
+# } "Convert to conserved variables"
+#
+#==============================================
+
+if (number_of_particles)
+{
+ schedule WhiskyParticleInitial AT CCTK_Initial BEFORE HydroBase_Initial
+ {
+ OPTIONS: GLOBAL
+ LANG: Fortran
+ } "Initial data for the particle arrays"
+
+ schedule WhiskyParticleRHS IN WhiskyRHS
+ {
+ OPTIONS: GLOBAL
+ LANG: Fortran
+ } "Update terms for the particles"
+}
+
+####################################################################
+### Do the source terms first, as this does not require the loop ###
+### over the different directions ###
+####################################################################
+
+schedule SourceTerms IN WhiskyRHS BEFORE FluxTerms
+{
+ LANG: Fortran
+} "Source term calculation"
+
+#################################################################
+### Initial setup for the loop over the different directions. ###
+#################################################################
+
+schedule WhiskyStartLoop IN WhiskyRHS BEFORE FluxTerms
+{
+ LANG: Fortran
+ OPTIONS: level
+} "Set the flux_direction variable"
+
+###################################################################
+### The group to calculate the update terms from the fluxes. We ###
+### do this as a loop over each direction to reduce coding and ###
+### hopefully to reduce bugs. The parameter flux_direction runs ###
+### from (3->0) corresponding to (z->x) and stopping. At each ###
+### step in the loop the data is reconstructed and then the ###
+### fluxes are computed by the Riemann solve. ###
+###################################################################
+
+#######################################################
+### Switch between RSA FV and flux split FD methods ###
+#######################################################
+
+if (CCTK_Equals(method_type, "RSA FV"))
+{
+
+ if (evolve_tracer)
+ {
+ schedule group FluxTerms IN WhiskyRHS WHILE Whisky::flux_direction
+ {
+ STORAGE:whisky_prim_bext
+ STORAGE:whisky_con_bext
+ STORAGE:whisky_fluxes
+ STORAGE:whisky_tracer_cons_bext
+ STORAGE:whisky_tracer_prim_bext
+ STORAGE:whisky_tracer_flux
+ } "Calculation of intercell fluxes"
+ }
+ else
+ {
+ schedule group FluxTerms IN WhiskyRHS WHILE Whisky::flux_direction
+ {
+ STORAGE:whisky_prim_bext
+ STORAGE:whisky_con_bext
+ STORAGE:whisky_fluxes
+ } "Calculation of intercell fluxes"
+ }
+
+##############################################################
+### This is a wrapper call to the reconstruction routines. ###
+##############################################################
+
+ if (CCTK_Equals(whisky_eos_type,"General")) {
+
+ schedule Reconstruction IN FluxTerms AS Reconstruct
+ {
+ LANG: Fortran
+ } "Reconstruct the functions at the cell boundaries"
+
+ }
+ else if (CCTK_Equals(whisky_eos_type,"Polytype")) {
+
+ schedule ReconstructionPolytype IN FluxTerms AS Reconstruct
+ {
+ LANG: Fortran
+ } "Reconstruct the functions at the cell boundaries"
+
+ }
+
+ if (set_trivial_rp_grid_function)
+ {
+ schedule Set_Trivial_Riemann_Problem_Grid_Function \
+ IN FluxTerms AFTER Reconstruct
+ {
+ LANG: C
+ SYNC: whisky_trivial_rp_gf_group
+ } "Set the gridfunction for the trp (for debugging only)"
+ }
+
+######################################################
+### This is a wrapper call to the Riemann solvers. ###
+######################################################
+
+ if (use_eosgeneral)
+ {
+ schedule RiemannSolveGeneral IN FluxTerms AFTER Whisky_Convert AS Riemann
+ {
+ LANG: Fortran
+ STORAGE: EOS_temps
+ STORAGE: RoeAverage_temps
+ } "Solve the local Riemann problems"
+ }
+ else if (CCTK_Equals(whisky_eos_type,"General")) {
+
+ schedule RiemannSolve IN FluxTerms AFTER Whisky_Convert AS Riemann
+ {
+ LANG: Fortran
+ STORAGE: EOS_temps
+ } "Solve the local Riemann problems"
+
+ }
+ else if (CCTK_Equals(whisky_eos_type,"Polytype")) {
+
+ schedule RiemannSolvePolytype IN FluxTerms AFTER Whisky_Convert AS Riemann
+ {
+ LANG: Fortran
+ STORAGE: EOS_temps
+ } "Solve the local Riemann problems"
+ }
+
+}
+else if (CCTK_Equals(method_type, "Flux split FD"))
+{
+
+ STORAGE:fs_alpha
+
+ if (evolve_tracer)
+ {
+
+ schedule group FluxTerms IN WhiskyRHS WHILE Whisky::flux_direction
+ {
+ STORAGE: whisky_fluxes
+ STORAGE: whisky_tracer_flux
+ } "Calculation of intercell fluxes"
+
+ schedule Whisky_FSAlpha IN FluxTerms BEFORE Whisky_SplitFlux
+ {
+ LANG: Fortran
+ } "Compute the maximum characteristic speeds"
+
+ schedule Whisky_SplitFlux IN FluxTerms AS Reconstruct
+ {
+ LANG: Fortran
+ STORAGE: flux_splitting
+ STORAGE: whisky_tracer_flux_splitting
+ SYNC: whisky_fluxes
+ } "Compute the fluxes using WENO5 FD + Lax-Friedrichs splitting"
+
+ }
+ else
+ {
+
+ schedule group FluxTerms IN WhiskyRHS WHILE Whisky::flux_direction
+ {
+ STORAGE: whisky_fluxes
+ } "Calculation of intercell fluxes"
+
+ schedule Whisky_FSAlpha IN FluxTerms BEFORE Whisky_SplitFlux
+ {
+ LANG: Fortran
+ } "Compute the maximum characteristic speeds"
+
+ schedule Whisky_SplitFlux IN FluxTerms AS Reconstruct
+ {
+ LANG: Fortran
+ STORAGE: flux_splitting
+ SYNC: whisky_fluxes
+ } "Compute the fluxes using WENO5 FD + Lax-Friedrichs splitting"
+
+ }
+
+}
+
+###########################################################
+### After calculating the fluxes, calculate the update. ###
+###########################################################
+
+schedule UpdateCalculation IN FluxTerms AFTER Riemann
+{
+ LANG: Fortran
+} "Calculate the update term from the fluxes"
+
+#################################
+### Advance the loop counter. ###
+#################################
+
+schedule WhiskyAdvanceLoop IN FluxTerms AFTER UpdateCalculation
+{
+ LANG: Fortran
+ OPTIONS: level
+} "Decrement the flux_direction variable"
+
+###########################################################
+### If we're in the atmosphere or inside the excision ###
+### region then we don't want to do any updating (in ###
+### fact if we're inside the excision region we don't ###
+### want to calculate the fluxes, but we'll worry about ###
+### that later). Just zero the update terms where ###
+### certain conditions are violated. ###
+###########################################################
+
+schedule WhiskyUpdateAtmosphereMask IN WhiskyRHS AFTER FluxTerms
+{
+ LANG: Fortran
+} "Alter the update terms if inside the atmosphere region"
+
+###############################################################
+### After we've done the update, there's a few things to do ###
+###############################################################
+
+# This should not be used anymore and be removed after some time
+schedule group Whisky_PostStep IN HydroBase_PostStep
+{
+} "Post step tasks for Whisky"
+
+#################################################################
+### After MoL has updated the conserved variables, we need to ###
+### convert back to primitive variables. This is a wrapper ###
+### over the entire grid. ###
+#################################################################
+
+########################################################
+### Find the refinement level that is being computed ###
+########################################################
+
+schedule Whisky_RefinementLevel IN MoL_PostStep BEFORE (SetMetricTemps,HydroBase_PostStep)
+{
+ LANG: Fortran
+} "Calculate current refinement level"
+
+schedule Whisky_RefinementLevel AT CCTK_PostStep
+{
+ LANG: Fortran
+} "Calculate current refinement level (for the check of the C2P mask)"
+
+schedule Whisky_RefinementLevel AT POSTREGRIDINITIAL
+{
+ LANG: Fortran
+} "Calculate current refinement level"
+
+schedule Whisky_RefinementLevel AT INITIAL BEFORE HydroBase_Initial
+{
+ LANG: Fortran
+} "Calculate current refinement level"
+
+
+if (use_eosgeneral)
+{
+
+ STORAGE:Metric_temps
+
+ schedule SetMetricTemps IN MoL_PostStep BEFORE HydroBase_PostStep
+ {
+ LANG: Fortran
+ SYNC: metric_temps
+ } "Set the temporary metric terms"
+
+ schedule SetMetricTemps AT POSTRESTRICTINITIAL BEFORE HydroBase_PostStep
+ {
+ LANG: Fortran
+ SYNC: metric_temps
+ } "Set the temporary metric terms"
+
+
+ if (CCTK_Equals(whisky_eos_type,"General"))
+ {
+
+ schedule Conservative2PrimitiveGeneral IN HydroBase_Con2Prim AS Con2Prim
+ {
+ LANG: Fortran
+ STORAGE: Con2Prim_temps
+ } "Convert back to primitive variables (general)"
+
+ }
+ else if (CCTK_Equals(whisky_eos_type,"Polytype"))
+ {
+
+ schedule Con2PrimPolytypeGeneral IN HydroBase_Con2Prim AS Con2Prim
+ {
+ LANG: Fortran
+ STORAGE: Con2Prim_temps
+ } "Convert back to primitive variables (polytype)"
+
+ }
+
+}
+else if (CCTK_Equals(whisky_eos_type,"General"))
+{
+
+ schedule Conservative2Primitive IN HydroBase_Con2Prim AS Con2Prim
+ {
+ LANG: Fortran
+ } "Convert back to primitive variables (general)"
+
+}
+else if (CCTK_Equals(whisky_eos_type,"Polytype"))
+{
+
+ schedule Conservative2PrimitivePolytype IN HydroBase_Con2Prim AS Con2Prim
+ {
+ LANG: Fortran
+ } "Convert back to primitive variables (polytype)"
+
+}
+
+#################################################################
+### Having finished all the updates, we apply the boundary ###
+### conditions and synchronize the conservative and primitive ###
+### variables. All other grid functions are reset only in the ###
+### interior of the grid and are totally reset at every step, ###
+### and so synchronization is not necessary. ###
+#################################################################
+
+#schedule Whisky_Boundaries IN HydroBase_PostStep AFTER Con2Prim
+
+if (evolve_tracer)
+{
+ STORAGE:whisky_tracers[3]
+ STORAGE:whisky_cons_tracers[3]
+ STORAGE:whisky_tracer_rhs
+}
+
+if (outflow_boundaries)
+{
+ schedule Whisky_OutflowBoundaries IN HydroBase_PostStep BEFORE Whisky_Boundaries
+ {
+ LANG: Fortran
+ } "Outflow boundaries over only some of the domain"
+}
+
+# This should not be used anymore and should be removed after some time
+schedule group Do_Whisky_Boundaries IN HydroBase_Boundaries
+{
+} "Whisky Boundary conditions group"
+
+if (evolve_tracer)
+{
+ schedule Whisky_Boundaries IN HydroBase_Select_Boundaries
+ {
+ LANG: Fortran
+ OPTIONS: LEVEL
+ SYNC: dens
+ SYNC: tau
+ SYNC: scon
+ SYNC: w_lorentz
+ SYNC: HydroBase::rho
+ SYNC: HydroBase::press
+ SYNC: HydroBase::eps
+ SYNC: HydroBase::vel
+ SYNC: whisky_cons_tracers
+ SYNC: whisky_tracers
+ } "Select Whisky boundary conditions"
+} else
+{
+ schedule Whisky_Boundaries IN HydroBase_Select_Boundaries
+ {
+ LANG: Fortran
+ OPTIONS: LEVEL
+ SYNC: dens
+ SYNC: tau
+ SYNC: scon
+ SYNC: w_lorentz
+ SYNC: HydroBase::rho
+ SYNC: HydroBase::press
+ SYNC: HydroBase::eps
+ SYNC: HydroBase::vel
+ } "Select Whisky boundary conditions"
+}
+
+############################################################
+### Compute first differences of rho for mesh refinement ###
+############################################################
+
+# commented out (2006.08.22) since unused, for the time being
+#STORAGE:DiffRho
+
+#schedule Whisky_DiffRho IN HydroBase_PostStep AFTER Whisky_ApplyBCs
+#{
+# LANG: Fortran
+#} "Compute relative differences in rho"
+
+
+# older version
+# schedule Whisky_DiffRho AT POSTREGRID
+# {
+# LANG: Fortran
+# } "Compute relative differences in rho"
+
+################################################################
+### If a point has been marked as requiring resetting to the ###
+### atmosphere, this is where we do it. ###
+### ###
+### You didn't see this abuse of MoL. Nothing to see here, ###
+### move along. ###
+################################################################
+
+schedule Whisky_AtmosphereReset IN MoL_Evolution AFTER MoL_Step BEFORE HydroBase_Boundaries AFTER MoL_RestoreSandR
+{
+ LANG: Fortran
+} "Reset the atmosphere"
+
+schedule group HydroBase_Boundaries IN MoL_Evolution AFTER MoL_Step
+{
+} "HydroBase Boundary conditions group"
+
+} # end of if (CCTK_EQUALS(hydrobase::evolution_method, "whisky"))
+
+if (set_trivial_rp_grid_function)
+{
+ STORAGE: whisky_trivial_rp_gf_group
+}
+
+if (ppm_mppm_debug_eigenvalues)
+{
+ STORAGE: whisky_mppm_eigenvalues
+}
+
+if (compute_DCandMaxima)
+{
+ STORAGE: whisky_maxima_location
+ STORAGE: whisky_maxima_position
+ STORAGE: whisky_maxima_iteration
+ STORAGE: whisky_maxima_separation
+ STORAGE: maxrho_global
+
+ schedule Whisky_InitFindMaxima AT Initial
+ {
+ LANG:Fortran
+ OPTIONS: GLOBAL
+ } "Initialize the scalars for the routine that locates the maxima"
+
+
+ schedule Whisky_InitFindMaxima AT CCTK_POST_RECOVER_VARIABLES
+ {
+ LANG:Fortran
+ OPTIONS: GLOBAL
+ } "Initialize the scalars for the routine that locates the maxima"
+
+ schedule GROUP Whisky_DCAndMaxima AT POSTSTEP
+ {
+ STORAGE: whisky_maxima_location
+ STORAGE: whisky_maxima_position
+ STORAGE: whisky_maxima_separation
+ } "Find the maximum of the density and the star separation"
+
+ schedule GROUP Whisky_DCAndMaxima AT CCTK_POST_RECOVER_VARIABLES
+ {
+ STORAGE: whisky_maxima_location
+ STORAGE: whisky_maxima_position
+ STORAGE: whisky_maxima_separation
+ } "Find the maximum of the density and the star separation"
+
+ if (use_coord_maxima)
+ {
+
+ schedule Whisky_FindMaxima IN Whisky_DCAndMaxima
+ {
+ LANG: Fortran
+ OPTIONS: local
+ } "Use the maximum of the density to set the position of the center of the star"
+
+ }
+ else
+ {
+
+ schedule Whisky_FindWeightedMaxima IN Whisky_DCAndMaxima
+ {
+ LANG: Fortran
+ OPTIONS: local
+ } "Use the weighted maximum of the density to set the position used by DriftCorrect"
+
+ }
+
+ if (set_dc_centroid)
+ {
+ schedule Whisky_SetDCCentroid IN Whisky_DCAndMaxima AFTER Whisky_FindMaxima
+ {
+ LANG: Fortran
+ OPTIONS: GLOBAL
+ } "Set DriftCorrect"
+ }
+
+ if (compute_EqualMassStarSeparation)
+ {
+ schedule Whisky_FindSeparation IN Whisky_DCAndMaxima AFTER Whisky_FindMaxima
+ {
+ LANG: Fortran
+ OPTIONS: GLOBAL
+ TRIGGERS: whisky_maxima_position
+ TRIGGERS: whisky_maxima_separation
+ } "Find the separation of a binary NS from the maxima"
+ }
+}
+
+# Check that rho >= whisky_rho_min
+if (Check_Rho_Minimum)
+{
+ schedule Whisky_Check_Rho_Minimum AT ANALYSIS
+ {
+ LANG: Fortran
+ TRIGGERS: HydroBase::rho
+ TRIGGERS: HydroBase::press
+ TRIGGERS: HydroBase::eps
+ } "Check whether somewhere rho(i,j,k) < whisky_rho_min and produce a WARNING"
+
+ schedule Whisky_RefinementLevel AT ANALYSIS BEFORE Whisky_Check_Rho_Minimum
+ {
+ LANG: Fortran
+ TRIGGERS: HydroBase::rho
+ TRIGGERS: HydroBase::press
+ TRIGGERS: HydroBase::eps
+ } "Calculate current refinement level"
+}
+
+# set and check a mask containing the failures of C2P; if they occur at points overwritten by finer grids, they can be ignored.
+
+STORAGE: whisky_C2P_failed[1]
+
+schedule reset_whisky_C2P_failed AT BASEGRID
+{
+ LANG: Fortran
+} "Initialise the mask function that contains the points where C2P has failed (at BASEGRID)"
+
+schedule reset_whisky_C2P_failed AT CCTK_PRESTEP
+{
+ LANG: Fortran
+} "Reset the mask function that contains the points where C2P has failed (at PRESTEP)"
+
+schedule sync_whisky_C2P_failed AT CCTK_EVOL AFTER MoL_Evolution
+{
+ LANG: Fortran
+ SYNC: whisky_C2P_failed
+} "Syncronise the mask function that contains the points where C2P has failed"
+
+schedule check_whisky_C2P_failed AT CCTK_POSTSTEP AFTER Whisky_RefinementLevel
+{
+ LANG: Fortran
+} "Check the mask function that contains the points where C2P has failed and report an error in case a failure is found"
+
+schedule Whisky_Tmunu IN AddToTmunu
+{
+ LANG: Fortran
+} "Compute the energy-momentum tensor"
+
+#the following is necessary because TmunuBase does not have enough schedule
+
+schedule GROUP SetTmunu AT POSTRESTRICTINITIAL AFTER HydroBase_Con2Prim BEFORE ADMConstraintsGroup
+{
+} "Calculate the stress-energy tensor"
+
+schedule GROUP SetTmunu AT POSTPOSTINITIAL AFTER HydroBase_Con2Prim BEFORE ADMConstraintsGroup
+{
+} "Calculate the stress-energy tensor"
+
+schedule GROUP SetTmunu AT POST_RECOVER_VARIABLES
+{
+} "Calculate the stress-energy tensor"
+
+schedule GROUP SetTmunu IN MoL_Evolution AFTER ApplyBCs
+{
+} "Calculate the stress-energy tensor"
+
diff --git a/src/Utils.F90 b/src/Utils.F90
new file mode 100644
index 0000000..935a607
--- /dev/null
+++ b/src/Utils.F90
@@ -0,0 +1,174 @@
+ /*@@
+ @file Utils.F
+ @date Sat Jan 26 02:28:46 2002
+ @author
+ @desc
+ Utility functions for other thorns. Calculation of the determinant
+ of the spatial metric and the upper metric.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine Whisky_RefinementLevel
+ @date July 2005
+ @author
+ @desc
+ Calculates the current refinement level from flesh data
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+@@*/
+
+subroutine Whisky_RefinementLevel(CCTK_ARGUMENTS)
+
+ implicit none
+ DECLARE_CCTK_ARGUMENTS
+
+ whisky_reflevel = aint(log10(dble(cctk_levfac(1)))/log10(2.0d0))
+
+end subroutine Whisky_RefinementLevel
+
+
+ /*@@
+ @routine SpatialDeterminant
+ @date Sat Jan 26 02:30:23 2002
+ @author
+ @desc
+ Calculates the determinant of the spatial metric.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+@@*/
+
+subroutine SpatialDeterminant(gxx,gxy,gxz,gyy,gyz,gzz,det)
+
+ implicit none
+
+ CCTK_REAL :: det
+ CCTK_REAL :: gxx,gxy,gxz,gyy,gyz,gzz
+
+ det = -gxz**2*gyy + 2*gxy*gxz*gyz - gxx*gyz**2 - gxy**2*gzz + gxx*gyy*gzz
+
+
+!!$ Why is this weird order necessary? Search me. It just seemed
+!!$ to make a really odd NaN go away.
+
+!!$ det = -gxz**2*gyy + 2*gxy*gxz*gyz
+!!$ det = det - gxx*gyz**2 - gxy**2*gzz
+!!$ det = det + gxx*gyy*gzz
+
+ return
+
+end subroutine SpatialDeterminant
+
+
+
+/*@@
+@routine UpperMetric
+@date Sat Jan 26 02:32:26 2002
+@author
+@desc
+Calculates the upper metric. The determinant is given, not
+calculated.
+@enddesc
+@calls
+@calledby
+@history
+
+@endhistory
+@@*/
+
+subroutine UpperMetric(uxx, uxy, uxz, uyy, uyz, uzz, &
+ det, gxx, gxy, gxz, gyy, gyz, gzz)
+
+ implicit none
+
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det, &
+ gxx, gxy, gxz, gyy, gyz, gzz
+
+ uxx=(-gyz**2 + gyy*gzz)/det
+ uxy=(gxz*gyz - gxy*gzz)/det
+ uyy=(-gxz**2 + gxx*gzz)/det
+ uxz=(-gxz*gyy + gxy*gyz)/det
+ uyz=(gxy*gxz - gxx*gyz)/det
+ uzz=(-gxy**2 + gxx*gyy)/det
+
+ return
+
+end subroutine UpperMetric
+
+ /*@@
+ @routine SetMetricTemps
+ @date Wed Mar 23 10:01:08 2005
+ @author Ian Hawke
+ @desc
+ If using the new EOS store the metric determinant and inverse metric
+ to avoid repeated computation
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine SetMetricTemps(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k, nx, ny, nz
+ CCTK_REAL :: psi4pt
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),&
+ Whisky_det(i,j,k))
+ call UpperMetric(&
+ Whisky_uxx(i,j,k),Whisky_uxy(i,j,k),Whisky_uxz(i,j,k),&
+ Whisky_uyy(i,j,k),Whisky_uyz(i,j,k),Whisky_uzz(i,j,k),&
+ Whisky_det(i,j,k),&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),&
+ Whisky_det(i,j,k))
+ call UpperMetric(&
+ Whisky_uxx(i,j,k),Whisky_uxy(i,j,k),Whisky_uxz(i,j,k),&
+ Whisky_uyy(i,j,k),Whisky_uyz(i,j,k),Whisky_uzz(i,j,k),&
+ Whisky_det(i,j,k),&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ end if
+
+ end do
+ end do
+ end do
+
+end subroutine SetMetricTemps
+
diff --git a/src/Whisky_Boundaries.F90 b/src/Whisky_Boundaries.F90
new file mode 100644
index 0000000..7a0b280
--- /dev/null
+++ b/src/Whisky_Boundaries.F90
@@ -0,0 +1,326 @@
+ /*@@
+ @file Whisky_Boundaries.F90
+ @date Sat Jan 26 01:01:14 2002
+ @author
+ @desc
+ The two routines for dealing with boundary conditions.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+#include "util_Table.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+#define sx(i,j,k) scon(i,j,k,1)
+#define sy(i,j,k) scon(i,j,k,2)
+#define sz(i,j,k) scon(i,j,k,3)
+
+ /*@@
+ @routine Whisky_InitSymBound
+ @date Sat Jan 26 01:03:04 2002
+ @author Ian Hawke
+ @desc
+ Sets up the symmetries at the boundaries of the hydrodynamical variables.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Direct translation of routines from GR3D, GRAstro_Hydro,
+ written by Mark Miller, or WaveToy routines, or...
+ @endhistory
+
+@@*/
+
+subroutine Whisky_InitSymBound(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer, dimension(3) :: sym
+ integer :: ierr
+ integer :: itracer
+
+ character(len=100) tracername
+ character(len=100) tracerindex
+
+ sym(1) = 1
+ sym(2) = 1
+ sym(3) = 1
+
+ call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::rho")
+ call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::press")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::dens")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::tau")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::w_lorentz")
+ call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::eps")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::whisky_C2P_failed")
+
+!!$ handle multiple tracer variables
+ if(evolve_tracer.eq.1) then
+ call SetCartSymGN(ierr, cctkGH, sym, "Whisky::whisky_tracers")
+ call SetCartSymGN(ierr, cctkGH, sym, "Whisky::whisky_cons_tracers")
+ endif
+
+ sym(1) = -1
+ sym(2) = 1
+ sym(3) = 1
+
+ call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::vel[0]")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::scon[0]")
+
+ sym(1) = 1
+ sym(2) = -1
+ sym(3) = 1
+
+ call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::vel[1]")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::scon[1]")
+
+ sym(1) = 1
+ sym(2) = 1
+ sym(3) = -1
+
+ call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::vel[2]")
+ call SetCartSymVN(ierr, cctkGH, sym, "Whisky::scon[2]")
+
+end subroutine Whisky_InitSymBound
+
+ /*@@
+ @routine Whisky_Boundaries
+ @date Sat Jan 26 01:04:04 2002
+ @author
+ @desc
+ Calls the appropriate boundary routines
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_Boundaries(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer, dimension(3) :: sw
+ integer :: ierr
+ CCTK_REAL :: pi = 3.141569d0
+ integer :: i,j,k
+
+ CCTK_INT, parameter :: faces=CCTK_ALL_FACES
+ CCTK_INT, parameter :: ione=1
+
+ sw = Whisky_stencil
+
+!!$Flat boundaries if required
+
+ if (CCTK_EQUALS(bound,"flat")) then
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::dens", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::tau", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::scon", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::w_lorentz", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::rho", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::press", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::eps", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::vel", "Flat")
+
+ if(evolve_tracer .ne. 0) then
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::Whisky_tracers", "Flat")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::Whisky_cons_tracers", "Flat")
+ endif
+
+ endif
+
+ if (CCTK_EQUALS(bound,"none")) then
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::dens", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::tau", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::scon", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::w_lorentz", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::rho", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::press", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::eps", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "HydroBase::vel", "None")
+
+ if(evolve_tracer .ne. 0) then
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::Whisky_tracers", "None")
+ ierr = Boundary_SelectGroupForBC(cctkGH, faces, whisky_stencil, -ione, &
+ "Whisky::Whisky_cons_tracers", "None")
+ endif
+
+ end if
+
+ if (CCTK_EQUALS(bound,"scalar")) then
+ call CCTK_WARN(0, "Until somebody uses this I see no reason to support it")
+ end if
+
+ if (ierr < 0) call CCTK_WARN(0, "problems with applying the chosen boundary condition")
+
+end subroutine Whisky_Boundaries
+
+
+ /*@@
+ @routine Whisky_OutflowBoundaries
+ @date Tue May 17 16:58:06 2005
+ @author Ian Hawke
+ @desc
+ Set outflow boundaries over only part of the domain.
+ This is designed to be used with GZPatchSystem.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_OutflowBoundaries(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer, dimension(3) :: sw
+ integer :: ierr
+ integer :: i,j,k
+
+ CCTK_REAL, dimension(3) :: posn
+
+ CCTK_REAL :: det,psi4pt
+
+ sw = Whisky_stencil
+
+ if (r(1,1,1) < r(1,1,cctk_lsh(3))) then
+
+ if (cctk_bbox(6) .ne. 0) then
+
+ do k = cctk_lsh(3) - sw(3), cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ posn(1) = x(i,j,k)
+ posn(2) = y(i,j,k)
+ posn(3) = z(i,j,k)
+
+ if (dot_product(outflowboundary_normal, posn) > 0.d0) then
+
+ rho(i,j,k) = rho(i,j,k-1)
+ velx(i,j,k) = velx(i,j,k-1)
+ vely(i,j,k) = vely(i,j,k-1)
+ velz(i,j,k) = velz(i,j,k-1)
+ eps(i,j,k) = eps(i,j,k-1)
+ press(i,j,k) = press(i,j,k-1)
+ w_lorentz(i,j,k) = w_lorentz(i,j,k-1)
+
+ if (conformal_state .eq. 0) then
+ psi4pt = 1d0
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),&
+ psi4pt*gzz(i,j,k),det)
+ end if
+ call prim2con(whisky_eos_handle,psi4pt*gxx(i,j,k),&
+ psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end if
+
+ end do
+ end do
+ end do
+
+ end if
+
+ else
+
+ if (cctk_bbox(5) .ne. 0) then
+
+ do k = sw(3), 1, -1
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ posn(1) = x(i,j,k)
+ posn(2) = y(i,j,k)
+ posn(3) = z(i,j,k)
+
+ if (dot_product(outflowboundary_normal, posn) > 0.d0) then
+
+ rho(i,j,k) = rho(i,j,k+1)
+ velx(i,j,k) = velx(i,j,k+1)
+ vely(i,j,k) = vely(i,j,k+1)
+ velz(i,j,k) = velz(i,j,k+1)
+ eps(i,j,k) = eps(i,j,k+1)
+ press(i,j,k) = press(i,j,k+1)
+ w_lorentz(i,j,k) = w_lorentz(i,j,k+1)
+
+ if (conformal_state .eq. 0) then
+ psi4pt = 1d0
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),&
+ psi4pt*gzz(i,j,k),det)
+ end if
+ call prim2con(whisky_eos_handle,psi4pt*gxx(i,j,k),&
+ psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end if
+
+ end do
+ end do
+ end do
+
+ end if
+
+ end if
+
+end subroutine Whisky_OutflowBoundaries
+
+
+
diff --git a/src/Whisky_CalcUpdate.F90 b/src/Whisky_CalcUpdate.F90
new file mode 100644
index 0000000..e10866c
--- /dev/null
+++ b/src/Whisky_CalcUpdate.F90
@@ -0,0 +1,225 @@
+ /*@@
+ @file Whisky_CalcUpdate.F90
+ @date Thu Jan 11 11:03:32 2002
+ @author Ian Hawke
+ @desc
+ Calculates the update terms given the fluxes. Moved to here so that
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+#include "SpaceMask.h"
+
+ /*@@
+ @routine UpdateCalculation
+ @date Wed Feb 13 11:03:32 2002
+ @author Ian Hawke
+ @desc
+ Calculates the update terms from the fluxes.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Moved out of the Riemann solver routines to make the FishEye /
+ weighted flux calculation easier.
+ @endhistory
+
+@@*/
+
+
+subroutine UpdateCalculation(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i,j,k,itracer
+ CCTK_REAL :: idx, alp_l, alp_r
+
+ CCTK_INT :: type_bits, atmosphere, not_atmosphere
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere",&
+ "in_atmosphere")
+ call SpaceMask_GetStateBits(not_atmosphere, "Hydro_Atmosphere",&
+ "not_in_atmosphere")
+
+ idx = 1.d0 / CCTK_DELTA_SPACE(flux_direction)
+
+ if (CCTK_EQUALS(method_type, "RSA FV")) then
+
+ if (use_weighted_fluxes == 0) then
+
+ !$OMP PARALLEL DO PRIVATE(i,j,itracer,alp_l, alp_r)
+ do k = whisky_stencil + 1, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil + 1, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil + 1, cctk_lsh(1) - whisky_stencil
+
+ alp_l = 0.5d0 * (alp(i,j,k) + &
+ alp(i-xoffset,j-yoffset,k-zoffset))
+ alp_r = 0.5d0 * (alp(i,j,k) + &
+ alp(i+xoffset,j+yoffset,k+zoffset))
+
+ densrhs(i,j,k) = densrhs(i,j,k) + &
+ (alp_l * densflux(i-xoffset,j-yoffset,k-zoffset) - &
+ alp_r * densflux(i,j,k)) * idx
+ srhs(i,j,k,1) = srhs(i,j,k,1) + &
+ (alp_l * sxflux(i-xoffset,j-yoffset,k-zoffset) - &
+ alp_r * sxflux(i,j,k)) * idx
+ srhs(i,j,k,2) = srhs(i,j,k,2) + &
+ (alp_l * syflux(i-xoffset,j-yoffset,k-zoffset) - &
+ alp_r * syflux(i,j,k)) * idx
+ srhs(i,j,k,3) = srhs(i,j,k,3) + &
+ (alp_l * szflux(i-xoffset,j-yoffset,k-zoffset) - &
+ alp_r * szflux(i,j,k)) * idx
+ taurhs(i,j,k) = taurhs(i,j,k) + &
+ (alp_l * tauflux(i-xoffset,j-yoffset,k-zoffset) - &
+ alp_r * tauflux(i,j,k)) * idx
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ cons_tracerrhs(i,j,k,itracer) = cons_tracerrhs(i,j,k,itracer) + &
+ (alp_l * cons_tracerflux(i-xoffset,j-yoffset,k-zoffset,itracer) - &
+ alp_r * cons_tracerflux(i,j,k,itracer)) * idx
+ enddo
+!!$ if ( ((flux_direction.eq.3).and.(i.eq.4).and.(j.eq.4)).or.&
+!!$ ((flux_direction.eq.2).and.(i.eq.4).and.(k.eq.4)).or.&
+!!$ ((flux_direction.eq.1).and.(j.eq.4).and.(k.eq.4))&
+!!$ ) then
+!!$ write(*,*) flux_direction, i, j, k, cons_tracerrhs(i,j,k)
+!!$ end if
+
+ end if
+
+ if (wk_atmosphere .eq. 1) then
+
+ if ( (atmosphere_mask(i,j,k) .eq. 1) .or. &
+ (SpaceMask_CheckStateBitsF90(space_mask,i,j,k,type_bits,atmosphere)) ) then
+
+!!$ We are in the atmosphere so the momentum flux must vanish
+
+ srhs(i,j,k,:) = 0.d0
+
+ if ( ( (atmosphere_mask(i-1,j ,k ) .eq. 1) .and. &
+ (atmosphere_mask(i+1,j ,k ) .eq. 1) .and. &
+ (atmosphere_mask(i ,j-1,k ) .eq. 1) .and. &
+ (atmosphere_mask(i ,j+1,k ) .eq. 1) .and. &
+ (atmosphere_mask(i ,j ,k-1) .eq. 1) .and. &
+ (atmosphere_mask(i ,j ,k+1) .eq. 1) &
+ ) .or. &
+ ( (SpaceMask_CheckStateBitsF90(space_mask,i-1,j ,k ,type_bits,atmosphere)) .and. &
+ (SpaceMask_CheckStateBitsF90(space_mask,i+1,j ,k ,type_bits,atmosphere)) .and. &
+ (SpaceMask_CheckStateBitsF90(space_mask,i ,j-1,k ,type_bits,atmosphere)) .and. &
+ (SpaceMask_CheckStateBitsF90(space_mask,i ,j+1,k ,type_bits,atmosphere)) .and. &
+ (SpaceMask_CheckStateBitsF90(space_mask,i ,j ,k-1,type_bits,atmosphere)) .and. &
+ (SpaceMask_CheckStateBitsF90(space_mask,i ,j ,k+1,type_bits,atmosphere)) &
+ ) &
+ ) then
+
+!!$ All neighbours are also atmosphere so all rhs vanish
+
+ densrhs(i,j,k) = 0.d0
+ taurhs(i,j,k) = 0.d0
+
+ end if
+ end if
+
+ end if
+
+ enddo
+ enddo
+ enddo
+ !$OMP END PARALLEL DO
+
+ else
+
+ call CCTK_WARN(0, "Not supported")
+
+!!$ do k = whisky_stencil + 1, cctk_lsh(3) - whisky_stencil
+!!$ do j = whisky_stencil + 1, cctk_lsh(2) - whisky_stencil
+!!$ do i = whisky_stencil + 1, cctk_lsh(1) - whisky_stencil
+!!$
+!!$ alp_l = 0.5d0 * (alp(i,j,k) + &
+!!$ alp(i-xoffset,j-yoffset,k-zoffset))
+!!$ alp_r = 0.5d0 * (alp(i,j,k) + &
+!!$ alp(i+xoffset,j+yoffset,k+zoffset))
+!!$
+!!$ densrhs(i,j,k) = densrhs(i,j,k) + &
+!!$ (alp_l * &
+!!$ &cell_surface(i-xoffset,j-yoffset,k-zoffset,flux_direction) * &
+!!$ &densflux(i-xoffset,j-yoffset,k-zoffset) - &
+!!$ alp_r * &
+!!$ &cell_surface(i,j,k,flux_direction) * &
+!!$ &densflux(i,j,k)) * idx / cell_volume(i,j,k)
+!!$ sxrhs(i,j,k) = sxrhs(i,j,k) + &
+!!$ (alp_l * &
+!!$ &cell_surface(i-xoffset,j-yoffset,k-zoffset,flux_direction) * &
+!!$ &sxflux(i-xoffset,j-yoffset,k-zoffset) - &
+!!$ alp_r * &
+!!$ &cell_surface(i,j,k,flux_direction) * &
+!!$ &sxflux(i,j,k)) * idx / cell_volume(i,j,k)
+!!$ syrhs(i,j,k) = syrhs(i,j,k) + &
+!!$ (alp_l * &
+!!$ &cell_surface(i-xoffset,j-yoffset,k-zoffset,flux_direction) * &
+!!$ &syflux(i-xoffset,j-yoffset,k-zoffset) - &
+!!$ alp_r * &
+!!$ &cell_surface(i,j,k,flux_direction) * &
+!!$ &syflux(i,j,k)) * idx / cell_volume(i,j,k)
+!!$ szrhs(i,j,k) = szrhs(i,j,k) + &
+!!$ (alp_l * &
+!!$ &cell_surface(i-xoffset,j-yoffset,k-zoffset,flux_direction) * &
+!!$ &szflux(i-xoffset,j-yoffset,k-zoffset) - &
+!!$ alp_r * &
+!!$ &cell_surface(i,j,k,flux_direction) * &
+!!$ &szflux(i,j,k)) * idx / cell_volume(i,j,k)
+!!$ taurhs(i,j,k) = taurhs(i,j,k) + &
+!!$ (alp_l * &
+!!$ &cell_surface(i-xoffset,j-yoffset,k-zoffset,flux_direction) * &
+!!$ &tauflux(i-xoffset,j-yoffset,k-zoffset) - &
+!!$ alp_r * &
+!!$ &cell_surface(i,j,k,flux_direction) * &
+!!$ &tauflux(i,j,k)) * idx / cell_volume(i,j,k)
+!!$
+!!$ enddo
+!!$ enddo
+!!$ enddo
+
+ end if
+
+ else if (CCTK_EQUALS(method_type, "Flux split FD")) then
+
+ do k = whisky_stencil + 1, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil + 1, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil + 1, cctk_lsh(1) - whisky_stencil
+
+ densrhs(i,j,k) = densrhs(i,j,k) + &
+ (densflux(i-xoffset,j-yoffset,k-zoffset) - &
+ densflux(i,j,k)) * idx
+ srhs(i,j,k,1) = srhs(i,j,k,1) + &
+ (sxflux(i-xoffset,j-yoffset,k-zoffset) - &
+ sxflux(i,j,k)) * idx
+ srhs(i,j,k,2) = srhs(i,j,k,2) + &
+ (syflux(i-xoffset,j-yoffset,k-zoffset) - &
+ syflux(i,j,k)) * idx
+ srhs(i,j,k,3) = srhs(i,j,k,3) + &
+ (szflux(i-xoffset,j-yoffset,k-zoffset) - &
+ szflux(i,j,k)) * idx
+ taurhs(i,j,k) = taurhs(i,j,k) + &
+ (tauflux(i-xoffset,j-yoffset,k-zoffset) - &
+ tauflux(i,j,k)) * idx
+
+ enddo
+ enddo
+ enddo
+
+ end if
+
+ return
+
+end subroutine UpdateCalculation
+
diff --git a/src/Whisky_CarpetWeights.cc b/src/Whisky_CarpetWeights.cc
new file mode 100644
index 0000000..8afdd12
--- /dev/null
+++ b/src/Whisky_CarpetWeights.cc
@@ -0,0 +1,66 @@
+ /*@@
+ @file Whisky_CarpetWeights.cc
+ @date Wed Aug 20 23:08:28 2008
+ @author Luca Baiotti
+ @desc
+ Copy the variable CarpetReduce::weight in a Whisky variable.
+ Written with the help of Thomas.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include "SpaceMask.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+ /* Scheduled functions */
+ void Whisky_CarpetWeights(CCTK_ARGUMENTS);
+
+#ifdef __cplusplus
+ } /* extern "C" */
+#endif
+
+
+void Whisky_CarpetWeights(CCTK_ARGUMENTS)
+{
+
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ int i;
+
+ // Define the variable we will use in Con2Prim (F90) as a pointer to itself
+ Whisky_CarpetWeights = (CCTK_REAL *)(CCTK_VarDataPtr(cctkGH,0,"Whisky::Whisky_CarpetWeights"));
+
+
+ if (CCTK_IsThornActive("CarpetReduce")!=0){
+ // If we use Carpet then obtain a pointer to rhe carpet variable. This will be CarpetWeights
+ const CCTK_REAL *CarpetWeights = (CCTK_REAL *)(CCTK_VarDataPtr(cctkGH,0,"CarpetReduce::weight"));
+ // Then assign the values of the carpet variable to the whisky variable
+ for (i=0; i < cctk_lsh[0]*cctk_lsh[1]*cctk_lsh[2]; i++)
+ {
+ Whisky_CarpetWeights[i] = CarpetWeights[i];
+ //printf("%13.12e\n",Whisky_CarpetWeights[i]);
+ }
+ }
+ else{
+ // Then assign the values of the carpet variable to the whisky variable
+ CCTK_INFO("We are not using Carpet, so I set Whisky_CarpetWeights equal to 1");
+ for (i=0; i < cctk_lsh[0]*cctk_lsh[1]*cctk_lsh[2]; i++)
+ {
+ Whisky_CarpetWeights[i] = 1; //if we do not use Carpet then we set this variable to be equal to 1
+ //printf("%13.12e\n",Whisky_CarpetWeights[i]);
+ }
+ }
+
+ return;
+}
diff --git a/src/Whisky_Con2Prim.F90 b/src/Whisky_Con2Prim.F90
new file mode 100644
index 0000000..541c431
--- /dev/null
+++ b/src/Whisky_Con2Prim.F90
@@ -0,0 +1,1987 @@
+/*@@
+ @file Whisky_RegisterVars.c
+ @date Sat Jan 26 01:06:01 2002
+ @author The Whisky Developers
+ @desc
+ The routines for converting conservative to primitive variables.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+#include "SpaceMask.h"
+
+module Con2Prim_fortran_interfaces
+ implicit none
+
+ interface
+
+ subroutine Con2Prim_pt(handle, &
+ dens, &
+ sx, sy, sz, &
+ tau, &
+ rho, &
+ velx, vely, velz, &
+ epsilon, press, &
+ w_lorentz, &
+ uxx, uxy, uxz, &
+ uyy, uyz, uzz, &
+ det, &
+ x, y, z, r, &
+ epsnegative, &
+ whisky_rho_min, pmin, &
+ whisky_reflevel, whisky_C2P_failed)
+
+ implicit none
+ CCTK_INT handle
+ CCTK_REAL dens
+ CCTK_REAL sx, sy, sz
+ CCTK_REAL tau
+ CCTK_REAL rho
+ CCTK_REAL velx, vely, velz
+ CCTK_REAL epsilon, press
+ CCTK_REAL w_lorentz
+ CCTK_REAL uxx, uxy, uxz
+ CCTK_REAL uyy, uyz, uzz
+ CCTK_REAL det
+ CCTK_REAL x, y, z, r
+ logical epsnegative
+ CCTK_REAL whisky_rho_min, pmin
+ CCTK_INT whisky_reflevel
+ CCTK_REAL whisky_C2P_failed
+ end subroutine Con2Prim_pt
+
+ subroutine Con2Prim_ptPolytype(whisky_polytrope_handle, &
+ dens, &
+ sx, sy, sz, &
+ tau, &
+ rho, &
+ velx, vely, velz, &
+ eps, press, &
+ w_lorentz, &
+ uxx, uxy, uxz, uyy, uyz, uzz, &
+ det, &
+ x, y, z, r, &
+ whisky_rho_min, &
+ whisky_reflevel, whisky_C2P_failed)
+
+ implicit none
+ CCTK_INT whisky_polytrope_handle
+ CCTK_REAL dens
+ CCTK_REAL sx, sy, sz
+ CCTK_REAL tau
+ CCTK_REAL rho
+ CCTK_REAL velx, vely, velz
+ CCTK_REAL eps, press
+ CCTK_REAL w_lorentz
+ CCTK_REAL uxx, uxy, uxz
+ CCTK_REAL uyy, uyz, uzz
+ CCTK_REAL det
+ CCTK_REAL x, y, z, r
+ CCTK_REAL whisky_rho_min
+ CCTK_INT whisky_reflevel
+ CCTK_REAL whisky_C2P_failed
+ end subroutine Con2Prim_ptPolytype
+
+ subroutine Con2Prim_ptTracer(cons_tracer, tracer, dens)
+ implicit none
+ CCTK_REAL cons_tracer, tracer, dens
+ end subroutine Con2Prim_ptTracer
+
+ subroutine Con2Prim_ptBoundsTracer(cons_tracer, tracer, rho, one_over_w_lorentz, det)
+ implicit none
+ CCTK_REAL cons_tracer, tracer, rho, one_over_w_lorentz, det
+ end subroutine Con2Prim_ptBoundsTracer
+
+ end interface
+
+end module Con2Prim_fortran_interfaces
+
+
+
+ /*@@
+ @routine Conservative2Primitive
+ @date Sat Jan 26 01:08:33 2002
+ @author Ian Hawke
+ @desc
+ Wrapper routine that converts from conserved to primitive variables
+ at every grid cell centre.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Trimmed and altered from the GR3D routines, original author Mark Miller.
+ 2007?: Bruno escluded the points in the atmosphere and excision region from the computation.
+ Aug. 2008: Luca added a check on whether a failure at a given point may be disregarded, because that point will then be restricted from a finer level.
+ This should be completely safe only if *regridding happens at times when all levels are evolved.*
+ Feb. 2009: The above procedure proved to be wrong, so Luca implemented another one. When a failure occurs, it is temporarily ignored, except for storing
+ the location of where it occured in a mask. At the end, after a Carpet restriction, the mask is checked and if it still contains failures, the run is
+ aborted with an error message. Only used routines have been updated to use this procedure.
+ @endhistory
+
+@@*/
+
+subroutine Conservative2Primitive(CCTK_ARGUMENTS)
+
+ use Con2Prim_fortran_interfaces
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ integer :: i, j, k, itracer, nx, ny, nz
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det, psi4pt, pmin, enthalpy
+ logical :: epsnegative
+! character(len=100) warnline
+
+ CCTK_INT :: type_bits, atmosphere
+ CCTK_INT :: type2_bits, excised
+
+ CCTK_REAL :: local_min_tracer
+
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ type2_bits = -1
+ excised = -1
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+ pmin=EOS_Pressure(whisky_polytrope_handle, whisky_rho_min, 1.0d0)
+!!$ do k = whisky_stencil + 1, nz - whisky_stencil
+!!$ do j = whisky_stencil + 1, ny - whisky_stencil
+!!$ do i = whisky_stencil + 1, nx - whisky_stencil
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ epsnegative = .false.
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ end if
+
+!!$ if (det < 0.e0) then
+!!$ call CCTK_WARN(0, "nan produced (det negative)")
+!!$ end if
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), tracer(i,j,k,itracer), &
+ dens(i,j,k))
+
+ if (use_min_tracer .ne. 0) then
+ if (tracer(i,j,k,itracer) .le. local_min_tracer) then
+ tracer(i,j,k,itracer) = local_min_tracer
+ end if
+ end if
+
+ enddo
+
+ endif
+
+! if (rhonew .le. whisky_rho_min*(1.d0+whisky_atmo_tolerance) ) then
+! if ( (rhonew .le. whisky_rho_min*(1.d0+whisky_atmo_tolerance) ).or.(dens .le. 0.0) ) then
+ if ( dens(i,j,k) .le. sqrt(det)*whisky_rho_min*(1.d0+whisky_atmo_tolerance) ) then
+
+ dens(i,j,k) = sqrt(det)*whisky_rho_min !/(1.d0+whisky_atmo_tolerance)
+ rho(i,j,k) = whisky_rho_min
+
+ scon(i,j,k,:) = 0.d0
+ vel(i,j,k,:) = 0.d0
+ w_lorentz(i,j,k) = 1.d0
+
+ press(i,j,k) = EOS_Pressure(whisky_polytrope_handle, rho(i,j,k), eps(i,j,k))
+
+ eps(i,j,k) = EOS_SpecificIntEnergy(whisky_polytrope_handle, rho(i,j,k), press(i,j,k))
+
+ enthalpy = 1.d0 + eps(i,j,k) + press(i,j,k) / rho(i,j,k)
+
+ tau(i,j,k) = sqrt(det) * ((rho(i,j,k) * enthalpy) - press(i,j,k)) - dens(i,j,k)
+
+ cycle
+
+ end if
+
+
+ call Con2Prim_pt(whisky_eos_handle, dens(i,j,k),scon(i,j,k,1),scon(i,j,k,2), &
+ scon(i,j,k,3),tau(i,j,k),rho(i,j,k),vel(i,j,k,1),vel(i,j,k,2), &
+ vel(i,j,k,3),eps(i,j,k),press(i,j,k),w_lorentz(i,j,k), &
+ uxx,uxy,uxz,uyy,uyz,uzz,det,x(i,j,k),y(i,j,k), &
+ z(i,j,k),r(i,j,k),epsnegative,whisky_rho_min,pmin, whisky_reflevel, whisky_C2P_failed(i,j,k))
+
+
+ if (epsnegative) then
+
+ call Con2Prim_ptPolytype(whisky_polytrope_handle, &
+ dens(i,j,k), scon(i,j,k,1), scon(i,j,k,2), scon(i,j,k,3), &
+ tau(i,j,k), rho(i,j,k), vel(i,j,k,1), vel(i,j,k,2), &
+ vel(i,j,k,3), eps(i,j,k), press(i,j,k), w_lorentz(i,j,k), &
+ uxx, uxy, uxz, uyy, uyz, uzz, det, x(i,j,k), y(i,j,k), &
+ z(i,j,k), r(i,j,k),whisky_rho_min, whisky_reflevel, whisky_C2P_failed(i,j,k))
+
+ end if
+
+ if (eps(i,j,k) .lt. 0.0d0) whisky_C2P_failed(i,j,k) = 1
+
+ end do
+ end do
+ end do
+
+ return
+
+end subroutine Conservative2Primitive
+
+/*@@
+@routine Con2Prim_pt
+@date Sat Jan 26 01:09:39 2002
+@author The Whisky Develpoers
+@desc
+Given all the appropriate data, recover the primitive variables at
+a single point.
+@enddesc
+ @calls
+@calledby
+@history
+@endhistory
+
+@@*/
+
+subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, &
+ velz, epsilon, press, w_lorentz, uxx, uxy, uxz, uyy, &
+ uyz, uzz, det, x, y, z, r, epsnegative, whisky_rho_min, pmin, whisky_reflevel, whisky_C2P_failed)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL dens, sx, sy, sz, tau, rho, velx, vely, velz, epsilon, &
+ press, uxx, uxy, uxz, uyy, uyz, uzz, det, w_lorentz, x, &
+ y, z, r, whisky_rho_min
+
+ CCTK_REAL s2, c0, c1, c2, c3, c4, f, df, ftol, v2, w, vlowx, vlowy, vlowz
+ CCTK_INT count, i, handle, whisky_reflevel, whisky_C2P_failed
+ CCTK_REAL udens, usx, usy, usz, utau, pold, pnew, epsold, epsnew, w2, &
+ w2mhalf, temp1, drhobydpress, depsbydpress, dpressbydeps, dpressbydrho, pmin
+ character(len=200) warnline
+ logical epsnegative
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+!!$ Undensitize the variables
+
+ udens = dens /sqrt(det)
+ usx = sx /sqrt(det)
+ usy = sy /sqrt(det)
+ usz = sz /sqrt(det)
+ utau = tau /sqrt(det)
+ s2 = usx*usx*uxx + usy*usy*uyy + usz*usz*uzz + 2.*usx*usy*uxy + &
+ 2.*usx*usz*uxz + 2.*usy*usz*uyz
+
+!!$ Set initial guess for pressure:
+
+ pold = max(1.d-10,EOS_Pressure(handle, rho, epsilon))
+
+!!$ Check that the variables have a chance of being physical
+
+ if( (utau + pold + udens)**2 - s2 .le. 0.0d0) then
+
+ if (c2p_reset_pressure .ne. 0) then !but also rho, w_lorentz and epsilon become NaNs: why are they not reset?
+ pold = sqrt(s2 + 1.d-10) - utau - udens
+ else
+ whisky_C2P_failed = 1
+ endif
+
+ endif
+
+!!$ Calculate rho and epsilon
+
+!define temporary variables to speed up
+
+ rho = udens * sqrt( (utau + pold + udens)**2 - s2)/(utau + pold + udens)
+ w_lorentz = (utau + pold + udens) / sqrt( (utau + pold + udens)**2 - s2)
+ epsilon = (sqrt( (utau + pold + udens)**2 - s2) - pold * w_lorentz - &
+ udens)/udens
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (rho .ne. rho) then
+ write(warnline,'(a70,7g15.6)') 'NaN produced in sqrt(): (utau, pold, udens, s2, x, y, z)', utau, pold, udens, s2, x, y, z
+ call CCTK_WARN(Whisky_NaN_verbose, warnline)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+!!$ Calculate the function
+
+ f = pold - EOS_Pressure(handle, rho, epsilon)
+
+!!$Find the root
+
+ count = 0
+ pnew = pold
+ do while ( ((abs(pnew - pold)/abs(pnew) .gt. whisky_perc_ptol) .and. &
+ (abs(pnew - pold) .gt. whisky_del_ptol)) .or. &
+ (count .lt. whisky_countmin))
+ count = count + 1
+
+ if (count > whisky_countmax) then
+ whisky_C2P_failed = 1
+ goto 51
+ end if
+
+ dpressbydrho = EOS_DPressByDRho(handle,rho,epsilon)
+ dpressbydeps = EOS_DPressByDEps(handle,rho,epsilon)
+ temp1 = (utau+udens+pnew)**2 - s2
+ drhobydpress = udens * s2 / (sqrt(temp1)*(udens+utau+pnew)**2)
+ depsbydpress = pnew * s2 / (rho * (udens + utau + pnew) * temp1)
+ df = 1.0d0 - dpressbydrho*drhobydpress - &
+ dpressbydeps*depsbydpress
+
+ pold = pnew
+ pnew = max(pold - f/df, pmin)
+
+!!$ Recalculate primitive variables and function
+
+ rho = udens * sqrt( (utau + pnew + udens)**2 - s2)/(utau + pnew + udens)
+ w_lorentz = (utau + pnew + udens) / sqrt( (utau + pnew + udens)**2 - &
+ s2)
+ epsilon = (sqrt( (utau + pnew + udens)**2 - s2) - pnew * w_lorentz - &
+ udens)/udens
+
+ f = pnew - EOS_Pressure(handle, rho, epsilon)
+
+
+ enddo
+
+!!$ Polish the root
+
+ do i=1,whisky_polish
+
+ dpressbydrho = EOS_DPressByDRho(handle,rho,epsilon)
+ dpressbydeps = EOS_DPressByDEps(handle,rho,epsilon)
+ temp1 = (utau+udens+pnew)**2 - s2
+ drhobydpress = udens * s2 / (sqrt(temp1)*(udens+utau+pnew)**2)
+ depsbydpress = pnew * s2 / (rho * (udens + utau + pnew) * temp1)
+ df = 1.0d0 - dpressbydrho*drhobydpress - &
+ dpressbydeps*depsbydpress
+ pold = pnew
+ pnew = pold - f/df
+
+!!$ Recalculate primitive variables and function
+
+ rho = udens * sqrt( (utau + pnew + udens)**2 - s2)/(utau + pnew + udens)
+ w_lorentz = (utau + pnew + udens) / sqrt( (utau + pnew + udens)**2 - &
+ s2)
+ epsilon = (sqrt( (utau + pnew + udens)**2 - s2) - pnew * w_lorentz - &
+ udens)/udens
+
+ f = pold - EOS_Pressure(handle, rho, epsilon)
+
+ enddo
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (rho .ne. rho) then
+ write(warnline,'(a70,7g15.6)') 'NaN produced in sqrt(): (utau, pold, udens, s2, x, y, z)', utau, pold, udens, s2, x, y, z
+ call CCTK_WARN(Whisky_NaN_verbose, warnline)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+!!$ Calculate primitive variables from root
+
+ if (rho .le. whisky_rho_min*(1.d0+whisky_atmo_tolerance) ) then
+ rho = whisky_rho_min
+ udens = rho
+ dens = sqrt(det) * rho
+ epsilon = (sqrt( (utau + pnew + udens)**2) - pnew - &
+ udens)/udens
+ sx = 0.d0
+ sy = 0.d0
+ sz = 0.d0
+ s2 = 0.d0
+ usx = 0.d0
+ usy = 0.d0
+ usz = 0.d0
+ w_lorentz = 1.d0
+ end if
+
+51 press = pnew
+ vlowx = usx / ( (rho + rho*epsilon + press) * w_lorentz**2)
+ vlowy = usy / ( (rho + rho*epsilon + press) * w_lorentz**2)
+ vlowz = usz / ( (rho + rho*epsilon + press) * w_lorentz**2)
+ velx = uxx * vlowx + uxy * vlowy + uxz * vlowz
+ vely = uxy * vlowx + uyy * vlowy + uyz * vlowz
+ velz = uxz * vlowx + uyz * vlowy + uzz * vlowz
+
+!!$If all else fails, use the polytropic EoS
+
+ if(epsilon .lt. 0.0d0) then
+ epsnegative = .true.
+ endif
+
+end subroutine Con2Prim_pt
+
+ /*@@
+ @routine Conservative2PrimitiveBoundaries
+ @date Tue Mar 12 18:04:40 2002
+ @author The Whisky Developers
+ @desc
+ This routine is used only if the reconstruction is performed on the conserved variables.
+ It computes the primitive variables on cell boundaries.
+ Since reconstruction on conservative had not proved to be very successful,
+ some of the improvements to the C2P routines (e.g. the check about
+ whether a failure happens in a point that will be restriced anyway) are not implemented here yet.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Conservative2PrimitiveBounds(CCTK_ARGUMENTS)
+
+ use Con2Prim_fortran_interfaces
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k, itracer, nx, ny, nz
+ CCTK_REAL :: uxxl, uxyl, uxzl, uyyl, uyzl, uzzl,&
+ uxxr, uxyr, uxzr, uyyr, uyzr, uzzr, pmin
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4r,psi4l
+ logical :: epsnegative
+ character(len=100) warnline
+
+ CCTK_INT :: type_bits, atmosphere
+ CCTK_INT :: type2_bits, excised
+
+ CCTK_REAL :: local_min_tracer
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ pmin=EOS_Pressure(whisky_polytrope_handle, whisky_rho_min, 1.0d0)
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ type2_bits = -1
+ excised = -1
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ do i = whisky_stencil, nx - whisky_stencil + 1
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ epsnegative = .false.
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+ call UpperMetric(uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ gxxl,gxyl,gxzl,gyyl,gyzl,gzzl)
+ call UpperMetric(uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr)
+ else
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+
+ call SpatialDeterminant(psi4l*gxxl,psi4l*gxyl,psi4l*gxzl,&
+ psi4l*gyyl,psi4l*gyzl,psi4l*gzzl,avg_detl)
+ call SpatialDeterminant(psi4r*gxxr,psi4r*gxyr,psi4r*gxzr,&
+ psi4r*gyyr,psi4r*gyzr,psi4r*gzzr,avg_detr)
+ call UpperMetric(uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ psi4l*gxxl,psi4l*gxyl,psi4l*gxzl,psi4l*gyyl,psi4l*gyzl,&
+ psi4l*gzzl)
+ call UpperMetric(uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ psi4r*gxxr,psi4r*gxyr,psi4r*gxzr,psi4r*gyyr,psi4r*gyzr,&
+ psi4r*gzzr)
+ end if
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), &
+ tracer(i,j,k,itracer), dens(i,j,k))
+ enddo
+
+ if (use_min_tracer .ne. 0) then
+ if (tracer(i,j,k,itracer) .le. local_min_tracer) then
+ tracer(i,j,k,itracer) = local_min_tracer
+ end if
+ end if
+
+ endif
+
+ call Con2Prim_pt(whisky_eos_handle, densminus(i,j,k),&
+ sxminus(i,j,k),syminus(i,j,k),szminus(i,j,k),&
+ tauminus(i,j,k),rhominus(i,j,k),velxminus(i,j,k),&
+ velyminus(i,j,k),velzminus(i,j,k),epsminus(i,j,k),&
+ pressminus(i,j,k),w_lorentzminus(i,j,k),&
+ uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ x(i,j,k)-0.5d0*CCTK_DELTA_SPACE(1),&
+ y(i,j,k)-0.5d0*CCTK_DELTA_SPACE(2), &
+ z(i,j,k)-0.5d0*CCTK_DELTA_SPACE(3),r(i,j,k),&
+ epsnegative,whisky_rho_min,pmin, whisky_reflevel, whisky_C2P_failed(i,j,k))
+ if (epsnegative) then
+ call Con2Prim_ptPolytype(whisky_polytrope_handle, densminus(i,j,k),&
+ sxminus(i,j,k),syminus(i,j,k),szminus(i,j,k),&
+ tauminus(i,j,k),rhominus(i,j,k),velxminus(i,j,k),&
+ velyminus(i,j,k),velzminus(i,j,k),epsminus(i,j,k),&
+ pressminus(i,j,k),w_lorentzminus(i,j,k),&
+ uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ x(i,j,k)-0.5d0*CCTK_DELTA_SPACE(1),&
+ y(i,j,k)-0.5d0*CCTK_DELTA_SPACE(2), &
+ z(i,j,k)-0.5d0*CCTK_DELTA_SPACE(3),r(i,j,k),whisky_rho_min, whisky_reflevel, whisky_C2P_failed(i,j,k))
+ end if
+
+ if (epsminus(i,j,k) .lt. 0.0d0) then
+ if (whisky_reflevel.ge.whisky_c2p_warn_from_reflevel) then
+ call CCTK_WARN(1,'Con2Prim: stopping the code.')
+ call CCTK_WARN(1, ' specific internal energy just went below 0! ')
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'xyz location: ',&
+ x(i,j,k),y(i,j,k),z(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,g16.7)') 'radius: ',r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'velocities: ',&
+ velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k)
+ call CCTK_WARN(1,warnline)
+ call CCTK_WARN(whisky_c2p_warnlevel, "Specific internal energy negative")
+ exit
+ endif
+ endif
+
+ epsnegative = .false.
+ call Con2Prim_pt(whisky_eos_handle, densplus(i,j,k),&
+ sxplus(i,j,k),syplus(i,j,k),szplus(i,j,k),&
+ tauplus(i,j,k),rhoplus(i,j,k),velxplus(i,j,k),&
+ velyplus(i,j,k),velzplus(i,j,k),epsplus(i,j,k),&
+ pressplus(i,j,k),w_lorentzplus(i,j,k),&
+ uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ x(i,j,k)+0.5d0*CCTK_DELTA_SPACE(1),&
+ y(i,j,k)+0.5d0*CCTK_DELTA_SPACE(2), &
+ z(i,j,k)+0.5d0*CCTK_DELTA_SPACE(3),r(i,j,k),&
+ epsnegative,whisky_rho_min,pmin, whisky_reflevel,whisky_C2P_failed(i,j,k))
+ if (epsnegative) then
+ call Con2Prim_ptPolytype(whisky_polytrope_handle, densplus(i,j,k),&
+ sxplus(i,j,k),syplus(i,j,k),szplus(i,j,k),&
+ tauplus(i,j,k),rhoplus(i,j,k),velxplus(i,j,k),&
+ velyplus(i,j,k),velzplus(i,j,k),epsplus(i,j,k),&
+ pressplus(i,j,k),w_lorentzplus(i,j,k),&
+ uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ x(i,j,k)+0.5d0*CCTK_DELTA_SPACE(1),&
+ y(i,j,k)+0.5d0*CCTK_DELTA_SPACE(2), &
+ z(i,j,k)+0.5d0*CCTK_DELTA_SPACE(3),r(i,j,k),whisky_rho_min, whisky_reflevel, whisky_C2P_failed(i,j,k))
+ end if
+
+ if (epsplus(i,j,k) .lt. 0.0d0) then
+ if (whisky_reflevel.ge.whisky_c2p_warn_from_reflevel) then
+ call CCTK_WARN(1,'Con2Prim: stopping the code.')
+ call CCTK_WARN(1, ' specific internal energy just went below 0! ')
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'xyz location: ',&
+ x(i,j,k),y(i,j,k),z(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,g16.7)') 'radius: ',r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'velocities: ',&
+ velxplus(i,j,k),velyplus(i,j,k),velzplus(i,j,k)
+ call CCTK_WARN(1,warnline)
+ call CCTK_WARN(whisky_c2p_warnlevel, "Specific internal energy negative")
+ write(warnline,'(a25,4g15.6)') 'coordinates: x,y,z,r:',&
+ x(i,j,k),y(i,j,k),z(i,j,k),r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ endif
+ endif
+
+ end do
+ end do
+ end do
+
+end subroutine Conservative2PrimitiveBounds
+
+
+ /*@@
+ @routine Con2PrimPolytype
+ @date Tue Mar 19 11:43:06 2002
+ @author Ian Hawke
+ @desc
+ All routines below are identical to those above, just
+ specialised from polytropic type EOS.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Conservative2PrimitivePolytype(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k, itracer, nx, ny, nz
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det, psi4pt
+
+ CCTK_INT :: type_bits, atmosphere
+ CCTK_INT :: type2_bits, excised
+
+ CCTK_REAL :: local_min_tracer
+! character(len=400) :: warnline
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ type2_bits = -1
+ excised = -1
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+!!$ do k = whisky_stencil + 1, nz - whisky_stencil
+!!$ do j = whisky_stencil + 1, ny - whisky_stencil
+!!$ do i = whisky_stencil + 1, nx - whisky_stencil
+ !$OMP PARALLEL DO PRIVATE(i,j,itracer,&
+ !$OMP uxx, uxy, uxz, uyy, uyz, uzz, det, psi4pt)
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ !or in an excised region
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ end if
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), &
+ tracer(i,j,k,itracer), dens(i,j,k))
+ enddo
+
+ if (use_min_tracer .ne. 0) then
+ if (tracer(i,j,k,itracer) .le. local_min_tracer) then
+ tracer(i,j,k,itracer) = local_min_tracer
+ end if
+ end if
+
+ endif
+
+ call Con2Prim_ptPolytype(whisky_eos_handle, dens(i,j,k),&
+ scon(i,j,k,1),scon(i,j,k,2), &
+ scon(i,j,k,3),tau(i,j,k),rho(i,j,k),vel(i,j,k,1),vel(i,j,k,2), &
+ vel(i,j,k,3),eps(i,j,k),press(i,j,k),w_lorentz(i,j,k), &
+ uxx,uxy,uxz,uyy,uyz,uzz,det,x(i,j,k),y(i,j,k), &
+ z(i,j,k),r(i,j,k),whisky_rho_min, whisky_reflevel, whisky_C2P_failed(i,j,k))
+
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+end subroutine Conservative2PrimitivePolytype
+
+
+/*@@
+@routine Con2Prim_ptPolytype
+@date Sat Jan 26 01:09:39 2002
+@author The Whisky Developers
+@desc
+Given all the appropriate data, recover the primitive variables at
+a single point.
+@enddesc
+ @calls
+@calledby
+@history
+
+@endhistory
+
+@@*/
+
+subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, &
+ velx, vely, velz, epsilon, press, w_lorentz, uxx, uxy, uxz, uyy, &
+ uyz, uzz, det, x, y, z, r, whisky_rho_min, whisky_reflevel, whisky_C2P_failed)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL dens, sx, sy, sz, tau, rho, velx, vely, velz, epsilon, &
+ press, uxx, uxy, uxz, uyy, uyz, uzz, det, w_lorentz, x, &
+ y, z, r, whisky_rho_min
+
+ CCTK_REAL s2, f, df, ftol, vlowx, vlowy, vlowz
+ CCTK_INT count, i, handle, whisky_reflevel, whisky_C2P_failed
+ CCTK_REAL udens, usx, usy, usz, rhoold, rhonew, epsold, epsnew, w2, &
+ w2mhalf, enthalpy, denthalpy
+ character(len=200) warnline
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+!!$ Undensitize the variables
+
+ udens = dens /sqrt(det)
+ usx = sx /sqrt(det)
+ usy = sy /sqrt(det)
+ usz = sz /sqrt(det)
+ s2 = usx*usx*uxx + usy*usy*uyy + usz*usz*uzz + 2.d0*usx*usy*uxy + &
+ 2.d0*usx*usz*uxz + 2.d0*usy*usz*uyz
+
+
+!!$ Set initial guess for rho:
+
+ rhoold = max(whisky_rho_min,rho)
+
+!!$ Calculate w_lorentz etc.
+
+ enthalpy = 1.d0 + EOS_SpecificIntEnergy(handle, rhoold, press) + &
+ EOS_Pressure(handle, rhoold, epsilon) / rhoold
+ w_lorentz = sqrt(1.d0 + s2 / ( (udens*enthalpy)**2 ))
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (w_lorentz .ne. w_lorentz) then
+ write(warnline,'(a70,6g15.6)') 'NaN produced in sqrt(): (s2, udens, enthalpy, x, y, z)', s2, udens, enthalpy, x, y, z
+ call CCTK_WARN(Whisky_NaN_verbose, warnline)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+ press = EOS_Pressure(handle, rhoold, epsilon)
+
+!!$ Calculate the function
+
+ f = rhoold * w_lorentz - udens
+
+!!$Find the root
+
+ count = 0
+ rhonew = rhoold
+
+ do while ( ((abs(rhonew - rhoold)/abs(rhonew) .gt. whisky_perc_ptol) .and. &
+ (abs(rhonew - rhoold) .gt. whisky_del_ptol)) .or. &
+ (count .lt. whisky_countmin))
+ count = count + 1
+
+ if (count > whisky_countmax) then
+ whisky_C2P_failed = 1
+ goto 50
+ end if
+
+!!$ Ian has the feeling that this is an error in general. But for the
+!!$ 2D_Polytrope it gives the right answers.
+
+ denthalpy = EOS_DPressByDrho(handle, rhonew, epsilon) / rhonew
+
+ df = w_lorentz - rhonew * s2 * denthalpy / &
+ (w_lorentz*(udens**2)*(enthalpy**3))
+
+ rhoold = rhonew
+ rhonew = rhoold - f/df
+
+
+!!$ Recalculate primitive variables and function
+
+ enthalpy = 1.d0 + EOS_SpecificIntEnergy(handle, rhonew, press) + &
+ EOS_Pressure(handle, rhonew, epsilon) / rhonew
+ w_lorentz = sqrt(1.d0 + s2 / ( (udens*enthalpy)**2 ))
+
+ press = EOS_Pressure(handle, rhonew, epsilon)
+ tau = sqrt(det) * ((rho * enthalpy) * w_lorentz**2 - press) - dens
+
+ f = rhonew * w_lorentz - udens
+
+ enddo
+
+!!$ Calculate primitive variables from root
+
+ if (rhonew .le. whisky_rho_min*(1.d0+whisky_atmo_tolerance) ) then
+ ! note that dens is not reset and is used with its negative value below (WHICH SHOULD BE WRONG)
+!!$ dens = sqrt(det)*whisky_rho_min !/(1.d0+whisky_atmo_tolerance)
+ rhonew = whisky_rho_min
+ sx = 0.d0
+ sy = 0.d0
+ sz = 0.d0
+ s2 = 0.d0
+ usx = 0.d0
+ usy = 0.d0
+ usz = 0.d0
+ end if
+
+50 rho = rhonew
+
+ enthalpy = 1.d0 + EOS_SpecificIntEnergy(handle, rhonew, press) + &
+ EOS_Pressure(handle, rhonew, epsilon) / rhonew
+ w_lorentz = sqrt(1.d0 + s2 / ( (udens*enthalpy)**2 ))
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (w_lorentz .ne. w_lorentz) then
+ write(warnline,'(a70,6g15.6)') 'NaN produced in sqrt(): (s2, udens, enthalpy, x, y, z)', s2, udens, enthalpy, x, y, z
+ call CCTK_WARN(Whisky_NaN_verbose, warnline)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+ press = EOS_Pressure(handle, rhonew, epsilon)
+ epsilon = EOS_SpecificIntEnergy(handle, rhonew, press)
+ tau = sqrt(det) * ((rho * enthalpy) * w_lorentz**2 - press) - dens
+ vlowx = usx / ( (rho + rho*epsilon + press) * w_lorentz**2)
+ vlowy = usy / ( (rho + rho*epsilon + press) * w_lorentz**2)
+ vlowz = usz / ( (rho + rho*epsilon + press) * w_lorentz**2)
+ velx = uxx * vlowx + uxy * vlowy + uxz * vlowz
+ vely = uxy * vlowx + uyy * vlowy + uyz * vlowz
+ velz = uxz * vlowx + uyz * vlowy + uzz * vlowz
+
+ if (epsilon .lt. 0.0d0) whisky_C2P_failed = 1
+
+ return
+
+end subroutine Con2Prim_ptPolytype
+
+
+ /*@@
+ @routine Cons2PrimBoundsPolytype
+ @date Tue Mar 12 18:04:40 2002
+ @author The Whisky Developers
+ @desc
+ This routine is used only if the reconstruction is performed on the conserved variables.
+ It computes the primitive variables on cell boundaries.
+ Since reconstruction on conservative had not proved to be very successful,
+ some of the improvements to the C2P routines (e.g. the check about
+ whether a failure happens in a point that will be restriced anyway) are not implemented here yet.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Con2PrimBoundsPolytype(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k, nx, ny, nz
+ CCTK_REAL :: uxxl, uxyl, uxzl, uyyl, uyzl, uzzl,&
+ uxxr, uxyr, uxzr, uyyr, uyzr, uzzr
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4r,psi4l
+
+ CCTK_INT :: type_bits, atmosphere
+ CCTK_INT :: type2_bits, excised
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ type2_bits = -1
+ excised = -1
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ do i = whisky_stencil, nx - whisky_stencil + 1
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+ call UpperMetric(uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ gxxl,gxyl,gxzl,gyyl,gyzl,gzzl)
+ call UpperMetric(uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr)
+ else
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+
+ call SpatialDeterminant(psi4l*gxxl,psi4l*gxyl,psi4l*gxzl,&
+ psi4l*gyyl,psi4l*gyzl,psi4l*gzzl,avg_detl)
+ call SpatialDeterminant(psi4r*gxxr,psi4r*gxyr,psi4r*gxzr,&
+ psi4r*gyyr,psi4r*gyzr,psi4r*gzzr,avg_detr)
+ call UpperMetric(uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ psi4l*gxxl,psi4l*gxyl,psi4l*gxzl,psi4l*gyyl,psi4l*gyzl,&
+ psi4l*gzzl)
+ call UpperMetric(uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ psi4r*gxxr,psi4r*gxyr,psi4r*gxzr,psi4r*gyyr,psi4r*gyzr,&
+ psi4r*gzzr)
+ end if
+
+ call Con2Prim_ptPolytype(whisky_eos_handle, densminus(i,j,k),&
+ sxminus(i,j,k),syminus(i,j,k),szminus(i,j,k),&
+ tauminus(i,j,k),rhominus(i,j,k),velxminus(i,j,k),&
+ velyminus(i,j,k),velzminus(i,j,k),epsminus(i,j,k),&
+ pressminus(i,j,k),w_lorentzminus(i,j,k),&
+ uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ x(i,j,k)-0.5d0*CCTK_DELTA_SPACE(1),&
+ y(i,j,k)-0.5d0*CCTK_DELTA_SPACE(2), &
+ z(i,j,k)-0.5d0*CCTK_DELTA_SPACE(3),r(i,j,k),whisky_rho_min, whisky_reflevel, whisky_C2P_failed(i,j,k))
+ call Con2Prim_ptPolytype(whisky_eos_handle, densplus(i,j,k),&
+ sxplus(i,j,k),syplus(i,j,k),szplus(i,j,k),&
+ tauplus(i,j,k),rhoplus(i,j,k),velxplus(i,j,k),&
+ velyplus(i,j,k),velzplus(i,j,k),epsplus(i,j,k),&
+ pressplus(i,j,k),w_lorentzplus(i,j,k),&
+ uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ x(i,j,k)+0.5d0*CCTK_DELTA_SPACE(1),&
+ y(i,j,k)+0.5d0*CCTK_DELTA_SPACE(2), &
+ z(i,j,k)+0.5d0*CCTK_DELTA_SPACE(3),r(i,j,k),whisky_rho_min, whisky_reflevel, whisky_C2P_failed(i,j,k))
+
+ end do
+ end do
+ end do
+
+end subroutine Con2PrimBoundsPolytype
+
+
+ /*@@
+ @routine Con2PrimBoundsTracer
+ @date Mon Mar 8 13:41:55 2004
+ @author Ian Hawke
+ @desc
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Con2PrimBoundsTracer(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k, itracer, nx, ny, nz
+ CCTK_REAL :: uxxl, uxyl, uxzl, uyyl, uyzl, uzzl,&
+ uxxr, uxyr, uxzr, uyyr, uyzr, uzzr
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4r,psi4l
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ do i = whisky_stencil, nx - whisky_stencil + 1
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+ call UpperMetric(uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ gxxl,gxyl,gxzl,gyyl,gyzl,gzzl)
+ call UpperMetric(uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr)
+ else
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+
+ call SpatialDeterminant(psi4l*gxxl,psi4l*gxyl,psi4l*gxzl,&
+ psi4l*gyyl,psi4l*gyzl,psi4l*gzzl,avg_detl)
+ call SpatialDeterminant(psi4r*gxxr,psi4r*gxyr,psi4r*gxzr,&
+ psi4r*gyyr,psi4r*gyzr,psi4r*gzzr,avg_detr)
+ call UpperMetric(uxxl,uxyl,uxzl,uyyl,uyzl,uzzl,avg_detl,&
+ psi4l*gxxl,psi4l*gxyl,psi4l*gxzl,psi4l*gyyl,psi4l*gyzl,&
+ psi4l*gzzl)
+ call UpperMetric(uxxr,uxyr,uxzr,uyyr,uyzr,uzzr,avg_detr,&
+ psi4r*gxxr,psi4r*gxyr,psi4r*gxzr,psi4r*gyyr,psi4r*gyzr,&
+ psi4r*gzzr)
+ end if
+
+ do itracer=1,number_of_tracers
+ call Con2Prim_ptBoundsTracer(cons_tracerplus(i,j,k,itracer), &
+ tracerplus(i,j,k,itracer), &
+ rhoplus(i,j,k), sqrt(1.d0 - &
+ (gxxr * velxplus(i,j,k)**2 + &
+ gyyr * velyplus(i,j,k)**2 + &
+ gzzr * velzplus(i,j,k)**2 + &
+ 2.d0 * (gxyr * velxplus(i,j,k) * velyplus(i,j,k) + &
+ gxzr * velxplus(i,j,k) * velzplus(i,j,k) + &
+ gyzr * velyplus(i,j,k) * velzplus(i,j,k) ) ) ), &
+ avg_detr)
+ call Con2Prim_ptBoundsTracer(cons_tracerminus(i,j,k,itracer), &
+ tracerminus(i,j,k,itracer), &
+ rhominus(i,j,k), sqrt(1.d0 - &
+ (gxxr * velxminus(i,j,k)**2 + &
+ gyyr * velyminus(i,j,k)**2 + &
+ gzzr * velzminus(i,j,k)**2 + &
+ 2.d0 * (gxyr * velxminus(i,j,k) * velyminus(i,j,k) + &
+ gxzr * velxminus(i,j,k) * velzminus(i,j,k) + &
+ gyzr * velyminus(i,j,k) * velzminus(i,j,k) ) ) ), &
+ avg_detl)
+ enddo
+
+!!$ tracerplus(i,j,k) = cons_tracerplus(i,j,k) / &
+!!$ sqrt(avg_detr) / rhoplus(i,j,k) * &
+!!$ sqrt(1.d0 - &
+!!$ (gxxr * velxplus(i,j,k)**2 + &
+!!$ gyyr * velyplus(i,j,k)**2 + &
+!!$ gzzr * velzplus(i,j,k)**2 + &
+!!$ 2.d0 * (gxyr * velxplus(i,j,k) * velyplus(i,j,k) + &
+!!$ gxzr * velxplus(i,j,k) * velzplus(i,j,k) + &
+!!$ gyzr * velyplus(i,j,k) * velzplus(i,j,k) ) ) )
+!!$ tracerminus(i,j,k) = cons_tracerminus(i,j,k) / &
+!!$ sqrt(avg_detl) / rhominus(i,j,k) * &
+!!$ sqrt(1.d0 - &
+!!$ (gxxl * velxminus(i,j,k)**2 + &
+!!$ gyyl * velyminus(i,j,k)**2 + &
+!!$ gzzl * velzminus(i,j,k)**2 + &
+!!$ 2.d0 * (gxyl * velxminus(i,j,k) * velyminus(i,j,k) + &
+!!$ gxzl * velxminus(i,j,k) * velzminus(i,j,k) + &
+!!$ gyzl * velyminus(i,j,k) * velzminus(i,j,k) ) ) )
+
+ end do
+ end do
+ end do
+
+end subroutine Con2PrimBoundsTracer
+
+
+ /*@@
+ @routine Con2Prim_ptTracer
+ @date Mon Mar 8 14:26:29 2004
+ @author Ian Hawke
+ @desc
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Con2Prim_ptTracer(cons_tracer, tracer, dens)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL cons_tracer, tracer, dens
+
+ tracer = cons_tracer / dens
+
+end subroutine Con2Prim_ptTracer
+
+
+ /*@@
+ @routine Con2Prim_ptTracerBounds
+ @date Mon Mar 8 14:26:29 2004
+ @author Ian Hawke
+ @desc
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Con2Prim_ptBoundsTracer(cons_tracer, tracer, rho, one_over_w_lorentz, det)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL cons_tracer, tracer, rho, one_over_w_lorentz, det
+
+ tracer = cons_tracer / sqrt(det) / rho * one_over_w_lorentz
+
+end subroutine Con2Prim_ptBoundsTracer
+
+
+ /*@@
+ @routine Conservative2PrimitiveGeneral
+ @date Sat Jan 26 01:08:33 2002
+ @author Ian Hawke
+ @desc
+ Wrapper routine that converts from conserved to primitive variables
+ at every grid cell centre. Converted to the EOSGeneral format
+ @enddesc
+ @calls
+ @calledby
+ @history
+ @endhistory
+
+@@*/
+
+subroutine Conservative2PrimitiveGeneral(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, j, k, itracer, nx, ny, nz, ierr
+ CCTK_REAL :: psi4pt
+ character(len=100) warnline
+
+ CCTK_INT :: count
+ CCTK_REAL :: s2, df, v2, w, vlowx, vlowy, vlowz
+ CCTK_REAL :: temp1, temp2, temp3
+ CCTK_REAL :: udens, usx, usy, usz, utau
+ CCTK_REAL :: drhodpress, depsdpress
+ logical :: loop_condition
+
+ CCTK_REAL, dimension(:,:,:), allocatable :: f
+ logical, dimension(:,:,:), allocatable :: point_loop_condition
+
+ CCTK_INT :: type_bits, atmosphere
+ CCTK_INT :: type2_bits, excised
+
+ CCTK_REAL :: local_min_tracer
+
+ CCTK_INT, dimension(3) :: loc, loc2
+
+ allocate(f(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ point_loop_condition(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ STAT=ierr)
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Allocation problems with f")
+ end if
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ type2_bits = -1
+ excised = -1
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ count = 0
+ press_old = max(eosgeneral_pmin, press)
+
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+ loop_condition = .true.
+
+!!$ Set up rho and epsilon
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), &
+ tracer(i,j,k,itracer), dens(i,j,k))
+ if (use_min_tracer .ne. 0) then
+ if (tracer(i,j,k,itracer) .le. local_min_tracer) then
+ tracer(i,j,k,itracer) = local_min_tracer
+ end if
+ end if
+ enddo
+ endif
+
+ if ( (dens(i,j,k).le.sqrt(Whisky_Det(i,j,k)) * &
+ whisky_rho_min*(1.0d0+whisky_atmo_tolerance)) &
+ .or.(tau(i,j,k) .le. 0d0)) then
+ rho(i,j,k) = whisky_rho_min
+ dens(i,j,k) = sqrt(Whisky_det(i,j,k)) * rho(i,j,k)
+ scon(i,j,k,:) = 0.d0
+ w_lorentz(i,j,k) = 1.d0
+ press(i,j,k) = 0.1d0 * eosgeneral_pmin
+ eps(i,j,k) = press(i,j,k) / rho(i,j,k) ! Note that this should be improved
+ tau(i,j,k) = sqrt(Whisky_det(i,j,k)) * rho(i,j,k) * eps(i,j,k)
+!!$ call Whisky_DumpPointInAtmos(rho(i,j,k), &
+!!$ velx(i,j,k), vely(i,j,k), velz(i,j,k), &
+!!$ eps(i,j,k), press(i,j,k), w_lorentz(i,j,k), &
+!!$ dens(i,j,k), sx(i,j,k), sy(i,j,k), sz(i,j,k), tau(i,j,k), &
+!!$ Whisky_det(i,j,k), whisky_rho_min)
+ end if
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ utau = tau(i,j,k) / sqrt(Whisky_det(i,j,k))
+ s2 = usx*usx*Whisky_uxx(i,j,k) + &
+ usy*usy*Whisky_uyy(i,j,k) + &
+ usz*usz*Whisky_uzz(i,j,k) + &
+ 2.d0*usx*usy*Whisky_uxy(i,j,k) + &
+ 2.d0*usx*usz*Whisky_uxz(i,j,k) + &
+ 2.d0*usy*usz*Whisky_uyz(i,j,k)
+
+!!$ Check that the variables have a chance of being physical
+
+ if( (utau + press_old(i,j,k) + udens)**2 - s2 .le. 0.0d0) then
+ if(whisky_reflevel.ge.whisky_c2p_warn_from_reflevel) then
+ call CCTK_WARN(1,'Con2PrimGeneral: variables unphysical!')
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,g15.6)') 'undensitized energy: ',utau
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,g15.6)') 'undensitized density: ',udens
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,g15.6)') 'undensitized s2: ',s2
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,g15.6)') 'pressure guess: ',press_old(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,i4)') 'refinement level: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,4g15.6)') 'coordinates: x,y,z,r:',&
+ x(i,j,k),y(i,j,k),z(i,j,k),r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ call CCTK_WARN(whisky_c2p_warnlevel, "Unphysical variables")
+ exit
+ else
+ write(warnline,'(a60,i2)') 'Con2Prim: eps negative, but I was told to ignore level: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,4g15.6)') 'coordinates: x,y,z,r:',&
+ x(i,j,k),y(i,j,k),z(i,j,k),r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ exit
+ endif
+ endif
+
+ temp1 = (utau + udens + press_old(i,j,k))
+ temp2 = temp1**2 - s2
+ temp3 = sqrt(temp2)
+
+ rho(i,j,k) = udens * temp3 / temp1
+ w_lorentz(i,j,k) = temp1 / temp3
+
+!!$ Eps not previously set?
+ eps(i,j,k) = &
+ (temp3 - press_old(i,j,k) * w_lorentz(i,j,k) - udens) / &
+ udens
+
+ end do
+ end do
+ end do
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Con2PrimCall)
+ where (press .le. eosgeneral_pmin)
+ press = eosgeneral_pmin
+ rho = whisky_rho_min
+ dens = sqrt(Whisky_det) * rho
+ scon(:,:,:,1) = 0.d0
+ scon(:,:,:,2) = 0.d0
+ scon(:,:,:,3) = 0.d0
+ w_lorentz = 1d0
+ eps = press / rho
+ tau = sqrt(Whisky_det) * rho * eps
+ end where
+ f = press_old - press
+ press_new = press_old
+
+ do while (loop_condition)
+
+ count = count + 1
+
+ if (count > whisky_countmax) then
+ if(whisky_reflevel.ge.whisky_c2p_warn_from_reflevel) then
+ call CCTK_WARN(1, 'Con2PrimGeneral: error: did not converge in ')
+ write(warnline,'(a20,g12.7,a10)') ' ',&
+ whisky_countmax,' steps'
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ call CCTK_WARN(whisky_c2p_warnlevel, "Did not converge")
+ exit
+ else
+ write(warnline,'(a60,i2)') 'Con2Prim: eps negative, but I was told to ignore level: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ exit
+ endif
+ end if
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ !or in an excised region
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) then
+ press_new(i,j,k) = press(i,j,k)
+ press_old(i,j,k) = press(i,j,k)
+ cycle
+ endif
+
+
+ ! All right, is this point already converged?!?
+ loop_condition = abs(press_new(i,j,k)-press_old(i,j,k)) / abs(press_new(i,j,k)) > &
+ whisky_perc_ptol
+
+ loop_condition = loop_condition .and. &
+ abs(press_new(i,j,k)-press_old(i,j,k)) > whisky_del_ptol
+
+ loop_condition = loop_condition .or. (count < whisky_countmin) &
+ .or. (count < 2) ! we have to at least go once through c2p.
+
+ point_loop_condition(i,j,k) = loop_condition
+
+ if(.not.loop_condition) cycle
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ utau = tau(i,j,k) / sqrt(Whisky_det(i,j,k))
+ s2 = usx*usx*Whisky_uxx(i,j,k) + &
+ usy*usy*Whisky_uyy(i,j,k) + &
+ usz*usz*Whisky_uzz(i,j,k) + &
+ 2.d0*usx*usy*Whisky_uxy(i,j,k) + &
+ 2.d0*usx*usz*Whisky_uxz(i,j,k) + &
+ 2.d0*usy*usz*Whisky_uyz(i,j,k)
+
+ temp1 = (utau + udens + press_new(i,j,k))
+ temp2 = temp1**2 - s2
+ temp3 = sqrt(temp2)
+
+ drhodpress = udens * s2 / (temp3 * temp1**2)
+ depsdpress = press_new(i,j,k) * s2 / (rho(i,j,k) * temp1 * temp2)
+
+ df = 1.d0 - eos_dpdeps_temp(i,j,k) * depsdpress - &
+ eos_dpdrho_temp(i,j,k) * drhodpress
+
+ press_old(i,j,k) = press_new(i,j,k)
+
+ press_new(i,j,k) = press_old(i,j,k) - f(i,j,k) / df
+ if (press_new(i,j,k) .le. eosgeneral_pmin) then
+ press_new(i,j,k) = eosgeneral_pmin
+ rho(i,j,k) = whisky_rho_min
+ dens(i,j,k) = sqrt(Whisky_det(i,j,k)) * rho(i,j,k)
+ scon(i,j,k,:) = 0.d0
+ w_lorentz(i,j,k) = 1d0
+ eps(i,j,k) = press(i,j,k) / rho(i,j,k)
+ tau(i,j,k) = sqrt(Whisky_det(i,j,k)) * rho(i,j,k) * eps(i,j,k)
+ udens = rho(i,j,k)
+ utau = rho(i,j,k) * eps(i,j,k)
+ s2 = 0.d0
+ end if
+
+ temp1 = (utau + udens + press_new(i,j,k))
+ temp2 = temp1**2 - s2
+ temp3 = sqrt(temp2)
+
+ rho(i,j,k) = udens * temp3 / temp1
+ w_lorentz(i,j,k) = temp1 / temp3
+ eps(i,j,k) = &
+ (temp3 - press_new(i,j,k) * w_lorentz(i,j,k) - udens) / &
+ udens
+
+ point_loop_condition(i,j,k) = &
+ (abs(press_new(i,j,k) - press_old(i,j,k)) / abs(press_new(i,j,k)) > &
+ whisky_perc_ptol)
+ point_loop_condition(i,j,k) = point_loop_condition(i,j,k) .and. &
+ (abs(press_new(i,j,k) - press_old(i,j,k)) > &
+ whisky_del_ptol)
+ end do
+ end do
+ end do
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Con2PrimCall)
+ press = max(press, eosgeneral_pmin)
+
+ f = press_new - press
+
+ loop_condition = any(point_loop_condition)
+
+ loop_condition = loop_condition .or. &
+ (count < whisky_countmin)
+
+ end do
+
+ deallocate(point_loop_condition)
+
+
+ do count = 1, whisky_polish
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ f = press_new(i,j,k) - press(i,j,k)
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ utau = tau(i,j,k) / sqrt(Whisky_det(i,j,k))
+ s2 = usx*usx*Whisky_uxx(i,j,k) + &
+ usy*usy*Whisky_uyy(i,j,k) + &
+ usz*usz*Whisky_uzz(i,j,k) + &
+ 2.d0*usx*usy*Whisky_uxy(i,j,k) + &
+ 2.d0*usx*usz*Whisky_uxz(i,j,k) + &
+ 2.d0*usy*usz*Whisky_uyz(i,j,k)
+
+ temp1 = (utau + udens + press_new(i,j,k))
+ temp2 = temp1**2 - s2
+ temp3 = sqrt(temp2)
+
+ drhodpress = udens * s2 / (temp3 * temp1**2)
+ depsdpress = press_new(i,j,k) * s2 / (rho(i,j,k) * temp1 * temp2)
+
+ df = 1.d0 - eos_dpdeps_temp(i,j,k) * depsdpress - &
+ eos_dpdrho_temp(i,j,k) * drhodpress
+
+ press_new(i,j,k) = max(press_new(i,j,k) - f(i,j,k) / df, eosgeneral_pmin)
+
+ temp1 = (utau + udens + press_new(i,j,k))
+ temp2 = temp1**2 - s2
+ temp3 = sqrt(temp2)
+
+ rho(i,j,k) = udens * temp3 / temp1
+ w_lorentz(i,j,k) = temp1 / temp3
+ eps(i,j,k) = &
+ (temp3 - press_new(i,j,k) * w_lorentz(i,j,k) - udens) / &
+ udens
+
+ end do
+ end do
+ end do
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Con2PrimCall)
+ press = max(press, eosgeneral_pmin)
+
+ end do
+
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+!!$ Note that in the following we enforce eps > 0
+!!$ This makes the later check redundant
+
+ if ( (rho(i,j,k) .le. whisky_rho_min*(1.d0+whisky_atmo_tolerance) ) .or. &
+ (eps(i,j,k) .lt. 0d0) ) then
+
+ rho(i,j,k) = whisky_rho_min
+ udens = rho(i,j,k)
+ utau = tau(i,j,k) / sqrt(Whisky_det(i,j,k))
+ dens(i,j,k) = sqrt(Whisky_det(i,j,k)) * rho(i,j,k)
+ eps(i,j,k) = utau / udens
+ scon(i,j,k,:) = 0.d0
+ w_lorentz(i,j,k) = 1.d0
+ usx = 0.d0
+ usy = 0.d0
+ usz = 0.d0
+
+ else
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ utau = tau(i,j,k) / sqrt(Whisky_det(i,j,k))
+
+ end if
+
+ vlowx = usx / &
+ ( (rho(i,j,k) + rho(i,j,k) * eps(i,j,k) + press(i,j,k)) * &
+ w_lorentz(i,j,k)**2)
+ vlowy = usy / &
+ ( (rho(i,j,k) + rho(i,j,k) * eps(i,j,k) + press(i,j,k)) * &
+ w_lorentz(i,j,k)**2)
+ vlowz = usz / &
+ ( (rho(i,j,k) + rho(i,j,k) * eps(i,j,k) + press(i,j,k)) * &
+ w_lorentz(i,j,k)**2)
+ vel(i,j,k,1) = Whisky_uxx(i,j,k) * vlowx + &
+ Whisky_uxy(i,j,k) * vlowy + &
+ Whisky_uxz(i,j,k) * vlowz
+ vel(i,j,k,2) = Whisky_uxy(i,j,k) * vlowx + &
+ Whisky_uyy(i,j,k) * vlowy + &
+ Whisky_uyz(i,j,k) * vlowz
+ vel(i,j,k,3) = Whisky_uxz(i,j,k) * vlowx + &
+ Whisky_uyz(i,j,k) * vlowy + &
+ Whisky_uzz(i,j,k) * vlowz
+
+!!$ If eps negative then complain vociferously
+
+ if (eps(i,j,k) .le. 0.d0) then
+ if(whisky_reflevel.ge.whisky_c2p_warn_from_reflevel) then
+ call CCTK_WARN(1,'Con2PrimGeneral: stopping the code.')
+ call CCTK_WARN(1, ' specific internal energy just went below 0! ')
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'xyz location: ',&
+ x(i,j,k),y(i,j,k),z(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,i4)') 'refinement level: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,g16.7)') 'radius: ',r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'velocities: ',&
+ vel(i,j,k,1),vel(i,j,k,2),vel(i,j,k,3)
+ call CCTK_WARN(1,warnline)
+ call CCTK_WARN(whisky_c2p_warnlevel, \
+ "Specific internal energy negative")
+ exit
+ else
+ write(warnline,'(a60,i2)') 'Con2Prim: eps negative, but I was told to ignore level: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a25,4g15.6)') 'coordinates: x,y,z,r:',&
+ x(i,j,k),y(i,j,k),z(i,j,k),r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ exit
+ endif
+ endif
+
+ end do
+ end do
+ end do
+
+ deallocate(f)
+
+end subroutine Conservative2PrimitiveGeneral
+
+
+ /*@@
+ @routine Conservative2PrimitivePolytypeGeneral
+ @date Sat Jan 26 01:08:33 2002
+ @author Ian Hawke
+ @desc
+ Wrapper routine that converts from conserved to primitive variables
+ at every grid cell centre. Converted to the EOSGeneral format
+ @enddesc
+ @calls
+ @calledby
+ @history
+ @endhistory
+
+@@*/
+
+subroutine Con2PrimPolytypeGeneral(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, j, k, itracer, nx, ny, nz
+ CCTK_REAL :: psi4pt
+ character(len=100) warnline
+
+ CCTK_INT :: count, ierr
+ CCTK_REAL :: s2, f, df, v2, w, vlowx, vlowy, vlowz
+ CCTK_REAL :: temp1, temp2, temp3
+ CCTK_REAL :: udens, usx, usy, usz
+ CCTK_REAL :: enthalpy, denthalpy
+ logical :: loop_condition
+
+ CCTK_INT :: type_bits, atmosphere
+ CCTK_INT :: type2_bits, excised
+
+ CCTK_REAL :: local_min_tracer
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ type2_bits = -1
+ excised = -1
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+!!$ In what follows press_temp is really rho_temp
+
+ count = 0
+ press_new = max(whisky_rho_min, rho)
+
+ loop_condition = .true.
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Con2PrimCall)
+
+!!$ Set up W and epsilon
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), &
+ tracer(i,j,k,itracer), dens(i,j,k))
+
+ if (use_min_tracer .ne. 0) then
+ if (tracer(i,j,k,itracer) .le. local_min_tracer) then
+ tracer(i,j,k,itracer) = local_min_tracer
+ end if
+ end if
+
+ enddo
+ end if
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ s2 = usx*usx*Whisky_uxx(i,j,k) + &
+ usy*usy*Whisky_uyy(i,j,k) + &
+ usz*usz*Whisky_uzz(i,j,k) + &
+ 2.d0*usx*usy*Whisky_uxy(i,j,k) + &
+ 2.d0*usx*usz*Whisky_uxz(i,j,k) + &
+ 2.d0*usy*usz*Whisky_uyz(i,j,k)
+
+ enthalpy = 1.d0 + eps(i,j,k) + press(i,j,k) / press_new(i,j,k)
+ w_lorentz(i,j,k) = sqrt( 1.d0 + s2 / ( (udens*enthalpy)**2 ) )
+
+ end do
+ end do
+ end do
+
+ do while (loop_condition)
+
+ count = count + 1
+
+ if (count > whisky_countmax) then
+ if (whisky_reflevel.ge.whisky_c2p_warn_from_reflevel) then
+ call CCTK_WARN(1, 'Con2PrimPolytypeGeneral: error: did not converge in ')
+ write(warnline,'(a20,g12.7,a10)') ' ',&
+ whisky_countmax,' steps'
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ call CCTK_WARN(whisky_c2p_warnlevel, "Did not converge")
+ exit
+ else
+ write(warnline,'(a60,i2)') 'Con2Prim: eps negative, but I was told to ignore level: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ exit
+ endif
+ end if
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ enthalpy = 1.d0 + eps(i,j,k) + press(i,j,k) / press_new(i,j,k)
+
+ tau(i,j,k) = sqrt(Whisky_det(i,j,k)) * &
+ ( press_new(i,j,k) * enthalpy * w_lorentz(i,j,k)**2 - &
+ press(i,j,k) ) - dens(i,j,k)
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ s2 = usx*usx*Whisky_uxx(i,j,k) + &
+ usy*usy*Whisky_uyy(i,j,k) + &
+ usz*usz*Whisky_uzz(i,j,k) + &
+ 2.d0*usx*usy*Whisky_uxy(i,j,k) + &
+ 2.d0*usx*usz*Whisky_uxz(i,j,k) + &
+ 2.d0*usy*usz*Whisky_uyz(i,j,k)
+
+ f = press_new(i,j,k) * w_lorentz(i,j,k) - udens
+
+ denthalpy = eos_dpdrho_temp(i,j,k) / press_new(i,j,k)
+
+ df = w_lorentz(i,j,k) - press_new(i,j,k) * s2 * denthalpy / &
+ ( w_lorentz(i,j,k) * (udens**2) * (enthalpy**3) )
+
+ rho(i,j,k) = press_new(i,j,k)
+ press_new(i,j,k) = max(press_new(i,j,k) - f / df, whisky_rho_min)
+
+ enthalpy = 1.d0 + eps(i,j,k) + press(i,j,k) / press_new(i,j,k)
+ w_lorentz(i,j,k) = sqrt( 1.d0 + s2 / ( (udens*enthalpy)**2 ) )
+
+ end do
+ end do
+ end do
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Con2PrimCall)
+
+ loop_condition = (maxval(abs(rho - press_new) / abs(press_new)) > &
+ whisky_perc_ptol)
+ loop_condition = loop_condition .and. &
+ (maxval(abs(rho - press_new)) > whisky_del_ptol)
+ loop_condition = loop_condition .or. &
+ (count < whisky_countmin)
+
+ end do
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ !do not compute if in atmosphere
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)) cycle
+
+ udens = dens(i,j,k) / sqrt(Whisky_det(i,j,k))
+
+ if (rho(i,j,k) .le. whisky_rho_min*(1.d0+whisky_atmo_tolerance) ) then
+
+ rho(i,j,k) = whisky_rho_min
+ scon(i,j,k,:) = 0.d0
+ w_lorentz(i,j,k) = 1.d0
+ usx = 0.d0
+ usy = 0.d0
+ usz = 0.d0
+ s2 = 0.d0
+
+ else
+
+ usx = scon(i,j,k,1) / sqrt(Whisky_det(i,j,k))
+ usy = scon(i,j,k,2) / sqrt(Whisky_det(i,j,k))
+ usz = scon(i,j,k,3) / sqrt(Whisky_det(i,j,k))
+ s2 = usx*usx*Whisky_uxx(i,j,k) + &
+ usy*usy*Whisky_uyy(i,j,k) + &
+ usz*usz*Whisky_uzz(i,j,k) + &
+ 2.d0*usx*usy*Whisky_uxy(i,j,k) + &
+ 2.d0*usx*usz*Whisky_uxz(i,j,k) + &
+ 2.d0*usy*usz*Whisky_uyz(i,j,k)
+
+ end if
+
+ enthalpy = 1.d0 + eps(i,j,k) + press(i,j,k) / rho(i,j,k)
+ w_lorentz(i,j,k) = sqrt( 1.d0 + s2 / ( (udens*enthalpy)**2 ) )
+ tau(i,j,k) = sqrt(Whisky_det(i,j,k)) * &
+ ( (rho(i,j,k) * enthalpy) * w_lorentz(i,j,k)**2 - &
+ press(i,j,k) ) - dens(i,j,k)
+ vlowx = usx / &
+ ( (rho(i,j,k) + rho(i,j,k) * eps(i,j,k) + press(i,j,k)) * &
+ w_lorentz(i,j,k)**2)
+ vlowy = usy / &
+ ( (rho(i,j,k) + rho(i,j,k) * eps(i,j,k) + press(i,j,k)) * &
+ w_lorentz(i,j,k)**2)
+ vlowz = usz / &
+ ( (rho(i,j,k) + rho(i,j,k) * eps(i,j,k) + press(i,j,k)) * &
+ w_lorentz(i,j,k)**2)
+ vel(i,j,k,1) = Whisky_uxx(i,j,k) * vlowx + &
+ Whisky_uxy(i,j,k) * vlowy + &
+ Whisky_uxz(i,j,k) * vlowz
+ vel(i,j,k,2) = Whisky_uxy(i,j,k) * vlowx + &
+ Whisky_uyy(i,j,k) * vlowy + &
+ Whisky_uyz(i,j,k) * vlowz
+ vel(i,j,k,3) = Whisky_uxz(i,j,k) * vlowx + &
+ Whisky_uyz(i,j,k) * vlowy + &
+ Whisky_uzz(i,j,k) * vlowz
+
+!!$ If eps negative then complain vociferously
+
+ if (eps(i,j,k) .lt. 0.0d0) whisky_C2P_failed(i,j,k) = 1
+
+ end do
+ end do
+ end do
+
+end subroutine Con2PrimPolytypeGeneral
+
+! subroutines to manage the C2P failure mask
+subroutine reset_whisky_C2P_failed(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ whisky_C2P_failed = 0
+
+ return
+
+end subroutine reset_whisky_C2P_failed
+
+
+subroutine sync_whisky_C2P_failed(CCTK_ARGUMENTS)
+! a dummy routine to syncronise whisky_C2P_failed
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ return
+
+end subroutine sync_whisky_C2P_failed
+
+
+subroutine check_whisky_C2P_failed(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ integer :: i, j, k, nx, ny, nz
+ character(len=100) warnline
+
+! call CCTK_INFO("Checking the C2P failure mask.")
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (whisky_C2P_failed(i,j,k) == 1) then
+
+ call CCTK_WARN(1,'Con2Prim failed; stopping the code.')
+ call CCTK_WARN(1,'Even with mesh refinement, this point is not restricted from a finer level, so this is really an error')
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'xyz location: ',&
+ x(i,j,k),y(i,j,k),z(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,g16.7)') 'radius: ',r(i,j,k)
+ call CCTK_WARN(1,warnline)
+ write(warnline,'(a20,3g16.7)') 'velocities: ',&
+ vel(i,j,k,1),vel(i,j,k,2),vel(i,j,k,3)
+ call CCTK_WARN(0,warnline)
+
+ end if
+
+ end do
+ end do
+ end do
+
+ return
+
+end subroutine check_whisky_C2P_failed
+
diff --git a/src/Whisky_Differences.F90 b/src/Whisky_Differences.F90
new file mode 100644
index 0000000..1cf5a03
--- /dev/null
+++ b/src/Whisky_Differences.F90
@@ -0,0 +1,152 @@
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+#include "SpaceMask.h"
+
+ /*@@
+ @routine Whisky_DiffRho
+ @date Fri Feb 18 10:02:31 2005
+ @author Ian Hawke
+ @desc
+ Compute first differences in rho
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_DiffRho(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, j, k, nx, ny, nz, kk, ll
+ CCTK_REAL :: idx, idy, idz
+
+ CCTK_REAL :: dr_eps = 1.d-2
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+!!$ idx = 1.d0 / CCTK_DELTA_SPACE(1)
+!!$ idy = 1.d0 / CCTK_DELTA_SPACE(2)
+!!$ idz = 1.d0 / CCTK_DELTA_SPACE(3)
+
+ idx = 1.d0
+ idy = 1.d0
+ idz = 1.d0
+
+ DiffRho = 0.d0
+
+ if (CCTK_EQUALS(gradient_method, "First diff")) then
+
+!!$ Simple first differences
+
+ do k = 2, nz - 1
+ do j = 2, ny - 1
+ do i = 2, nx - 1
+
+ DiffRho(i,j,k) = 0.5d0 * ( &
+ idx * abs(rho(i+1,j,k) - rho(i-1,j,k)) + &
+ idy * abs(rho(i,j+1,k) - rho(i,j-1,k)) + &
+ idz * abs(rho(i,j,k+1) - rho(i,j,k-1)) ) / &
+ rho(i,j,k)
+
+ end do
+ end do
+ end do
+
+ else if (CCTK_EQUALS(gradient_method, "Curvature")) then
+
+ do k = 2, nz - 1
+ do j = 2, ny - 1
+ do i = 2, nx - 1
+
+!!$ Gradient as in Paramesh / Flash
+
+ DiffRho(i,j,k) = &
+ sqrt ( &
+!!$ xx
+ (abs(rho(i+1,j,k) - 2.d0 * rho(i,j,k) + rho(i-1,j,k)) / &
+ ( abs(rho(i+1,j,k) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i-1,j,k)) + &
+ dr_eps * (abs(rho(i+1,j,k)) + 2.d0 * abs(rho(i,j,k)) + &
+ abs(rho(i-1,j,k))) ))**2 + &
+!!$ xy
+ (abs(rho(i+1,j+1,k) - rho(i+1,j-1,k) - &
+ rho(i-1,j+1,k) + rho(i-1,j-1,k)) / &
+ ( abs(rho(i+1,j,k) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i-1,j,k)) + &
+ dr_eps * (abs(rho(i+1,j+1,k)) + abs(rho(i+1,j-1,k)) + &
+ abs(rho(i-1,j+1,k)) + abs(rho(i-1,j-1,k))) ))**2 + &
+!!$ xz
+ (abs(rho(i+1,j,k+1) - rho(i+1,j,k-1) - &
+ rho(i-1,j,k+1) + rho(i-1,j,k-1)) / &
+ ( abs(rho(i+1,j,k) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i-1,j,k)) + &
+ dr_eps * (abs(rho(i+1,j,k+1)) + abs(rho(i+1,j,k-1)) + &
+ abs(rho(i-1,j,k+1)) + abs(rho(i-1,j,k-1))) ))**2 + &
+!!$ yx
+ (abs(rho(i+1,j+1,k) - rho(i+1,j-1,k) - &
+ rho(i-1,j+1,k) + rho(i-1,j-1,k)) / &
+ ( abs(rho(i,j+1,k) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i,j-1,k)) + &
+ dr_eps * (abs(rho(i+1,j+1,k)) + abs(rho(i+1,j-1,k)) + &
+ abs(rho(i-1,j+1,k)) + abs(rho(i-1,j-1,k))) ))**2 + &
+!!$ yy
+ (abs(rho(i,j+1,k) - 2.d0 * rho(i,j,k) + rho(i,j-1,k)) / &
+ ( abs(rho(i,j+1,k) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i,j-1,k)) + &
+ dr_eps * (abs(rho(i,j+1,k)) + 2.d0 * abs(rho(i,j,k)) + &
+ abs(rho(i,j-1,k))) ))**2 + &
+!!$ yz
+ (abs(rho(i,j+1,k+1) - rho(i,j+1,k-1) - &
+ rho(i,j-1,k+1) + rho(i,j-1,k-1)) / &
+ ( abs(rho(i,j+1,k) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i,j-1,k)) + &
+ dr_eps * (abs(rho(i,j+1,k+1)) + abs(rho(i,j+1,k-1)) + &
+ abs(rho(i,j-1,k+1)) + abs(rho(i,j-1,k-1))) ))**2 + &
+!!$ zx
+ (abs(rho(i+1,j,k+1) - rho(i+1,j,k-1) - &
+ rho(i-1,j,k+1) + rho(i-1,j,k-1)) / &
+ ( abs(rho(i,j,k+1) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i,j,k-1)) + &
+ dr_eps * (abs(rho(i+1,j,k+1)) + abs(rho(i+1,j,k-1)) + &
+ abs(rho(i-1,j,k+1)) + abs(rho(i-1,j,k-1))) ))**2 + &
+!!$ zy
+ (abs(rho(i,j+1,k+1) - rho(i,j-1,k+1) - &
+ rho(i,j+1,k-1) + rho(i,j-1,k-1)) / &
+ ( abs(rho(i,j,k+1) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i,j,k-1)) + &
+ dr_eps * (abs(rho(i,j+1,k+1)) + abs(rho(i,j-1,k+1)) + &
+ abs(rho(i,j+1,k-1)) + abs(rho(i,j-1,k-1))) ))**2 + &
+!!$ zz
+ (abs(rho(i,j,k+1) - 2.d0 * rho(i,j,k) + rho(i,j,k-1)) / &
+ ( abs(rho(i,j,k+1) - rho(i,j,k)) + &
+ abs(rho(i,j,k) - rho(i,j,k-1)) + &
+ dr_eps * (abs(rho(i,j,k+1)) + 2.d0 * abs(rho(i,j,k)) + &
+ abs(rho(i,j,k-1))) ))**2 &
+ )
+
+ end do
+ end do
+ end do
+
+ else if (CCTK_EQUALS(gradient_method, "Rho weighted")) then
+
+ DiffRho = &
+ rho*(CCTK_DELTA_SPACE(1)*CCTK_DELTA_SPACE(2)*CCTK_DELTA_SPACE(3))**2
+
+ else
+ call CCTK_WARN(0, "Value of gradient_method not recognized")
+ end if
+
+end subroutine Whisky_DiffRho
diff --git a/src/Whisky_ENOReconstruct.F90 b/src/Whisky_ENOReconstruct.F90
new file mode 100644
index 0000000..093e524
--- /dev/null
+++ b/src/Whisky_ENOReconstruct.F90
@@ -0,0 +1,221 @@
+ /*@@
+ @file Whisky_ENOReconstruct.F90
+ @date Sat Apr 6 17:37:56 2002
+ @author Ian Hawke
+ @desc
+ Routines to set up the coefficient array and to perform one dimensional
+ ENO reconstruction of arbitrary order.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine Whisky_ENOSetup
+ @date Sat Apr 6 17:42:13 2002
+ @author Ian Hawke
+ @desc
+ Sets up the coefficient array for ENO reconstruction.
+ Uses the notation of Shu, equation (2.21), in
+ ''High Order ENO and WENO Schemes for CFD''
+ (see ThornGuide for full reference).
+ One exception: (Shu) r -> (Here) i: avoiding name clash.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_ENOSetup(CCTK_ARGUMENTS)
+
+ USE Whisky_ENOScalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k, l, m, q, allocstat
+ CCTK_REAL :: denominator, numerator, numerator_product
+
+ if(.not.coeffs_allocated) then
+ allocate(eno_coeffs(-1:eno_order - 1, 0:eno_order - 1), STAT=allocstat)
+
+ if (allocstat .ne. 0) call CCTK_WARN(0, "Failed to allocate ENO coefficient arrays!")
+ coeffs_allocated = .true.
+ endif
+
+ do i = -1, eno_order - 1
+ do j = 0, eno_order - 1
+
+ eno_coeffs(i, j) = 0.d0
+
+ do m = j+1, eno_order
+
+ denominator = 1.d0
+ do l = 0, m-1
+ denominator = denominator * dble(m - l)
+ end do
+ do l = m+1, eno_order
+ denominator = denominator * dble(m - l)
+ end do
+
+ numerator = 0.d0
+ do l = 0, m-1
+ numerator_product = 1.d0
+ do q = 0, l-1
+ numerator_product = numerator_product * dble(i - q + 1)
+ end do
+ do q = l+1, m-1
+ numerator_product = numerator_product * dble(i - q + 1)
+ end do
+ do q = m+1, eno_order
+ numerator_product = numerator_product * dble(i - q + 1)
+ end do
+ numerator = numerator + numerator_product
+ end do
+
+ do l = m+1, eno_order
+ numerator_product = 1.d0
+ do q = 0, m-1
+ numerator_product = numerator_product * dble(i - q + 1)
+ end do
+ do q = m+1, l-1
+ numerator_product = numerator_product * dble(i - q + 1)
+ end do
+ do q = l+1, eno_order
+ numerator_product = numerator_product * dble(i - q + 1)
+ end do
+ numerator = numerator + numerator_product
+ end do
+
+ eno_coeffs(i, j) = eno_coeffs(i, j) + numerator / denominator
+
+ end do
+
+ end do
+ end do
+
+end subroutine Whisky_ENOSetup
+
+ /*@@
+ @routine Whisky_ENOShutdown
+ @date Mon Apr 8 12:40:44 2002
+ @author Ian Hawke
+ @desc
+ Deallocates the coefficient arrays
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_ENOShutdown(CCTK_ARGUMENTS)
+
+ USE Whisky_ENOScalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ CCTK_INT :: deallocstat
+
+ deallocate(eno_coeffs, STAT = deallocstat)
+ if (deallocstat .ne. 0) call CCTK_WARN(0, "Failed to deallocate ENO coefficients.")
+
+end subroutine Whisky_ENOShutdown
+
+ /*@@
+ @routine Whisky_ENOReconstruct1d
+ @date Sat Apr 6 18:15:29 2002
+ @author Ian Hawke
+ @desc
+ Perform a one dimensional reconstruction of a given array using ENO.
+ Again, see Shu, section 2.1
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+#define SpaceMask_CheckStateBitsF90_1D(mask,i,type_bits,state_bits) \
+ (iand(mask((i)),(type_bits)).eq.(state_bits))
+
+subroutine Whisky_ENOReconstruct1d(order, nx, v, vminus, vplus, trivial_rp, &
+ space_mask, excision_descriptors)
+ USE Whisky_ENOScalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: order, nx, i, j, k, r
+ CCTK_REAL, dimension(nx) :: v, vplus, vminus
+ CCTK_REAL, dimension(order, 1-order:nx+order) :: vdiff
+
+ CCTK_INT, dimension(nx) :: space_mask
+ logical, dimension(nx) :: trivial_rp
+ logical, dimension(nx) :: excise
+ CCTK_INT :: excision_bits, excision_mask
+ CCTK_INT, dimension(3) :: excision_descriptors
+
+ CCTK_REAL :: large = 1.d10
+
+ excision_bits=excision_descriptors(1)
+ excision_mask=excision_descriptors(2)
+
+ vminus = 0.d0
+ vplus = 0.d0
+ vdiff = 0.d0
+
+ vdiff(1, 1:nx) = v
+ excise = .false.
+ trivial_rp = .false.
+
+
+ do i = 1, nx
+
+
+!!$ Calculate the undivided differences
+
+ do k = 2, order
+ do j = max(1, i - order), min(nx, i + order)
+ vdiff(k, j) = vdiff(k - 1, j + 1) - vdiff(k - 1, j)
+ end do
+ end do
+
+!!$ Ensure the stencil stays within the grid
+
+ vdiff(:, 1 - order : 0) = 1.d10
+ vdiff(:, nx + 1 : nx + order) = 1.d10
+
+!!$ Find the stencil
+
+ r = 0
+
+ do j = 2, order
+ if ( abs(vdiff(j, i-r-1)) < abs(vdiff(j, i-r)) ) r = r + 1
+ end do
+
+!!$ Calculate the reconstruction
+
+ do j = 0, order - 1
+ vminus(i) = vminus(i) + eno_coeffs(r-1, j) * vdiff(1, i-r+j)
+ vplus(i) = vplus(i) + eno_coeffs(r, j) * vdiff(1, i-r+j)
+ end do
+
+
+ end do
+
+end subroutine Whisky_ENOReconstruct1d
diff --git a/src/Whisky_ENOScalars.F90 b/src/Whisky_ENOScalars.F90
new file mode 100644
index 0000000..8c8e872
--- /dev/null
+++ b/src/Whisky_ENOScalars.F90
@@ -0,0 +1,22 @@
+ /*@@
+ @file Whisky_ENOScalars.F90
+ @date Sat Apr 6 17:35:42 2002
+ @author Ian Hawke
+ @desc
+ Module containing the coefficient array for ENO reconstruction.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ module Whisky_ENOScalars
+
+ implicit none
+
+ CCTK_REAL, allocatable :: eno_coeffs(:, :)
+
+ logical, save :: coeffs_allocated = .false.
+
+ end module Whisky_ENOScalars
diff --git a/src/Whisky_EOS.c b/src/Whisky_EOS.c
new file mode 100644
index 0000000..d1c27d5
--- /dev/null
+++ b/src/Whisky_EOS.c
@@ -0,0 +1,70 @@
+ /*@@
+ @file Whisky_EOS.c
+ @date Wed Feb 6 18:25:33 2002
+ @author
+ @desc
+ Sets the EOS handle number from CactusEOS for use by
+ all the Whisky routines
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "EOS_Base.h"
+
+ /*@@
+ @routine Whisky_EOSHandle
+ @date Wed Feb 6 18:28:01 2002
+ @author Ian Hawke
+ @desc
+ Sets the EOS handle number
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+void Whisky_EOSHandle(CCTK_ARGUMENTS)
+{
+
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ int ierr = 0;
+ char *infoline;
+
+ *whisky_eos_handle = EOS_Handle(whisky_eos_table);
+
+ if (*whisky_eos_handle < 0) {
+ ierr = *whisky_eos_handle;
+ CCTK_WARN(0, "Table handle is incorrect");
+ }
+
+ *whisky_polytrope_handle = EOS_Handle("2D_Polytrope");
+
+ if (*whisky_polytrope_handle < 0) {
+ ierr = *whisky_polytrope_handle;
+ CCTK_WARN(0, "Whisky requires the 2D_Polytrope or the 2D_HybridPolytrope EoSs to be registered, for the atmosphere");
+ }
+
+ infoline = (char *)malloc(100*sizeof(char));
+ if (!infoline) {
+ CCTK_WARN(0, "Failed to malloc an array of 100 chars in Whisky_EOS.");
+ }
+ else {
+ sprintf(infoline,"Whisky will use the %s equation of state.",
+ whisky_eos_table);
+ CCTK_INFO(infoline);
+ }
+ free(infoline);
+ infoline = NULL;
+
+}
diff --git a/src/Whisky_Eigenproblem.F90 b/src/Whisky_Eigenproblem.F90
new file mode 100644
index 0000000..2abc3e7
--- /dev/null
+++ b/src/Whisky_Eigenproblem.F90
@@ -0,0 +1,1133 @@
+ /*@@
+ @file Whisky_Eigenproblem.F90
+ @date Sat Jan 26 01:25:44 2002
+ @author Ian Hawke, Pedro Montero, Joachim Frieben
+ @desc
+ Computes the spectral decomposition of a given state.
+ Implements the analytical scheme devised by J. M. Ibanez
+ et al., "Godunov Methods: Theory and Applications", New
+ York, 2001, 485-503. The optimized method for computing
+ the Roe flux in the special relativistic case is due to
+ M. A. Aloy et al., Comput. Phys. Commun. 120 (1999)
+ 115-121, and has been extended to the general relativistic
+ case as employed in this subroutine by J. Frieben, J. M.
+ Ibanez, and J. Pons (in preparation).
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine eigenvalues
+ @date Sat Jan 26 01:26:20 2002
+ @author Ian Hawke
+ @desc
+ Computes the eigenvalues of the Jacobian matrix evaluated
+ at the given state.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Culled from the routines in GR3D, author Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine eigenvalues(handle,rho,velx,vely,velz,eps,w_lorentz,&
+ lam,gxx,gxy,gxz,gyy,gyz,gzz,u,det,alp,beta)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rho,velx,vely,velz,eps,w_lorentz
+ CCTK_REAL lam(5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,det
+ CCTK_REAL alp,beta,u
+
+ CCTK_REAL cs2,one,two
+ CCTK_REAL vlowx,vlowy,vlowz,v2,w
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp,lamm_nobeta,lamp_nobeta
+ CCTK_INT handle
+ CCTK_REAL dpdrho,dpdeps,press
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ Set required fluid quantities
+
+ press = EOS_Pressure(handle,rho,eps)
+ dpdrho = EOS_DPressByDRho(handle,rho,eps)
+ dpdeps = EOS_DPressByDEps(handle,rho,eps)
+ cs2 = (dpdrho + press * dpdeps / (rho**2))/ &
+ (1.0d0 + eps + press/rho)
+
+ vlowx = gxx*velx + gxy*vely + gxz*velz
+ vlowy = gxy*velx + gyy*vely + gyz*velz
+ vlowz = gxz*velx + gyz*vely + gzz*velz
+ v2 = vlowx*velx + vlowy*vely + vlowz*velz
+
+ w = w_lorentz
+
+!!$ Calculate eigenvalues
+
+ lam1 = velx - beta/alp
+ lam2 = velx - beta/alp
+ lam3 = velx - beta/alp
+ lamp_nobeta = (velx*(one-cs2) + sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+ lamm_nobeta = (velx*(one-cs2) - sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+
+ lamp = lamp_nobeta - beta/alp
+ lamm = lamm_nobeta - beta/alp
+
+ lam(1) = lamm
+ lam(2) = lam1
+ lam(3) = lam2
+ lam(4) = lam3
+ lam(5) = lamp
+
+end subroutine eigenvalues
+
+ /*@@
+ @routine eigenproblem
+ @date Sat Jan 26 01:27:59 2002
+ @author Ian Hawke, Pedro Montero, Joachim Frieben
+ @desc
+ Despite the name this routine currently actually returns the
+ Roe flux given the input Roe average state.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Culled and altered from the routines in GR3D, author Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine eigenproblem(handle,rho,velx,vely,velz,eps,&
+ w_lorentz,gxx,gxy,gxz,gyy,gyz,gzz,u,det,&
+ alp,beta,qdiff1,qdiff2,qdiff3,qdiff4,qdiff5,&
+ roeflux1,roeflux2,roeflux3,roeflux4,roeflux5)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rho,velx,vely,velz,eps,w_lorentz
+ CCTK_REAL lam(5),p(5,5),q(5,5),dw(5),rflux(5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,u,det
+ CCTK_REAL alp,beta,roeflux1,roeflux2,roeflux3,roeflux4,roeflux5
+
+ CCTK_REAL du(5),aa(5,5),qdiff1,qdiff2,qdiff3,qdiff4,qdiff5
+
+ integer i,j
+ CCTK_REAL paug(5,6),tmp1,tmp2,sump,summ,f_du(5)
+ integer ii,jj,kk
+ CCTK_REAL leivec1(5),leivec2(5),leivec3(5),leivecp(5),leivecm(5)
+ CCTK_REAL reivec1(5),reivec2(5),reivec3(5),reivecp(5),reivecm(5)
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp,lamm_nobeta,lamp_nobeta
+ CCTK_REAL cs2,one,two
+ CCTK_REAL vlowx,vlowy,vlowz,v2,w
+ CCTK_REAL press,dpdrho,dpdeps,enthalpy,kappa
+ CCTK_REAL axp,axm,vxp,vxm,cxx,cxy,cxz,gam,xsi,dlt,vxa,vxb
+ CCTK_INT handle
+
+ character(len=150) NaN_WarnLine
+
+!!$ Warning, warning. Nasty hack follows
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ Set required fluid quantities
+
+ press = EOS_Pressure(handle,rho,eps)
+ dpdrho = EOS_DPressByDRho(handle,rho,eps)
+ dpdeps = EOS_DPressByDEps(handle,rho,eps)
+ cs2 = (dpdrho + press * dpdeps / (rho**2))/ &
+ (1.0d0 + eps + press/rho)
+! if (cs2<0) cs2=0 ! this does not modify the roe crashing problem with shocktube
+ enthalpy = one + eps + press / rho
+
+ vlowx = gxx*velx + gxy*vely + gxz*velz
+ vlowy = gxy*velx + gyy*vely + gyz*velz
+ vlowz = gxz*velx + gyz*vely + gzz*velz
+ v2 = vlowx*velx + vlowy*vely + vlowz*velz
+
+ w = w_lorentz
+
+!!$Calculate eigenvalues and put them in conventional order
+
+ lam1 = velx - beta/alp
+ lam2 = velx - beta/alp
+ lam3 = velx - beta/alp
+
+ lamp_nobeta = (velx*(one-cs2) + sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+ lamm_nobeta = (velx*(one-cs2) - sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (lamm_nobeta .ne. lamm_nobeta) then
+ write(NaN_WarnLine,'(a50,3g15.6)') 'NaN produced: (one, v2, cs2)', one, v2, cs2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+ lamp = lamp_nobeta - beta/alp
+ lamm = lamm_nobeta - beta/alp
+
+!!$ lam(1) = lamm
+!!$ lam(2) = lam1
+!!$ lam(3) = lam2
+!!$ lam(4) = lam3
+!!$ lam(5) = lamp
+
+ lam(1) = lamm
+ lam(5) = lam1
+ lam(3) = lam2
+ lam(4) = lam3
+ lam(2) = lamp
+
+!!$Compute some auxiliary quantities
+
+ axp = (u - velx*velx)/(u - velx*lamp_nobeta)
+ axm = (u - velx*velx)/(u - velx*lamm_nobeta)
+ vxp = (velx - lamp_nobeta)/(u - velx * lamp_nobeta)
+ vxm = (velx - lamm_nobeta)/(u - velx * lamm_nobeta)
+
+!!$Calculate associated right eigenvectors
+
+ kappa = dpdeps / (dpdeps - rho * cs2)
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (kappa .ne. kappa) then
+ write(NaN_WarnLine,'(a50,3g15.6)') 'NaN produced: (dpdeps, rho, cs2)', dpdeps, rho, cs2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+ reivec1(1) = kappa / (enthalpy * w)
+ reivec1(2) = vlowx
+ reivec1(3) = vlowy
+ reivec1(4) = vlowz
+ reivec1(5) = one - reivec1(1)
+
+ reivec2(1) = w * vlowy
+ reivec2(2) = enthalpy * (gxy + two * w * w * vlowx * vlowy)
+ reivec2(3) = enthalpy * (gyy + two * w * w * vlowy * vlowy)
+ reivec2(4) = enthalpy * (gyz + two * w * w * vlowy * vlowz)
+ reivec2(5) = vlowy * w * (two * w * enthalpy - one)
+
+ reivec3(1) = w * vlowz
+ reivec3(2) = enthalpy * (gxz + two * w * w * vlowx * vlowz)
+ reivec3(3) = enthalpy * (gyz + two * w * w * vlowy * vlowz)
+ reivec3(4) = enthalpy * (gzz + two * w * w * vlowz * vlowz)
+ reivec3(5) = vlowz * w * (two * w * enthalpy - one)
+
+ reivecp(1) = one
+ reivecp(2) = enthalpy * w * (vlowx - vxp)
+ reivecp(3) = enthalpy * w * vlowy
+ reivecp(4) = enthalpy * w * vlowz
+ reivecp(5) = enthalpy * w * axp - one
+
+ reivecm(1) = one
+ reivecm(2) = enthalpy * w * (vlowx - vxm)
+ reivecm(3) = enthalpy * w * vlowy
+ reivecm(4) = enthalpy * w * vlowz
+ reivecm(5) = enthalpy * w * axm - one
+
+!!$Calculate associated left eigenvectors if requested
+
+ if (ANALYTICAL) then
+
+ cxx = gyy * gzz - gyz * gyz
+ cxy = gxz * gyz - gxy * gzz
+ cxz = gxy * gyz - gxz * gyy
+ gam = gxx * cxx + gxy * cxy + gxz * cxz
+ xsi = cxx - gam * velx * velx
+ dlt = enthalpy**3 * w * (kappa - one) * (vxm - vxp) * xsi
+
+ tmp1 = w / (kappa - one)
+
+ leivec1(1) = tmp1 * (enthalpy - w)
+ leivec1(2) = tmp1 * w * velx
+ leivec1(3) = tmp1 * w * vely
+ leivec1(4) = tmp1 * w * velz
+ leivec1(5) =-tmp1 * w
+
+ tmp1 = one / (xsi * enthalpy)
+
+ leivec2(1) = (gyz * vlowz - gzz * vlowy) * tmp1
+ leivec2(2) = (gzz * vlowy - gyz * vlowz) * tmp1 * velx
+ leivec2(3) = (gzz * (one - velx * vlowx) + gxz * vlowz * velx) * tmp1
+ leivec2(4) = (gyz * (velx * vlowx - one) - gxz * velx * vlowy) * tmp1
+ leivec2(5) = (gyz * vlowz - gzz * vlowy) * tmp1
+
+ leivec3(1) = (gyz * vlowy - gyy * vlowz) * tmp1
+ leivec3(2) = (gyy * vlowz - gyz * vlowy) * tmp1 * velx
+ leivec3(3) = (gyz * (velx * vlowx - one) - gxy * velx * vlowz) * tmp1
+ leivec3(4) = (gyy * (one - velx * vlowx) + gxy * velx * vlowy) * tmp1
+ leivec3(5) = (gyz * vlowy - gyy * vlowz) * tmp1
+
+ tmp1 = enthalpy * enthalpy / dlt
+ tmp2 = w * w * xsi
+
+ leivecp(1) = - (enthalpy * w * vxm * xsi + (one - kappa) * (vxm * &
+ (tmp2 - cxx) - gam * velx) - kappa * tmp2 * vxm) * tmp1
+ leivecp(2) = - (cxx * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * velx - cxx * velx)) * tmp1
+ leivecp(3) = - (cxy * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * vely - cxy * velx)) * tmp1
+ leivecp(4) = - (cxz * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * velz - cxz * velx)) * tmp1
+ leivecp(5) = - ((one - kappa) * (vxm * (tmp2 - cxx) - gam * velx) - &
+ kappa * tmp2 * vxm) * tmp1
+
+ leivecm(1) = (enthalpy * w * vxp * xsi + (one - kappa) * (vxp * &
+ (tmp2 - cxx) - gam * velx) - kappa * tmp2 * vxp) * tmp1
+ leivecm(2) = (cxx * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * velx - cxx * velx)) * tmp1
+ leivecm(3) = (cxy * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * vely - cxy * velx)) * tmp1
+ leivecm(4) = (cxz * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * velz - cxz * velx)) * tmp1
+ leivecm(5) = ((one - kappa) * (vxp * (tmp2 - cxx) - gam * velx) - &
+ kappa * tmp2 * vxp) * tmp1
+
+ endif
+
+ du(1) = qdiff1
+ du(2) = qdiff2
+ du(3) = qdiff3
+ du(4) = qdiff4
+ du(5) = qdiff5
+
+ if (ANALYTICAL) then
+
+ if (FAST) then
+
+ sump = 0.0d0
+ summ = 0.0d0
+
+ do i=1,5
+ sump = sump + (abs(lamp) - abs(lam1)) * leivecp(i) * du(i)
+ summ = summ + (abs(lamm) - abs(lam1)) * leivecm(i) * du(i)
+ enddo
+
+ vxa = sump + summ
+ vxb =-(sump * vxp + summ * vxm)
+
+ rflux(1) = abs(lam1) * du(1) + vxa
+ rflux(2) = abs(lam1) * du(2) + enthalpy * w * (vlowx * vxa + vxb)
+ rflux(3) = abs(lam1) * du(3) + enthalpy * w * (vlowy * vxa)
+ rflux(4) = abs(lam1) * du(4) + enthalpy * w * (vlowz * vxa)
+ rflux(5) = abs(lam1) * du(5) + enthalpy * w * (velx * vxb + vxa) - vxa
+
+ else
+
+!!$Form Jacobian matrix in characteristic form from right eigenvectors.
+!!$Invert to get the characteristic jumps given the conserved variable
+!!$jumps
+
+!!$ p(:,1) = reivecm(:)
+!!$ p(:,2) = reivec1(:)
+!!$ p(:,3) = reivec2(:)
+!!$ p(:,4) = reivec3(:)
+!!$ p(:,5) = reivecp(:)
+!!$
+!!$ write(*,*) p
+!!$ stop
+
+ p(:,1) = reivecm(:)
+ p(:,2) = reivecp(:)
+ p(:,3) = reivec2(:)
+ p(:,4) = reivec3(:)
+ p(:,5) = reivec1(:)
+
+ q(1,:) = leivecm(:)
+ q(2,:) = leivecp(:)
+ q(3,:) = leivec2(:)
+ q(4,:) = leivec3(:)
+ q(5,:) = leivec1(:)
+
+ do i=1,5
+ dw(i) = 0.0d0
+ do j=1,5
+ dw(i) = dw(i) + q(i,j) * du(j)
+ enddo
+ enddo
+
+!!$Calculate the Roe flux from the standard formula
+
+ do i = 1, 5
+ rflux(i) = 0.d0
+ do j = 1, 5
+ rflux(i) = rflux(i) + p(i,j) * abs(lam(j)) * dw(j)
+ end do
+ end do
+ endif
+
+ else
+
+ p(:,1) = reivecm(:)
+ p(:,2) = reivecp(:)
+ p(:,3) = reivec2(:)
+ p(:,4) = reivec3(:)
+ p(:,5) = reivec1(:)
+
+ do i=1,5
+ dw(i) = du(i)
+ do j=1,5
+ aa(i,j) = p(i,j)
+ end do
+ enddo
+
+ do ii=1,5
+ paug(ii,1) = p(ii,1)
+ paug(ii,2) = p(ii,2)
+ paug(ii,3) = p(ii,3)
+ paug(ii,4) = p(ii,4)
+ paug(ii,5) = p(ii,5)
+ enddo
+
+ paug(1, 6) = du(1)
+ paug(2, 6) = du(2)
+ paug(3, 6) = du(3)
+ paug(4, 6) = du(4)
+ paug(5, 6) = du(5)
+
+ do ii=1,5
+ tmp1 = paug(ii,ii)
+ do jj=ii,6
+ paug(ii,jj) = paug(ii,jj)/tmp1
+ enddo
+
+ do jj=ii+1,5
+ tmp1 = - (paug(jj,ii))
+ do kk=ii,6
+ paug(jj,kk) = paug(jj,kk) + tmp1*paug(ii,kk)
+ enddo
+ enddo
+
+ enddo
+
+ f_du(5) = paug(5,6)
+
+ do ii=4,1,-1
+ f_du(ii) = paug(ii,6)
+ do jj=ii+1,5
+ f_du(ii) = f_du(ii) - paug(ii,jj)*f_du(jj)
+ enddo
+ enddo
+
+ dw(1) = f_du(1)
+ dw(2) = f_du(2)
+ dw(3) = f_du(3)
+ dw(4) = f_du(4)
+ dw(5) = f_du(5)
+
+!!$ dw(1) = f_du(1)
+!!$ dw(2) = f_du(5)
+!!$ dw(3) = f_du(3)
+!!$ dw(4) = f_du(4)
+!!$ dw(5) = f_du(2)
+
+!!$Calculate the Roe flux from the standard formula
+
+ do i = 1, 5
+ rflux(i) = 0.d0
+ do j = 1, 5
+ rflux(i) = rflux(i) + p(i,j) * abs(lam(j)) * dw(j)
+ end do
+ end do
+
+ endif
+
+ roeflux1 = rflux(1)
+ roeflux2 = rflux(2)
+ roeflux3 = rflux(3)
+ roeflux4 = rflux(4)
+ roeflux5 = rflux(5)
+
+end subroutine eigenproblem
+
+ /*@@
+ @routine eigenproblem_leftright
+ @date Sat Jan 26 01:27:59 2002
+ @author Ian Hawke, Pedro Montero, Joachim Frieben
+ @desc
+ Returns the left and right eigenvectors.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine eigenproblem_leftright(handle,rho,velx,vely,velz,eps,&
+ w_lorentz,gxx,gxy,gxz,gyy,gyz,gzz,u,det,&
+ alp,beta,lambda,levec,revec)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rho,velx,vely,velz,eps,w_lorentz
+ CCTK_REAL lambda(5),levec(5,5),revec(5,5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,u,det
+ CCTK_REAL alp,beta
+
+ CCTK_REAL tmp1,tmp2
+ CCTK_REAL leivec1(5),leivec2(5),leivec3(5),leivecp(5),leivecm(5)
+ CCTK_REAL reivec1(5),reivec2(5),reivec3(5),reivecp(5),reivecm(5)
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp,lamm_nobeta,lamp_nobeta
+ CCTK_REAL cs2,one,two
+ CCTK_REAL vlowx,vlowy,vlowz,v2,w
+ CCTK_REAL press,dpdrho,dpdeps,enthalpy,kappa
+ CCTK_REAL axp,axm,vxp,vxm,cxx,cxy,cxz,gam,xsi,dlt
+ CCTK_INT handle
+
+ character(len=256) NaN_WarnLine
+
+!!$ Warning, warning. Nasty hack follows
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ Set required fluid quantities
+
+ press = EOS_Pressure(handle,rho,eps)
+ dpdrho = EOS_DPressByDRho(handle,rho,eps)
+ dpdeps = EOS_DPressByDEps(handle,rho,eps)
+ cs2 = (dpdrho + press * dpdeps / (rho**2))/ &
+ (1.0d0 + eps + press/rho)
+! if (cs2<0) cs2=0 ! this does not modify the roe crashing problem with shocktube
+ enthalpy = one + eps + press / rho
+
+ vlowx = gxx*velx + gxy*vely + gxz*velz
+ vlowy = gxy*velx + gyy*vely + gyz*velz
+ vlowz = gxz*velx + gyz*vely + gzz*velz
+ v2 = vlowx*velx + vlowy*vely + vlowz*velz
+
+ w = w_lorentz
+
+!!$Calculate eigenvalues and put them in conventional order
+
+ lam1 = velx - beta/alp
+ lam2 = velx - beta/alp
+ lam3 = velx - beta/alp
+
+ lamp_nobeta = (velx*(one-cs2) + sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+ lamm_nobeta = (velx*(one-cs2) - sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (lamm_nobeta .ne. lamm_nobeta) then
+ write(NaN_WarnLine,'(a50,3g15.6)') 'NaN produced: (one, v2, cs2)', one, v2, cs2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+ lamp = lamp_nobeta - beta/alp
+ lamm = lamm_nobeta - beta/alp
+
+!!$ lam(1) = lamm
+!!$ lam(2) = lam1
+!!$ lam(3) = lam2
+!!$ lam(4) = lam3
+!!$ lam(5) = lamp
+
+ lambda(1) = lamm
+ lambda(2) = lam1
+ lambda(3) = lam2
+ lambda(4) = lam3
+ lambda(5) = lamp
+
+!!$Compute some auxiliary quantities
+
+ axp = (u - velx*velx)/(u - velx*lamp_nobeta)
+ axm = (u - velx*velx)/(u - velx*lamm_nobeta)
+ vxp = (velx - lamp_nobeta)/(u - velx * lamp_nobeta)
+ vxm = (velx - lamm_nobeta)/(u - velx * lamm_nobeta)
+
+!!$Calculate associated right eigenvectors
+
+ kappa = dpdeps / (dpdeps - rho * cs2)
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (kappa .ne. kappa) then
+ write(NaN_WarnLine,'(a50,3g15.6)') 'NaN produced: (dpdeps, rho, cs2)', dpdeps, rho, cs2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+ reivec1(1) = kappa / (enthalpy * w)
+ reivec1(2) = vlowx
+ reivec1(3) = vlowy
+ reivec1(4) = vlowz
+ reivec1(5) = one - reivec1(1)
+
+ reivec2(1) = w * vlowy
+ reivec2(2) = enthalpy * (gxy + two * w * w * vlowx * vlowy)
+ reivec2(3) = enthalpy * (gyy + two * w * w * vlowy * vlowy)
+ reivec2(4) = enthalpy * (gyz + two * w * w * vlowy * vlowz)
+ reivec2(5) = vlowy * w * (two * w * enthalpy - one)
+
+ reivec3(1) = w * vlowz
+ reivec3(2) = enthalpy * (gxz + two * w * w * vlowx * vlowz)
+ reivec3(3) = enthalpy * (gyz + two * w * w * vlowy * vlowz)
+ reivec3(4) = enthalpy * (gzz + two * w * w * vlowz * vlowz)
+ reivec3(5) = vlowz * w * (two * w * enthalpy - one)
+
+ reivecp(1) = one
+ reivecp(2) = enthalpy * w * (vlowx - vxp)
+ reivecp(3) = enthalpy * w * vlowy
+ reivecp(4) = enthalpy * w * vlowz
+ reivecp(5) = enthalpy * w * axp - one
+
+ reivecm(1) = one
+ reivecm(2) = enthalpy * w * (vlowx - vxm)
+ reivecm(3) = enthalpy * w * vlowy
+ reivecm(4) = enthalpy * w * vlowz
+ reivecm(5) = enthalpy * w * axm - one
+
+ revec(1,:) = reivecm
+ revec(2,:) = reivec1
+ revec(3,:) = reivec2
+ revec(4,:) = reivec3
+ revec(5,:) = reivecp
+
+!!$Calculate associated left eigenvectors if requested
+
+ cxx = gyy * gzz - gyz * gyz
+ cxy = gxz * gyz - gxy * gzz
+ cxz = gxy * gyz - gxz * gyy
+ gam = gxx * cxx + gxy * cxy + gxz * cxz
+ xsi = cxx - gam * velx * velx
+ dlt = enthalpy**3 * w * (kappa - one) * (vxm - vxp) * xsi
+
+ tmp1 = w / (kappa - one)
+
+ leivec1(1) = tmp1 * (enthalpy - w)
+ leivec1(2) = tmp1 * w * velx
+ leivec1(3) = tmp1 * w * vely
+ leivec1(4) = tmp1 * w * velz
+ leivec1(5) =-tmp1 * w
+
+ tmp1 = one / (xsi * enthalpy)
+
+ leivec2(1) = (gyz * vlowz - gzz * vlowy) * tmp1
+ leivec2(2) = (gzz * vlowy - gyz * vlowz) * tmp1 * velx
+ leivec2(3) = (gzz * (one - velx * vlowx) + gxz * vlowz * velx) * tmp1
+ leivec2(4) = (gyz * (velx * vlowx - one) - gxz * velx * vlowy) * tmp1
+ leivec2(5) = (gyz * vlowz - gzz * vlowy) * tmp1
+
+ leivec3(1) = (gyz * vlowy - gyy * vlowz) * tmp1
+ leivec3(2) = (gyy * vlowz - gyz * vlowy) * tmp1 * velx
+ leivec3(3) = (gyz * (velx * vlowx - one) - gxy * velx * vlowz) * tmp1
+ leivec3(4) = (gyy * (one - velx * vlowx) + gxy * velx * vlowy) * tmp1
+ leivec3(5) = (gyz * vlowy - gyy * vlowz) * tmp1
+
+ tmp1 = enthalpy * enthalpy / dlt
+ tmp2 = w * w * xsi
+
+ leivecp(1) = - (enthalpy * w * vxm * xsi + (one - kappa) * (vxm * &
+ (tmp2 - cxx) - gam * velx) - kappa * tmp2 * vxm) * tmp1
+ leivecp(2) = - (cxx * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * velx - cxx * velx)) * tmp1
+ leivecp(3) = - (cxy * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * vely - cxy * velx)) * tmp1
+ leivecp(4) = - (cxz * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * velz - cxz * velx)) * tmp1
+ leivecp(5) = - ((one - kappa) * (vxm * (tmp2 - cxx) - gam * velx) - &
+ kappa * tmp2 * vxm) * tmp1
+
+ leivecm(1) = (enthalpy * w * vxp * xsi + (one - kappa) * (vxp * &
+ (tmp2 - cxx) - gam * velx) - kappa * tmp2 * vxp) * tmp1
+ leivecm(2) = (cxx * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * velx - cxx * velx)) * tmp1
+ leivecm(3) = (cxy * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * vely - cxy * velx)) * tmp1
+ leivecm(4) = (cxz * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * velz - cxz * velx)) * tmp1
+ leivecm(5) = ((one - kappa) * (vxp * (tmp2 - cxx) - gam * velx) - &
+ kappa * tmp2 * vxp) * tmp1
+
+ levec(1,:) = leivecm
+ levec(2,:) = leivec1
+ levec(3,:) = leivec2
+ levec(4,:) = leivec3
+ levec(5,:) = leivecp
+
+end subroutine eigenproblem_leftright
+
+ /*@@
+ @routine eigenvalues
+ @date Sat Jan 26 01:26:20 2002
+ @author Ian Hawke
+ @desc
+ Computes the eigenvalues of the Jacobian matrix evaluated
+ at the given state.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Culled from the routines in GR3D, author Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine eigenvalues_general(&
+ rho,velx,vely,velz,eps,press,cs2,&
+ lam,&
+ gxx,gxy,gxz,gyy,gyz,gzz,&
+ u,det,alp,beta)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rho,velx,vely,velz,eps
+ CCTK_REAL lam(5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,det
+ CCTK_REAL alp,beta,u
+
+ CCTK_REAL cs2,one,two
+ CCTK_REAL vlowx,vlowy,vlowz,v2,w
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp,lamm_nobeta,lamp_nobeta
+ CCTK_REAL press
+
+ character(len=256) NaN_WarnLine
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ Set required fluid quantities
+
+ vlowx = gxx*velx + gxy*vely + gxz*velz
+ vlowy = gxy*velx + gyy*vely + gyz*velz
+ vlowz = gxz*velx + gyz*vely + gzz*velz
+ v2 = vlowx*velx + vlowy*vely + vlowz*velz
+
+ w = one / sqrt(one - v2)
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (w .ne. w) then
+ write(NaN_WarnLine,'(a50,2g15.6)') 'NaN produced: (one, v2)', one, v2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+!!$ Calculate eigenvalues
+
+ lam1 = velx - beta/alp
+ lam2 = velx - beta/alp
+ lam3 = velx - beta/alp
+ lamp_nobeta = (velx*(one-cs2) + sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+ lamm_nobeta = (velx*(one-cs2) - sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (lamm_nobeta .ne. lamm_nobeta) then
+ write(NaN_WarnLine,'(a50,3g15.6)') 'NaN produced: (one, v2, cs2)', one, v2, cs2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+ lamp = lamp_nobeta - beta/alp
+ lamm = lamm_nobeta - beta/alp
+
+ lam(1) = lamm
+ lam(2) = lam1
+ lam(3) = lam2
+ lam(4) = lam3
+ lam(5) = lamp
+
+end subroutine eigenvalues_general
+
+ /*@@
+ @routine eigenproblem_general
+ @date Sat Jan 26 01:27:59 2002
+ @author Ian Hawke, Pedro Montero, Joachim Frieben
+ @desc
+ Despite the name this routine currently actually returns the
+ Roe flux given the input Roe average state.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Culled and altered from the routines in GR3D, author Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine eigenproblem_general(&
+ rho,velx,vely,velz,eps,&
+ press,cs2,dpdeps,&
+ gxx,gxy,gxz,gyy,gyz,gzz,&
+ u,det,alp,beta,&
+ qdiff1,qdiff2,qdiff3,qdiff4,qdiff5,&
+ roeflux1,roeflux2,roeflux3,roeflux4,roeflux5)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rho,velx,vely,velz,eps
+ CCTK_REAL lam(5),p(5,5),q(5,5),dw(5),rflux(5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,u,det
+ CCTK_REAL alp,beta,roeflux1,roeflux2,roeflux3,roeflux4,roeflux5
+
+ CCTK_REAL du(5),aa(5,5),qdiff1,qdiff2,qdiff3,qdiff4,qdiff5
+
+ integer i,j
+ CCTK_REAL paug(5,6),tmp1,tmp2,sump,summ,f_du(5)
+ integer ii,jj,kk
+ CCTK_REAL leivec1(5),leivec2(5),leivec3(5),leivecp(5),leivecm(5)
+ CCTK_REAL reivec1(5),reivec2(5),reivec3(5),reivecp(5),reivecm(5)
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp,lamm_nobeta,lamp_nobeta
+ CCTK_REAL cs2,one,two
+ CCTK_REAL vlowx,vlowy,vlowz,v2,w
+ CCTK_REAL press,dpdeps,enthalpy,kappa
+ CCTK_REAL axp,axm,vxp,vxm,cxx,cxy,cxz,gam,xsi,dlt,vxa,vxb
+
+ character(len=256) NaN_WarnLine
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ Set required fluid quantities
+ enthalpy = one + eps + press / rho
+
+ vlowx = gxx*velx + gxy*vely + gxz*velz
+ vlowy = gxy*velx + gyy*vely + gyz*velz
+ vlowz = gxz*velx + gyz*vely + gzz*velz
+ v2 = vlowx*velx + vlowy*vely + vlowz*velz
+
+ w = one / sqrt(one - v2)
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (w .ne. w) then
+ write(NaN_WarnLine,'(a50,2g15.6)') 'NaN produced: (one, v2)', one, v2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+!!$Calculate eigenvalues and put them in conventional order
+
+ lam1 = velx - beta/alp
+ lam2 = velx - beta/alp
+ lam3 = velx - beta/alp
+
+ lamp_nobeta = (velx*(one-cs2) + sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+ lamm_nobeta = (velx*(one-cs2) - sqrt(cs2*(one-v2)*&
+ (u*(one-v2*cs2) - velx**2*(one-cs2))))/(one-v2*cs2)
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (lamm_nobeta .ne. lamm_nobeta) then
+ write(NaN_WarnLine,'(a50,3g15.6)') 'NaN produced: (one, v2, cs2)', one, v2, cs2
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+ lamp = lamp_nobeta - beta/alp
+ lamm = lamm_nobeta - beta/alp
+
+!!$ lam(1) = lamm
+!!$ lam(2) = lam1
+!!$ lam(3) = lam2
+!!$ lam(4) = lam3
+!!$ lam(5) = lamp
+
+ lam(1) = lamm
+ lam(5) = lam1
+ lam(3) = lam2
+ lam(4) = lam3
+ lam(2) = lamp
+
+!!$Compute some auxiliary quantities
+
+ axp = (u - velx*velx)/(u - velx*lamp_nobeta)
+ axm = (u - velx*velx)/(u - velx*lamm_nobeta)
+ vxp = (velx - lamp_nobeta)/(u - velx * lamp_nobeta)
+ vxm = (velx - lamm_nobeta)/(u - velx * lamm_nobeta)
+
+!!$Calculate associated right eigenvectors
+
+ kappa = dpdeps / (dpdeps - rho * cs2)
+
+ reivec1(1) = kappa / (enthalpy * w)
+ reivec1(2) = vlowx
+ reivec1(3) = vlowy
+ reivec1(4) = vlowz
+ reivec1(5) = one - reivec1(1)
+
+ reivec2(1) = w * vlowy
+ reivec2(2) = enthalpy * (gxy + two * w * w * vlowx * vlowy)
+ reivec2(3) = enthalpy * (gyy + two * w * w * vlowy * vlowy)
+ reivec2(4) = enthalpy * (gyz + two * w * w * vlowy * vlowz)
+ reivec2(5) = vlowy * w * (two * w * enthalpy - one)
+
+ reivec3(1) = w * vlowz
+ reivec3(2) = enthalpy * (gxz + two * w * w * vlowx * vlowz)
+ reivec3(3) = enthalpy * (gyz + two * w * w * vlowy * vlowz)
+ reivec3(4) = enthalpy * (gzz + two * w * w * vlowz * vlowz)
+ reivec3(5) = vlowz * w * (two * w * enthalpy - one)
+
+ reivecp(1) = one
+ reivecp(2) = enthalpy * w * (vlowx - vxp)
+ reivecp(3) = enthalpy * w * vlowy
+ reivecp(4) = enthalpy * w * vlowz
+ reivecp(5) = enthalpy * w * axp - one
+
+ reivecm(1) = one
+ reivecm(2) = enthalpy * w * (vlowx - vxm)
+ reivecm(3) = enthalpy * w * vlowy
+ reivecm(4) = enthalpy * w * vlowz
+ reivecm(5) = enthalpy * w * axm - one
+
+!!$Calculate associated left eigenvectors if requested
+
+ if (ANALYTICAL) then
+
+ cxx = gyy * gzz - gyz * gyz
+ cxy = gxz * gyz - gxy * gzz
+ cxz = gxy * gyz - gxz * gyy
+ gam = gxx * cxx + gxy * cxy + gxz * cxz
+ xsi = cxx - gam * velx * velx
+ dlt = enthalpy**3 * w * (kappa - one) * (vxm - vxp) * xsi
+
+ tmp1 = w / (kappa - one)
+
+ leivec1(1) = tmp1 * (enthalpy - w)
+ leivec1(2) = tmp1 * w * velx
+ leivec1(3) = tmp1 * w * vely
+ leivec1(4) = tmp1 * w * velz
+ leivec1(5) =-tmp1 * w
+
+ tmp1 = one / (xsi * enthalpy)
+
+ leivec2(1) = (gyz * vlowz - gzz * vlowy) * tmp1
+ leivec2(2) = (gzz * vlowy - gyz * vlowz) * tmp1 * velx
+ leivec2(3) = (gzz * (one - velx * vlowx) + gxz * vlowz * velx) * tmp1
+ leivec2(4) = (gyz * (velx * vlowx - one) - gxz * velx * vlowy) * tmp1
+ leivec2(5) = (gyz * vlowz - gzz * vlowy) * tmp1
+
+ leivec3(1) = (gyz * vlowy - gyy * vlowz) * tmp1
+ leivec3(2) = (gyy * vlowz - gyz * vlowy) * tmp1 * velx
+ leivec3(3) = (gyz * (velx * vlowx - one) - gxy * velx * vlowz) * tmp1
+ leivec3(4) = (gyy * (one - velx * vlowx) + gxy * velx * vlowy) * tmp1
+ leivec3(5) = (gyz * vlowy - gyy * vlowz) * tmp1
+
+ tmp1 = enthalpy * enthalpy / dlt
+ tmp2 = w * w * xsi
+
+ leivecp(1) = - (enthalpy * w * vxm * xsi + (one - kappa) * (vxm * &
+ (tmp2 - cxx) - gam * velx) - kappa * tmp2 * vxm) * tmp1
+ leivecp(2) = - (cxx * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * velx - cxx * velx)) * tmp1
+ leivecp(3) = - (cxy * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * vely - cxy * velx)) * tmp1
+ leivecp(4) = - (cxz * (one - kappa * axm) + (two * kappa - one) * vxm * &
+ (tmp2 * velz - cxz * velx)) * tmp1
+ leivecp(5) = - ((one - kappa) * (vxm * (tmp2 - cxx) - gam * velx) - &
+ kappa * tmp2 * vxm) * tmp1
+
+ leivecm(1) = (enthalpy * w * vxp * xsi + (one - kappa) * (vxp * &
+ (tmp2 - cxx) - gam * velx) - kappa * tmp2 * vxp) * tmp1
+ leivecm(2) = (cxx * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * velx - cxx * velx)) * tmp1
+ leivecm(3) = (cxy * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * vely - cxy * velx)) * tmp1
+ leivecm(4) = (cxz * (one - kappa * axp) + (two * kappa - one) * vxp * &
+ (tmp2 * velz - cxz * velx)) * tmp1
+ leivecm(5) = ((one - kappa) * (vxp * (tmp2 - cxx) - gam * velx) - &
+ kappa * tmp2 * vxp) * tmp1
+
+ endif
+
+ du(1) = qdiff1
+ du(2) = qdiff2
+ du(3) = qdiff3
+ du(4) = qdiff4
+ du(5) = qdiff5
+
+ if (ANALYTICAL) then
+
+ if (FAST) then
+
+ sump = 0.0d0
+ summ = 0.0d0
+
+ do i=1,5
+ sump = sump + (abs(lamp) - abs(lam1)) * leivecp(i) * du(i)
+ summ = summ + (abs(lamm) - abs(lam1)) * leivecm(i) * du(i)
+ enddo
+
+ vxa = sump + summ
+ vxb =-(sump * vxp + summ * vxm)
+
+ rflux(1) = abs(lam1) * du(1) + vxa
+ rflux(2) = abs(lam1) * du(2) + enthalpy * w * (vlowx * vxa + vxb)
+ rflux(3) = abs(lam1) * du(3) + enthalpy * w * (vlowy * vxa)
+ rflux(4) = abs(lam1) * du(4) + enthalpy * w * (vlowz * vxa)
+ rflux(5) = abs(lam1) * du(5) + enthalpy * w * (velx * vxb + vxa) - vxa
+
+ else
+
+!!$Form Jacobian matrix in characteristic form from right eigenvectors.
+!!$Invert to get the characteristic jumps given the conserved variable
+!!$jumps
+
+!!$ p(:,1) = reivecm(:)
+!!$ p(:,2) = reivec1(:)
+!!$ p(:,3) = reivec2(:)
+!!$ p(:,4) = reivec3(:)
+!!$ p(:,5) = reivecp(:)
+!!$
+!!$ write(*,*) p
+!!$ stop
+
+ p(:,1) = reivecm(:)
+ p(:,2) = reivecp(:)
+ p(:,3) = reivec2(:)
+ p(:,4) = reivec3(:)
+ p(:,5) = reivec1(:)
+
+ q(1,:) = leivecm(:)
+ q(2,:) = leivecp(:)
+ q(3,:) = leivec2(:)
+ q(4,:) = leivec3(:)
+ q(5,:) = leivec1(:)
+
+ do i=1,5
+ dw(i) = 0.0d0
+ do j=1,5
+ dw(i) = dw(i) + q(i,j) * du(j)
+ enddo
+ enddo
+
+!!$Calculate the Roe flux from the standard formula
+
+ do i = 1, 5
+ rflux(i) = 0.d0
+ do j = 1, 5
+ rflux(i) = rflux(i) + p(i,j) * abs(lam(j)) * dw(j)
+ end do
+ end do
+ endif
+
+ else
+
+ p(:,1) = reivecm(:)
+ p(:,2) = reivecp(:)
+ p(:,3) = reivec2(:)
+ p(:,4) = reivec3(:)
+ p(:,5) = reivec1(:)
+
+ do i=1,5
+ dw(i) = du(i)
+ do j=1,5
+ aa(i,j) = p(i,j)
+ end do
+ enddo
+
+ do ii=1,5
+ paug(ii,1) = p(ii,1)
+ paug(ii,2) = p(ii,2)
+ paug(ii,3) = p(ii,3)
+ paug(ii,4) = p(ii,4)
+ paug(ii,5) = p(ii,5)
+ enddo
+
+ paug(1, 6) = du(1)
+ paug(2, 6) = du(2)
+ paug(3, 6) = du(3)
+ paug(4, 6) = du(4)
+ paug(5, 6) = du(5)
+
+ do ii=1,5
+ tmp1 = paug(ii,ii)
+ do jj=ii,6
+ paug(ii,jj) = paug(ii,jj)/tmp1
+ enddo
+
+ do jj=ii+1,5
+ tmp1 = - (paug(jj,ii))
+ do kk=ii,6
+ paug(jj,kk) = paug(jj,kk) + tmp1*paug(ii,kk)
+ enddo
+ enddo
+
+ enddo
+
+ f_du(5) = paug(5,6)
+
+ do ii=4,1,-1
+ f_du(ii) = paug(ii,6)
+ do jj=ii+1,5
+ f_du(ii) = f_du(ii) - paug(ii,jj)*f_du(jj)
+ enddo
+ enddo
+
+ dw(1) = f_du(1)
+ dw(2) = f_du(2)
+ dw(3) = f_du(3)
+ dw(4) = f_du(4)
+ dw(5) = f_du(5)
+!!$
+!!$ dw(1) = f_du(1)
+!!$ dw(2) = f_du(5)
+!!$ dw(3) = f_du(3)
+!!$ dw(4) = f_du(4)
+!!$ dw(5) = f_du(2)
+
+!!$Calculate the Roe flux from the standard formula
+
+ do i = 1, 5
+ rflux(i) = 0.d0
+ do j = 1, 5
+ rflux(i) = rflux(i) + p(i,j) * abs(lam(j)) * dw(j)
+ end do
+ end do
+
+ endif
+
+ roeflux1 = rflux(1)
+ roeflux2 = rflux(2)
+ roeflux3 = rflux(3)
+ roeflux4 = rflux(4)
+ roeflux5 = rflux(5)
+
+end subroutine eigenproblem_general
diff --git a/src/Whisky_Eigenproblem_Marquina.F90 b/src/Whisky_Eigenproblem_Marquina.F90
new file mode 100644
index 0000000..a40d8ee
--- /dev/null
+++ b/src/Whisky_Eigenproblem_Marquina.F90
@@ -0,0 +1,1441 @@
+/*@@
+ @file Whisky_Eigenproblem_Marquina.F90
+ @date Wed Feb 13 12:30 2002
+ @author Pedro Montero, Toni Font, Joachim Frieben
+ @desc
+ Computes the eigenvectors (p) and eigenvalues (lam) for Marquina flux
+ formula for the input primitive state. Note that this is the MODIFIED
+ Marquina formula as given by M. A. Aloy et al., Astrophys. J. Suppl.
+ 122 (1999) 151, and not the full Marquina flux of Donat and Marquina.
+ The optimized method for computing the Marquina flux in the special
+ relativistic case is due to M. A. Aloy et al., Comput. Phys. Commun.
+ 120 (1999) 115-121, and has been extended to the general relativistic
+ case as employed in this subroutine by J. Frieben, J. M. Ibanez, and
+ J. Pons (in preparation).
+ @enddesc
+@@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine eigenproblem_marquina
+ @date Wed Feb 13 12:27:59 2002
+ @author Pedro Montero, Toni Font, Joachim Frieben
+ @desc
+ Computes the eigenvectors (p) and eigenvalues (lam) for
+ Marquina flux formula
+ for the input primitive state.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Follows the routines by Toni Font and GR3D of Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine eigenproblem_marquina(handle,rhor,velxr,velyr,&
+ velzr,epsr,rhol,velxl,velyl,velzl,epsl,gxx,gxy,gxz,&
+ gyy,gyz,gzz,u,det,alp,beta,densl,sxl,syl,szl,taul,&
+ densr,sxr,syr,szr,taur,flux1,flux2,flux3,flux4,flux5)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rhor,velxr,velyr,velzr,epsr,w_lorentzr
+ CCTK_REAL rhol,velxl,velyl,velzl,epsl,w_lorentzl
+ CCTK_REAL densl,sxl,syl,szl,taul
+ CCTK_REAL densr,sxr,syr,szr,taur
+
+ CCTK_REAL lam(5),p(5,5),q(5,5),dw(5)
+ CCTK_REAL rfluxr(5),rfluxl(5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,u,det
+ CCTK_REAL alp,beta,flux1r,flux2r,flux3r,flux4r,flux5r
+ CCTK_REAL flux1l,flux2l,flux3l,flux4l,flux5l
+ CCTK_REAL flux1,flux2,flux3,flux4,flux5
+
+ character(len=256) NaN_WarnLine
+
+!!$ LOCAL VARS
+
+ CCTK_REAL du(5),aa(5,5),qdiff1,qdiff2,qdiff3,qdiff4,qdiff5
+ integer i,j,k,l
+ CCTK_REAL paug(5,6),tmp1,tmp2,sump,summ,f_du(5)
+ CCTK_REAL leivec1l(5),leivec2l(5),leivec3l(5),leivecpl(5),leivecml(5)
+ CCTK_REAL leivec1r(5),leivec2r(5),leivec3r(5),leivecpr(5),leivecmr(5)
+ CCTK_REAL reivec1l(5),reivec2l(5),reivec3l(5),reivecpl(5),reivecml(5)
+ CCTK_REAL reivec1r(5),reivec2r(5),reivec3r(5),reivecpr(5),reivecmr(5)
+ CCTK_REAL lam1l,lam2l,lam3l,lamml,lampl,lamm_nobetal,lamp_nobetal
+ CCTK_REAL lam1r,lam2r,lam3r,lammr,lampr,lamm_nobetar,lamp_nobetar
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp
+
+ CCTK_REAL cs2l,cs2r,one,two
+ CCTK_REAL vlowxr,vlowyr,vlowzr,v2r,wr
+ CCTK_REAL vlowxl,vlowyl,vlowzl,v2l,wl
+
+ CCTK_REAL lamp_nobeta,lamm_nobeta
+
+ CCTK_REAL pressl,dpdrhol,dpdepsl,enthalpyl,kappal
+ CCTK_REAL pressr,dpdrhor,dpdepsr,enthalpyr,kappar
+ CCTK_REAL axpl,axml,vxpl,vxml,xsil,dltl
+ CCTK_REAL axpr,axmr,vxpr,vxmr,xsir,dltr
+ CCTK_REAL cxx,cxy,cxz,gam,vxa,vxb
+ CCTK_INT handle
+
+!!$ Warning, warning. Nasty hack follows
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ LEFT
+
+!!$ Set required fluid quantities
+
+ pressl = EOS_Pressure(handle,rhol,epsl)
+ dpdrhol = EOS_DPressByDRho(handle,rhol,epsl)
+ dpdepsl = EOS_DPressByDEps(handle,rhol,epsl)
+ cs2l = (dpdrhol + pressl * dpdepsl / (rhol**2))/ &
+ (1.0d0 + epsl + pressl/rhol)
+
+ enthalpyl = one + epsl + pressl / rhol
+
+ vlowxl = gxx*velxl + gxy*velyl + gxz*velzl
+ vlowyl = gxy*velxl + gyy*velyl + gyz*velzl
+ vlowzl = gxz*velxl + gyz*velyl + gzz*velzl
+ v2l = vlowxl*velxl + vlowyl*velyl + vlowzl*velzl
+
+!!$ Assume consistent primitive data
+
+ wl = one / sqrt(one - v2l)
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (wl .ne. wl) then
+ write(NaN_WarnLine,'(a100,2g15.6)') 'NaN produced: (one, v2l)', one, v2l
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+!!$ EIGENVALUES
+
+ lam1l = velxl - beta/alp
+ lam2l = lam1l
+ lam3l = lam1l
+ lamp_nobetal = (velxl*(one-cs2l) + sqrt(cs2l*(one-v2l)* &
+ (u*(one-v2l*cs2l) - velxl**2*(one-cs2l))))/(one-v2l*cs2l)
+ lamm_nobetal = (velxl*(one-cs2l) - sqrt(cs2l*(one-v2l)* &
+ (u*(one-v2l*cs2l) - velxl**2*(one-cs2l))))/(one-v2l*cs2l)
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (lamp_nobetal .ne. lamp_nobetal) then
+ write(NaN_WarnLine,'(a150,5g15.6)') 'NaN produced: (cs2l, one, v2l, u, velxl)', cs2l, one, v2l, u, velxl
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+ lampl = lamp_nobetal - beta/alp
+ lamml = lamm_nobetal - beta/alp
+
+!!$ RIGHT
+
+!!$ Set required fluid quantities
+
+ pressr = EOS_Pressure(handle,rhor,epsr)
+ dpdrhor = EOS_DPressByDRho(handle,rhor,epsr)
+ dpdepsr = EOS_DPressByDEps(handle,rhor,epsr)
+ cs2r = (dpdrhor + pressr * dpdepsr / (rhor**2))/ &
+ (1.0d0 + epsr + pressr/rhor)
+
+ enthalpyr = one + epsr + pressr / rhor
+
+ vlowxr = gxx*velxr + gxy*velyr + gxz*velzr
+ vlowyr = gxy*velxr + gyy*velyr + gyz*velzr
+ vlowzr = gxz*velxr + gyz*velyr + gzz*velzr
+ v2r = vlowxr*velxr + vlowyr*velyr + vlowzr*velzr
+
+!!$ Assume consistent primitive data
+
+ wr = one / sqrt(one - v2r)
+
+!!$ BEGIN: Check for NaN value (3rd check)
+ if (wr .ne. wr) then
+ write(NaN_WarnLine,'(a100,2g15.6)') 'NaN produced: (one, v2r)', one, v2r
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (3rd check)
+
+!!$ EIGENVALUES
+
+ lam1r = velxr - beta/alp
+ lam2r = lam1r
+ lam3r = lam1r
+ lamp_nobetar = (velxr*(one-cs2r) + sqrt(cs2r*(one-v2r)* &
+ (u*(one-v2r*cs2r) - velxr**2*(one-cs2r))))/(one-v2r*cs2r)
+ lamm_nobetar = (velxr*(one-cs2r) - sqrt(cs2r*(one-v2r)* &
+ (u*(one-v2r*cs2r) - velxr**2*(one-cs2r))))/(one-v2r*cs2r)
+
+!!$ BEGIN: Check for NaN value (4th check)
+ if (lamp_nobetar .ne. lamp_nobetar) then
+ write(NaN_WarnLine,'(a150,5g15.6)') 'NaN produced: (cs2r, one, v2r, u, velxr)', cs2r, one, v2r, u, velxr
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (4th check)
+
+ lampr = lamp_nobetar - beta/alp
+ lammr = lamm_nobetar - beta/alp
+
+!!$ FINAL
+
+ lam1 = dmax1(dabs(lam1l),dabs(lam1r))
+ lam2 = lam1
+ lam3 = lam1
+ lamp = dmax1(dabs(lampl),dabs(lampr))
+ lamm = dmax1(dabs(lamml),dabs(lammr))
+
+!!$ lam(1) = lamm
+!!$ lam(2) = lam1
+!!$ lam(3) = lam2
+!!$ lam(4) = lam3
+!!$ lam(5) = lamp
+
+ lam(1) = lamm
+ lam(5) = lam1
+ lam(3) = lam2
+ lam(4) = lam3
+ lam(2) = lamp
+
+!!$ LEFT
+
+!!$ Compute some auxiliary quantities
+
+ axpl = (u - velxl*velxl)/(u - velxl*lamp_nobetal)
+ axml = (u - velxl*velxl)/(u - velxl*lamm_nobetal)
+ vxpl = (velxl - lamp_nobetal)/(u - velxl * lamp_nobetal)
+ vxml = (velxl - lamm_nobetal)/(u - velxl * lamm_nobetal)
+
+!!$ Calculate associated right eigenvectors
+
+ kappal = dpdepsl / (dpdepsl - rhol * cs2l)
+
+!!$ Right eigenvector # 1
+
+ reivec1l(1) = kappal / (enthalpyl * wl)
+ reivec1l(2) = vlowxl
+ reivec1l(3) = vlowyl
+ reivec1l(4) = vlowzl
+ reivec1l(5) = one - reivec1l(1)
+
+!!$ Right eigenvector # 2
+
+ reivec2l(1) = wl * vlowyl
+ reivec2l(2) = enthalpyl * (gxy + two * wl * wl * vlowxl * vlowyl)
+ reivec2l(3) = enthalpyl * (gyy + two * wl * wl * vlowyl * vlowyl)
+ reivec2l(4) = enthalpyl * (gyz + two * wl * wl * vlowyl * vlowzl)
+ reivec2l(5) = vlowyl * wl * (two * wl * enthalpyl - one)
+
+!!$ Right eigenvector # 3
+
+ reivec3l(1) = wl * vlowzl
+ reivec3l(2) = enthalpyl * (gxz + two * wl * wl * vlowxl * vlowzl)
+ reivec3l(3) = enthalpyl * (gyz + two * wl * wl * vlowyl * vlowzl)
+ reivec3l(4) = enthalpyl * (gzz + two * wl * wl * vlowzl * vlowzl)
+ reivec3l(5) = vlowzl * wl * (two * wl * enthalpyl - one)
+
+!!$ Right + eigenvector
+
+ reivecpl(1) = one
+ reivecpl(2) = enthalpyl * wl * (vlowxl - vxpl)
+ reivecpl(3) = enthalpyl * wl * vlowyl
+ reivecpl(4) = enthalpyl * wl * vlowzl
+ reivecpl(5) = enthalpyl * wl * axpl - one
+
+!!$ Right - eigenvector
+
+ reivecml(1) = one
+ reivecml(2) = enthalpyl * wl * (vlowxl - vxml)
+ reivecml(3) = enthalpyl * wl * vlowyl
+ reivecml(4) = enthalpyl * wl * vlowzl
+ reivecml(5) = enthalpyl * wl * axml - one
+
+!!$ RIGHT
+
+!!$ Compute some auxiliary quantities
+
+ axpr = (u - velxr*velxr)/(u - velxr*lamp_nobetar)
+ axmr = (u - velxr*velxr)/(u - velxr*lamm_nobetar)
+ vxpr = (velxr - lamp_nobetar)/(u - velxr * lamp_nobetar)
+ vxmr = (velxr - lamm_nobetar)/(u - velxr * lamm_nobetar)
+
+!!$ Calculate associated right eigenvectors
+
+ kappar = dpdepsr / (dpdepsr - rhor * cs2r)
+
+!!$ Right eigenvector # 1
+
+ reivec1r(1) = kappar / (enthalpyr * wr)
+ reivec1r(2) = vlowxr
+ reivec1r(3) = vlowyr
+ reivec1r(4) = vlowzr
+ reivec1r(5) = one - reivec1r(1)
+
+!!$ Right eigenvector # 2
+
+ reivec2r(1) = wr * vlowyr
+ reivec2r(2) = enthalpyr * (gxy + two * wr * wr * vlowxr * vlowyr)
+ reivec2r(3) = enthalpyr * (gyy + two * wr * wr * vlowyr * vlowyr)
+ reivec2r(4) = enthalpyr * (gyz + two * wr * wr * vlowyr * vlowzr)
+ reivec2r(5) = vlowyr * wr * (two * wr * enthalpyr - one)
+
+!!$ Right eigenvector # 3
+
+ reivec3r(1) = wr * vlowzr
+ reivec3r(2) = enthalpyr * (gxz + two * wr * wr * vlowxr * vlowzr)
+ reivec3r(3) = enthalpyr * (gyz + two * wr * wr * vlowyr * vlowzr)
+ reivec3r(4) = enthalpyr * (gzz + two * wr * wr * vlowzr * vlowzr)
+ reivec3r(5) = vlowzr * wr * (two * wr * enthalpyr - one)
+
+!!$ Right + eigenvector
+
+ reivecpr(1) = one
+ reivecpr(2) = enthalpyr * wr * (vlowxr - vxpr)
+ reivecpr(3) = enthalpyr * wr * vlowyr
+ reivecpr(4) = enthalpyr * wr * vlowzr
+ reivecpr(5) = enthalpyr * wr * axpr - one
+
+!!$ Right - eigenvector
+
+ reivecmr(1) = one
+ reivecmr(2) = enthalpyr * wr * (vlowxr - vxmr)
+ reivecmr(3) = enthalpyr * wr * vlowyr
+ reivecmr(4) = enthalpyr * wr * vlowzr
+ reivecmr(5) = enthalpyr * wr * axmr - one
+
+!!$ Calculate associated left eigenvectors if requested
+
+ if (ANALYTICAL) then
+
+ cxx = gyy * gzz - gyz * gyz
+ cxy = gxz * gyz - gxy * gzz
+ cxz = gxy * gyz - gxz * gyy
+ gam = gxx * cxx + gxy * cxy + gxz * cxz
+
+!!$ LEFT
+
+ xsil = cxx - gam * velxl * velxl
+ dltl = enthalpyl**3 * wl * (kappal - one) * (vxml - vxpl) * xsil
+
+!!$ Left eigenvector # 1
+
+ tmp1 = wl / (kappal - one)
+
+ leivec1l(1) = tmp1 * (enthalpyl - wl)
+ leivec1l(2) = tmp1 * wl * velxl
+ leivec1l(3) = tmp1 * wl * velyl
+ leivec1l(4) = tmp1 * wl * velzl
+ leivec1l(5) =-tmp1 * wl
+
+!!$ Left eigenvector # 2
+
+ tmp1 = one / (xsil * enthalpyl)
+
+ leivec2l(1) = (gyz * vlowzl - gzz * vlowyl) * tmp1
+ leivec2l(2) = (gzz * vlowyl - gyz * vlowzl) * tmp1 * velxl
+ leivec2l(3) = (gzz * (one - velxl * vlowxl) + gxz * vlowzl * velxl ) * tmp1
+ leivec2l(4) = (gyz * (velxl * vlowxl - one) - gxz * velxl * vlowyl) * tmp1
+ leivec2l(5) = (gyz * vlowzl - gzz * vlowyl) * tmp1
+
+!!$ Left eigenvector # 3
+
+ leivec3l(1) = (gyz * vlowyl - gyy * vlowzl) * tmp1
+ leivec3l(2) = (gyy * vlowzl - gyz * vlowyl) * tmp1 * velxl
+ leivec3l(3) = (gyz * (velxl * vlowxl - one) - gxy * velxl * vlowzl) * tmp1
+ leivec3l(4) = (gyy * (one - velxl * vlowxl) + gxy * velxl * vlowyl) * tmp1
+ leivec3l(5) = (gyz * vlowyl - gyy * vlowzl) * tmp1
+
+!!$ Left + eigenvector
+
+ tmp1 = enthalpyl * enthalpyl / dltl
+ tmp2 = wl * wl * xsil
+
+ leivecpl(1) = - (enthalpyl * wl * vxml * xsil + (one - kappal) * &
+ (vxml * (tmp2 - cxx) - gam * velxl) - kappal * tmp2 * vxml) * tmp1
+ leivecpl(2) = - (cxx * (one - kappal * axml) + (two * kappal - one) * &
+ vxml * (tmp2 * velxl - cxx * velxl)) * tmp1
+ leivecpl(3) = - (cxy * (one - kappal * axml) + (two * kappal - one) * &
+ vxml * (tmp2 * velyl - cxy * velxl)) * tmp1
+ leivecpl(4) = - (cxz * (one - kappal * axml) + (two * kappal - one) * &
+ vxml * (tmp2 * velzl - cxz * velxl)) * tmp1
+ leivecpl(5) = - ((one - kappal) * (vxml * (tmp2 - cxx) - gam * velxl) - &
+ kappal * tmp2 * vxml) * tmp1
+
+!!$ Left - eigenvector
+
+ leivecml(1) = (enthalpyl * wl * vxpl * xsil + (one - kappal) * &
+ (vxpl * (tmp2 - cxx) - gam * velxl) - kappal * tmp2 * vxpl) * tmp1
+ leivecml(2) = (cxx * (one - kappal * axpl) + (two * kappal - one) * &
+ vxpl * (tmp2 * velxl - cxx * velxl)) * tmp1
+ leivecml(3) = (cxy * (one - kappal * axpl) + (two * kappal - one) * &
+ vxpl * (tmp2 * velyl - cxy * velxl)) * tmp1
+ leivecml(4) = (cxz * (one - kappal * axpl) + (two * kappal - one) * &
+ vxpl * (tmp2 * velzl - cxz * velxl)) * tmp1
+ leivecml(5) = ((one - kappal) * (vxpl * (tmp2 - cxx) - gam * &
+ velxl) - kappal * tmp2 * vxpl) * tmp1
+
+!!$ RIGHT
+
+ xsir = cxx - gam * velxr * velxr
+ dltr = enthalpyr**3 * wr * (kappar - one) * (vxmr - vxpr) * xsir
+
+!!$ Left eigenvector # 1
+
+ tmp1 = wr / (kappar - one)
+
+ leivec1r(1) = tmp1 * (enthalpyr - wr)
+ leivec1r(2) = tmp1 * wr * velxr
+ leivec1r(3) = tmp1 * wr * velyr
+ leivec1r(4) = tmp1 * wr * velzr
+ leivec1r(5) =-tmp1 * wr
+
+!!$ Left eigenvector # 2
+
+ tmp1 = one / (xsir * enthalpyr)
+
+ leivec2r(1) = (gyz * vlowzr - gzz * vlowyr) * tmp1
+ leivec2r(2) = (gzz * vlowyr - gyz * vlowzr) * tmp1 * velxr
+ leivec2r(3) = (gzz * (one - velxr * vlowxr) + gxz * vlowzr * velxr) * tmp1
+ leivec2r(4) = (gyz * (velxr * vlowxr - one) - gxz * velxr * vlowyr) * tmp1
+ leivec2r(5) = (gyz * vlowzr - gzz * vlowyr) * tmp1
+
+!!$ Left eigenvector # 3
+
+ leivec3r(1) = (gyz * vlowyr - gyy * vlowzr) * tmp1
+ leivec3r(2) = (gyy * vlowzr - gyz * vlowyr) * tmp1 * velxr
+ leivec3r(3) = (gyz * (velxr * vlowxr - one) - gxy * velxr * vlowzr) * tmp1
+ leivec3r(4) = (gyy * (one - velxr * vlowxr) + gxy * velxr * vlowyr) * tmp1
+ leivec3r(5) = (gyz * vlowyr - gyy * vlowzr) * tmp1
+
+!!$ Left + eigenvector
+
+ tmp1 = enthalpyr * enthalpyr / dltr
+ tmp2 = wr * wr * xsir
+
+ leivecpr(1) = - (enthalpyr * wr * vxmr * xsir + (one - kappar) * &
+ (vxmr * (tmp2 - cxx) - gam * velxr) - kappar * tmp2 * vxmr) * tmp1
+ leivecpr(2) = - (cxx * (one - kappar * axmr) + (two * kappar - one) * &
+ vxmr * (tmp2 * velxr - cxx * velxr)) * tmp1
+ leivecpr(3) = - (cxy * (one - kappar * axmr) + (two * kappar - one) * &
+ vxmr * (tmp2 * velyr - cxy * velxr)) * tmp1
+ leivecpr(4) = - (cxz * (one - kappar * axmr) + (two * kappar - one) * &
+ vxmr * (tmp2 * velzr - cxz * velxr)) * tmp1
+ leivecpr(5) = - ((one - kappar) * (vxmr * (tmp2 - cxx) - gam * velxr) - &
+ kappar * tmp2 * vxmr) * tmp1
+
+!!$ Left - eigenvector
+
+ leivecmr(1) = (enthalpyr * wr * vxpr * xsir + (one - kappar) * &
+ (vxpr * (tmp2 - cxx) - gam * velxr) - kappar * tmp2 * vxpr) * tmp1
+ leivecmr(2) = (cxx * (one - kappar * axpr) + (two * kappar - one) * &
+ vxpr * (tmp2 * velxr - cxx * velxr)) * tmp1
+ leivecmr(3) = (cxy * (one - kappar * axpr) + (two * kappar - one) * &
+ vxpr * (tmp2 * velyr - cxy * velxr)) * tmp1
+ leivecmr(4) = (cxz * (one - kappar * axpr) + (two * kappar - one) * &
+ vxpr * (tmp2 * velzr - cxz * velxr)) * tmp1
+ leivecmr(5) = ((one - kappar) * (vxpr * (tmp2 - cxx) - gam * &
+ velxr) - kappar * tmp2 * vxpr) * tmp1
+
+ endif
+
+!!$ LEFT
+!!$ PUT RIGHT EIGENVECTORS IN THE P MATRIX
+
+!!$ p(:,1) = reivecml(:)
+!!$ p(:,2) = reivec1l(:)
+!!$ p(:,3) = reivec2l(:)
+!!$ p(:,4) = reivec3l(:)
+!!$ p(:,5) = reivecpl(:)
+
+ p(:,1) = reivecml(:)
+ p(:,2) = reivecpl(:)
+ p(:,3) = reivec2l(:)
+ p(:,4) = reivec3l(:)
+ p(:,5) = reivec1l(:)
+
+!!$ Calculate change in u:
+
+ du(1) = densl
+ du(2) = sxl
+ du(3) = syl
+ du(4) = szl
+ du(5) = taul
+
+ if (ANALYTICAL) then
+
+ if (FAST) then
+
+ sump = 0.0d0
+ summ = 0.0d0
+
+ do i=1,5
+ sump = sump + (lamp - lam1) * leivecpl(i) * du(i)
+ summ = summ + (lamm - lam1) * leivecml(i) * du(i)
+ enddo
+
+ vxa = sump + summ
+ vxb =-(sump * vxpl + summ * vxml)
+
+ rfluxl(1) = lam1 * du(1) + vxa
+ rfluxl(2) = lam1 * du(2) + enthalpyl * wl * (vlowxl * vxa + vxb)
+ rfluxl(3) = lam1 * du(3) + enthalpyl * wl * (vlowyl * vxa)
+ rfluxl(4) = lam1 * du(4) + enthalpyl * wl * (vlowzl * vxa)
+ rfluxl(5) = lam1 * du(5) + enthalpyl * wl * (velxl * vxb + vxa) - vxa
+
+ else
+
+!!$ PUT LEFT EIGENVECTORS IN THE Q MATRIX
+
+ q(1,:) = leivecml(:)
+ q(2,:) = leivecpl(:)
+ q(3,:) = leivec2l(:)
+ q(4,:) = leivec3l(:)
+ q(5,:) = leivec1l(:)
+
+ do i=1,5
+ dw(i) = 0.0d0
+ do j=1,5
+ dw(i) = dw(i) + q(i,j) * du(j)
+ enddo
+ enddo
+
+ do i = 1, 5
+ rfluxl(i) = 0.d0
+ do j = 1, 5
+ rfluxl(i) = rfluxl(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ else
+
+!!$ Solve for characteristic variable change, dw
+
+ dw=du
+ aa = p
+
+ do i=1,5
+ paug(:,i) = p(:,i)
+ enddo
+
+!same, but in old F77 style!
+!!$ do i=1,5
+!!$ dw(i) = du(i)
+!!$ do j=1,5
+!!$ aa(i,j) = p(i,j)
+!!$ end do
+!!$ enddo
+!!$
+!!$ do i=1,5
+!!$ paug(i,1) = p(i,1)
+!!$ paug(i,2) = p(i,2)
+!!$ paug(i,3) = p(i,3)
+!!$ paug(i,4) = p(i,4)
+!!$ paug(i,5) = p(i,5)
+!!$ enddo
+
+ paug(1,6) = du(1)
+ paug(2,6) = du(2)
+ paug(3,6) = du(3)
+ paug(4,6) = du(4)
+ paug(5,6) = du(5)
+
+!!$ Get lower left triangle to be all zeros
+ do i=1,5
+!!$ First, make diagonal element 1
+ tmp1 = paug(i,i)
+ do j=i,6
+ paug(i,j) = paug(i,j)/tmp1
+ enddo
+!!$ Now, get rid of everything below that diagonal
+ do j=i+1,5
+ tmp1 = - (paug(j,i))
+ do k=i,6
+ paug(j,k) = paug(j,k) + tmp1*paug(i,k)
+ enddo
+ enddo
+ enddo
+!!$ Back substitute
+ f_du(5) = paug(5,6)
+ do i=4,1,-1
+ f_du(i) = paug(i,6)
+ do j=i+1,5
+ f_du(i) = f_du(i) - paug(i,j)*f_du(j)
+ enddo
+ enddo
+
+ dw(1) = f_du(1)
+ dw(2) = f_du(2)
+ dw(3) = f_du(3)
+ dw(4) = f_du(4)
+ dw(5) = f_du(5)
+
+ do i = 1, 5
+ rfluxl(i) = 0.d0
+ do j = 1, 5
+ rfluxl(i) = rfluxl(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ flux1l = rfluxl(1)
+ flux2l = rfluxl(2)
+ flux3l = rfluxl(3)
+ flux4l = rfluxl(4)
+ flux5l = rfluxl(5)
+
+!!$ RIGHT
+
+!!$ PUT RIGHT EIGENVECTORS IN THE P MATRIX
+
+!!$ p(:,1) = reivecmr(:)
+!!$ p(:,2) = reivec1r(:)
+!!$ p(:,3) = reivec2r(:)
+!!$ p(:,4) = reivec3r(:)
+!!$ p(:,5) = reivecpr(:)
+
+ p(:,1) = reivecmr(:)
+ p(:,2) = reivecpr(:)
+ p(:,3) = reivec2r(:)
+ p(:,4) = reivec3r(:)
+ p(:,5) = reivec1r(:)
+
+ du(1) = densr
+ du(2) = sxr
+ du(3) = syr
+ du(4) = szr
+ du(5) = taur
+
+ if (ANALYTICAL) then
+
+ if (FAST) then
+
+ sump = 0.0d0
+ summ = 0.0d0
+
+ do i=1,5
+ sump = sump + (lamp - lam1) * leivecpr(i) * du(i)
+ summ = summ + (lamm - lam1) * leivecmr(i) * du(i)
+ enddo
+
+ vxa = sump + summ
+ vxb =-(sump * vxpr + summ * vxmr)
+
+ rfluxr(1) = lam1 * du(1) + vxa
+ rfluxr(2) = lam1 * du(2) + enthalpyr * wr * (vlowxr * vxa + vxb)
+ rfluxr(3) = lam1 * du(3) + enthalpyr * wr * (vlowyr * vxa)
+ rfluxr(4) = lam1 * du(4) + enthalpyr * wr * (vlowzr * vxa)
+ rfluxr(5) = lam1 * du(5) + enthalpyr * wr * (velxr * vxb + vxa) - vxa
+
+ else
+
+!!$ PUT LEFT EIGENVECTORS IN THE Q MATRIX
+
+ q(1,:) = leivecmr(:)
+ q(2,:) = leivecpr(:)
+ q(3,:) = leivec2r(:)
+ q(4,:) = leivec3r(:)
+ q(5,:) = leivec1r(:)
+
+ do i=1,5
+ dw(i) = 0.0d0
+ do j=1,5
+ dw(i) = dw(i) + q(i,j) * du(j)
+ enddo
+ enddo
+
+ do i = 1, 5
+ rfluxr(i) = 0.d0
+ do j = 1, 5
+ rfluxr(i) = rfluxr(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ else
+
+!!$ Solve for characteristic variable change, dw
+
+ do i=1,5
+ dw(i) = du(i)
+ do j=1,5
+ aa(i,j) = p(i,j)
+ end do
+ enddo
+
+ do i=1,5
+ paug(i,1) = p(i,1)
+ paug(i,2) = p(i,2)
+ paug(i,3) = p(i,3)
+ paug(i,4) = p(i,4)
+ paug(i,5) = p(i,5)
+ enddo
+
+ paug(1,6) = du(1)
+ paug(2,6) = du(2)
+ paug(3,6) = du(3)
+ paug(4,6) = du(4)
+ paug(5,6) = du(5)
+
+!!$ Get lower left triangle to be all zeros
+
+ do i=1,5
+!!$ First, make diagonal element 1
+ tmp1 = paug(i,i)
+ do j=i,6
+ paug(i,j) = paug(i,j)/tmp1
+ enddo
+!!$ Now, get rid of everything below that diagonal
+ do j=i+1,5
+ tmp1 = - (paug(j,i))
+ do k=i,6
+ paug(j,k) = paug(j,k) + tmp1*paug(i,k)
+ enddo
+ enddo
+ enddo
+!!$ Back substitute
+
+ f_du(5) = paug(5,6)
+ do i=4,1,-1
+ f_du(i) = paug(i,6)
+ do j=i+1,5
+ f_du(i) = f_du(i) - paug(i,j)*f_du(j)
+ enddo
+ enddo
+
+ dw(1) = f_du(1)
+ dw(2) = f_du(2)
+ dw(3) = f_du(3)
+ dw(4) = f_du(4)
+ dw(5) = f_du(5)
+
+ do i = 1, 5
+ rfluxr(i) = 0.d0
+ do j = 1, 5
+ rfluxr(i) = rfluxr(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ flux1r = rfluxr(1)
+ flux2r = rfluxr(2)
+ flux3r = rfluxr(3)
+ flux4r = rfluxr(4)
+ flux5r = rfluxr(5)
+
+ flux1 = flux1r - flux1l
+ flux2 = flux2r - flux2l
+ flux3 = flux3r - flux3l
+ flux4 = flux4r - flux4l
+ flux5 = flux5r - flux5l
+
+ return
+
+end subroutine eigenproblem_marquina
+
+ /*@@
+ @routine eigenproblem_marquina
+ @date Wed Feb 13 12:27:59 2002
+ @author Pedro Montero, Toni Font, Joachim Frieben
+ @desc
+ Computes the eigenvectors (p) and eigenvalues (lam) for
+ Marquina flux formula
+ for the input primitive state.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Follows the routines by Toni Font and GR3D of Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine eigenproblem_marquina_general(&
+ rhor,velxr,velyr,velzr,epsr,pressr,cs2r,dpdepsr,&
+ rhol,velxl,velyl,velzl,epsl,pressl,cs2l,dpdepsl,&
+ gxx,gxy,gxz,gyy,gyz,gzz,u,det,alp,beta,&
+ densl,sxl,syl,szl,taul,&
+ densr,sxr,syr,szr,taur,&
+ flux1,flux2,flux3,flux4,flux5)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL rhor,velxr,velyr,velzr,epsr
+ CCTK_REAL rhol,velxl,velyl,velzl,epsl
+ CCTK_REAL densl,sxl,syl,szl,taul
+ CCTK_REAL densr,sxr,syr,szr,taur
+
+ CCTK_REAL lam(5),p(5,5),q(5,5),dw(5)
+ CCTK_REAL rfluxr(5),rfluxl(5)
+ CCTK_REAL gxx,gxy,gxz,gyy,gyz,gzz,u,det
+ CCTK_REAL alp,beta,flux1r,flux2r,flux3r,flux4r,flux5r
+ CCTK_REAL flux1l,flux2l,flux3l,flux4l,flux5l
+ CCTK_REAL flux1,flux2,flux3,flux4,flux5
+
+!!$ LOCAL VARS
+
+ CCTK_REAL du(5),aa(5,5),qdiff1,qdiff2,qdiff3,qdiff4,qdiff5
+ integer i,j,k,l
+ CCTK_REAL paug(5,6),tmp1,tmp2,sump,summ,f_du(5)
+ CCTK_REAL leivec1l(5),leivec2l(5),leivec3l(5),leivecpl(5),leivecml(5)
+ CCTK_REAL leivec1r(5),leivec2r(5),leivec3r(5),leivecpr(5),leivecmr(5)
+ CCTK_REAL reivec1l(5),reivec2l(5),reivec3l(5),reivecpl(5),reivecml(5)
+ CCTK_REAL reivec1r(5),reivec2r(5),reivec3r(5),reivecpr(5),reivecmr(5)
+ CCTK_REAL lam1l,lam2l,lam3l,lamml,lampl,lamm_nobetal,lamp_nobetal
+ CCTK_REAL lam1r,lam2r,lam3r,lammr,lampr,lamm_nobetar,lamp_nobetar
+ CCTK_REAL lam1,lam2,lam3,lamm,lamp
+
+ CCTK_REAL cs2l,cs2r,one,two
+ CCTK_REAL vlowxr,vlowyr,vlowzr,v2r,wr
+ CCTK_REAL vlowxl,vlowyl,vlowzl,v2l,wl
+
+ CCTK_REAL lamp_nobeta,lamm_nobeta
+
+ CCTK_REAL pressl,dpdepsl,enthalpyl,kappal
+ CCTK_REAL pressr,dpdepsr,enthalpyr,kappar
+ CCTK_REAL axpl,axml,vxpl,vxml,xsil,dltl
+ CCTK_REAL axpr,axmr,vxpr,vxmr,xsir,dltr
+ CCTK_REAL cxx,cxy,cxz,gam,vxa,vxb
+
+ one = 1.0d0
+ two = 2.0d0
+
+!!$ LEFT
+
+!!$ Set required fluid quantities
+
+ enthalpyl = one + epsl + pressl / rhol
+
+ vlowxl = gxx*velxl + gxy*velyl + gxz*velzl
+ vlowyl = gxy*velxl + gyy*velyl + gyz*velzl
+ vlowzl = gxz*velxl + gyz*velyl + gzz*velzl
+ v2l = vlowxl*velxl + vlowyl*velyl + vlowzl*velzl
+
+!!$ Assume consistent primitive data
+
+ wl = one / sqrt(one - v2l)
+
+!!$ EIGENVALUES
+
+ lam1l = velxl - beta/alp
+ lam2l = lam1l
+ lam3l = lam1l
+ lamp_nobetal = (velxl*(one-cs2l) + sqrt(cs2l*(one-v2l)* &
+ (u*(one-v2l*cs2l) - velxl**2*(one-cs2l))))/(one-v2l*cs2l)
+ lamm_nobetal = (velxl*(one-cs2l) - sqrt(cs2l*(one-v2l)* &
+ (u*(one-v2l*cs2l) - velxl**2*(one-cs2l))))/(one-v2l*cs2l)
+
+ lampl = lamp_nobetal - beta/alp
+ lamml = lamm_nobetal - beta/alp
+
+!!$ RIGHT
+
+!!$ Set required fluid quantities
+
+ enthalpyr = one + epsr + pressr / rhor
+
+ vlowxr = gxx*velxr + gxy*velyr + gxz*velzr
+ vlowyr = gxy*velxr + gyy*velyr + gyz*velzr
+ vlowzr = gxz*velxr + gyz*velyr + gzz*velzr
+ v2r = vlowxr*velxr + vlowyr*velyr + vlowzr*velzr
+
+!!$ Assume consistent primitive data
+
+ wr = one / sqrt(one - v2r)
+
+!!$ EIGENVALUES
+
+ lam1r = velxr - beta/alp
+ lam2r = lam1r
+ lam3r = lam1r
+ lamp_nobetar = (velxr*(one-cs2r) + sqrt(cs2r*(one-v2r)* &
+ (u*(one-v2r*cs2r) - velxr**2*(one-cs2r))))/(one-v2r*cs2r)
+ lamm_nobetar = (velxr*(one-cs2r) - sqrt(cs2r*(one-v2r)* &
+ (u*(one-v2r*cs2r) - velxr**2*(one-cs2r))))/(one-v2r*cs2r)
+
+ lampr = lamp_nobetar - beta/alp
+ lammr = lamm_nobetar - beta/alp
+
+!!$ FINAL
+
+ lam1 = dmax1(dabs(lam1l),dabs(lam1r))
+ lam2 = lam1
+ lam3 = lam1
+ lamp = dmax1(dabs(lampl),dabs(lampr))
+ lamm = dmax1(dabs(lamml),dabs(lammr))
+
+!!$ lam(1) = lamm
+!!$ lam(2) = lam1
+!!$ lam(3) = lam2
+!!$ lam(4) = lam3
+!!$ lam(5) = lamp
+
+ lam(1) = lamm
+ lam(5) = lam1
+ lam(3) = lam2
+ lam(4) = lam3
+ lam(2) = lamp
+
+!!$ LEFT
+
+!!$ Compute some auxiliary quantities
+
+ axpl = (u - velxl*velxl)/(u - velxl*lamp_nobetal)
+ axml = (u - velxl*velxl)/(u - velxl*lamm_nobetal)
+ vxpl = (velxl - lamp_nobetal)/(u - velxl * lamp_nobetal)
+ vxml = (velxl - lamm_nobetal)/(u - velxl * lamm_nobetal)
+
+!!$ Calculate associated right eigenvectors
+
+ kappal = dpdepsl / (dpdepsl - rhol * cs2l)
+
+!!$ Right eigenvector # 1
+
+ reivec1l(1) = kappal / (enthalpyl * wl)
+ reivec1l(2) = vlowxl
+ reivec1l(3) = vlowyl
+ reivec1l(4) = vlowzl
+ reivec1l(5) = one - reivec1l(1)
+
+!!$ Right eigenvector # 2
+
+ reivec2l(1) = wl * vlowyl
+ reivec2l(2) = enthalpyl * (gxy + two * wl * wl * vlowxl * vlowyl)
+ reivec2l(3) = enthalpyl * (gyy + two * wl * wl * vlowyl * vlowyl)
+ reivec2l(4) = enthalpyl * (gyz + two * wl * wl * vlowyl * vlowzl)
+ reivec2l(5) = vlowyl * wl * (two * wl * enthalpyl - one)
+
+!!$ Right eigenvector # 3
+
+ reivec3l(1) = wl * vlowzl
+ reivec3l(2) = enthalpyl * (gxz + two * wl * wl * vlowxl * vlowzl)
+ reivec3l(3) = enthalpyl * (gyz + two * wl * wl * vlowyl * vlowzl)
+ reivec3l(4) = enthalpyl * (gzz + two * wl * wl * vlowzl * vlowzl)
+ reivec3l(5) = vlowzl * wl * (two * wl * enthalpyl - one)
+
+!!$ Right + eigenvector
+
+ reivecpl(1) = one
+ reivecpl(2) = enthalpyl * wl * (vlowxl - vxpl)
+ reivecpl(3) = enthalpyl * wl * vlowyl
+ reivecpl(4) = enthalpyl * wl * vlowzl
+ reivecpl(5) = enthalpyl * wl * axpl - one
+
+!!$ Right - eigenvector
+
+ reivecml(1) = one
+ reivecml(2) = enthalpyl * wl * (vlowxl - vxml)
+ reivecml(3) = enthalpyl * wl * vlowyl
+ reivecml(4) = enthalpyl * wl * vlowzl
+ reivecml(5) = enthalpyl * wl * axml - one
+
+!!$ RIGHT
+
+!!$ Compute some auxiliary quantities
+
+ axpr = (u - velxr*velxr)/(u - velxr*lamp_nobetar)
+ axmr = (u - velxr*velxr)/(u - velxr*lamm_nobetar)
+ vxpr = (velxr - lamp_nobetar)/(u - velxr * lamp_nobetar)
+ vxmr = (velxr - lamm_nobetar)/(u - velxr * lamm_nobetar)
+
+!!$ Calculate associated right eigenvectors
+
+ kappar = dpdepsr / (dpdepsr - rhor * cs2r)
+
+!!$ Right eigenvector # 1
+
+ reivec1r(1) = kappar / (enthalpyr * wr)
+ reivec1r(2) = vlowxr
+ reivec1r(3) = vlowyr
+ reivec1r(4) = vlowzr
+ reivec1r(5) = one - reivec1r(1)
+
+!!$ Right eigenvector # 2
+
+ reivec2r(1) = wr * vlowyr
+ reivec2r(2) = enthalpyr * (gxy + two * wr * wr * vlowxr * vlowyr)
+ reivec2r(3) = enthalpyr * (gyy + two * wr * wr * vlowyr * vlowyr)
+ reivec2r(4) = enthalpyr * (gyz + two * wr * wr * vlowyr * vlowzr)
+ reivec2r(5) = vlowyr * wr * (two * wr * enthalpyr - one)
+
+!!$ Right eigenvector # 3
+
+ reivec3r(1) = wr * vlowzr
+ reivec3r(2) = enthalpyr * (gxz + two * wr * wr * vlowxr * vlowzr)
+ reivec3r(3) = enthalpyr * (gyz + two * wr * wr * vlowyr * vlowzr)
+ reivec3r(4) = enthalpyr * (gzz + two * wr * wr * vlowzr * vlowzr)
+ reivec3r(5) = vlowzr * wr * (two * wr * enthalpyr - one)
+
+!!$ Right + eigenvector
+
+ reivecpr(1) = one
+ reivecpr(2) = enthalpyr * wr * (vlowxr - vxpr)
+ reivecpr(3) = enthalpyr * wr * vlowyr
+ reivecpr(4) = enthalpyr * wr * vlowzr
+ reivecpr(5) = enthalpyr * wr * axpr - one
+
+!!$ Right - eigenvector
+
+ reivecmr(1) = one
+ reivecmr(2) = enthalpyr * wr * (vlowxr - vxmr)
+ reivecmr(3) = enthalpyr * wr * vlowyr
+ reivecmr(4) = enthalpyr * wr * vlowzr
+ reivecmr(5) = enthalpyr * wr * axmr - one
+
+!!$ Calculate associated left eigenvectors if requested
+
+ if (ANALYTICAL) then
+
+ cxx = gyy * gzz - gyz * gyz
+ cxy = gxz * gyz - gxy * gzz
+ cxz = gxy * gyz - gxz * gyy
+ gam = gxx * cxx + gxy * cxy + gxz * cxz
+
+!!$ LEFT
+
+ xsil = cxx - gam * velxl * velxl
+ dltl = enthalpyl**3 * wl * (kappal - one) * (vxml - vxpl) * xsil
+
+!!$ Left eigenvector # 1
+
+ tmp1 = wl / (kappal - one)
+
+ leivec1l(1) = tmp1 * (enthalpyl - wl)
+ leivec1l(2) = tmp1 * wl * velxl
+ leivec1l(3) = tmp1 * wl * velyl
+ leivec1l(4) = tmp1 * wl * velzl
+ leivec1l(5) =-tmp1 * wl
+
+!!$ Left eigenvector # 2
+
+ tmp1 = one / (xsil * enthalpyl)
+
+ leivec2l(1) = (gyz * vlowzl - gzz * vlowyl) * tmp1
+ leivec2l(2) = (gzz * vlowyl - gyz * vlowzl) * tmp1 * velxl
+ leivec2l(3) = (gzz * (one - velxl * vlowxl) + gxz * vlowzl * velxl ) * tmp1
+ leivec2l(4) = (gyz * (velxl * vlowxl - one) - gxz * velxl * vlowyl) * tmp1
+ leivec2l(5) = (gyz * vlowzl - gzz * vlowyl) * tmp1
+
+!!$ Left eigenvector # 3
+
+ leivec3l(1) = (gyz * vlowyl - gyy * vlowzl) * tmp1
+ leivec3l(2) = (gyy * vlowzl - gyz * vlowyl) * tmp1 * velxl
+ leivec3l(3) = (gyz * (velxl * vlowxl - one) - gxy * velxl * vlowzl) * tmp1
+ leivec3l(4) = (gyy * (one - velxl * vlowxl) + gxy * velxl * vlowyl) * tmp1
+ leivec3l(5) = (gyz * vlowyl - gyy * vlowzl) * tmp1
+
+!!$ Left + eigenvector
+
+ tmp1 = enthalpyl * enthalpyl / dltl
+ tmp2 = wl * wl * xsil
+
+ leivecpl(1) = - (enthalpyl * wl * vxml * xsil + (one - kappal) * &
+ (vxml * (tmp2 - cxx) - gam * velxl) - kappal * tmp2 * vxml) * tmp1
+ leivecpl(2) = - (cxx * (one - kappal * axml) + (two * kappal - one) * &
+ vxml * (tmp2 * velxl - cxx * velxl)) * tmp1
+ leivecpl(3) = - (cxy * (one - kappal * axml) + (two * kappal - one) * &
+ vxml * (tmp2 * velyl - cxy * velxl)) * tmp1
+ leivecpl(4) = - (cxz * (one - kappal * axml) + (two * kappal - one) * &
+ vxml * (tmp2 * velzl - cxz * velxl)) * tmp1
+ leivecpl(5) = - ((one - kappal) * (vxml * (tmp2 - cxx) - gam * velxl) - &
+ kappal * tmp2 * vxml) * tmp1
+
+!!$ Left - eigenvector
+
+ leivecml(1) = (enthalpyl * wl * vxpl * xsil + (one - kappal) * &
+ (vxpl * (tmp2 - cxx) - gam * velxl) - kappal * tmp2 * vxpl) * tmp1
+ leivecml(2) = (cxx * (one - kappal * axpl) + (two * kappal - one) * &
+ vxpl * (tmp2 * velxl - cxx * velxl)) * tmp1
+ leivecml(3) = (cxy * (one - kappal * axpl) + (two * kappal - one) * &
+ vxpl * (tmp2 * velyl - cxy * velxl)) * tmp1
+ leivecml(4) = (cxz * (one - kappal * axpl) + (two * kappal - one) * &
+ vxpl * (tmp2 * velzl - cxz * velxl)) * tmp1
+ leivecml(5) = ((one - kappal) * (vxpl * (tmp2 - cxx) - gam * &
+ velxl) - kappal * tmp2 * vxpl) * tmp1
+
+!!$ RIGHT
+
+ xsir = cxx - gam * velxr * velxr
+ dltr = enthalpyr**3 * wr * (kappar - one) * (vxmr - vxpr) * xsir
+
+!!$ Left eigenvector # 1
+
+ tmp1 = wr / (kappar - one)
+
+ leivec1r(1) = tmp1 * (enthalpyr - wr)
+ leivec1r(2) = tmp1 * wr * velxr
+ leivec1r(3) = tmp1 * wr * velyr
+ leivec1r(4) = tmp1 * wr * velzr
+ leivec1r(5) =-tmp1 * wr
+
+!!$ Left eigenvector # 2
+
+ tmp1 = one / (xsir * enthalpyr)
+
+ leivec2r(1) = (gyz * vlowzr - gzz * vlowyr) * tmp1
+ leivec2r(2) = (gzz * vlowyr - gyz * vlowzr) * tmp1 * velxr
+ leivec2r(3) = (gzz * (one - velxr * vlowxr) + gxz * vlowzr * velxr) * tmp1
+ leivec2r(4) = (gyz * (velxr * vlowxr - one) - gxz * velxr * vlowyr) * tmp1
+ leivec2r(5) = (gyz * vlowzr - gzz * vlowyr) * tmp1
+
+!!$ Left eigenvector # 3
+
+ leivec3r(1) = (gyz * vlowyr - gyy * vlowzr) * tmp1
+ leivec3r(2) = (gyy * vlowzr - gyz * vlowyr) * tmp1 * velxr
+ leivec3r(3) = (gyz * (velxr * vlowxr - one) - gxy * velxr * vlowzr) * tmp1
+ leivec3r(4) = (gyy * (one - velxr * vlowxr) + gxy * velxr * vlowyr) * tmp1
+ leivec3r(5) = (gyz * vlowyr - gyy * vlowzr) * tmp1
+
+!!$ Left + eigenvector
+
+ tmp1 = enthalpyr * enthalpyr / dltr
+ tmp2 = wr * wr * xsir
+
+ leivecpr(1) = - (enthalpyr * wr * vxmr * xsir + (one - kappar) * &
+ (vxmr * (tmp2 - cxx) - gam * velxr) - kappar * tmp2 * vxmr) * tmp1
+ leivecpr(2) = - (cxx * (one - kappar * axmr) + (two * kappar - one) * &
+ vxmr * (tmp2 * velxr - cxx * velxr)) * tmp1
+ leivecpr(3) = - (cxy * (one - kappar * axmr) + (two * kappar - one) * &
+ vxmr * (tmp2 * velyr - cxy * velxr)) * tmp1
+ leivecpr(4) = - (cxz * (one - kappar * axmr) + (two * kappar - one) * &
+ vxmr * (tmp2 * velzr - cxz * velxr)) * tmp1
+ leivecpr(5) = - ((one - kappar) * (vxmr * (tmp2 - cxx) - gam * velxr) - &
+ kappar * tmp2 * vxmr) * tmp1
+
+!!$ Left - eigenvector
+
+ leivecmr(1) = (enthalpyr * wr * vxpr * xsir + (one - kappar) * &
+ (vxpr * (tmp2 - cxx) - gam * velxr) - kappar * tmp2 * vxpr) * tmp1
+ leivecmr(2) = (cxx * (one - kappar * axpr) + (two * kappar - one) * &
+ vxpr * (tmp2 * velxr - cxx * velxr)) * tmp1
+ leivecmr(3) = (cxy * (one - kappar * axpr) + (two * kappar - one) * &
+ vxpr * (tmp2 * velyr - cxy * velxr)) * tmp1
+ leivecmr(4) = (cxz * (one - kappar * axpr) + (two * kappar - one) * &
+ vxpr * (tmp2 * velzr - cxz * velxr)) * tmp1
+ leivecmr(5) = ((one - kappar) * (vxpr * (tmp2 - cxx) - gam * &
+ velxr) - kappar * tmp2 * vxpr) * tmp1
+
+ endif
+
+!!$ LEFT
+!!$ PUT RIGHT EIGENVECTORS IN THE P MATRIX
+
+!!$ p(:,1) = reivecml(:)
+!!$ p(:,2) = reivec1l(:)
+!!$ p(:,3) = reivec2l(:)
+!!$ p(:,4) = reivec3l(:)
+!!$ p(:,5) = reivecpl(:)
+
+ p(:,1) = reivecml(:)
+ p(:,2) = reivecpl(:)
+ p(:,3) = reivec2l(:)
+ p(:,4) = reivec3l(:)
+ p(:,5) = reivec1l(:)
+
+!!$ Calculate change in u:
+
+ du(1) = densl
+ du(2) = sxl
+ du(3) = syl
+ du(4) = szl
+ du(5) = taul
+
+ if (ANALYTICAL) then
+
+ if (FAST) then
+
+ sump = 0.0d0
+ summ = 0.0d0
+
+ do i=1,5
+ sump = sump + (lamp - lam1) * leivecpl(i) * du(i)
+ summ = summ + (lamm - lam1) * leivecml(i) * du(i)
+ enddo
+
+ vxa = sump + summ
+ vxb =-(sump * vxpl + summ * vxml)
+
+ rfluxl(1) = lam1 * du(1) + vxa
+ rfluxl(2) = lam1 * du(2) + enthalpyl * wl * (vlowxl * vxa + vxb)
+ rfluxl(3) = lam1 * du(3) + enthalpyl * wl * (vlowyl * vxa)
+ rfluxl(4) = lam1 * du(4) + enthalpyl * wl * (vlowzl * vxa)
+ rfluxl(5) = lam1 * du(5) + enthalpyl * wl * (velxl * vxb + vxa) - vxa
+
+ else
+
+!!$ PUT LEFT EIGENVECTORS IN THE Q MATRIX
+
+ q(1,:) = leivecml(:)
+ q(2,:) = leivecpl(:)
+ q(3,:) = leivec2l(:)
+ q(4,:) = leivec3l(:)
+ q(5,:) = leivec1l(:)
+
+ do i=1,5
+ dw(i) = 0.0d0
+ do j=1,5
+ dw(i) = dw(i) + q(i,j) * du(j)
+ enddo
+ enddo
+
+ do i = 1, 5
+ rfluxl(i) = 0.d0
+ do j = 1, 5
+ rfluxl(i) = rfluxl(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ else
+
+!!$ Solve for characteristic variable change, dw
+
+ dw=du
+ aa = p
+
+ do i=1,5
+ paug(:,i) = p(:,i)
+ enddo
+
+!same, but in old F77 style!
+!!$ do i=1,5
+!!$ dw(i) = du(i)
+!!$ do j=1,5
+!!$ aa(i,j) = p(i,j)
+!!$ end do
+!!$ enddo
+!!$
+!!$ do i=1,5
+!!$ paug(i,1) = p(i,1)
+!!$ paug(i,2) = p(i,2)
+!!$ paug(i,3) = p(i,3)
+!!$ paug(i,4) = p(i,4)
+!!$ paug(i,5) = p(i,5)
+!!$ enddo
+
+ paug(1,6) = du(1)
+ paug(2,6) = du(2)
+ paug(3,6) = du(3)
+ paug(4,6) = du(4)
+ paug(5,6) = du(5)
+
+!!$ Get lower left triangle to be all zeros
+ do i=1,5
+!!$ First, make diagonal element 1
+ tmp1 = paug(i,i)
+ do j=i,6
+ paug(i,j) = paug(i,j)/tmp1
+ enddo
+!!$ Now, get rid of everything below that diagonal
+ do j=i+1,5
+ tmp1 = - (paug(j,i))
+ do k=i,6
+ paug(j,k) = paug(j,k) + tmp1*paug(i,k)
+ enddo
+ enddo
+ enddo
+!!$ Back substitute
+ f_du(5) = paug(5,6)
+ do i=4,1,-1
+ f_du(i) = paug(i,6)
+ do j=i+1,5
+ f_du(i) = f_du(i) - paug(i,j)*f_du(j)
+ enddo
+ enddo
+
+ dw(1) = f_du(1)
+ dw(2) = f_du(2)
+ dw(3) = f_du(3)
+ dw(4) = f_du(4)
+ dw(5) = f_du(5)
+
+ do i = 1, 5
+ rfluxl(i) = 0.d0
+ do j = 1, 5
+ rfluxl(i) = rfluxl(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ flux1l = rfluxl(1)
+ flux2l = rfluxl(2)
+ flux3l = rfluxl(3)
+ flux4l = rfluxl(4)
+ flux5l = rfluxl(5)
+
+!!$ RIGHT
+
+!!$ PUT RIGHT EIGENVECTORS IN THE P MATRIX
+
+!!$ p(:,1) = reivecmr(:)
+!!$ p(:,2) = reivec1r(:)
+!!$ p(:,3) = reivec2r(:)
+!!$ p(:,4) = reivec3r(:)
+!!$ p(:,5) = reivecpr(:)
+
+ p(:,1) = reivecmr(:)
+ p(:,2) = reivecpr(:)
+ p(:,3) = reivec2r(:)
+ p(:,4) = reivec3r(:)
+ p(:,5) = reivec1r(:)
+
+ du(1) = densr
+ du(2) = sxr
+ du(3) = syr
+ du(4) = szr
+ du(5) = taur
+
+ if (ANALYTICAL) then
+
+ if (FAST) then
+
+ sump = 0.0d0
+ summ = 0.0d0
+
+ do i=1,5
+ sump = sump + (lamp - lam1) * leivecpr(i) * du(i)
+ summ = summ + (lamm - lam1) * leivecmr(i) * du(i)
+ enddo
+
+ vxa = sump + summ
+ vxb =-(sump * vxpr + summ * vxmr)
+
+ rfluxr(1) = lam1 * du(1) + vxa
+ rfluxr(2) = lam1 * du(2) + enthalpyr * wr * (vlowxr * vxa + vxb)
+ rfluxr(3) = lam1 * du(3) + enthalpyr * wr * (vlowyr * vxa)
+ rfluxr(4) = lam1 * du(4) + enthalpyr * wr * (vlowzr * vxa)
+ rfluxr(5) = lam1 * du(5) + enthalpyr * wr * (velxr * vxb + vxa) - vxa
+
+ else
+
+!!$ PUT LEFT EIGENVECTORS IN THE Q MATRIX
+
+ q(1,:) = leivecmr(:)
+ q(2,:) = leivecpr(:)
+ q(3,:) = leivec2r(:)
+ q(4,:) = leivec3r(:)
+ q(5,:) = leivec1r(:)
+
+ do i=1,5
+ dw(i) = 0.0d0
+ do j=1,5
+ dw(i) = dw(i) + q(i,j) * du(j)
+ enddo
+ enddo
+
+ do i = 1, 5
+ rfluxr(i) = 0.d0
+ do j = 1, 5
+ rfluxr(i) = rfluxr(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ else
+
+!!$ Solve for characteristic variable change, dw
+
+ do i=1,5
+ dw(i) = du(i)
+ do j=1,5
+ aa(i,j) = p(i,j)
+ end do
+ enddo
+
+ do i=1,5
+ paug(i,1) = p(i,1)
+ paug(i,2) = p(i,2)
+ paug(i,3) = p(i,3)
+ paug(i,4) = p(i,4)
+ paug(i,5) = p(i,5)
+ enddo
+
+ paug(1,6) = du(1)
+ paug(2,6) = du(2)
+ paug(3,6) = du(3)
+ paug(4,6) = du(4)
+ paug(5,6) = du(5)
+
+!!$ Get lower left triangle to be all zeros
+
+ do i=1,5
+!!$ First, make diagonal element 1
+ tmp1 = paug(i,i)
+ do j=i,6
+ paug(i,j) = paug(i,j)/tmp1
+ enddo
+!!$ Now, get rid of everything below that diagonal
+ do j=i+1,5
+ tmp1 = - (paug(j,i))
+ do k=i,6
+ paug(j,k) = paug(j,k) + tmp1*paug(i,k)
+ enddo
+ enddo
+ enddo
+!!$ Back substitute
+
+ f_du(5) = paug(5,6)
+ do i=4,1,-1
+ f_du(i) = paug(i,6)
+ do j=i+1,5
+ f_du(i) = f_du(i) - paug(i,j)*f_du(j)
+ enddo
+ enddo
+
+ dw(1) = f_du(1)
+ dw(2) = f_du(2)
+ dw(3) = f_du(3)
+ dw(4) = f_du(4)
+ dw(5) = f_du(5)
+
+ do i = 1, 5
+ rfluxr(i) = 0.d0
+ do j = 1, 5
+ rfluxr(i) = rfluxr(i) + p(i,j) * lam(j) * dw(j)
+ end do
+ end do
+
+ endif
+
+ flux1r = rfluxr(1)
+ flux2r = rfluxr(2)
+ flux3r = rfluxr(3)
+ flux4r = rfluxr(4)
+ flux5r = rfluxr(5)
+
+ flux1 = flux1r - flux1l
+ flux2 = flux2r - flux2l
+ flux3 = flux3r - flux3l
+ flux4 = flux4r - flux4l
+ flux5 = flux5r - flux5l
+
+ return
+
+end subroutine eigenproblem_marquina_general
diff --git a/src/Whisky_EoSChangeGamma.F90 b/src/Whisky_EoSChangeGamma.F90
new file mode 100644
index 0000000..2a8f14e
--- /dev/null
+++ b/src/Whisky_EoSChangeGamma.F90
@@ -0,0 +1,240 @@
+/*@@
+@file Whisky_EOSResetHydro.F90
+@date Sat Jan 26 01:36:57 2002
+@author Ian Hawke
+@desc
+ This routine will reset the specific internal energy using the polytropic
+ EOS that will be used at evolution. This is wanted if the EoS changes
+ between setting up the initial data and evolving
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+#define sx(i,j,k) scon(i,j,k,1)
+#define sy(i,j,k) scon(i,j,k,2)
+#define sz(i,j,k) scon(i,j,k,3)
+
+ /*@@
+ @routine Whisky_EOSResetHydro
+ @date Sat Jan 26 01:38:12 2002
+ @author Ian Hawke
+ @desc
+ see above
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Whisky_EoSChangeGamma(CCTK_ARGUMENTS)
+
+ USE EOS_Polytrope_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k
+ CCTK_REAL :: det
+
+ CCTK_REAL :: local_gamma
+
+#include "CactusEOS/EOS_Base/src/EOS_Base.inc"
+
+!!$ Set up the fluid constants
+
+ local_Gamma = 1.d0 + EOS_Pressure(whisky_polytrope_handle, 1.d0, 1.d0) / &
+ EOS_SpecificIntEnergy(whisky_polytrope_handle, 1.d0, 1.d0)
+
+!!$ Change the pressure and specific internal energy
+
+ press = p_geom_factor * eos_k_cgs * &
+ (rho * rho_geom_factor_inv)**local_Gamma
+ eps = press / (rho * (local_Gamma - 1.d0))
+
+!!$ Get the conserved variables. Hardwired polytrope EoS!!!
+!!$ Note that this call also sets pressure and eps
+
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call prim2conpolytype(whisky_polytrope_handle,gxx(i,j,k),gxy(i,j,k),&
+ gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end do
+ end do
+ end do
+
+
+end subroutine Whisky_EoSChangeGamma
+
+ /*@@
+ @routine Whisky_EoSChangeK
+ @date Mon Oct 20 12:56:14 2003
+ @author Ian Hawke
+ @desc
+ Reset the hydro variables when K is changed.
+ Unlike the routine above, this actually gives a solution to
+ the constraints.
+
+ Only two cases are given as the general case is transcendental.
+ We find this by holding rho * enthalpy fixed and assuming a
+ polytropic EOS.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_EoSChangeK(CCTK_ARGUMENTS)
+
+ USE EOS_Polytrope_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k
+ CCTK_REAL :: det
+
+ CCTK_REAL :: local_gamma, local_k
+
+ CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: Q
+
+#include "CactusEOS/EOS_Base/src/EOS_Base.inc"
+
+!!$ Set up the fluid constants
+
+ local_Gamma = 1.d0 + EOS_Pressure(whisky_polytrope_handle, 1.d0, 1.d0) / &
+ EOS_SpecificIntEnergy(whisky_polytrope_handle, 1.d0, 1.d0)
+
+ local_K = EOS_Pressure(whisky_polytrope_handle, 1.d0, 1.d0)
+
+ if (abs(local_Gamma - 2.d0) < 1.d-10) then
+
+ rho = -0.5d0/local_k+sqrt(0.25d0/local_k**2+(rho+initial_k*rho**2)/local_k)
+
+ else if (abs(local_Gamma - 3.d0) < 1.d-10) then
+
+!!$ This code is probably just wrong. We have never used it anyway.
+ Q = -9.d0 * local_k**2 * rho * (2.d0 + 3.d0 * initial_k * rho**2) + &
+ sqrt(local_k**3 * (32.d0 + 81.d0 * local_k * rho**2 * &
+ (2.d0 + 3.d0 * initial_k * rho**2)**2))
+
+ Q = Q**(1.d0/3.d0)
+
+ rho = (2**(7.d0/3.d0) * local_k - 2**(2.d0/3.d0) * Q**2) / &
+ (6.d0 * local_k * Q)
+
+ else
+ call CCTK_WARN(0, "EoSChangeK only knows how to do Gamma=2 or 3!")
+ end if
+
+ press = local_k * rho**local_gamma
+ eps = (local_gamma - 1.d0) * local_k * rho**local_gamma
+
+ call Primitive2ConservativePolyCells(CCTK_ARGUMENTS)
+
+end subroutine Whisky_EoSChangeK
+
+
+
+ /*@@
+ @routine Whisky_EoSChangeGammaK_Shibata
+ @date Jan. 2005
+ @author Christian D. Ott
+ @desc
+ Reset the hydro variables when K and Gamma are changed.
+
+ This is according to Shibata in astro-ph/0412243 (PRD71 024014) in
+ which he switches K and Gamma after initial data setup,
+ but keeps the internal energy constant.
+
+ Note: this works only with one refinement level
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_EoSChangeGammaK_Shibata(CCTK_ARGUMENTS)
+
+ USE EOS_Polytrope_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k
+ CCTK_REAL :: det
+
+ CCTK_REAL :: local_Gamma, local_k, eos_k_initial_cgs
+
+ CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: Q
+
+ character(len=100) infoline
+
+#include "CactusEOS/EOS_Base/src/EOS_Base.inc"
+
+!!$ Set up the fluid constants
+
+ call CCTK_INFO("Pulling the rug...by changing K and Gamma")
+
+ local_Gamma = 1.d0 + EOS_Pressure(whisky_polytrope_handle, 1.d0, 1.d0) / &
+ EOS_SpecificIntEnergy(whisky_polytrope_handle, 1.d0, 1.d0)
+
+ local_K = EOS_Pressure(whisky_polytrope_handle, 1.d0, 1.d0)
+
+ eos_k_initial_cgs = initial_k * rho_geom_factor**initial_Gamma / p_geom_factor
+
+ press = (local_Gamma - 1.d0) / (initial_Gamma - 1.0d0 ) * p_geom_factor * eos_k_initial_cgs * &
+ (rho * rho_geom_factor_inv) ** initial_Gamma
+
+ eps = p_geom_factor * eos_k_initial_cgs * &
+ (rho * rho_geom_factor_inv) ** initial_Gamma / &
+ (rho * (initial_Gamma - 1.0d0))
+
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call prim2con(whisky_eos_handle,gxx(i,j,k),gxy(i,j,k),&
+ gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end do
+ end do
+ end do
+
+
+end subroutine Whisky_EoSChangeGammaK_Shibata
diff --git a/src/Whisky_Flux.F90 b/src/Whisky_Flux.F90
new file mode 100644
index 0000000..300488f
--- /dev/null
+++ b/src/Whisky_Flux.F90
@@ -0,0 +1,113 @@
+/*@@
+@file Whisky_Flux.F90
+@date Sat Jan 26 01:36:57 2002
+@author Pedro Montero, Ian Hawke
+@desc
+The routine to calculate the numerical flux function given a
+ specific state
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine num_flux
+ @date Sat Jan 26 01:38:12 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ A general routine that works out the correct direction and returns
+ the appropriate flux function
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Culled from GR3D, original author Mark Miller.
+ @endhistory
+
+@@*/
+
+subroutine num_flux(xoffset,yoffset,zoffset,dens,sx,sy,sz,tau,&
+ densf,sxf,syf,szf,tauf,velx,vely,velz,press,det,alp,beta)
+
+ implicit none
+
+ CCTK_REAL :: dens,sx,sy,sz,tau,velx,vely,velz,det
+ CCTK_REAL :: densf,sxf,syf,szf,tauf
+ CCTK_REAL :: alp,beta,press
+ integer :: i,j,k
+ integer :: xoffset,yoffset,zoffset
+
+ densf = dens * ( (velx*xoffset + vely*yoffset + &
+ velz*zoffset) - beta / alp )
+
+ sxf = sx * ( (velx*xoffset + vely*yoffset +&
+ velz*zoffset) - beta/alp) + &
+ sqrt(det)*press*xoffset
+
+ syf = sy * ( (velx*xoffset + vely*yoffset +&
+ velz*zoffset) - beta/alp) + &
+ sqrt(det)*press*yoffset
+
+ szf = sz * ( (velx*xoffset + vely*yoffset +&
+ velz*zoffset) - beta/alp ) + &
+ sqrt(det)*press*zoffset
+
+ tauf = tau * ( (velx*xoffset + vely*yoffset +&
+ velz*zoffset) - beta/alp ) + &
+ sqrt(det)*press*(velx*xoffset +&
+ vely*yoffset + velz*zoffset)
+
+end subroutine num_flux
+
+ /*@@
+ @routine num_x_flux
+ @date Sat Jan 26 01:38:55 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ The numerical flux just along the x direction. Used for
+ fluxes along the y,z direction by permuting the appropriate
+ arguments in the subroutine call.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Culled and altered from GR3D, original author Mark Miller.
+ @endhistory
+
+@@*/
+
+
+subroutine num_x_flux(dens,sx,sy,sz,tau,&
+ densf,sxf,syf,szf,tauf,vel,press,det,alp,beta)
+
+ implicit none
+
+ CCTK_REAL :: dens,sx,sy,sz,tau,vel,det
+ CCTK_REAL :: densf,sxf,syf,szf,tauf
+ CCTK_REAL :: alp,beta,press
+
+ densf = dens * ( vel - beta / alp )
+
+ sxf = sx * ( vel - beta/alp) + sqrt(det)*press
+
+ syf = sy * ( vel - beta/alp )
+
+ szf = sz * ( vel - beta/alp )
+
+ tauf = tau * ( vel - beta/alp ) + sqrt(det)*press*vel
+
+end subroutine num_x_flux
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Whisky_FluxSplit.F90 b/src/Whisky_FluxSplit.F90
new file mode 100644
index 0000000..f9bb3ba
--- /dev/null
+++ b/src/Whisky_FluxSplit.F90
@@ -0,0 +1,956 @@
+ /*@@
+ @file Whisky_FluxSplit.F90
+ @date Wed Mar 3 22:16:00 2004
+ @author Ian Hawke
+ @desc
+ Flux split reconstruction using WENO5.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine Whisky_FSAlpha
+ @date Sun Jan 9 12:25:43 2005
+ @author Ian Hawke
+ @desc
+ Compute the maximum characteristic speed over all space
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Whisky_FSAlpha(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: nx, ny, nz, i, j, k, ierr, max_handle
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det, psi4pt, beta
+ CCTK_REAL, dimension(5) :: lambda
+ CCTK_REAL :: alpha1_local, alpha2_local, alpha3_local, alpha4_local, &
+ alpha5_local
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ fs_alpha1 = 0.d0
+ fs_alpha2 = 0.d0
+ fs_alpha3 = 0.d0
+ fs_alpha4 = 0.d0
+ fs_alpha5 = 0.d0
+
+ alpha1_local = 0.d0
+ alpha2_local = 0.d0
+ alpha3_local = 0.d0
+ alpha4_local = 0.d0
+ alpha5_local = 0.d0
+
+ if (flux_direction == 1) then
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ end if
+
+ if (shift_state .eq. 0) then
+ beta = 0.d0
+ else
+ beta = betax(i,j,k)
+ end if
+
+ call eigenvalues(whisky_eos_handle, &
+ rho (i,j,k), &
+ vel (i,j,k,1), &
+ vel (i,j,k,2), &
+ vel (i,j,k,3), &
+ eps (i,j,k), &
+ w_lorentz(i,j,k), &
+ lambda , &
+ gxx (i,j,k), &
+ gxy (i,j,k), &
+ gxz (i,j,k), &
+ gyy (i,j,k), &
+ gyz (i,j,k), &
+ gzz (i,j,k), &
+ uxx , &
+ det , &
+ alp (i,j,k), &
+ beta )
+
+ alpha1_local = max(abs(lambda(1)), alpha1_local)
+ alpha2_local = max(abs(lambda(2)), alpha2_local)
+ alpha3_local = max(abs(lambda(3)), alpha3_local)
+ alpha4_local = max(abs(lambda(4)), alpha4_local)
+ alpha5_local = max(abs(lambda(5)), alpha5_local)
+
+ end do
+ end do
+ end do
+
+ else if (flux_direction == 2) then
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ end if
+
+ if (shift_state .eq. 0) then
+ beta = 0.d0
+ else
+ beta = betay(i,j,k)
+ end if
+
+ call eigenvalues(whisky_eos_handle, &
+ rho (i,j,k), &
+ vel (i,j,k,1), &
+ vel (i,j,k,2), &
+ vel (i,j,k,3), &
+ eps (i,j,k), &
+ w_lorentz(i,j,k), &
+ lambda , &
+ gyy (i,j,k), &
+ gyz (i,j,k), &
+ gxy (i,j,k), &
+ gzz (i,j,k), &
+ gxz (i,j,k), &
+ gxx (i,j,k), &
+ uyy , &
+ det , &
+ alp (i,j,k), &
+ beta )
+
+ alpha1_local = max(abs(lambda(1)), alpha1_local)
+ alpha2_local = max(abs(lambda(2)), alpha2_local)
+ alpha3_local = max(abs(lambda(3)), alpha3_local)
+ alpha4_local = max(abs(lambda(4)), alpha4_local)
+ alpha5_local = max(abs(lambda(5)), alpha5_local)
+
+ end do
+ end do
+ end do
+
+ else if (flux_direction == 3) then
+
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det)
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ end if
+
+ if (shift_state .eq. 0) then
+ beta = 0.d0
+ else
+ beta = betaz(i,j,k)
+ end if
+
+ call eigenvalues(whisky_eos_handle, &
+ rho (i,j,k), &
+ vel (i,j,k,1), &
+ vel (i,j,k,2), &
+ vel (i,j,k,3), &
+ eps (i,j,k), &
+ w_lorentz(i,j,k), &
+ lambda , &
+ gzz (i,j,k), &
+ gxz (i,j,k), &
+ gyz (i,j,k), &
+ gxx (i,j,k), &
+ gxy (i,j,k), &
+ gyy (i,j,k), &
+ uzz , &
+ det , &
+ alp (i,j,k), &
+ beta )
+
+ alpha1_local = max(abs(lambda(1)), alpha1_local)
+ alpha2_local = max(abs(lambda(2)), alpha2_local)
+ alpha3_local = max(abs(lambda(3)), alpha3_local)
+ alpha4_local = max(abs(lambda(4)), alpha4_local)
+ alpha5_local = max(abs(lambda(5)), alpha5_local)
+
+ end do
+ end do
+ end do
+
+ else
+
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+
+ end if
+
+!!$ write(*,*) 'fs_alpha: local',alpha1_local,alpha2_local,alpha3_local,alpha4_local,alpha5_local
+
+ call CCTK_ReductionHandle(max_handle, "maximum")
+
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, max_handle, &
+ alpha1_local, fs_alpha1, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, "Reduction of alpha1 failed")
+ end if
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, max_handle, &
+ alpha2_local, fs_alpha2, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, "Reduction of alpha2 failed")
+ end if
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, max_handle, &
+ alpha3_local, fs_alpha3, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, "Reduction of alpha3 failed")
+ end if
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, max_handle, &
+ alpha4_local, fs_alpha4, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, "Reduction of alpha4 failed")
+ end if
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, max_handle, &
+ alpha5_local, fs_alpha5, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, "Reduction of alpha5 failed")
+ end if
+
+!!$ write(*,*) 'fs_alpha: global',fs_alpha1,fs_alpha2,fs_alpha3,fs_alpha4,fs_alpha5
+
+!!$ fs_alpha1 = max(abs(fs_alpha1), &
+!!$ abs(fs_alpha2), &
+!!$ abs(fs_alpha3), &
+!!$ abs(fs_alpha4), &
+!!$ abs(fs_alpha5) )
+!!$
+!!$ fs_alpha2 = max(abs(fs_alpha1), &
+!!$ abs(fs_alpha2), &
+!!$ abs(fs_alpha3), &
+!!$ abs(fs_alpha4), &
+!!$ abs(fs_alpha5) )
+!!$
+!!$ fs_alpha3 = max(abs(fs_alpha1), &
+!!$ abs(fs_alpha2), &
+!!$ abs(fs_alpha3), &
+!!$ abs(fs_alpha4), &
+!!$ abs(fs_alpha5) )
+!!$
+!!$ fs_alpha4 = max(abs(fs_alpha1), &
+!!$ abs(fs_alpha2), &
+!!$ abs(fs_alpha3), &
+!!$ abs(fs_alpha4), &
+!!$ abs(fs_alpha5) )
+!!$
+!!$ fs_alpha5 = max(abs(fs_alpha1), &
+!!$ abs(fs_alpha2), &
+!!$ abs(fs_alpha3), &
+!!$ abs(fs_alpha4), &
+!!$ abs(fs_alpha5) )
+
+!!$ write(*,*) 'fs_alpha: final',fs_alpha1,fs_alpha2,fs_alpha3,fs_alpha4,fs_alpha5
+
+end subroutine Whisky_FSAlpha
+
+ /*@@
+ @routine Whisky_SplitFlux
+ @date Wed Mar 3 22:17:14 2004
+ @author Ian Hawke
+ @desc
+ Wrapper routine to split the flux. Synchronization is
+ unfortunately required afterwards.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Whisky_SplitFlux(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: nx, ny, nz, i, j, k
+
+ CCTK_REAL, dimension(:), allocatable :: upper, det, dummy
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, psi4pt
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ if (flux_direction == 1) then
+ allocate(upper(nx), det(nx), dummy(nx))
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 2
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil + 2
+
+ if (shift_state .eq. 0) then
+ dummy = 0.d0
+ else
+ dummy = betax(:,j,k)
+ end if
+ if (conformal_state .eq. 0) then
+ do i = 1, cctk_lsh(1)
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det(i))
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(i),&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ upper(i) = uxx
+ end do
+ else
+ do i = 1, cctk_lsh(1)
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det(i))
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(i),&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ upper(i) = uxx
+ end do
+ end if
+
+ call Whisky_SplitFlux_1D(whisky_eos_handle, nx,&
+ fs_alpha1, fs_alpha2, fs_alpha3, fs_alpha4, fs_alpha5, &
+ gxx(:,j,k),gxy(:,j,k),gxz(:,j,k),&
+ gyy(:,j,k),gyz(:,j,k),gzz(:,j,k),&
+ upper, det,&
+ alp(:,j,k),dummy,&
+ rho(:,j,k),vel(:,j,k,1),vel(:,j,k,2),vel(:,j,k,3),press(:,j,k),&
+ w_lorentz(:,j,k),eps(:,j,k),&
+ dens(:,j,k),scon(:,j,k,1),scon(:,j,k,2),scon(:,j,k,3),tau(:,j,k),&
+ densfplus(:,j,k), sxfplus(:,j,k), syfplus(:,j,k), &
+ szfplus(:,j,k), taufplus(:,j,k), &
+ densfminus(:,j,k), sxfminus(:,j,k), syfminus(:,j,k), &
+ szfminus(:,j,k), taufminus(:,j,k), &
+ densflux(:,j,k), sxflux(:,j,k), syflux(:,j,k), &
+ szflux(:,j,k), tauflux(:,j,k))
+ end do
+ end do
+ deallocate(upper, det, dummy)
+ else if (flux_direction == 2) then
+ allocate(upper(ny), det(ny), dummy(ny))
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 2
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil + 2
+
+ if (shift_state .eq. 0) then
+ dummy = 0.d0
+ else
+ dummy = betay(i,:,k)
+ end if
+ if (conformal_state .eq. 0) then
+ do j = 1, cctk_lsh(2)
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det(j))
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(j),&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ upper(j) = uyy
+ end do
+ else
+ do j = 1, cctk_lsh(2)
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det(j))
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(j),&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ upper(j) = uyy
+ end do
+ end if
+
+ call Whisky_SplitFlux_1D(whisky_eos_handle, ny,&
+ fs_alpha1, fs_alpha2, fs_alpha3, fs_alpha4, fs_alpha5, &
+ gyy(i,:,k),gyz(i,:,k),gxy(i,:,k),&
+ gzz(i,:,k),gxz(i,:,k),gxx(i,:,k),&
+ upper, det,&
+ alp(i,:,k),dummy,&
+ rho(i,:,k),vel(i,:,k,2),vel(i,:,k,3),vel(i,:,k,1),press(i,:,k),&
+ w_lorentz(i,:,k),eps(i,:,k),&
+ dens(i,:,k),scon(i,:,k,2),scon(i,:,k,3),scon(i,:,k,1),tau(i,:,k),&
+ densfplus(i,:,k), syfplus(i,:,k), szfplus(i,:,k), &
+ sxfplus(i,:,k), taufplus(i,:,k), &
+ densfminus(i,:,k), syfminus(i,:,k), szfminus(i,:,k), &
+ sxfminus(i,:,k), taufminus(i,:,k), &
+ densflux(i,:,k), syflux(i,:,k), szflux(i,:,k), &
+ sxflux(i,:,k), tauflux(i,:,k))
+ end do
+ end do
+ deallocate(upper, det, dummy)
+ else if (flux_direction == 3) then
+ allocate(upper(nz), det(nz), dummy(nz))
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil + 2
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil + 2
+
+ if (shift_state .eq. 0) then
+ dummy = 0.d0
+ else
+ dummy = betaz(i,j,:)
+ end if
+
+ if (conformal_state .eq. 0) then
+ do k = 1, cctk_lsh(3)
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det(k))
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(k),&
+ gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),&
+ gyz(i,j,k),gzz(i,j,k))
+ upper(k) = uzz
+ end do
+ else
+ do k = 1, cctk_lsh(3)
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),det(k))
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(k),&
+ psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),&
+ psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k))
+ upper(k) = uzz
+ end do
+ end if
+
+ call Whisky_SplitFlux_1D(whisky_eos_handle, nz,&
+ fs_alpha1, fs_alpha2, fs_alpha3, fs_alpha4, fs_alpha5, &
+ gzz(i,j,:),gxz(i,j,:),gyz(i,j,:),&
+ gxx(i,j,:),gxy(i,j,:),gyy(i,j,:),&
+ upper, det,&
+ alp(i,j,:),dummy,&
+ rho(i,j,:),vel(i,j,:,3),vel(i,j,:,1),vel(i,j,:,2),press(i,j,:),&
+ w_lorentz(i,j,:),eps(i,j,:),&
+ dens(i,j,:),scon(i,j,:,3),scon(i,j,:,1),scon(i,j,:,2),tau(i,j,:),&
+ densfplus(i,j,:), szfplus(i,j,:), sxfplus(i,j,:), &
+ syfplus(i,j,:), taufplus(i,j,:), &
+ densfminus(i,j,:), szfminus(i,j,:), sxfminus(i,j,:), &
+ syfminus(i,j,:), taufminus(i,j,:), &
+ densflux(i,j,:), szflux(i,j,:), sxflux(i,j,:), &
+ syflux(i,j,:), tauflux(i,j,:))
+ end do
+ end do
+ deallocate(upper, det, dummy)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ return
+
+end subroutine Whisky_SplitFlux
+
+ /*@@
+ @routine Whisky_SplitFlux_1D
+ @date Wed Mar 3 22:55:36 2004
+ @author Ian Hawke
+ @desc
+ Actually performs the flux splitting.
+ We really should be doing it on a characteristic basis.
+
+ Note the direction rotations on the calling routine.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_SplitFlux_1D(handle, nx, &
+ alpha1, alpha2, alpha3, alpha4, alpha5, &
+ gxx, gxy, gxz, gyy, gyz, gzz, u, det, alp, beta, &
+ rho, velx1, vely1, velz1, press, w_lorentz, eps, &
+ dens, sx, sy, sz, tau, &
+ densfplus, sxfplus, syfplus, szfplus, taufplus, &
+ densfminus, sxfminus, syfminus, szfminus, taufminus, &
+ densflux, sxflux, syflux, szflux, tauflux)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, nx, handle, ll
+ CCTK_REAL, dimension(nx) :: gxx, gxy, gxz, gyy, gyz, gzz, &
+ u, det, alp, beta, &
+ rho, velx1, vely1, velz1, press, w_lorentz, eps, &
+ dens, sx, sy, sz, tau, &
+ densfplus, sxfplus, syfplus, szfplus, taufplus, &
+ densfminus, sxfminus, syfminus, szfminus, taufminus, &
+ densflux, sxflux, syflux, szflux, tauflux
+
+ CCTK_REAL :: alpha1, alpha2, alpha3, alpha4, alpha5
+
+ CCTK_REAL, dimension(:), allocatable :: tmp
+
+ CCTK_REAL, dimension(:,:), allocatable :: evals
+ CCTK_REAL, dimension(:,:,:), allocatable :: levecs, revecs
+
+ CCTK_REAL, dimension(:), allocatable :: &
+ char_v1, char_v2, char_v3, char_v4 ,char_v5, &
+ char_f1_plus, char_f2_plus, char_f3_plus, &
+ char_f4_plus ,char_f5_plus, &
+ char_f1_minus, char_f2_minus, char_f3_minus, &
+ char_f4_minus ,char_f5_minus, &
+ char_f1, char_f2, char_f3, &
+ char_f4 ,char_f5
+
+ CCTK_REAL, dimension(5) :: lambda, alpha
+ CCTK_REAL, dimension(5, 5) :: levec, revec
+
+ densfplus = 0.d0
+ sxfplus = 0.d0
+ syfplus = 0.d0
+ szfplus = 0.d0
+ taufplus = 0.d0
+ densfminus = 0.d0
+ sxfminus = 0.d0
+ syfminus = 0.d0
+ szfminus = 0.d0
+ taufminus = 0.d0
+
+ allocate(evals(nx, 5), levecs(nx,5,5), revecs(nx,5,5))
+ allocate(tmp(nx))
+ allocate(char_v1(nx), char_v2(nx), char_v3(nx), char_v4 (nx),char_v5(nx), &
+ char_f1_plus(nx), char_f2_plus(nx), char_f3_plus(nx), &
+ char_f4_plus (nx),char_f5_plus(nx), &
+ char_f1_minus(nx), char_f2_minus(nx), char_f3_minus(nx), &
+ char_f4_minus (nx),char_f5_minus(nx), &
+ char_f1(nx), char_f2(nx), char_f3(nx), &
+ char_f4 (nx),char_f5(nx))
+
+ do i = 1, nx-1
+
+!!$ Arithmetic mean
+
+!!$ Calculate the maximum eigenvalue and put it here
+
+ call eigenproblem_leftright(handle, &
+ 0.5d0 * (rho (i) + rho (i+1)), &
+ 0.5d0 * (velx1 (i) + velx1 (i+1)), &
+ 0.5d0 * (vely1 (i) + vely1 (i+1)), &
+ 0.5d0 * (velz1 (i) + velz1 (i+1)), &
+ 0.5d0 * (eps (i) + eps (i+1)), &
+ 0.5d0 * (w_lorentz(i) + w_lorentz(i+1)), &
+ 0.5d0 * (gxx (i) + gxx (i+1)), &
+ 0.5d0 * (gxy (i) + gxy (i+1)), &
+ 0.5d0 * (gxz (i) + gxz (i+1)), &
+ 0.5d0 * (gyy (i) + gyy (i+1)), &
+ 0.5d0 * (gyz (i) + gyz (i+1)), &
+ 0.5d0 * (gzz (i) + gzz (i+1)), &
+ 0.5d0 * (u (i) + u (i+1)), &
+ 0.5d0 * (det (i) + det (i+1)), &
+ 0.5d0 * (alp (i) + alp (i+1)), &
+ 0.5d0 * (beta (i) + beta (i+1)), &
+ lambda,&
+ levec,&
+ revec)
+
+ evals(i,:) = lambda
+ levecs(i,:,:) = levec
+ revecs(i,:,:) = revec
+
+ end do
+
+ do i = 3, nx - 3
+
+ alpha(1) = alpha1
+ alpha(2) = alpha2
+ alpha(3) = alpha3
+ alpha(4) = alpha4
+ alpha(5) = alpha5
+
+ do ll = i - 2, i + 3
+
+!!$ Initialize the pointwise fluxes temporarily into the minus
+
+ call num_x_flux(dens(ll), sx(ll), sy(ll), sz(ll), tau(ll), &
+ densfminus(ll), sxfminus(ll), syfminus(ll), szfminus(ll), &
+ taufminus(ll), &
+ velx1(ll), press(ll), det(ll), alp(ll), beta(ll))
+
+ densfminus(ll) = densfminus(ll) * alp(ll)
+ sxfminus(ll) = sxfminus(ll) * alp(ll)
+ syfminus(ll) = syfminus(ll) * alp(ll)
+ szfminus(ll) = szfminus(ll) * alp(ll)
+ taufminus(ll) = taufminus(ll) * alp(ll)
+
+ char_v1(ll) = levecs(i,1,1) * dens(ll) + &
+ levecs(i,1,2) * sx(ll) + &
+ levecs(i,1,3) * sy(ll) + &
+ levecs(i,1,4) * sz(ll) + &
+ levecs(i,1,5) * tau(ll)
+ char_v2(ll) = levecs(i,2,1) * dens(ll) + &
+ levecs(i,2,2) * sx(ll) + &
+ levecs(i,2,3) * sy(ll) + &
+ levecs(i,2,4) * sz(ll) + &
+ levecs(i,2,5) * tau(ll)
+ char_v3(ll) = levecs(i,3,1) * dens(ll) + &
+ levecs(i,3,2) * sx(ll) + &
+ levecs(i,3,3) * sy(ll) + &
+ levecs(i,3,4) * sz(ll) + &
+ levecs(i,3,5) * tau(ll)
+ char_v4(ll) = levecs(i,4,1) * dens(ll) + &
+ levecs(i,4,2) * sx(ll) + &
+ levecs(i,4,3) * sy(ll) + &
+ levecs(i,4,4) * sz(ll) + &
+ levecs(i,4,5) * tau(ll)
+ char_v5(ll) = levecs(i,5,1) * dens(ll) + &
+ levecs(i,5,2) * sx(ll) + &
+ levecs(i,5,3) * sy(ll) + &
+ levecs(i,5,4) * sz(ll) + &
+ levecs(i,5,5) * tau(ll)
+
+ char_f1(ll) = levecs(i,1,1) * densfminus(ll) + &
+ levecs(i,1,2) * sxfminus(ll) + &
+ levecs(i,1,3) * syfminus(ll) + &
+ levecs(i,1,4) * szfminus(ll) + &
+ levecs(i,1,5) * taufminus(ll)
+ char_f2(ll) = levecs(i,2,1) * densfminus(ll) + &
+ levecs(i,2,2) * sxfminus(ll) + &
+ levecs(i,2,3) * syfminus(ll) + &
+ levecs(i,2,4) * szfminus(ll) + &
+ levecs(i,2,5) * taufminus(ll)
+ char_f3(ll) = levecs(i,3,1) * densfminus(ll) + &
+ levecs(i,3,2) * sxfminus(ll) + &
+ levecs(i,3,3) * syfminus(ll) + &
+ levecs(i,3,4) * szfminus(ll) + &
+ levecs(i,3,5) * taufminus(ll)
+ char_f4(ll) = levecs(i,4,1) * densfminus(ll) + &
+ levecs(i,4,2) * sxfminus(ll) + &
+ levecs(i,4,3) * syfminus(ll) + &
+ levecs(i,4,4) * szfminus(ll) + &
+ levecs(i,4,5) * taufminus(ll)
+ char_f5(ll) = levecs(i,5,1) * densfminus(ll) + &
+ levecs(i,5,2) * sxfminus(ll) + &
+ levecs(i,5,3) * syfminus(ll) + &
+ levecs(i,5,4) * szfminus(ll) + &
+ levecs(i,5,5) * taufminus(ll)
+
+!!$ Calculate the split
+
+ char_f1_plus(ll) = 0.5d0 * (char_f1(ll) + alpha(1) * char_v1(ll))
+ char_f1_minus(ll) = 0.5d0 * (char_f1(ll) - alpha(1) * char_v1(ll))
+ char_f2_plus(ll) = 0.5d0 * (char_f2(ll) + alpha(2) * char_v2(ll))
+ char_f2_minus(ll) = 0.5d0 * (char_f2(ll) - alpha(2) * char_v2(ll))
+ char_f3_plus(ll) = 0.5d0 * (char_f3(ll) + alpha(3) * char_v3(ll))
+ char_f3_minus(ll) = 0.5d0 * (char_f3(ll) - alpha(3) * char_v3(ll))
+ char_f4_plus(ll) = 0.5d0 * (char_f4(ll) + alpha(4) * char_v4(ll))
+ char_f4_minus(ll) = 0.5d0 * (char_f4(ll) - alpha(4) * char_v4(ll))
+ char_f5_plus(ll) = 0.5d0 * (char_f5(ll) + alpha(5) * char_v5(ll))
+ char_f5_minus(ll) = 0.5d0 * (char_f5(ll) - alpha(5) * char_v5(ll))
+
+ end do
+
+!!$ Reconstruct the characteristic split fluxes
+!!$ After reconstruction, combine to get the characteristic flux
+
+ call Whisky_WENO5_Left(5, char_f1_plus(i-2:i+2), tmp(i-2:i+2))
+ char_f1(i) = tmp(i)
+ call Whisky_WENO5_Right(5, char_f1_minus(i-1:i+3), &
+ tmp(i-1:i+3))
+ char_f1(i) = char_f1(i) + tmp(i+1)
+
+ call Whisky_WENO5_Left(5, char_f2_plus(i-2:i+2), tmp(i-2:i+2))
+ char_f2(i) = tmp(i)
+ call Whisky_WENO5_Right(5, char_f2_minus(i-1:i+3), &
+ tmp(i-1:i+3))
+ char_f2(i) = char_f2(i) + tmp(i+1)
+
+ call Whisky_WENO5_Left(5, char_f3_plus(i-2:i+2), tmp(i-2:i+2))
+ char_f3(i) = tmp(i)
+ call Whisky_WENO5_Right(5, char_f3_minus(i-1:i+3), &
+ tmp(i-1:i+3))
+ char_f3(i) = char_f3(i) + tmp(i+1)
+
+ call Whisky_WENO5_Left(5, char_f4_plus(i-2:i+2), tmp(i-2:i+2))
+ char_f4(i) = tmp(i)
+ call Whisky_WENO5_Right(5, char_f4_minus(i-1:i+3), &
+ tmp(i-1:i+3))
+ char_f4(i) = char_f4(i) + tmp(i+1)
+
+ call Whisky_WENO5_Left(5, char_f5_plus(i-2:i+2), tmp(i-2:i+2))
+ char_f5(i) = tmp(i)
+ call Whisky_WENO5_Right(5, char_f5_minus(i-1:i+3), &
+ tmp(i-1:i+3))
+ char_f5(i) = char_f5(i) + tmp(i+1)
+
+!!$ Compute physical fluxes
+
+ densflux(i) = &
+ revecs(i,1,1) * char_f1(i) + revecs(i,2,1) * char_f2(i) + &
+ revecs(i,3,1) * char_f3(i) + revecs(i,4,1) * char_f4(i) + &
+ revecs(i,5,1) * char_f5(i)
+ sxflux(i) = &
+ revecs(i,1,2) * char_f1(i) + revecs(i,2,2) * char_f2(i) + &
+ revecs(i,3,2) * char_f3(i) + revecs(i,4,2) * char_f4(i) + &
+ revecs(i,5,2) * char_f5(i)
+ syflux(i) = &
+ revecs(i,1,3) * char_f1(i) + revecs(i,2,3) * char_f2(i) + &
+ revecs(i,3,3) * char_f3(i) + revecs(i,4,3) * char_f4(i) + &
+ revecs(i,5,3) * char_f5(i)
+ szflux(i) = &
+ revecs(i,1,4) * char_f1(i) + revecs(i,2,4) * char_f2(i) + &
+ revecs(i,3,4) * char_f3(i) + revecs(i,4,4) * char_f4(i) + &
+ revecs(i,5,4) * char_f5(i)
+ tauflux(i) = &
+ revecs(i,1,5) * char_f1(i) + revecs(i,2,5) * char_f2(i) + &
+ revecs(i,3,5) * char_f3(i) + revecs(i,4,5) * char_f4(i) + &
+ revecs(i,5,5) * char_f5(i)
+
+!!$ if (abs(i-200) < 5) then
+!!$ write(*,*) i, 'alpha',alpha1,alpha2,alpha3,alpha4,alpha5
+!!$ write(*,*) i, 'var',dens(i), sx(i), tau(i)
+!!$ write(*,*) i, 'f',densflux(i),sxflux(i),tauflux(i)
+!!$ end if
+
+ end do
+
+ deallocate(evals, levecs, revecs, tmp)
+
+end subroutine Whisky_SplitFlux_1D
+
+ /*@@
+ @routine Whisky_WENO5_Left
+ @date Wed Mar 3 22:57:54 2004
+ @author Ian Hawke
+ @desc
+ Upwind biased WENO5.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_WENO5_Left(nx, v, vminus)
+
+ implicit none
+
+ CCTK_INT :: i, nx
+ CCTK_REAL, dimension(nx) :: v, vminus
+ CCTK_REAL :: one, two, three, four, five, six, seven, &
+ ten, eleven, twelve, thirteen, &
+ ThirteenByTwelve, Quarter
+ parameter (one = 1)
+ parameter (two = 2)
+ parameter (three = 3)
+ parameter (four = 4)
+ parameter (five = 5)
+ parameter (six = 6)
+ parameter (seven = 7)
+ parameter (ten = 10)
+ parameter (eleven = 11)
+ parameter (twelve = 12)
+ parameter (thirteen = 13)
+ parameter (ThirteenByTwelve = thirteen / twelve)
+ parameter (Quarter = one / four)
+ CCTK_REAL :: d0, d1, d2
+ parameter (d0 = three / ten)
+ parameter (d1 = six / ten)
+ parameter (d2 = one / ten)
+ CCTK_REAL :: c00,c01,c02,c10,c11,c12,c20,c21,c22
+ parameter (c00 = two / six)
+ parameter (c01 = five / six)
+ parameter (c02 = -one / six)
+ parameter (c10 = -one / six)
+ parameter (c11 = five / six)
+ parameter (c12 = two / six)
+ parameter (c20 = two / six)
+ parameter (c21 = -seven / six)
+ parameter (c22 = eleven / six)
+
+ CCTK_REAL :: beta0, beta1, beta2
+ CCTK_REAL :: epsilon
+ CCTK_REAL :: alpha0, alpha1, alpha2, alphasum
+ CCTK_REAL :: w0, w1, w2
+ CCTK_REAL :: v0plushalf, v1plushalf, v2plushalf
+
+ epsilon = 1.d-6
+
+ do i = 3, nx-2
+
+ beta0 = ThirteenByTwelve * (v(i ) - two * v(i+1) + v(i+2))**2 + &
+ Quarter * (three * v(i ) - four * v(i+1) + v(i+2))**2
+ beta1 = ThirteenByTwelve * (v(i-1) - two * v(i ) + v(i+1))**2 + &
+ Quarter * ( v(i-1) - v(i+1))**2
+ beta2 = ThirteenByTwelve * (v(i-2) - two * v(i-1) + v(i ))**2 + &
+ Quarter * ( v(i-2) - four * v(i-1) + three * v(i ))**2
+
+ alpha0 = d0 / (epsilon + beta0)**2
+ alpha1 = d1 / (epsilon + beta1)**2
+ alpha2 = d2 / (epsilon + beta2)**2
+
+ alphasum = alpha0 + alpha1 + alpha2
+
+ w0 = alpha0 / alphasum
+ w1 = alpha1 / alphasum
+ w2 = alpha2 / alphasum
+
+ v0plushalf = c00 * v(i ) + c01 * v(i+1) + c02 * v(i+2)
+ v1plushalf = c10 * v(i-1) + c11 * v(i ) + c12 * v(i+1)
+ v2plushalf = c20 * v(i-2) + c21 * v(i-1) + c22 * v(i )
+
+ vminus(i) = w0 * v0plushalf + &
+ w1 * v1plushalf + &
+ w2 * v2plushalf
+
+ end do
+
+end subroutine Whisky_WENO5_Left
+
+ /*@@
+ @routine Whisky_WENO5_Right
+ @date Wed Mar 3 22:58:10 2004
+ @author Ian Hawke
+ @desc
+ Downwind biased WENO5.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_WENO5_Right(nx, v, vplus)
+
+ implicit none
+
+ CCTK_INT :: i, nx
+ CCTK_REAL, dimension(nx) :: v, vplus
+ CCTK_REAL :: one, two, three, four, five, six, seven, &
+ ten, eleven, twelve, thirteen, &
+ ThirteenByTwelve, Quarter
+ parameter (one = 1)
+ parameter (two = 2)
+ parameter (three = 3)
+ parameter (four = 4)
+ parameter (five = 5)
+ parameter (six = 6)
+ parameter (seven = 7)
+ parameter (ten = 10)
+ parameter (eleven = 11)
+ parameter (twelve = 12)
+ parameter (thirteen = 13)
+ parameter (ThirteenByTwelve = thirteen / twelve)
+ parameter (Quarter = one / four)
+ CCTK_REAL :: dtilde0, dtilde1, dtilde2
+ parameter (dtilde0 = one / ten)
+ parameter (dtilde1 = six / ten)
+ parameter (dtilde2 = three / ten)
+ CCTK_REAL :: ctilde00,ctilde01,ctilde02,ctilde10,ctilde11,&
+ ctilde12,ctilde20,ctilde21,ctilde22
+ parameter (ctilde00 = eleven / six)
+ parameter (ctilde01 = -seven / six)
+ parameter (ctilde02 = two / six)
+ parameter (ctilde10 = two / six)
+ parameter (ctilde11 = five / six)
+ parameter (ctilde12 = -one / six)
+ parameter (ctilde20 = -one / six)
+ parameter (ctilde21 = five / six)
+ parameter (ctilde22 = two / six)
+
+ CCTK_REAL :: betatilde0, betatilde1, betatilde2
+ CCTK_REAL :: epsilon
+ CCTK_REAL :: alphatilde0, alphatilde1, alphatilde2, alphatildesum
+ CCTK_REAL :: wtilde0, wtilde1, wtilde2
+ CCTK_REAL :: v0minushalf, v1minushalf, v2minushalf
+
+ epsilon = 1.d-6
+
+ do i = 3, nx-2
+
+ betatilde0 = ThirteenByTwelve * (v(i ) - two * v(i+1) + v(i+2))**2 + &
+ Quarter * (three * v(i ) - four * v(i+1) + v(i+2))**2
+ betatilde1 = ThirteenByTwelve * (v(i-1) - two * v(i ) + v(i+1))**2 + &
+ Quarter * ( v(i-1) - v(i+1))**2
+ betatilde2 = ThirteenByTwelve * (v(i-2) - two * v(i-1) + v(i ))**2 + &
+ Quarter * ( v(i-2) - four * v(i-1) + three * v(i ))**2
+
+ alphatilde0 = dtilde0 / (epsilon + betatilde0)**2
+ alphatilde1 = dtilde1 / (epsilon + betatilde1)**2
+ alphatilde2 = dtilde2 / (epsilon + betatilde2)**2
+
+ alphatildesum = alphatilde0 + alphatilde1 + alphatilde2
+
+ wtilde0 = alphatilde0 / alphatildesum
+ wtilde1 = alphatilde1 / alphatildesum
+ wtilde2 = alphatilde2 / alphatildesum
+
+ v0minushalf = ctilde00 * v(i ) + ctilde01 * v(i+1) + ctilde02 * v(i+2)
+ v1minushalf = ctilde10 * v(i-1) + ctilde11 * v(i ) + ctilde12 * v(i+1)
+ v2minushalf = ctilde20 * v(i-2) + ctilde21 * v(i-1) + ctilde22 * v(i )
+
+ vplus(i) = wtilde0 * v0minushalf + &
+ wtilde1 * v1minushalf + &
+ wtilde2 * v2minushalf
+
+ end do
+
+end subroutine Whisky_WENO5_Right
diff --git a/src/Whisky_HLLE.F90 b/src/Whisky_HLLE.F90
new file mode 100644
index 0000000..638c363
--- /dev/null
+++ b/src/Whisky_HLLE.F90
@@ -0,0 +1,586 @@
+ /*@@
+ @file Whisky_HLLE.F90
+ @date Sat Jan 26 01:40:14 2002
+ @author Ian Hawke, Pedro Montero, Toni Font
+ @desc
+ The HLLE solver. Called from the wrapper function, so works in
+ all directions.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+ /*@@
+ @routine Whisky_HLLEGeneral
+ @date Sat Jan 26 01:41:02 2002
+ @author Ian Hawke, Pedro Montero, Toni Font
+ @desc
+ The HLLE solver. Sufficiently simple that its just one big routine.
+ Rewritten for the new EOS interface.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Altered from Cactus 3 routines originally written by Toni Font.
+ @endhistory
+
+@@*/
+
+subroutine Whisky_HLLEGeneral(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: i, j, k, m
+ CCTK_REAL, dimension(5) :: cons_p,cons_m,fplus,fminus,lamplus
+ CCTK_REAL, dimension(5) :: f1,lamminus
+ CCTK_REAL, dimension(5) :: qdiff
+ CCTK_REAL, dimension(6) :: prim_p, prim_m
+ CCTK_REAL :: charmin, charmax, charpm,avg_alp,avg_det
+ CCTK_REAL :: gxxh, gxyh, gxzh, gyyh, gyzh, gzzh, uxxh, uxyh, &
+ uxzh, uyyh, uyzh, uzzh, avg_beta, usendh, alp_l, alp_r, psi4h, &
+ cs2_p, cs2_m, dpdeps_p, dpdeps_m
+
+ CCTK_INT :: type_bits, trivial, not_trivial
+
+ integer tadmor
+
+ if(CCTK_EQUALS(HLLE_type,"Tadmor")) then
+ tadmor = 1
+ else
+ tadmor = 0
+ endif
+
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+ f1 = 0.d0
+ lamminus = 0.d0
+ lamplus = 0.d0
+ cons_p = 0.d0
+ cons_m = 0.d0
+ fplus = 0.d0
+ fminus = 0.d0
+ qdiff = 0.d0
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ cons_p(1) = densplus(i,j,k)
+ cons_p(2) = sxplus(i,j,k)
+ cons_p(3) = syplus(i,j,k)
+ cons_p(4) = szplus(i,j,k)
+ cons_p(5) = tauplus(i,j,k)
+
+ cons_m(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(1) = rhoplus(i,j,k)
+ prim_p(2) = velxplus(i,j,k)
+ prim_p(3) = velyplus(i,j,k)
+ prim_p(4) = velzplus(i,j,k)
+ prim_p(5) = epsplus(i,j,k)
+
+ prim_m(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(6) = pressplus(i,j,k)
+ cs2_p = eos_cs2_p(i,j,k)
+ dpdeps_p = eos_dpdeps_p(i,j,k)
+
+ prim_m(6) = pressminus(i+xoffset,j+yoffset,k+zoffset)
+ cs2_m = eos_cs2_m(i+xoffset,j+yoffset,k+zoffset)
+ dpdeps_m = eos_dpdeps_m(i+xoffset,j+yoffset,k+zoffset)
+
+!!$ Calculate various metric terms here.
+!!$ Note also need the average of the lapse at the
+!!$ left and right points.
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + gzz(i,j,k))
+
+ if (conformal_state .eq. 0) then
+ psi4h = 1.d0
+ else
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ end if
+
+ call SpatialDeterminant(psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial, just calculate the fluxes from the
+!!$ left state and skip to the next cell
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, trivial)) then
+
+ if (flux_direction == 1) then
+ call num_x_flux(cons_m(1),cons_m(2),cons_m(3),cons_m(4),cons_m(5),&
+ f1(1),f1(2),f1(3),f1(4),f1(5),&
+ prim_m(2),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call num_x_flux(cons_m(1),cons_m(3),cons_m(4),cons_m(2),cons_m(5),&
+ f1(1),f1(3),f1(4),f1(2),f1(5),&
+ prim_m(3),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call num_x_flux(cons_m(1),cons_m(4),cons_m(2),cons_m(3),cons_m(5),&
+ f1(1),f1(4),f1(2),f1(3),f1(5), &
+ prim_m(4),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ else !!! The end of this branch is right at the bottom of the routine
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,psi4h*gxxh, psi4h*gxyh, psi4h*gxzh, &
+ psi4h*gyyh, psi4h*gyzh, psi4h*gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Calculate the jumps in the conserved variables
+
+ qdiff(1) = cons_m(1) - cons_p(1)
+ qdiff(2) = cons_m(2) - cons_p(2)
+ qdiff(3) = cons_m(3) - cons_p(3)
+ qdiff(4) = cons_m(4) - cons_p(4)
+ qdiff(5) = cons_m(5) - cons_p(5)
+
+!!$ Eigenvalues and fluxes either side of the cell interface
+
+ if (flux_direction == 1) then
+ call eigenvalues_general(&
+ prim_m(1),prim_m(2),prim_m(3),prim_m(4),prim_m(5), &
+ prim_m(6),cs2_m, &
+ lamminus,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues_general(&
+ prim_p(1),prim_p(2),prim_p(3),prim_p(4),prim_p(5), &
+ prim_p(6),cs2_p, &
+ lamplus,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call num_x_flux(cons_p(1),cons_p(2),cons_p(3),cons_p(4),cons_p(5),&
+ fplus(1),fplus(2),fplus(3),fplus(4),fplus(5),&
+ prim_p(2),prim_p(6), &
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(cons_m(1),cons_m(2),cons_m(3),cons_m(4),cons_m(5),&
+ fminus(1),fminus(2),fminus(3),fminus(4),fminus(5),&
+ prim_m(2),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call eigenvalues_general(&
+ prim_m(1),prim_m(3),prim_m(4),prim_m(2),prim_m(5), &
+ prim_m(6),cs2_m, &
+ lamminus,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues_general(&
+ prim_p(1),prim_p(3),prim_p(4),prim_p(2),prim_p(5), &
+ prim_p(6),cs2_p, &
+ lamplus,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call num_x_flux(cons_p(1),cons_p(3),cons_p(4),cons_p(2),cons_p(5),&
+ fplus(1),fplus(3),fplus(4),fplus(2),fplus(5),&
+ prim_p(3),prim_p(6), &
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(cons_m(1),cons_m(3),cons_m(4),cons_m(2),cons_m(5),&
+ fminus(1),fminus(3),fminus(4),fminus(2),fminus(5),&
+ prim_m(3),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call eigenvalues_general(&
+ prim_m(1),prim_m(4),prim_m(2),prim_m(3),prim_m(5), &
+ prim_m(6),cs2_m, &
+ lamminus,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues_general(&
+ prim_p(1),prim_p(4),prim_p(2),prim_p(3),prim_p(5), &
+ prim_p(6),cs2_p, &
+ lamplus,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call num_x_flux(cons_p(1),cons_p(4),cons_p(2),cons_p(3),cons_p(5),&
+ fplus(1),fplus(4),fplus(2),fplus(3),fplus(5), &
+ prim_p(4),prim_p(6), &
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(cons_m(1),cons_m(4),cons_m(2),cons_m(3),cons_m(5),&
+ fminus(1),fminus(4),fminus(2),fminus(3),fminus(5), &
+ prim_m(4),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ if(tadmor.eq.0) then
+
+!!$ Find minimum and maximum wavespeeds
+
+ charmin = min(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charmax = max(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charpm = charmax - charmin
+
+!!$ Calculate flux by standard formula
+
+ do m = 1,5
+
+ qdiff(m) = cons_m(m) - cons_p(m)
+
+ f1(m) = (charmax * fplus(m) - charmin * fminus(m) + &
+ charmax * charmin * qdiff(m)) / charpm
+
+ end do
+
+ else
+ ! Tadmor's semi-discrete scheme: JcP 160, 241 (2000)
+
+ charmax = max(abs(lamplus(1)), abs(lamplus(2)), abs(lamplus(3)), &
+ abs(lamplus(4)),abs(lamplus(5)),abs(lamminus(1)),abs(lamminus(2)), &
+ abs(lamminus(3)),abs(lamminus(4)),abs(lamminus(5)))
+
+ do m = 1,5
+
+ qdiff(m) = cons_m(m) - cons_p(m)
+
+ f1(m) = 0.5d0 * (fplus(m) + fminus(m)) - 0.5d0*charmax* &
+ qdiff(m)
+
+ end do
+
+
+ end if
+
+
+
+ end if !!! The end of the SpaceMask check for a trivial RP.
+
+ densflux(i, j, k) = f1(1)
+ sxflux(i, j, k) = f1(2)
+ syflux(i, j, k) = f1(3)
+ szflux(i, j, k) = f1(4)
+ tauflux(i, j, k) = f1(5)
+
+ end do
+ end do
+ end do
+
+end subroutine Whisky_HLLEGeneral
+
+
+subroutine Whisky_HLLE_TracerGeneral(CCTK_ARGUMENTS)
+
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: i, j, k, m
+ CCTK_REAL, dimension(number_of_tracers) :: cons_p,cons_m,fplus,fminus,f1
+ CCTK_REAL, dimension(5) :: lamminus,lamplus
+ CCTK_REAL, dimension(number_of_tracers) :: qdiff
+ CCTK_REAL, dimension(6) :: prim_p, prim_m
+ CCTK_REAL :: charmin, charmax, charpm,avg_alp,avg_det
+ CCTK_REAL :: gxxh, gxyh, gxzh, gyyh, gyzh, gzzh, uxxh, uxyh, &
+ uxzh, uyyh, uyzh, uzzh, avg_beta, usendh, alp_l, alp_r, psi4h, &
+ cs2_p, cs2_m, dpdeps_p, dpdeps_m
+
+ integer tadmor
+
+ if(CCTK_EQUALS(HLLE_type,"Tadmor")) then
+ tadmor = 1
+ else
+ tadmor = 0
+ endif
+
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+ f1 = 0.d0
+ lamminus = 0.d0
+ lamplus = 0.d0
+ cons_p = 0.d0
+ cons_m = 0.d0
+ fplus = 0.d0
+ fminus = 0.d0
+ qdiff = 0.d0
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ cons_p(:) = cons_tracerplus(i,j,k,:)
+ cons_m(:) = cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+
+ prim_p(1) = rhoplus(i,j,k)
+ prim_p(2) = velxplus(i,j,k)
+ prim_p(3) = velyplus(i,j,k)
+ prim_p(4) = velzplus(i,j,k)
+ prim_p(5) = epsplus(i,j,k)
+
+ prim_m(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(6) = pressplus(i,j,k)
+ cs2_p = eos_cs2_p(i,j,k)
+ dpdeps_p = eos_dpdeps_p(i,j,k)
+
+ prim_m(6) = pressminus(i+xoffset,j+yoffset,k+zoffset)
+ cs2_m = eos_cs2_m(i+xoffset,j+yoffset,k+zoffset)
+ dpdeps_m = eos_dpdeps_m(i+xoffset,j+yoffset,k+zoffset)
+
+!!$ Calculate various metric terms here.
+!!$ Note also need the average of the lapse at the
+!!$ left and right points.
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + gzz(i,j,k))
+
+ if (conformal_state .eq. 0) then
+ psi4h = 1.d0
+ else
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ end if
+
+ call SpatialDeterminant(psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial, just calculate the fluxes from the
+!!$ left state and skip to the next cell
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,psi4h*gxxh, psi4h*gxyh, psi4h*gxzh, &
+ psi4h*gyyh, psi4h*gyzh, psi4h*gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Eigenvalues and fluxes either side of the cell interface
+
+ if (flux_direction == 1) then
+ call eigenvalues_general(&
+ prim_m(1),prim_m(2),prim_m(3),prim_m(4),prim_m(5), &
+ prim_m(6),cs2_m, &
+ lamminus,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues_general(&
+ prim_p(1),prim_p(2),prim_p(3),prim_p(4),prim_p(5), &
+ prim_p(6),cs2_p, &
+ lamplus,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ fplus(:) = (velxplus(i,j,k) - avg_beta / avg_alp) * &
+ cons_tracerplus(i,j,k,:)
+ fminus(:) = (velxminus(i+xoffset,j+yoffset,k+zoffset) - avg_beta / avg_alp) * &
+ cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+ else if (flux_direction == 2) then
+ call eigenvalues_general(&
+ prim_m(1),prim_m(3),prim_m(4),prim_m(2),prim_m(5), &
+ prim_m(6),cs2_m, &
+ lamminus,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues_general(&
+ prim_p(1),prim_p(3),prim_p(4),prim_p(2),prim_p(5), &
+ prim_p(6),cs2_p, &
+ lamplus,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ fplus(:) = (velyplus(i,j,k) - avg_beta / avg_alp) * &
+ cons_tracerplus(i,j,k,:)
+ fminus(:) = (velyminus(i+xoffset,j+yoffset,k+zoffset) - avg_beta / avg_alp) * &
+ cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+ else if (flux_direction == 3) then
+ call eigenvalues_general(&
+ prim_m(1),prim_m(4),prim_m(2),prim_m(3),prim_m(5), &
+ prim_m(6),cs2_m, &
+ lamminus,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues_general(&
+ prim_p(1),prim_p(4),prim_p(2),prim_p(3),prim_p(5), &
+ prim_p(6),cs2_p, &
+ lamplus,&
+ psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ fplus(:) = (velzplus(i,j,k) - avg_beta / avg_alp) * &
+ cons_tracerplus(i,j,k,:)
+ fminus(:) = (velzminus(i+xoffset,j+yoffset,k+zoffset) - avg_beta / avg_alp) * &
+ cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ if(tadmor.eq.0) then
+
+!!$ Find minimum and maximum wavespeeds
+
+ charmin = min(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charmax = max(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+
+ charpm = charmax - charmin
+
+!!$ Calculate flux by standard formula
+
+ do m = 1,number_of_tracers
+
+ qdiff(m) = cons_m(m) - cons_p(m)
+
+ f1(m) = (charmax * fplus(m) - charmin * fminus(m) + &
+ charmax * charmin * qdiff(m)) / charpm
+ end do
+
+ else
+ ! Tadmor's semi-descrite scheme: JcP 160, 241 (2000)
+
+ charmax = max(abs(lamplus(1)), abs(lamplus(2)), abs(lamplus(3)), &
+ abs(lamplus(4)),abs(lamplus(5)),abs(lamminus(1)),abs(lamminus(2)), &
+ abs(lamminus(3)),abs(lamminus(4)),abs(lamminus(5)))
+
+ do m = 1,number_of_tracers
+
+ qdiff(m) = cons_m(m) - cons_p(m)
+
+ f1(m) = 0.5d0 * (fplus(m) + fminus(m)) - 0.5d0*charmax* &
+ qdiff(m)
+
+ end do
+
+
+ end if
+
+
+ cons_tracerflux(i,j,k,:) = f1(:)
+
+ end do
+ end do
+ end do
+
+end subroutine Whisky_HLLE_TracerGeneral
+
diff --git a/src/Whisky_HLLEPoly.F90 b/src/Whisky_HLLEPoly.F90
new file mode 100644
index 0000000..e3892e9
--- /dev/null
+++ b/src/Whisky_HLLEPoly.F90
@@ -0,0 +1,538 @@
+ /*@@
+ @file Whisky_HLLE.F90
+ @date Sat Jan 26 01:40:14 2002
+ @author Ian Hawke, Pedro Montero, Toni Font
+ @desc
+ The HLLE solver. Called from the wrapper function, so works in
+ all directions.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+ /*@@
+ @routine Whisky_HLLE
+ @date Sat Jan 26 01:41:02 2002
+ @author Ian Hawke, Pedro Montero, Toni Font
+ @desc
+ The HLLE solver. Sufficiently simple that its just one big routine.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Altered from Cactus 3 routines originally written by Toni Font.
+ @endhistory
+
+@@*/
+
+subroutine Whisky_HLLE(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k, m
+ CCTK_REAL, dimension(5) :: consp,consm_i,fplus,fminus,lamplus
+ CCTK_REAL, dimension(5) :: f1,lamminus
+ CCTK_REAL, dimension(5) :: qdiff
+ CCTK_REAL :: charmin, charmax, charpm,avg_alp,avg_det
+ CCTK_REAL :: gxxh, gxyh, gxzh, gyyh, gyzh, gzzh, uxxh, uxyh, &
+ uxzh, uyyh, uyzh, uzzh, avg_beta, usendh, alp_l, alp_r, psi4h
+
+ CCTK_INT :: type_bits, trivial, not_trivial
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+ f1 = 0.d0
+ lamminus = 0.d0
+ lamplus = 0.d0
+ consp = 0.d0
+ consm_i = 0.d0
+ fplus = 0.d0
+ fminus = 0.d0
+ qdiff = 0.d0
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ consp(1) = densplus(i,j,k)
+ consp(2) = sxplus(i,j,k)
+ consp(3) = syplus(i,j,k)
+ consp(4) = szplus(i,j,k)
+ consp(5) = tauplus(i,j,k)
+
+ consm_i(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+!!$ Calculate various metric terms here.
+!!$ Note also need the average of the lapse at the
+!!$ left and right points.
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + gzz(i,j,k))
+
+ if (conformal_state .eq. 0) then
+ psi4h = 1.d0
+ else
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ end if
+
+ call SpatialDeterminant(psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial, just calculate the fluxes from the
+!!$ left state and skip to the next cell
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, trivial)) then
+
+ if (flux_direction == 1) then
+ call num_x_flux(consp(1),consp(2),consp(3),consp(4),consp(5),&
+ f1(1),f1(2),f1(3),&
+ f1(4),f1(5),&
+ velxplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call num_x_flux(consp(1),consp(3),consp(4),consp(2),consp(5),&
+ f1(1),f1(3),f1(4),&
+ f1(2),f1(5),&
+ velyplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call num_x_flux(consp(1),consp(4),consp(2),consp(3),consp(5),&
+ f1(1),f1(4),f1(2),&
+ f1(3),f1(5),&
+ velzplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ else !!! The end of this branch is right at the bottom of the routine
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,psi4h*gxxh, psi4h*gxyh, psi4h*gxzh, &
+ psi4h*gyyh, psi4h*gyzh, psi4h*gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Calculate the jumps in the conserved variables
+
+ qdiff(1) = consm_i(1) - consp(1)
+ qdiff(2) = consm_i(2) - consp(2)
+ qdiff(3) = consm_i(3) - consp(3)
+ qdiff(4) = consm_i(4) - consp(4)
+ qdiff(5) = consm_i(5) - consp(5)
+
+!!$ Eigenvalues and fluxes either side of the cell interface
+
+ if (flux_direction == 1) then
+ call eigenvalues(whisky_eos_handle,&
+ rhominus(i+xoffset,j+yoffset,k+zoffset),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ epsminus(i+xoffset,j+yoffset,k+zoffset),&
+ w_lorentzminus(i+xoffset,j+yoffset,k+zoffset),&
+ lamminus,psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,psi4h*gyyh,&
+ psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues(whisky_eos_handle,rhoplus(i,j,k),&
+ velxplus(i,j,k),velyplus(i,j,k),&
+ velzplus(i,j,k),epsplus(i,j,k),w_lorentzplus(i,j,k),&
+ lamplus,psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,psi4h*gyyh,&
+ psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call num_x_flux(consp(1),consp(2),consp(3),consp(4),consp(5),&
+ fplus(1),fplus(2),fplus(3),fplus(4),&
+ fplus(5),velxplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(consm_i(1),consm_i(2),consm_i(3),&
+ consm_i(4),consm_i(5),fminus(1),fminus(2),fminus(3),&
+ fminus(4), fminus(5),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ pressminus(i+xoffset,j+yoffset,k+zoffset),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call eigenvalues(whisky_eos_handle,&
+ rhominus(i+xoffset,j+yoffset,k+zoffset),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ epsminus(i+xoffset,j+yoffset,k+zoffset),&
+ w_lorentzminus(i+xoffset,j+yoffset,k+zoffset),&
+ lamminus,psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,psi4h*gzzh,&
+ psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues(whisky_eos_handle,rhoplus(i,j,k),&
+ velyplus(i,j,k),velzplus(i,j,k),&
+ velxplus(i,j,k),epsplus(i,j,k),w_lorentzplus(i,j,k),&
+ lamplus,psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,psi4h*gzzh,&
+ psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call num_x_flux(consp(1),consp(3),consp(4),consp(2),consp(5),&
+ fplus(1),fplus(3),fplus(4),fplus(2),&
+ fplus(5),velyplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(consm_i(1),consm_i(3),consm_i(4),&
+ consm_i(2),consm_i(5),fminus(1),fminus(3),fminus(4),&
+ fminus(2), fminus(5),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ pressminus(i+xoffset,j+yoffset,k+zoffset),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call eigenvalues(whisky_eos_handle,&
+ rhominus(i+xoffset,j+yoffset,k+zoffset),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ epsminus(i+xoffset,j+yoffset,k+zoffset),&
+ w_lorentzminus(i+xoffset,j+yoffset,k+zoffset),&
+ lamminus,psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues(whisky_eos_handle,rhoplus(i,j,k),&
+ velzplus(i,j,k),velxplus(i,j,k),&
+ velyplus(i,j,k),epsplus(i,j,k),w_lorentzplus(i,j,k),&
+ lamplus,psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call num_x_flux(consp(1),consp(4),consp(2),consp(3),consp(5),&
+ fplus(1),fplus(4),fplus(2),fplus(3),&
+ fplus(5),velzplus(i,j,k),pressplus(i,j,k),avg_det,&
+ avg_alp,avg_beta)
+ call num_x_flux(consm_i(1),consm_i(4),consm_i(2),&
+ consm_i(3),consm_i(5),fminus(1),fminus(4),fminus(2),&
+ fminus(3), fminus(5),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ pressminus(i+xoffset,j+yoffset,k+zoffset),&
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Find minimum and maximum wavespeeds
+
+ charmin = min(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charmax = max(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charpm = charmax - charmin
+
+!!$ Calculate flux by standard formula
+
+ do m = 1,5
+
+ qdiff(m) = consm_i(m) - consp(m)
+
+ f1(m) = (charmax * fplus(m) - charmin * fminus(m) + &
+ charmax * charmin * qdiff(m)) / charpm
+
+ end do
+
+ end if !!! The end of the SpaceMask check for a trivial RP.
+
+ densflux(i, j, k) = f1(1)
+ sxflux(i, j, k) = f1(2)
+ syflux(i, j, k) = f1(3)
+ szflux(i, j, k) = f1(4)
+ tauflux(i, j, k) = f1(5)
+
+ end do
+ end do
+ end do
+
+end subroutine Whisky_HLLE
+
+ /*@@
+ @routine Whisky_HLLE_Tracer
+ @date Mon Mar 8 13:47:13 2004
+ @author Ian Hawke
+ @desc
+ HLLE just for the tracer.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_HLLE_Tracer(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k, m
+ CCTK_REAL, dimension(number_of_tracers) :: consp,consm_i,fplus,fminus,f1
+ CCTK_REAL, dimension(5) :: lamminus,lamplus
+ CCTK_REAL, dimension(number_of_tracers) :: qdiff
+ CCTK_REAL :: charmin, charmax, charpm,avg_alp,avg_det
+ CCTK_REAL :: gxxh, gxyh, gxzh, gyyh, gyzh, gzzh, uxxh, uxyh, &
+ uxzh, uyyh, uyzh, uzzh, avg_beta, usendh, alp_l, alp_r, psi4h
+
+ CCTK_INT :: type_bits, trivial, not_trivial
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+ f1 = 0.d0
+ lamminus = 0.d0
+ lamplus = 0.d0
+ consp = 0.d0
+ consm_i = 0.d0
+ fplus = 0.d0
+ fminus = 0.d0
+ qdiff = 0.d0
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ do m=1,number_of_tracers
+ consp(m) = cons_tracerplus(i,j,k,m)
+ consm_i(m) = cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,m)
+ enddo
+!!$ Calculate various metric terms here.
+!!$ Note also need the average of the lapse at the
+!!$ left and right points.
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + gzz(i,j,k))
+
+ if (conformal_state .eq. 0) then
+ psi4h = 1.d0
+ else
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ end if
+
+ call SpatialDeterminant(psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,&
+ psi4h*gyyh,psi4h*gyzh,psi4h*gzzh,avg_det)
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,psi4h*gxxh, psi4h*gxyh, psi4h*gxzh, &
+ psi4h*gyyh, psi4h*gyzh, psi4h*gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Calculate the jumps in the conserved variables
+
+ qdiff = consm_i - consp
+
+!!$ Eigenvalues and fluxes either side of the cell interface
+
+ if (flux_direction == 1) then
+ call eigenvalues(whisky_eos_handle,&
+ rhominus(i+xoffset,j+yoffset,k+zoffset),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ epsminus(i+xoffset,j+yoffset,k+zoffset),&
+ w_lorentzminus(i+xoffset,j+yoffset,k+zoffset),&
+ lamminus,psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,psi4h*gyyh,&
+ psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues(whisky_eos_handle,rhoplus(i,j,k),&
+ velxplus(i,j,k),velyplus(i,j,k),&
+ velzplus(i,j,k),epsplus(i,j,k),w_lorentzplus(i,j,k),&
+ lamplus,psi4h*gxxh,psi4h*gxyh,psi4h*gxzh,psi4h*gyyh,&
+ psi4h*gyzh,psi4h*gzzh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ fplus(:) = (velxplus(i,j,k) - avg_beta / avg_alp) * &
+ cons_tracerplus(i,j,k,:)
+ fminus(:) = (velxminus(i+xoffset,j+yoffset,k+zoffset) - avg_beta / avg_alp) * &
+ cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+ else if (flux_direction == 2) then
+ call eigenvalues(whisky_eos_handle,&
+ rhominus(i+xoffset,j+yoffset,k+zoffset),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ epsminus(i+xoffset,j+yoffset,k+zoffset),&
+ w_lorentzminus(i+xoffset,j+yoffset,k+zoffset),&
+ lamminus,psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,psi4h*gzzh,&
+ psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues(whisky_eos_handle,rhoplus(i,j,k),&
+ velyplus(i,j,k),velzplus(i,j,k),&
+ velxplus(i,j,k),epsplus(i,j,k),w_lorentzplus(i,j,k),&
+ lamplus,psi4h*gyyh,psi4h*gyzh,psi4h*gxyh,psi4h*gzzh,&
+ psi4h*gxzh,psi4h*gxxh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ fplus(:) = (velyplus(i,j,k) - avg_beta / avg_alp) * &
+ cons_tracerplus(i,j,k,:)
+ fminus(:) = (velyminus(i+xoffset,j+yoffset,k+zoffset) - avg_beta / avg_alp) * &
+ cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+ else if (flux_direction == 3) then
+ call eigenvalues(whisky_eos_handle,&
+ rhominus(i+xoffset,j+yoffset,k+zoffset),&
+ velzminus(i+xoffset,j+yoffset,k+zoffset),&
+ velxminus(i+xoffset,j+yoffset,k+zoffset),&
+ velyminus(i+xoffset,j+yoffset,k+zoffset),&
+ epsminus(i+xoffset,j+yoffset,k+zoffset),&
+ w_lorentzminus(i+xoffset,j+yoffset,k+zoffset),&
+ lamminus,psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ call eigenvalues(whisky_eos_handle,rhoplus(i,j,k),&
+ velzplus(i,j,k),velxplus(i,j,k),&
+ velyplus(i,j,k),epsplus(i,j,k),w_lorentzplus(i,j,k),&
+ lamplus,psi4h*gzzh,psi4h*gxzh,psi4h*gyzh,&
+ psi4h*gxxh,psi4h*gxyh,psi4h*gyyh,&
+ usendh,avg_det,avg_alp,avg_beta)
+ fplus(:) = (velzplus(i,j,k) - avg_beta / avg_alp) * &
+ cons_tracerplus(i,j,k,:)
+ fminus(:) = (velzminus(i+xoffset,j+yoffset,k+zoffset) - avg_beta / avg_alp) * &
+ cons_tracerminus(i+xoffset,j+yoffset,k+zoffset,:)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Find minimum and maximum wavespeeds
+
+ charmin = min(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charmax = max(0.d0, lamplus(1), lamplus(2), lamplus(3), &
+ lamplus(4),lamplus(5), lamminus(1),lamminus(2),lamminus(3),&
+ lamminus(4),lamminus(5))
+
+ charpm = charmax - charmin
+
+!!$ Calculate flux by standard formula
+
+ do m = 1,number_of_tracers
+
+ qdiff(m) = consm_i(m) - consp(m)
+
+ f1(m) = (charmax * fplus(m) - charmin * fminus(m) + &
+ charmax * charmin * qdiff(m)) / charpm
+
+ end do
+
+ cons_tracerflux(i, j, k,:) = f1(:)
+!!$
+!!$ if ( ((flux_direction.eq.3).and.(i.eq.4).and.(j.eq.4)).or.&
+!!$ ((flux_direction.eq.2).and.(i.eq.4).and.(k.eq.4)).or.&
+!!$ ((flux_direction.eq.1).and.(j.eq.4).and.(k.eq.4))&
+!!$ ) then
+!!$ write(*,*) flux_direction, i, j, k, f1(1), consm_i(1), consp(1)
+!!$ end if
+
+ end do
+ end do
+ end do
+
+
+end subroutine Whisky_HLLE_Tracer
+
diff --git a/src/Whisky_Loop.F90 b/src/Whisky_Loop.F90
new file mode 100644
index 0000000..7dd3a90
--- /dev/null
+++ b/src/Whisky_Loop.F90
@@ -0,0 +1,86 @@
+ /*@@
+ @file Whisky_Loop.F90
+ @date Sat Jan 26 01:50:14 2002
+ @author
+ @desc
+ Routines controlling loop counters and direction offsets
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine WhiskyStartLoop
+ @date Sat Jan 26 01:50:46 2002
+ @author Ian Hawke
+ @desc
+ Set up the counters before the loop
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine WhiskyStartLoop(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ flux_direction = 3
+
+ xoffset = 0
+ yoffset = 0
+ zoffset = 1
+
+end subroutine WhiskyStartLoop
+
+ /*@@
+ @routine Advance the counters whilst in the loop
+ @date Sat Jan 26 01:51:29 2002
+ @author Ian Hawke
+ @desc
+ Just increments the counter and resets the directions.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine WhiskyAdvanceLoop(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ flux_direction = flux_direction-1
+
+ if (flux_direction .eq. 2) then
+
+ xoffset = 0
+ yoffset = 1
+ zoffset = 0
+
+ else if (flux_direction .eq. 1) then
+
+ xoffset = 1
+ yoffset = 0
+ zoffset = 0
+
+ else
+
+ xoffset = -1000000
+ yoffset = -1000000
+ zoffset = -1000000
+
+ end if
+
+end subroutine WhiskyAdvanceLoop
diff --git a/src/Whisky_Marquina.F90 b/src/Whisky_Marquina.F90
new file mode 100644
index 0000000..3543cd4
--- /dev/null
+++ b/src/Whisky_Marquina.F90
@@ -0,0 +1,659 @@
+ /*@@
+ @file Whisky_Marquina.f90
+ @date Thu Jan 11 11:03:32 2002
+ @author Pedro Montero, Toni Font
+ @desc
+ Routine to obtain the Marquina Fluxes. Note that this is the
+ MODIFIED Marquina formula as given by Aloy et.al.
+ (ApJ Supp 122 (1999) p.151) and not the full Marquina flux
+ of Donat and Marquina.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+ /*@@
+ @routine Whisky_Marquina.f90
+ @date Wed Feb 13 11:03:32 2002
+ @author Pedro Montero, Toni Font
+ @desc
+ Routine to obtain the Marquina Fluxes
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Based on routines by Toni Font
+ @endhistory
+
+@@*/
+
+
+subroutine Whisky_Marquina(CCTK_ARGUMENTS)
+
+ implicit none
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ CCTK_REAL, dimension(5) :: marquinaflux, &
+ consp,consm_i,fplus,fminus,f_marquina,primp,primm_i
+ CCTK_REAL :: avg_alp,avg_beta,gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ avg_det,uxxh,uxyh,uxzh,uyyh,uyzh,uzzh,&
+ pressp,pressm_i, &
+ w_lorentzp,w_lorentzm_i, usendh, psi4h
+ integer :: m
+ integer :: i,j,k
+ character(len=256) NaN_WarnLine
+
+ CCTK_INT :: type_bits, trivial, not_trivial
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ f_marquina = 0.d0
+
+ !$OMP PARALLEL DO PRIVATE(i,j,consp,consm_i,primp,primm_i,&
+ !$OMP marquinaflux,avg_beta,avg_alp,gxxh,gxyh,gxzh,gyyh,gyzh,gzzh,&
+ !$OMP psi4h,f_marquina,uxxh,uxyh,uxzh,uyyh,uyzh,uzzh,usendh,&
+ !$OMP w_lorentzp,w_lorentzm_i,fplus,fminus,m,avg_det)
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ consp(1) = densplus(i,j,k)
+ consp(2) = sxplus(i,j,k)
+ consp(3) = syplus(i,j,k)
+ consp(4) = szplus(i,j,k)
+ consp(5) = tauplus(i,j,k)
+
+ consm_i(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ primp(1) = rhoplus(i,j,k)
+ primp(2) = velxplus(i,j,k)
+ primp(3) = velyplus(i,j,k)
+ primp(4) = velzplus(i,j,k)
+ primp(5) = epsplus(i,j,k)
+
+ primm_i(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+
+ marquinaflux = 0.d0
+
+!!$ Set metric terms at interface
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + &
+ gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + &
+ gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + &
+ gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + &
+ gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + &
+ gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + &
+ gzz(i,j,k))
+
+ if (conformal_state > 0) then
+
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ gxxh = gxxh * psi4h
+ gxyh = gxyh * psi4h
+ gxzh = gxzh * psi4h
+ gyyh = gyyh * psi4h
+ gyzh = gyzh * psi4h
+ gzzh = gzzh * psi4h
+
+ end if
+
+!!$ routine to calculate the determinant of the metric
+
+ call SpatialDeterminant(gxxh,gxyh,gxzh,gyyh,gyzh,gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial, just calculate the fluxes from the
+!!$ left state and skip to the next cell
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, trivial)) then
+
+ if (flux_direction == 1) then
+ call num_x_flux(consp(1),consp(2),consp(3),consp(4),consp(5),&
+ f_marquina(1),f_marquina(2),f_marquina(3),&
+ f_marquina(4),f_marquina(5),&
+ velxplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call num_x_flux(consp(1),consp(3),consp(4),consp(2),consp(5),&
+ f_marquina(1),f_marquina(3),f_marquina(4),&
+ f_marquina(2),f_marquina(5),&
+ velyplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call num_x_flux(consp(1),consp(4),consp(2),consp(3),consp(5),&
+ f_marquina(1),f_marquina(4),f_marquina(2),&
+ f_marquina(3),f_marquina(5),&
+ velzplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ else !!! The end of this branch is right at the bottom of the routine
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,gxxh, gxyh, gxzh, gyyh, gyzh, gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$left state
+
+ w_lorentzp = 1.d0 / sqrt(1.d0 - (gxxh*primp(2)*primp(2) + &
+ gyyh*primp(3)*primp(3) + gzzh*primp(4)*primp(4) + &
+ 2*gxyh*primp(2)*primp(3) + 2*gxzh*primp(2) *primp(4) + &
+ 2*gyzh*primp(3)*primp(4)))
+
+!!$ BEGIN: Check for NaN value (1st check)
+ if (w_lorentzp .ne. w_lorentzp) then
+ write(NaN_WarnLine,'(a100,3g15.6)') 'NaN produced in sqrt(): (primp(2), primp(3), primp(4))', primp(2), primp(3), primp(4)
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (1st check)
+
+!!$ pressp = EOS_Pressure(whisky_eos_handle,primp(1),primp(5))
+
+!!$right state
+
+ w_lorentzm_i = 1.d0 / sqrt(1.d0 - (gxxh*primm_i(2)*primm_i(2) + &
+ gyyh*primm_i(3)*primm_i(3) + gzzh*primm_i(4)*primm_i(4) + &
+ 2*gxyh*primm_i(2)*primm_i(3) + &
+ 2*gxzh*primm_i(2) *primm_i(4)+ &
+ 2*gyzh*primm_i(3)*primm_i(4)))
+
+!!$ BEGIN: Check for NaN value (2nd check)
+ if (w_lorentzm_i .ne. w_lorentzm_i) then
+ write(NaN_WarnLine,'(a100,3g15.6)') 'NaN produced in sqrt(): (primm_i(2), primm_i(3), primm_i(4))', primm_i(2), primm_i(3), primm_i(4)
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value (2nd check)
+
+!!$ pressm_i = EOS_Pressure(whisky_eos_handle,primm_i(1),primm_i(5))
+
+!!$eigenvalues and right eigenvectors
+
+ if (flux_direction == 1) then
+
+ call eigenproblem_marquina(whisky_eos_handle,&
+ primm_i(1),primm_i(2), &
+ primm_i(3),primm_i(4),primm_i(5),primp(1), &
+ primp(2),primp(3),primp(4),primp(5), &
+ gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ usendh,avg_det,avg_alp,avg_beta,consp(1),consp(2),&
+ consp(3), consp(4), consp(5),consm_i(1),consm_i(2), &
+ consm_i(3),consm_i(4),consm_i(5),marquinaflux(1), &
+ marquinaflux(2),marquinaflux(3),marquinaflux(4), &
+ marquinaflux(5))
+
+ else if (flux_direction == 2) then
+
+ call eigenproblem_marquina(whisky_eos_handle,&
+ primm_i(1),primm_i(3), &
+ primm_i(4),primm_i(2),primm_i(5),primp(1), &
+ primp(3),primp(4),primp(2),primp(5), &
+ gyyh,gyzh,gxyh,gzzh,gxzh,gxxh, &
+ usendh,avg_det,avg_alp,avg_beta,consp(1),consp(3),&
+ consp(4), consp(2), consp(5),consm_i(1),consm_i(3), &
+ consm_i(4),consm_i(2),consm_i(5),marquinaflux(1), &
+ marquinaflux(3),marquinaflux(4),marquinaflux(2), &
+ marquinaflux(5))
+
+ else if (flux_direction == 3) then
+
+ call eigenproblem_marquina(whisky_eos_handle,&
+ primm_i(1),primm_i(4), &
+ primm_i(2),primm_i(3),primm_i(5),primp(1), &
+ primp(4),primp(2),primp(3),primp(5), &
+ gzzh,gxzh,gyzh,gxxh,gxyh,gyyh, &
+ usendh,avg_det,avg_alp,avg_beta,consp(1),consp(4),&
+ consp(2), consp(3), consp(5),consm_i(1),consm_i(4), &
+ consm_i(2),consm_i(3),consm_i(5),marquinaflux(1), &
+ marquinaflux(4),marquinaflux(2),marquinaflux(3), &
+ marquinaflux(5))
+
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ fplus = 0.d0
+ fminus = 0.d0
+
+!!$calculate the fluxes
+
+ if (flux_direction == 1) then
+
+ call num_x_flux(consp(1),consp(2),consp(3),consp(4),consp(5), &
+ fplus(1),fplus(2),fplus(3),fplus(4), &
+ fplus(5),velxplus(i,j,k),pressplus(i,j,k), &
+ avg_det,avg_alp,avg_beta)
+
+ call num_x_flux(consm_i(1),consm_i(2),consm_i(3), &
+ consm_i(4),consm_i(5),fminus(1),fminus(2),fminus(3), &
+ fminus(4), fminus(5), &
+ velxminus(i+xoffset,j+yoffset,k+zoffset), &
+ pressminus(i+xoffset,j+yoffset,k+zoffset), &
+ avg_det,avg_alp,avg_beta)
+
+ else if (flux_direction == 2) then
+
+ call num_x_flux(consp(1),consp(3),consp(4),consp(2),consp(5), &
+ fplus(1),fplus(3),fplus(4),fplus(2), &
+ fplus(5),velyplus(i,j,k),pressplus(i,j,k), &
+ avg_det,avg_alp,avg_beta)
+
+ call num_x_flux(consm_i(1),consm_i(3),consm_i(4), &
+ consm_i(2),consm_i(5),fminus(1),fminus(3),fminus(4), &
+ fminus(2), fminus(5), &
+ velyminus(i+xoffset,j+yoffset,k+zoffset), &
+ pressminus(i+xoffset,j+yoffset,k+zoffset), &
+ avg_det,avg_alp,avg_beta)
+
+ else if (flux_direction == 3) then
+
+ call num_x_flux(consp(1),consp(4),consp(2),consp(3),consp(5), &
+ fplus(1),fplus(4),fplus(2),fplus(3), &
+ fplus(5),velzplus(i,j,k),pressplus(i,j,k),avg_det, &
+ avg_alp,avg_beta)
+
+ call num_x_flux(consm_i(1),consm_i(4),consm_i(2), &
+ consm_i(3),consm_i(5),fminus(1),fminus(4),fminus(2), &
+ fminus(3), fminus(5), &
+ velzminus(i+xoffset,j+yoffset,k+zoffset), &
+ pressminus(i+xoffset,j+yoffset,k+zoffset), &
+ avg_det,avg_alp,avg_beta)
+
+ else
+
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+
+ end if
+
+!!$ Marquina flux
+
+ do m = 1,5
+
+ f_marquina(m) = 0.5d0 * (fplus(m) + fminus(m) - marquinaflux(m))
+
+ end do
+
+ end if !!! The end of the SpaceMask check for a trivial RP.
+
+ densflux(i,j,k) = f_marquina(1)
+ sxflux(i,j,k) = f_marquina(2)
+ syflux(i,j,k) = f_marquina(3)
+ szflux(i,j,k) = f_marquina(4)
+ tauflux(i,j,k) = f_marquina(5)
+
+ enddo
+ enddo
+ enddo
+ !$OMP END PARALLEL DO
+
+ if (evolve_tracer .ne. 0) then
+
+ !$OMP PARALLEL DO PRIVATE(i,j)
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+ if (densflux(i, j, k) > 0.d0) then
+
+ cons_tracerflux(i, j, k,:) = &
+ tracerplus(i, j, k,:) * &
+ densflux(i, j, k)
+
+ else
+
+ cons_tracerflux(i, j, k,:) = &
+ tracerminus(i + xoffset, j + yoffset, k + zoffset,:) * &
+ densflux(i, j, k)
+
+ end if
+
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+ end if
+
+ return
+end subroutine Whisky_Marquina
+
+ /*@@
+ @routine Whisky_MarquinaGeneral
+ @date Wed Feb 13 11:03:32 2002
+ @author Pedro Montero, Toni Font
+ @desc
+ Routine to obtain the Marquina Fluxes
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Based on routines by Toni Font
+ @endhistory
+
+@@*/
+
+
+subroutine Whisky_MarquinaGeneral(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+ CCTK_REAL, dimension(5) :: cons_p,cons_m,&
+ fplus,fminus,marquinaflux
+ CCTK_REAL, dimension(6) :: prim_p, prim_m
+ CCTK_REAL :: avg_alp,avg_beta,gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ avg_det,uxxh,uxyh,uxzh,uyyh,uyzh,uzzh, &
+ cs2_p,cs2_m,dpdeps_p,dpdeps_m, &
+ usendh, psi4h
+ integer :: m
+ integer :: i,j,k
+
+ CCTK_INT :: type_bits, trivial, not_trivial, ierr
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ cons_p(1) = densplus(i,j,k)
+ cons_p(2) = sxplus(i,j,k)
+ cons_p(3) = syplus(i,j,k)
+ cons_p(4) = szplus(i,j,k)
+ cons_p(5) = tauplus(i,j,k)
+
+ cons_m(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(1) = rhoplus(i,j,k)
+ prim_p(2) = velxplus(i,j,k)
+ prim_p(3) = velyplus(i,j,k)
+ prim_p(4) = velzplus(i,j,k)
+ prim_p(5) = epsplus(i,j,k)
+
+ prim_m(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(6) = pressplus(i,j,k)
+ cs2_p = eos_cs2_p(i,j,k)
+ dpdeps_p = eos_dpdeps_p(i,j,k)
+
+ prim_m(6) = pressminus(i+xoffset,j+yoffset,k+zoffset)
+ cs2_m = eos_cs2_m(i+xoffset,j+yoffset,k+zoffset)
+ dpdeps_m = eos_dpdeps_m(i+xoffset,j+yoffset,k+zoffset)
+
+ marquinaflux = 0.d0
+
+!!$ Set metric terms at interface
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + &
+ gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + &
+ gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + &
+ gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + &
+ gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + &
+ gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + &
+ gzz(i,j,k))
+
+ if (conformal_state > 0) then
+
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ gxxh = gxxh * psi4h
+ gxyh = gxyh * psi4h
+ gxzh = gxzh * psi4h
+ gyyh = gyyh * psi4h
+ gyzh = gyzh * psi4h
+ gzzh = gzzh * psi4h
+
+ end if
+
+!!$ routine to calculate the determinant of the metric
+
+ call SpatialDeterminant(gxxh,gxyh,gxzh,gyyh,gyzh,gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial the flux is already correct
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, trivial)) then
+
+ else !!! The end of this branch is right at the bottom of the routine
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,gxxh, gxyh, gxzh, gyyh, gyzh, gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$eigenvalues and right eigenvectors
+
+ if (flux_direction == 1) then
+
+ call eigenproblem_marquina_general(&
+ prim_m(1),prim_m(2),prim_m(3),prim_m(4),prim_m(5), &
+ prim_m(6),cs2_m,dpdeps_m, &
+ prim_p(1),prim_p(2),prim_p(3),prim_p(4),prim_p(5), &
+ prim_p(6),cs2_p,dpdeps_p, &
+ gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ usendh,avg_det,avg_alp,avg_beta, &
+ cons_p(1),cons_p(2),cons_p(3),cons_p(4),cons_p(5), &
+ cons_m(1),cons_m(2),cons_m(3),cons_m(4),cons_m(5), &
+ marquinaflux(1),marquinaflux(2),marquinaflux(3), &
+ marquinaflux(4),marquinaflux(5))
+
+ else if (flux_direction == 2) then
+
+ call eigenproblem_marquina_general(&
+ prim_m(1),prim_m(3),prim_m(4),prim_m(2),prim_m(5), &
+ prim_m(6),cs2_m,dpdeps_m, &
+ prim_p(1),prim_p(3),prim_p(4),prim_p(2),prim_p(5), &
+ prim_p(6),cs2_p,dpdeps_p, &
+ gyyh,gyzh,gxyh,gzzh,gxzh,gxxh, &
+ usendh,avg_det,avg_alp,avg_beta,&
+ cons_p(1),cons_p(3),cons_p(4),cons_p(2),cons_p(5), &
+ cons_m(1),cons_m(3),cons_m(4),cons_m(2),cons_m(5), &
+ marquinaflux(1),marquinaflux(3),marquinaflux(4), &
+ marquinaflux(2),marquinaflux(5))
+
+ else if (flux_direction == 3) then
+
+ call eigenproblem_marquina_general(&
+ prim_m(1),prim_m(4),prim_m(2),prim_m(3),prim_m(5), &
+ prim_m(6),cs2_m,dpdeps_m, &
+ prim_p(1),prim_p(4),prim_p(2),prim_p(3),prim_p(5), &
+ prim_p(6),cs2_p,dpdeps_p, &
+ gzzh,gxzh,gyzh,gxxh,gxyh,gyyh, &
+ usendh,avg_det,avg_alp,avg_beta, &
+ cons_p(1),cons_p(4),cons_p(2),cons_p(3),cons_p(5), &
+ cons_m(1),cons_m(4),cons_m(2),cons_m(3),cons_m(5), &
+ marquinaflux(1),marquinaflux(4),marquinaflux(2), &
+ marquinaflux(3),marquinaflux(5))
+
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Marquina flux
+
+ densflux(i,j,k) = densflux(i,j,k) - 0.5d0 * marquinaflux(1)
+ sxflux(i,j,k) = sxflux(i,j,k) - 0.5d0 * marquinaflux(2)
+ syflux(i,j,k) = syflux(i,j,k) - 0.5d0 * marquinaflux(3)
+ szflux(i,j,k) = szflux(i,j,k) - 0.5d0 * marquinaflux(4)
+ tauflux(i,j,k) = tauflux(i,j,k) - 0.5d0 * marquinaflux(5)
+
+ end if !!! The end of the SpaceMask check for a trivial RP.
+
+ enddo
+ enddo
+ enddo
+
+ if (evolve_tracer .ne. 0) then
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+ if (densflux(i, j, k) > 0.d0) then
+
+ cons_tracerflux(i, j, k,:) = &
+ tracerplus(i, j, k,:) * &
+ densflux(i, j, k)
+
+ else
+
+ cons_tracerflux(i, j, k,:) = &
+ tracerminus(i + xoffset, j + yoffset, k + zoffset,:) * &
+ densflux(i, j, k)
+
+ end if
+
+ end do
+ end do
+ end do
+
+ end if
+
+end subroutine Whisky_MarquinaGeneral
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Whisky_Maxima.F90 b/src/Whisky_Maxima.F90
new file mode 100644
index 0000000..a6f5a4c
--- /dev/null
+++ b/src/Whisky_Maxima.F90
@@ -0,0 +1,498 @@
+ /*@@
+ @file Whisky_Maxima.F90
+ @date Mon May 17 07:05:55 2004
+ @author Ian Hawke
+ @desc
+ Find the maximum of the density over the whole (x>0) grid
+ and use its location to set the DriftCorrection thorn.
+ @enddesc
+ @@*/
+
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine Whisky_FindMaxima
+ @date Mon May 17 07:06:49 2004
+ @author Ian Hawke
+ @desc
+ Find the maximum of the density over the whole (x>0) grid
+ and use its location to set the DriftCorrection thorn.
+ Some of this code is borrowed, with alterations, from
+ Peter Dieners EHFinder.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_InitFindMaxima(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ whisky_maxima_iteration = -1
+
+ maximum_density = -1.d0
+
+end subroutine Whisky_InitFindMaxima
+
+
+subroutine Whisky_FindMaxima(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: imin, imax, jmin, jmax, kmin, kmax
+ CCTK_INT :: ierr, max_handle, sum_handle
+ CCTK_INT, dimension(3) :: maxrho_local_location, maxrho_location
+ CCTK_REAL, dimension(3) :: maxrho_local_position, maxrho_position
+ CCTK_REAL :: maxrho_local
+
+ maxrho_local_location = 0
+ maxrho_location = 0
+ maxrho_local_position = 0.d0
+ maxrho_position = 0.d0
+
+ if (mod(cctk_iteration, DCandMaxima_every) .gt. 0) then
+ return
+ end if
+
+ if (cctk_iteration > whisky_maxima_iteration) then
+ whisky_maxima_iteration = cctk_iteration
+ maximum_density = 0.d0
+ end if
+ ! remember that in fortran array indeces start from 1
+ imin = whisky_stencil + 1
+ jmin = whisky_stencil + 1
+ kmin = whisky_stencil + 1
+ imax = cctk_lsh(1) - whisky_stencil
+ jmax = cctk_lsh(2) - whisky_stencil
+ kmax = cctk_lsh(3) - whisky_stencil
+
+ call CCTK_ReductionArrayHandle (max_handle, 'maximum')
+ call CCTK_ReductionArrayHandle (sum_handle, 'sum')
+
+ maxrho_local_location = maxloc ( rho(imin:imax,jmin:jmax,kmin:kmax) )
+
+ maxrho_local = rho (&
+ maxrho_local_location(1) + whisky_stencil, &
+ maxrho_local_location(2) + whisky_stencil, &
+ maxrho_local_location(3) + whisky_stencil )
+
+!!$ write(*,*)
+!!$ write(*,*) "Itaration",cctk_iteration
+!!$ write(*,*) "1) On reflevel",aint(log10(dble(cctk_levfac(1)))/log10(2.0d0))
+!!$ write(*,*) "Max rho on level",maxrho_local, maxval ( rho(imin:imax,jmin:jmax,kmin:kmax) )
+!!$ write(*,*) "Mrho_loc_loc",maxrho_local_location
+!!$
+!!$
+!!$ if (aint(log10(dble(cctk_levfac(1)))/log10(2.0d0)) == 3) then
+!!$ do ierr=1,cctk_lsh(1)
+!!$ write(*,*) "x(",ierr,")=",x(ierr,24,24),y(ierr,24,24),z(ierr,24,24)
+!!$ write(*,*) "rho",rho(ierr,24,24)
+!!$ end do
+!!$ end if
+
+
+
+
+!!$ Only check the x>0 part of the grid. This ensures that if there are
+!!$ two stars either side of x=0 only one will be picked every time.
+
+ if ( Whisky_useFullGridForMaxima .eq. 0 ) then
+ if ( x (&
+ maxrho_local_location(1) + whisky_stencil, &
+ maxrho_local_location(2) + whisky_stencil, &
+ maxrho_local_location(3) + whisky_stencil ) < 0.d0 ) then
+ maxrho_local = 0.d0 ! this is how maxrho_local can be seen to be zero in some output
+ end if
+ end if
+
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, max_handle, &
+ maxrho_local, maxrho_global, CCTK_VARIABLE_REAL)
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, 'Reduction of maxrho failed')
+ end if
+
+ if ( maxrho_local .eq. maxrho_global ) then
+ maxrho_local_position(1) = x (&
+ maxrho_local_location(1) + whisky_stencil, &
+ maxrho_local_location(2) + whisky_stencil, &
+ maxrho_local_location(3) + whisky_stencil )
+ maxrho_local_position(2) = y (&
+ maxrho_local_location(1) + whisky_stencil, &
+ maxrho_local_location(2) + whisky_stencil, &
+ maxrho_local_location(3) + whisky_stencil )
+ maxrho_local_position(3) = z (&
+ maxrho_local_location(1) + whisky_stencil, &
+ maxrho_local_location(2) + whisky_stencil, &
+ maxrho_local_location(3) + whisky_stencil )
+ else
+
+ !if the processor does not have the global maximum, set maxrho_local_position to zero
+ !(for use in the below "sum" reduction)
+ maxrho_local_position = 0.d0 !it is a vector
+
+
+ !if the processor does not have the global maximum, set maxrho_local_location to zero
+ !(for use in the below "sum" reduction)
+ maxrho_local_location = 0 !it is a vector
+
+ end if
+
+!!$ write(*,*)
+!!$ write(*,*) "2) On reflevel",aint(log10(dble(cctk_levfac(1)))/log10(2.0d0))
+!!$ write(*,*) "Max rho on level",maxrho_local
+!!$ write(*,*) "Max rho this time step up to now",maximum_density
+!!$ write(*,*) "Mrho_loc_loc",maxrho_local_location
+!!$ write(*,*) "Mrho_loc_pos",maxrho_local_position
+
+ !find maxrho_local_position on the processor that has the global maximum
+ call CCTK_ReduceLocArrayToArray1D ( ierr, cctkGH, -1, sum_handle, &
+ maxrho_local_position, maxrho_position, 3, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, 'Reduction of maxrho_position failed')
+ end if
+
+ !find maxrho_local_location on the processor that has the global maximum
+ call CCTK_ReduceLocArrayToArray1D ( ierr, cctkGH, -1, sum_handle, &
+ maxrho_local_location, maxrho_location, 3, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, 'Reduction of maxrho_position failed')
+ end if
+
+!!$ write(*,*) "Mrho_glob_loc",maxrho_location
+!!$ write(*,*) "Mrho_glob_pos",maxrho_position
+
+
+!!$ If the maximum on this iteration was larger on another level,
+!!$ do not set the position
+
+ if (maxrho_global > maximum_density) then
+!!$ Only set values if well above atmosphere level
+ if (maxrho_global .ge. rho_max_min ) then
+
+ maximum_density = maxrho_global
+
+ maxima_x = maxrho_position(1)
+ maxima_y = maxrho_position(2)
+ maxima_z = maxrho_position(3)
+
+ maxima_i = maxrho_location(1)
+ maxima_j = maxrho_location(2)
+ maxima_k = maxrho_location(3)
+
+ end if
+ end if
+
+!!$ write(*,*) "maxima location",maxima_i,maxima_j,maxima_k
+!!$ write(*,*) "maxima position",maxima_x, maxima_y, maxima_z
+
+
+end subroutine Whisky_FindMaxima
+
+ /*@@
+ @routine Whisky_FindWeightedMaxima
+ @date Mon May 24 23:22:18 2004
+ @author Ian Hawke
+ @desc
+ Find the volume weighted centre of mass,
+ /
+ | i
+ | rho x dV
+ |
+ - i /
+ x = ----------------
+ /
+ |
+ | rho dV
+ |
+ /
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_FindWeightedMaxima(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: imin, imax, jmin, jmax, kmin, kmax, i, j, k
+ CCTK_INT :: ierr, sum_handle
+ CCTK_REAL, dimension(3) :: weightedrho_local, weightedrho_global
+ CCTK_REAL :: rho_local, rho_global
+
+ imin = whisky_stencil
+ jmin = whisky_stencil
+ kmin = whisky_stencil
+ imax = cctk_lsh(1) - whisky_stencil
+ jmax = cctk_lsh(2) - whisky_stencil
+ kmax = cctk_lsh(3) - whisky_stencil
+
+ call CCTK_ReductionArrayHandle (sum_handle, 'sum')
+
+ weightedrho_local = 0.d0
+ rho_local = 0.d0
+
+ do k = kmin, kmax
+ do j = jmin, jmax
+ do i = imin, imax
+
+ weightedrho_local(1) = weightedrho_local(1) + &
+ rho(i, j, k) * x(i, j, k)
+ weightedrho_local(2) = weightedrho_local(2) + &
+ rho(i, j, k) * y(i, j, k)
+ weightedrho_local(3) = weightedrho_local(3) + &
+!!$ rho(i, j, k) * z(i, j, k)
+!!$ To get around problems with symmetry boundaries and because
+!!$ the BNS do not have spin (yet) I just set \bar{z} to zero.
+ 0.d0
+ rho_local = rho_local + rho(i,j,k)
+
+ end do
+ end do
+ end do
+
+ call CCTK_ReduceLocArrayToArray1D ( ierr, cctkGH, -1, sum_handle, &
+ weightedrho_local, weightedrho_global, 3, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, 'Reduction of weightedrho failed')
+ end if
+
+ call CCTK_ReduceLocScalar ( ierr, cctkGH, -1, sum_handle, &
+ rho_local, rho_global, CCTK_VARIABLE_REAL )
+ if ( ierr .ne. 0 ) then
+ call CCTK_WARN(0, 'Reduction of rho failed')
+ end if
+
+ maxima_x = weightedrho_global(1) / rho_global
+ maxima_y = weightedrho_global(2) / rho_global
+ maxima_z = weightedrho_global(3) / rho_global
+
+
+end subroutine Whisky_FindWeightedMaxima
+
+ /*@@
+ @routine Whisky_SetDCCentroid
+ @date Mon May 17 07:06:49 2004
+ @author Ian Hawke
+ @desc
+ Find the maximum of the density over the whole (x>0) grid
+ and use its location to set the DriftCorrection thorn.
+ Some of this code is borrowed, with alterations, from
+ Peter Dieners EHFinder.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_SetDCCentroid(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: ierr
+
+ if (set_dc_centroid .ne. 0) then
+
+ call CCTK_IsFunctionAliased(ierr, "SetDriftCorrectPosition")
+ if ( ierr .ne. 0 ) then
+ call SetDriftCorrectPosition ( cctkGH, &
+ maxima_x, maxima_y, maxima_z )
+ end if
+
+ end if
+
+end subroutine Whisky_SetDCCentroid
+
+ /*@@
+ @routine Whisky_FindSeparation
+ @date Thu May 20 12:35:20 2004
+ @author Ian Hawke
+ @desc
+ Finds the separation (in coordinate and proper distance)
+ between the NS. Equal mass symmetry is assumed so it is
+ actually the distance between the origin and the location
+ of maximum density. This is along a straight line, not a
+ geodesic, so still not perfect.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_FindSeparation(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_REAL :: separation_dx, separation_dy, separation_dz
+ CCTK_REAL, dimension(:), allocatable :: separation_x, separation_y, &
+ separation_z
+ CCTK_REAL, dimension(:), allocatable :: s_gxx, s_gxy, s_gxz, &
+ s_gyy, s_gyz, s_gzz
+ CCTK_INT :: ierr, i
+ CCTK_INT :: param_table_handle, interp_handle, coord_system_handle
+ CCTK_INT :: vindex
+
+ CCTK_POINTER, dimension(3) :: interp_coords
+ CCTK_INT, dimension(6) :: in_array_indices
+ CCTK_POINTER, dimension(6) :: out_arrays
+ CCTK_INT, dimension(6) :: out_array_type_codes
+
+!!$ Coordinate separation is easy.
+
+ whisky_separation = sqrt(maxima_x**2 + maxima_y**2 + maxima_z**2)
+
+!!$ Proper separation requires interpolation
+
+ allocate(separation_x(separation_npoints), &
+ separation_y(separation_npoints), &
+ separation_z(separation_npoints), STAT=ierr)
+
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Failed to allocate separation coordinate arrays")
+ end if
+
+ separation_dx = maxima_x / dble(separation_npoints)
+ separation_dy = maxima_y / dble(separation_npoints)
+ separation_dz = maxima_z / dble(separation_npoints)
+
+ do i = 1, separation_npoints
+
+ separation_x(i) = i * separation_dx
+ separation_y(i) = i * separation_dy
+ separation_z(i) = i * separation_dz
+
+ end do
+
+ allocate(s_gxx(separation_npoints), &
+ s_gxy(separation_npoints), &
+ s_gxz(separation_npoints), &
+ s_gyy(separation_npoints), &
+ s_gyz(separation_npoints), &
+ s_gzz(separation_npoints), &
+ STAT=ierr)
+
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Failed to allocate separation metric arrays")
+ end if
+
+ param_table_handle = -1
+ interp_handle = -1
+ coord_system_handle = -1
+
+ call Util_TableCreateFromString (param_table_handle, "order = 2")
+ if (param_table_handle .lt. 0) then
+ call CCTK_WARN(0,"Cannot create parameter table for interpolator")
+ endif
+
+ call CCTK_InterpHandle (interp_handle, "uniform cartesian")
+ if (interp_handle.lt.0) then
+ call CCTK_WARN(0,"Cannot get handle for interpolation ! Forgot to activate an implementation providing interpolation operators ??")
+ endif
+
+ call CCTK_CoordSystemHandle (coord_system_handle, "cart3d")
+ if (coord_system_handle .lt. 0) then
+ call CCTK_WARN(0,"Cannot get handle for cart3d coordinate system ! Forgot to activate an implementation providing coordinates ??")
+ endif
+
+! fill in the input/output arrays for the interpolator
+ interp_coords(1) = CCTK_PointerTo(separation_x)
+ interp_coords(2) = CCTK_PointerTo(separation_y)
+ interp_coords(3) = CCTK_PointerTo(separation_z)
+
+ call CCTK_VarIndex (vindex, "admbase::gxx")
+ in_array_indices(1) = vindex
+ call CCTK_VarIndex (vindex, "admbase::gyy")
+ in_array_indices(2) = vindex
+ call CCTK_VarIndex (vindex, "admbase::gzz")
+ in_array_indices(3) = vindex
+ call CCTK_VarIndex (vindex, "admbase::gxy")
+ in_array_indices(4) = vindex
+ call CCTK_VarIndex (vindex, "admbase::gxz")
+ in_array_indices(5) = vindex
+ call CCTK_VarIndex (vindex, "admbase::gyz")
+ in_array_indices(6) = vindex
+
+ out_arrays(1) = CCTK_PointerTo(s_gxx)
+ out_arrays(2) = CCTK_PointerTo(s_gyy)
+ out_arrays(3) = CCTK_PointerTo(s_gzz)
+ out_arrays(4) = CCTK_PointerTo(s_gxy)
+ out_arrays(5) = CCTK_PointerTo(s_gxz)
+ out_arrays(6) = CCTK_PointerTo(s_gyz)
+
+ out_array_type_codes = CCTK_VARIABLE_REAL
+
+! Interpolation.
+
+ call CCTK_InterpGridArrays (ierr, cctkGH, 3, interp_handle,&
+ param_table_handle, coord_system_handle,&
+ separation_npoints, CCTK_VARIABLE_REAL, interp_coords,&
+ 6, in_array_indices,&
+ 6, out_array_type_codes, out_arrays)
+ if (ierr < 0) then
+ call CCTK_WARN (1, "interpolator call returned an error code");
+ endif
+
+! release parameter table
+ call Util_TableDestroy (ierr, param_table_handle)
+
+! Integrate using trapezoidal rule.
+
+ whisky_proper_separation = 0.d0
+
+ do i=2, separation_npoints
+
+ whisky_proper_separation = whisky_proper_separation + 0.5d0 &
+ *(sqrt(s_gxx(i-1)*separation_dx**2 + &
+ s_gyy(i-1)*separation_dy**2 + &
+ s_gzz(i-1)*separation_dz**2 &
+ + 2.d0*(s_gxy(i-1)*separation_dx*separation_dy + &
+ s_gxz(i-1)*separation_dx*separation_dz + &
+ s_gyz(i-1)*separation_dy*separation_dz)) &
+ + sqrt(s_gxx(i )*separation_dx**2 + &
+ s_gyy(i )*separation_dy**2 + &
+ s_gzz(i )*separation_dz**2 &
+ + 2.d0*(s_gxy(i )*separation_dx*separation_dy + &
+ s_gxz(i )*separation_dx*separation_dz + &
+ s_gyz(i )*separation_dy*separation_dz)))
+
+ end do
+
+end subroutine Whisky_FindSeparation
diff --git a/src/Whisky_Minima.F90 b/src/Whisky_Minima.F90
new file mode 100644
index 0000000..df13600
--- /dev/null
+++ b/src/Whisky_Minima.F90
@@ -0,0 +1,126 @@
+ /*@@
+ @file Whisky_Minima.F90
+ @date Mon Feb 25 11:43:36 2002
+ @author
+ @desc
+ Sets up the scalars used for the atmosphere, before initial data.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine Whisky_Minima_Setup
+ @date Mon Feb 25 11:25:27 2002
+ @author Ian Hawke
+ @desc
+ Before initial data, set up the scalar whisky_rho_min used for the atmosphere.
+ This is computed only from parameters.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Modified 30 Aug 2006 by Luca Baiotti
+ @endhistory
+
+@@*/
+
+subroutine Whisky_Rho_Minima_Setup(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ if (initial_rho_abs_min > 0.0) then
+ whisky_rho_min = initial_rho_abs_min
+ else if (initial_rho_rel_min > 0.0) then
+ whisky_rho_min = whisky_rho_central * initial_rho_rel_min
+ else if (rho_abs_min > 0.d0) then
+ whisky_rho_min = rho_abs_min
+ else
+ whisky_rho_min = whisky_rho_central * rho_rel_min
+ end if
+
+ if (initial_atmosphere_factor > 0.0) whisky_rho_min = whisky_rho_min * initial_atmosphere_factor
+
+ return
+
+end subroutine Whisky_Rho_Minima_Setup
+
+
+ /*@@
+ @routine Whisky_Check_Rho_Minimum
+ @date Mon Jul 7 16:35:45 2008
+ @author Luca Baiotti
+ @desc
+ Check whether at some point rho < whisky_rho_min and print a warning in case.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ @endhistory
+@@*/
+
+subroutine Whisky_Check_Rho_Minimum(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT i,j,k
+ character(len=100) warnline
+
+ do i=1,cctk_lsh(1)
+ do j=1,cctk_lsh(2)
+ do k=1,cctk_lsh(3)
+
+ if (rho(i,j,k) < whisky_rho_min) then
+ call CCTK_WARN(2,"rho<whisky_rho_min!!!")
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',whisky_reflevel
+ call CCTK_WARN(2,warnline)
+ write(warnline,'(a25,g15.6)') 'whisky_rho_min: ',whisky_rho_min
+ call CCTK_WARN(2,warnline)
+ write(warnline,'(a25,g15.6)') 'rho: ',rho(i,j,k)
+ call CCTK_WARN(2,warnline)
+ write(warnline,'(a25,4g15.6)') 'coordinates: x,y,z,r:',x(i,j,k),y(i,j,k),z(i,j,k),r(i,j,k)
+ call CCTK_WARN(2,warnline)
+ end if
+
+ end do
+ end do
+ end do
+
+ return
+
+end subroutine Whisky_Check_Rho_Minimum
+
+
+ /*@@
+ @routine Whisky__Change_Rho_Minimum_At_Recovery
+ @date Thu Aug 14 17:11:32 2008
+ @author Luca Baiotti
+ @desc
+ Change, via a parameter, the value of whisky_rho_min at recovery.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ @endhistory
+@@*/
+
+subroutine Whisky_Change_Rho_Minimum_At_Recovery(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ whisky_rho_min = rho_abs_min_after_recovery
+
+ return
+
+end subroutine Whisky_Change_Rho_Minimum_At_Recovery
diff --git a/src/Whisky_Minima.cc b/src/Whisky_Minima.cc
new file mode 100644
index 0000000..da33a3f
--- /dev/null
+++ b/src/Whisky_Minima.cc
@@ -0,0 +1,175 @@
+ /*@@
+ @file Whisky_Minima.cc
+ @date Tue Aug 29 18:52:10 2006
+ @author
+ @desc
+ Sets up the scalars used for the atmosphere, after initial data.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+//#include "Carpet/Carpet/src/carpet.hh"
+#include "carpet.hh"
+
+#ifdef HAVE_CARPET
+using namespace Carpet;
+#endif
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+ /* Scheduled functions */
+ void Whisky_Rho_Minima_Setup_Final(CCTK_ARGUMENTS);
+
+ void Whisky_Rho_Minima_Setup_Final_PUGH(CCTK_ARGUMENTS);
+
+#ifdef __cplusplus
+ } /* extern "C" */
+#endif
+
+ /*@@
+ @routine Whisky_Rho_Minima_Setup_Final
+ @date Tue Aug 29 18:54:05 2006
+ @author Luca Baiotti
+ @desc
+ After initial data, set up the scalar whisky_rho_min used for checking the atmosphere.
+ This is computed taking into account the actual maximum rest-mass density on the grid.
+ Version for Carpet.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+@@*/
+
+void Whisky_Rho_Minima_Setup_Final(CCTK_ARGUMENTS)
+{
+
+#ifdef HAVE_CARPET
+
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_REAL max_rho;
+
+ static int flag = true;
+
+ if (flag) // Actually run this reduction only the first time the routine is called.
+ {
+ if (rho_abs_min > 0.0)
+ {
+ *whisky_rho_min = rho_abs_min;
+ }
+ else
+ {
+ // Go to global mode
+
+ BEGIN_GLOBAL_MODE (cctkGH) {
+
+ // Find the global maximum of rho
+
+ const int Reduction_Handle = CCTK_ReductionHandle ("maximum");
+
+ const CCTK_INT input_array_variable_indices= {CCTK_VarIndex("HydroBase::rho")};
+
+ const int ierr = CCTK_Reduce(cctkGH,
+ -1, // target processors; -1 -> all
+ Reduction_Handle,
+ 1, // number of output variables
+ CCTK_VARIABLE_REAL,
+ &max_rho,
+ 1, // number of variables to be reduced
+ input_array_variable_indices);
+
+ if (ierr != 0)
+ {
+ CCTK_WARN(0, "Failed to compute the global maximum of rho");
+ }
+
+ *whisky_rho_min = max_rho * rho_rel_min;
+
+ // Go back to local mode
+ } END_GLOBAL_MODE;
+
+ }
+ // After this has run once, set the flag so that this does not run again
+ flag = false;
+ } // end if (flag)
+ else
+ {
+ return;
+ }
+
+#endif
+
+ //Debug stuff
+ // char warnline;
+
+ //CCTK_VInfo (CCTK_THORNSTRING, "STEP 2: compute rho max; rho min: %13.12e \n",*whisky_rho_min);
+
+ // printf(warnline,"STEP 2: compute rho max; rho min: %13.12e \n",*whisky_rho_min);
+ //CCTK_WARN(1,warnline);
+
+ // printf(warnline,"STEP 3: recompute ID with new atmosphere; rho min: ', whisky_rho_min, 'reflev: ',%i), whisky_rho_min, whisky_reflevel);
+
+
+
+}
+
+
+ /*@@
+ @routine Whisky_Rho_Minima_Setup_Final_PUGH
+ @date Tue Aug 29 18:57:42 2006
+ @author Luca Baiotti
+ @desc
+ As above, but for PUGH.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+@@*/
+
+void Whisky_Rho_Minima_Setup_Final_PUGH(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_REAL max_rho;
+
+ if (rho_abs_min > 0.0)
+ {
+ *whisky_rho_min = rho_abs_min;
+ }
+ else
+ {
+ // Find the global maximum of rho
+
+ const int Reduction_Handle = CCTK_ReductionHandle("maximum");
+
+ const CCTK_INT input_array_variable_indices={CCTK_VarIndex("HydroBase::rho")};
+
+ const int ierr = CCTK_Reduce(cctkGH,
+ -1, // target processors; -1 -> all
+ Reduction_Handle,
+ 1, // number of output variables
+ CCTK_VARIABLE_REAL,
+ &max_rho,
+ 1, // number of variables to be reduced
+ input_array_variable_indices);
+
+ if (ierr != 0)
+ {
+ CCTK_WARN(0, "Failed to compute the global maximum of rho");
+ }
+
+ *whisky_rho_min = max_rho * rho_rel_min;
+ }
+}
+
diff --git a/src/Whisky_PPM.F90 b/src/Whisky_PPM.F90
new file mode 100644
index 0000000..344c3d1
--- /dev/null
+++ b/src/Whisky_PPM.F90
@@ -0,0 +1,651 @@
+ /*@@
+ @file Whisky_PPM.F90
+ @date Sun Feb 10 16:53:29 2002
+ @author Ian Hawke, Toni Font, Luca Baiotti, Frank Loeffler
+ @desc
+ Routines to do PPM reconstruction.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+subroutine PPM_TVD(origm, orig, origp, bextm, bextp)
+ CCTK_REAL :: origm, orig, origp, bextm, bextp
+ CCTK_REAL :: dloc, dupw, delta
+
+ dupw = orig - origm
+ dloc = origp - orig
+ if (dupw*dloc < 0.d0) then
+ delta=0.d0
+ else if (abs(dupw) < abs(dloc)) then
+ delta=dupw
+ else
+ delta=dloc
+ end if
+ bextm = orig - 0.5d0 * delta
+ bextp = orig + 0.5d0 * delta
+end subroutine PPM_TVD
+
+ /*@@
+ @routine SimplePPM_1d
+ @date Thu Feb 14 19:08:52 2002
+ @author Ian Hawke, Toni Font
+ @desc
+ The simple PPM reconstruction routine that applies along
+ each one dimensional slice.
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Written in frustration when IH couldn''t get Toni''s original code
+ to work.
+ @endhistory
+
+@@*/
+
+#define SpaceMask_CheckStateBitsF90_1D(mask,i,type_bits,state_bits) \
+ (iand(mask((i)),(type_bits)).eq.(state_bits))
+
+
+subroutine SimplePPM_1d(handle,poly,&
+ nx,dx,rho,velx,vely,velz,eps,press,rhominus,&
+ velxminus,velyminus,velzminus,epsminus,rhoplus,velxplus,velyplus,&
+ velzplus,epsplus,trivial_rp,space_mask, excision_descriptors,&
+ gxx, gxy, gxz, gyy, gyz, gzz, psi4, beta, alp, w_lorentz, &
+ dir, ni, nj, nrx, nry, nrz, ev_l, ev_r, xw)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ CCTK_INT :: handle,poly,nx
+ CCTK_REAL :: dx
+ CCTK_REAL, dimension(nx) :: rho,velx,vely,velz,eps
+ CCTK_REAL, dimension(nx) :: rhominus,velxminus,velyminus,velzminus,epsminus
+ CCTK_REAL, dimension(nx) :: rhoplus,velxplus,velyplus,velzplus,epsplus
+ CCTK_REAL, dimension(nx) :: rhominusl,velxminusl,velyminusl,velzminusl
+ CCTK_REAL, dimension(nx) :: epsminusl
+ CCTK_REAL, dimension(nx) :: rhoplusl,velxplusl,velyplusl,velzplusl,epsplusl
+ CCTK_REAL, dimension(nx) :: rhominusr,velxminusr,velyminusr,velzminusr
+ CCTK_REAL, dimension(nx) :: epsminusr
+ CCTK_REAL, dimension(nx) :: rhoplusr,velxplusr,velyplusr,velzplusr,epsplusr
+
+ CCTK_INT :: i,s
+ CCTK_REAL, dimension(nx) :: drho,dvelx,dvely,dvelz,deps
+ CCTK_REAL, dimension(nx) :: dmrho,dmvelx,dmvely,dmvelz,dmeps
+ CCTK_REAL, dimension(nx) :: press,dpress,d2rho,tilde_flatten
+ CCTK_REAL :: dpress2,dvel,w,flatten,eta,etatilde
+
+ logical, dimension(nx) :: trivial_rp
+
+ CCTK_INT, dimension(nx) :: space_mask
+ CCTK_INT :: excision_bits, excision_mask
+ CCTK_INT, dimension(3) :: excision_descriptors
+
+ CCTK_REAL, dimension(nx) :: gxx, gxy, gxz, gyy, gyz, gzz, &
+ psi4, beta, alp, w_lorentz
+ CCTK_INT :: dir, ni, nj, nrx, nry, nrz
+ CCTK_REAL, dimension(nrx, nry, nrz) :: ev_l, ev_r, xw
+
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det
+ CCTK_REAL, dimension(5) :: lam
+ CCTK_REAL :: dupw, dloc, delta
+ CCTK_REAL :: agxx, agxy, agxz, agyy, agyz, agzz
+ CCTK_REAL, dimension(nx) :: xwind, l_ev_l, l_ev_r
+
+ logical :: cond
+
+
+!!$ Initially, all the Riemann problems will be trivial
+
+trivial_rp = .true.
+
+!!$ Loop to set the pressure and eps
+!!$ poly=0
+!!$ if (poly .eq. 0) then
+!!$ do i = 1, nx
+!!$ press(i) = EOS_Pressure(handle, rho(i), eps(i))
+!!$ end do
+!!$ else
+!!$ do i = 1, nx
+!!$ press(i) = EOS_Pressure(handle, rho(i), eps(i))
+!!$ eps(i) = EOS_SpecificIntEnergy(handle, rho(i), press(i))
+!!$ end do
+!!$ end if
+
+!!$ Average slopes delta_m(a). See (1.7) of Colella and Woodward, p.178
+!!$ This is the expression for an even grid.
+
+ do i = 2, nx - 1
+ drho(i) = 0.5d0 * (rho(i+1) - rho(i-1))
+ dvelx(i) = 0.5d0 * (velx(i+1) - velx(i-1))
+ dvely(i) = 0.5d0 * (vely(i+1) - vely(i-1))
+ dvelz(i) = 0.5d0 * (velz(i+1) - velz(i-1))
+ dpress(i) = press(i+1) - press(i-1)
+ d2rho(i) = (rho(i+1) - 2.d0 * rho(i) + rho(i-1))! / 6.d0 / dx / dx
+ ! since we use d2rho only for the condition d2rho(i+1)*d2rhoi(i-1)<0
+ ! the denominator is not necessary
+ end do
+ if (poly .eq. 0) then
+ do i = 2, nx - 1
+ deps(i) = 0.5d0 * (eps(i+1) - eps(i-1))
+ end do
+ end if
+
+!!$ Steepened slope. See (1.8) of Colella and Woodward, p.178
+
+ do i = 2, nx - 1
+#define STEEP(x,dx,dmx) \
+ if ( (x(i+1) - x(i)) * (x(i) - x(i-1)) > 0.d0 ) then &&\
+ dmx(i) = sign(1.d0, dx(i)) * \
+ min(abs(dx(i)), 2.d0 * abs(x(i) - x(i-1)), \
+ 2.d0 * abs(x(i+1) - x(i))) &&\
+ else &&\
+ dmx(i) = 0.d0 &&\
+ end if
+ STEEP(rho, drho, dmrho)
+ STEEP(velx, dvelx, dmvelx)
+ STEEP(vely, dvely, dmvely)
+ STEEP(velz, dvelz, dmvelz)
+ end do
+ if (poly .eq. 0) then
+ do i = 2, nx - 1
+ STEEP(eps, deps, dmeps)
+ end do
+ end if
+
+!!$ Initial boundary states. See (1.9) of Colella and Woodward, p.178
+
+ do i = 2, nx-2
+ rhoplus(i) = 0.5d0 * (rho(i) + rho(i+1)) + &
+ (dmrho(i) - dmrho(i+1)) / 6.d0
+ rhominus(i+1) = rhoplus(i)
+ velxplus(i) = 0.5d0 * (velx(i) + velx(i+1)) + &
+ (dmvelx(i) - dmvelx(i+1)) / 6.d0
+ velxminus(i+1) = velxplus(i)
+ velyplus(i) = 0.5d0 * (vely(i) + vely(i+1)) + &
+ (dmvely(i) - dmvely(i+1)) / 6.d0
+ velyminus(i+1) = velyplus(i)
+ velzplus(i) = 0.5d0 * (velz(i) + velz(i+1)) + &
+ (dmvelz(i) - dmvelz(i+1)) / 6.d0
+ velzminus(i+1) = velzplus(i)
+ end do
+ if (poly .eq. 0) then
+ do i = 2, nx-2
+ epsplus(i) = 0.5d0 * (eps(i) + eps(i+1)) + &
+ (dmeps(i) - dmeps(i+1)) / 6.d0
+ epsminus(i+1) = epsplus(i)
+ end do
+ end if
+
+!!$Discontinuity steepening. See (1.14-17) of C&W.
+!!$This is the detect routine which mat be activated with the ppm_detect parameter
+!!$Note that this part really also depends on the grid being even.
+!!$Note also that we don''t have access to the gas constant gamma.
+!!$So this is just dropped from eq. (3.2) of C&W.
+!!$We can get around this by just rescaling the constant k0 (ppm_k0 here).
+
+ if (ppm_detect .ne. 0) then
+
+ do i = 3, nx - 2
+ if ( (d2rho(i+1)*d2rho(i-1) < 0.d0).and.(abs(rho(i+1)-rho(i-1)) - &
+ ppm_epsilon_shock * min(abs(rho(i+1)), abs(rho(i-1))) > 0.d0) ) then
+ etatilde = (rho(i-2) - rho(i+2) + 4.d0 * drho(i)) / (drho(i) * 12.d0)
+ else
+ etatilde = 0.d0
+ end if
+ eta = max(0.d0, min(1.d0, ppm_eta1 * (etatilde - ppm_eta2)))
+ if (ppm_k0 * abs(drho(i)) * min(press(i-1),press(i+1)) < &
+ abs(dpress(i)) * min(rho(i-1), rho(i+1))) then
+ eta = 0.d0
+ end if
+ if (eta > 0.d0) then
+ trivial_rp(i-1) = .false.
+ trivial_rp(i) = .false.
+ end if
+ rhominus(i) = rhominus(i) * (1.d0 - eta) + &
+ (rho(i-1) + 0.5d0 * dmrho(i-1)) * eta
+ rhoplus(i) = rhoplus(i) * (1.d0 - eta) + &
+ (rho(i+1) - 0.5d0 * dmrho(i+1)) * eta
+ end do
+
+ end if
+
+ !!$ mppm
+#define D_UPW(x) (0.5d0 * (x(i) + x(i+1)))
+#define LEFT1(x) (13.d0*x(i+1)-5.d0*x(i+2)+x(i+3)+3.d0*x(i ))/12.d0
+#define RIGHT1(x) (13.d0*x(i )-5.d0*x(i-1)+x(i-2)+3.d0*x(i+1))/12.d0
+ if (ppm_mppm .gt. 0) then
+ l_ev_l=0.d0
+ l_ev_r=0.d0
+ xwind=0.d0
+ do i=3, nx - 3
+ agxx = 0.5d0*( psi4(i)*gxx(i) + psi4(i+1)*gxx(i+1) )
+ agxy = 0.5d0*( psi4(i)*gxy(i) + psi4(i+1)*gxy(i+1) )
+ agxz = 0.5d0*( psi4(i)*gxz(i) + psi4(i+1)*gxz(i+1) )
+ agyy = 0.5d0*( psi4(i)*gyy(i) + psi4(i+1)*gyy(i+1) )
+ agyz = 0.5d0*( psi4(i)*gyz(i) + psi4(i+1)*gyz(i+1) )
+ agzz = 0.5d0*( psi4(i)*gzz(i) + psi4(i+1)*gzz(i+1) )
+ call SpatialDeterminant(agxx, agxy, agxz,&
+ agyy, agyz, agzz, det)
+ call UpperMetric (uxx, uxy, uxz, uyy, uyz, uzz, &
+ det, agxx, agxy, agxz, agyy, agyz, agzz)
+ call eigenvalues(handle,&
+ D_UPW(rho), D_UPW(velx), D_UPW(vely), D_UPW(velz), &
+ D_UPW(eps), D_UPW(w_lorentz), lam, &
+ agxx, agxy, agxz, agyy, agyz, agzz, &
+ uxx, det, D_UPW(alp), D_UPW(beta))
+ l_ev_l(i)=lam(1)
+ l_ev_r(i)=lam(5)
+ xwind(i) = (lam(1) + lam(5)) / (abs(lam(1)) + abs(lam(5)))
+ xwind(i) = min(1.d0, max(-1.d0, xwind(i)))
+#define LEFTPLUS(x,xplus) xplus(i) = abs(xwind(i)) * LEFT1(x) + \
+ (1.d0-abs(xwind(i))) * xplus(i)
+#define LEFTMINUS(x,xminus) xminus(i+1)= abs(xwind(i)) * LEFT1(x) + \
+ (1.d0-abs(xwind(i))) * xminus(i+1)
+#define RIGHTPLUS(x,xplus) xplus(i) = abs(xwind(i)) * RIGHT1(x) + \
+ (1.d0-abs(xwind(i))) * xplus(i)
+#define RIGHTMINUS(x,xminus) xminus(i+1)= abs(xwind(i)) * RIGHT1(x) + \
+ (1.d0-abs(xwind(i))) * xminus(i+1)
+#define CHECK(x,xc) if (x(i+1) .gt. x(i)) then && xc=min(x(i+1),max(x(i),xc)) && else && xc=min(x(i),max(x(i+1),xc)) && endif
+!!$ xwind(i)=0.d0
+ if (xwind(i) .lt. 0.0d0) then
+ LEFTPLUS(rho, rhoplus)
+ LEFTMINUS(rho, rhominus)
+ LEFTPLUS(velx, velxplus)
+ LEFTMINUS(velx, velxminus)
+ LEFTPLUS(vely, velyplus)
+ LEFTMINUS(vely, velyminus)
+ LEFTPLUS(velz, velzplus)
+ LEFTMINUS(velz, velzminus)
+ if (poly .eq. 0) then
+ LEFTPLUS(eps, epsplus)
+ LEFTMINUS(eps, epsminus)
+ end if
+ else
+ RIGHTPLUS(rho, rhoplus)
+ RIGHTMINUS(rho, rhominus)
+ RIGHTPLUS(velx, velxplus)
+ RIGHTMINUS(velx, velxminus)
+ RIGHTPLUS(vely, velyplus)
+ RIGHTMINUS(vely, velyminus)
+ RIGHTPLUS(velz, velzplus)
+ RIGHTMINUS(velz, velzminus)
+ if (poly .eq. 0) then
+ RIGHTPLUS(eps, epsplus)
+ RIGHTMINUS(eps, epsminus)
+ end if
+ end if
+ CHECK(rho, rhoplus(i))
+ CHECK(rho, rhominus(i+1))
+ CHECK(velx, velxplus(i))
+ CHECK(velx, velxminus(i+1))
+ CHECK(vely, velyplus(i))
+ CHECK(vely, velyminus(i+1))
+ CHECK(velz, velzplus(i))
+ CHECK(velz, velzminus(i+1))
+ if (poly .eq. 0) then
+ CHECK(eps, epsplus(i))
+ CHECK(eps, epsminus(i+1))
+ end if
+!!$ if ((dir .eq. 1) .and. (ni .eq. 4) .and. (nj .eq. 4)) then
+!!$ write (*,*) rhoplus(i), rhominus(i+1)
+!!$ end if
+ end do
+ !!$ mppm debug output
+ if (ppm_mppm_debug_eigenvalues .gt. 0) then
+ if (dir .eq. 1) then
+ ev_l(:,ni,nj) = l_ev_l
+ ev_r(:,ni,nj) = l_ev_r
+ xw(:,ni,nj) = xwind
+ else if (dir .eq. 2) then
+ ev_l(ni,:,nj) = l_ev_l
+ ev_r(ni,:,nj) = l_ev_r
+ xw(ni,:,nj) = xwind
+ else if (dir .eq. 3) then
+ ev_l(ni,nj,:) = l_ev_l
+ ev_r(ni,nj,:) = l_ev_r
+ xw(ni,nj,:) = xwind
+ else
+ write (*,*) "flux direction not 1 to 3 ?"
+ end if
+ end if
+ end if
+
+!!$ Zone flattening. See appendix of C&W, p. 197-8.
+
+ do i = 3, nx - 2
+ dpress2 = press(i+2) - press(i-2)
+ dvel = velx(i+1) - velx(i-1)
+ if ( (abs(dpress(i)) > ppm_epsilon * min(press(i-1),press(i+1))) .and. &
+ (dvel < 0.d0) ) then
+ w = 1.d0
+ else
+ w = 0.d0
+ end if
+ if (abs(dpress2) < ppm_small) then
+ tilde_flatten(i) = 1.d0
+ else
+ tilde_flatten(i) = max(0.d0, 1.d0 - w * max(0.d0, ppm_omega2 * &
+ (dpress(i) / dpress2 - ppm_omega1)))
+ end if
+ end do
+
+
+
+ if (PPM3) then !!$ Implement C&W, page 197, but with a workaround which allows to use stencil=3.
+ do i = 3, nx - 2
+ flatten = tilde_flatten(i)
+ if (abs(1.d0 - flatten) > 0.d0) then
+ trivial_rp(i-1) = .false.
+ trivial_rp(i) = .false.
+ end if
+ rhoplus(i) = flatten * rhoplus(i) + (1.d0 - flatten) * rho(i)
+ rhominus(i) = flatten * rhominus(i) + (1.d0 - flatten) * rho(i)
+ velxplus(i) = flatten * velxplus(i) + (1.d0 - flatten) * velx(i)
+ velxminus(i) = flatten * velxminus(i) + (1.d0 - flatten) * velx(i)
+ velyplus(i) = flatten * velyplus(i) + (1.d0 - flatten) * vely(i)
+ velyminus(i) = flatten * velyminus(i) + (1.d0 - flatten) * vely(i)
+ velzplus(i) = flatten * velzplus(i) + (1.d0 - flatten) * velz(i)
+ velzminus(i) = flatten * velzminus(i) + (1.d0 - flatten) * velz(i)
+ if (poly .eq. 0) then
+ epsplus(i) = flatten * epsplus(i) + (1.d0 - flatten) * eps(i)
+ epsminus(i) = flatten * epsminus(i) + (1.d0 - flatten) * eps(i)
+ end if
+ end do
+ else !!$ Really implement C&W, page 197; which requires stencil 4.
+ do i = 4, nx - 3
+ s=sign(1.d0, -dpress(i))
+ flatten = max(tilde_flatten(i), tilde_flatten(i+s))
+ if (abs(1.d0 - flatten) > 0.d0) then
+ trivial_rp(i-1) = .false.
+ trivial_rp(i) = .false.
+ end if
+ rhoplus(i) = flatten * rhoplus(i) + (1.d0 - flatten) * rho(i)
+ rhominus(i) = flatten * rhominus(i) + (1.d0 - flatten) * rho(i)
+ velxplus(i) = flatten * velxplus(i) + (1.d0 - flatten) * velx(i)
+ velxminus(i) = flatten * velxminus(i) + (1.d0 - flatten) * velx(i)
+ velyplus(i) = flatten * velyplus(i) + (1.d0 - flatten) * vely(i)
+ velyminus(i) = flatten * velyminus(i) + (1.d0 - flatten) * vely(i)
+ velzplus(i) = flatten * velzplus(i) + (1.d0 - flatten) * velz(i)
+ velzminus(i) = flatten * velzminus(i) + (1.d0 - flatten) * velz(i)
+ if (poly .eq. 0) then
+ epsplus(i) = flatten * epsplus(i) + (1.d0 - flatten) * eps(i)
+ epsminus(i) = flatten * epsminus(i) + (1.d0 - flatten) * eps(i)
+ end if
+ end do
+ end if
+
+
+!!$ Monotonicity. See (1.10) of C&W.
+
+do i = whisky_stencil, nx - whisky_stencil + 1
+#define MON(xminus,x,xplus) \
+ if (.not.( (xplus(i).eq.x(i)) .and. (x(i).eq.xminus(i)) ) \
+ .and. ((xplus(i)-x(i))*(x(i)-xminus(i)) .le. 0.d0)) then&&\
+ trivial_rp(i-1) = .false. &&\
+ trivial_rp(i) = .false. &&\
+ xminus(i) = x(i) &&\
+ xplus(i) = x(i) &&\
+ else if (6.d0 * (xplus(i) - xminus(i)) * (x(i) - 0.5d0 * \
+ (xplus(i) + xminus(i))) > \
+ (xplus(i) - xminus(i))**2) then &&\
+ xminus(i) = 3.d0 * x(i) - 2.d0 * xplus(i) &&\
+ trivial_rp(i-1) = .false. &&\
+ trivial_rp(i) = .false. &&\
+ else if (6.d0 * (xplus(i) - xminus(i)) * (x(i) - 0.5d0 * \
+ (xplus(i) + xminus(i))) < \
+ -(xplus(i) - xminus(i))**2) then &&\
+ xplus(i) = 3.d0 * x(i) - 2.d0 * xminus(i) &&\
+ trivial_rp(i-1) = .false. &&\
+ trivial_rp(i) = .false. &&\
+ end if &&\
+ if (.not.( (xplus(i).eq.x(i)) .and. (x(i).eq.xminus(i)) ) ) then &&\
+ trivial_rp(i-1) = .false. &&\
+ trivial_rp(i) = .false. &&\
+ end if
+
+ MON(rhominus,rho,rhoplus)
+ MON(velxminus,velx,velxplus)
+ MON(velyminus,vely,velyplus)
+ MON(velzminus,velz,velzplus)
+ end do
+ if (poly .eq. 0) then
+ do i = whisky_stencil, nx - whisky_stencil + 1
+ MON(epsminus,eps,epsplus)
+ end do
+ end if
+
+ if (check_for_trivial_rp .eq. 0) then
+ trivial_rp = .false.
+ end if
+
+ !!$ excision
+ return
+
+end subroutine SimplePPM_1d
+
+
+
+subroutine SimplePPM_tracer_1d(nx,dx,rho,velx,vely,velz, &
+ tracer,tracerminus,tracerplus,press)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: nx
+ CCTK_REAL :: dx
+ CCTK_REAL, dimension(nx) :: rho,velx,vely,velz
+ CCTK_REAL, dimension(nx,number_of_tracers) :: tracer,tracerminus,tracerplus
+ CCTK_REAL :: tracerflatomega
+
+
+ CCTK_INT :: i,s,itracer
+ CCTK_REAL, dimension(nx) :: press,dpress,tilde_flatten
+ CCTK_REAL, dimension(nx,number_of_tracers) :: dmtracer, dtracer, tracerflat!, d2tracer
+ CCTK_REAL :: dpress2,w,flatten,dvel
+ CCTK_REAL :: eta, etatilde
+
+!!$ Average slopes delta_m(a). See (1.7) of Colella and Woodward, p.178
+!!$ This is the expression for an even grid.
+
+
+ do i = 2, nx - 1
+ dpress(i) = press(i+1) - press(i-1)
+ end do
+
+ do itracer=1,number_of_tracers
+ do i = 2, nx - 1
+ dtracer(i,itracer) = 0.5d0 * (tracer(i+1,itracer) - tracer(i-1,itracer))
+! d2tracer(i,itracer) = (tracer(i+1) - 2.d0 * tracer(i) + tracer(i-1))! / 6.d0 / dx / dx
+! ! since we use d2tracer only for the condition d2tracer(i+1)*d2tracer(i-1)<0
+! ! the denominator is not necessary
+ enddo
+ enddo
+
+!!$ Steepened slope. See (1.8) of Colella and Woodward, p.178
+
+ do itracer=1,number_of_tracers
+ do i = 2, nx - 1
+ if( (tracer(i+1,itracer) - tracer(i,itracer)) * &
+ (tracer(i,itracer) - tracer(i-1,itracer)) > 0.0d0 ) then
+ dmtracer(i,itracer) = sign(1.0d0,dtracer(i,itracer)) * &
+ min(abs(dtracer(i,itracer)), 2.0d0 * &
+ abs(tracer(i,itracer) - tracer(i-1,itracer)), &
+ 2.0d0 * abs(tracer(i+1,itracer) - tracer(i,itracer)))
+ else
+ dmtracer(i,itracer) = 0.0d0
+ endif
+ end do
+ enddo
+
+!!$ Initial boundary states. See (1.9) of Colella and Woodward, p.178
+
+ do itracer=1,number_of_tracers
+ do i = 2, nx - 2
+ tracerplus(i,itracer) = 0.5d0 * (tracer(i,itracer) + tracer(i+1,itracer)) + &
+ (dmtracer(i,itracer) - dmtracer(i+1,itracer)) / 6.d0
+ tracerminus(i+1,itracer) = tracerplus(i,itracer)
+ enddo
+ enddo
+
+
+!!$Discontinuity steepening. See (1.14-17) of C&W.
+!!$This is the detect routine which mat be activated with the ppm_detect parameter
+!!$Note that this part really also depends on the grid being even.
+!!$Note also that we do not have access to the gas constant gamma.
+!!$So this is just dropped from eq. (3.2) of C&W.
+!!$We can get around this by just rescaling the constant k0 (ppm_k0 here).
+
+!!! We might play around with this for the tracer. CURRENTLY TURNED OFF
+
+#if 0
+ if (ppm_detect .eq. 1000) then
+ do itracer=1,number_of_tracers
+
+ do i = 3, nx - 2
+ if ( (dtracer(i+1,itracer)*dtracer(i-1,itracer) > 0.d0) & !make sure this is not an extremum
+ .and.(abs(tracer(i+1,itracer)-tracer(i-1,itracer)) - & !this is to prevent steepening
+ !of relatively small composition jumps
+ ppm_epsilon_shock * min(tracer(i+1,itracer), tracer(i-1,itracer)) > 0.d0 ) &
+ .and. & ! the actual criterion from Plewa & Mueller
+ ((tracer(i+1,itracer)-tracer(i-1,itracer)) / &
+ (tracer(i+2,itracer)-tracer(i-2,itracer)) > ppm_omega1 ) ) then
+
+ etatilde = (tracer(i-2,itracer) - tracer(i+2,itracer) + &
+ 4.d0 * dtracer(i,itracer)) / (dtracer(i,itracer) * 12.d0)
+
+ write(*,*) "Additional Steepening in Zone: ",i
+
+ else
+ etatilde = 0.d0
+ end if
+ eta = max(0.d0, min(1.d0, ppm_eta1 * (etatilde - ppm_eta2)))
+ if (ppm_k0 * abs(dtracer(i,itracer)) * min(press(i-1),press(i+1)) < &
+ abs(dpress(i)) * min(tracer(i-1,itracer), tracer(i+1,itracer))) then
+ eta = 0.d0
+ end if
+ tracerminus(i,itracer) = tracerminus(i,itracer) * (1.d0 - eta) + &
+ (tracer(i-1,itracer) + 0.5d0 * dmtracer(i-1,itracer)) * eta
+ tracerplus(i,itracer) = tracerplus(i,itracer) * (1.d0 - eta) + &
+ (tracer(i+1,itracer) - 0.5d0 * dmtracer(i+1,itracer)) * eta
+ end do
+
+ enddo
+
+ end if
+#endif
+
+!!$ Zone flattening. See appendix of C&W, p. 197-8.
+
+ do i = 3, nx - 2
+ dpress2 = press(i+2) - press(i-2)
+ dvel = velx(i+1) - velx(i-1)
+ if ( (abs(dpress(i)) > ppm_epsilon * min(press(i-1),press(i+1))) .and. &
+ (dvel < 0.d0) ) then
+ w = 1.d0
+ else
+ w = 0.d0
+ end if
+ if (abs(dpress2) < ppm_small) then
+ tilde_flatten(i) = 1.d0
+ else
+ tilde_flatten(i) = max(0.d0, 1.d0 - w * max(0.d0, ppm_omega2 * &
+ (dpress(i) / dpress2 - ppm_omega1)))
+ end if
+ end do
+
+ if (PPM3) then
+ do itracer=1,number_of_tracers
+ do i = 3, nx - 2
+ flatten = tilde_flatten(i)
+ tracerplus(i,itracer) = flatten * tracerplus(i,itracer) &
+ + (1.d0 - flatten) * tracer(i,itracer)
+ tracerminus(i,itracer) = flatten * tracerminus(i,itracer) &
+ + (1.d0 - flatten) * tracer(i,itracer)
+ end do
+ enddo
+ else !!$ Really implement C&W, page 197; which requires stencil 4.
+ do itracer=1,number_of_tracers
+ do i = 4, nx - 3
+ s=sign(1.d0, -dpress(i))
+ flatten = max(tilde_flatten(i), tilde_flatten(i+s))
+ tracerplus(i,itracer) = flatten * tracerplus(i,itracer) + &
+ (1.d0 - flatten) * tracer(i,itracer)
+ tracerminus(i,itracer) = flatten * tracerminus(i,itracer) &
+ + (1.d0 - flatten) * tracer(i,itracer)
+ end do
+ enddo
+ end if
+
+
+!! Additional flattening a la Plewa & Mueller
+
+#if 1
+ do itracer=1,number_of_tracers
+ do i = 2, nx - 1
+ if ( ( tracer(i+1,itracer) - tracer(i,itracer) ) * &
+ ( tracer(i,itracer) - tracer(i-1,itracer) ) < 0.0d0 ) then
+ tracerflat(i,itracer) = 1.0d0
+ else
+ tracerflat(i,itracer) = 0.0d0
+ endif
+ enddo
+ enddo
+
+ do itracer=1,number_of_tracers
+ do i = 3, nx -2
+
+ tracerflatomega = 0.5d0 * max(tracerflat(i-1,itracer),2.0d0*tracerflat(i,itracer), &
+ tracerflat(i+1,itracer)) * ppm_omega_tracer
+
+ tracerplus(i,itracer) = tracerflatomega*tracer(i,itracer) + &
+ (1.0d0 - tracerflatomega)*tracerplus(i,itracer)
+
+ tracerminus(i,itracer) = tracerflatomega*tracer(i,itracer) + &
+ (1.0d0 - tracerflatomega)*tracerminus(i,itracer)
+
+ enddo
+ enddo
+
+
+#endif
+
+!!$ Monotonicity. See (1.10) of C&W.
+
+
+ do itracer=1,number_of_tracers
+ do i = whisky_stencil, nx - whisky_stencil + 1
+ if (((tracerplus(i,itracer)-tracer(i,itracer))* &
+ (tracer(i,itracer)-tracerminus(i,itracer)) .le. 0.d0)) then
+ tracerminus(i,itracer) = tracer(i,itracer)
+ tracerplus(i,itracer) = tracer(i,itracer)
+ else if ((tracerplus(i,itracer) - tracerminus(i,itracer)) * (tracer(i,itracer) - 0.5d0 * &
+ (tracerplus(i,itracer) + tracerminus(i,itracer))) > &
+ (tracerplus(i,itracer) - tracerminus(i,itracer))**2 / 6.d0) then
+ tracerminus(i,itracer) = 3.d0 * tracer(i,itracer) - 2.d0 * tracerplus(i,itracer)
+ else if ((tracerplus(i,itracer) - tracerminus(i,itracer)) * (tracer(i,itracer) - 0.5d0 * &
+ (tracerplus(i,itracer) + tracerminus(i,itracer))) < &
+ -(tracerplus(i,itracer) - tracerminus(i,itracer))**2 / 6.d0 ) then
+ tracerplus(i,itracer) = 3.d0 * tracer(i,itracer) - 2.d0 * tracerminus(i,itracer)
+ end if
+ end do
+ enddo
+
+
+
+end subroutine SimplePPM_tracer_1d
+
diff --git a/src/Whisky_ParamCheck.F90 b/src/Whisky_ParamCheck.F90
new file mode 100644
index 0000000..a6032de
--- /dev/null
+++ b/src/Whisky_ParamCheck.F90
@@ -0,0 +1,94 @@
+ /*@@
+ @file Whisky_ParamCheck.F90
+ @date Sat Feb 9 23:48:01 2002
+ @author
+ @desc
+ Parameter checking routine.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine Whisky_ParamCheck
+ @date Sat Feb 9 23:48:43 2002
+ @author Ian Hawke
+ @desc
+ Checks the parameters.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_ParamCheck(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ if (whisky_stencil > minval(cctk_nghostzones)) then
+ call CCTK_PARAMWARN("The stencil is larger than the number of ghost zones. Answer will be dependent on processor number...")
+ end if
+
+ if (CCTK_EQUALS(recon_method,"tvd").and.(whisky_stencil < 2)) then
+ call CCTK_PARAMWARN("The stencil size must be at least 2 to use TVD reconstruction")
+ end if
+
+ if (CCTK_EQUALS(recon_method,"ppm")) then
+ if (CCTK_EQUALS(ppm_flatten,"stencil_3").and.(whisky_stencil < 3)) then
+ call CCTK_PARAMWARN("The stencil size must be at least 3 to use PPM reconstruction with the stencil-3 variant of the flattening procedure")
+ else if (CCTK_EQUALS(ppm_flatten,"stencil_4").and.(whisky_stencil < 4)) then
+ call CCTK_PARAMWARN("The stencil size must be at least 4 to use PPM reconstruction with the stencil-4 (original) flattening procedure")
+ end if
+ end if
+
+ if (CCTK_EQUALS(recon_method,"eno").and.(whisky_stencil < eno_order)) then
+ call CCTK_PARAMWARN("The stencil size must be at least the order of the reconstruction to use ENO reconstruction")
+ end if
+
+ if (CCTK_EQUALS(whisky_eos_table,"2D_Polytrope").and.&
+ (.not.CCTK_EQUALS(whisky_eos_type,"Polytype"))) then
+ call CCTK_PARAMWARN("When using the 2D_Polytrope EOS you need to set eos_type to Polytype")
+ end if
+
+ if (CCTK_EQUALS(whisky_eos_table,"Ideal_Fluid").and.&
+ (.not.CCTK_EQUALS(whisky_eos_type,"General"))) then
+ call CCTK_PARAMWARN("When using the Ideal_Fluid EOS you need to set eos_type to General")
+ end if
+
+ if (.not.(CCTK_EQUALS(metric_type, "Physical").or.&
+ CCTK_EQUALS(metric_type, "Static Conformal"))) then
+ call CCTK_PARAMWARN("Whisky only knows how to deal with physical metric type at the moment. Complain to the maintainers...")
+ end if
+
+ if (.not.CCTK_EQUALS(metric_type, "Static Conformal")) then
+ call CCTK_INFO("Whisky will use the physical metric and set conformal_state=0.")
+ conformal_state = 0
+ end if
+
+
+ if (use_mask .eq. 0) then
+ call CCTK_PARAMWARN("Whisky now requires you to set SpaceMask::use_mask = ""yes""")
+ end if
+
+ if (number_of_particles .gt. 0) then
+ if (number_of_arrays .ne. 3) then
+ call CCTK_PARAMWARN("If tracking particles then you must have number_of_arrays = 3")
+ end if
+ end if
+ ! This check and 'static' as valid keyword option can be removed after the
+ ! year 2010
+ if (CCTK_EQUALS(bound,"static")) then
+ call CCTK_PARAMWARN("Whisky::bound = 'static' is no longer supported, use 'none' instead");
+ end if
+end subroutine Whisky_ParamCheck
+
diff --git a/src/Whisky_Particle.F90 b/src/Whisky_Particle.F90
new file mode 100644
index 0000000..9e78004
--- /dev/null
+++ b/src/Whisky_Particle.F90
@@ -0,0 +1,248 @@
+ /*@@
+ @file Whisky_Particle.F90
+ @date Wed Mar 31 11:10:52 2004
+ @author Ian Hawke
+ @desc
+ Track coordinates of particles.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine WhiskyParticleRHS
+ @date Wed Mar 31 11:11:26 2004
+ @author Ian Hawke
+ @desc
+ Track particles.
+ Most of this code is taken from Peter Dieners EHFinder - generator tracking.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine WhiskyParticleRHS(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, l
+ CCTK_INT :: interp_handle, table_handle, status, coord_system_handle
+
+ character(len=200) :: particle_interp
+ character(len=128) :: warn_message
+ CCTK_INT :: particle_interp_len
+ character(len=7) :: particle_order
+ character(len=15) :: vname
+
+ CCTK_INT, dimension(1) :: lsh
+ CCTK_POINTER, dimension(3) :: interp_coords
+ CCTK_POINTER, dimension(7) :: out_arrays
+ CCTK_INT, dimension(7) :: in_arrays
+ CCTK_INT, dimension(7), parameter :: op_indices = (/ 0, 1, 2, 3, 4, &
+ 5, 6 /), &
+ op_codes = (/ 0, 0, 0, 0, 0, &
+ 0, 0 /)
+ CCTK_INT, dimension(7) :: out_types
+
+ out_types = CCTK_VARIABLE_REAL
+
+! Convert the particle_interpolator string parameter to a Fortran string.
+ call CCTK_FortranString ( particle_interp_len, particle_interpolator, &
+ particle_interp )
+
+! Get the corresponding interpolator handle.
+ call CCTK_InterpHandle ( interp_handle, particle_interp )
+
+ if ( interp_handle .lt. 0 ) then
+ warn_message = 'Cannot get handle for interpolation.'
+ warn_message = trim(warn_message)//' Forgot to activate an implementation'
+ warn_message = trim(warn_message)//' providing interpolation operators?'
+ call CCTK_WARN( 0, trim(warn_message) )
+ end if
+
+! Convert the interpolation order parameter to a Fortran string to be placed
+! in the interpolator table. Note that the order is assumed to contain only
+! 1 digit.
+ write(particle_order,'(a6,i1)') 'order=', particle_interpolation_order
+
+! Create the table directly from the string.
+ call Util_TableCreateFromString ( table_handle, particle_order )
+ if ( table_handle .lt. 0 ) then
+ call CCTK_WARN( 0, 'Cannot create parameter table for interpolator' )
+ end if
+
+! Get the 3D coordinate system handle.
+ call CCTK_CoordSystemHandle ( coord_system_handle, 'cart3d' )
+ if ( coord_system_handle .lt. 0) then
+ warn_message = 'Cannot get handle for cart3d coordinate system.'
+ warn_message = trim(warn_message)//' Forgot to activate an implementation'
+ warn_message = trim(warn_message)//' providing coordinates?'
+ call CCTK_WARN( 0, trim(warn_message) )
+ endif
+
+! Find out how many interpolation points are located on this processor.
+ call CCTK_GrouplshGN ( status, cctkGH, 1, lsh, 'whisky::particles' )
+ if ( status .lt. 0 ) then
+ call CCTK_WARN ( 0, 'cannot get local size for particles' )
+ end if
+
+! Set the pointers to the output arrays.
+ out_arrays(1) = CCTK_PointerTo(particle_vx)
+ out_arrays(2) = CCTK_PointerTo(particle_vy)
+ out_arrays(3) = CCTK_PointerTo(particle_vz)
+ out_arrays(4) = CCTK_PointerTo(particle_alp)
+ out_arrays(5) = CCTK_PointerTo(particle_betax)
+ out_arrays(6) = CCTK_PointerTo(particle_betay)
+ out_arrays(7) = CCTK_PointerTo(particle_betaz)
+
+! Set the pointers to the points to be interpolated to.
+ interp_coords(1) = CCTK_PointerTo(particle_x)
+ interp_coords(2) = CCTK_PointerTo(particle_y)
+ interp_coords(3) = CCTK_PointerTo(particle_z)
+
+! Set the indices to the input grid functions.
+ call CCTK_VarIndex ( in_arrays(1), 'whisky::velx' )
+ call CCTK_VarIndex ( in_arrays(2), 'whisky::vely' )
+ call CCTK_VarIndex ( in_arrays(3), 'whisky::velz' )
+ call CCTK_VarIndex ( in_arrays(4), 'admbase::alp' )
+ call CCTK_VarIndex ( in_arrays(5), 'admbase::betax' )
+ call CCTK_VarIndex ( in_arrays(6), 'admbase::betay' )
+ call CCTK_VarIndex ( in_arrays(7), 'admbase::betaz' )
+
+! Set the operand indices table entry
+ call Util_TableSetIntArray ( status, table_handle, 7, &
+ op_indices(1:7), 'operand_indices' )
+ if ( status .lt. 0 ) then
+ warn_message = 'Cannot set operand indices array in parameter table'
+ call CCTK_WARN ( 0, trim(warn_message) )
+ endif
+
+! Set the corresponding table entry for the operation codes.
+ call Util_TableSetIntArray ( status, table_handle, 7, &
+ op_codes(1:7), 'operation_codes' )
+ if ( status .lt. 0 ) then
+ warn_message = 'Cannot set operation codes array in parameter table'
+ call CCTK_WARN ( 0, trim(warn_message) )
+ endif
+
+! Call the interpolator.
+ call CCTK_InterpGridArrays ( status, cctkGH, 3, interp_handle, &
+ table_handle, coord_system_handle, &
+ lsh(1), CCTK_VARIABLE_REAL, &
+ interp_coords, 7, in_arrays(1:7), &
+ 7, out_types(1:7), out_arrays(1:7) )
+
+ if ( status .lt. 0 ) then
+ call CCTK_INFO ( 'Interpolation failed.' )
+ end if
+
+! For each point on this processor calculate the right hand side of the
+! characteristic evolution equation.
+ do i = 1, lsh(1)
+
+ particle_x_rhs(i) = particle_alp(i) * particle_vx(i) - &
+ particle_betax(i)
+ particle_y_rhs(i) = particle_alp(i) * particle_vy(i) - &
+ particle_betay(i)
+ particle_z_rhs(i) = particle_alp(i) * particle_vz(i) - &
+ particle_betaz(i)
+
+ end do
+
+ return
+
+end subroutine WhiskyParticleRHS
+
+/*@@
+ @routine WhiskyParticleInitial
+ @date Wed Mar 31 11:53:25 2004
+ @author Ian Hawke
+ @desc
+ Sets up the initial coordinates of the particles. Can be overwritten
+ by something scheduled in HydroBase_Initial.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine WhiskyParticleInitial(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT, dimension(1) :: lsh, lbnd
+ CCTK_INT :: i, status
+ CCTK_REAL :: radius, angle, xmin, xmax, ymin, ymax, zmin, zmax, twopi
+
+ twopi = 4.d0 * atan(1.d0)
+
+ if (number_of_particles .gt. 0) then
+
+! Find out how many interpolation points are located on this processor.
+ call CCTK_GrouplshGN ( status, cctkGH, 1, lsh, 'whisky::particles' )
+ if ( status .lt. 0 ) then
+ call CCTK_WARN ( 0, 'cannot get local size for particles' )
+ end if
+ call CCTK_GrouplbndGN ( status, cctkGH, 1, lbnd, 'whisky::particles' )
+ if ( status .lt. 0 ) then
+ call CCTK_WARN ( 0, 'cannot get lower bounds for particles' )
+ end if
+
+ call CCTK_CoordRange(status,cctkGH,xmin,xmax,-1,"x","cart3d")
+ call CCTK_CoordRange(status,cctkGH,ymin,ymax,-1,"y","cart3d")
+ call CCTK_CoordRange(status,cctkGH,zmin,zmax,-1,"z","cart3d")
+
+
+ radius = 0.1d0 * min(xmax, ymax, zmax)
+
+ do i = 1, lsh(1)
+
+ angle = dble(lbnd(1)+i-1) / dble(number_of_particles) * twopi
+
+ particle_x(i) = radius * sin(angle)
+ particle_y(i) = radius * cos(angle)
+ particle_z(i) = 0.d0
+
+ particle_x_p(i) = particle_x(i)
+ particle_y_p(i) = particle_y(i)
+ particle_z_p(i) = particle_z(i)
+
+ particle_x_p_p(i) = particle_x(i)
+ particle_y_p_p(i) = particle_y(i)
+ particle_z_p_p(i) = particle_z(i)
+
+ particle_x_rhs(i) = 0.d0
+ particle_y_rhs(i) = 0.d0
+ particle_z_rhs(i) = 0.d0
+
+ particle_vx(i) = 0.d0
+ particle_vy(i) = 0.d0
+ particle_vz(i) = 0.d0
+ particle_alp(i) = 0.d0
+ particle_betax(i) = 0.d0
+ particle_betay(i) = 0.d0
+ particle_betaz(i) = 0.d0
+
+ end do
+
+ end if
+
+end subroutine WhiskyParticleInitial
diff --git a/src/Whisky_PreLoop.F90 b/src/Whisky_PreLoop.F90
new file mode 100644
index 0000000..c2c5366
--- /dev/null
+++ b/src/Whisky_PreLoop.F90
@@ -0,0 +1,95 @@
+ /*@@
+ @file Whisky_PreLoop.F90
+ @date Mon Feb 25 11:43:36 2002
+ @author
+ @desc
+ Sets up various scalars used for efficiency reasons.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine Whisky_Scalar_Setup
+ @date Mon Feb 25 11:25:27 2002
+ @author
+ @desc
+ Sets up the logical scalars from the parameters. These are
+ solely used for efficiency.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_Scalar_Setup(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ MINMOD = .false.
+ MINMOD2 = .false.
+ MINMOD3 = .false.
+ MC1 = .false.
+ MC2 = .false.
+ SUPERBEE = .false.
+
+ if (CCTK_EQUALS(tvd_limiter,"minmod")) then
+ MINMOD = .true.
+ else if (CCTK_EQUALS(tvd_limiter,"minmod2")) then
+ MINMOD2 = .true.
+ else if (CCTK_EQUALS(tvd_limiter,"minmod3")) then
+ MINMOD3 = .true.
+ else if (CCTK_EQUALS(tvd_limiter,"vanleerMC")) then
+ MC1 = .true.
+ else if (CCTK_EQUALS(tvd_limiter,"vanleerMC2")) then
+ MC2 = .true.
+ else if (CCTK_EQUALS(tvd_limiter,"Superbee")) then
+ SUPERBEE = .true.
+ else
+ call CCTK_WARN(0, "TVD Limiter not recognized!")
+ end if
+
+ PPM3=.false.
+ PPM4=.false.
+
+ if (CCTK_EQUALS(ppm_flatten,"stencil_3")) then
+ PPM3=.true.
+ else if (CCTK_EQUALS(ppm_flatten,"stencil_4")) then
+ PPM4=.true.
+ else
+ call CCTK_WARN(0, "PPM Flattening Procedure not recognized!")
+ end if
+
+ ANALYTICAL = .false.
+
+ if (CCTK_EQUALS(left_eigenvectors,"analytical")) then
+ ANALYTICAL = .true.
+ else if (CCTK_EQUALS(left_eigenvectors,"numerical")) then
+ ANALYTICAL = .false.
+ else
+ call CCTK_WARN(0, "Left Eigenvector Mode not recognized!")
+ end if
+
+ FAST = .false.
+
+ if (CCTK_EQUALS(numerical_viscosity,"fast")) then
+ FAST = .true.
+ else if (CCTK_EQUALS(numerical_viscosity,"normal")) then
+ FAST = .false.
+ else
+ call CCTK_WARN(0, "Numerical Viscosity Mode not recognized!")
+ end if
+
+end subroutine Whisky_Scalar_Setup
diff --git a/src/Whisky_Prim2Con.F90 b/src/Whisky_Prim2Con.F90
new file mode 100644
index 0000000..aef98a3
--- /dev/null
+++ b/src/Whisky_Prim2Con.F90
@@ -0,0 +1,730 @@
+ /*@@
+ @file primitive2conservative
+ @date Thu Jan 11 11:03:32 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Primitive to conservative routine
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+#define sx(i,j,k) scon(i,j,k,1)
+#define sy(i,j,k) scon(i,j,k,2)
+#define sz(i,j,k) scon(i,j,k,3)
+
+
+ /*@@
+ @routine primitive2conservative.f90
+ @date Thu Jan 11 11:03:32 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Converts primitive to conserved variables for the boundary extended data.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine primitive2conservative(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4l,psi4r
+
+ do k = whisky_stencil,cctk_lsh(3)-whisky_stencil+1
+ do j = whisky_stencil,cctk_lsh(2)-whisky_stencil+1
+ do i = whisky_stencil,cctk_lsh(1)-whisky_stencil+1
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ if (.not.(conformal_state .eq. 0)) then
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+ gxxr = gxxr * psi4r
+ gxyr = gxyr * psi4r
+ gxzr = gxzr * psi4r
+ gyyr = gyyr * psi4r
+ gyzr = gyzr * psi4r
+ gzzr = gzzr * psi4r
+ gxxl = gxxl * psi4l
+ gxyl = gxyl * psi4l
+ gxzl = gxzl * psi4l
+ gyyl = gyyl * psi4l
+ gyzl = gyzl * psi4l
+ gzzl = gzzl * psi4l
+ end if
+
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+
+ call prim2con(whisky_eos_handle, gxxl,gxyl,gxzl,gyyl,gyzl,gzzl, &
+ avg_detl,densminus(i,j,k),sxminus(i,j,k),&
+ syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),rhominus(i,j,k), &
+ velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k),&
+ epsminus(i,j,k),pressminus(i,j,k),w_lorentzminus(i, j, k))
+
+ call prim2con(whisky_eos_handle, gxxr,gxyr,gxzr,gyyr,gyzr,gzzr, &
+ avg_detr, densplus(i,j,k),sxplus(i,j,k),&
+ syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
+ rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
+ velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),&
+ w_lorentzplus(i,j,k))
+
+ end do
+ end do
+ end do
+
+end subroutine primitive2conservative
+
+ /*@@
+ @routine prim2con
+ @date Sat Jan 26 01:52:18 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Converts from primitive to conservative at a single point
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine prim2con(handle, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
+ dsx, dsy, dsz, dtau , drho, dvelx, dvely, dvelz, deps, dpress, w)
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, det
+ CCTK_REAL :: ddens, dsx, dsy, dsz, dtau, drho, dvelx, dvely, dvelz,&
+ deps, dpress, w, vlowx, vlowy, vlowz
+ CCTK_INT :: handle
+ character(len=256) NaN_WarnLine
+
+#include "EOS_Base.inc"
+
+ w = 1.d0 / sqrt(1.d0 - (gxx*dvelx*dvelx + gyy*dvely*dvely + gzz &
+ *dvelz*dvelz + 2*gxy*dvelx*dvely + 2*gxz*dvelx *dvelz + 2*gyz&
+ *dvely*dvelz))
+
+!!$ BEGIN: Check for NaN value
+ if (w .ne. w) then
+ write(NaN_WarnLine,'(a100,3g15.6)') 'NaN produced in sqrt(): (dvelx,dvely,dvelz)', dvelx, dvely, dvelz
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value
+
+ dpress = EOS_Pressure(handle, drho, deps)
+
+ vlowx = gxx*dvelx + gxy*dvely + gxz*dvelz
+ vlowy = gxy*dvelx + gyy*dvely + gyz*dvelz
+ vlowz = gxz*dvelx + gyz*dvely + gzz*dvelz
+
+ ddens = sqrt(det) * drho * w
+ dsx = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowx
+ dsy = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowy
+ dsz = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowz
+ dtau = sqrt(det) * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
+
+end subroutine prim2con
+
+
+ /*@@
+ @routine Primitive2ConservativeCells
+ @date Sun Mar 10 21:16:20 2002
+ @author
+ @desc
+ Wrapper function that converts primitive to conservative at the
+ cell centres.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Primitive2ConservativeCells(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k
+ CCTK_REAL :: det,psi4pt
+
+ do k = whisky_stencil,cctk_lsh(3)-whisky_stencil+1
+ do j = whisky_stencil,cctk_lsh(2)-whisky_stencil+1
+ do i = whisky_stencil,cctk_lsh(1)-whisky_stencil+1
+
+ if (conformal_state .eq. 0) then
+ psi4pt = 1d0
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),&
+ psi4pt*gxz(i,j,k),psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),&
+ psi4pt*gzz(i,j,k),det)
+ end if
+ call prim2con(whisky_eos_handle,psi4pt*gxx(i,j,k),&
+ psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),&
+ psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end do
+ end do
+ end do
+
+end subroutine Primitive2ConservativeCells
+
+
+ /*@@
+ @routine Prim2ConservativePolytype
+ @date Tue Mar 19 22:52:21 2002
+ @author Ian Hawke
+ @desc
+ Same as first routine, only for polytropes.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Prim2ConservativePolytype(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4r,psi4l
+
+ !$OMP PARALLEL DO PRIVATE(i, j, gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ !$OMP gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4r,psi4l)
+ do k = whisky_stencil,cctk_lsh(3)-whisky_stencil+1
+ do j = whisky_stencil,cctk_lsh(2)-whisky_stencil+1
+ do i = whisky_stencil,cctk_lsh(1)-whisky_stencil+1
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ if (.not.(conformal_state .eq. 0)) then
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+ gxxr = gxxr * psi4r
+ gxyr = gxyr * psi4r
+ gxzr = gxzr * psi4r
+ gyyr = gyyr * psi4r
+ gyzr = gyzr * psi4r
+ gzzr = gzzr * psi4r
+ gxxl = gxxl * psi4l
+ gxyl = gxyl * psi4l
+ gxzl = gxzl * psi4l
+ gyyl = gyyl * psi4l
+ gyzl = gyzl * psi4l
+ gzzl = gzzl * psi4l
+ end if
+
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+
+ call prim2conpolytype(whisky_eos_handle, gxxl,gxyl,gxzl,&
+ gyyl,gyzl,gzzl, &
+ avg_detl,densminus(i,j,k),sxminus(i,j,k),&
+ syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),rhominus(i,j,k), &
+ velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k),&
+ epsminus(i,j,k),pressminus(i,j,k),w_lorentzminus(i, j, k))
+
+ call prim2conpolytype(whisky_eos_handle, gxxr,gxyr,gxzr,&
+ gyyr,gyzr,gzzr, &
+ avg_detr, densplus(i,j,k),sxplus(i,j,k),&
+ syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
+ rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
+ velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),&
+ w_lorentzplus(i,j,k))
+
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+end subroutine Prim2ConservativePolytype
+
+ /*@@
+ @routine prim2conpolytype
+ @date Sat Jan 26 01:52:18 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Converts from primitive to conservative at a single point
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine prim2conpolytype(handle, gxx, gxy, gxz, gyy, gyz, &
+ gzz, det, ddens, &
+ dsx, dsy, dsz, dtau , drho, dvelx, dvely, dvelz, deps, dpress, w)
+
+ implicit none
+
+ CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, det
+ CCTK_REAL :: ddens, dsx, dsy, dsz, dtau, drho, dvelx, dvely, dvelz,&
+ deps, dpress, w, vlowx, vlowy, vlowz
+ CCTK_INT :: handle
+
+#ifdef _EOS_BASE_INC_
+#undef _EOS_BASE_INC_
+#endif
+#include "EOS_Base.inc"
+
+ w = 1.d0 / sqrt(1.d0 - (gxx*dvelx*dvelx + gyy*dvely*dvely + gzz &
+ *dvelz*dvelz + 2*gxy*dvelx*dvely + 2*gxz*dvelx *dvelz + 2*gyz&
+ *dvely*dvelz))
+
+ dpress = EOS_Pressure(handle, drho, deps)
+ deps = EOS_SpecificIntEnergy(handle, drho, dpress)
+
+ vlowx = gxx*dvelx + gxy*dvely + gxz*dvelz
+ vlowy = gxy*dvelx + gyy*dvely + gyz*dvelz
+ vlowz = gxz*dvelx + gyz*dvely + gzz*dvelz
+
+ ddens = sqrt(det) * drho * w
+ dsx = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowx
+ dsy = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowy
+ dsz = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowz
+ dtau = sqrt(det) * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
+
+end subroutine prim2conpolytype
+
+
+ /*@@
+ @routine Primitive2ConservativePolyCells
+ @date Sun Mar 10 21:16:20 2002
+ @author
+ @desc
+ Wrapper function that converts primitive to conservative at the
+ cell centres.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine Primitive2ConservativePolyCells(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k
+ CCTK_REAL :: det
+
+ do k = whisky_stencil,cctk_lsh(3)-whisky_stencil+1
+ do j = whisky_stencil,cctk_lsh(2)-whisky_stencil+1
+ do i = whisky_stencil,cctk_lsh(1)-whisky_stencil+1
+
+ call SpatialDeterminant(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),&
+ gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),det)
+ call prim2conpolytype(whisky_eos_handle,gxx(i,j,k),gxy(i,j,k),&
+ gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end do
+ end do
+ end do
+
+end subroutine Primitive2ConservativePolyCells
+
+ /*@@
+ @routine Prim2ConservativeTracer
+ @date Mon Mar 8 13:32:32 2004
+ @author Ian Hawke
+ @desc
+ Gets the conserved tracer variable from the primitive.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Prim2ConservativeTracer(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ integer :: i, j, k
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4r,psi4l
+
+ do k = whisky_stencil,cctk_lsh(3)-whisky_stencil+1
+ do j = whisky_stencil,cctk_lsh(2)-whisky_stencil+1
+ do i = whisky_stencil,cctk_lsh(1)-whisky_stencil+1
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ if (.not.(conformal_state .eq. 0)) then
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+ gxxr = gxxr * psi4r
+ gxyr = gxyr * psi4r
+ gxzr = gxzr * psi4r
+ gyyr = gyyr * psi4r
+ gyzr = gyzr * psi4r
+ gzzr = gzzr * psi4r
+ gxxl = gxxl * psi4l
+ gxyl = gxyl * psi4l
+ gxzl = gxzl * psi4l
+ gyyl = gyyl * psi4l
+ gyzl = gyzl * psi4l
+ gzzl = gzzl * psi4l
+ end if
+
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+
+ cons_tracerplus(i,j,k,:) = tracerplus(i,j,k,:) * &
+ sqrt(avg_detr) * rhoplus(i,j,k) / &
+ sqrt(1.d0 - &
+ (gxxr * velxplus(i,j,k)**2 + &
+ gyyr * velyplus(i,j,k)**2 + &
+ gzzr * velzplus(i,j,k)**2 + &
+ 2.d0 * (gxyr * velxplus(i,j,k) * velyplus(i,j,k) + &
+ gxzr * velxplus(i,j,k) * velzplus(i,j,k) + &
+ gyzr * velyplus(i,j,k) * velzplus(i,j,k) ) ) )
+ cons_tracerminus(i,j,k,:) = tracerminus(i,j,k,:) * &
+ sqrt(avg_detl) * rhominus(i,j,k) / &
+ sqrt(1.d0 - &
+ (gxxl * velxminus(i,j,k)**2 + &
+ gyyl * velyminus(i,j,k)**2 + &
+ gzzl * velzminus(i,j,k)**2 + &
+ 2.d0 * (gxyl * velxminus(i,j,k) * velyminus(i,j,k) + &
+ gxzl * velxminus(i,j,k) * velzminus(i,j,k) + &
+ gyzl * velyminus(i,j,k) * velzminus(i,j,k) ) ) )
+
+ end do
+ end do
+ end do
+
+end subroutine Prim2ConservativeTracer
+
+ /*@@
+ @routine primitive2conservativegeneral
+ @date Thu Jan 11 11:03:32 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Converts primitive to conserved variables for the boundary extended data.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine primitive2conservativegeneral(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, j, k, ierr
+ CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl, &
+ gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr,psi4l,psi4r, &
+ vlowx, vlowy, vlowz
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Prim2ConBndCallPlus)
+ ierr = EOS_SetGFs(cctkGH, EOS_Prim2ConBndCallMinus)
+
+ do k = whisky_stencil , cctk_lsh(3) - whisky_stencil + 1
+ do j = whisky_stencil , cctk_lsh(2) - whisky_stencil + 1
+ do i = whisky_stencil , cctk_lsh(1) - whisky_stencil + 1
+
+ gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
+ gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
+ gxzl = 0.5d0 * (gxz(i,j,k) + gxz(i-xoffset,j-yoffset,k-zoffset))
+ gyyl = 0.5d0 * (gyy(i,j,k) + gyy(i-xoffset,j-yoffset,k-zoffset))
+ gyzl = 0.5d0 * (gyz(i,j,k) + gyz(i-xoffset,j-yoffset,k-zoffset))
+ gzzl = 0.5d0 * (gzz(i,j,k) + gzz(i-xoffset,j-yoffset,k-zoffset))
+ gxxr = 0.5d0 * (gxx(i,j,k) + gxx(i+xoffset,j+yoffset,k+zoffset))
+ gxyr = 0.5d0 * (gxy(i,j,k) + gxy(i+xoffset,j+yoffset,k+zoffset))
+ gxzr = 0.5d0 * (gxz(i,j,k) + gxz(i+xoffset,j+yoffset,k+zoffset))
+ gyyr = 0.5d0 * (gyy(i,j,k) + gyy(i+xoffset,j+yoffset,k+zoffset))
+ gyzr = 0.5d0 * (gyz(i,j,k) + gyz(i+xoffset,j+yoffset,k+zoffset))
+ gzzr = 0.5d0 * (gzz(i,j,k) + gzz(i+xoffset,j+yoffset,k+zoffset))
+
+ if (.not.(conformal_state .eq. 0)) then
+ psi4r = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ psi4l = (0.5d0*(psi(i,j,k)+psi(i-xoffset,j-yoffset,k-zoffset)))**4
+ gxxr = gxxr * psi4r
+ gxyr = gxyr * psi4r
+ gxzr = gxzr * psi4r
+ gyyr = gyyr * psi4r
+ gyzr = gyzr * psi4r
+ gzzr = gzzr * psi4r
+ gxxl = gxxl * psi4l
+ gxyl = gxyl * psi4l
+ gxzl = gxzl * psi4l
+ gyyl = gyyl * psi4l
+ gyzl = gyzl * psi4l
+ gzzl = gzzl * psi4l
+ end if
+
+ call SpatialDeterminant(gxxl,gxyl,gxzl,gyyl, gyzl,gzzl,avg_detl)
+ call SpatialDeterminant(gxxr,gxyr,gxzr,gyyr, gyzr,gzzr,avg_detr)
+
+ w_lorentzminus(i,j,k) = 1.d0 / sqrt(1.d0 - &
+ (gxxl * velxminus(i,j,k)**2 + &
+ gyyl * velyminus(i,j,k)**2 + &
+ gzzl * velzminus(i,j,k)**2 + &
+ 2.d0 * gxyl * velxminus(i,j,k) * velyminus(i,j,k) + &
+ 2.d0 * gxzl * velxminus(i,j,k) * velzminus(i,j,k) + &
+ 2.d0 * gyzl * velyminus(i,j,k) * velzminus(i,j,k) ))
+ vlowx = gxxl * velxminus(i,j,k) + &
+ gxyl * velyminus(i,j,k) + &
+ gxzl * velzminus(i,j,k)
+ vlowy = gxyl * velxminus(i,j,k) + &
+ gyyl * velyminus(i,j,k) + &
+ gyzl * velzminus(i,j,k)
+ vlowz = gxzl * velxminus(i,j,k) + &
+ gyzl * velyminus(i,j,k) + &
+ gzzl * velzminus(i,j,k)
+ densminus(i,j,k) = sqrt(avg_detl) * rhominus(i,j,k) * &
+ w_lorentzminus(i,j,k)
+ sxminus(i,j,k) = sqrt(avg_detl) * &
+ ( rhominus(i,j,k) * &
+ (1.d0 + epsminus(i,j,k)) + pressminus(i,j,k) ) * &
+ w_lorentzminus(i,j,k)**2 * vlowx
+ syminus(i,j,k) = sqrt(avg_detl) * &
+ ( rhominus(i,j,k) * &
+ (1.d0 + epsminus(i,j,k)) + pressminus(i,j,k) ) * &
+ w_lorentzminus(i,j,k)**2 * vlowy
+ szminus(i,j,k) = sqrt(avg_detl) * &
+ ( rhominus(i,j,k) * &
+ (1.d0 + epsminus(i,j,k)) + pressminus(i,j,k) ) * &
+ w_lorentzminus(i,j,k)**2 * vlowz
+ tauminus(i,j,k) = sqrt(avg_detl) * &
+ ( ( rhominus(i,j,k) * &
+ (1.d0 + epsminus(i,j,k)) + pressminus(i,j,k) ) * &
+ w_lorentzminus(i,j,k)**2 - pressminus(i,j,k) ) - &
+ densminus(i,j,k)
+
+ w_lorentzplus(i,j,k) = 1.d0 / sqrt(1.d0 - &
+ (gxxr * velxplus(i,j,k)**2 + &
+ gyyr * velyplus(i,j,k)**2 + &
+ gzzr * velzplus(i,j,k)**2 + &
+ 2.d0 * gxyr * velxplus(i,j,k) * velyplus(i,j,k) + &
+ 2.d0 * gxzr * velxplus(i,j,k) * velzplus(i,j,k) + &
+ 2.d0 * gyzr * velyplus(i,j,k) * velzplus(i,j,k) ))
+ vlowx = gxxr * velxplus(i,j,k) + &
+ gxyr * velyplus(i,j,k) + &
+ gxzr * velzplus(i,j,k)
+ vlowy = gxyr * velxplus(i,j,k) + &
+ gyyr * velyplus(i,j,k) + &
+ gyzr * velzplus(i,j,k)
+ vlowz = gxzr * velxplus(i,j,k) + &
+ gyzr * velyplus(i,j,k) + &
+ gzzr * velzplus(i,j,k)
+ densplus(i,j,k) = sqrt(avg_detr) * rhoplus(i,j,k) * &
+ w_lorentzplus(i,j,k)
+ sxplus(i,j,k) = sqrt(avg_detr) * &
+ ( rhoplus(i,j,k) * &
+ (1.d0 + epsplus(i,j,k)) + pressplus(i,j,k) ) * &
+ w_lorentzplus(i,j,k)**2 * vlowx
+ syplus(i,j,k) = sqrt(avg_detr) * &
+ ( rhoplus(i,j,k) * &
+ (1.d0 + epsplus(i,j,k)) + pressplus(i,j,k) ) * &
+ w_lorentzplus(i,j,k)**2 * vlowy
+ szplus(i,j,k) = sqrt(avg_detr) * &
+ ( rhoplus(i,j,k) * &
+ (1.d0 + epsplus(i,j,k)) + pressplus(i,j,k) ) * &
+ w_lorentzplus(i,j,k)**2 * vlowz
+ tauplus(i,j,k) = sqrt(avg_detr) * &
+ ( ( rhoplus(i,j,k) * &
+ (1.d0 + epsplus(i,j,k)) + pressplus(i,j,k) ) * &
+ w_lorentzplus(i,j,k)**2 - pressplus(i,j,k) ) - &
+ densplus(i,j,k)
+
+ end do
+ end do
+ end do
+
+end subroutine primitive2conservativegeneral
+
+ /*@@
+ @routine Primitive2ConservativeCellsGeneral
+ @date Thu Jan 11 11:03:32 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Converts primitive to conserved variables for the boundary extended data.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Primitive2ConservativeCellsGeneral(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i, j, k, ierr
+ CCTK_REAL :: det,psi4pt,gxxpt,gxypt,gxzpt,gyypt,gyzpt,gzzpt, &
+ vlowx, vlowy, vlowz
+
+ ierr = EOS_SetGFs(cctkGH, EOS_Prim2ConCellsCall)
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil + 1
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil + 1
+
+ gxxpt = gxx(i,j,k)
+ gxypt = gxy(i,j,k)
+ gxzpt = gxz(i,j,k)
+ gyypt = gyy(i,j,k)
+ gyzpt = gyz(i,j,k)
+ gzzpt = gzz(i,j,k)
+
+ if (.not.(conformal_state .eq. 0)) then
+ psi4pt = psi(i,j,k)**4
+ gxxpt = gxxpt * psi4pt
+ gxypt = gxypt * psi4pt
+ gxzpt = gxzpt * psi4pt
+ gyypt = gyypt * psi4pt
+ gyzpt = gyzpt * psi4pt
+ gzzpt = gzzpt * psi4pt
+ end if
+
+ call SpatialDeterminant(gxxpt,gxypt,gxzpt,gyypt,gyzpt,gzzpt,det)
+
+ w_lorentz(i,j,k) = 1.d0 / sqrt(1.d0 - &
+ (gxxpt * velx(i,j,k)**2 + &
+ gyypt * vely(i,j,k)**2 + &
+ gzzpt * velz(i,j,k)**2 + &
+ 2.d0 * gxypt * velx(i,j,k) * vely(i,j,k) + &
+ 2.d0 * gxzpt * velx(i,j,k) * velz(i,j,k) + &
+ 2.d0 * gyzpt * vely(i,j,k) * velz(i,j,k) ))
+ vlowx = gxxpt * velx(i,j,k) + &
+ gxypt * vely(i,j,k) + &
+ gxzpt * velz(i,j,k)
+ vlowy = gxypt * velx(i,j,k) + &
+ gyypt * vely(i,j,k) + &
+ gyzpt * velz(i,j,k)
+ vlowz = gxzpt * velx(i,j,k) + &
+ gyzpt * vely(i,j,k) + &
+ gzzpt * velz(i,j,k)
+ dens(i,j,k) = sqrt(det) * rho(i,j,k) * &
+ w_lorentz(i,j,k)
+ sx(i,j,k) = sqrt(det) * &
+ ( rho(i,j,k) * &
+ (1.d0 + eps(i,j,k)) + press(i,j,k) ) * &
+ w_lorentz(i,j,k)**2 * vlowx
+ sy(i,j,k) = sqrt(det) * &
+ ( rho(i,j,k) * &
+ (1.d0 + eps(i,j,k)) + press(i,j,k) ) * &
+ w_lorentz(i,j,k)**2 * vlowy
+ sz(i,j,k) = sqrt(det) * &
+ ( rho(i,j,k) * &
+ (1.d0 + eps(i,j,k)) + press(i,j,k) ) * &
+ w_lorentz(i,j,k)**2 * vlowz
+ tau(i,j,k) = sqrt(det) * &
+ ( ( rho(i,j,k) * &
+ (1.d0 + eps(i,j,k)) + press(i,j,k) ) * &
+ w_lorentz(i,j,k)**2 - press(i,j,k) ) - &
+ dens(i,j,k)
+
+ end do
+ end do
+ end do
+
+end subroutine Primitive2ConservativeCellsGeneral
diff --git a/src/Whisky_Reconstruct.F90 b/src/Whisky_Reconstruct.F90
new file mode 100644
index 0000000..e2bd520
--- /dev/null
+++ b/src/Whisky_Reconstruct.F90
@@ -0,0 +1,591 @@
+ /*@@
+ @file Whisky_Reconstruct.F90
+ @date Sat Jan 26 02:13:25 2002
+ @author
+ @desc
+ Wrapper routine to perform the reconstruction.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+#define sx(i,j,k) scon(i,j,k,1)
+#define sy(i,j,k) scon(i,j,k,2)
+#define sz(i,j,k) scon(i,j,k,3)
+
+
+ /*@@
+ @routine Reconstruction
+ @date Sat Jan 26 02:13:47 2002
+ @author Luca Baiotti, Ian Hawke
+ @desc
+ A wrapper routine to do reconstruction. Currently just does
+ TVD on the primitive variables.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Reconstruction(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: nx, ny, nz, i, j, k, itracer
+
+ logical, dimension(:,:,:), allocatable :: trivial_rp
+!!$ logical, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: trivial_rp
+
+ CCTK_INT :: type_bitsx, trivialx, not_trivialx, &
+ &type_bitsy, trivialy, not_trivialy, &
+ &type_bitsz, trivialz, not_trivialz
+
+ CCTK_INT, dimension(3) :: excision_descriptors
+ CCTK_REAL, dimension(:,:,:),allocatable :: &
+ &psi4, lbetax, lbetay, lbetaz
+!!$ CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: &
+!!$ &psi4, lbetax, lbetay, lbetaz
+
+ CCTK_INT :: ierr
+
+ CCTK_REAL :: local_min_tracer
+
+ allocate(trivial_rp(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),STAT=ierr)
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Allocation problems with trivial_rp")
+ end if
+
+ allocate(psi4(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ lbetax(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ lbetay(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ lbetaz(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),STAT=ierr)
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Allocation problems with lbeta")
+ end if
+
+ excision_descriptors(1)=-1
+ excision_descriptors(2)=-1
+ excision_descriptors(3)=-1
+
+ call SpaceMask_GetTypeBits(type_bitsx, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivialx, "Hydro_RiemannProblemX", &
+ &"trivial")
+ call SpaceMask_GetStateBits(not_trivialx, "Hydro_RiemannProblemX", &
+ &"not_trivial")
+ call SpaceMask_GetTypeBits(type_bitsy, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivialy, "Hydro_RiemannProblemY", &
+ &"trivial")
+ call SpaceMask_GetStateBits(not_trivialy, "Hydro_RiemannProblemY", &
+ &"not_trivial")
+ call SpaceMask_GetTypeBits(type_bitsz, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivialz, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ call SpaceMask_GetStateBits(not_trivialz, "Hydro_RiemannProblemZ", &
+ &"not_trivial")
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ trivial_rp = .false.
+
+!!$ Currently only option is reconstruction on primitive variables.
+!!$ Should change this.
+
+ if (conformal_state .eq. 0) then
+ psi4 = 1.d0
+ else
+ psi4 = psi**4
+ end if
+ if (shift_state .ne. 0) then
+ lbetax = betax
+ lbetay = betay
+ lbetaz = betaz
+ else
+ lbetax = 0.d0
+ lbetay = 0.d0
+ lbetaz = 0.d0
+ end if
+
+!!$ Initialize variables that store reconstructed quantities
+
+ rhoplus = 0.0d0
+ rhominus = 0.0d0
+ epsplus = 0.0d0
+ epsminus = 0.0d0
+ velxplus = 0.0d0
+ velxminus = 0.0d0
+ velyplus = 0.0d0
+ velyminus = 0.0d0
+ velzplus = 0.0d0
+ velzminus = 0.0d0
+
+ if (evolve_tracer .ne. 0) then
+ tracerplus = 0.0d0
+ tracerminus = 0.0d0
+ endif
+
+ if (CCTK_EQUALS(recon_method,"tvd")) then
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ tracer(:,:,:,itracer), tracerplus(:,:,:,itracer), &
+ tracerminus(:,:,:,itracer), &
+ trivial_rp, space_mask, excision_descriptors)
+ enddo
+ end if
+
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ rho, rhoplus, rhominus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ vel(:,:,:,1), velxplus, velxminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ vel(:,:,:,2), velyplus, velyminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ vel(:,:,:,3), velzplus, velzminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ eps, epsplus, epsminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ dens, densplus, densminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ scon(:,:,:,1), sxplus, sxminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ scon(:,:,:,2), syplus, syminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ scon(:,:,:,3), szplus, szminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ tau, tauplus, tauminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+ if (trivial_rp(i,j,k)) then
+ if (flux_direction == 1) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, trivialx)
+ else if (flux_direction == 2) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsy, trivialy)
+ else if (flux_direction == 3) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsz, trivialz)
+ end if
+ else
+ if (flux_direction == 1) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, not_trivialx)
+ else if (flux_direction == 2) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsy, not_trivialy)
+ else if (flux_direction == 3) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsz, not_trivialz)
+ end if
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+ else if (CCTK_EQUALS(recon_method,"ppm")) then
+
+ if (flux_direction == 1) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ call SimplePPM_1d(whisky_eos_handle,0,nx,CCTK_DELTA_SPACE(1),&
+ rho(:,j,k),velx(:,j,k),vely(:,j,k),velz(:,j,k),eps(:,j,k),&
+ press(:,j,k),rhominus(:,j,k),velxminus(:,j,k),velyminus(:,j,k),&
+ velzminus(:,j,k),epsminus(:,j,k),rhoplus(:,j,k),&
+ velxplus(:,j,k),velyplus(:,j,k),velzplus(:,j,k),epsplus(:,j,k),&
+ trivial_rp(:,j,k),space_mask(:,j,k), &
+ excision_descriptors,&
+ gxx(:,j,k), gxy(:,j,k), gxz(:,j,k), gyy(:,j,k), gyz(:,j,k), &
+ gzz(:,j,k), psi4(:,j,k), lbetax(:,j,k), alp(:,j,k),&
+ w_lorentz(:,j,k), &
+ 1, j, k, nx, ny, nz, whisky_mppm_eigenvalue_x_left, &
+ whisky_mppm_eigenvalue_x_right, &
+ whisky_mppm_xwind)
+ do i = 1, nx
+ if (trivial_rp(i,j,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, trivialx)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, not_trivialx)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ if(evolve_tracer.ne.0) then
+ !$OMP PARALLEL DO PRIVATE(j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ call SimplePPM_tracer_1d(nx,CCTK_DELTA_SPACE(1),rho(:,j,k), &
+ velx(:,j,k),vely(:,j,k),velz(:,j,k), &
+ tracer(:,j,k,:),tracerminus(:,j,k,:),tracerplus(:,j,k,:), &
+ press(:,j,k))
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ else if (flux_direction == 2) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+ call SimplePPM_1d(whisky_eos_handle,0,ny,CCTK_DELTA_SPACE(2),&
+ rho(j,:,k),vely(j,:,k),velz(j,:,k),velx(j,:,k),eps(j,:,k),&
+ press(j,:,k),rhominus(j,:,k),velyminus(j,:,k),velzminus(j,:,k),&
+ velxminus(j,:,k),epsminus(j,:,k),rhoplus(j,:,k),&
+ velyplus(j,:,k),velzplus(j,:,k),velxplus(j,:,k),epsplus(j,:,k),&
+ trivial_rp(j,:,k),space_mask(j,:,k), &
+ excision_descriptors,&
+ gyy(j,:,k), gyz(j,:,k), gxy(j,:,k), gzz(j,:,k), gxz(j,:,k), &
+ gxx(j,:,k), psi4(j,:,k), lbetay(j,:,k), alp(j,:,k),&
+ w_lorentz(j,:,k), &
+ 2, j, k, nx, ny, nz, whisky_mppm_eigenvalue_y_left, &
+ whisky_mppm_eigenvalue_y_right, &
+ whisky_mppm_xwind)
+ do i = 1, ny
+ if (trivial_rp(j,i,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, trivialy)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, not_trivialy)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ if(evolve_tracer.ne.0) then
+ !$OMP PARALLEL DO PRIVATE(j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+ call SimplePPM_tracer_1d(ny,CCTK_DELTA_SPACE(2),rho(j,:,k), &
+ vely(j,:,k),velz(j,:,k),velx(j,:,k), &
+ tracer(j,:,k,:),tracerminus(j,:,k,:),tracerplus(j,:,k,:), &
+ press(j,:,k))
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ else if (flux_direction == 3) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, ny - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+ call SimplePPM_1d(whisky_eos_handle,0,nz,CCTK_DELTA_SPACE(3),&
+ rho(j,k,:),velz(j,k,:),velx(j,k,:),vely(j,k,:),eps(j,k,:),&
+ press(j,k,:),rhominus(j,k,:),velzminus(j,k,:),velxminus(j,k,:),&
+ velyminus(j,k,:),epsminus(j,k,:),rhoplus(j,k,:),&
+ velzplus(j,k,:),velxplus(j,k,:),velyplus(j,k,:),epsplus(j,k,:),&
+ trivial_rp(j,k,:),space_mask(j,k,:), &
+ excision_descriptors,&
+ gzz(j,k,:), gxz(j,k,:), gyz(j,k,:), gxx(j,k,:), gxy(j,k,:), &
+ gyy(j,k,:), psi4(j,k,:), lbetaz(j,k,:), alp(j,k,:),&
+ w_lorentz(j,k,:), &
+ 3, j, k, nx, ny, nz, whisky_mppm_eigenvalue_z_left, &
+ whisky_mppm_eigenvalue_z_right, &
+ whisky_mppm_xwind)
+ do i = 1, nz
+ if (trivial_rp(j,k,i)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, trivialz)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, not_trivialz)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ if(evolve_tracer.ne.0) then
+ !$OMP PARALLEL DO PRIVATE(j)
+ do k = whisky_stencil, ny - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+
+ call SimplePPM_tracer_1d(nz,CCTK_DELTA_SPACE(3),rho(j,k,:), &
+ velz(j,k,:),velx(j,k,:),vely(j,k,:), &
+ tracer(j,k,:,:),tracerminus(j,k,:,:),tracerplus(j,k,:,:), &
+ press(j,k,:))
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else if (CCTK_EQUALS(recon_method,"eno")) then
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ tracer(:,:,:,itracer), tracerplus(:,:,:,itracer), &
+ tracerminus(:,:,:,itracer), trivial_rp, &
+ space_mask, excision_descriptors)
+ enddo
+ end if
+
+ if (flux_direction == 1) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil + 1
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ rho(:,j,k),rhominus(:,j,k),rhoplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ velx(:,j,k),velxminus(:,j,k),velxplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ vely(:,j,k),velyminus(:,j,k),velyplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ velz(:,j,k),velzminus(:,j,k),velzplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ eps(:,j,k),epsminus(:,j,k),epsplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ dens(:,j,k),densminus(:,j,k),densplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ sx(:,j,k),sxminus(:,j,k),sxplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ sy(:,j,k),syminus(:,j,k),syplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ sz(:,j,k),szminus(:,j,k),szplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ tau(:,j,k),tauminus(:,j,k),tauplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+ do i = 1, cctk_lsh(1)
+ if (trivial_rp(i,j,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, trivialx)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, not_trivialx)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ else if (flux_direction == 2) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(1) - whisky_stencil + 1
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ rho(j,:,k),rhominus(j,:,k),rhoplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ velx(j,:,k),velxminus(j,:,k),velxplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ vely(j,:,k),velyminus(j,:,k),velyplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ velz(j,:,k),velzminus(j,:,k),velzplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ eps(j,:,k),epsminus(j,:,k),epsplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ dens(j,:,k),densminus(j,:,k),densplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ sx(j,:,k),sxminus(j,:,k),sxplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ sy(j,:,k),syminus(j,:,k),syplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ sz(j,:,k),szminus(j,:,k),szplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ tau(j,:,k),tauminus(j,:,k),tauplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+ do i = 1, cctk_lsh(2)
+ if (trivial_rp(j,i,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, trivialy)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, not_trivialy)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ else if (flux_direction == 3) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, cctk_lsh(2) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(1) - whisky_stencil + 1
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ rho(j,k,:),rhominus(j,k,:),rhoplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ velx(j,k,:),velxminus(j,k,:),velxplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ vely(j,k,:),velyminus(j,k,:),velyplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ velz(j,k,:),velzminus(j,k,:),velzplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ eps(j,k,:),epsminus(j,k,:),epsplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ dens(j,k,:),densminus(j,k,:),densplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ sx(j,k,:),sxminus(j,k,:),sxplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ sy(j,k,:),syminus(j,k,:),syplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ sz(j,k,:),szminus(j,k,:),szplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ tau(j,k,:),tauminus(j,k,:),tauplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+ do i = 1, cctk_lsh(3)
+ if (trivial_rp(j,k,i)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, trivialz)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, not_trivialz)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ call CCTK_WARN(0, "Reconstruction method not recognized!")
+ end if
+
+ deallocate(trivial_rp)
+ deallocate(psi4, lbetax, lbetay, lbetaz)
+
+ !$OMP WORKSHARE
+ where ( (rhoplus < whisky_rho_min).or.(rhominus < whisky_rho_min).or.&
+ (epsplus < 0.d0).or.(epsminus < 0.d0) )
+ rhoplus = rho
+ rhominus = rho
+ velxplus = vel(:,:,:,1)
+ velxminus = vel(:,:,:,1)
+ velyplus = vel(:,:,:,2)
+ velyminus = vel(:,:,:,2)
+ velzplus = vel(:,:,:,3)
+ velzminus = vel(:,:,:,3)
+ epsplus = eps
+ epsminus = eps
+ end where
+ !$OMP END WORKSHARE
+
+ if (evolve_tracer .ne. 0) then
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+ !$OMP WORKSHARE
+ where( (tracerplus .le. local_min_tracer).or.&
+ (tracerminus .le. local_min_tracer) )
+ tracerplus = tracer
+ tracerminus = tracer
+ end where
+ !$OMP END WORKSHARE
+ ! Call the conserved tracer routine in any case because (accord. to
+ ! Christian Ott) this is the only way this works
+ call Prim2ConservativeTracer(CCTK_PASS_FTOF)
+ endif
+
+ if (CCTK_EQUALS(recon_vars,"primitive").or.&
+ CCTK_EQUALS(recon_method,"ppm")) then
+ if (use_eosgeneral == 0) then
+ call primitive2conservative(CCTK_PASS_FTOF)
+ else
+ call primitive2conservativegeneral(CCTK_PASS_FTOF)
+ end if
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Conservative2PrimitiveBounds(CCTK_PASS_FTOF)
+ else
+ call CCTK_WARN(0,"Variable type to reconstruct not recognized.")
+ end if
+
+ return
+
+end subroutine Reconstruction
+
diff --git a/src/Whisky_ReconstructPoly.F90 b/src/Whisky_ReconstructPoly.F90
new file mode 100644
index 0000000..fce30c3
--- /dev/null
+++ b/src/Whisky_ReconstructPoly.F90
@@ -0,0 +1,564 @@
+ /*@@
+ @file Whisky_ReconstructPoly.F90
+ @date Sat Jan 26 02:13:25 2002
+ @author
+ @desc
+ Wrapper routine to perform the reconstruction for polytropes.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+#define sx(i,j,k) scon(i,j,k,1)
+#define sy(i,j,k) scon(i,j,k,2)
+#define sz(i,j,k) scon(i,j,k,3)
+
+
+ /*@@
+ @routine ReconstructionPolytype
+ @date Tue Mar 19 11:36:55 2002
+ @author Ian Hawke
+ @desc
+ If using a polytropic type EOS, we do not have to reconstruct all the
+ variables.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine ReconstructionPolytype(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: nx, ny, nz, i, j, k, itracer
+
+ logical, dimension(:,:,:), allocatable :: trivial_rp
+!!$ logical, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: trivial_rp
+
+ CCTK_INT :: type_bitsx, trivialx, not_trivialx, &
+ &type_bitsy, trivialy, not_trivialy, &
+ &type_bitsz, trivialz, not_trivialz
+
+ CCTK_INT, dimension(3) :: excision_descriptors
+ CCTK_REAL, dimension(:,:,:),allocatable :: &
+ &psi4, lbetax, lbetay, lbetaz
+!!$ CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: &
+!!$ &psi4, lbetax, lbetay, lbetaz
+
+ CCTK_INT :: ierr
+
+ CCTK_REAL :: local_min_tracer
+
+ allocate(trivial_rp(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),STAT=ierr)
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Allocation problems with trivial_rp")
+ end if
+
+ allocate(psi4(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ lbetax(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ lbetay(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),&
+ lbetaz(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),STAT=ierr)
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Allocation problems with lbeta")
+ end if
+
+ excision_descriptors(1)=-1
+ excision_descriptors(2)=-1
+ excision_descriptors(3)=-1
+
+ call SpaceMask_GetTypeBits(type_bitsx, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivialx, "Hydro_RiemannProblemX", &
+ &"trivial")
+ call SpaceMask_GetStateBits(not_trivialx, "Hydro_RiemannProblemX", &
+ &"not_trivial")
+ call SpaceMask_GetTypeBits(type_bitsy, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivialy, "Hydro_RiemannProblemY", &
+ &"trivial")
+ call SpaceMask_GetStateBits(not_trivialy, "Hydro_RiemannProblemY", &
+ &"not_trivial")
+ call SpaceMask_GetTypeBits(type_bitsz, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivialz, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ call SpaceMask_GetStateBits(not_trivialz, "Hydro_RiemannProblemZ", &
+ &"not_trivial")
+
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+
+ trivial_rp = .false.
+
+!!$ Currently only option is reconstruction on primitive variables.
+!!$ Should change this.
+
+ if (conformal_state .eq. 0) then
+ psi4 = 1.d0
+ else
+ psi4 = psi**4
+ end if
+ if (shift_state .ne. 0) then
+ lbetax = betax
+ lbetay = betay
+ lbetaz = betaz
+ else
+ lbetax = 0.d0
+ lbetay = 0.d0
+ lbetaz = 0.d0
+ end if
+
+!!$ Initialize variables that store reconstructed quantities
+
+ rhoplus = 0.0d0
+ rhominus = 0.0d0
+ epsplus = 0.0d0
+ epsminus = 0.0d0
+ velxplus = 0.0d0
+ velxminus = 0.0d0
+ velyplus = 0.0d0
+ velyminus = 0.0d0
+ velzplus = 0.0d0
+ velzminus = 0.0d0
+
+ if (evolve_tracer .ne. 0) then
+ tracerplus = 0.0d0
+ tracerminus = 0.0d0
+ endif
+
+ if (CCTK_EQUALS(recon_method,"tvd")) then
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ tracer(:,:,:,itracer), tracerplus(:,:,:,itracer), &
+ tracerminus(:,:,:,itracer), &
+ trivial_rp, space_mask, excision_descriptors)
+ enddo
+ end if
+
+
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ rho, rhoplus, rhominus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ vel(:,:,:,1), velxplus, velxminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ vel(:,:,:,2), velyplus, velyminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ vel(:,:,:,3), velzplus, velzminus, trivial_rp, space_mask, &
+ excision_descriptors)
+
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ dens, densplus, densminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ scon(:,:,:,1), sxplus, sxminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ scon(:,:,:,2), syplus, syminus, trivial_rp, space_mask, &
+ excision_descriptors)
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ scon(:,:,:,3), szplus, szminus, trivial_rp, space_mask, &
+ excision_descriptors)
+
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = 1, nz
+ do j = 1, ny
+ do i = 1, nx
+ if (trivial_rp(i,j,k)) then
+ if (flux_direction == 1) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, trivialx)
+ else if (flux_direction == 2) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsy, trivialy)
+ else if (flux_direction == 3) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsz, trivialz)
+ end if
+ else
+ if (flux_direction == 1) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, not_trivialx)
+ else if (flux_direction == 2) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsy, not_trivialy)
+ else if (flux_direction == 3) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsz, not_trivialz)
+ end if
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+ else if (CCTK_EQUALS(recon_method,"ppm")) then
+
+ if (flux_direction == 1) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ call SimplePPM_1d(whisky_eos_handle,1,nx,CCTK_DELTA_SPACE(1),&
+ rho(:,j,k),velx(:,j,k),vely(:,j,k),velz(:,j,k),eps(:,j,k),&
+ press(:,j,k),rhominus(:,j,k),velxminus(:,j,k),velyminus(:,j,k),&
+ velzminus(:,j,k),epsminus(:,j,k),rhoplus(:,j,k),&
+ velxplus(:,j,k),velyplus(:,j,k),velzplus(:,j,k),epsplus(:,j,k),&
+ trivial_rp(:,j,k),space_mask(:,j,k), &
+ excision_descriptors,&
+ gxx(:,j,k), gxy(:,j,k), gxz(:,j,k), gyy(:,j,k), gyz(:,j,k), &
+ gzz(:,j,k), psi4(:,j,k), lbetax(:,j,k), alp(:,j,k),&
+ w_lorentz(:,j,k), &
+ 1, j, k, nx, ny, nz, whisky_mppm_eigenvalue_x_left, &
+ whisky_mppm_eigenvalue_x_right, &
+ whisky_mppm_xwind)
+ do i = 1, nx
+ if (trivial_rp(i,j,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, trivialx)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, not_trivialx)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ if(evolve_tracer.ne.0) then
+ !$OMP PARALLEL DO PRIVATE(j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, ny - whisky_stencil + 1
+ call SimplePPM_tracer_1d(nx,CCTK_DELTA_SPACE(1),rho(:,j,k), &
+ velx(:,j,k),vely(:,j,k),velz(:,j,k), &
+ tracer(:,j,k,:),tracerminus(:,j,k,:),tracerplus(:,j,k,:), &
+ press(:,j,k))
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ else if (flux_direction == 2) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+ call SimplePPM_1d(whisky_eos_handle,1,ny,CCTK_DELTA_SPACE(2),&
+ rho(j,:,k),vely(j,:,k),velz(j,:,k),velx(j,:,k),eps(j,:,k),&
+ press(j,:,k),rhominus(j,:,k),velyminus(j,:,k),velzminus(j,:,k),&
+ velxminus(j,:,k),epsminus(j,:,k),rhoplus(j,:,k),&
+ velyplus(j,:,k),velzplus(j,:,k),velxplus(j,:,k),epsplus(j,:,k),&
+ trivial_rp(j,:,k),space_mask(j,:,k), &
+ excision_descriptors,&
+ gyy(j,:,k), gyz(j,:,k), gxy(j,:,k), gzz(j,:,k), gxz(j,:,k), &
+ gxx(j,:,k), psi4(j,:,k), lbetay(j,:,k), alp(j,:,k),&
+ w_lorentz(j,:,k), &
+ 2, j, k, nx, ny, nz, whisky_mppm_eigenvalue_y_left, &
+ whisky_mppm_eigenvalue_y_right, &
+ whisky_mppm_xwind)
+ do i = 1, ny
+ if (trivial_rp(j,i,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, trivialy)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, not_trivialy)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ if(evolve_tracer.ne.0) then
+ !$OMP PARALLEL DO PRIVATE(j)
+ do k = whisky_stencil, nz - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+ call SimplePPM_tracer_1d(ny,CCTK_DELTA_SPACE(2),rho(j,:,k), &
+ vely(j,:,k),velz(j,:,k),velx(j,:,k), &
+ tracer(j,:,k,:),tracerminus(j,:,k,:),tracerplus(j,:,k,:), &
+ press(j,:,k))
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ else if (flux_direction == 3) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, ny - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+ call SimplePPM_1d(whisky_eos_handle,1,nz,CCTK_DELTA_SPACE(3),&
+ rho(j,k,:),velz(j,k,:),velx(j,k,:),vely(j,k,:),eps(j,k,:),&
+ press(j,k,:),rhominus(j,k,:),velzminus(j,k,:),velxminus(j,k,:),&
+ velyminus(j,k,:),epsminus(j,k,:),rhoplus(j,k,:),&
+ velzplus(j,k,:),velxplus(j,k,:),velyplus(j,k,:),epsplus(j,k,:),&
+ trivial_rp(j,k,:),space_mask(j,k,:), &
+ excision_descriptors,&
+ gzz(j,k,:), gxz(j,k,:), gyz(j,k,:), gxx(j,k,:), gxy(j,k,:), &
+ gyy(j,k,:), psi4(j,k,:), lbetaz(j,k,:), alp(j,k,:),&
+ w_lorentz(j,k,:), &
+ 3, j, k, nx, ny, nz, whisky_mppm_eigenvalue_z_left, &
+ whisky_mppm_eigenvalue_z_right, &
+ whisky_mppm_xwind)
+ do i = 1, nz
+ if (trivial_rp(j,k,i)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, trivialz)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, not_trivialz)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ if(evolve_tracer.ne.0) then
+ !$OMP PARALLEL DO PRIVATE(j)
+ do k = whisky_stencil, ny - whisky_stencil + 1
+ do j = whisky_stencil, nx - whisky_stencil + 1
+
+ call SimplePPM_tracer_1d(nz,CCTK_DELTA_SPACE(3),rho(j,k,:), &
+ velz(j,k,:),velx(j,k,:),vely(j,k,:), &
+ tracer(j,k,:,:),tracerminus(j,k,:,:),tracerplus(j,k,:,:), &
+ press(j,k,:))
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else if (CCTK_EQUALS(recon_method,"eno")) then
+
+ if (evolve_tracer .ne. 0) then
+ do itracer=1,number_of_tracers
+ call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ tracer(:,:,:,itracer), tracerplus(:,:,:,itracer), &
+ tracerminus(:,:,:,itracer), trivial_rp, &
+ space_mask, excision_descriptors)
+ enddo
+ end if
+
+ if (flux_direction == 1) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil + 1
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ rho(:,j,k),rhominus(:,j,k),rhoplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ velx(:,j,k),velxminus(:,j,k),velxplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ vely(:,j,k),velyminus(:,j,k),velyplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ velz(:,j,k),velzminus(:,j,k),velzplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ dens(:,j,k),densminus(:,j,k),densplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ sx(:,j,k),sxminus(:,j,k),sxplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ sy(:,j,k),syminus(:,j,k),syplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(1),&
+ sz(:,j,k),szminus(:,j,k),szplus(:,j,k),&
+ trivial_rp(:,j,k), space_mask(:,j,k), &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+ do i = 1, cctk_lsh(1)
+ if (trivial_rp(i,j,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, trivialx)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bitsx, not_trivialx)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ else if (flux_direction == 2) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(1) - whisky_stencil + 1
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ rho(j,:,k),rhominus(j,:,k),rhoplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ velx(j,:,k),velxminus(j,:,k),velxplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ vely(j,:,k),velyminus(j,:,k),velyplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ velz(j,:,k),velzminus(j,:,k),velzplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ dens(j,:,k),densminus(j,:,k),densplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ sx(j,:,k),sxminus(j,:,k),sxplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ sy(j,:,k),syminus(j,:,k),syplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(2),&
+ sz(j,:,k),szminus(j,:,k),szplus(j,:,k),&
+ trivial_rp(j,:,k), space_mask(j,:,k), &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+ do i = 1, cctk_lsh(2)
+ if (trivial_rp(j,i,k)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, trivialy)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, i, k, type_bitsy, not_trivialy)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ else if (flux_direction == 3) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = whisky_stencil, cctk_lsh(2) - whisky_stencil + 1
+ do j = whisky_stencil, cctk_lsh(1) - whisky_stencil + 1
+ if (CCTK_EQUALS(recon_vars,"primitive")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ rho(j,k,:),rhominus(j,k,:),rhoplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ velx(j,k,:),velxminus(j,k,:),velxplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ vely(j,k,:),velyminus(j,k,:),velyplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ velz(j,k,:),velzminus(j,k,:),velzplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ dens(j,k,:),densminus(j,k,:),densplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ sx(j,k,:),sxminus(j,k,:),sxplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ sy(j,k,:),syminus(j,k,:),syplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ call Whisky_ENOReconstruct1d(eno_order,cctk_lsh(3),&
+ sz(j,k,:),szminus(j,k,:),szplus(j,k,:),&
+ trivial_rp(j,k,:), space_mask(j,k,:), &
+ excision_descriptors)
+ else
+ call CCTK_WARN(0, "Variable type to reconstruct not recognized.")
+ end if
+ do i = 1, cctk_lsh(3)
+ if (trivial_rp(j,k,i)) then
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, trivialz)
+ else
+ SpaceMask_SetStateBitsF90(space_mask, j, k, i, type_bitsz, not_trivialz)
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ call CCTK_WARN(0, "Reconstruction method not recognized!")
+ end if
+
+ deallocate(trivial_rp)
+ deallocate(psi4, lbetax, lbetay, lbetaz)
+
+ !$OMP WORKSHARE
+ where ( (rhoplus < whisky_rho_min).or.(rhominus < whisky_rho_min).or.&
+ (epsplus < 0.d0).or.(epsminus < 0.d0) )
+ rhoplus = rho
+ rhominus = rho
+ velxplus = vel(:,:,:,1)
+ velxminus = vel(:,:,:,1)
+ velyplus = vel(:,:,:,2)
+ velyminus = vel(:,:,:,2)
+ velzplus = vel(:,:,:,3)
+ velzminus = vel(:,:,:,3)
+ epsplus = eps
+ epsminus = eps
+ end where
+ !$OMP END WORKSHARE
+
+ if (evolve_tracer .ne. 0) then
+ if (use_min_tracer .ne. 0) then
+ local_min_tracer = min_tracer
+ else
+ local_min_tracer = 0d0
+ end if
+
+ !$OMP WORKSHARE
+ where( (tracerplus .le. local_min_tracer).or.&
+ (tracerminus .le. local_min_tracer) )
+ tracerplus = tracer
+ tracerminus = tracer
+ end where
+ !$OMP END WORKSHARE
+ ! Call the conserved tracer routine in any case because (accord. to
+ ! Christian Ott) this is the only way this works
+ call Prim2ConservativeTracer(CCTK_PASS_FTOF)
+ endif
+
+ if (CCTK_EQUALS(recon_vars,"primitive").or.&
+ CCTK_EQUALS(recon_method,"ppm")) then
+ if (use_eosgeneral == 0) then
+ call Prim2ConservativePolytype(CCTK_PASS_FTOF)
+ else
+ call primitive2conservativegeneral(CCTK_PASS_FTOF)
+ end if
+ else if (CCTK_EQUALS(recon_vars,"conservative")) then
+ call Con2PrimBoundsPolytype(CCTK_PASS_FTOF)
+ else
+ call CCTK_WARN(0,"Variable type to reconstruct not recognized.")
+ end if
+
+ return
+
+end subroutine ReconstructionPolytype
+
diff --git a/src/Whisky_RegisterGZ.cc b/src/Whisky_RegisterGZ.cc
new file mode 100644
index 0000000..e525d52
--- /dev/null
+++ b/src/Whisky_RegisterGZ.cc
@@ -0,0 +1,92 @@
+// register.cc -- register variables with various thorns that need-to-know
+// $Header$
+//
+// Whisky_register_GZPatchSystem - register with GZPatchSystem
+//
+// Cut 'n paste job from BackgroundWaveToy, author J Thornburg...
+
+#include <cstdio>
+#include <string>
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+
+using namespace std;
+
+//******************************************************************************
+
+//
+// This function is called by the Cactus scheduler to (maybe) register
+// our to-be-interpatch-synchronized variables with GZPatchSystem. It
+// checks if the GZPatchSystem registration function has been provided
+// (which it should be if and only if GZPatchSystem is active), and if so,
+// does the registration.
+//
+// If we're using Carpet, this function must be called in meta mode.
+//
+extern "C"void Whisky_register_GZPatchSystem(CCTK_ARGUMENTS)
+{
+
+ if (CCTK_IsFunctionAliased("GZPatchSystem_register_sync"))
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,
+ "registering to-be-interpatch-synchronized variables "
+ "with GZPatchSystem");
+
+ string var[8] = {"HydroBase::rho", "HydroBase::press", "HydroBase::eps",
+ "HydroBase::vel",
+ "Whisky::dens", "Whisky::tau", "Whisky::w_lorentz",
+ "Whisky::scon"};
+ for (int i = 0; i < 8; i++)
+ {
+ int status =
+ GZPatchSystem_register_sync(var[i].c_str());
+ if (status < 0)
+ {
+ CCTK_VWarn(0, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "***** Whisky_register_GZPatchSystem():\n"
+ " error registering var group %s to be "
+ "interpatch-synchronized!\n"
+ " (GZPatchSystem_register_sync() error code %d)\n",
+ var[i].c_str(), status);
+ }
+ }
+
+ }
+ else
+ {
+ CCTK_WARN(1, "Function GZPatchSystem_register_sync not registered!");
+ }
+
+ if (CCTK_IsFunctionAliased("GZPatchSystem_register_cxform"))
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,
+ "registering to-be-cxformed variables with GZPatchSystem");
+
+ string var[11] = {"HydroBase::rho", "HydroBase::press", "HydroBase::eps",
+ "HydroBase::vel",
+ "Whisky::dens", "Whisky::tau", "Whisky::w_lorentz",
+ "Whisky::scon",
+ "ADMBase::metric", "ADMBase::curv", "ADMBase::shift"};
+ for (int i = 0; i < 11; i++)
+ for (int j = 0; j < 3; j++)
+ {
+ int ps_status =
+ GZPatchSystem_register_cxform(j, var[i].c_str());
+ if (ps_status < 0)
+ {
+ CCTK_VWarn(0, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "***** Whisky_register_GZPatchSystem():\n"
+ " error registering var group %s to be "
+ "interpatch-cxformhronized!\n"
+ " (GZPatchSystem_register_cxform() error code %d)\n",
+ var[i].c_str(), ps_status);
+ }
+ }
+ }
+ else
+ {
+ CCTK_WARN(1, "Function GZPatchSystem_register_cxform not registered!");
+ }
+
+}
diff --git a/src/Whisky_RegisterMask.c b/src/Whisky_RegisterMask.c
new file mode 100644
index 0000000..a89a150
--- /dev/null
+++ b/src/Whisky_RegisterMask.c
@@ -0,0 +1,89 @@
+ /*@@
+ @file Whisky_RegisterMask.c
+ @date Sun Jan 26 01:55:25 2003
+ @author Ian Hawke
+ @desc
+ Routines to register states with SpaceMask.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include "SpaceMask.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+ /*@@
+ @routine Whisky_RegisterMask
+ @date Sun Jan 26 01:56:06 2003
+ @author
+ @desc
+ Register the different mask states with the SpaceMask thorn.
+
+ At the moment, the recognized states and values are
+
+ Hydro_Atmosphere (in_atmosphere, not_in_atmosphere)
+ Hydro_RiemannProblem (trivial, not_trivial)
+
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+int Whisky_RegisterMask(void)
+{
+
+ DECLARE_CCTK_PARAMETERS;
+
+ int ierr;
+
+ const char *atmosphere_list[2] = {"in_atmosphere","not_in_atmosphere"};
+ const char *rp_list[2] = {"trivial","not_trivial"};
+
+ ierr = SpaceMask_RegisterType("Hydro_Atmosphere", 2, atmosphere_list);
+ if (ierr)
+ {
+ CCTK_WARN(0, "Failed to register the atmosphere with the mask!");
+ }
+
+ ierr = SpaceMask_RegisterType("Hydro_RiemannProblemX", 2, rp_list);
+ if (ierr)
+ {
+ CCTK_WARN(0, "Failed to register the x Riemann Problem with the mask!");
+ }
+
+ ierr = SpaceMask_RegisterType("Hydro_RiemannProblemY", 2, rp_list);
+ if (ierr)
+ {
+ CCTK_WARN(0, "Failed to register the y Riemann Problem with the mask!");
+ }
+
+ ierr = SpaceMask_RegisterType("Hydro_RiemannProblemZ", 2, rp_list);
+ if (ierr)
+ {
+ CCTK_WARN(0, "Failed to register the z Riemann Problem with the mask!");
+ }
+
+ return 0;
+}
+
+void Whisky_SetupDescriptors(CCTK_ARGUMENTS)
+{
+
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ *atmosphere_field_descriptor=SpaceMask_GetTypeBits("Hydro_Atmosphere");
+ *atmosphere_atmosp_descriptor=SpaceMask_GetStateBits("Hydro_Atmosphere",
+ "in_atmosphere");
+ *atmosphere_normal_descriptor = SpaceMask_GetStateBits("Hydro_Atmosphere",
+ "not_in_atmosphere");
+}
+
diff --git a/src/Whisky_RegisterVars.cc b/src/Whisky_RegisterVars.cc
new file mode 100644
index 0000000..981b759
--- /dev/null
+++ b/src/Whisky_RegisterVars.cc
@@ -0,0 +1,105 @@
+// Whisky_RegisterVars.cc
+//
+// converted from F90 to improve readability and maintainability
+//
+// Frank Loeffler
+
+#include <cstdio>
+#include <string>
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+using namespace std;
+
+// Utility functions to register variables with MoL
+// Note: We could check for the return value here, but MoL issues a
+// level 0 warning in that case anyway. If that changes in the
+// future, a check can simply be inserted here.
+static void register_evolved(string v1, string v2)
+{
+ MoLRegisterEvolvedGroup(CCTK_GroupIndex(v1.c_str()), CCTK_GroupIndex(v2.c_str()));
+}
+static void register_constrained(string v1)
+{
+ MoLRegisterConstrainedGroup(CCTK_GroupIndex(v1.c_str()));
+}
+static void register_saveandrestore(string v1)
+{
+ MoLRegisterSaveAndRestoreGroup(CCTK_GroupIndex(v1.c_str()));
+}
+
+// Main function called by Cactus to register variables with MoL
+
+extern "C"void Whisky_Register(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ // We need some aliased functions, so we first check if they are available
+ string needed_funs[5] = {"MoLRegisterEvolvedGroup",
+ "MoLRegisterConstrainedGroup",
+ "MoLRegisterSaveAndRestoreGroup",
+ "MoLRegisterEvolved",
+ "MoLRegisterConstrained"};
+ for (int i = 0; i < 5; i++)
+ if (!CCTK_IsFunctionAliased(needed_funs[i].c_str()))
+ CCTK_VWarn(0, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "The function \"%s\" has not been aliased!",
+ needed_funs[i].c_str());
+
+ // Now we can set which variables have to be registered as which type with MoL
+ register_constrained("HydroBase::rho");
+ register_constrained("HydroBase::press");
+ register_constrained("HydroBase::eps");
+ register_constrained("HydroBase::vel");
+ register_constrained("Whisky::w_lorentz");
+
+ if (CCTK_EQUALS(evolution_method, "whisky"))
+ {
+ // dens and scon
+ register_evolved("whisky::dens", "whisky::densrhs");
+ register_evolved("whisky::scon", "whisky::srhs");
+
+ // tau
+ if (CCTK_EQUALS(whisky_eos_type, "General"))
+ register_evolved("whisky::tau" , "whisky::taurhs");
+ else if (CCTK_EQUALS(whisky_eos_type, "Polytype"))
+ register_constrained("whisky::tau");
+ else
+ CCTK_WARN(0, "Don't recognize the type of EOS!");
+
+ // lapse, metric, curv
+ register_saveandrestore("admbase::lapse");
+ register_saveandrestore("admbase::metric");
+ register_saveandrestore("admbase::curv");
+
+ // shift
+ if (!CCTK_EQUALS(initial_shift, "none"))
+ {
+ if (CCTK_EQUALS(shift_evolution_method, "Comoving"))
+ {
+ register_constrained("admbase::shift");
+ register_evolved("Whisky::whisky_coords", "Whisky::whisky_coords_rhs");
+ }
+ else
+ register_saveandrestore("admbase::shift");
+ }
+
+ // tracer
+ if (evolve_tracer != 0)
+ register_evolved("whisky::whisky_cons_tracers", "whisky::whisky_tracer_rhs");
+
+ // particles
+ if (number_of_particles > 0)
+ register_evolved("whisky::particles", "whisky::particle_rhs");
+ }
+ else if (CCTK_EQUALS(evolution_method, "none"))
+ {
+ register_constrained("whisky::dens");
+ register_constrained("whisky::scon");
+ register_constrained("whisky::tau");
+ }
+}
+
diff --git a/src/Whisky_RiemannSolve.F90 b/src/Whisky_RiemannSolve.F90
new file mode 100644
index 0000000..8288b70
--- /dev/null
+++ b/src/Whisky_RiemannSolve.F90
@@ -0,0 +1,372 @@
+ /*@@
+ @file Whisky_RiemannSolve.F90
+ @date Sat Jan 26 02:20:25 2002
+ @author
+ @desc
+ A wrapper routine to call the correct Riemann solver
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine RiemannSolve
+ @date Sat Jan 26 02:20:48 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ A wrapper routine to switch between the different Riemann solvers.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine RiemannSolve(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i,j,k
+
+ if (CCTK_EQUALS(riemann_solver,"HLLE")) then
+
+ call Whisky_HLLE(CCTK_PASS_FTOF)
+
+ if (evolve_tracer .ne. 0) then
+
+ call Whisky_HLLE_Tracer(CCTK_PASS_FTOF)
+
+ end if
+
+ else if (CCTK_EQUALS(riemann_solver,"Roe")) then
+
+ call Whisky_RoeSolve(CCTK_PASS_FTOF)
+
+ if (evolve_tracer .ne. 0) then
+
+ call Whisky_HLLE_Tracer(CCTK_PASS_FTOF)
+
+ end if
+
+ else if (CCTK_EQUALS(riemann_solver,"Marquina")) then
+
+ call Whisky_Marquina(CCTK_PASS_FTOF)
+
+!!$ Tracers are built directly in to the Marquina solver
+
+ end if
+
+end subroutine RiemannSolve
+
+ /*@@
+ @routine RiemannSolvePolytype
+ @date Tue Mar 19 11:40:20 2002
+ @author Ian Hawke
+ @desc
+ The same as above, just specializing to polytropic type EOS.
+ Currently there is no point to this routine right now.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine RiemannSolvePolytype(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i,j,k
+
+ if (CCTK_EQUALS(riemann_solver,"HLLE")) then
+
+ call Whisky_HLLE(CCTK_PASS_FTOF)
+
+ if (evolve_tracer .ne. 0) then
+
+ call Whisky_HLLE_Tracer(CCTK_PASS_FTOF)
+
+ end if
+
+ else if (CCTK_EQUALS(riemann_solver,"Roe")) then
+
+ call Whisky_RoeSolve(CCTK_PASS_FTOF)
+
+ if (evolve_tracer .ne. 0) then
+
+ call Whisky_HLLE_Tracer(CCTK_PASS_FTOF)
+
+ end if
+
+ else if (CCTK_EQUALS(riemann_solver,"Marquina")) then
+
+ call Whisky_Marquina(CCTK_PASS_FTOF)
+
+!!$ Tracers are built directly in to the Marquina solver
+
+ end if
+
+end subroutine RiemannSolvePolytype
+
+
+
+ /*@@
+ @routine RiemannSolveGeneral
+ @date Tue Mar 19 11:40:20 2002
+ @author Ian Hawke
+ @desc
+ The Riemann solvers for the new general EOS routines.
+ This sets the fluxes from the left and right reconstructed
+ states, so that after this routine they are effectively
+ scratch space.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+
+subroutine RiemannSolveGeneral(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: i,j,k, ierr
+ CCTK_REAL, dimension(5) :: tmp_flux, cons_p, cons_m
+ CCTK_REAL, dimension(6) :: prim_p, prim_m
+ CCTK_REAL :: avg_det, avg_alp, avg_beta
+ CCTK_REAL :: psi4h, gxxh, gyyh, gzzh, gxyh, gxzh, gyzh
+
+ densflux = 0.d0
+ sxflux = 0.d0
+ syflux = 0.d0
+ szflux = 0.d0
+ tauflux = 0.d0
+
+!!$ Do the EOS call to set the pressure, derivative and cs2
+
+ ierr = EOS_SetGFs(cctkGH, EOS_RiemannCallPlus)
+ ierr = EOS_SetGFs(cctkGH, EOS_RiemannCallMinus)
+
+
+ if (CCTK_EQUALS(riemann_solver,"HLLE")) then
+
+ call Whisky_HLLEGeneral(CCTK_PASS_FTOF)
+
+ if (evolve_tracer .ne. 0) then
+
+ call Whisky_HLLE_TracerGeneral(CCTK_PASS_FTOF)
+
+ end if
+
+ else
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+!!$ Set the left (p for plus) and right (m for minus, i+1) states
+
+ cons_p(1) = densplus(i,j,k)
+ cons_p(2) = sxplus(i,j,k)
+ cons_p(3) = syplus(i,j,k)
+ cons_p(4) = szplus(i,j,k)
+ cons_p(5) = tauplus(i,j,k)
+
+ cons_m(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(1) = rhoplus(i,j,k)
+ prim_p(2) = velxplus(i,j,k)
+ prim_p(3) = velyplus(i,j,k)
+ prim_p(4) = velzplus(i,j,k)
+ prim_p(5) = epsplus(i,j,k)
+ prim_p(6) = pressplus(i,j,k)
+
+ prim_m(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(6) = pressminus(i+xoffset,j+yoffset,k+zoffset)
+
+!!$ Set metric terms at interface
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + &
+ gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + &
+ gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + &
+ gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + &
+ gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + &
+ gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + &
+ gzz(i,j,k))
+
+ if (conformal_state > 0) then
+
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ gxxh = gxxh * psi4h
+ gxyh = gxyh * psi4h
+ gxzh = gxzh * psi4h
+ gyyh = gyyh * psi4h
+ gyzh = gyzh * psi4h
+ gzzh = gzzh * psi4h
+
+ end if
+
+ call SpatialDeterminant(gxxh,gxyh,gxzh,gyyh,gyzh,gzzh,avg_det)
+
+ if (flux_direction == 1) then
+
+ call num_x_flux(cons_p(1),cons_p(2),cons_p(3),cons_p(4),cons_p(5),&
+ tmp_flux(1),tmp_flux(2),tmp_flux(3),tmp_flux(4),tmp_flux(5), &
+ prim_p(2),prim_p(6), &
+ avg_det,avg_alp,avg_beta)
+
+ densflux(i,j,k) = 0.5d0 * tmp_flux(1)
+ sxflux(i,j,k) = 0.5d0 * tmp_flux(2)
+ syflux(i,j,k) = 0.5d0 * tmp_flux(3)
+ szflux(i,j,k) = 0.5d0 * tmp_flux(4)
+ tauflux(i,j,k) = 0.5d0 * tmp_flux(5)
+
+ call num_x_flux(cons_m(1),cons_m(2),cons_m(3),cons_m(4),cons_m(5),&
+ tmp_flux(1),tmp_flux(2),tmp_flux(3),tmp_flux(4),tmp_flux(5), &
+ prim_m(2),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+
+ densflux(i,j,k) = densflux(i,j,k) + 0.5d0 * tmp_flux(1)
+ sxflux(i,j,k) = sxflux(i,j,k) + 0.5d0 * tmp_flux(2)
+ syflux(i,j,k) = syflux(i,j,k) + 0.5d0 * tmp_flux(3)
+ szflux(i,j,k) = szflux(i,j,k) + 0.5d0 * tmp_flux(4)
+ tauflux(i,j,k) = tauflux(i,j,k) + 0.5d0 * tmp_flux(5)
+
+ else if (flux_direction == 2) then
+
+ call num_x_flux(cons_p(1),cons_p(3),cons_p(4),cons_p(2),cons_p(5),&
+ tmp_flux(1),tmp_flux(3),tmp_flux(4),tmp_flux(2),tmp_flux(5), &
+ prim_p(3),prim_p(6), &
+ avg_det,avg_alp,avg_beta)
+
+ densflux(i,j,k) = 0.5d0 * tmp_flux(1)
+ sxflux(i,j,k) = 0.5d0 * tmp_flux(2)
+ syflux(i,j,k) = 0.5d0 * tmp_flux(3)
+ szflux(i,j,k) = 0.5d0 * tmp_flux(4)
+ tauflux(i,j,k) = 0.5d0 * tmp_flux(5)
+
+ call num_x_flux(cons_m(1),cons_m(3),cons_m(4),cons_m(2),cons_m(5),&
+ tmp_flux(1),tmp_flux(3),tmp_flux(4),tmp_flux(2),tmp_flux(5), &
+ prim_m(3),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+
+ densflux(i,j,k) = densflux(i,j,k) + 0.5d0 * tmp_flux(1)
+ sxflux(i,j,k) = sxflux(i,j,k) + 0.5d0 * tmp_flux(2)
+ syflux(i,j,k) = syflux(i,j,k) + 0.5d0 * tmp_flux(3)
+ szflux(i,j,k) = szflux(i,j,k) + 0.5d0 * tmp_flux(4)
+ tauflux(i,j,k) = tauflux(i,j,k) + 0.5d0 * tmp_flux(5)
+
+ else if (flux_direction == 3) then
+
+ call num_x_flux(cons_p(1),cons_p(4),cons_p(2),cons_p(3),cons_p(5),&
+ tmp_flux(1),tmp_flux(4),tmp_flux(2),tmp_flux(3),tmp_flux(5), &
+ prim_p(4),prim_p(6), &
+ avg_det,avg_alp,avg_beta)
+
+ densflux(i,j,k) = 0.5d0 * tmp_flux(1)
+ sxflux(i,j,k) = 0.5d0 * tmp_flux(2)
+ syflux(i,j,k) = 0.5d0 * tmp_flux(3)
+ szflux(i,j,k) = 0.5d0 * tmp_flux(4)
+ tauflux(i,j,k) = 0.5d0 * tmp_flux(5)
+
+ call num_x_flux(cons_m(1),cons_m(4),cons_m(2),cons_m(3),cons_m(5),&
+ tmp_flux(1),tmp_flux(4),tmp_flux(2),tmp_flux(3),tmp_flux(5), &
+ prim_m(4),prim_m(6), &
+ avg_det,avg_alp,avg_beta)
+
+ densflux(i,j,k) = densflux(i,j,k) + 0.5d0 * tmp_flux(1)
+ sxflux(i,j,k) = sxflux(i,j,k) + 0.5d0 * tmp_flux(2)
+ syflux(i,j,k) = syflux(i,j,k) + 0.5d0 * tmp_flux(3)
+ szflux(i,j,k) = szflux(i,j,k) + 0.5d0 * tmp_flux(4)
+ tauflux(i,j,k) = tauflux(i,j,k) + 0.5d0 * tmp_flux(5)
+
+ else
+
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+
+ end if
+
+ end do
+ end do
+ end do
+
+ if (CCTK_EQUALS(riemann_solver,"Roe")) then
+
+ call Whisky_RoeSolveGeneral(CCTK_PASS_FTOF)
+
+ if (evolve_tracer .ne. 0) then
+
+ call Whisky_HLLE_TracerGeneral(CCTK_PASS_FTOF)
+
+ end if
+
+ else if (CCTK_EQUALS(riemann_solver,"Marquina")) then
+
+ call Whisky_MarquinaGeneral(CCTK_PASS_FTOF)
+
+!!$ Tracers are built directly in to the Marquina solver
+
+ end if
+
+ end if
+
+end subroutine RiemannSolveGeneral
+
+
diff --git a/src/Whisky_RoeAverage.F90 b/src/Whisky_RoeAverage.F90
new file mode 100644
index 0000000..0725667
--- /dev/null
+++ b/src/Whisky_RoeAverage.F90
@@ -0,0 +1,39 @@
+ /*@@
+ @file Whisky_RoeAverage.F90
+ @date Sat Jan 26 01:54:09 2002
+ @author
+ @desc
+ Calculates the Roe average of two states.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ /*@@
+ @routine roeaverage
+ @date Sat Jan 26 01:54:46 2002
+ @author Ian Hawke
+ @desc
+ Calculate the Roe average of two states. Currently just
+ arithmetic averaging.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine roeaverage(l, r, ave)
+
+ implicit none
+
+ CCTK_REAL, dimension(5) :: l, r, ave
+
+ ave = 0.5d0 * (l + r)
+
+end subroutine roeaverage
+
diff --git a/src/Whisky_RoeSolver.F90 b/src/Whisky_RoeSolver.F90
new file mode 100644
index 0000000..ec9570f
--- /dev/null
+++ b/src/Whisky_RoeSolver.F90
@@ -0,0 +1,585 @@
+ /*@@
+ @file Whisky_RoeSolver.F90
+ @date Sat Jan 26 01:55:27 2002
+ @author
+ @desc
+ Calculates the Roe flux
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+ /*@@
+ @routine Whisky_RoeSolve
+ @date Sat Jan 26 01:55:55 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Wrapper routine to calculate the Roe fluxes and hence the update
+ terms.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_RoeSolve(CCTK_ARGUMENTS)
+
+ implicit none
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ CCTK_REAL, dimension(5) :: roeflux,roeave,qdiff,consp,consm_i,&
+ fplus,fminus,f_roe,primp,primm_i,consh
+ CCTK_REAL :: avg_alp,avg_beta,gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ avg_det,uxxh,uxyh,uxzh,uyyh,uyzh,uzzh,&
+ rhoave, velxave, velyave, velzave, pressave, epsave, &
+ w_lorentzave, usendh, alp_l, alp_r, psi4h
+ integer :: m
+ integer :: i,j,k
+
+ CCTK_INT :: type_bits, trivial, not_trivial
+
+ character(len=256) NaN_WarnLine
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ f_roe = 0.d0
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ consp(1) = densplus(i,j,k)
+ consp(2) = sxplus(i,j,k)
+ consp(3) = syplus(i,j,k)
+ consp(4) = szplus(i,j,k)
+ consp(5) = tauplus(i,j,k)
+
+ consm_i(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ consm_i(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ primp(1) = rhoplus(i,j,k)
+ primp(2) = velxplus(i,j,k)
+ primp(3) = velyplus(i,j,k)
+ primp(4) = velzplus(i,j,k)
+ primp(5) = epsplus(i,j,k)
+
+ primm_i(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ primm_i(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+
+ roeflux = 0.d0
+ qdiff = 0.d0
+
+!!$ Calculate jumps in conserved variables
+
+ do m = 1,5
+ qdiff(m) = consm_i(m) - consp(m)
+ end do
+
+!!$ Set metric terms at interface
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + &
+ gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + &
+ gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + &
+ gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + &
+ gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + &
+ gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + &
+ gzz(i,j,k))
+
+ if (conformal_state > 0) then
+
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ gxxh = gxxh * psi4h
+ gxyh = gxyh * psi4h
+ gxzh = gxzh * psi4h
+ gyyh = gyyh * psi4h
+ gyzh = gyzh * psi4h
+ gzzh = gzzh * psi4h
+
+ end if
+
+ call SpatialDeterminant(gxxh,gxyh,gxzh,gyyh,gyzh,gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial, just calculate the fluxes from the
+!!$ left state and skip to the next cell
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, trivial)) then
+
+ if (flux_direction == 1) then
+ call num_x_flux(consp(1),consp(2),consp(3),consp(4),consp(5),&
+ f_roe(1),f_roe(2),f_roe(3),&
+ f_roe(4),f_roe(5),&
+ velxplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call num_x_flux(consp(1),consp(3),consp(4),consp(2),consp(5),&
+ f_roe(1),f_roe(3),f_roe(4),&
+ f_roe(2),f_roe(5),&
+ velyplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call num_x_flux(consp(1),consp(4),consp(2),consp(3),consp(5),&
+ f_roe(1),f_roe(4),f_roe(2),&
+ f_roe(3),f_roe(5),&
+ velzplus(i,j,k),pressplus(i,j,k),&
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ else !!! The end of this branch is right at the bottom of the routine
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,gxxh, gxyh, gxzh, gyyh, gyzh, gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Set the Roe average of the fluid variables
+
+ call roeaverage(primp, primm_i, roeave)
+
+ rhoave = roeave(1)
+ velxave = roeave(2)
+ velyave = roeave(3)
+ velzave = roeave(4)
+ epsave = roeave(5)
+
+!!$ Convert to conserved variables and find the part of the Roe
+!!$ flux that requires the spectral decomposition.
+!!$ The conversion to conserved variables is just to set the
+!!$ pressure at this point (means this routine doesn''t need
+!!$ the EOS interface).
+
+!!$ The conversion routine is unnecessary (the pressure is set
+!!$ inside the eigenproblem routine) so instead we just have
+!!$ to set the average W.
+
+ w_lorentzave = 1.d0 / &
+ sqrt(1.d0 - &
+ (gxxh*velxave*velxave + gyyh*velyave*velyave + &
+ gzzh*velzave*velzave + 2*gxyh*velxave*velyave + &
+ 2*gxzh*velxave *velzave + 2*gyzh*velyave*velzave))
+
+!!$ BEGIN: Check for NaN value
+ if (w_lorentzave .ne. w_lorentzave) then
+ write(NaN_WarnLine,'(a100,3g15.6)') 'NaN produced in sqrt(): (velxave, velyave, velzave))', velxave, velyave, velzave
+ call CCTK_WARN(Whisky_NaN_verbose, NaN_WarnLine)
+ endif
+!!$ END: Check for NaN value
+
+ if (flux_direction == 1) then
+!!$ call prim2con(whisky_eos_handle,gxxh, gxyh, gxzh, gyyh, &
+!!$ gyzh, gzzh, avg_det, &
+!!$ consh(1), consh(2), consh(3), consh(4), consh(5), rhoave, &
+!!$ velxave, velyave, velzave, epsave, pressave, w_lorentzave)
+ call eigenproblem(whisky_eos_handle,rhoave, velxave, &
+ velyave, velzave, epsave, w_lorentzave, &
+ gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ usendh,avg_det, avg_alp,avg_beta,qdiff(1),qdiff(2), &
+ qdiff(3),qdiff(4),qdiff(5),roeflux(1),roeflux(2),&
+ roeflux(3),roeflux(4),roeflux(5))
+ else if (flux_direction == 2) then
+!!$ call prim2con(whisky_eos_handle,gyyh, gyzh, gxyh, gzzh, &
+!!$ gxzh, gxxh, avg_det, &
+!!$ consh(1), consh(3), consh(4), consh(2), consh(5), rhoave, &
+!!$ velyave, velzave, velxave, epsave, pressave, w_lorentzave)
+ call eigenproblem(whisky_eos_handle,rhoave, velyave, &
+ velzave, velxave, epsave, w_lorentzave, &
+ gyyh,gyzh,gxyh,gzzh,gxzh,gxxh, &
+ usendh,avg_det, avg_alp,avg_beta,qdiff(1),qdiff(3), &
+ qdiff(4),qdiff(2),qdiff(5),roeflux(1),roeflux(3),&
+ roeflux(4),roeflux(2),roeflux(5))
+ else if (flux_direction == 3) then
+!!$ call prim2con(whisky_eos_handle,gzzh, gxzh, gyzh, gxxh, &
+!!$ gxyh, gyyh, avg_det, &
+!!$ consh(1), consh(4), consh(2), consh(3), consh(5), rhoave, &
+!!$ velzave, velxave, velyave, epsave, pressave, w_lorentzave)
+ call eigenproblem(whisky_eos_handle,rhoave, velzave, &
+ velxave, velyave, epsave, w_lorentzave, &
+ gzzh,gxzh,gyzh,gxxh,gxyh,gyyh, &
+ usendh,avg_det, avg_alp,avg_beta,qdiff(1),qdiff(4), &
+ qdiff(2),qdiff(3),qdiff(5),roeflux(1),roeflux(4),&
+ roeflux(2),roeflux(3),roeflux(5))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ fplus = 0.d0
+ fminus = 0.d0
+
+!!$Calculate the fluxes of the original reconstructed data
+
+ if (flux_direction == 1) then
+ call num_x_flux(consp(1),consp(2),consp(3),consp(4),consp(5), &
+ fplus(1),fplus(2),fplus(3),fplus(4), &
+ fplus(5),velxplus(i,j,k),pressplus(i,j,k), &
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(consm_i(1),consm_i(2),consm_i(3), &
+ consm_i(4),consm_i(5),fminus(1),fminus(2),fminus(3), &
+ fminus(4), fminus(5), &
+ velxminus(i+xoffset,j+yoffset,k+zoffset), &
+ pressminus(i+xoffset,j+yoffset,k+zoffset), &
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 2) then
+ call num_x_flux(consp(1),consp(3),consp(4),consp(2),consp(5), &
+ fplus(1),fplus(3),fplus(4),fplus(2), &
+ fplus(5),velyplus(i,j,k),pressplus(i,j,k), &
+ avg_det,avg_alp,avg_beta)
+ call num_x_flux(consm_i(1),consm_i(3),consm_i(4), &
+ consm_i(2),consm_i(5),fminus(1),fminus(3),fminus(4), &
+ fminus(2), fminus(5), &
+ velyminus(i+xoffset,j+yoffset,k+zoffset), &
+ pressminus(i+xoffset,j+yoffset,k+zoffset), &
+ avg_det,avg_alp,avg_beta)
+ else if (flux_direction == 3) then
+ call num_x_flux(consp(1),consp(4),consp(2),consp(3),consp(5), &
+ fplus(1),fplus(4),fplus(2),fplus(3), &
+ fplus(5),velzplus(i,j,k),pressplus(i,j,k),avg_det, &
+ avg_alp,avg_beta)
+ call num_x_flux(consm_i(1),consm_i(4),consm_i(2), &
+ consm_i(3),consm_i(5),fminus(1),fminus(4),fminus(2), &
+ fminus(3), fminus(5), &
+ velzminus(i+xoffset,j+yoffset,k+zoffset), &
+ pressminus(i+xoffset,j+yoffset,k+zoffset), &
+ avg_det,avg_alp,avg_beta)
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$The combined Roe flux
+
+ do m = 1,5
+
+ f_roe(m) = 0.5d0 * (fplus(m) + fminus(m) - roeflux(m))
+
+ end do
+
+ end if !!! The end of the SpaceMask check for a trivial RP.
+
+ densflux(i,j,k) = f_roe(1)
+ sxflux(i,j,k) = f_roe(2)
+ syflux(i,j,k) = f_roe(3)
+ szflux(i,j,k) = f_roe(4)
+ tauflux(i,j,k) = f_roe(5)
+
+ enddo
+ enddo
+ enddo
+
+end subroutine Whisky_RoeSolve
+
+ /*@@
+ @routine Whisky_RoeSolveGeneral
+ @date Sat Jan 26 01:55:55 2002
+ @author Pedro Montero, Ian Hawke
+ @desc
+ Wrapper routine to calculate the Roe fluxes and hence the update
+ terms.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_RoeSolveGeneral(CCTK_ARGUMENTS)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_REAL, dimension(5) :: roeflux,roeave,qdiff,cons_p,cons_m,&
+ cons_ave
+ CCTK_REAL, dimension(6) :: prim_p, prim_m, prim_ave
+ CCTK_REAL :: avg_alp,avg_beta,gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ avg_det,uxxh,uxyh,uxzh,uyyh,uyzh,uzzh,&
+ usendh,alp_l,alp_r,psi4h,cs2_ave,dpdeps_ave
+ CCTK_INT :: i,j,k,m
+
+ CCTK_INT :: type_bits, trivial, not_trivial, ierr
+
+ if (flux_direction == 1) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemX")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemX", &
+ &"trivial")
+ else if (flux_direction == 2) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemY")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemY", &
+ &"trivial")
+ else if (flux_direction == 3) then
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_RiemannProblemZ")
+ call SpaceMask_GetStateBits(trivial, "Hydro_RiemannProblemZ", &
+ &"trivial")
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ cons_p(1) = densplus(i,j,k)
+ cons_p(2) = sxplus(i,j,k)
+ cons_p(3) = syplus(i,j,k)
+ cons_p(4) = szplus(i,j,k)
+ cons_p(5) = tauplus(i,j,k)
+
+ cons_m(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(1) = rhoplus(i,j,k)
+ prim_p(2) = velxplus(i,j,k)
+ prim_p(3) = velyplus(i,j,k)
+ prim_p(4) = velzplus(i,j,k)
+ prim_p(5) = epsplus(i,j,k)
+
+ prim_m(1) = rhominus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(2) = velxminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(3) = velyminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(4) = velzminus(i+xoffset,j+yoffset,k+zoffset)
+ prim_m(5) = epsminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_p(6) = pressplus(i,j,k)
+
+ prim_m(6) = pressminus(i+xoffset,j+yoffset,k+zoffset)
+
+!!$ Set the Roe average of the fluid variables
+
+ call roeaverage(prim_p(1:5), prim_m(1:5), roeave)
+
+ rho_ave(i,j,k) = roeave(1)
+ velx_ave(i,j,k) = roeave(2)
+ vely_ave(i,j,k) = roeave(3)
+ velz_ave(i,j,k) = roeave(4)
+ eps_ave(i,j,k) = roeave(5)
+
+ end do
+ end do
+ end do
+
+ ierr = EOS_SetGFs(cctkGH, EOS_RoeAverageCall)
+
+ do k = whisky_stencil, cctk_lsh(3) - whisky_stencil
+ do j = whisky_stencil, cctk_lsh(2) - whisky_stencil
+ do i = whisky_stencil, cctk_lsh(1) - whisky_stencil
+
+!!$ Set the left (p for plus) and right (m_i for minus, i+1) states
+
+ cons_p(1) = densplus(i,j,k)
+ cons_p(2) = sxplus(i,j,k)
+ cons_p(3) = syplus(i,j,k)
+ cons_p(4) = szplus(i,j,k)
+ cons_p(5) = tauplus(i,j,k)
+
+ cons_m(1) = densminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(2) = sxminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(3) = syminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(4) = szminus(i+xoffset,j+yoffset,k+zoffset)
+ cons_m(5) = tauminus(i+xoffset,j+yoffset,k+zoffset)
+
+ prim_ave(1) = rho_ave(i,j,k)
+ prim_ave(2) = velx_ave(i,j,k)
+ prim_ave(3) = vely_ave(i,j,k)
+ prim_ave(4) = velz_ave(i,j,k)
+ prim_ave(5) = eps_ave(i,j,k)
+ prim_ave(6) = press_ave(i,j,k)
+ cs2_ave = eos_cs2_ave(i,j,k)
+ dpdeps_ave = eos_dpdeps_ave(i,j,k)
+
+ roeflux = 0.d0
+ qdiff = 0.d0
+
+!!$ Calculate jumps in conserved variables
+
+ do m = 1,5
+ qdiff(m) = cons_m(m) - cons_p(m)
+ end do
+
+!!$ Set metric terms at interface
+
+ if (shift_state .ne. 0) then
+ if (flux_direction == 1) then
+ avg_beta = 0.5d0 * (betax(i+xoffset,j+yoffset,k+zoffset) + &
+ betax(i,j,k))
+ else if (flux_direction == 2) then
+ avg_beta = 0.5d0 * (betay(i+xoffset,j+yoffset,k+zoffset) + &
+ betay(i,j,k))
+ else if (flux_direction == 3) then
+ avg_beta = 0.5d0 * (betaz(i+xoffset,j+yoffset,k+zoffset) + &
+ betaz(i,j,k))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+ else
+ avg_beta = 0.d0
+ end if
+
+ avg_alp = 0.5 * (alp(i,j,k) + alp(i+xoffset,j+yoffset,k+zoffset))
+
+ gxxh = 0.5d0 * (gxx(i+xoffset,j+yoffset,k+zoffset) + &
+ gxx(i,j,k))
+ gxyh = 0.5d0 * (gxy(i+xoffset,j+yoffset,k+zoffset) + &
+ gxy(i,j,k))
+ gxzh = 0.5d0 * (gxz(i+xoffset,j+yoffset,k+zoffset) + &
+ gxz(i,j,k))
+ gyyh = 0.5d0 * (gyy(i+xoffset,j+yoffset,k+zoffset) + &
+ gyy(i,j,k))
+ gyzh = 0.5d0 * (gyz(i+xoffset,j+yoffset,k+zoffset) + &
+ gyz(i,j,k))
+ gzzh = 0.5d0 * (gzz(i+xoffset,j+yoffset,k+zoffset) + &
+ gzz(i,j,k))
+
+ if (conformal_state > 0) then
+
+ psi4h = (0.5d0*(psi(i,j,k)+psi(i+xoffset,j+yoffset,k+zoffset)))**4
+ gxxh = gxxh * psi4h
+ gxyh = gxyh * psi4h
+ gxzh = gxzh * psi4h
+ gyyh = gyyh * psi4h
+ gyzh = gyzh * psi4h
+ gzzh = gzzh * psi4h
+
+ end if
+
+ call SpatialDeterminant(gxxh,gxyh,gxzh,gyyh,gyzh,gzzh,avg_det)
+
+!!$ If the Riemann problem is trivial the flux is already correct
+
+ if (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, trivial)) then
+
+ else !!! The end of this branch is right at the bottom of the routine
+
+ call UpperMetric(uxxh, uxyh, uxzh, uyyh, uyzh, uzzh, &
+ avg_det,gxxh, gxyh, gxzh, gyyh, gyzh, gzzh)
+
+ if (flux_direction == 1) then
+ usendh = uxxh
+ else if (flux_direction == 2) then
+ usendh = uyyh
+ else if (flux_direction == 3) then
+ usendh = uzzh
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Convert to conserved variables and find the part of the Roe
+!!$ flux that requires the spectral decomposition.
+!!$ The conversion to conserved variables is just to set the
+!!$ pressure at this point (means this routine doesn''t need
+!!$ the EOS interface).
+
+ if (flux_direction == 1) then
+ call eigenproblem_general(&
+ prim_ave(1),prim_ave(2),prim_ave(3),prim_ave(4),prim_ave(5), &
+ prim_ave(6),cs2_ave,dpdeps_ave, &
+ gxxh,gxyh,gxzh,gyyh,gyzh,gzzh, &
+ usendh,avg_det,avg_alp,avg_beta, &
+ qdiff(1),qdiff(2),qdiff(3),qdiff(4),qdiff(5), &
+ roeflux(1),roeflux(2),roeflux(3),roeflux(4),roeflux(5))
+ else if (flux_direction == 2) then
+ call eigenproblem_general(&
+ prim_ave(1),prim_ave(3),prim_ave(4),prim_ave(2),prim_ave(5), &
+ prim_ave(6),cs2_ave,dpdeps_ave, &
+ gyyh,gyzh,gxyh,gzzh,gxzh,gxxh, &
+ usendh,avg_det,avg_alp,avg_beta, &
+ qdiff(1),qdiff(3),qdiff(4),qdiff(2),qdiff(5), &
+ roeflux(1),roeflux(3),roeflux(4),roeflux(2),roeflux(5))
+ else if (flux_direction == 3) then
+ call eigenproblem_general(&
+ prim_ave(1),prim_ave(4),prim_ave(2),prim_ave(3),prim_ave(5), &
+ prim_ave(6),cs2_ave,dpdeps_ave, &
+ gzzh,gxzh,gyzh,gxxh,gxyh,gyyh, &
+ usendh,avg_det,avg_alp,avg_beta, &
+ qdiff(1),qdiff(4),qdiff(2),qdiff(3),qdiff(5), &
+ roeflux(1),roeflux(4),roeflux(2),roeflux(3),roeflux(5))
+ else
+ call CCTK_WARN(0, "Flux direction not x,y,z")
+ end if
+
+!!$ Roe flux
+
+ densflux(i,j,k) = densflux(i,j,k) - 0.5d0 * roeflux(1)
+ sxflux(i,j,k) = sxflux(i,j,k) - 0.5d0 * roeflux(2)
+ syflux(i,j,k) = syflux(i,j,k) - 0.5d0 * roeflux(3)
+ szflux(i,j,k) = szflux(i,j,k) - 0.5d0 * roeflux(4)
+ tauflux(i,j,k) = tauflux(i,j,k) - 0.5d0 * roeflux(5)
+
+ end if !!! The end of the SpaceMask check for a trivial RP.
+
+ enddo
+ enddo
+ enddo
+
+end subroutine Whisky_RoeSolveGeneral
diff --git a/src/Whisky_Scalars.F90 b/src/Whisky_Scalars.F90
new file mode 100644
index 0000000..d2dfb8c
--- /dev/null
+++ b/src/Whisky_Scalars.F90
@@ -0,0 +1,30 @@
+ /*@@
+ @file Whisky_Scalars.F90
+ @date Mon Feb 25 11:11:23 2002
+ @author
+ @desc
+ Module containing various scalars to avoid having to use
+ CCTK_EQUALS on keywords at every cell (slow).
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+ module Whisky_Scalars
+
+ implicit none
+
+ LOGICAL :: MINMOD, MINMOD2, MINMOD3, MC1, MC2, SUPERBEE, PPM3, PPM4
+ LOGICAL :: ANALYTICAL
+ LOGICAL :: FAST
+
+ CCTK_INT :: EOS_RiemannCallPlus, EOS_RiemannCallMinus, EOS_RoeAverageCall
+ CCTK_INT :: EOS_Con2PrimCall
+ CCTK_INT :: EOS_Prim2ConBndCallPlus, EOS_Prim2ConBndCallMinus
+ CCTK_INT :: EOS_Prim2ConCellsCall
+
+ CCTK_REAL :: eosgeneral_pmin
+
+ end module Whisky_Scalars
diff --git a/src/Whisky_Set_TP_GF.c b/src/Whisky_Set_TP_GF.c
new file mode 100644
index 0000000..f8c1ed7
--- /dev/null
+++ b/src/Whisky_Set_TP_GF.c
@@ -0,0 +1,89 @@
+ /*@@
+ @file Set_Trivial_Riemann_Problem_Grid_Function
+ @date Thu May 08
+ @author Frank Loeffler
+ @desc
+ This routine sets the grid function for the trivial rieman problem
+ bits. This is only done for debugging purposes
+
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include "SpaceMask.h"
+
+void Set_Trivial_Riemann_Problem_Grid_Function(CCTK_ARGUMENTS)
+{
+
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ int nx, ny, nz, i, j, k, point;
+ int type, state;
+
+ nx = cctk_lsh[0];
+ ny = cctk_lsh[1];
+ nz = cctk_lsh[2];
+
+ if (flux_direction[0]==1)
+ {
+ type =SpaceMask_GetTypeBits("Hydro_RiemannProblemX");
+ state=SpaceMask_GetStateBits("Hydro_RiemannProblemX", "trivial");
+ for (k=0 ; k<nz ; k++)
+ for (j=0 ; j<ny ; j++)
+ for (i=0 ; i<nx ; i++)
+ {
+ point = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ if (SpaceMask_CheckStateBits(space_mask, point, type, state))
+ {
+ whisky_trivial_rp_gf_x[point]=1;
+ }
+ else
+ {
+ whisky_trivial_rp_gf_x[point]=0;
+ }
+ }
+ }
+ if (flux_direction[0]==2)
+ {
+ type =SpaceMask_GetTypeBits("Hydro_RiemannProblemY");
+ state=SpaceMask_GetStateBits("Hydro_RiemannProblemY", "trivial");
+ for (k=0 ; k<nz ; k++)
+ for (j=0 ; j<ny ; j++)
+ for (i=0 ; i<nx ; i++)
+ {
+ point = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ if (SpaceMask_CheckStateBits(space_mask, point, type, state))
+ {
+ whisky_trivial_rp_gf_y[point]=1;
+ }
+ else
+ {
+ whisky_trivial_rp_gf_y[point]=0;
+ }
+ }
+ }
+ if (flux_direction[0]==3)
+ {
+ type =SpaceMask_GetTypeBits("Hydro_RiemannProblemZ");
+ state=SpaceMask_GetStateBits("Hydro_RiemannProblemZ", "trivial");
+ for (k=0 ; k<nz ; k++)
+ for (j=0 ; j<ny ; j++)
+ for (i=0 ; i<nx ; i++)
+ {
+ point = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ if (SpaceMask_CheckStateBits(space_mask, point, type, state))
+ {
+ whisky_trivial_rp_gf_z[point]=1;
+ }
+ else
+ {
+ whisky_trivial_rp_gf_z[point]=0;
+ }
+ }
+ }
+ return;
+}
diff --git a/src/Whisky_Shift.F90 b/src/Whisky_Shift.F90
new file mode 100644
index 0000000..075c189
--- /dev/null
+++ b/src/Whisky_Shift.F90
@@ -0,0 +1,174 @@
+/*@@
+ @file Whisky_Shift.F90
+ @date Fri Mar 14 17:36:37 2003
+ @author Ian Hawke
+ @desc
+ Set the shift so that it is approximately comoving with the
+ velocity.
+ @enddesc
+@@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine Whisky_ComovingShift
+ @date Fri Mar 14 17:37:30 2003
+ @author Ian Hawke
+ @desc
+ Implements the comoving shift
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_ComovingShift(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: ierr, Reduction_Handle, VarIndex
+ CCTK_REAL :: rho_max
+ CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: attenuate
+
+ call CCTK_ReductionHandle(Reduction_Handle, "maximum")
+ call CCTK_VarIndex(VarIndex, "HydroBase::rho")
+
+ call CCTK_Reduce(ierr, cctkGH, -1, Reduction_Handle, &
+ 1, CCTK_VARIABLE_REAL, rho_max, 1, VarIndex)
+ if (ierr .ne. 0) then
+ call CCTK_WARN(0, "Failed to find rho_max")
+ end if
+
+!!$ Hard wire in nuclear density
+
+ if (CCTK_EQUALS(comoving_attenuate,"sqrt")) then
+ attenuate = sqrt(rho / rho_max)
+ else if (CCTK_EQUALS(comoving_attenuate,"tanh")) then
+ attenuate = 0.5d0*(tanh(comoving_tanh_factor*&
+ (rho/rho_max - comoving_tanh_offset)) + 1.d0 )
+ else
+ attenuate = 1.d0
+ end if
+
+ if (rho_max < 0.000324d0) then
+
+ if (CCTK_EQUALS(comoving_v_method,"projected")) then
+
+ where (rho > 10.d0 * whisky_rho_min)
+
+ betax = -comoving_factor*x*alp*(x*vel(:,:,:,1) + y*vel(:,:,:,2) + z*vel(:,:,:,3)) / &
+ (r**2 + 1.d-10) * attenuate
+ betay = -comoving_factor*y*alp*(x*vel(:,:,:,1) + y*vel(:,:,:,2) + z*vel(:,:,:,3)) / &
+ (r**2 + 1.d-10) * attenuate
+ betaz = -comoving_factor*z*alp*(x*vel(:,:,:,1) + y*vel(:,:,:,2) + z*vel(:,:,:,3)) / &
+ (r**2 + 1.d-10) * attenuate
+
+ elsewhere
+
+ betax = 0.d0
+ betay = 0.d0
+ betaz = 0.d0
+
+ end where
+
+ else if (CCTK_EQUALS(comoving_v_method,"components")) then
+
+ where (rho > 10.d0 * whisky_rho_min)
+
+ betax = comoving_factor * alp * x / (r + 1.d-10) * sqrt( (&
+ (vel_p(:,:,:,1) - betax_p / alp_p)**2 + &
+ (vel_p(:,:,:,2) - betay_p / alp_p)**2 + &
+ (vel_p(:,:,:,3) - betaz_p / alp_p)**2) ) * attenuate
+ betay = comoving_factor * alp * y / (r + 1.d-10) * sqrt( (&
+ (vel_p(:,:,:,1) - betax_p / alp_p)**2 + &
+ (vel_p(:,:,:,2) - betay_p / alp_p)**2 + &
+ (vel_p(:,:,:,3) - betaz_p / alp_p)**2) ) * attenuate
+ betaz = comoving_factor * alp * z / (r + 1.d-10) * sqrt( (&
+ (vel_p(:,:,:,1) - betax_p / alp_p)**2 + &
+ (vel_p(:,:,:,2) - betay_p / alp_p)**2 + &
+ (vel_p(:,:,:,3) - betaz_p / alp_p)**2) ) * attenuate
+
+ elsewhere
+
+ betax = 0.d0
+ betay = 0.d0
+ betaz = 0.d0
+
+ end where
+
+ end if
+
+ else
+
+ betax = 0.d0
+ betay = 0.d0
+ betaz = 0.d0
+
+ end if
+
+end subroutine Whisky_ComovingShift
+
+ /*@@
+ @routine Whisky_SetUpCoords
+ @date Fri Mar 14 19:11:13 2003
+ @author Ian Hawke
+ @desc
+ Initializes the coordinates that are evolved with the
+ comoving shift
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_SetUpCoords(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ whisky_x = x
+ whisky_y = y
+ whisky_z = z
+
+end subroutine Whisky_SetUpCoords
+
+ /*@@
+ @routine Whisky_EvolveCoords
+ @date Wed Mar 19 12:04:20 2003
+ @author Ian Hawke
+ @desc
+ Evolve the coordinate system
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_EvolveCoords(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ whisky_x_rhs = -betax
+ whisky_y_rhs = -betay
+ whisky_z_rhs = -betaz
+
+end subroutine Whisky_EvolveCoords
diff --git a/src/Whisky_SlopeLimiter.F90 b/src/Whisky_SlopeLimiter.F90
new file mode 100644
index 0000000..e0d1b41
--- /dev/null
+++ b/src/Whisky_SlopeLimiter.F90
@@ -0,0 +1,105 @@
+ /*@@
+ @file Whisky_SlopeLimiter.F90
+ @date Sat Jan 26 02:00:32 2002
+ @author
+ @desc
+ The routine for the more complex slope limiters.
+ See Toros book for most of these.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+ /*@@
+ @routine slopelimiter
+ @date Sat Jan 26 02:01:15 2002
+ @author Luca Baiotti, Ian Hawke
+ @desc
+ Given the slope delta and the ratio of the two local slopes,
+ limit the slope so the reconstruction is TVD.
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Original minmod from GR3D, author Mark Miller. Other limiters from
+ codes of Hawke, Nikiforakis and Toro.
+ @endhistory
+
+@@*/
+
+subroutine slopelimiter(r, delta)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_REAL :: phi, r, denor, phir, delta
+
+ denor = 1.d0 + r
+ phir = 2.d0/denor
+
+ if (MC1) then
+
+ if (r > 0.d0) then
+ phi = min( 2.d0*r/(1.d0+r), phir )
+ else
+ phi = 0.d0
+ end if
+
+!!$ else if (MC2) then
+!!$
+!!$ if (r > 3.d0) then
+!!$ phi = 2*phir
+!!$ else if (r > 1.d0/3.d0) then
+!!$ phi = 1
+!!$ else if (r > 0) then
+!!$ phi = 2*r*phir
+!!$ else
+!!$ phi = 0.d0
+!!$ end if
+
+ else if (MINMOD2) then
+
+ if (r > 1.d0) then
+ phi = min(1.d0, phir )
+ else if (r > 0.d0) then
+ phi = r
+ else
+ phi = 0.d0
+ end if
+
+ else if (MINMOD3) then
+
+ if (r > 0.d0) then
+ phi = min(1.d0, 4.d0/(1.d0+r) )
+ else
+ phi = 0.d0
+ end if
+
+ else if (SUPERBEE) then
+
+ if (r > 1.d0) then
+ phi = min(2.d0, r, 2.d0 / (1.d0 + r))
+ else if (r > 0.5d0) then
+ phi = 1.d0
+ else if (r > 0.d0) then
+ phi = 2.d0 * r
+ else
+ phi = 0.d0
+ end if
+
+ else
+
+ call CCTK_WARN(0, "Type of limiter not recognized")
+
+ end if
+
+ delta = delta * phi
+
+end subroutine slopelimiter
+
diff --git a/src/Whisky_Source.F90 b/src/Whisky_Source.F90
new file mode 100644
index 0000000..f96f317
--- /dev/null
+++ b/src/Whisky_Source.F90
@@ -0,0 +1,495 @@
+ /*@@
+ @file Whisky_Source.F90
+ @date Sat Jan 26 02:03:56 2002
+ @author Ian Hawke
+ @desc
+ The geometric source terms for the matter evolution
+ @enddesc
+ @@*/
+
+! Second order f.d.
+
+#define DIFF_X_2(q) 0.5d0 * (q(i+1,j,k) - q(i-1,j,k)) * idx
+#define DIFF_Y_2(q) 0.5d0 * (q(i,j+1,k) - q(i,j-1,k)) * idy
+#define DIFF_Z_2(q) 0.5d0 * (q(i,j,k+1) - q(i,j,k-1)) * idz
+
+! Fourth order f.d.
+
+#define DIFF_X_4(q) (-q(i+2,j,k) + 8.d0 * q(i+1,j,k) - 8.d0 * q(i-1,j,k) + \
+ q(i-2,j,k)) / 12.d0 * idx
+#define DIFF_Y_4(q) (-q(i,j+2,k) + 8.d0 * q(i,j+1,k) - 8.d0 * q(i,j-1,k) + \
+ q(i,j-2,k)) / 12.d0 * idy
+#define DIFF_Z_4(q) (-q(i,j,k+2) + 8.d0 * q(i,j,k+1) - 8.d0 * q(i,j,k-1) + \
+ q(i,j,k-2)) / 12.d0 * idz
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+ /*@@
+ @routine SourceTerms
+ @date Sat Jan 26 02:04:21 2002
+ @author Ian Hawke
+ @desc
+ Calculate the geometric source terms and add to the update GFs
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Minor alterations of routine from GR3D.
+ @endhistory
+
+@@*/
+
+subroutine SourceTerms(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k, nx, ny, nz
+ CCTK_REAL :: one, two, half
+ CCTK_REAL :: t00, t0x, t0y, t0z, txx, txy, txz, tyy, tyz, tzz
+ CCTK_REAL :: sqrtdet, det, uxx, uxy, uxz, uyy, uyz, uzz, rhoenthalpyW2
+ CCTK_REAL :: shiftx, shifty, shiftz, velxshift, velyshift, velzshift
+ CCTK_REAL :: vlowx, vlowy, vlowz
+ CCTK_REAL :: dx_betax, dx_betay, dx_betaz, dy_betax, dy_betay,&
+ dy_betaz, dz_betax, dz_betay, dz_betaz
+ CCTK_REAL :: dx_alp, dy_alp, dz_alp
+ CCTK_REAL :: tau_source, sx_source, sy_source, sz_source
+ CCTK_REAL :: localgxx,localgxy,localgxz,localgyy,localgyz,localgzz
+ CCTK_REAL :: dx_gxx, dx_gxy, dx_gxz, dx_gyy, dx_gyz, dx_gzz
+ CCTK_REAL :: dy_gxx, dy_gxy, dy_gxz, dy_gyy, dy_gyz, dy_gzz
+ CCTK_REAL :: dz_gxx, dz_gxy, dz_gxz, dz_gyy, dz_gyz, dz_gzz
+ CCTK_REAL :: dx, dy, dz, idx, idy, idz
+ CCTK_REAL :: psi4pt, dx_psi4, dy_psi4, dz_psi4
+ CCTK_REAL :: shiftshiftk, shiftkx, shiftky, shiftkz
+ CCTK_REAL :: sumTK
+ CCTK_REAL :: halfshiftdgx, halfshiftdgy, halfshiftdgz
+ CCTK_REAL :: halfTdgx, halfTdgy, halfTdgz
+
+ logical, allocatable, dimension (:,:,:) :: force_spatial_second_order
+
+ one = 1.0d0
+ two = 2.0d0
+ half = 0.5d0
+ nx = cctk_lsh(1)
+ ny = cctk_lsh(2)
+ nz = cctk_lsh(3)
+ dx = CCTK_DELTA_SPACE(1)
+ dy = CCTK_DELTA_SPACE(2)
+ dz = CCTK_DELTA_SPACE(3)
+ idx = 1.d0/dx
+ idy = 1.d0/dy
+ idz = 1.d0/dz
+
+!!$ Initialize the update terms to be zero.
+!!$ This will guarantee that no garbage in the boundaries is updated.
+
+ densrhs = 0.d0
+ srhs = 0.d0
+ taurhs = 0.d0
+
+ if (evolve_tracer .ne. 0) then
+
+ cons_tracerrhs = 0.d0
+
+ end if
+
+!!$ Set up the array for checking the order. We switch to second order
+!!$ differencing at boundaries and near excision regions.
+!!$ Copied straight from BSSN.
+
+ allocate (force_spatial_second_order(nx,ny,nz))
+ force_spatial_second_order = .FALSE.
+
+ if (spatial_order > 2) then
+ !$OMP PARALLEL DO PRIVATE(i, j)
+ do k = 1 + whisky_stencil, nz - whisky_stencil
+ do j = 1 + whisky_stencil, ny - whisky_stencil
+ do i = 1 + whisky_stencil, nx - whisky_stencil
+ if ((i < 3).or.(i > cctk_lsh(1) - 2).or. &
+ (j < 3).or.(j > cctk_lsh(2) - 2).or. &
+ (k < 3).or.(k > cctk_lsh(3) - 2) ) then
+ force_spatial_second_order(i,j,k) = .TRUE.
+ else if ( use_mask > 0 ) then
+ if (minval(emask(i-2:i+2,j-2:j+2,k-2:k+2)) < 0.75d0) then
+ force_spatial_second_order(i,j,k) = .TRUE.
+ end if
+ end if
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+ end if
+
+ !$OMP PARALLEL DO PRIVATE(i, j, local_spatial_order,&
+ !$OMP localgxx,localgxy,localgxz,localgyy,localgyz,localgzz,&
+ !$OMP psi4pt,det,sqrtdet,rhoenthalpyW2,shiftx,shifty,shiftz,&
+ !$OMP dx_betax,dx_betay,dx_betaz,dy_betax,dy_betay,dy_betaz,&
+ !$OMP dz_betax,dz_betay,dz_betaz,velxshift,velyshift,velzshift,&
+ !$OMP vlowx,vlowy,vlowz,t00,t0x,t0y,t0z,txx,txy,txz,tyy,tyz,tzz,&
+ !$OMP dx_alp,dy_alp,dz_alp,tau_source,sx_source,sy_source,sz_source,&
+ !$OMP uxx, uxy, uxz, uyy, uyz, uzz,&
+ !$OMP dx_gxx, dx_gxy, dx_gxz, dx_gyy, dx_gyz, dx_gzz,&
+ !$OMP dy_gxx, dy_gxy, dy_gxz, dy_gyy, dy_gyz, dy_gzz,&
+ !$OMP dz_gxx, dz_gxy, dz_gxz, dz_gyy, dz_gyz, dz_gzz,&
+ !$OMP dx_psi4,dy_psi4,dz_psi4,shiftshiftk,shiftkx,shiftky,shiftkz,&
+ !$OMP sumTK,halfshiftdgx,halfshiftdgy,halfshiftdgz,&
+ !$OMP halfTdgx,halfTdgy,halfTdgz)
+ do k=1 + whisky_stencil,nz - whisky_stencil
+ do j=1 + whisky_stencil,ny - whisky_stencil
+ do i=1 + whisky_stencil,nx - whisky_stencil
+
+ local_spatial_order = spatial_order
+ if (force_spatial_second_order(i,j,k)) then
+ local_spatial_order = 2
+ end if
+
+!!$ Set the metric terms.
+
+ if (conformal_state .eq. 0) then
+
+ localgxx = gxx(i,j,k)
+ localgxy = gxy(i,j,k)
+ localgxz = gxz(i,j,k)
+ localgyy = gyy(i,j,k)
+ localgyz = gyz(i,j,k)
+ localgzz = gzz(i,j,k)
+
+ else
+
+ psi4pt = psi(i,j,k)**4
+
+ localgxx = psi4pt*gxx(i,j,k)
+ localgxy = psi4pt*gxy(i,j,k)
+ localgxz = psi4pt*gxz(i,j,k)
+ localgyy = psi4pt*gyy(i,j,k)
+ localgyz = psi4pt*gyz(i,j,k)
+ localgzz = psi4pt*gzz(i,j,k)
+
+ end if
+
+
+ call SpatialDeterminant(localgxx, localgxy, localgxz,&
+ localgyy, localgyz, localgzz, det)
+ sqrtdet = sqrt(det)
+ call UpperMetric(uxx, uxy, uxz, uyy, uyz, uzz, det, localgxx,&
+ localgxy, localgxz, localgyy, localgyz, localgzz)
+
+!!$ All the matter variables (except velocity) always appear
+!!$ together in this form
+
+ rhoenthalpyW2 = (rho(i,j,k)*(one + eps(i,j,k)) + press(i,j,k))*&
+ w_lorentz(i,j,k)**2
+
+ if (shift_state .ne. 0) then
+
+ shiftx = betax(i,j,k)
+ shifty = betay(i,j,k)
+ shiftz = betaz(i,j,k)
+
+ if (local_spatial_order .eq. 2) then
+
+ dx_betax = DIFF_X_2(betax)
+ dx_betay = DIFF_X_2(betay)
+ dx_betaz = DIFF_X_2(betaz)
+
+ dy_betax = DIFF_Y_2(betax)
+ dy_betay = DIFF_Y_2(betay)
+ dy_betaz = DIFF_Y_2(betaz)
+
+ dz_betax = DIFF_Z_2(betax)
+ dz_betay = DIFF_Z_2(betay)
+ dz_betaz = DIFF_Z_2(betaz)
+
+ else
+
+ dx_betax = DIFF_X_4(betax)
+ dx_betay = DIFF_X_4(betay)
+ dx_betaz = DIFF_X_4(betaz)
+
+ dy_betax = DIFF_Y_4(betax)
+ dy_betay = DIFF_Y_4(betay)
+ dy_betaz = DIFF_Y_4(betaz)
+
+ dz_betax = DIFF_Z_4(betax)
+ dz_betay = DIFF_Z_4(betay)
+ dz_betaz = DIFF_Z_4(betaz)
+
+ end if
+
+ else
+
+ shiftx = 0.0d0
+ shifty = 0.0d0
+ shiftz = 0.0d0
+
+ dx_betax = 0.0d0
+ dx_betay = 0.0d0
+ dx_betaz = 0.0d0
+
+ dy_betax = 0.0d0
+ dy_betay = 0.0d0
+ dy_betaz = 0.0d0
+
+ dz_betax = 0.0d0
+ dz_betay = 0.0d0
+ dz_betaz = 0.0d0
+
+ endif
+
+ velxshift = velx(i,j,k) - shiftx/alp(i,j,k)
+ velyshift = vely(i,j,k) - shifty/alp(i,j,k)
+ velzshift = velz(i,j,k) - shiftz/alp(i,j,k)
+ vlowx = velx(i,j,k)*localgxx + vely(i,j,k)*localgxy +&
+ velz(i,j,k)*localgxz
+ vlowy = velx(i,j,k)*localgxy + vely(i,j,k)*localgyy +&
+ velz(i,j,k)*localgyz
+ vlowz = velx(i,j,k)*localgxz + vely(i,j,k)*localgyz +&
+ velz(i,j,k)*localgzz
+
+!!$ For a change, these are T^{ij}
+
+ t00 = (rhoenthalpyW2 - press(i,j,k))/(alp(i,j,k)**2)
+ t0x = rhoenthalpyW2*velxshift/alp(i,j,k) +&
+ press(i,j,k)*shiftx/(alp(i,j,k)**2)
+ t0y = rhoenthalpyW2*velyshift/alp(i,j,k) +&
+ press(i,j,k)*shifty/(alp(i,j,k)**2)
+ t0z = rhoenthalpyW2*velzshift/alp(i,j,k) +&
+ press(i,j,k)*shiftz/(alp(i,j,k)**2)
+ txx = rhoenthalpyW2*velxshift*velxshift +&
+ press(i,j,k)*(uxx - shiftx*shiftx/(alp(i,j,k)**2))
+ txy = rhoenthalpyW2*velxshift*velyshift +&
+ press(i,j,k)*(uxy - shiftx*shifty/(alp(i,j,k)**2))
+ txz = rhoenthalpyW2*velxshift*velzshift +&
+ press(i,j,k)*(uxz - shiftx*shiftz/(alp(i,j,k)**2))
+ tyy = rhoenthalpyW2*velyshift*velyshift +&
+ press(i,j,k)*(uyy - shifty*shifty/(alp(i,j,k)**2))
+ tyz = rhoenthalpyW2*velyshift*velzshift +&
+ press(i,j,k)*(uyz - shifty*shiftz/(alp(i,j,k)**2))
+ tzz = rhoenthalpyW2*velzshift*velzshift +&
+ press(i,j,k)*(uzz - shiftz*shiftz/(alp(i,j,k)**2))
+
+!!$ Derivatives of the lapse, metric and shift
+
+ if (local_spatial_order .eq. 2) then
+
+ dx_alp = DIFF_X_2(alp)
+ dy_alp = DIFF_Y_2(alp)
+ dz_alp = DIFF_Z_2(alp)
+
+ else
+
+ dx_alp = DIFF_X_4(alp)
+ dy_alp = DIFF_Y_4(alp)
+ dz_alp = DIFF_Z_4(alp)
+
+ end if
+
+ if (conformal_state .eq. 0) then
+
+ if (local_spatial_order .eq. 2) then
+
+ dx_gxx = DIFF_X_2(gxx)
+ dx_gxy = DIFF_X_2(gxy)
+ dx_gxz = DIFF_X_2(gxz)
+ dx_gyy = DIFF_X_2(gyy)
+ dx_gyz = DIFF_X_2(gyz)
+ dx_gzz = DIFF_X_2(gzz)
+ dy_gxx = DIFF_Y_2(gxx)
+ dy_gxy = DIFF_Y_2(gxy)
+ dy_gxz = DIFF_Y_2(gxz)
+ dy_gyy = DIFF_Y_2(gyy)
+ dy_gyz = DIFF_Y_2(gyz)
+ dy_gzz = DIFF_Y_2(gzz)
+ dz_gxx = DIFF_Z_2(gxx)
+ dz_gxy = DIFF_Z_2(gxy)
+ dz_gxz = DIFF_Z_2(gxz)
+ dz_gyy = DIFF_Z_2(gyy)
+ dz_gyz = DIFF_Z_2(gyz)
+ dz_gzz = DIFF_Z_2(gzz)
+
+ else
+
+ dx_gxx = DIFF_X_4(gxx)
+ dx_gxy = DIFF_X_4(gxy)
+ dx_gxz = DIFF_X_4(gxz)
+ dx_gyy = DIFF_X_4(gyy)
+ dx_gyz = DIFF_X_4(gyz)
+ dx_gzz = DIFF_X_4(gzz)
+ dy_gxx = DIFF_Y_4(gxx)
+ dy_gxy = DIFF_Y_4(gxy)
+ dy_gxz = DIFF_Y_4(gxz)
+ dy_gyy = DIFF_Y_4(gyy)
+ dy_gyz = DIFF_Y_4(gyz)
+ dy_gzz = DIFF_Y_4(gzz)
+ dz_gxx = DIFF_Z_4(gxx)
+ dz_gxy = DIFF_Z_4(gxy)
+ dz_gxz = DIFF_Z_4(gxz)
+ dz_gyy = DIFF_Z_4(gyy)
+ dz_gyz = DIFF_Z_4(gyz)
+ dz_gzz = DIFF_Z_4(gzz)
+
+ end if
+
+ else if (conformal_state > 1) then
+
+!!$ Using conformal factor, and the derivatives are
+!!$ already calculated.
+
+ psi4pt = psi(i,j,k)**4
+ dx_psi4 = 4.d0*psi4pt*psix(i,j,k)
+ dy_psi4 = 4.d0*psi4pt*psiy(i,j,k)
+ dz_psi4 = 4.d0*psi4pt*psiz(i,j,k)
+
+ if (local_spatial_order .eq. 2) then
+
+ dx_gxx = DIFF_X_2(gxx)*psi4pt + dx_psi4*gxx(i,j,k)
+ dx_gxy = DIFF_X_2(gxy)*psi4pt + dx_psi4*gxy(i,j,k)
+ dx_gxz = DIFF_X_2(gxz)*psi4pt + dx_psi4*gxz(i,j,k)
+ dx_gyy = DIFF_X_2(gyy)*psi4pt + dx_psi4*gyy(i,j,k)
+ dx_gyz = DIFF_X_2(gyz)*psi4pt + dx_psi4*gyz(i,j,k)
+ dx_gzz = DIFF_X_2(gzz)*psi4pt + dx_psi4*gzz(i,j,k)
+ dy_gxx = DIFF_Y_2(gxx)*psi4pt + dy_psi4*gxx(i,j,k)
+ dy_gxy = DIFF_Y_2(gxy)*psi4pt + dy_psi4*gxy(i,j,k)
+ dy_gxz = DIFF_Y_2(gxz)*psi4pt + dy_psi4*gxz(i,j,k)
+ dy_gyy = DIFF_Y_2(gyy)*psi4pt + dy_psi4*gyy(i,j,k)
+ dy_gyz = DIFF_Y_2(gyz)*psi4pt + dy_psi4*gyz(i,j,k)
+ dy_gzz = DIFF_Y_2(gzz)*psi4pt + dy_psi4*gzz(i,j,k)
+ dz_gxx = DIFF_Z_2(gxx)*psi4pt + dz_psi4*gxx(i,j,k)
+ dz_gxy = DIFF_Z_2(gxy)*psi4pt + dz_psi4*gxy(i,j,k)
+ dz_gxz = DIFF_Z_2(gxz)*psi4pt + dz_psi4*gxz(i,j,k)
+ dz_gyy = DIFF_Z_2(gyy)*psi4pt + dz_psi4*gyy(i,j,k)
+ dz_gyz = DIFF_Z_2(gyz)*psi4pt + dz_psi4*gyz(i,j,k)
+ dz_gzz = DIFF_Z_2(gzz)*psi4pt + dz_psi4*gzz(i,j,k)
+
+ else
+
+ dx_gxx = DIFF_X_4(gxx)*psi4pt + dx_psi4*gxx(i,j,k)
+ dx_gxy = DIFF_X_4(gxy)*psi4pt + dx_psi4*gxy(i,j,k)
+ dx_gxz = DIFF_X_4(gxz)*psi4pt + dx_psi4*gxz(i,j,k)
+ dx_gyy = DIFF_X_4(gyy)*psi4pt + dx_psi4*gyy(i,j,k)
+ dx_gyz = DIFF_X_4(gyz)*psi4pt + dx_psi4*gyz(i,j,k)
+ dx_gzz = DIFF_X_4(gzz)*psi4pt + dx_psi4*gzz(i,j,k)
+ dy_gxx = DIFF_Y_4(gxx)*psi4pt + dy_psi4*gxx(i,j,k)
+ dy_gxy = DIFF_Y_4(gxy)*psi4pt + dy_psi4*gxy(i,j,k)
+ dy_gxz = DIFF_Y_4(gxz)*psi4pt + dy_psi4*gxz(i,j,k)
+ dy_gyy = DIFF_Y_4(gyy)*psi4pt + dy_psi4*gyy(i,j,k)
+ dy_gyz = DIFF_Y_4(gyz)*psi4pt + dy_psi4*gyz(i,j,k)
+ dy_gzz = DIFF_Y_4(gzz)*psi4pt + dy_psi4*gzz(i,j,k)
+ dz_gxx = DIFF_Z_4(gxx)*psi4pt + dz_psi4*gxx(i,j,k)
+ dz_gxy = DIFF_Z_4(gxy)*psi4pt + dz_psi4*gxy(i,j,k)
+ dz_gxz = DIFF_Z_4(gxz)*psi4pt + dz_psi4*gxz(i,j,k)
+ dz_gyy = DIFF_Z_4(gyy)*psi4pt + dz_psi4*gyy(i,j,k)
+ dz_gyz = DIFF_Z_4(gyz)*psi4pt + dz_psi4*gyz(i,j,k)
+ dz_gzz = DIFF_Z_4(gzz)*psi4pt + dz_psi4*gzz(i,j,k)
+
+ end if
+
+ else
+!!$ Have to finite difference the conformal factor
+ call CCTK_WARN(0,"At this point in the source terms we should be differencing the conformal factor. Ian has been too lazy to put this bit of code in yet.")
+ end if
+
+!!$ Contract the shift with the extrinsic curvature
+
+ shiftshiftk = shiftx*shiftx*kxx(i,j,k) + &
+ shifty*shifty*kyy(i,j,k) + &
+ shiftz*shiftz*kzz(i,j,k) + &
+ two*(shiftx*shifty*kxy(i,j,k) + &
+ shiftx*shiftz*kxz(i,j,k) + &
+ shifty*shiftz*kyz(i,j,k))
+
+ shiftkx = shiftx*kxx(i,j,k) + shifty*kxy(i,j,k) + shiftz*kxz(i,j,k)
+ shiftky = shiftx*kxy(i,j,k) + shifty*kyy(i,j,k) + shiftz*kyz(i,j,k)
+ shiftkz = shiftx*kxz(i,j,k) + shifty*kyz(i,j,k) + shiftz*kzz(i,j,k)
+
+!!$ Contract the matter terms with the extrinsic curvature
+
+ sumTK = txx*kxx(i,j,k) + tyy*kyy(i,j,k) + tzz*kzz(i,j,k) &
+ + two*(txy*kxy(i,j,k) + txz*kxz(i,j,k) + tyz*kyz(i,j,k))
+
+!!$ Update term for tau
+
+ tau_source = t00* &
+ (shiftshiftk - (shiftx*dx_alp + shifty*dy_alp + shiftz*dz_alp) )&
+ + t0x*(-dx_alp + two*shiftkx) &
+ + t0y*(-dy_alp + two*shiftky) &
+ + t0z*(-dz_alp + two*shiftkz) &
+ + sumTK
+
+!!$ The following looks very little like the terms in the
+!!$ standard papers. Take a look in the ThornGuide to see why
+!!$ it is really the same thing.
+
+!!$ Contract the shift with derivatives of the metric
+
+ halfshiftdgx = half*(shiftx*shiftx*dx_gxx + &
+ shifty*shifty*dx_gyy + shiftz*shiftz*dx_gzz) + &
+ shiftx*shifty*dx_gxy + shiftx*shiftz*dx_gxz + &
+ shifty*shiftz*dx_gyz
+ halfshiftdgy = half*(shiftx*shiftx*dy_gxx + &
+ shifty*shifty*dy_gyy + shiftz*shiftz*dy_gzz) + &
+ shiftx*shifty*dy_gxy + shiftx*shiftz*dy_gxz + &
+ shifty*shiftz*dy_gyz
+ halfshiftdgz = half*(shiftx*shiftx*dz_gxx + &
+ shifty*shifty*dz_gyy + shiftz*shiftz*dz_gzz) + &
+ shiftx*shifty*dz_gxy + shiftx*shiftz*dz_gxz + &
+ shifty*shiftz*dz_gyz
+
+!!$ Contract the matter with derivatives of the metric
+
+ halfTdgx = half*(txx*dx_gxx + tyy*dx_gyy + tzz*dx_gzz) +&
+ txy*dx_gxy + txz*dx_gxz + tyz*dx_gyz
+ halfTdgy = half*(txx*dy_gxx + tyy*dy_gyy + tzz*dy_gzz) +&
+ txy*dy_gxy + txz*dy_gxz + tyz*dy_gyz
+ halfTdgz = half*(txx*dz_gxx + tyy*dz_gyy + tzz*dz_gzz) +&
+ txy*dz_gxy + txz*dz_gxz + tyz*dz_gyz
+
+ sx_source = t00*&
+ (halfshiftdgx - alp(i,j,k)*dx_alp) +&
+ t0x*(shiftx*dx_gxx + shifty*dx_gxy + shiftz*dx_gxz) +&
+ t0y*(shiftx*dx_gxy + shifty*dx_gyy + shiftz*dx_gyz) +&
+ t0z*(shiftx*dx_gxz + shifty*dx_gyz + shiftz*dx_gzz) +&
+ halfTdgx + rhoenthalpyW2*&
+ (vlowx*dx_betax + vlowy*dx_betay + vlowz*dx_betaz)/&
+ alp(i,j,k)
+ sy_source = t00*&
+ (halfshiftdgy - alp(i,j,k)*dy_alp) +&
+ t0x*(shiftx*dy_gxx + shifty*dy_gxy + shiftz*dy_gxz) +&
+ t0y*(shiftx*dy_gxy + shifty*dy_gyy + shiftz*dy_gyz) +&
+ t0z*(shiftx*dy_gxz + shifty*dy_gyz + shiftz*dy_gzz) +&
+ halfTdgy + rhoenthalpyW2*&
+ (vlowx*dy_betax + vlowy*dy_betay + vlowz*dy_betaz)/&
+ alp(i,j,k)
+ sz_source = t00*&
+ (halfshiftdgz - alp(i,j,k)*dz_alp) +&
+ t0x*(shiftx*dz_gxx + shifty*dz_gxy + shiftz*dz_gxz) +&
+ t0y*(shiftx*dz_gxy + shifty*dz_gyy + shiftz*dz_gyz) +&
+ t0z*(shiftx*dz_gxz + shifty*dz_gyz + shiftz*dz_gzz) +&
+ halfTdgz + rhoenthalpyW2*&
+ (vlowx*dz_betax + vlowy*dz_betay + vlowz*dz_betaz)/&
+ alp(i,j,k)
+
+ densrhs(i,j,k) = 0.d0
+ srhs(i,j,k,1) = alp(i,j,k)*sqrtdet*sx_source
+ srhs(i,j,k,2) = alp(i,j,k)*sqrtdet*sy_source
+ srhs(i,j,k,3) = alp(i,j,k)*sqrtdet*sz_source
+ taurhs(i,j,k) = alp(i,j,k)*sqrtdet*tau_source
+
+ enddo
+ enddo
+ enddo
+ !$OMP END PARALLEL DO
+
+ deallocate(force_spatial_second_order)
+
+end subroutine SourceTerms
+
+
+
diff --git a/src/Whisky_Startup.F90 b/src/Whisky_Startup.F90
new file mode 100644
index 0000000..8b893aa
--- /dev/null
+++ b/src/Whisky_Startup.F90
@@ -0,0 +1,428 @@
+ /*@@
+ @file Whisky_Startup.F90
+ @date Sun Feb 10 00:02:52 2002
+ @author Ian Hawke
+ @desc
+ Startup banner.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#include "util_ErrorCodes.h"
+#include "util_Table.h"
+
+ /*@@
+ @routine Whisky_Startup
+ @date Sun Feb 10 00:03:09 2002
+ @author Ian Hawke
+ @desc
+ Startup banner.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+integer function Whisky_Startup()
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_INT :: ierr, flags, table_handle, var, strlen, strend, n_base_indep_gfs
+ CCTK_INT, dimension(:), allocatable :: indep_gfs
+ CCTK_INT, dimension(4) :: dep_gfs
+ character(len=256) :: eos_name_param, var_names_param, var_names, var_gfs
+
+ call CCTK_RegisterBanner(ierr, "Whisky: relativistic hydrodynamics, no ice.")
+
+!!$ The number of independent variables is different in the polytropic or general case
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ n_base_indep_gfs = 1
+ else
+ n_base_indep_gfs = 2
+ end if
+
+ allocate(indep_gfs(n_base_indep_gfs + eosgeneral_n_indeps))
+
+
+!!$ Set up EOS calls.
+
+ if (use_eosgeneral .ne. 0) then
+
+!!$ First, set up the minimum pressure
+
+ eosgeneral_pmin = 1.d-28
+
+!!$ First, "Plus" boundary extended
+
+ flags = UTIL_TABLE_FLAGS_CASE_INSENSITIVE
+
+ call Util_TableCreate(table_handle, flags)
+
+ call CCTK_FortranString(strlen, eosgeneral_name, eos_name_param)
+ eos_name_param = trim(eos_name_param)
+ call Util_TableSetString(ierr, table_handle, &
+ eos_name_param, "EOS Name")
+ call CCTK_FortranString(strlen, eosgeneral_indep_names, &
+ var_names_param)
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ var_names = "Rho "//var_names_param(1:strlen)
+ else
+ var_names = "Rho SpecificInternalEnergy "//var_names_param(1:strlen)
+ end if
+ var_names = trim(var_names)
+ call Util_TableSetString(ierr, table_handle, &
+ var_names, "Independent variable names")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure DPressureDSpecificInternalEnergy c_s^2", &
+ "Dependent variable names")
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetInt(ierr, table_handle, &
+ 1 + eosgeneral_n_indeps, "N independent variables")
+ else
+ call Util_TableSetInt(ierr, table_handle, &
+ 2 + eosgeneral_n_indeps, "N independent variables")
+ end if
+ call Util_TableSetInt(ierr, table_handle, &
+ 3, "N dependent variables")
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhoplus")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhoplus")
+ call CCTK_VarIndex(indep_gfs(2), "whisky::epsplus")
+ end if
+ call CCTK_VarIndex(dep_gfs(1), "whisky::pressplus")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::eos_dpdeps_p")
+ call CCTK_VarIndex(dep_gfs(3), "whisky::eos_cs2_p")
+
+ call CCTK_FortranString(strlen, eosgeneral_indep_plus_gfs, var_gfs)
+ var_gfs = trim(var_gfs)
+
+ strend = 1
+
+ do var = 1, eosgeneral_n_indeps
+
+ strend = scan(var_gfs, " ")
+ if (strend > 0) then
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs(1:strend) )
+ var_gfs = var_gfs(strend+1:)
+ else
+ if (var .ne. eosgeneral_n_indeps) then
+ call CCTK_WARN(0, "Something wrong in the eos string")
+ end if
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs )
+ end if
+
+ end do
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ end if
+ call Util_TableSetIntArray(ierr, table_handle, 3, dep_gfs, &
+ "Dependent GFs")
+
+ EOS_RiemannCallPlus = EOS_SetupCall(table_handle)
+
+!!$ Second, "Minus" boundary extended
+!!$ Many of the table entries are the same
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhominus")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhominus")
+ call CCTK_VarIndex(indep_gfs(2), "whisky::epsminus")
+ end if
+ call CCTK_VarIndex(dep_gfs(1), "whisky::pressminus")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::eos_dpdeps_m")
+ call CCTK_VarIndex(dep_gfs(3), "whisky::eos_cs2_m")
+
+ call CCTK_FortranString(strlen, eosgeneral_indep_minus_gfs, var_gfs)
+ var_gfs = trim(var_gfs)
+
+ strend = 1
+
+ do var = 1, eosgeneral_n_indeps
+
+ strend = scan(var_gfs, " ")
+ if (strend > 0) then
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs(1:strend) )
+ var_gfs = var_gfs(strend+1:)
+ else
+ if (var .ne. eosgeneral_n_indeps) then
+ call CCTK_WARN(0, "Something wrong in the eos string")
+ end if
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs )
+ end if
+
+ end do
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ end if
+ call Util_TableSetIntArray(ierr, table_handle, 3, dep_gfs, &
+ "Dependent GFs")
+
+ EOS_RiemannCallMinus = EOS_SetupCall(table_handle)
+
+!!$ Third, the "Average" state for the Roe solver
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rho_ave")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rho_ave")
+ call CCTK_VarIndex(indep_gfs(2), "whisky::eps_ave")
+ end if
+ call CCTK_VarIndex(dep_gfs(1), "whisky::press_ave")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::eos_dpdeps_ave")
+ call CCTK_VarIndex(dep_gfs(3), "whisky::eos_cs2_ave")
+
+ call CCTK_FortranString(strlen, eosgeneral_indep_gfs, var_gfs)
+ var_gfs = trim(var_gfs)
+
+ strend = 1
+
+ do var = 1, eosgeneral_n_indeps
+
+ strend = scan(var_gfs, " ")
+ if (strend > 0) then
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs(1:strend) )
+ var_gfs = var_gfs(strend+1:)
+ else
+ if (var .ne. eosgeneral_n_indeps) then
+ call CCTK_WARN(0, "Something wrong in the eos string")
+ end if
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs )
+ end if
+
+ end do
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ end if
+ call Util_TableSetIntArray(ierr, table_handle, 3, dep_gfs, &
+ "Dependent GFs")
+
+ EOS_RoeAverageCall = EOS_SetupCall(table_handle)
+
+!!$ Fourth, the "Con2Prim" call.
+!!$ This sets different variables.
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "HydroBase::rho")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure DPressureDSpecificInternalEnergy DPressureDRho SpecificInternalEnergy", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "HydroBase::press")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::eos_dpdeps_temp")
+ call CCTK_VarIndex(dep_gfs(3), "whisky::eos_dpdrho_temp")
+ call CCTK_VarIndex(dep_gfs(4), "HydroBase::eps")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "HydroBase::rho")
+ call CCTK_VarIndex(indep_gfs(2), "HydroBase::eps")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure DPressureDSpecificInternalEnergy DPressureDRho", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "HydroBase::press")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::eos_dpdeps_temp")
+ call CCTK_VarIndex(dep_gfs(3), "whisky::eos_dpdrho_temp")
+ end if
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 4, dep_gfs, &
+ "Dependent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 3, dep_gfs, &
+ "Dependent GFs")
+ end if
+
+ EOS_Con2PrimCall = EOS_SetupCall(table_handle)
+
+!!$ Fifth, the "Prim2Con" (boundary) calls.
+!!$ Again, different variables are set.
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhominus")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure SpecificInternalEnergy", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "whisky::pressminus")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::epsminus")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhominus")
+ call CCTK_VarIndex(indep_gfs(2), "whisky::epsminus")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "whisky::pressminus")
+ end if
+
+ call CCTK_FortranString(strlen, eosgeneral_indep_minus_gfs, var_gfs)
+ var_gfs = trim(var_gfs)
+
+ strend = 1
+
+ do var = 1, eosgeneral_n_indeps
+
+ strend = scan(var_gfs, " ")
+ if (strend > 0) then
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs(1:strend) )
+ var_gfs = var_gfs(strend+1:)
+ else
+ if (var .ne. eosgeneral_n_indeps) then
+ call CCTK_WARN(0, "Something wrong in the eos string")
+ end if
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs )
+ end if
+
+ end do
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 2, dep_gfs, &
+ "Dependent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 1, dep_gfs, &
+ "Dependent GFs")
+ end if
+
+ EOS_Prim2ConBndCallMinus = EOS_SetupCall(table_handle)
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhoplus")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure SpecificInternalEnergy", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "whisky::pressplus")
+ call CCTK_VarIndex(dep_gfs(2), "whisky::epsplus")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "whisky::rhoplus")
+ call CCTK_VarIndex(indep_gfs(2), "whisky::epsplus")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "whisky::pressplus")
+ end if
+
+ call CCTK_FortranString(strlen, eosgeneral_indep_plus_gfs, var_gfs)
+ var_gfs = trim(var_gfs)
+
+ strend = 1
+
+ do var = 1, eosgeneral_n_indeps
+
+ strend = scan(var_gfs, " ")
+ if (strend > 0) then
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs(1:strend) )
+ var_gfs = var_gfs(strend+1:)
+ else
+ if (var .ne. eosgeneral_n_indeps) then
+ call CCTK_WARN(0, "Something wrong in the eos string")
+ end if
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs )
+ end if
+
+ end do
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 2, dep_gfs, &
+ "Dependent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 1, dep_gfs, &
+ "Dependent GFs")
+ end if
+
+ EOS_Prim2ConBndCallPlus = EOS_SetupCall(table_handle)
+
+!!$ Sixth, the Prim2Con (cell centre) calls
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call CCTK_VarIndex(indep_gfs(1), "HydroBase::rho")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure SpecificInternalEnergy", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "HydroBase::press")
+ call CCTK_VarIndex(dep_gfs(2), "HydroBase::eps")
+ else
+ call CCTK_VarIndex(indep_gfs(1), "HydroBase::rho")
+ call CCTK_VarIndex(indep_gfs(2), "HydroBase::eps")
+ call Util_TableSetString(ierr, table_handle, &
+ "Pressure", &
+ "Dependent variable names")
+ call CCTK_VarIndex(dep_gfs(1), "HydroBase::press")
+ end if
+
+ call CCTK_FortranString(strlen, eosgeneral_indep_gfs, var_gfs)
+ var_gfs = trim(var_gfs)
+
+ strend = 1
+
+ do var = 1, eosgeneral_n_indeps
+
+ strend = scan(var_gfs, " ")
+ if (strend > 0) then
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs(1:strend) )
+ var_gfs = var_gfs(strend+1:)
+ else
+ if (var .ne. eosgeneral_n_indeps) then
+ call CCTK_WARN(0, "Something wrong in the eos string")
+ end if
+ call CCTK_VarIndex( indep_gfs(n_base_indep_gfs+var), var_gfs )
+ end if
+
+ end do
+
+ if (CCTK_EQUALS(whisky_eos_type, "Polytype")) then
+ call Util_TableSetIntArray(ierr, table_handle, 1 + eosgeneral_n_indeps, &
+ indep_gfs(1:1 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 2, dep_gfs, &
+ "Dependent GFs")
+ else
+ call Util_TableSetIntArray(ierr, table_handle, 2 + eosgeneral_n_indeps, &
+ indep_gfs(1:2 + eosgeneral_n_indeps), "Independent GFs")
+ call Util_TableSetIntArray(ierr, table_handle, 1, dep_gfs, &
+ "Dependent GFs")
+ end if
+
+ EOS_Prim2ConCellsCall = EOS_SetupCall(table_handle)
+
+ end if
+
+ deallocate(indep_gfs)
+
+ Whisky_Startup = 0
+
+end function Whisky_Startup
diff --git a/src/Whisky_TVDReconstruct.F90 b/src/Whisky_TVDReconstruct.F90
new file mode 100644
index 0000000..d6f4b95
--- /dev/null
+++ b/src/Whisky_TVDReconstruct.F90
@@ -0,0 +1,113 @@
+ /*@@
+ @file Whisky_TVDReconstruct.F90
+ @date Sat Jan 26 02:11:44 2002
+ @author Luca Baiotti
+ @desc
+ The TVD reconstruction routine.
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
+
+#include "SpaceMask.h"
+
+/* #define WHISKY_UNSTABLE_TVD */
+
+ /*@@
+ @routine tvdreconstruct
+ @date Sat Jan 26 02:12:12 2002
+ @author Luca Baiotti
+ @desc
+ Performs slope limited TVD reconstruction on the given input GF
+ @enddesc
+ @calls
+ @calledby
+ @history
+ Follows (in philosophy) old code by Ian Hawke
+ @endhistory
+
+@@*/
+
+subroutine tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
+ orig, bextp, bextm, trivial_rp, space_mask, excision_descriptors)
+
+ USE Whisky_Scalars
+
+ implicit none
+
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ integer :: i, j, k, xoffset, yoffset, zoffset, nx, ny, nz
+ CCTK_REAL, dimension(nx, ny, nz) :: orig, bextp, bextm
+ CCTK_REAL :: dupw, dloc, delta, ratio, hdelta
+ logical, dimension(nx,ny,nz) :: trivial_rp
+ CCTK_INT, dimension(nx,ny,nz) :: space_mask
+ CCTK_INT :: excision_bits, excision_mask
+ CCTK_INT, dimension(3) :: excision_descriptors
+
+
+ bextp = 0.d0
+ bextm = 0.d0
+
+!!$ Initially all Riemann problems are NON-trivial
+
+ trivial_rp = .false.
+ !$OMP PARALLEL DO PRIVATE(i,j,dupw,dloc,delta,ratio,hdelta)
+ do k = whisky_stencil, nz-whisky_stencil+1
+ do j = whisky_stencil, ny-whisky_stencil+1
+ do i = whisky_stencil, nx-whisky_stencil+1
+ dupw = orig(i, j, k) - orig(i-xoffset, j-yoffset, k-zoffset)
+ dloc = orig(i+xoffset, j+yoffset, k+zoffset) - orig(i, j, k)
+!!$ For minmod set everything here.
+!!$ Otherwise call the limiter function.
+
+ if (MINMOD) then
+!!$ if (dupw*dloc < 0.d0) then
+!!$ delta=0.d0
+!!$ else if (abs(dupw)<abs(dloc)) then
+!!$ delta=dupw
+!!$ else
+!!$ delta=dloc
+!!$ end if
+
+ delta = minmod_func(dupw,dloc)
+
+!!$ This is an alternative equivalent implementation
+!!$ of vanLeeer MC slopelimiter
+ else if (MC2) then
+ if (dupw*dloc < 0.d0) then
+ delta=0.d0
+ else
+ delta=sign(min(2.d0*abs(dupw),2.d0*abs(dloc),&
+ 0.5d0*(abs(dupw)+abs(dloc))),dupw+dloc)
+ end if
+ else
+ delta = 0.5d0*(dupw + dloc)
+ if (abs(dupw) < myfloor ) dupw = myfloor*sign(1.d0, dupw)
+ if (abs(dloc) < myfloor ) dloc = myfloor*sign(1.d0, dloc)
+ ratio = dupw / dloc
+ call slopelimiter(ratio, delta)
+ end if
+ hdelta = 0.5d0 * delta
+ bextm(i, j, k) = orig(i, j, k) - hdelta
+ bextp(i, j, k) = orig(i, j, k) + hdelta
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+contains
+ function minmod_func(a_in,b_in) result(minmod_result)
+ implicit none
+ CCTK_REAL,intent(IN)::a_in,b_in
+ CCTK_REAL::minmod_result
+
+ minmod_result=0.5D0*(sign(1.0D0,a_in)+sign(1.0D0,b_in))*min(abs(a_in),abs(b_in))
+ end function minmod_func
+
+end subroutine tvdreconstruct
+
diff --git a/src/Whisky_Tmunu.F90 b/src/Whisky_Tmunu.F90
new file mode 100644
index 0000000..ff3b720
--- /dev/null
+++ b/src/Whisky_Tmunu.F90
@@ -0,0 +1,175 @@
+ /*@@
+ @file Whisky_Tmunu.F90
+ @date Thu Apr 16 19:38:40 2009
+ @author Ian Hawke
+ @histpry
+ Apr. 2009: Luca Baiotti copied and adapted for the Tmunu-thorn mechanism the original include file
+ @desc
+ The calculation of the stress energy tensor.
+ The version used here was worked out by Miguel Alcubierre. I
+ think it was an extension of the routine from GR3D, written
+ by Mark Miller.
+ C version added by Ian Hawke.
+
+ Lower components of the stress-energy tensor obtained from
+ the hydro variables. The components are given by:
+
+ T = rho h u u + P g
+ mu nu mu nu mu nu
+
+ where rho is the energy density of the fluid, h the enthalpy
+ and P the pressure. The enthalpy is given in terms of the
+ basic variables as:
+
+ h = 1 + e + P/rho
+
+ with e the internal energy (eps here).
+
+ In the expresion for T_{mu,nu} we also have the four-velocity
+ of the fluid given by (v_i is the 3-velocity field):
+
+ i
+ u = W ( - alpha + v beta )
+ 0 i
+
+ u = W v
+ i i
+ i -1/2
+ with W the Lorentz factor: W = ( 1 - v v )
+ i
+
+ and where alpha and beta are the lapse and shift vector.
+
+ Finally, the 4 metric is given by
+
+ 2 i
+ g = - alpha + beta beta
+ 00 i
+
+ g = beta
+ 0i i
+
+
+ g = gamma (the spatial metric)
+ ij ij
+
+
+ @enddesc
+ @@*/
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "SpaceMask.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+
+ subroutine Whisky_Tmunu(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ CCTK_REAL velxlow, velylow, velzlow
+ CCTK_REAL betaxlow, betaylow, betazlow, beta2
+ CCTK_REAL utlow, uxlow, uylow, uzlow
+ CCTK_REAL rhoenthalpy
+ CCTK_REAL ut,ux,uy,uz,bst,bsx,bsy,bsz,bs2
+ CCTK_INT i,j,k
+
+
+ !$OMP PARALLEL DO PRIVATE(i,j,velxlow, velylow, velzlow,&
+ !$OMP betaxlow, betaylow, betazlow, beta2, utlow, uxlow, uylow, uzlow,&
+ !$OMP rhoenthalpy, ut,ux,uy,uz,bst,bsx,bsy,bsz,bs2)
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ if (conformal_state .eq. 0) then
+ velxlow = gxx(i,j,k)*velx(i,j,k) + gxy(i,j,k)*vely(i,j,k) + gxz(i,j,k)*velz(i,j,k)
+ velylow = gxy(i,j,k)*velx(i,j,k) + gyy(i,j,k)*vely(i,j,k) + gyz(i,j,k)*velz(i,j,k)
+ velzlow = gxz(i,j,k)*velx(i,j,k) + gyz(i,j,k)*vely(i,j,k) + gzz(i,j,k)*velz(i,j,k)
+ else
+ velxlow = psi(i,j,k)**4 * (gxx(i,j,k)*velx(i,j,k) + gxy(i,j,k)*vely(i,j,k) + gxz(i,j,k)*velz(i,j,k) )
+ velylow = psi(i,j,k)**4 * (gxy(i,j,k)*velx(i,j,k) + gyy(i,j,k)*vely(i,j,k) + gyz(i,j,k)*velz(i,j,k) )
+ velzlow = psi(i,j,k)**4 * (gxz(i,j,k)*velx(i,j,k) + gyz(i,j,k)*vely(i,j,k) + gzz(i,j,k)*velz(i,j,k) )
+ end if
+
+!!$ Calculate lower components and square of shift vector.
+
+ if (shift_state .ne. 0) then
+
+ if (conformal_state .eq. 0) then
+ betaxlow = gxx(i,j,k)*betax(i,j,k) + gxy(i,j,k)*betay(i,j,k) + gxz(i,j,k)*betaz(i,j,k)
+ betaylow = gxy(i,j,k)*betax(i,j,k) + gyy(i,j,k)*betay(i,j,k) + gyz(i,j,k)*betaz(i,j,k)
+ betazlow = gxz(i,j,k)*betax(i,j,k) + gyz(i,j,k)*betay(i,j,k) + gzz(i,j,k)*betaz(i,j,k)
+ else
+ betaxlow = psi(i,j,k)**4 * (gxx(i,j,k)*betax(i,j,k) + gxy(i,j,k)*betay(i,j,k) + gxz(i,j,k)*betaz(i,j,k) )
+ betaylow = psi(i,j,k)**4 * (gxy(i,j,k)*betax(i,j,k) + gyy(i,j,k)*betay(i,j,k) + gyz(i,j,k)*betaz(i,j,k) )
+ betazlow = psi(i,j,k)**4 * (gxz(i,j,k)*betax(i,j,k) + gyz(i,j,k)*betay(i,j,k) + gzz(i,j,k)*betaz(i,j,k) )
+ end if
+
+ beta2 = betax(i,j,k)*betaxlow + betay(i,j,k)*betaylow + betaz(i,j,k)*betazlow
+
+ else
+
+ betaxlow = 0.0D0
+ betaylow = 0.0D0
+ betazlow = 0.0D0
+
+ beta2 = 0.0D0
+
+ end if
+
+!!$ Calculate the specific relativistic enthalpy times rho times the
+!!$ square of the lorentz factor.
+
+ rhoenthalpy = w_lorentz(i,j,k)**2*(rho(i,j,k)*(1.0D0 + eps(i,j,k)) + press(i,j,k))
+
+!!$ Calculate lower components of 4-velocity (without the Lorent factor).
+
+ utlow = (-alp(i,j,k) + velx(i,j,k)*betaxlow + vely(i,j,k)*betaylow + velz(i,j,k)*betazlow)
+
+ uxlow = velxlow
+ uylow = velylow
+ uzlow = velzlow
+
+!!$ Calculate Tmunu (the lower components!).
+
+ eTtt(i,j,k) = eTtt(i,j,k) + rhoenthalpy*utlow**2 + press(i,j,k)*(beta2 - alp(i,j,k)**2)
+
+ eTtx(i,j,k) = eTtx(i,j,k) + rhoenthalpy*utlow*uxlow + press(i,j,k)*betaxlow
+ eTty(i,j,k) = eTty(i,j,k) + rhoenthalpy*utlow*uylow + press(i,j,k)*betaylow
+ eTtz(i,j,k) = eTtz(i,j,k) + rhoenthalpy*utlow*uzlow + press(i,j,k)*betazlow
+
+ if (conformal_state .eq. 0) then
+
+ eTxx(i,j,k) = eTxx(i,j,k) + rhoenthalpy*uxlow**2 + press(i,j,k)*gxx(i,j,k)
+ eTyy(i,j,k) = eTyy(i,j,k) + rhoenthalpy*uylow**2 + press(i,j,k)*gyy(i,j,k)
+ eTzz(i,j,k) = eTzz(i,j,k) + rhoenthalpy*uzlow**2 + press(i,j,k)*gzz(i,j,k)
+
+ eTxy(i,j,k) = eTxy(i,j,k) + rhoenthalpy*uxlow*uylow + press(i,j,k)*gxy(i,j,k)
+ eTxz(i,j,k) = eTxz(i,j,k) + rhoenthalpy*uxlow*uzlow + press(i,j,k)*gxz(i,j,k)
+ eTyz(i,j,k) = eTyz(i,j,k) + rhoenthalpy*uylow*uzlow + press(i,j,k)*gyz(i,j,k)
+
+ else
+
+ eTxx(i,j,k) = eTxx(i,j,k) + rhoenthalpy*uxlow**2 + psi(i,j,k)**4 * press(i,j,k)*gxx(i,j,k)
+ eTyy(i,j,k) = eTyy(i,j,k) + rhoenthalpy*uylow**2 + psi(i,j,k)**4 * press(i,j,k)*gyy(i,j,k)
+ eTzz(i,j,k) = eTzz(i,j,k) + rhoenthalpy*uzlow**2 + psi(i,j,k)**4 * press(i,j,k)*gzz(i,j,k)
+
+ eTxy(i,j,k) = eTxy(i,j,k) + rhoenthalpy*uxlow*uylow + psi(i,j,k)**4 * press(i,j,k)*gxy(i,j,k)
+ eTxz(i,j,k) = eTxz(i,j,k) + rhoenthalpy*uxlow*uzlow + psi(i,j,k)**4 * press(i,j,k)*gxz(i,j,k)
+ eTyz(i,j,k) = eTyz(i,j,k) + rhoenthalpy*uylow*uzlow + psi(i,j,k)**4 * press(i,j,k)*gyz(i,j,k)
+
+ end if
+
+ end do
+ end do
+ end do
+ !$OMP END PARALLEL DO
+
+ return
+
+ end subroutine Whisky_Tmunu
diff --git a/src/Whisky_UpdateMask.F90 b/src/Whisky_UpdateMask.F90
new file mode 100644
index 0000000..49e28c3
--- /dev/null
+++ b/src/Whisky_UpdateMask.F90
@@ -0,0 +1,244 @@
+ /*@@
+ @file Whisky_UpdateMask.F90
+ @date Wed Mar 13 14:18:38 2002
+ @author
+ @desc
+ Alter the update terms if inside the atmosphere or excision region
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include "SpaceMask.h"
+
+#define velx(i,j,k) vel(i,j,k,1)
+#define vely(i,j,k) vel(i,j,k,2)
+#define velz(i,j,k) vel(i,j,k,3)
+
+subroutine WhiskyUpdateAtmosphereMask(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i,j,k
+ CCTK_REAL :: frac
+
+ CCTK_INT :: type_bits, atmosphere
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+
+ frac = CCTK_DELTA_TIME
+
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+ if ( (SpaceMask_CheckStateBitsF90(space_mask, i, j, k, \
+ type_bits, atmosphere)) .or. &
+ (tau(i,j,k) + frac * taurhs(i,j,k) .le. 0.d0) .or. &
+ (dens(i,j,k) + frac * densrhs(i,j,k) .le. 0.d0) ) then
+ densrhs(i,j,k) = 0.0d0
+ srhs(i,j,k,:) = 0.0d0
+ taurhs(i,j,k) = 0.0d0
+ atmosphere_mask(i,j,k) = 1
+
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)
+ end if
+ end do
+ end do
+ end do
+
+end subroutine WhiskyUpdateAtmosphereMask
+
+ /*@@
+ @routine Whisky_SetupMask
+ @date Thu Jun 20 13:27:28 2002
+ @author Ian Hawke
+ @desc
+ Initialize the mask to be zero.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_SetupMask(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: type_bits, not_atmosphere, i, j, k
+
+ ! Initialize all rhs variables and the mask.
+ ! The former vars need to be initialized since there is
+ ! no rhs computation in CCTK_INITIAL or POSTINITIAL.
+
+ densrhs = 0.0d0
+ taurhs = 0.0d0
+ srhs = 0.0d0
+
+ if (evolve_tracer .ne. 0) then
+ cons_tracerrhs = 0.0d0
+ endif
+
+ atmosphere_mask = 0
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(not_atmosphere, &
+ &"Hydro_Atmosphere", "not_in_atmosphere")
+
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bits, not_atmosphere)
+
+ end do
+ end do
+ end do
+
+ call CCTK_INFO("Setting up the atmosphere mask: all points are not_atmosphere")
+
+end subroutine Whisky_SetupMask
+
+ /*@@
+ @routine Whisky_InitAtmosMask
+ @date Thu Jun 20 13:27:28 2002
+ @author Ian Hawke
+ @desc
+ Initialize the mask based on rho_min. This is used only if wk_atmosphere=yes.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_InitAtmosMask(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+
+ CCTK_INT :: type_bits, atmosphere, i, j, k
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, &
+ &"Hydro_Atmosphere", "in_atmosphere")
+
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ if (rho(i,j,k) .le. whisky_rho_min) then
+
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bits, atmosphere)
+ atmosphere_mask(i,j,k) = 1
+
+ end if
+
+ end do
+ end do
+ end do
+
+ call CCTK_INFO("Setting up the atmosphere mask: points with rho<rho_min are set to be atmosphere")
+
+end subroutine Whisky_InitAtmosMask
+
+ /*@@
+ @routine Whisky_AtmosphereReset
+ @date Thu Jun 20 13:30:51 2002
+ @author Ian Hawke
+ @desc
+ After MoL has evolved, if a point is supposed to be reset then do so.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+subroutine Whisky_AtmosphereReset(CCTK_ARGUMENTS)
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ CCTK_INT :: i, j, k
+ CCTK_REAL :: det, psi4pt
+
+ CCTK_INT :: type_bits, atmosphere, not_atmosphere
+
+ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere",&
+ "in_atmosphere")
+ call SpaceMask_GetStateBits(not_atmosphere, "Hydro_Atmosphere",&
+ "not_in_atmosphere")
+
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ if ( (atmosphere_mask(i, j, k) .eq. 1) &
+ &.or. (SpaceMask_CheckStateBitsF90(space_mask,i, j, k, type_bits,\
+ atmosphere)) &
+ &) then
+
+!!$ write(*,*) 'Resetting at ',i,j,k, atmosphere_mask(i, j, k), &
+!!$ & (SpaceMask_CheckStateBitsF90(space_mask,i, j, k, type_bits,\
+!!$ atmosphere))
+
+ rho(i,j,k) = whisky_rho_min
+ velx(i,j,k) = 0.0d0
+ vely(i,j,k) = 0.0d0
+ velz(i,j,k) = 0.0d0
+ if (conformal_state .eq. 0) then
+ call SpatialDeterminant(gxx(i,j,k), gxy(i,j,k), gxz(i,j,k), &
+ gyy(i,j,k), gyz(i,j,k), gzz(i,j,k), det)
+ call prim2conpolytype(whisky_polytrope_handle, &
+ gxx(i,j,k), gxy(i,j,k), gxz(i,j,k), &
+ gyy(i,j,k), gyz(i,j,k), gzz(i,j,k), det, &
+ dens(i,j,k), scon(i,j,k,1), scon(i,j,k,2), scon(i,j,k,3), &
+ tau(i,j,k), rho(i,j,k), velx(i,j,k), vely(i,j,k), &
+ velz(i,j,k), eps(i,j,k), press(i,j,k), w_lorentz(i,j,k))
+ else
+ psi4pt = psi(i,j,k)**4
+ call SpatialDeterminant(psi4pt*gxx(i,j,k), psi4pt*gxy(i,j,k), &
+ psi4pt*gxz(i,j,k), psi4pt*gyy(i,j,k), psi4pt*gyz(i,j,k), &
+ psi4pt*gzz(i,j,k), det)
+ call prim2conpolytype(whisky_polytrope_handle, &
+ psi4pt*gxx(i,j,k), psi4pt*gxy(i,j,k), psi4pt*gxz(i,j,k), &
+ psi4pt*gyy(i,j,k), psi4pt*gyz(i,j,k), psi4pt*gzz(i,j,k), &
+ det, dens(i,j,k), scon(i,j,k,1), scon(i,j,k,2), scon(i,j,k,3), &
+ tau(i,j,k), rho(i,j,k), velx(i,j,k), vely(i,j,k), &
+ velz(i,j,k), eps(i,j,k), press(i,j,k), w_lorentz(i,j,k))
+ end if
+ if (wk_atmosphere .eq. 0) then
+ atmosphere_mask(i, j, k) = 0
+ SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bits,\
+ not_atmosphere)
+ end if
+
+ end if
+
+ end do
+ end do
+ end do
+
+!!$ call Whisky_Boundaries(CCTK_PASS_FTOF)
+
+end subroutine Whisky_AtmosphereReset
diff --git a/src/Whisky_Weights.c b/src/Whisky_Weights.c
new file mode 100644
index 0000000..25b0549
--- /dev/null
+++ b/src/Whisky_Weights.c
@@ -0,0 +1,286 @@
+ /*@@
+ @file Whisky_Weights.F90
+ @date Sat Jan 26 01:40:14 2002
+ @author Ian Hawke
+ @desc
+ This routine calculates the "weights" of the cells and cell boundaries.
+ This is only required if using FishEye.
+
+ There is also a routine that calculates the "physical" velocity.
+
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+
+#include "FishEye.h"
+
+ /*@@
+ @routine Whisky_Weights
+ @date Sat Jan 26 01:41:02 2002
+ @author Ian Hawke
+ @desc
+ Calculates the weights from FishEye.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+void Whisky_Weights(CCTK_ARGUMENTS)
+{
+
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_REAL dx, dy, dz, xbound, ybound, zbound;
+ CCTK_REAL jdet[27], jacobian[9], cell_centre_slice, cell_surface_l;
+ CCTK_INT i, j, k, nx, ny, nz, l, m, n, index, totalsize;
+
+ dx = cctk_delta_space[0] / cctk_levfac[0];
+ dy = cctk_delta_space[1] / cctk_levfac[1];
+ dz = cctk_delta_space[2] / cctk_levfac[2];
+ nx = cctk_lsh[0];
+ ny = cctk_lsh[1];
+ nz = cctk_lsh[2];
+ totalsize = nx*ny*nz;
+
+ if (use_weighted_fluxes)
+ {
+
+ for (k = 0; k < nz; k++)
+ {
+ for (j = 0; j < ny; j++)
+ {
+ for (i = 0; i < nx; i++)
+ {
+
+ /*
+ Calculate the jacobian of the transformation at the
+ 27 points; 3 points in every direction
+ */
+
+ index = CCTK_GFINDEX3D(cctkGH, i, j, k);
+
+ for (n = 0; n < 3; n++)
+ {
+ for (m = 0; m < 3; m++)
+ {
+ for (l = 0; l < 3; l++)
+ {
+
+ xbound = x[index] + 0.5 * (l-2) * dx;
+ ybound = y[index] + 0.5 * (m-2) * dy;
+ zbound = z[index] + 0.5 * (n-2) * dz;
+
+#ifdef FISHEYE_ACTIVE
+ activejacobian(xbound,ybound,zbound,
+ &jacobian[0],&jacobian[1],&jacobian[2],
+ &jacobian[3],&jacobian[4],&jacobian[5],
+ &jacobian[6],&jacobian[7],&jacobian[8]);
+#else
+ CCTK_WARN(0,"You must compile with FishEye for this to work!");
+#endif
+ jdet[l+3*m+9*n] =
+ -jacobian[2]*jacobian[4]*jacobian[6] +
+ jacobian[1]*jacobian[5]*jacobian[6] +
+ jacobian[2]*jacobian[3]*jacobian[7] -
+ jacobian[0]*jacobian[5]*jacobian[7] -
+ jacobian[1]*jacobian[3]*jacobian[8] +
+ jacobian[0]*jacobian[4]*jacobian[8];
+
+ }
+ }
+ }
+
+ cell_jdet[index] = jdet[0];
+
+ /*
+ Integrate by Simpsons rule over both directions
+ */
+
+ /*
+ x
+ */
+
+ cell_surface[index] =
+ 1.0 / 36.0 * ( (jdet[2] + 4.0 * jdet[5] + jdet[8])+
+ 4.0 *(jdet[11] + 4.0 * jdet[14] + jdet[17])+
+ (jdet[20] + 4.0 * jdet[23] + jdet[26]) );
+
+ /*
+ y
+ */
+
+ cell_surface[index + totalsize] =
+ 1.0 / 36.0 * ( (jdet[6] + 4.0 * jdet[7] + jdet[8])+
+ 4.0 *(jdet[15] + 4.0 * jdet[16] + jdet[17])+
+ (jdet[24] + 4.0 * jdet[25] + jdet[26]) );
+
+ /*
+ z
+ */
+
+ cell_surface[index + 2 * totalsize] =
+ 1.0 / 36.0 * ( (jdet[18] + 4.0 * jdet[19] + jdet[20])+
+ 4.0 *(jdet[21] + 4.0 * jdet[22] + jdet[23])+
+ (jdet[24] + 4.0 * jdet[25] + jdet[26]) );
+
+ /*
+ scalar for the x direction at the left, needed for
+ the volume calculations
+ */
+
+ cell_surface_l =
+ 1.0 / 36.0 * ( (jdet[0] + 4.0 * jdet[3] + jdet[6])+
+ 4.0 *(jdet[9] + 4.0 * jdet[12] + jdet[15])+
+ (jdet[18] + 4.0 * jdet[21] + jdet[24]));
+
+ /*
+ The slice through the centre holding x fixed.
+ */
+
+ cell_centre_slice =
+ 1.0 / 36.0 * ( (jdet[1] + 4.0 * jdet[4] + jdet[7])+
+ 4.0 *(jdet[10] + 4.0 * jdet[13] + jdet[16])+
+ (jdet[19] + 4.0 * jdet[22] + jdet[25]) );
+
+ /*
+ The cell volume.
+ Again using Simpsons rule, only in the x direction.
+ */
+
+ cell_volume[index] =
+ 1.0 / 6.0 * ( cell_surface_l + 4.0 * cell_centre_slice +
+ cell_surface[index] );
+
+
+ }
+ }
+ }
+
+ }
+ else
+ {
+
+ for (k = 0; k < nz; k++)
+ {
+ for (j = 0; j < ny; j++)
+ {
+ for (i = 0; i < nx; i++)
+ {
+
+ index = CCTK_GFINDEX3D(cctkGH, i, j, k);
+
+ cell_volume[index] = 1.0;
+ cell_surface[index] = 1.0;
+ cell_surface[index + totalsize] = 1.0;
+ cell_surface[index + 2 * totalsize] = 1.0;
+
+ }
+ }
+ }
+
+ }
+
+ return;
+}
+
+
+
+ /*@@
+ @routine Whisky_Fisheye_Analysis
+ @date
+ @author Christian Ott, Ian Hawke
+ @desc
+ Prepare output of Whisky variables in physical coordinates
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+int Whisky_Fisheye_Analysis(CCTK_ARGUMENTS)
+{
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ double jacobian[9];
+
+ int i,j,k, index;
+
+ /* let's first do the scalars: simple copying */
+
+ for(i=0;
+ i<cctkGH->cctk_lsh[0]*cctkGH->cctk_lsh[1]*cctkGH->cctk_lsh[2];
+ i++)
+ {
+
+ frho[i] = rho[i];
+ fpress[i] = press[i];
+ feps[i] = eps[i];
+
+ }
+
+ /* now the vectors: more complicated... first we need to (numerically)
+ calculate the jacobian */
+
+
+ for(i=0;i<cctkGH->cctk_lsh[0];i++)
+ {
+ for(j=0;j<cctkGH->cctk_lsh[1];j++)
+ {
+ for(k=0;k<cctkGH->cctk_lsh[2];k++)
+ {
+
+ index = CCTK_GFINDEX3D(cctkGH,i,j,k);
+
+#ifdef FISHEYE_ACTIVE
+ activejacobian(x[index], y[index], z[index],
+ &jacobian[0],&jacobian[1],&jacobian[2],
+ &jacobian[3],&jacobian[4],&jacobian[5],
+ &jacobian[6],&jacobian[7],&jacobian[8]);
+#else
+ CCTK_WARN(1,"The output of \"FishEye\" velocities is only meaningful if FishEye is active!");
+ jacobian[0]=1.0;
+ jacobian[1]=0.0;
+ jacobian[2]=0.0;
+ jacobian[3]=0.0;
+ jacobian[4]=1.0;
+ jacobian[5]=0.0;
+ jacobian[6]=0.0;
+ jacobian[7]=0.0;
+ jacobian[8]=1.0;
+#endif
+
+ fvelx[index] =
+ jacobian[0] * velx[index] +
+ jacobian[1] * vely[index] +
+ jacobian[2] * velz[index];
+
+ fvely[index] =
+ jacobian[3] * velx[index] +
+ jacobian[4] * vely[index] +
+ jacobian[5] * velz[index];
+
+ fvelz[index] =
+ jacobian[6] * velx[index] +
+ jacobian[7] * vely[index] +
+ jacobian[8] * velz[index];
+
+ }
+ }
+ }
+
+ return;
+
+}
diff --git a/src/include/Whisky_EMTensor.inc b/src/include/Whisky_EMTensor.inc
new file mode 100644
index 0000000..e7e5e2d
--- /dev/null
+++ b/src/include/Whisky_EMTensor.inc
@@ -0,0 +1,269 @@
+ /*@@
+ @file Whisky_EMTensor.inc
+ @date Sat Jan 26 02:03:56 2002
+ @author Ian Hawke
+ @desc
+ The calculation of the stress energy tensor.
+ The version used here was worked out by Miguel Alcubierre. I
+ think it was an extension of the routine from GR3D, written
+ by Mark Miller.
+ C version added by Ian Hawke.
+
+ Lower components of the stress-energy tensor obtained from
+ the hydro variables. The components are given by:
+
+ T = rho h u u + P g
+ mu nu mu nu mu nu
+
+ where rho is the energy density of the fluid, h the enthalpy
+ and P the pressure. The enthalpy is given in terms of the
+ basic variables as:
+
+ h = 1 + e + P/rho
+
+ with e the internal energy (eps here).
+
+ In the expresion for T_{mu,nu} we also have the four-velocity
+ of the fluid given by (v_i is the 3-velocity field):
+
+ i
+ u = W ( - alpha + v beta )
+ 0 i
+
+ u = W v
+ i i
+ i -1/2
+ with W the Lorentz factor: W = ( 1 - v v )
+ i
+
+ and where alpha and beta are the lapse and shift vector.
+
+ Finally, the 4 metric is given by
+
+ 2 i
+ g = - alpha + beta beta
+ 00 i
+
+ g = beta
+ 0i i
+
+
+ g = gamma (the spatial metric)
+ ij ij
+
+
+ @enddesc
+ @@*/
+
+#ifdef FCODE
+
+/* if (SpaceMask_CheckStateBitsF90(space_mask, i,j,k, \
+ atmosphere_field_descriptor, \
+ atmosphere_normal_descriptor)) then*/
+!!$ call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
+!!$ call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere")
+ if (conformal_state .eq. 0) then
+ velxlow = gxx(i,j,k)*velx(i,j,k) + gxy(i,j,k)*vely(i,j,k) + gxz(i,j,k)*velz(i,j,k)
+ velylow = gxy(i,j,k)*velx(i,j,k) + gyy(i,j,k)*vely(i,j,k) + gyz(i,j,k)*velz(i,j,k)
+ velzlow = gxz(i,j,k)*velx(i,j,k) + gyz(i,j,k)*vely(i,j,k) + gzz(i,j,k)*velz(i,j,k)
+ else
+ velxlow = psi(i,j,k)**4 * (gxx(i,j,k)*velx(i,j,k) + gxy(i,j,k)*vely(i,j,k) + gxz(i,j,k)*velz(i,j,k) )
+ velylow = psi(i,j,k)**4 * (gxy(i,j,k)*velx(i,j,k) + gyy(i,j,k)*vely(i,j,k) + gyz(i,j,k)*velz(i,j,k) )
+ velzlow = psi(i,j,k)**4 * (gxz(i,j,k)*velx(i,j,k) + gyz(i,j,k)*vely(i,j,k) + gzz(i,j,k)*velz(i,j,k) )
+ end if
+
+!!$ Calculate lower components and square of shift vector.
+
+ if (shift_state .ne. 0) then
+
+ if (conformal_state .eq. 0) then
+ betaxlow = gxx(i,j,k)*betax(i,j,k) + gxy(i,j,k)*betay(i,j,k) + gxz(i,j,k)*betaz(i,j,k)
+ betaylow = gxy(i,j,k)*betax(i,j,k) + gyy(i,j,k)*betay(i,j,k) + gyz(i,j,k)*betaz(i,j,k)
+ betazlow = gxz(i,j,k)*betax(i,j,k) + gyz(i,j,k)*betay(i,j,k) + gzz(i,j,k)*betaz(i,j,k)
+ else
+ betaxlow = psi(i,j,k)**4 * (gxx(i,j,k)*betax(i,j,k) + gxy(i,j,k)*betay(i,j,k) + gxz(i,j,k)*betaz(i,j,k) )
+ betaylow = psi(i,j,k)**4 * (gxy(i,j,k)*betax(i,j,k) + gyy(i,j,k)*betay(i,j,k) + gyz(i,j,k)*betaz(i,j,k) )
+ betazlow = psi(i,j,k)**4 * (gxz(i,j,k)*betax(i,j,k) + gyz(i,j,k)*betay(i,j,k) + gzz(i,j,k)*betaz(i,j,k) )
+ end if
+
+ beta2 = betax(i,j,k)*betaxlow + betay(i,j,k)*betaylow + betaz(i,j,k)*betazlow
+
+ else
+
+ betaxlow = 0.0D0
+ betaylow = 0.0D0
+ betazlow = 0.0D0
+
+ beta2 = 0.0D0
+
+ end if
+
+!!$ Calculate the specific relativistic enthalpy times rho times the
+!!$ square of the lorentz factor.
+
+ rhoenthalpy = w_lorentz(i,j,k)**2*(rho(i,j,k)*(1.0D0 + eps(i,j,k)) + press(i,j,k))
+
+!!$ Calculate lower components of 4-velocity (without the Lorent factor).
+
+ utlow = (-alp(i,j,k) + velx(i,j,k)*betaxlow + vely(i,j,k)*betaylow + velz(i,j,k)*betazlow)
+
+ uxlow = velxlow
+ uylow = velylow
+ uzlow = velzlow
+
+!!$ Calculate Tmunu (the lower components!).
+
+!!$ if ( .not.(SpaceMask_CheckStateBitsF90(space_mask, i, j, k, type_bits, atmosphere) )) then
+
+ Ttt = Ttt + rhoenthalpy*utlow**2 + press(i,j,k)*(beta2 - alp(i,j,k)**2)
+
+ Ttx = Ttx + rhoenthalpy*utlow*uxlow + press(i,j,k)*betaxlow
+ Tty = Tty + rhoenthalpy*utlow*uylow + press(i,j,k)*betaylow
+ Ttz = Ttz + rhoenthalpy*utlow*uzlow + press(i,j,k)*betazlow
+
+ if (conformal_state .eq. 0) then
+
+ Txx = Txx + rhoenthalpy*uxlow**2 + press(i,j,k)*gxx(i,j,k)
+ Tyy = Tyy + rhoenthalpy*uylow**2 + press(i,j,k)*gyy(i,j,k)
+ Tzz = Tzz + rhoenthalpy*uzlow**2 + press(i,j,k)*gzz(i,j,k)
+
+ Txy = Txy + rhoenthalpy*uxlow*uylow + press(i,j,k)*gxy(i,j,k)
+ Txz = Txz + rhoenthalpy*uxlow*uzlow + press(i,j,k)*gxz(i,j,k)
+ Tyz = Tyz + rhoenthalpy*uylow*uzlow + press(i,j,k)*gyz(i,j,k)
+
+ else
+
+ Txx = Txx + rhoenthalpy*uxlow**2 + psi(i,j,k)**4 * press(i,j,k)*gxx(i,j,k)
+ Tyy = Tyy + rhoenthalpy*uylow**2 + psi(i,j,k)**4 * press(i,j,k)*gyy(i,j,k)
+ Tzz = Tzz + rhoenthalpy*uzlow**2 + psi(i,j,k)**4 * press(i,j,k)*gzz(i,j,k)
+
+ Txy = Txy + rhoenthalpy*uxlow*uylow + psi(i,j,k)**4 * press(i,j,k)*gxy(i,j,k)
+ Txz = Txz + rhoenthalpy*uxlow*uzlow + psi(i,j,k)**4 * press(i,j,k)*gxz(i,j,k)
+ Tyz = Tyz + rhoenthalpy*uylow*uzlow + psi(i,j,k)**4 * press(i,j,k)*gyz(i,j,k)
+
+ end if
+!!$ end if
+/* end if*/
+
+#endif
+
+#ifdef CCODE
+
+ if (!*conformal_state)
+ {
+ velxlow = gxx[ijk]*velx[ijk] + gxy[ijk]*vely[ijk] +
+ gxz[ijk]*velz[ijk];
+ velylow = gxy[ijk]*velx[ijk] + gyy[ijk]*vely[ijk] +
+ gyz[ijk]*velz[ijk];
+ velzlow = gxz[ijk]*velx[ijk] + gyz[ijk]*vely[ijk] +
+ gzz[ijk]*velz[ijk];
+ }
+ else
+ {
+ velxlow = pow(psi[ijk],4) * (gxx[ijk]*velx[ijk] +
+ gxy[ijk]*vely[ijk] +
+ gxz[ijk]*velz[ijk]);
+ velylow = pow(psi[ijk],4) * (gxy[ijk]*velx[ijk] +
+ gyy[ijk]*vely[ijk] +
+ gyz[ijk]*velz[ijk]);
+ velzlow = pow(psi[ijk],4) * (gxz[ijk]*velx[ijk] +
+ gyz[ijk]*vely[ijk] +
+ gzz[ijk]*velz[ijk]);
+ }
+
+/*
+ * Calculate lower components and square of shift vector.
+ */
+
+ if (*shift_state)
+ {
+ if (!*conformal_state)
+ {
+ betaxlow = gxx[ijk]*betax[ijk] + gxy[ijk]*betay[ijk]
+ + gxz[ijk]*betaz[ijk];
+ betaylow = gxy[ijk]*betax[ijk] + gyy[ijk]*betay[ijk]
+ + gyz[ijk]*betaz[ijk];
+ betazlow = gxz[ijk]*betax[ijk] + gyz[ijk]*betay[ijk]
+ + gzz[ijk]*betaz[ijk];
+ }
+ else
+ {
+ betaxlow = pow(psi[ijk],4) * (gxx[ijk]*betax[ijk] +
+ gxy[ijk]*betay[ijk] +
+ gxz[ijk]*betaz[ijk]);
+ betaylow = pow(psi[ijk],4) * (gxy[ijk]*betax[ijk] +
+ gyy[ijk]*betay[ijk] +
+ gyz[ijk]*betaz[ijk]);
+ betazlow = pow(psi[ijk],4) * (gxz[ijk]*betax[ijk] +
+ gyz[ijk]*betay[ijk] +
+ gzz[ijk]*betaz[ijk]);
+ }
+ beta2 = betax[ijk]*betaxlow + betay[ijk]*betaylow
+ + betaz[ijk]*betazlow ;
+ }
+ else
+ {
+ betaxlow = 0.0;
+ betaylow = 0.0;
+ betazlow = 0.0;
+
+ beta2 = 0.0;
+ }
+
+/*
+ * Calculate the specific relativistic enthalpy times rho times the
+ * square of the lorentz factor.
+ */
+
+ rhoenthalpy = w_lorentz[ijk]*w_lorentz[ijk]*
+ (rho[ijk]*(1.0 + eps[ijk]) + press[ijk]);
+
+/*
+ * Calculate lower components of 4-velocity (without the Lorent factor).
+ */
+ utlow = (-alp[ijk] + velx[ijk]*betaxlow + vely[ijk]*betaylow
+ + velz[ijk]*betazlow);
+
+ uxlow = velxlow;
+ uylow = velylow;
+ uzlow = velzlow;
+
+/*
+ * Calculate Tmunu (the lower components!).
+ */
+
+ Ttt = Ttt + rhoenthalpy*utlow*utlow +
+ press[ijk]*(beta2 - alp[ijk]*alp[ijk]);
+
+ Ttx = Ttx + rhoenthalpy*utlow*uxlow + press[ijk]*betaxlow;
+ Tty = Tty + rhoenthalpy*utlow*uylow + press[ijk]*betaylow;
+ Ttz = Ttz + rhoenthalpy*utlow*uzlow + press[ijk]*betazlow;
+
+ if (!*conformal_state)
+ {
+ Txx = Txx + rhoenthalpy*uxlow*uxlow + press[ijk]*gxx[ijk];
+ Tyy = Tyy + rhoenthalpy*uylow*uylow + press[ijk]*gyy[ijk];
+ Tzz = Tzz + rhoenthalpy*uzlow*uzlow + press[ijk]*gzz[ijk];
+
+ Txy = Txy + rhoenthalpy*uxlow*uylow + press[ijk]*gxy[ijk];
+ Txz = Txz + rhoenthalpy*uxlow*uzlow + press[ijk]*gxz[ijk];
+ Tyz = Tyz + rhoenthalpy*uylow*uzlow + press[ijk]*gyz[ijk];
+ }
+ else
+ {
+ Txx = Txx + rhoenthalpy*uxlow*uxlow +
+ pow(psi[ijk],4) * press[ijk]*gxx[ijk];
+ Tyy = Tyy + rhoenthalpy*uylow*uylow +
+ pow(psi[ijk],4) * press[ijk]*gyy[ijk];
+ Tzz = Tzz + rhoenthalpy*uzlow*uzlow +
+ pow(psi[ijk],4) * press[ijk]*gzz[ijk];
+
+ Txy = Txy + rhoenthalpy*uxlow*uylow +
+ pow(psi[ijk],4) * press[ijk]*gxy[ijk];
+ Txz = Txz + rhoenthalpy*uxlow*uzlow +
+ pow(psi[ijk],4) * press[ijk]*gxz[ijk];
+ Tyz = Tyz + rhoenthalpy*uylow*uzlow +
+ pow(psi[ijk],4) * press[ijk]*gyz[ijk];
+ }
+
+#endif
diff --git a/src/include/Whisky_EMTensor_temps.inc b/src/include/Whisky_EMTensor_temps.inc
new file mode 100644
index 0000000..35282fb
--- /dev/null
+++ b/src/include/Whisky_EMTensor_temps.inc
@@ -0,0 +1,27 @@
+ /*@@
+ @file Whisky_EMTensor_temps.inc
+ @date Sat Jan 26 02:03:56 2002
+ @author Ian Hawke
+ @desc
+ The declaration of the temporaries used in Whisky_EMTensor.inc.
+ @enddesc
+ @@*/
+#include "SpaceMask.h"
+#ifdef FCODE
+
+ CCTK_REAL velxlow, velylow, velzlow
+ CCTK_REAL betaxlow, betaylow, betazlow, beta2
+ CCTK_REAL utlow, uxlow, uylow, uzlow
+ CCTK_REAL rhoenthalpy
+ CCTK_INT :: type_bits, atmosphere
+
+#endif
+
+#ifdef CCODE
+
+ CCTK_REAL velxlow, velylow, velzlow;
+ CCTK_REAL betaxlow, betaylow, betazlow, beta2;
+ CCTK_REAL utlow, uxlow, uylow, uzlow;
+ CCTK_REAL rhoenthalpy;
+
+#endif
diff --git a/src/make.code.defn b/src/make.code.defn
new file mode 100644
index 0000000..4119858
--- /dev/null
+++ b/src/make.code.defn
@@ -0,0 +1,55 @@
+# Main make.code.defn file for thorn Hydra
+# $Header$
+
+# Source files in this directory
+
+SRCS = Utils.F90 \
+ Whisky_Boundaries.F90 \
+ Whisky_CalcUpdate.F90 \
+ Whisky_Con2Prim.F90 \
+ Whisky_Eigenproblem.F90 \
+ Whisky_Eigenproblem_Marquina.F90 \
+ Whisky_ENOReconstruct.F90 \
+ Whisky_ENOScalars.F90 \
+ Whisky_EOS.c \
+ Whisky_Flux.F90 \
+ Whisky_FluxSplit.F90 \
+ Whisky_HLLE.F90 \
+ Whisky_HLLEPoly.F90 \
+ Whisky_Loop.F90 \
+ Whisky_Maxima.F90 \
+ Whisky_Minima.F90 \
+ Whisky_Minima.cc \
+ Whisky_PPM.F90 \
+ Whisky_ParamCheck.F90 \
+ Whisky_Particle.F90 \
+ Whisky_PreLoop.F90 \
+ Whisky_Prim2Con.F90 \
+ Whisky_Reconstruct.F90 \
+ Whisky_ReconstructPoly.F90 \
+ Whisky_RegisterMask.c \
+ Whisky_RegisterGZ.cc \
+ Whisky_RegisterVars.cc \
+ Whisky_RiemannSolve.F90 \
+ Whisky_RoeAverage.F90 \
+ Whisky_RoeSolver.F90 \
+ Whisky_Scalars.F90 \
+ Whisky_Shift.F90 \
+ Whisky_SlopeLimiter.F90 \
+ Whisky_Source.F90 \
+ Whisky_Startup.F90 \
+ Whisky_TVDReconstruct.F90 \
+ Whisky_Marquina.F90 \
+ Whisky_UpdateMask.F90 \
+ Whisky_Set_TP_GF.c \
+ Whisky_Differences.F90 \
+ Whisky_EoSChangeGamma.F90 \
+ Whisky_Tmunu.F90
+
+### Whisky_Weights.c \
+
+
+
+# Subdirectories containing source files
+SUBDIRS =
+
diff --git a/src/make.code.deps b/src/make.code.deps
new file mode 100644
index 0000000..23ffd9a
--- /dev/null
+++ b/src/make.code.deps
@@ -0,0 +1,8 @@
+# Module dependencies for thorn Whisky
+
+Whisky_ENOReconstruct.F90.o: Whisky_ENOScalars.F90.o
+Whisky_Eigenproblem.F90.o: Whisky_Scalars.F90.o
+Whisky_Eigenproblem_Marquina.F90.o: Whisky_Scalars.F90.o
+Whisky_PreLoop.F90.o: Whisky_Scalars.F90.o
+Whisky_TVDReconstruct.F90.o: Whisky_Scalars.F90.o
+Whisky_SlopeLimiter.F90.o: Whisky_Scalars.F90.o
diff --git a/src/make.configuration.defn b/src/make.configuration.defn
new file mode 100644
index 0000000..1d1e90b
--- /dev/null
+++ b/src/make.configuration.defn
@@ -0,0 +1,4 @@
+# make.configuration.defn for Whisky
+
+# add the utilities to the list
+ALL_UTILS += Riemann1d
diff --git a/src/make.configuration.deps b/src/make.configuration.deps
new file mode 100644
index 0000000..d283562
--- /dev/null
+++ b/src/make.configuration.deps
@@ -0,0 +1,18 @@
+# Make sure that EOS_Polytrope is compiled first
+
+ifneq ($(findstring Whisky/EOS_Polytrope,$(THORNS)),)
+$(CCTK_LIBDIR)$(DIRSEP)libWhisky.a : $(CCTK_LIBDIR)$(DIRSEP)libEOS_Polytrope.a
+endif
+
+# Compile rules for the utilities
+$(UTIL_DIR)$(DIRSEP)%: $(BUILD_DIR)$(DIRSEP)Whisky$(DIRSEP)%.o
+ @echo Creating $* in $(UTIL_DIR) from $<
+ if [ ! -d $(UTIL_DIR) ]; then $(MKDIR) $(MKDIRFLAGS) $(UTIL_DIR) ; fi
+ $(F90) $(CREATEEXE)$(OPTIONSEP)$@ $(DEBUG_LD) $(LDFLAGS) $(EXTRAFLAGS) $(GENERAL_LIBRARIES) $<
+
+
+$(BUILD_DIR)$(DIRSEP)Whisky$(DIRSEP)%.o: $(PACKAGE_DIR)$(DIRSEP)CIGR$(DIRSEP)Whisky$(DIRSEP)src$(DIRSEP)util$(DIRSEP)%.f90
+ @echo Compiling $<
+ if [ ! -d $(BUILD_DIR)$(DIRSEP)Whisky ]; then $(MKDIR) $(MKDIRFLAGS) $(BUILD_DIR)$(DIRSEP)Whisky ; fi
+ cd $(BUILD_DIR)$(DIRSEP)Whisky
+ $(F90) $< $(F90FLAGS) -I$(CONFIG) -I$(BINDINGS_DIR)$(DIRSEP)include -I$(FLESH_DIR)$(DIRSEP)include -I$(CCTK_HOME)$(DIRSEP)arrangements $(SYS_INC_DIRS:%=-I%) $(FCOMPILEONLY)$(OPTIONSEP)$@
diff --git a/src/util/Riemann1d.f90 b/src/util/Riemann1d.f90
new file mode 100644
index 0000000..5198f95
--- /dev/null
+++ b/src/util/Riemann1d.f90
@@ -0,0 +1,872 @@
+!!$/*@@
+!!$ @file Riemann1d.F90
+!!$ @date Tue Apr 29 11:42:30 2003
+!!$ @author Ian Hawke
+!!$ @desc
+!!$ An old 1d Riemann solver for ideal relativistic hydro.
+!!$ @enddesc
+!!$@@*/
+
+program Riemann1d
+
+ implicit none
+
+ integer :: mn, i, j, n, iloop, step, test
+ real(kind=8) :: tol, pmin, pmax, dvel1, dvel2, check, gamma, t, &
+ &gm1, mtol, xi, rad, vshockl, vshockr, csl, csls, csrs, &
+ &csr, vels, ul, uls, urs, ur, hl, hls, hrs, hr, &
+ &v12, sqrtgm1, v12ss, v12sr, eps, v1, v2, p1, p2
+ real(kind=8), dimension(3) :: left, right, starl, starr, guess
+ real(kind=8), dimension(5) :: waves, pwaves
+ real(kind=8), dimension(4, 400) :: final
+ integer :: method
+
+!!$Parameters
+
+ mn = 400
+!!$ tol = 1.d-8
+
+!!$Machine precision
+
+ mtol = 1.d0
+ do while (1.d0 + mtol > 1.d0)
+ mtol = mtol / 2.d0
+ end do
+!!$ tol = mtol
+ tol = 1.d-8
+ eps = 1.d-6
+
+!!$Initial Data
+
+ t = 3.75d-1
+ test = 3
+ method = 3
+
+ if (test == 1) then
+ gamma = 5.d0 / 3.d0
+ left(1) = 1.d0
+ left(2) = 0.d0
+ left(3) = 1.d2
+ right(1) = 1.d0
+ right(2) = 0.d0
+ right(3) = 1.d0
+ else if (test == 2) then
+ gamma = 4.d0 / 3.d0
+ left(1) = 1.d0
+ left(2) = 0.9d0
+ left(3) = 1.d0
+ right(1) = 1.d0
+ right(2) = 0.d0
+ right(3) = 1.d1
+ else if (test == 3) then
+ gamma = 5.d0 / 3.d0
+ left(1) = 1.d0
+ left(2) = 0.d0
+ left(3) = 1.d3
+ right(1) = 1.d0
+ right(2) = 0.d0
+ right(3) = 1.d-2
+ else if (test == 4) then
+ gamma = 5.d0 / 3.d0
+ left(1) = 1.d0
+ left(2) = -0.6d0
+ left(3) = 1.d1
+ right(1) = 1.d1
+ right(2) = 0.5d0
+ right(3) = 2.d1
+ else if (test == 5) then
+ gamma = 5.d0 / 3.d0
+ left(1) = 25.d0
+ left(2) = 0.d0
+ left(3) = 5.d1
+ right(1) = 1.d0
+ right(2) = 0.d0
+ right(3) = 6.d0
+ else if (test == 6) then
+ gamma = 5.d0 / 3.d0
+ left(1) = 1.d0
+ left(2) = 0.d0
+ left(3) = 1.d0
+ right(1) = 1.01d0
+ right(2) = 0.01d0
+ right(3) = 1.01d0
+ else if (test == 7) then
+ gamma = 5.d0 / 3.d0
+ left(1) = 1.0139158702550264d0
+ left(2) = 6.57962037903012369d-3
+ left(3) = 1.0309221446370552d-1
+ right(1) = 1.d0
+ right(2) = 0.d0
+ right(3) = 1.d-1
+ else if (test == 8) then !!$ shock_case = Simple
+ gamma = 5.d0 / 3.d0
+ left(1) = 1.d1
+ left(2) = 0.d0
+ left(3) = 13.333333333333333333333d0
+ right(1) = 1.d0
+ right(2) = 0.d0
+ right(3) = 6.666666666666666d-7
+ else
+ write(*,*) "Test unrecognized"
+ stop
+ end if
+
+ gm1 = gamma - 1.d0
+
+!!$Find interval in which intermediate pressure lies
+
+!!$The loop was from when I was doing efficiency testing
+
+ do i = 1, 1
+
+ if (method == 1) then
+
+!!$This is standard interval bisection.
+!!$First we find an interval that contains the root.
+
+ guess = 0.5d0 * (left + right)
+
+ pmin = guess(3)
+ pmax = pmin
+ check = 1.d0
+
+ step = 0
+
+ do while (check > 0.d0)
+
+ pmin = 0.5d0 * max(pmin, 0.d0)
+ pmax = 2.d0 * pmax
+
+ call getdvel(gamma, left, right, guess, pmin, dvel1, step)
+ call getdvel(gamma, left, right, guess, pmax, dvel2, step)
+
+ check = dvel1 * dvel2
+
+ end do
+
+!!$Find the intermediate pressure - and hence velocity
+
+ call getp(mtol, gamma, pmin, pmax, tol, left, right, starl, &
+ &starr, guess, step)
+
+ else if (method==2) then
+
+!!$This is Newton-Raphson method
+
+ guess = (0.5d0 - eps) * (left + right)
+
+ call getp2(mtol, gamma, tol, left, right, starl, starr, guess, &
+ &step)
+
+ else
+
+!!$This is Rezzolla-Zanotti approach
+
+ guess = 0.d0
+ starr = 0.d0
+ starl = 0.d0
+ vshockl = 0.d0
+ vshockr = 0.d0
+
+ sqrtgm1 = sqrt(gm1)
+
+ if (left(3) > right(3)) then
+ v1 = left(2)
+ v2 = right(2)
+ p1 = left(3)
+ p2 = right(3)
+ guess = left
+ call getvel(gamma, right, guess, 1.d0)
+ v12ss = (guess(2) - right(2)) / (1.d0 - guess(2) * right(2))
+ guess = right
+ call getvel(gamma, left, guess, -1.d0)
+ v12sr = -(guess(2) - left(2)) / (1.d0 - guess(2) * left(2))
+ else
+ v2 = -left(2)
+ v1 = -right(2)
+ p2 = left(3)
+ p1 = right(3)
+ guess = right
+ call getvel(gamma, left, guess, -1.d0)
+ v12ss = -(guess(2) - left(2)) / (1.d0 - guess(2) * left(2))
+ guess = left
+ call getvel(gamma, right, guess, 1.d0)
+ v12sr = (guess(2) - right(2)) / (1.d0 - guess(2) * right(2))
+ end if
+
+ v12 = (v1 - v2) / (1.d0 - v1 * v2)
+
+ if (v12 > v12ss) then
+
+ pmin = max(p1, p2)
+ pmax = pmin
+ check = 1.d0
+ do while (check > 0.d0)
+
+ pmax = 2.d0 * pmax
+
+ call getdvel(gamma, left, right, guess, pmin, dvel1, step)
+ call getdvel(gamma, left, right, guess, pmax, dvel2, step)
+
+ check = dvel1 * dvel2
+
+ end do
+
+ else if (v12 > v12sr) then
+
+ pmin = min(p1, p2)
+ pmax = max(p1, p2)
+
+ else
+
+ pmin = 1.d-20
+ pmax = min(p1, p2)
+
+ end if
+
+!!$Safety!
+
+ pmin = pmin * (1.d0 - eps)
+ pmax = pmax * (1.d0 + eps)
+
+!!$Find the intermediate pressure - and hence velocity
+
+ call getp(mtol, gamma, pmin, pmax, tol, left, right, &
+ &starl, starr, guess, step)
+
+ end if
+
+ end do
+
+ call vshock(gamma, left, starl, starr, right, vshockl, vshockr)
+
+ ul = left(3) / gm1 / left(1)
+ uls = starl(3) / gm1 / starl(1)
+ urs = starr(3) / gm1 / starr(1)
+ ur = right(3) / gm1 / right(1)
+
+ hl = 1.d0 + ul + left(3) / left(1)
+ hls = 1.d0 + uls + starl(3) / starl(1)
+ hrs = 1.d0 + urs + starr(3) / starr(1)
+ hr = 1.d0 + ur + right(3) / right(1)
+
+ csl = sqrt(gamma * left(3) / left(1) / hl)
+ csls = sqrt(gamma * starl(3) / starl(1) / hls)
+ csrs = sqrt(gamma * starr(3) / starr(1) / hrs)
+ csr = sqrt(gamma * right(3) / right(1) / hr)
+
+ vels = 0.5d0 * (starl(2) + starr(2))
+
+!!$Find the characteristic speeds
+
+ if (left(3) > starl(3)) then
+
+!!$Left rarefaction
+
+ waves(1) = (left(2) - csl) / (1.d0 - left(2) * csl)
+ waves(2) = (starl(2) - csls) / (1.d0 - starl(2) * csls)
+
+ else
+
+!!$Left shock
+
+ waves(1) = vshockl
+ waves(2) = waves(1)
+
+ end if
+
+ waves(3) = vels
+
+ if (right(3) > starl(3)) then
+
+!!$Right rarefaction
+
+ waves(4) = (starr(2) + csrs) / (1.d0 + starr(2) * csrs)
+ waves(5) = (right(2) + csr) / (1.d0 + right(2) * csr)
+
+ else
+
+!!$Right shock
+
+ waves(4) = vshockr
+ waves(5) = waves(4)
+
+ end if
+
+ do i = 1, 2
+ if (abs(waves(i)) > 1.d10) waves(i) = -1.d10
+ end do
+ do i = 4, 5
+ if (abs(waves(i)) > 1.d10) waves(i) = 1.d10
+ end do
+
+ pwaves = 0.5d0 + t * waves
+
+ do i = 1, mn
+
+ rad = real(i) / real(mn)
+ final(1, i) = rad
+
+ if (rad < pwaves(1)) then
+
+ final(2, i) = left(1)
+ final(3, i) = left(2)
+ final(4, i) = left(3)
+
+ else if (rad < pwaves(2)) then
+
+ xi = (rad - 0.5d0) / t
+
+ call raref(gamma, xi, left, final(:, i), 1)
+
+ else if (rad < pwaves(3)) then
+
+ final(2, i) = starl(1)
+ final(3, i) = starl(2)
+ final(4, i) = starl(3)
+
+ else if (rad < pwaves(4)) then
+
+ final(2, i) = starr(1)
+ final(3, i) = starr(2)
+ final(4, i) = starr(3)
+
+ else if (rad < pwaves(5)) then
+
+ xi = (rad - 0.5d0) / t
+
+ call raref(gamma, xi, right, final(:, i), -1)
+
+ else
+
+ final(2, i) = right(1)
+ final(3, i) = right(2)
+ final(4, i) = right(3)
+
+ end if
+
+ end do
+
+ open(10, file='Exact_rho.dat')
+
+ do i = 1, mn
+ write(10, '(2e20.12)') final(1, i), final(2, i)
+ end do
+
+ close(10)
+
+ open(11, file='Exact_velx.dat')
+
+ do i = 1, mn
+ write(11, '(2e20.12)') final(1, i), final(3, i)
+ end do
+
+ close(11)
+
+ open(12, file='Exact_press.dat')
+
+ do i = 1, mn
+ write(12, '(2e20.12)') final(1, i), final(4, i)
+ end do
+
+ close(12)
+
+contains
+
+!!$Given a right and left state and a guess of the intermediate pressure,
+!!$returns the difference between the intermediate velocities connecting
+!!$right and left states.
+
+ subroutine getdvel(gamma, left, right, guess, pguess, dvel, step)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: left, right, guess
+ real(kind=8) :: dvel, pguess, gamma, gm1
+ integer :: step
+
+ step = step + 1
+
+ guess(3) = pguess
+
+!!$Left wave
+
+ call getvel(gamma, left, guess, -1.d0)
+
+ dvel = guess(2)
+
+!!$Right wave
+
+ call getvel(gamma, right, guess, 1.d0)
+
+ dvel = dvel - guess(2)
+
+ end subroutine getdvel
+
+!!$Given a prewave state (known) and a postwave state (guess, with pressure
+!!$and density guessed) returns with the postwave velocity. Sign indicates
+!!$left (-) or right (+) wave
+
+ subroutine getvel(gamma, known, guess, sign)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: known, guess
+ real(kind=8) :: gamma, gm1, cs, sign, a, b, c, h, e, ea, ua,&
+ &ha, csa, k, sqgl1, v12, pp, n, d
+
+ gm1 = gamma - 1.d0
+ ua = known(3) / gm1 / known(1)
+ ea = known(1) + known(3) / gm1
+ ha = 1.d0 + ua + known(3) / known(1)
+ csa = sqrt(gamma * known(3) / known(1) / ha)
+
+ if (guess(3) > known(3)) then
+
+!!$Shock
+
+ a = 1.d0 + gm1 * (known(3) - guess(3)) / gamma / guess(3)
+ b = 1.d0 - a
+ c = ha * (known(3) - guess(3)) / known(1) - ha * ha
+
+ if (c > b * b / 4.d0 / a) pause "unphysical enthalpy"
+
+ h = (-b + sqrt(b * b - 4.d0 * a * c)) / 2.d0 / a
+
+ guess(1) = gamma * guess(3) / gm1 / (h - 1.d0)
+ e = guess(1) + guess(3) / gm1
+
+ v12 = -sign * sqrt((guess(3) - known(3)) * (e - ea) / &
+ &(ea + guess(3)) / (e + known(3)))
+
+!!$ pp = guess(3) - known(3)
+!!$ n = pp * ( guess(3) * (ha - 1.d0) * (gm1 + h) - &
+!!$ &known(3) * (h - 1.d0) * (gm1 + ha) )
+!!$ d = (ha - 1.d0) * (ea + guess(3)) * ( (gm1 + h) * pp + &
+!!$ &gamma * h * known(3) )
+!!$
+!!$ v12 = -sign * sqrt(n / d)
+
+ guess(2) = (known(2) - v12) / (1.d0 - known(2) * v12)
+
+ else
+
+!!$Rarefaction
+
+ k = known(3) / known(1)**gamma
+
+ guess(1) = (guess(3) / k)**(1.d0 / gamma)
+ cs = sqrt(gamma * guess(3) / (guess(1) + gamma * guess(3) / gm1))
+ sqgl1 = sqrt(gm1)
+ a = (1.d0 + known(2)) / (1.d0 - known(2)) * &
+ &((sqgl1 + csa) / (sqgl1 - csa) * (sqgl1 - cs) / &
+ &(sqgl1 + cs))**(-sign * 2.d0 / sqgl1)
+ guess(2) = (a - 1.d0) / (a + 1.d0)
+
+ end if
+
+ end subroutine getvel
+
+!!$Given an interval, computes the correct intermediate pressure and
+!!$returns the intermediate state in star
+
+ subroutine getp(mtol, gamma, pmin, pmax, tol, left, right, starl, &
+ &starr, guess, step)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: left, right, guess, starl, starr
+ real(kind=8) :: pmin, pmax, tol, gamma, mtol, a, b, c, d, e, &
+ &fa, fb, fc, tol1, xm, p, q, r, s
+ logical :: flag
+ integer :: step
+
+ a = pmin
+ b = pmax
+ call getdvel(gamma, left, right, guess, a, fa, step)
+ call getdvel(gamma, left, right, guess, b, fb, step)
+
+ do
+
+ c = a
+ fc = fa
+ d = b - a
+ e = d
+
+ flag = .false.
+
+ do
+
+ if (abs(fc) < abs(fb)) then
+ a = b
+ b = c
+ c = a
+ fa = fb
+ fb = fc
+ fc = fa
+ end if
+
+!!$Convergence test
+
+ tol1 = 2.d0 * mtol * abs(b) + 0.5d0 * tol
+ xm = 0.5d0 * (c - b)
+
+ if ((abs(xm).le.tol1).or.(fb == 0.d0)) then
+ flag = .true.
+ exit
+ end if
+
+!!$Is bisection necessary?
+
+ if ( (abs(e) .ge. tol1).and.(abs(fa) > abs(fb)) ) then
+
+!!$If quadratic interpolation is impossible (a = c) then do linear
+
+ if (a == c) then
+
+ s = fb / fa
+ p = 2.d0 * xm * s
+ q = 1.d0 - s
+
+ else
+
+ q = fa / fc
+ r = fb / fc
+ s = fb / fa
+ p = s * ( 2.d0 * xm * q * (q - r) - (b - a) * (r - 1.d0) )
+ q = (q - 1.d0) * (r - 1.d0) * (s - 1.d0)
+
+ end if
+
+!!$Adjust the signs
+
+ if (p > 0.d0) q = -q
+ p = abs(p)
+
+!!$Is the interpolation acceptable?
+
+ if ( (2.d0 * p < 3.d0 * xm * q - abs(tol1 * q)).and.&
+ &(p < abs(0.5d0 * e * q)) ) then
+
+ e = d
+ d = p / q
+
+ else
+
+!!$Bisection
+
+ d = xm
+ e = d
+
+ end if
+
+ else
+
+ d = xm
+ e = d
+
+ end if
+
+!!$Complete the step
+
+ a = b
+ fa = fb
+
+ if (abs(d) > tol1) then
+
+ b = b + d
+
+ else
+
+ b = b + sign(tol1, xm)
+
+ end if
+
+ call getdvel(gamma, left, right, guess, b, fb, step)
+
+ if ( fb * fc / abs(fc) > 0.d0 ) exit
+
+ end do
+
+ if (flag) exit
+
+ end do
+
+ starl(3) = b
+ starr(3) = b
+
+ guess = starl
+
+ call getvel(gamma, left, guess, -1.d0)
+
+ starl(1:2) = guess(1:2)
+
+ guess = starr
+
+ call getvel(gamma, right, guess, 1.d0)
+
+ starr(1:2) = guess(1:2)
+
+ end subroutine getp
+
+ subroutine raref(gamma, xi, known, out, sign)
+
+ implicit none
+
+ real(kind=8), intent(in) :: gamma, xi
+ real(kind=8), dimension(3) :: known
+ real(kind=8), dimension(4) :: out
+ integer, intent(in) :: sign
+ integer :: step
+ real(kind=8) :: gm1, b, c, d, k, l, v, ua, ha, csa, cs2, &
+ &ocs2, fcs2, dfdcs2, tol
+
+ gm1 = gamma - 1.d0
+ tol = 1.d-8
+ ua = known(3) / gm1 / known(1)
+ ha = 1.d0 + ua + known(3) / known(1)
+ csa = sqrt(gamma * known(3) / known(1) / ha)
+ b = sqrt(gm1)
+ c = (b + csa) / (b - csa)
+ d = -sign * b / 2.d0
+ k = (1.d0 + xi) / (1.d0 - xi)
+ l = c * k**d
+ v = ((1.d0 - known(2)) / (1.d0 + known(2)))**d
+
+ ocs2 = csa
+
+ do
+
+ fcs2 = l * v * (1.d0 + sign * ocs2)**d * (ocs2 - b) + &
+ &(1.d0 - sign * ocs2)**d * (ocs2 + b)
+ dfdcs2 = l * v * (1.d0 + sign * ocs2)**d * &
+ &(1.d0 + sign * d * (ocs2 - b) / (1.d0 + sign * ocs2)) + &
+ &(1.d0 - sign * ocs2)**d * (1.d0 - sign * d * (ocs2 + b) / &
+ &(1.d0 - sign * ocs2))
+
+ cs2 = ocs2 - fcs2 / dfdcs2
+
+ if (abs(cs2 - ocs2) / ocs2 < tol) then
+
+ exit
+
+ else
+
+ ocs2 = cs2
+
+ end if
+
+ end do
+
+ out(3) = (xi + sign * cs2) / (1.d0 + sign * xi * cs2)
+ out(2) = known(1) * ((cs2 * cs2 * (gm1 - csa * csa)) / &
+ &(csa * csa * (gm1 - cs2 * cs2)))**(1.d0/gm1)
+ out(4) = cs2 * cs2 * gm1 * out(2) / (gm1 - cs2 * cs2) / gamma
+
+ end subroutine raref
+
+!!$Given a right and left state and a guess of the intermediate pressure,
+!!$returns the difference between the intermediate velocities connecting
+!!$right and left states.
+
+ subroutine getdvel2(gamma, left, right, guess, pguess, dvel, step, &
+ &dfdp)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: left, right, guess
+ real(kind=8) :: dvel, pguess, gamma, gm1, &
+ &dfdp, dfdp1
+ integer :: step
+
+ step = step + 1
+
+ guess(3) = pguess
+
+!!$Left wave
+
+ call getvel2(gamma, left, guess, -1.d0, dfdp1)
+
+ dvel = guess(2)
+ dfdp = dfdp1
+
+!!$Right wave
+
+ call getvel2(gamma, right, guess, 1.d0, dfdp1)
+
+ dvel = dvel - guess(2)
+ dfdp = dfdp - dfdp1
+
+ end subroutine getdvel2
+
+!!$Given a prewave state (known) and a postwave state (guess, with pressure
+!!$and density guessed) returns with the postwave velocity. Sign indicates
+!!$left (-) or right (+) wave
+
+ subroutine getvel2(gamma, known, guess, sign, dfdp)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: known, guess
+ real(kind=8) :: gamma, gm1, cs, sign, a, b, c, h, u, j, ua, &
+ &ha, csa, wa, vshock, wshock, k, sqgl1, dfdp, dhdp, dhordp, &
+ &djdp, dwsojdp, dcsdp, dadp, d, e, dbdp, dcdp, drhodp, &
+ &g, i, dvsdp, dwsdp, dv12dp, v12, dedp, ea
+
+ gm1 = gamma - 1.d0
+ ua = known(3) / gm1 / known(1)
+ ea = known(1) + known(3) / gm1
+ ha = 1.d0 + ua + known(3) / known(1)
+ csa = sqrt(gamma * known(3) / known(1) / ha)
+ wa = 1.d0 / sqrt(1.d0 - known(2) * known(2))
+
+ if (guess(3) > known(3)) then
+
+!!$Shock
+
+ a = 1.d0 + gm1 * (known(3) - guess(3)) / gamma / guess(3)
+ b = 1.d0 - a
+ c = ha * (known(3) - guess(3)) / known(1) - ha * ha
+
+ if (c > b * b / 4.d0 / a) pause "unphysical enthalpy"
+
+ h = (-b + sqrt(b * b - 4.d0 * a * c)) / 2.d0 / a
+
+ dadp = -gm1 / gamma * known(3) / guess(3) / guess(3)
+ dbdp = - dadp
+ dcdp = - ha / known(1)
+ dhdp = - (h * h * dadp + h * dbdp + dcdp) / (2.d0 * a * h + b)
+
+ guess(1) = gamma * guess(3) / gm1 / (h - 1.d0)
+ e = guess(1) + guess(3) / gm1
+
+ dedp = gamma / gm1 * (h - 1.d0 - guess(3) * dhdp) / &
+ &(h - 1.d0) / (h - 1.d0) + 1.d0 / gm1
+
+ v12 = -sign * sqrt((guess(3) - known(3)) * (e - ea) / &
+ &(ea + guess(3)) / (e + known(3)))
+
+ dv12dp = (ea + known(3)) / 2.d0 / (ea + guess(3)) / &
+ &(e + known(3)) * ( (e + known(3)) / (guess(3) - known(3)) + &
+ &dedp * (ea + guess(3)) / (e - ea) )
+
+ guess(2) = (known(2) - v12) / (1.d0 - known(2) * v12)
+
+ dfdp = dv12dp * (known(2) * known(2) - 1.d0) / &
+ &(known(2) * v12 - 1.d0)
+
+ else
+
+!!$Rarefaction
+
+ k = known(3) / known(1)**gamma
+
+ guess(1) = (guess(3) / k)**(1.d0 / gamma)
+ cs = sqrt(gamma * guess(3) / (guess(1) + gamma * guess(3) / gm1))
+ sqgl1 = sqrt(gm1)
+ a = (1.d0 + known(2)) / (1.d0 - known(2)) * &
+ &((sqgl1 + csa) / (sqgl1 - csa) * (sqgl1 - cs) / &
+ &(sqgl1 + cs))**(-sign * 2.d0 / sqgl1)
+ guess(2) = (a - 1.d0) / (a + 1.d0)
+
+ dfdp = sign * cs / guess(3) * (1.d0 - guess(2) * guess(2))
+
+ end if
+
+ end subroutine getvel2
+
+!!$Given an interval, computes the correct intermediate pressure and
+!!$returns the intermediate state in star
+
+ subroutine getp2(mtol, gamma, tol, left, right, starl, &
+ &starr, guess, step)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: left, right, guess, starl, starr
+ real(kind=8) :: tol, gamma, f, dfdp, mtol
+ integer :: step
+
+ step = 0
+
+ if (guess(3) > 1.d-8) guess(3) = guess(3) - 1.d-8
+
+ do
+
+ if (step > 200) stop
+
+ call getdvel2(gamma, left, right, guess, guess(3), f, &
+ &step, dfdp)
+
+ if (abs(f) < tol) then
+
+ exit
+
+ else
+
+ guess(3) = guess(3) - f / dfdp
+
+ if (guess(3) < 1.d-20) guess(3) = 1.d-20
+
+ end if
+
+ end do
+
+ starl(3) = guess(3)
+ starr(3) = guess(3)
+
+ guess = starl
+
+ call getvel2(gamma, left, guess, -1.d0, dfdp)
+
+ starl(1:2) = guess(1:2)
+
+ guess = starr
+
+ call getvel2(gamma, right, guess, 1.d0, dfdp)
+
+ starr(1:2) = guess(1:2)
+
+ end subroutine getp2
+
+!!$Quick routine to find the shock velocities
+
+ subroutine vshock(gamma, l, sl, sr, r, vl, vr)
+
+ implicit none
+
+ real(kind=8), dimension(3) :: l, sl, sr, r
+ real(kind=8) :: vl, vr, h, j, gamma, gm1, &
+ &ha, wa2, a, b
+
+ gm1 = gamma - 1.d0
+ vshockl = 0.d0
+ vshockr = 0.d0
+
+ if (sl(3) > l(3)) then
+
+ wa2 = 1.d0 / (1.d0 - l(2) * l(2))
+ ha = 1.d0 + l(3) / l(1) * gamma / gm1
+ h = 1.d0 + sl(3) / sl(1) * gamma / gm1
+ j = - sqrt((sl(3) - l(3)) / (ha / l(1) - h / sl(1)))
+ a = j * j + l(1) * l(1) * wa2
+ b = - l(2) * l(1) * l(1) * wa2
+ vshockl = (-b - j * j * sqrt(1.d0 + l(1) * l(1) / j / j)) / a
+
+ end if
+
+ if (sr(3) > r(3)) then
+
+ wa2 = 1.d0 / (1.d0 - r(2) * r(2))
+ ha = 1.d0 + r(3) / r(1) * gamma / gm1
+ h = 1.d0 + sr(3) / sr(1) * gamma / gm1
+ j = sqrt((sr(3) - r(3)) / (ha / r(1) - h / sr(1)))
+ a = j * j + r(1) * r(1) * wa2
+ b = - r(2) * r(1) * r(1) * wa2
+ vshockr = (-b + j * j * sqrt(1.d0 + r(1) * r(1) / j / j)) / a
+
+ end if
+
+ end subroutine vshock
+
+end program Riemann1d
diff --git a/test/whisky_test_shock.par b/test/whisky_test_shock.par
new file mode 100644
index 0000000..6ffe6fd
--- /dev/null
+++ b/test/whisky_test_shock.par
@@ -0,0 +1,71 @@
+!DESC "Diagonal shocktube, RK2, Roe, TVD-Minmod, Ideal Gas"
+
+ActiveThorns = "pugh pughreduce pughslab LocalReduce"
+
+cactus::cctk_itlast = 5
+
+driver::ghost_size = 2
+driver::global_nx = 15
+driver::global_ny = 15
+driver::global_nz = 15
+
+ActiveThorns = "coordbase symbase cartgrid3d boundary"
+
+grid::type = "BySpacing"
+grid::domain = "full"
+grid::dxyz = 0.5
+
+ActiveThorns = "time"
+
+time::dtfac = 0.25
+
+ActiveThorns = "ioutil ioascii iobasic"
+
+IO::out_fileinfo = "none"
+IO::out_dir = "whisky_test_shock"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon"
+
+ActiveThorns = "nanchecker mol"
+
+methodoflines::ode_method = "rk2"
+methodoflines::mol_intermediate_steps = 2
+
+ActiveThorns = "ADMBase StaticConformal SpaceMask CoordGauge ADMMacros ADMCoupling Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+ADMBase::evolution_method = "none"
+ADMBase::initial_shift = "none"
+ADMBase::metric_type = "physical"
+SpaceMask::use_mask = "yes"
+
+ActiveThorns = "eos_base eos_ideal_fluid eos_polytrope"
+
+EOS_Ideal_Fluid::eos_ideal_fluid_gamma = 1.66666666666666
+
+ActiveThorns = "hydrobase whisky"
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+whisky::riemann_solver = "Roe"
+whisky::whisky_eos_type = "General"
+whisky::whisky_eos_table = "Ideal_Fluid"
+whisky::whisky_stencil = 2
+whisky::recon_method = "tvd"
+whisky::tvd_limiter = "minmod"
+whisky::bound = "flat"
+
+ActiveThorns = "whisky_init_data"
+
+whisky_init_data::whisky_initial_data = "shocktube"
+whisky_init_data::shocktube_type = "diagshock"
+whisky_init_data::shock_case = "Simple"
diff --git a/test/whisky_test_shock/dens_3D_diagonal.xg b/test/whisky_test_shock/dens_3D_diagonal.xg
new file mode 100644
index 0000000..c149239
--- /dev/null
+++ b/test/whisky_test_shock/dens_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 10.0000000000000
+0.4330127018922 1.0000000000000
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.8795935600860
+0.4330127018922 1.3223603403050
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.6225341721649
+0.4330127018922 1.7179161365966
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 9.9990251974957
+-0.4330127018922 9.2732688740202
+0.4330127018922 2.0020718623020
+1.2990381056767 1.0038408191777
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999993442086
+-1.2990381056767 9.9950423812706
+-0.4330127018922 8.8584287134519
+0.4330127018922 2.2490113879606
+1.2990381056767 1.0263116772964
+2.1650635094611 1.0000000000001
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999893999512
+-1.2990381056767 9.9847334036046
+-0.4330127018922 8.4105554908329
+0.4330127018922 2.4901078211210
+1.2990381056767 1.0945283829554
+2.1650635094611 1.0000000001047
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
diff --git a/test/whisky_test_shock/dens_x_[7][7].xg b/test/whisky_test_shock/dens_x_[7][7].xg
new file mode 100644
index 0000000..b02c542
--- /dev/null
+++ b/test/whisky_test_shock/dens_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.8795935600860
+-0.7500000000000 8.3194872380467
+-0.2500000000000 2.4785588615624
+0.2500000000000 1.3223603403050
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9974439400189
+-2.7500000000000 9.9974439400189
+-2.2500000000000 9.9974439400189
+-1.7500000000000 9.9636304455389
+-1.2500000000000 9.6225341721649
+-0.7500000000000 7.4294137622033
+-0.2500000000000 3.1044458737899
+0.2500000000000 1.7179161365966
+0.7500000000000 1.1525028573431
+1.2500000000000 1.0121118884413
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9857073318722
+-2.7500000000000 9.9857073318722
+-2.2500000000000 9.9857073318722
+-1.7500000000000 9.8798924020462
+-1.2500000000000 9.2733222488212
+-0.7500000000000 6.8196031661439
+-0.2500000000000 3.5216742825286
+0.2500000000000 2.0020718623020
+0.7500000000000 1.4339513967187
+1.2500000000000 1.0807720089973
+1.7500000000000 1.0038437301555
+2.2500000000000 1.0000025317672
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9557788237934
+-2.7500000000000 9.9557788237934
+-2.2500000000000 9.9557788237934
+-1.7500000000000 9.7408872216040
+-1.2500000000000 8.8582654332556
+-0.7500000000000 6.3952380463853
+-0.2500000000000 3.7983289382780
+0.2500000000000 2.2490113879606
+0.7500000000000 1.7357596096200
+1.2500000000000 1.2439780230617
+1.7500000000000 1.0263388775180
+2.2500000000000 1.0005616916557
+2.7500000000000 1.0000000170979
+3.2500000000000 1.0000000170979
+3.7500000000000 1.0000000170979
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8994644090525
+-2.7500000000000 9.8994644090525
+-2.2500000000000 9.8994644090525
+-1.7500000000000 9.5457610637602
+-1.2500000000000 8.4105805377765
+-0.7500000000000 6.0791347759690
+-0.2500000000000 3.9950627846167
+0.2500000000000 2.4901078211210
+0.7500000000000 1.9923262788519
+1.2500000000000 1.5016245936027
+1.7500000000000 1.0946355675688
+2.2500000000000 1.0055872002874
+2.7500000000000 1.0000095656111
+3.2500000000000 1.0000095656111
+3.7500000000000 1.0000095656111
diff --git a/test/whisky_test_shock/dens_y_[7][7].xg b/test/whisky_test_shock/dens_y_[7][7].xg
new file mode 100644
index 0000000..b02c542
--- /dev/null
+++ b/test/whisky_test_shock/dens_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.8795935600860
+-0.7500000000000 8.3194872380467
+-0.2500000000000 2.4785588615624
+0.2500000000000 1.3223603403050
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9974439400189
+-2.7500000000000 9.9974439400189
+-2.2500000000000 9.9974439400189
+-1.7500000000000 9.9636304455389
+-1.2500000000000 9.6225341721649
+-0.7500000000000 7.4294137622033
+-0.2500000000000 3.1044458737899
+0.2500000000000 1.7179161365966
+0.7500000000000 1.1525028573431
+1.2500000000000 1.0121118884413
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9857073318722
+-2.7500000000000 9.9857073318722
+-2.2500000000000 9.9857073318722
+-1.7500000000000 9.8798924020462
+-1.2500000000000 9.2733222488212
+-0.7500000000000 6.8196031661439
+-0.2500000000000 3.5216742825286
+0.2500000000000 2.0020718623020
+0.7500000000000 1.4339513967187
+1.2500000000000 1.0807720089973
+1.7500000000000 1.0038437301555
+2.2500000000000 1.0000025317672
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9557788237934
+-2.7500000000000 9.9557788237934
+-2.2500000000000 9.9557788237934
+-1.7500000000000 9.7408872216040
+-1.2500000000000 8.8582654332556
+-0.7500000000000 6.3952380463853
+-0.2500000000000 3.7983289382780
+0.2500000000000 2.2490113879606
+0.7500000000000 1.7357596096200
+1.2500000000000 1.2439780230617
+1.7500000000000 1.0263388775180
+2.2500000000000 1.0005616916557
+2.7500000000000 1.0000000170979
+3.2500000000000 1.0000000170979
+3.7500000000000 1.0000000170979
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8994644090525
+-2.7500000000000 9.8994644090525
+-2.2500000000000 9.8994644090525
+-1.7500000000000 9.5457610637602
+-1.2500000000000 8.4105805377765
+-0.7500000000000 6.0791347759690
+-0.2500000000000 3.9950627846167
+0.2500000000000 2.4901078211210
+0.7500000000000 1.9923262788519
+1.2500000000000 1.5016245936027
+1.7500000000000 1.0946355675688
+2.2500000000000 1.0055872002874
+2.7500000000000 1.0000095656111
+3.2500000000000 1.0000095656111
+3.7500000000000 1.0000095656111
diff --git a/test/whisky_test_shock/dens_z_[7][7].xg b/test/whisky_test_shock/dens_z_[7][7].xg
new file mode 100644
index 0000000..b02c542
--- /dev/null
+++ b/test/whisky_test_shock/dens_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.8795935600860
+-0.7500000000000 8.3194872380467
+-0.2500000000000 2.4785588615624
+0.2500000000000 1.3223603403050
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9974439400189
+-2.7500000000000 9.9974439400189
+-2.2500000000000 9.9974439400189
+-1.7500000000000 9.9636304455389
+-1.2500000000000 9.6225341721649
+-0.7500000000000 7.4294137622033
+-0.2500000000000 3.1044458737899
+0.2500000000000 1.7179161365966
+0.7500000000000 1.1525028573431
+1.2500000000000 1.0121118884413
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9857073318722
+-2.7500000000000 9.9857073318722
+-2.2500000000000 9.9857073318722
+-1.7500000000000 9.8798924020462
+-1.2500000000000 9.2733222488212
+-0.7500000000000 6.8196031661439
+-0.2500000000000 3.5216742825286
+0.2500000000000 2.0020718623020
+0.7500000000000 1.4339513967187
+1.2500000000000 1.0807720089973
+1.7500000000000 1.0038437301555
+2.2500000000000 1.0000025317672
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9557788237934
+-2.7500000000000 9.9557788237934
+-2.2500000000000 9.9557788237934
+-1.7500000000000 9.7408872216040
+-1.2500000000000 8.8582654332556
+-0.7500000000000 6.3952380463853
+-0.2500000000000 3.7983289382780
+0.2500000000000 2.2490113879606
+0.7500000000000 1.7357596096200
+1.2500000000000 1.2439780230617
+1.7500000000000 1.0263388775180
+2.2500000000000 1.0005616916557
+2.7500000000000 1.0000000170979
+3.2500000000000 1.0000000170979
+3.7500000000000 1.0000000170979
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8994644090525
+-2.7500000000000 9.8994644090525
+-2.2500000000000 9.8994644090525
+-1.7500000000000 9.5457610637602
+-1.2500000000000 8.4105805377765
+-0.7500000000000 6.0791347759690
+-0.2500000000000 3.9950627846167
+0.2500000000000 2.4901078211210
+0.7500000000000 1.9923262788519
+1.2500000000000 1.5016245936027
+1.7500000000000 1.0946355675688
+2.2500000000000 1.0055872002874
+2.7500000000000 1.0000095656111
+3.2500000000000 1.0000095656111
+3.7500000000000 1.0000095656111
diff --git a/test/whisky_test_shock/eps_3D_diagonal.xg b/test/whisky_test_shock/eps_3D_diagonal.xg
new file mode 100644
index 0000000..0cd9399
--- /dev/null
+++ b/test/whisky_test_shock/eps_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 2.0000000000000
+-0.4330127018922 2.0000000000000
+0.4330127018922 0.0000010000000
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 2.0000000000000
+-0.4330127018922 1.9830557803249
+0.4330127018922 0.1584409120218
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 2.0000000000000
+-0.4330127018922 1.9502269834617
+0.4330127018922 0.5078458720836
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 1.9998700712654
+-0.4330127018922 1.9063597227222
+0.4330127018922 0.7755700678115
+1.2990381056767 0.0000018337398
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 1.9999999125612
+-1.2990381056767 1.9993396950070
+-0.4330127018922 1.8539449886763
+0.4330127018922 0.9651316174984
+1.2990381056767 0.0001155704242
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 1.9999985866650
+-1.2990381056767 1.9979691306752
+-0.4330127018922 1.7954891656609
+0.4330127018922 1.0755460455990
+1.2990381056767 0.0024869563743
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
diff --git a/test/whisky_test_shock/eps_x_[7][7].xg b/test/whisky_test_shock/eps_x_[7][7].xg
new file mode 100644
index 0000000..7960d17
--- /dev/null
+++ b/test/whisky_test_shock/eps_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 2.0000000000000
+-0.7500000000000 2.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 1.9830557803249
+-0.7500000000000 2.0149008416837
+-0.2500000000000 1.0501427170926
+0.2500000000000 0.1584409120218
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.9996596120603
+-2.7500000000000 1.9996596120603
+-2.2500000000000 1.9996596120603
+-1.7500000000000 1.9952133110696
+-1.2500000000000 1.9502269834617
+-0.7500000000000 1.8950945985483
+-0.2500000000000 1.3314405379298
+0.2500000000000 0.5078458720836
+0.7500000000000 0.0252699665593
+1.2500000000000 0.0000501207055
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.9981006518697
+-2.7500000000000 1.9981006518697
+-2.2500000000000 1.9981006518697
+-1.7500000000000 1.9843147279613
+-1.2500000000000 1.9063664584395
+-0.7500000000000 1.7756090045845
+-0.2500000000000 1.4030750072315
+0.2500000000000 0.7755700678115
+0.7500000000000 0.1527969986131
+1.2500000000000 0.0030288065876
+1.7500000000000 0.0000018361110
+2.2500000000000 0.0000010000017
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.9941436534085
+-2.7500000000000 1.9941436534085
+-2.2500000000000 1.9941436534085
+-1.7500000000000 1.9663874455222
+-1.2500000000000 1.8539427262029
+-0.7500000000000 1.6625347619360
+-0.2500000000000 1.3972639769958
+0.2500000000000 0.9651316174984
+0.7500000000000 0.3373878542358
+1.2500000000000 0.0293879777956
+1.7500000000000 0.0001159681261
+2.2500000000000 0.0000010051055
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.9867385821695
+-2.7500000000000 1.9867385821695
+-2.2500000000000 1.9867385821695
+-1.7500000000000 1.9412741804970
+-1.2500000000000 1.7955340294181
+-0.7500000000000 1.5591611502435
+-0.2500000000000 1.3639010438382
+0.2500000000000 1.0755460455990
+0.7500000000000 0.5378730004546
+1.2500000000000 0.1118577418086
+1.7500000000000 0.0024966619390
+2.2500000000000 0.0000025840664
+2.7500000000000 0.0000010000070
+3.2500000000000 0.0000010000070
+3.7500000000000 0.0000010000070
diff --git a/test/whisky_test_shock/eps_y_[7][7].xg b/test/whisky_test_shock/eps_y_[7][7].xg
new file mode 100644
index 0000000..7960d17
--- /dev/null
+++ b/test/whisky_test_shock/eps_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 2.0000000000000
+-0.7500000000000 2.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 1.9830557803249
+-0.7500000000000 2.0149008416837
+-0.2500000000000 1.0501427170926
+0.2500000000000 0.1584409120218
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.9996596120603
+-2.7500000000000 1.9996596120603
+-2.2500000000000 1.9996596120603
+-1.7500000000000 1.9952133110696
+-1.2500000000000 1.9502269834617
+-0.7500000000000 1.8950945985483
+-0.2500000000000 1.3314405379298
+0.2500000000000 0.5078458720836
+0.7500000000000 0.0252699665593
+1.2500000000000 0.0000501207055
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.9981006518697
+-2.7500000000000 1.9981006518697
+-2.2500000000000 1.9981006518697
+-1.7500000000000 1.9843147279613
+-1.2500000000000 1.9063664584395
+-0.7500000000000 1.7756090045845
+-0.2500000000000 1.4030750072315
+0.2500000000000 0.7755700678115
+0.7500000000000 0.1527969986131
+1.2500000000000 0.0030288065876
+1.7500000000000 0.0000018361110
+2.2500000000000 0.0000010000017
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.9941436534085
+-2.7500000000000 1.9941436534085
+-2.2500000000000 1.9941436534085
+-1.7500000000000 1.9663874455222
+-1.2500000000000 1.8539427262029
+-0.7500000000000 1.6625347619360
+-0.2500000000000 1.3972639769958
+0.2500000000000 0.9651316174984
+0.7500000000000 0.3373878542358
+1.2500000000000 0.0293879777956
+1.7500000000000 0.0001159681261
+2.2500000000000 0.0000010051055
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.9867385821695
+-2.7500000000000 1.9867385821695
+-2.2500000000000 1.9867385821695
+-1.7500000000000 1.9412741804970
+-1.2500000000000 1.7955340294181
+-0.7500000000000 1.5591611502435
+-0.2500000000000 1.3639010438382
+0.2500000000000 1.0755460455990
+0.7500000000000 0.5378730004546
+1.2500000000000 0.1118577418086
+1.7500000000000 0.0024966619390
+2.2500000000000 0.0000025840664
+2.7500000000000 0.0000010000070
+3.2500000000000 0.0000010000070
+3.7500000000000 0.0000010000070
diff --git a/test/whisky_test_shock/eps_z_[7][7].xg b/test/whisky_test_shock/eps_z_[7][7].xg
new file mode 100644
index 0000000..7960d17
--- /dev/null
+++ b/test/whisky_test_shock/eps_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 2.0000000000000
+-0.7500000000000 2.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 1.9830557803249
+-0.7500000000000 2.0149008416837
+-0.2500000000000 1.0501427170926
+0.2500000000000 0.1584409120218
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.9996596120603
+-2.7500000000000 1.9996596120603
+-2.2500000000000 1.9996596120603
+-1.7500000000000 1.9952133110696
+-1.2500000000000 1.9502269834617
+-0.7500000000000 1.8950945985483
+-0.2500000000000 1.3314405379298
+0.2500000000000 0.5078458720836
+0.7500000000000 0.0252699665593
+1.2500000000000 0.0000501207055
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.9981006518697
+-2.7500000000000 1.9981006518697
+-2.2500000000000 1.9981006518697
+-1.7500000000000 1.9843147279613
+-1.2500000000000 1.9063664584395
+-0.7500000000000 1.7756090045845
+-0.2500000000000 1.4030750072315
+0.2500000000000 0.7755700678115
+0.7500000000000 0.1527969986131
+1.2500000000000 0.0030288065876
+1.7500000000000 0.0000018361110
+2.2500000000000 0.0000010000017
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.9941436534085
+-2.7500000000000 1.9941436534085
+-2.2500000000000 1.9941436534085
+-1.7500000000000 1.9663874455222
+-1.2500000000000 1.8539427262029
+-0.7500000000000 1.6625347619360
+-0.2500000000000 1.3972639769958
+0.2500000000000 0.9651316174984
+0.7500000000000 0.3373878542358
+1.2500000000000 0.0293879777956
+1.7500000000000 0.0001159681261
+2.2500000000000 0.0000010051055
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.9867385821695
+-2.7500000000000 1.9867385821695
+-2.2500000000000 1.9867385821695
+-1.7500000000000 1.9412741804970
+-1.2500000000000 1.7955340294181
+-0.7500000000000 1.5591611502435
+-0.2500000000000 1.3639010438382
+0.2500000000000 1.0755460455990
+0.7500000000000 0.5378730004546
+1.2500000000000 0.1118577418086
+1.7500000000000 0.0024966619390
+2.2500000000000 0.0000025840664
+2.7500000000000 0.0000010000070
+3.2500000000000 0.0000010000070
+3.7500000000000 0.0000010000070
diff --git a/test/whisky_test_shock/press_3D_diagonal.xg b/test/whisky_test_shock/press_3D_diagonal.xg
new file mode 100644
index 0000000..dfeda7d
--- /dev/null
+++ b/test/whisky_test_shock/press_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3333333333332
+-0.4330127018922 13.3333333333332
+0.4330127018922 0.0000006666667
+1.2990381056767 0.0000006666667
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.1250000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3333333333332
+-0.4330127018922 13.0610321236240
+0.4330127018922 0.1382338968340
+1.2990381056767 0.0000006666667
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.2500000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3333333333332
+-0.4330127018922 12.5085442762457
+0.4330127018922 0.5368725538985
+1.2990381056767 0.0000006666667
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.3750000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3311674758118
+-0.4330127018922 11.7753023005777
+0.4330127018922 0.8919190340680
+1.2990381056767 0.0000012271886
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.5000000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333318760192
+-1.2990381056767 13.3223229066431
+-0.4330127018922 10.9205703837162
+0.4330127018922 1.1862323967735
+1.2990381056767 0.0000790741463
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.6250000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333097777101
+-1.2990381056767 13.2994549575863
+-0.4330127018922 10.0087528947602
+0.4330127018922 1.4183470709220
+1.2990381056767 0.0018146002095
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
diff --git a/test/whisky_test_shock/press_x_[7][7].xg b/test/whisky_test_shock/press_x_[7][7].xg
new file mode 100644
index 0000000..bf88335
--- /dev/null
+++ b/test/whisky_test_shock/press_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.3333333333332
+-0.7500000000000 13.3333333333332
+-0.2500000000000 0.0000006666667
+0.2500000000000 0.0000006666667
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.1250000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.0610321236240
+-0.7500000000000 11.1492539683015
+-0.2500000000000 1.6015534023808
+0.2500000000000 0.1382338968340
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.2500000000000
+-3.2500000000000 13.3276565061491
+-2.7500000000000 13.3276565061491
+-2.2500000000000 13.3276565061491
+-1.7500000000000 13.2530236528587
+-1.2500000000000 12.5085442762457
+-0.7500000000000 9.3033047368663
+-0.2500000000000 2.4468871842046
+0.2500000000000 0.5368725538985
+0.7500000000000 0.0193897889914
+1.2500000000000 0.0000338185047
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.3750000000000
+-3.2500000000000 13.3016292542235
+-2.7500000000000 13.3016292542235
+-2.2500000000000 13.3016292542235
+-1.7500000000000 13.0696083323632
+-1.2500000000000 11.7754112630742
+-0.7500000000000 7.9107806516797
+-0.2500000000000 2.8552519902770
+0.2500000000000 0.8919190340680
+0.7500000000000 0.1419375820190
+1.2500000000000 0.0021821805137
+1.7500000000000 0.0000012287790
+2.2500000000000 0.0000006666695
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.5000000000000
+-3.2500000000000 13.2354702152638
+-2.7500000000000 13.2354702152638
+-2.2500000000000 13.2354702152638
+-1.7500000000000 12.7681695276406
+-1.2500000000000 10.9203393834613
+-0.7500000000000 6.8438114635979
+-0.2500000000000 3.0078456092590
+0.2500000000000 1.1862323967735
+0.7500000000000 0.3551668117971
+1.2500000000000 0.0243107427575
+1.7500000000000 0.0000793483596
+2.2500000000000 0.0000006704467
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.6250000000000
+-3.2500000000000 13.1115863938566
+-2.7500000000000 13.1115863938566
+-2.2500000000000 13.1115863938566
+-1.7500000000000 12.3492673513138
+-1.2500000000000 10.0089832055333
+-0.7500000000000 6.0058944954636
+-0.2500000000000 3.0370330675318
+0.2500000000000 1.4183470709220
+0.7500000000000 0.6042685937054
+1.2500000000000 0.1093720488881
+1.7500000000000 0.0018218597284
+2.2500000000000 0.0000017323361
+2.7500000000000 0.0000006666777
+3.2500000000000 0.0000006666777
+3.7500000000000 0.0000006666777
diff --git a/test/whisky_test_shock/press_y_[7][7].xg b/test/whisky_test_shock/press_y_[7][7].xg
new file mode 100644
index 0000000..bf88335
--- /dev/null
+++ b/test/whisky_test_shock/press_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.3333333333332
+-0.7500000000000 13.3333333333332
+-0.2500000000000 0.0000006666667
+0.2500000000000 0.0000006666667
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.1250000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.0610321236240
+-0.7500000000000 11.1492539683015
+-0.2500000000000 1.6015534023808
+0.2500000000000 0.1382338968340
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.2500000000000
+-3.2500000000000 13.3276565061491
+-2.7500000000000 13.3276565061491
+-2.2500000000000 13.3276565061491
+-1.7500000000000 13.2530236528587
+-1.2500000000000 12.5085442762457
+-0.7500000000000 9.3033047368663
+-0.2500000000000 2.4468871842046
+0.2500000000000 0.5368725538985
+0.7500000000000 0.0193897889914
+1.2500000000000 0.0000338185047
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.3750000000000
+-3.2500000000000 13.3016292542235
+-2.7500000000000 13.3016292542235
+-2.2500000000000 13.3016292542235
+-1.7500000000000 13.0696083323632
+-1.2500000000000 11.7754112630742
+-0.7500000000000 7.9107806516797
+-0.2500000000000 2.8552519902770
+0.2500000000000 0.8919190340680
+0.7500000000000 0.1419375820190
+1.2500000000000 0.0021821805137
+1.7500000000000 0.0000012287790
+2.2500000000000 0.0000006666695
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.5000000000000
+-3.2500000000000 13.2354702152638
+-2.7500000000000 13.2354702152638
+-2.2500000000000 13.2354702152638
+-1.7500000000000 12.7681695276406
+-1.2500000000000 10.9203393834613
+-0.7500000000000 6.8438114635979
+-0.2500000000000 3.0078456092590
+0.2500000000000 1.1862323967735
+0.7500000000000 0.3551668117971
+1.2500000000000 0.0243107427575
+1.7500000000000 0.0000793483596
+2.2500000000000 0.0000006704467
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.6250000000000
+-3.2500000000000 13.1115863938566
+-2.7500000000000 13.1115863938566
+-2.2500000000000 13.1115863938566
+-1.7500000000000 12.3492673513138
+-1.2500000000000 10.0089832055333
+-0.7500000000000 6.0058944954636
+-0.2500000000000 3.0370330675318
+0.2500000000000 1.4183470709220
+0.7500000000000 0.6042685937054
+1.2500000000000 0.1093720488881
+1.7500000000000 0.0018218597284
+2.2500000000000 0.0000017323361
+2.7500000000000 0.0000006666777
+3.2500000000000 0.0000006666777
+3.7500000000000 0.0000006666777
diff --git a/test/whisky_test_shock/press_z_[7][7].xg b/test/whisky_test_shock/press_z_[7][7].xg
new file mode 100644
index 0000000..bf88335
--- /dev/null
+++ b/test/whisky_test_shock/press_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.3333333333332
+-0.7500000000000 13.3333333333332
+-0.2500000000000 0.0000006666667
+0.2500000000000 0.0000006666667
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.1250000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.0610321236240
+-0.7500000000000 11.1492539683015
+-0.2500000000000 1.6015534023808
+0.2500000000000 0.1382338968340
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.2500000000000
+-3.2500000000000 13.3276565061491
+-2.7500000000000 13.3276565061491
+-2.2500000000000 13.3276565061491
+-1.7500000000000 13.2530236528587
+-1.2500000000000 12.5085442762457
+-0.7500000000000 9.3033047368663
+-0.2500000000000 2.4468871842046
+0.2500000000000 0.5368725538985
+0.7500000000000 0.0193897889914
+1.2500000000000 0.0000338185047
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.3750000000000
+-3.2500000000000 13.3016292542235
+-2.7500000000000 13.3016292542235
+-2.2500000000000 13.3016292542235
+-1.7500000000000 13.0696083323632
+-1.2500000000000 11.7754112630742
+-0.7500000000000 7.9107806516797
+-0.2500000000000 2.8552519902770
+0.2500000000000 0.8919190340680
+0.7500000000000 0.1419375820190
+1.2500000000000 0.0021821805137
+1.7500000000000 0.0000012287790
+2.2500000000000 0.0000006666695
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.5000000000000
+-3.2500000000000 13.2354702152638
+-2.7500000000000 13.2354702152638
+-2.2500000000000 13.2354702152638
+-1.7500000000000 12.7681695276406
+-1.2500000000000 10.9203393834613
+-0.7500000000000 6.8438114635979
+-0.2500000000000 3.0078456092590
+0.2500000000000 1.1862323967735
+0.7500000000000 0.3551668117971
+1.2500000000000 0.0243107427575
+1.7500000000000 0.0000793483596
+2.2500000000000 0.0000006704467
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.6250000000000
+-3.2500000000000 13.1115863938566
+-2.7500000000000 13.1115863938566
+-2.2500000000000 13.1115863938566
+-1.7500000000000 12.3492673513138
+-1.2500000000000 10.0089832055333
+-0.7500000000000 6.0058944954636
+-0.2500000000000 3.0370330675318
+0.2500000000000 1.4183470709220
+0.7500000000000 0.6042685937054
+1.2500000000000 0.1093720488881
+1.7500000000000 0.0018218597284
+2.2500000000000 0.0000017323361
+2.7500000000000 0.0000006666777
+3.2500000000000 0.0000006666777
+3.7500000000000 0.0000006666777
diff --git a/test/whisky_test_shock/rho_3D_diagonal.xg b/test/whisky_test_shock/rho_3D_diagonal.xg
new file mode 100644
index 0000000..bfce405
--- /dev/null
+++ b/test/whisky_test_shock/rho_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 10.0000000000000
+0.4330127018922 1.0000000000000
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.8794740822804
+0.4330127018922 1.3086951003058
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.6208372530382
+0.4330127018922 1.5857347181808
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 9.9990251872041
+-0.4330127018922 9.2652783419306
+0.4330127018922 1.7250260248919
+1.2990381056767 1.0038408187640
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999993442086
+-1.2990381056767 9.9950420680738
+-0.4330127018922 8.8356751012717
+0.4330127018922 1.8436330992578
+1.2990381056767 1.0263111885667
+2.1650635094611 1.0000000000001
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999893999500
+-1.2990381056767 9.9847300591866
+-0.4330127018922 8.3615816955456
+0.4330127018922 1.9780841695142
+1.2990381056767 1.0944704709708
+2.1650635094611 1.0000000001047
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
diff --git a/test/whisky_test_shock/rho_x_[7][7].xg b/test/whisky_test_shock/rho_x_[7][7].xg
new file mode 100644
index 0000000..94fdb40
--- /dev/null
+++ b/test/whisky_test_shock/rho_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.8794740822804
+-0.7500000000000 8.3001012290400
+-0.2500000000000 2.2876224959424
+0.2500000000000 1.3086951003058
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9974438842751
+-2.7500000000000 9.9974438842751
+-2.2500000000000 9.9974438842751
+-1.7500000000000 9.9636141003043
+-1.2500000000000 9.6208372530382
+-0.7500000000000 7.3637258614895
+-0.2500000000000 2.7566614292921
+0.2500000000000 1.5857347181808
+0.7500000000000 1.1509585269454
+1.2500000000000 1.0121117907228
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9857051058288
+-2.7500000000000 9.9857051058288
+-2.2500000000000 9.9857051058288
+-1.7500000000000 9.8796890545115
+-1.2500000000000 9.2653313408957
+-0.7500000000000 6.6828738460336
+-0.2500000000000 3.0524939602954
+0.2500000000000 1.7250260248919
+0.7500000000000 1.3933936854846
+1.2500000000000 1.0807130385965
+1.7500000000000 1.0038437297402
+2.2500000000000 1.0000025317672
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9557548369004
+-2.7500000000000 9.9557548369004
+-2.2500000000000 9.9557548369004
+-1.7500000000000 9.7398172140868
+-1.2500000000000 8.8354989847724
+-0.7500000000000 6.1747383756611
+-0.2500000000000 3.2290021700761
+0.2500000000000 1.8436330992578
+0.7500000000000 1.5790438541491
+1.2500000000000 1.2408514253627
+1.7500000000000 1.0263383864618
+2.2500000000000 1.0005616916553
+2.7500000000000 1.0000000170979
+3.2500000000000 1.0000000170979
+3.7500000000000 1.0000000170979
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8993293668807
+-2.7500000000000 9.8993293668807
+-2.2500000000000 9.8993293668807
+-1.7500000000000 9.5421353732877
+-1.2500000000000 8.3615651735464
+-0.7500000000000 5.7780055267464
+-0.2500000000000 3.3400880671501
+0.2500000000000 1.9780841695142
+0.7500000000000 1.6851615340278
+1.2500000000000 1.4666671316570
+1.7500000000000 1.0945773434003
+2.2500000000000 1.0055871991688
+2.7500000000000 1.0000095656111
+3.2500000000000 1.0000095656111
+3.7500000000000 1.0000095656111
diff --git a/test/whisky_test_shock/rho_y_[7][7].xg b/test/whisky_test_shock/rho_y_[7][7].xg
new file mode 100644
index 0000000..94fdb40
--- /dev/null
+++ b/test/whisky_test_shock/rho_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.8794740822804
+-0.7500000000000 8.3001012290400
+-0.2500000000000 2.2876224959424
+0.2500000000000 1.3086951003058
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9974438842751
+-2.7500000000000 9.9974438842751
+-2.2500000000000 9.9974438842751
+-1.7500000000000 9.9636141003043
+-1.2500000000000 9.6208372530382
+-0.7500000000000 7.3637258614895
+-0.2500000000000 2.7566614292921
+0.2500000000000 1.5857347181808
+0.7500000000000 1.1509585269454
+1.2500000000000 1.0121117907228
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9857051058288
+-2.7500000000000 9.9857051058288
+-2.2500000000000 9.9857051058288
+-1.7500000000000 9.8796890545115
+-1.2500000000000 9.2653313408957
+-0.7500000000000 6.6828738460336
+-0.2500000000000 3.0524939602954
+0.2500000000000 1.7250260248919
+0.7500000000000 1.3933936854846
+1.2500000000000 1.0807130385965
+1.7500000000000 1.0038437297402
+2.2500000000000 1.0000025317672
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9557548369004
+-2.7500000000000 9.9557548369004
+-2.2500000000000 9.9557548369004
+-1.7500000000000 9.7398172140868
+-1.2500000000000 8.8354989847724
+-0.7500000000000 6.1747383756611
+-0.2500000000000 3.2290021700761
+0.2500000000000 1.8436330992578
+0.7500000000000 1.5790438541491
+1.2500000000000 1.2408514253627
+1.7500000000000 1.0263383864618
+2.2500000000000 1.0005616916553
+2.7500000000000 1.0000000170979
+3.2500000000000 1.0000000170979
+3.7500000000000 1.0000000170979
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8993293668807
+-2.7500000000000 9.8993293668807
+-2.2500000000000 9.8993293668807
+-1.7500000000000 9.5421353732877
+-1.2500000000000 8.3615651735464
+-0.7500000000000 5.7780055267464
+-0.2500000000000 3.3400880671501
+0.2500000000000 1.9780841695142
+0.7500000000000 1.6851615340278
+1.2500000000000 1.4666671316570
+1.7500000000000 1.0945773434003
+2.2500000000000 1.0055871991688
+2.7500000000000 1.0000095656111
+3.2500000000000 1.0000095656111
+3.7500000000000 1.0000095656111
diff --git a/test/whisky_test_shock/rho_z_[7][7].xg b/test/whisky_test_shock/rho_z_[7][7].xg
new file mode 100644
index 0000000..c078add
--- /dev/null
+++ b/test/whisky_test_shock/rho_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.8794740822804
+-0.7500000000000 8.3001012290400
+-0.2500000000000 2.2876224959424
+0.2500000000000 1.3086951003058
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9974438842751
+-2.7500000000000 9.9974438842751
+-2.2500000000000 9.9974438842751
+-1.7500000000000 9.9636141003043
+-1.2500000000000 9.6208372530382
+-0.7500000000000 7.3637258614895
+-0.2500000000000 2.7566614292921
+0.2500000000000 1.5857347181808
+0.7500000000000 1.1509585269454
+1.2500000000000 1.0121117907228
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9857051058288
+-2.7500000000000 9.9857051058288
+-2.2500000000000 9.9857051058288
+-1.7500000000000 9.8796890545115
+-1.2500000000000 9.2653313408957
+-0.7500000000000 6.6828738460336
+-0.2500000000000 3.0524939602954
+0.2500000000000 1.7250260248919
+0.7500000000000 1.3933936854846
+1.2500000000000 1.0807130385965
+1.7500000000000 1.0038437297402
+2.2500000000000 1.0000025317672
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9557548369004
+-2.7500000000000 9.9557548369004
+-2.2500000000000 9.9557548369004
+-1.7500000000000 9.7398172140868
+-1.2500000000000 8.8354989847723
+-0.7500000000000 6.1747383756611
+-0.2500000000000 3.2290021700761
+0.2500000000000 1.8436330992578
+0.7500000000000 1.5790438541491
+1.2500000000000 1.2408514253627
+1.7500000000000 1.0263383864618
+2.2500000000000 1.0005616916553
+2.7500000000000 1.0000000170979
+3.2500000000000 1.0000000170979
+3.7500000000000 1.0000000170979
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8993293668807
+-2.7500000000000 9.8993293668807
+-2.2500000000000 9.8993293668807
+-1.7500000000000 9.5421353732877
+-1.2500000000000 8.3615651735464
+-0.7500000000000 5.7780055267464
+-0.2500000000000 3.3400880671501
+0.2500000000000 1.9780841695142
+0.7500000000000 1.6851615340278
+1.2500000000000 1.4666671316570
+1.7500000000000 1.0945773434003
+2.2500000000000 1.0055871991688
+2.7500000000000 1.0000095656111
+3.2500000000000 1.0000095656111
+3.7500000000000 1.0000095656111
diff --git a/test/whisky_test_shock/scon[0]_3D_diagonal.xg b/test/whisky_test_shock/scon[0]_3D_diagonal.xg
new file mode 100644
index 0000000..1670d82
--- /dev/null
+++ b/test/whisky_test_shock/scon[0]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.1207685916331
+0.4330127018922 0.1398282249937
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.4435215296648
+0.4330127018922 0.7631697815962
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0011349449227
+-0.4330127018922 0.9290339935234
+0.4330127018922 1.5610473054490
+1.2990381056767 0.0000166402136
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000006783426
+-1.2990381056767 0.0062584556046
+-0.4330127018922 1.5021363750622
+0.4330127018922 2.3664013144403
+1.2990381056767 0.0005783785336
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000123041540
+-1.2990381056767 0.0204298757467
+-0.4330127018922 2.1013319323321
+0.4330127018922 3.0699323023416
+1.2990381056767 0.0065277834943
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock/scon[0]_x_[7][7].xg b/test/whisky_test_shock/scon[0]_x_[7][7].xg
new file mode 100644
index 0000000..336f952
--- /dev/null
+++ b/test/whisky_test_shock/scon[0]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026400077523
+-2.7500000000000 0.0026400077523
+-2.2500000000000 0.0026400077523
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0146417697204
+-2.7500000000000 0.0146417697204
+-2.2500000000000 0.0146417697204
+-1.7500000000000 0.1579930389065
+-1.2500000000000 0.9291542103322
+-0.7500000000000 3.1695200326968
+-0.2500000000000 3.9054407332047
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524367997104
+1.2500000000000 0.0065517016076
+1.7500000000000 0.0000166426237
+2.2500000000000 0.0000000008612
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0448689086063
+-2.7500000000000 0.0448689086063
+-2.2500000000000 0.0448689086063
+-1.7500000000000 0.3577404194092
+-1.2500000000000 1.5027394726985
+-0.7500000000000 3.7539667272951
+-0.2500000000000 4.5219182418894
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146444190779
+1.2500000000000 0.0535230711669
+1.7500000000000 0.0005786363078
+2.2500000000000 0.0000005060084
+2.7500000000000 0.0000000000055
+3.2500000000000 0.0000000000055
+3.7500000000000 0.0000000000055
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1007473627535
+-2.7500000000000 0.1007473627535
+-2.2500000000000 0.1007473627535
+-1.7500000000000 0.6458340586430
+-1.2500000000000 2.1034661653937
+-0.7500000000000 4.1305790923660
+-0.2500000000000 4.9543624663321
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758414413587
+1.2500000000000 0.2259686877940
+1.7500000000000 0.0065340381520
+2.2500000000000 0.0000273262430
+2.7500000000000 0.0000000033189
+3.2500000000000 0.0000000033189
+3.7500000000000 0.0000000033189
diff --git a/test/whisky_test_shock/scon[0]_y_[7][7].xg b/test/whisky_test_shock/scon[0]_y_[7][7].xg
new file mode 100644
index 0000000..8ed16ff
--- /dev/null
+++ b/test/whisky_test_shock/scon[0]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026414393160
+-2.7500000000000 0.0026414393160
+-2.2500000000000 0.0026414393160
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0175955636980
+-2.7500000000000 0.0175955636980
+-2.2500000000000 0.0175955636980
+-1.7500000000000 0.1574546608162
+-1.2500000000000 0.9290144471530
+-0.7500000000000 3.1695526026026
+-0.2500000000000 3.9054401544453
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524368494860
+1.2500000000000 0.0065514510261
+1.7500000000000 0.0000166855666
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0588006425829
+-2.7500000000000 0.0588006425829
+-2.2500000000000 0.0588006425829
+-1.7500000000000 0.3559944431968
+-1.2500000000000 1.5024499801671
+-0.7500000000000 3.7539968249465
+-0.2500000000000 4.5219359068564
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146395978906
+1.2500000000000 0.0535124897300
+1.7500000000000 0.0005803234110
+2.2500000000000 0.0000005110942
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1406166767344
+-2.7500000000000 0.1406166767344
+-2.2500000000000 0.1406166767344
+-1.7500000000000 0.6423976557774
+-1.2500000000000 2.1016774661606
+-0.7500000000000 4.1304721830182
+-0.2500000000000 4.9544040544306
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758117854171
+1.2500000000000 0.2258798152514
+1.7500000000000 0.0065516455535
+2.2500000000000 0.0000274146082
+2.7500000000000 0.0000000035044
+3.2500000000000 0.0000000035044
+3.7500000000000 0.0000000035044
diff --git a/test/whisky_test_shock/scon[0]_z_[7][7].xg b/test/whisky_test_shock/scon[0]_z_[7][7].xg
new file mode 100644
index 0000000..8ed16ff
--- /dev/null
+++ b/test/whisky_test_shock/scon[0]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026414393160
+-2.7500000000000 0.0026414393160
+-2.2500000000000 0.0026414393160
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0175955636980
+-2.7500000000000 0.0175955636980
+-2.2500000000000 0.0175955636980
+-1.7500000000000 0.1574546608162
+-1.2500000000000 0.9290144471530
+-0.7500000000000 3.1695526026026
+-0.2500000000000 3.9054401544453
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524368494860
+1.2500000000000 0.0065514510261
+1.7500000000000 0.0000166855666
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0588006425829
+-2.7500000000000 0.0588006425829
+-2.2500000000000 0.0588006425829
+-1.7500000000000 0.3559944431968
+-1.2500000000000 1.5024499801671
+-0.7500000000000 3.7539968249465
+-0.2500000000000 4.5219359068564
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146395978906
+1.2500000000000 0.0535124897300
+1.7500000000000 0.0005803234110
+2.2500000000000 0.0000005110942
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1406166767344
+-2.7500000000000 0.1406166767344
+-2.2500000000000 0.1406166767344
+-1.7500000000000 0.6423976557774
+-1.2500000000000 2.1016774661606
+-0.7500000000000 4.1304721830182
+-0.2500000000000 4.9544040544306
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758117854171
+1.2500000000000 0.2258798152514
+1.7500000000000 0.0065516455535
+2.2500000000000 0.0000274146082
+2.7500000000000 0.0000000035044
+3.2500000000000 0.0000000035044
+3.7500000000000 0.0000000035044
diff --git a/test/whisky_test_shock/scon[1]_3D_diagonal.xg b/test/whisky_test_shock/scon[1]_3D_diagonal.xg
new file mode 100644
index 0000000..1670d82
--- /dev/null
+++ b/test/whisky_test_shock/scon[1]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.1207685916331
+0.4330127018922 0.1398282249937
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.4435215296648
+0.4330127018922 0.7631697815962
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0011349449227
+-0.4330127018922 0.9290339935234
+0.4330127018922 1.5610473054490
+1.2990381056767 0.0000166402136
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000006783426
+-1.2990381056767 0.0062584556046
+-0.4330127018922 1.5021363750622
+0.4330127018922 2.3664013144403
+1.2990381056767 0.0005783785336
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000123041540
+-1.2990381056767 0.0204298757467
+-0.4330127018922 2.1013319323321
+0.4330127018922 3.0699323023416
+1.2990381056767 0.0065277834943
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock/scon[1]_x_[7][7].xg b/test/whisky_test_shock/scon[1]_x_[7][7].xg
new file mode 100644
index 0000000..8ed16ff
--- /dev/null
+++ b/test/whisky_test_shock/scon[1]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026414393160
+-2.7500000000000 0.0026414393160
+-2.2500000000000 0.0026414393160
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0175955636980
+-2.7500000000000 0.0175955636980
+-2.2500000000000 0.0175955636980
+-1.7500000000000 0.1574546608162
+-1.2500000000000 0.9290144471530
+-0.7500000000000 3.1695526026026
+-0.2500000000000 3.9054401544453
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524368494860
+1.2500000000000 0.0065514510261
+1.7500000000000 0.0000166855666
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0588006425829
+-2.7500000000000 0.0588006425829
+-2.2500000000000 0.0588006425829
+-1.7500000000000 0.3559944431968
+-1.2500000000000 1.5024499801671
+-0.7500000000000 3.7539968249465
+-0.2500000000000 4.5219359068564
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146395978906
+1.2500000000000 0.0535124897300
+1.7500000000000 0.0005803234110
+2.2500000000000 0.0000005110942
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1406166767344
+-2.7500000000000 0.1406166767344
+-2.2500000000000 0.1406166767344
+-1.7500000000000 0.6423976557774
+-1.2500000000000 2.1016774661606
+-0.7500000000000 4.1304721830182
+-0.2500000000000 4.9544040544306
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758117854171
+1.2500000000000 0.2258798152514
+1.7500000000000 0.0065516455535
+2.2500000000000 0.0000274146082
+2.7500000000000 0.0000000035044
+3.2500000000000 0.0000000035044
+3.7500000000000 0.0000000035044
diff --git a/test/whisky_test_shock/scon[1]_y_[7][7].xg b/test/whisky_test_shock/scon[1]_y_[7][7].xg
new file mode 100644
index 0000000..336f952
--- /dev/null
+++ b/test/whisky_test_shock/scon[1]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026400077523
+-2.7500000000000 0.0026400077523
+-2.2500000000000 0.0026400077523
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0146417697204
+-2.7500000000000 0.0146417697204
+-2.2500000000000 0.0146417697204
+-1.7500000000000 0.1579930389065
+-1.2500000000000 0.9291542103322
+-0.7500000000000 3.1695200326968
+-0.2500000000000 3.9054407332047
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524367997104
+1.2500000000000 0.0065517016076
+1.7500000000000 0.0000166426237
+2.2500000000000 0.0000000008612
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0448689086063
+-2.7500000000000 0.0448689086063
+-2.2500000000000 0.0448689086063
+-1.7500000000000 0.3577404194092
+-1.2500000000000 1.5027394726985
+-0.7500000000000 3.7539667272951
+-0.2500000000000 4.5219182418894
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146444190779
+1.2500000000000 0.0535230711669
+1.7500000000000 0.0005786363078
+2.2500000000000 0.0000005060084
+2.7500000000000 0.0000000000055
+3.2500000000000 0.0000000000055
+3.7500000000000 0.0000000000055
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1007473627535
+-2.7500000000000 0.1007473627535
+-2.2500000000000 0.1007473627535
+-1.7500000000000 0.6458340586430
+-1.2500000000000 2.1034661653937
+-0.7500000000000 4.1305790923660
+-0.2500000000000 4.9543624663321
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758414413587
+1.2500000000000 0.2259686877940
+1.7500000000000 0.0065340381520
+2.2500000000000 0.0000273262430
+2.7500000000000 0.0000000033189
+3.2500000000000 0.0000000033189
+3.7500000000000 0.0000000033189
diff --git a/test/whisky_test_shock/scon[1]_z_[7][7].xg b/test/whisky_test_shock/scon[1]_z_[7][7].xg
new file mode 100644
index 0000000..8ed16ff
--- /dev/null
+++ b/test/whisky_test_shock/scon[1]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026414393160
+-2.7500000000000 0.0026414393160
+-2.2500000000000 0.0026414393160
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0175955636980
+-2.7500000000000 0.0175955636980
+-2.2500000000000 0.0175955636980
+-1.7500000000000 0.1574546608162
+-1.2500000000000 0.9290144471530
+-0.7500000000000 3.1695526026026
+-0.2500000000000 3.9054401544453
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524368494860
+1.2500000000000 0.0065514510261
+1.7500000000000 0.0000166855666
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0588006425829
+-2.7500000000000 0.0588006425829
+-2.2500000000000 0.0588006425829
+-1.7500000000000 0.3559944431968
+-1.2500000000000 1.5024499801671
+-0.7500000000000 3.7539968249465
+-0.2500000000000 4.5219359068564
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146395978906
+1.2500000000000 0.0535124897300
+1.7500000000000 0.0005803234110
+2.2500000000000 0.0000005110942
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1406166767344
+-2.7500000000000 0.1406166767344
+-2.2500000000000 0.1406166767344
+-1.7500000000000 0.6423976557774
+-1.2500000000000 2.1016774661606
+-0.7500000000000 4.1304721830182
+-0.2500000000000 4.9544040544306
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758117854171
+1.2500000000000 0.2258798152514
+1.7500000000000 0.0065516455535
+2.2500000000000 0.0000274146082
+2.7500000000000 0.0000000035044
+3.2500000000000 0.0000000035044
+3.7500000000000 0.0000000035044
diff --git a/test/whisky_test_shock/scon[2]_3D_diagonal.xg b/test/whisky_test_shock/scon[2]_3D_diagonal.xg
new file mode 100644
index 0000000..1670d82
--- /dev/null
+++ b/test/whisky_test_shock/scon[2]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.1207685916331
+0.4330127018922 0.1398282249937
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.4435215296648
+0.4330127018922 0.7631697815962
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0011349449227
+-0.4330127018922 0.9290339935234
+0.4330127018922 1.5610473054490
+1.2990381056767 0.0000166402136
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000006783426
+-1.2990381056767 0.0062584556046
+-0.4330127018922 1.5021363750622
+0.4330127018922 2.3664013144403
+1.2990381056767 0.0005783785336
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000123041540
+-1.2990381056767 0.0204298757467
+-0.4330127018922 2.1013319323321
+0.4330127018922 3.0699323023416
+1.2990381056767 0.0065277834943
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock/scon[2]_x_[7][7].xg b/test/whisky_test_shock/scon[2]_x_[7][7].xg
new file mode 100644
index 0000000..8ed16ff
--- /dev/null
+++ b/test/whisky_test_shock/scon[2]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026414393160
+-2.7500000000000 0.0026414393160
+-2.2500000000000 0.0026414393160
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0175955636980
+-2.7500000000000 0.0175955636980
+-2.2500000000000 0.0175955636980
+-1.7500000000000 0.1574546608162
+-1.2500000000000 0.9290144471530
+-0.7500000000000 3.1695526026026
+-0.2500000000000 3.9054401544453
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524368494860
+1.2500000000000 0.0065514510261
+1.7500000000000 0.0000166855666
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0588006425829
+-2.7500000000000 0.0588006425829
+-2.2500000000000 0.0588006425829
+-1.7500000000000 0.3559944431968
+-1.2500000000000 1.5024499801671
+-0.7500000000000 3.7539968249465
+-0.2500000000000 4.5219359068564
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146395978906
+1.2500000000000 0.0535124897300
+1.7500000000000 0.0005803234110
+2.2500000000000 0.0000005110942
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1406166767344
+-2.7500000000000 0.1406166767344
+-2.2500000000000 0.1406166767344
+-1.7500000000000 0.6423976557774
+-1.2500000000000 2.1016774661606
+-0.7500000000000 4.1304721830182
+-0.2500000000000 4.9544040544306
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758117854171
+1.2500000000000 0.2258798152514
+1.7500000000000 0.0065516455535
+2.2500000000000 0.0000274146082
+2.7500000000000 0.0000000035044
+3.2500000000000 0.0000000035044
+3.7500000000000 0.0000000035044
diff --git a/test/whisky_test_shock/scon[2]_y_[7][7].xg b/test/whisky_test_shock/scon[2]_y_[7][7].xg
new file mode 100644
index 0000000..8ed16ff
--- /dev/null
+++ b/test/whisky_test_shock/scon[2]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026414393160
+-2.7500000000000 0.0026414393160
+-2.2500000000000 0.0026414393160
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0175955636980
+-2.7500000000000 0.0175955636980
+-2.2500000000000 0.0175955636980
+-1.7500000000000 0.1574546608162
+-1.2500000000000 0.9290144471530
+-0.7500000000000 3.1695526026026
+-0.2500000000000 3.9054401544453
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524368494860
+1.2500000000000 0.0065514510261
+1.7500000000000 0.0000166855666
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0588006425829
+-2.7500000000000 0.0588006425829
+-2.2500000000000 0.0588006425829
+-1.7500000000000 0.3559944431968
+-1.2500000000000 1.5024499801671
+-0.7500000000000 3.7539968249465
+-0.2500000000000 4.5219359068564
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146395978906
+1.2500000000000 0.0535124897300
+1.7500000000000 0.0005803234110
+2.2500000000000 0.0000005110942
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1406166767344
+-2.7500000000000 0.1406166767344
+-2.2500000000000 0.1406166767344
+-1.7500000000000 0.6423976557774
+-1.2500000000000 2.1016774661606
+-0.7500000000000 4.1304721830182
+-0.2500000000000 4.9544040544306
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758117854171
+1.2500000000000 0.2258798152514
+1.7500000000000 0.0065516455535
+2.2500000000000 0.0000274146082
+2.7500000000000 0.0000000035044
+3.2500000000000 0.0000000035044
+3.7500000000000 0.0000000035044
diff --git a/test/whisky_test_shock/scon[2]_z_[7][7].xg b/test/whisky_test_shock/scon[2]_z_[7][7].xg
new file mode 100644
index 0000000..336f952
--- /dev/null
+++ b/test/whisky_test_shock/scon[2]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.1207685916331
+-0.7500000000000 1.4315642876271
+-0.2500000000000 1.6411720624127
+0.2500000000000 0.1398282249937
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0026400077523
+-2.7500000000000 0.0026400077523
+-2.2500000000000 0.0026400077523
+-1.7500000000000 0.0450693296965
+-1.2500000000000 0.4435215296648
+-0.7500000000000 2.3878384527807
+-0.2500000000000 2.9882370077793
+0.2500000000000 0.7631697815962
+0.7500000000000 0.0359334242613
+1.2500000000000 0.0002567990260
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0146417697204
+-2.7500000000000 0.0146417697204
+-2.2500000000000 0.0146417697204
+-1.7500000000000 0.1579930389065
+-1.2500000000000 0.9291542103322
+-0.7500000000000 3.1695200326968
+-0.2500000000000 3.9054407332047
+0.2500000000000 1.5610473054490
+0.7500000000000 0.2524367997104
+1.2500000000000 0.0065517016076
+1.7500000000000 0.0000166426237
+2.2500000000000 0.0000000008612
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0448689086063
+-2.7500000000000 0.0448689086063
+-2.2500000000000 0.0448689086063
+-1.7500000000000 0.3577404194092
+-1.2500000000000 1.5027394726985
+-0.7500000000000 3.7539667272951
+-0.2500000000000 4.5219182418894
+0.2500000000000 2.3664013144403
+0.7500000000000 0.7146444190779
+1.2500000000000 0.0535230711669
+1.7500000000000 0.0005786363078
+2.2500000000000 0.0000005060084
+2.7500000000000 0.0000000000055
+3.2500000000000 0.0000000000055
+3.7500000000000 0.0000000000055
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1007473627535
+-2.7500000000000 0.1007473627535
+-2.2500000000000 0.1007473627535
+-1.7500000000000 0.6458340586430
+-1.2500000000000 2.1034661653937
+-0.7500000000000 4.1305790923660
+-0.2500000000000 4.9543624663321
+0.2500000000000 3.0699323023416
+0.7500000000000 1.3758414413587
+1.2500000000000 0.2259686877940
+1.7500000000000 0.0065340381520
+2.2500000000000 0.0000273262430
+2.7500000000000 0.0000000033189
+3.2500000000000 0.0000000033189
+3.7500000000000 0.0000000033189
diff --git a/test/whisky_test_shock/tau_3D_diagonal.xg b/test/whisky_test_shock/tau_3D_diagonal.xg
new file mode 100644
index 0000000..4bace88
--- /dev/null
+++ b/test/whisky_test_shock/tau_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 20.0000000000000
+-0.4330127018922 20.0000000000000
+0.4330127018922 0.0000010000000
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 20.0000000000000
+-0.4330127018922 19.5924574399718
+0.4330127018922 0.2284135664780
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 20.0000000000000
+-0.4330127018922 18.7755458638742
+0.4330127018922 1.1815936365921
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 19.9967512926156
+-0.4330127018922 17.7217488643346
+0.4330127018922 2.4331617219516
+1.2990381056767 0.0000018411966
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 19.9999978140291
+-1.2990381056767 19.9834867604514
+-0.4330127018922 16.5444619870757
+0.4330127018922 3.7213839454424
+1.2990381056767 0.0001191001376
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 19.9999646665746
+-1.2990381056767 19.9492080542818
+-0.4330127018922 15.3563547354243
+0.4330127018922 4.8453457971935
+1.2990381056767 0.0027802954578
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
diff --git a/test/whisky_test_shock/tau_x_[7][7].xg b/test/whisky_test_shock/tau_x_[7][7].xg
new file mode 100644
index 0000000..ff3369a
--- /dev/null
+++ b/test/whisky_test_shock/tau_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 20.0000000000000
+-0.7500000000000 20.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 19.5924574399718
+-0.7500000000000 16.8736672462897
+-0.2500000000000 3.3054637472605
+0.2500000000000 0.2284135664780
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 19.9914851865293
+-2.7500000000000 19.9914851865293
+-2.2500000000000 19.9914851865293
+-1.7500000000000 19.8796605320708
+-1.2500000000000 18.7755458638742
+-0.7500000000000 14.4380310305874
+-0.2500000000000 5.7028725918324
+0.2500000000000 1.1815936365921
+0.7500000000000 0.0307612572297
+1.2500000000000 0.0000508254918
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 19.9524609335772
+-2.7500000000000 19.9524609335772
+-2.2500000000000 19.9524609335772
+-1.7500000000000 19.6059608824670
+-1.2500000000000 17.7219152542125
+-0.7500000000000 12.8232356915731
+-0.2500000000000 7.1871280440655
+0.2500000000000 2.4331617219516
+0.7500000000000 0.2756022248849
+1.2500000000000 0.0033328397719
+1.7500000000000 0.0000018435838
+2.2500000000000 0.0000010000043
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 19.8533887544074
+-2.7500000000000 19.8533887544074
+-2.2500000000000 19.8533887544074
+-1.7500000000000 19.1603382996047
+-1.2500000000000 16.5442077523304
+-0.7500000000000 11.7378702204173
+-0.2500000000000 8.0669093015112
+0.2500000000000 3.7213839454424
+0.7500000000000 0.8900122189941
+1.2500000000000 0.0399072571355
+1.7500000000000 0.0001195137856
+2.2500000000000 0.0000010056705
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 19.6684089525428
+-2.7500000000000 19.6684089525428
+-2.2500000000000 19.6684089525428
+-1.7500000000000 18.5509940833825
+-1.2500000000000 15.3569998578625
+-0.7500000000000 10.9314767959017
+-0.2500000000000 8.6086568884604
+0.2500000000000 4.8453457971935
+0.7500000000000 1.8704666276520
+1.2500000000000 0.2130382752179
+1.7500000000000 0.0027915014247
+2.2500000000000 0.0000025996228
+2.7500000000000 0.0000010000165
+3.2500000000000 0.0000010000165
+3.7500000000000 0.0000010000165
diff --git a/test/whisky_test_shock/tau_y_[7][7].xg b/test/whisky_test_shock/tau_y_[7][7].xg
new file mode 100644
index 0000000..ff3369a
--- /dev/null
+++ b/test/whisky_test_shock/tau_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 20.0000000000000
+-0.7500000000000 20.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 19.5924574399718
+-0.7500000000000 16.8736672462897
+-0.2500000000000 3.3054637472605
+0.2500000000000 0.2284135664780
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 19.9914851865293
+-2.7500000000000 19.9914851865293
+-2.2500000000000 19.9914851865293
+-1.7500000000000 19.8796605320708
+-1.2500000000000 18.7755458638742
+-0.7500000000000 14.4380310305874
+-0.2500000000000 5.7028725918324
+0.2500000000000 1.1815936365921
+0.7500000000000 0.0307612572297
+1.2500000000000 0.0000508254918
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 19.9524609335772
+-2.7500000000000 19.9524609335772
+-2.2500000000000 19.9524609335772
+-1.7500000000000 19.6059608824670
+-1.2500000000000 17.7219152542125
+-0.7500000000000 12.8232356915731
+-0.2500000000000 7.1871280440655
+0.2500000000000 2.4331617219516
+0.7500000000000 0.2756022248849
+1.2500000000000 0.0033328397719
+1.7500000000000 0.0000018435838
+2.2500000000000 0.0000010000043
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 19.8533887544074
+-2.7500000000000 19.8533887544074
+-2.2500000000000 19.8533887544074
+-1.7500000000000 19.1603382996047
+-1.2500000000000 16.5442077523304
+-0.7500000000000 11.7378702204173
+-0.2500000000000 8.0669093015112
+0.2500000000000 3.7213839454424
+0.7500000000000 0.8900122189941
+1.2500000000000 0.0399072571355
+1.7500000000000 0.0001195137856
+2.2500000000000 0.0000010056705
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 19.6684089525428
+-2.7500000000000 19.6684089525428
+-2.2500000000000 19.6684089525428
+-1.7500000000000 18.5509940833825
+-1.2500000000000 15.3569998578625
+-0.7500000000000 10.9314767959017
+-0.2500000000000 8.6086568884604
+0.2500000000000 4.8453457971935
+0.7500000000000 1.8704666276520
+1.2500000000000 0.2130382752179
+1.7500000000000 0.0027915014247
+2.2500000000000 0.0000025996228
+2.7500000000000 0.0000010000165
+3.2500000000000 0.0000010000165
+3.7500000000000 0.0000010000165
diff --git a/test/whisky_test_shock/tau_z_[7][7].xg b/test/whisky_test_shock/tau_z_[7][7].xg
new file mode 100644
index 0000000..bd9e6db
--- /dev/null
+++ b/test/whisky_test_shock/tau_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 20.0000000000000
+-0.7500000000000 20.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 19.5924574399718
+-0.7500000000000 16.8736672462897
+-0.2500000000000 3.3054637472605
+0.2500000000000 0.2284135664780
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 19.9914851865293
+-2.7500000000000 19.9914851865293
+-2.2500000000000 19.9914851865293
+-1.7500000000000 19.8796605320708
+-1.2500000000000 18.7755458638742
+-0.7500000000000 14.4380310305874
+-0.2500000000000 5.7028725918324
+0.2500000000000 1.1815936365921
+0.7500000000000 0.0307612572297
+1.2500000000000 0.0000508254918
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 19.9524609335772
+-2.7500000000000 19.9524609335772
+-2.2500000000000 19.9524609335772
+-1.7500000000000 19.6059608824670
+-1.2500000000000 17.7219152542125
+-0.7500000000000 12.8232356915731
+-0.2500000000000 7.1871280440655
+0.2500000000000 2.4331617219516
+0.7500000000000 0.2756022248849
+1.2500000000000 0.0033328397719
+1.7500000000000 0.0000018435838
+2.2500000000000 0.0000010000043
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 19.8533887544074
+-2.7500000000000 19.8533887544074
+-2.2500000000000 19.8533887544074
+-1.7500000000000 19.1603382996047
+-1.2500000000000 16.5442077523303
+-0.7500000000000 11.7378702204173
+-0.2500000000000 8.0669093015112
+0.2500000000000 3.7213839454424
+0.7500000000000 0.8900122189941
+1.2500000000000 0.0399072571355
+1.7500000000000 0.0001195137856
+2.2500000000000 0.0000010056705
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 19.6684089525428
+-2.7500000000000 19.6684089525428
+-2.2500000000000 19.6684089525428
+-1.7500000000000 18.5509940833825
+-1.2500000000000 15.3569998578624
+-0.7500000000000 10.9314767959017
+-0.2500000000000 8.6086568884604
+0.2500000000000 4.8453457971935
+0.7500000000000 1.8704666276520
+1.2500000000000 0.2130382752179
+1.7500000000000 0.0027915014247
+2.2500000000000 0.0000025996228
+2.7500000000000 0.0000010000165
+3.2500000000000 0.0000010000165
+3.7500000000000 0.0000010000165
diff --git a/test/whisky_test_shock/vel[0]_3D_diagonal.xg b/test/whisky_test_shock/vel[0]_3D_diagonal.xg
new file mode 100644
index 0000000..556ab72
--- /dev/null
+++ b/test/whisky_test_shock/vel[0]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0028394036539
+0.4330127018922 0.0827871989071
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0108422911233
+0.4330127018922 0.2220852364361
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000261948990
+-0.4330127018922 0.0239625051480
+0.4330127018922 0.2930359644813
+1.2990381056767 0.0000165764954
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000156541
+-1.2990381056767 0.0001445342368
+-0.4330127018922 0.0413544395337
+0.4330127018922 0.3306587129665
+1.2990381056767 0.0005634417757
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000002839425
+-1.2990381056767 0.0004725484797
+-0.4330127018922 0.0622143797681
+0.4330127018922 0.3506970756275
+1.2990381056767 0.0059390821951
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock/vel[0]_x_[7][7].xg b/test/whisky_test_shock/vel[0]_x_[7][7].xg
new file mode 100644
index 0000000..99ca0cb
--- /dev/null
+++ b/test/whisky_test_shock/vel[0]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609468109
+-2.7500000000000 0.0000609468109
+-2.2500000000000 0.0000609468109
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0003386179067
+-2.7500000000000 0.0003386179067
+-2.2500000000000 0.0003386179067
+-1.7500000000000 0.0037126383525
+-1.2500000000000 0.0239654026926
+-0.7500000000000 0.1150309864595
+-0.2500000000000 0.2879257662915
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424245368
+1.2500000000000 0.0060312803439
+1.7500000000000 0.0000165788481
+2.2500000000000 0.0000000008612
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0010423809075
+-2.7500000000000 0.0010423809075
+-2.2500000000000 0.0010423809075
+-1.7500000000000 0.0085852078963
+-1.2500000000000 0.0413717817100
+-0.7500000000000 0.1502974252956
+-0.2500000000000 0.3040336683222
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397380507569
+1.2500000000000 0.0409136476704
+1.7500000000000 0.0005636775789
+2.2500000000000 0.0000005057235
+2.7500000000000 0.0000000000055
+3.2500000000000 0.0000000000055
+3.7500000000000 0.0000000000055
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0023605585293
+-2.7500000000000 0.0023605585293
+-2.2500000000000 0.0023605585293
+-1.7500000000000 0.0159678014981
+-1.2500000000000 0.0622759079411
+-0.7500000000000 0.1794616037848
+-0.2500000000000 0.3167598483588
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079969777211
+1.2500000000000 0.1238839704219
+1.7500000000000 0.0059440932634
+2.2500000000000 0.0000271742971
+2.7500000000000 0.0000000033189
+3.2500000000000 0.0000000033189
+3.7500000000000 0.0000000033189
diff --git a/test/whisky_test_shock/vel[0]_y_[7][7].xg b/test/whisky_test_shock/vel[0]_y_[7][7].xg
new file mode 100644
index 0000000..d4fc578
--- /dev/null
+++ b/test/whisky_test_shock/vel[0]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609798597
+-2.7500000000000 0.0000609798597
+-2.2500000000000 0.0000609798597
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0004069298356
+-2.7500000000000 0.0004069298356
+-2.2500000000000 0.0004069298356
+-1.7500000000000 0.0036999871423
+-1.2500000000000 0.0239617978218
+-0.7500000000000 0.1150321685150
+-0.2500000000000 0.2879257236229
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424514208
+1.2500000000000 0.0060310496668
+1.7500000000000 0.0000166216265
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0013660387355
+-2.7500000000000 0.0013660387355
+-2.2500000000000 0.0013660387355
+-1.7500000000000 0.0085433072110
+-1.2500000000000 0.0413638117178
+-0.7500000000000 0.1502986303142
+-0.2500000000000 0.3040348560360
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397364334182
+1.2500000000000 0.0409055590989
+1.7500000000000 0.0005653210676
+2.2500000000000 0.0000005108065
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0032947154800
+-2.7500000000000 0.0032947154800
+-2.2500000000000 0.0032947154800
+-1.7500000000000 0.0158828388082
+-1.2500000000000 0.0622229511260
+-0.7500000000000 0.1794569588857
+-0.2500000000000 0.3167625073164
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079903389180
+1.2500000000000 0.1238352473730
+1.7500000000000 0.0059601109288
+2.2500000000000 0.0000272621709
+2.7500000000000 0.0000000035043
+3.2500000000000 0.0000000035043
+3.7500000000000 0.0000000035043
diff --git a/test/whisky_test_shock/vel[0]_z_[7][7].xg b/test/whisky_test_shock/vel[0]_z_[7][7].xg
new file mode 100644
index 0000000..d4fc578
--- /dev/null
+++ b/test/whisky_test_shock/vel[0]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609798597
+-2.7500000000000 0.0000609798597
+-2.2500000000000 0.0000609798597
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0004069298356
+-2.7500000000000 0.0004069298356
+-2.2500000000000 0.0004069298356
+-1.7500000000000 0.0036999871423
+-1.2500000000000 0.0239617978218
+-0.7500000000000 0.1150321685150
+-0.2500000000000 0.2879257236229
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424514208
+1.2500000000000 0.0060310496668
+1.7500000000000 0.0000166216265
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0013660387355
+-2.7500000000000 0.0013660387355
+-2.2500000000000 0.0013660387355
+-1.7500000000000 0.0085433072110
+-1.2500000000000 0.0413638117178
+-0.7500000000000 0.1502986303142
+-0.2500000000000 0.3040348560360
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397364334182
+1.2500000000000 0.0409055590989
+1.7500000000000 0.0005653210676
+2.2500000000000 0.0000005108065
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0032947154800
+-2.7500000000000 0.0032947154800
+-2.2500000000000 0.0032947154800
+-1.7500000000000 0.0158828388082
+-1.2500000000000 0.0622229511260
+-0.7500000000000 0.1794569588857
+-0.2500000000000 0.3167625073164
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079903389180
+1.2500000000000 0.1238352473730
+1.7500000000000 0.0059601109288
+2.2500000000000 0.0000272621709
+2.7500000000000 0.0000000035043
+3.2500000000000 0.0000000035043
+3.7500000000000 0.0000000035043
diff --git a/test/whisky_test_shock/vel[1]_3D_diagonal.xg b/test/whisky_test_shock/vel[1]_3D_diagonal.xg
new file mode 100644
index 0000000..556ab72
--- /dev/null
+++ b/test/whisky_test_shock/vel[1]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0028394036539
+0.4330127018922 0.0827871989071
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0108422911233
+0.4330127018922 0.2220852364361
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000261948990
+-0.4330127018922 0.0239625051480
+0.4330127018922 0.2930359644813
+1.2990381056767 0.0000165764954
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000156541
+-1.2990381056767 0.0001445342368
+-0.4330127018922 0.0413544395337
+0.4330127018922 0.3306587129665
+1.2990381056767 0.0005634417757
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000002839425
+-1.2990381056767 0.0004725484797
+-0.4330127018922 0.0622143797681
+0.4330127018922 0.3506970756275
+1.2990381056767 0.0059390821951
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock/vel[1]_x_[7][7].xg b/test/whisky_test_shock/vel[1]_x_[7][7].xg
new file mode 100644
index 0000000..d4fc578
--- /dev/null
+++ b/test/whisky_test_shock/vel[1]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609798597
+-2.7500000000000 0.0000609798597
+-2.2500000000000 0.0000609798597
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0004069298356
+-2.7500000000000 0.0004069298356
+-2.2500000000000 0.0004069298356
+-1.7500000000000 0.0036999871423
+-1.2500000000000 0.0239617978218
+-0.7500000000000 0.1150321685150
+-0.2500000000000 0.2879257236229
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424514208
+1.2500000000000 0.0060310496668
+1.7500000000000 0.0000166216265
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0013660387355
+-2.7500000000000 0.0013660387355
+-2.2500000000000 0.0013660387355
+-1.7500000000000 0.0085433072110
+-1.2500000000000 0.0413638117178
+-0.7500000000000 0.1502986303142
+-0.2500000000000 0.3040348560360
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397364334182
+1.2500000000000 0.0409055590989
+1.7500000000000 0.0005653210676
+2.2500000000000 0.0000005108065
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0032947154800
+-2.7500000000000 0.0032947154800
+-2.2500000000000 0.0032947154800
+-1.7500000000000 0.0158828388082
+-1.2500000000000 0.0622229511260
+-0.7500000000000 0.1794569588857
+-0.2500000000000 0.3167625073164
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079903389180
+1.2500000000000 0.1238352473730
+1.7500000000000 0.0059601109288
+2.2500000000000 0.0000272621709
+2.7500000000000 0.0000000035043
+3.2500000000000 0.0000000035043
+3.7500000000000 0.0000000035043
diff --git a/test/whisky_test_shock/vel[1]_y_[7][7].xg b/test/whisky_test_shock/vel[1]_y_[7][7].xg
new file mode 100644
index 0000000..99ca0cb
--- /dev/null
+++ b/test/whisky_test_shock/vel[1]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609468109
+-2.7500000000000 0.0000609468109
+-2.2500000000000 0.0000609468109
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0003386179067
+-2.7500000000000 0.0003386179067
+-2.2500000000000 0.0003386179067
+-1.7500000000000 0.0037126383525
+-1.2500000000000 0.0239654026926
+-0.7500000000000 0.1150309864595
+-0.2500000000000 0.2879257662915
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424245368
+1.2500000000000 0.0060312803439
+1.7500000000000 0.0000165788481
+2.2500000000000 0.0000000008612
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0010423809075
+-2.7500000000000 0.0010423809075
+-2.2500000000000 0.0010423809075
+-1.7500000000000 0.0085852078963
+-1.2500000000000 0.0413717817100
+-0.7500000000000 0.1502974252956
+-0.2500000000000 0.3040336683222
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397380507569
+1.2500000000000 0.0409136476704
+1.7500000000000 0.0005636775789
+2.2500000000000 0.0000005057235
+2.7500000000000 0.0000000000055
+3.2500000000000 0.0000000000055
+3.7500000000000 0.0000000000055
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0023605585293
+-2.7500000000000 0.0023605585293
+-2.2500000000000 0.0023605585293
+-1.7500000000000 0.0159678014981
+-1.2500000000000 0.0622759079411
+-0.7500000000000 0.1794616037848
+-0.2500000000000 0.3167598483588
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079969777211
+1.2500000000000 0.1238839704219
+1.7500000000000 0.0059440932634
+2.2500000000000 0.0000271742971
+2.7500000000000 0.0000000033189
+3.2500000000000 0.0000000033189
+3.7500000000000 0.0000000033189
diff --git a/test/whisky_test_shock/vel[1]_z_[7][7].xg b/test/whisky_test_shock/vel[1]_z_[7][7].xg
new file mode 100644
index 0000000..d4fc578
--- /dev/null
+++ b/test/whisky_test_shock/vel[1]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609798597
+-2.7500000000000 0.0000609798597
+-2.2500000000000 0.0000609798597
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0004069298356
+-2.7500000000000 0.0004069298356
+-2.2500000000000 0.0004069298356
+-1.7500000000000 0.0036999871423
+-1.2500000000000 0.0239617978218
+-0.7500000000000 0.1150321685150
+-0.2500000000000 0.2879257236229
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424514208
+1.2500000000000 0.0060310496668
+1.7500000000000 0.0000166216265
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0013660387355
+-2.7500000000000 0.0013660387355
+-2.2500000000000 0.0013660387355
+-1.7500000000000 0.0085433072110
+-1.2500000000000 0.0413638117178
+-0.7500000000000 0.1502986303142
+-0.2500000000000 0.3040348560360
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397364334182
+1.2500000000000 0.0409055590989
+1.7500000000000 0.0005653210676
+2.2500000000000 0.0000005108065
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0032947154800
+-2.7500000000000 0.0032947154800
+-2.2500000000000 0.0032947154800
+-1.7500000000000 0.0158828388082
+-1.2500000000000 0.0622229511260
+-0.7500000000000 0.1794569588857
+-0.2500000000000 0.3167625073164
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079903389180
+1.2500000000000 0.1238352473730
+1.7500000000000 0.0059601109288
+2.2500000000000 0.0000272621709
+2.7500000000000 0.0000000035043
+3.2500000000000 0.0000000035043
+3.7500000000000 0.0000000035043
diff --git a/test/whisky_test_shock/vel[2]_3D_diagonal.xg b/test/whisky_test_shock/vel[2]_3D_diagonal.xg
new file mode 100644
index 0000000..556ab72
--- /dev/null
+++ b/test/whisky_test_shock/vel[2]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0028394036539
+0.4330127018922 0.0827871989071
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0108422911233
+0.4330127018922 0.2220852364361
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000261948990
+-0.4330127018922 0.0239625051480
+0.4330127018922 0.2930359644813
+1.2990381056767 0.0000165764954
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000156541
+-1.2990381056767 0.0001445342368
+-0.4330127018922 0.0413544395337
+0.4330127018922 0.3306587129665
+1.2990381056767 0.0005634417757
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000002839425
+-1.2990381056767 0.0004725484797
+-0.4330127018922 0.0622143797681
+0.4330127018922 0.3506970756275
+1.2990381056767 0.0059390821951
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock/vel[2]_x_[7][7].xg b/test/whisky_test_shock/vel[2]_x_[7][7].xg
new file mode 100644
index 0000000..d4fc578
--- /dev/null
+++ b/test/whisky_test_shock/vel[2]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609798597
+-2.7500000000000 0.0000609798597
+-2.2500000000000 0.0000609798597
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0004069298356
+-2.7500000000000 0.0004069298356
+-2.2500000000000 0.0004069298356
+-1.7500000000000 0.0036999871423
+-1.2500000000000 0.0239617978218
+-0.7500000000000 0.1150321685150
+-0.2500000000000 0.2879257236229
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424514208
+1.2500000000000 0.0060310496668
+1.7500000000000 0.0000166216265
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0013660387355
+-2.7500000000000 0.0013660387355
+-2.2500000000000 0.0013660387355
+-1.7500000000000 0.0085433072110
+-1.2500000000000 0.0413638117178
+-0.7500000000000 0.1502986303142
+-0.2500000000000 0.3040348560360
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397364334182
+1.2500000000000 0.0409055590989
+1.7500000000000 0.0005653210676
+2.2500000000000 0.0000005108065
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0032947154800
+-2.7500000000000 0.0032947154800
+-2.2500000000000 0.0032947154800
+-1.7500000000000 0.0158828388082
+-1.2500000000000 0.0622229511260
+-0.7500000000000 0.1794569588857
+-0.2500000000000 0.3167625073164
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079903389180
+1.2500000000000 0.1238352473730
+1.7500000000000 0.0059601109288
+2.2500000000000 0.0000272621709
+2.7500000000000 0.0000000035043
+3.2500000000000 0.0000000035043
+3.7500000000000 0.0000000035043
diff --git a/test/whisky_test_shock/vel[2]_y_[7][7].xg b/test/whisky_test_shock/vel[2]_y_[7][7].xg
new file mode 100644
index 0000000..d4fc578
--- /dev/null
+++ b/test/whisky_test_shock/vel[2]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609798597
+-2.7500000000000 0.0000609798597
+-2.2500000000000 0.0000609798597
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0004069298356
+-2.7500000000000 0.0004069298356
+-2.2500000000000 0.0004069298356
+-1.7500000000000 0.0036999871423
+-1.2500000000000 0.0239617978218
+-0.7500000000000 0.1150321685150
+-0.2500000000000 0.2879257236229
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424514208
+1.2500000000000 0.0060310496668
+1.7500000000000 0.0000166216265
+2.2500000000000 0.0000000009137
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0013660387355
+-2.7500000000000 0.0013660387355
+-2.2500000000000 0.0013660387355
+-1.7500000000000 0.0085433072110
+-1.2500000000000 0.0413638117178
+-0.7500000000000 0.1502986303142
+-0.2500000000000 0.3040348560360
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397364334182
+1.2500000000000 0.0409055590989
+1.7500000000000 0.0005653210676
+2.2500000000000 0.0000005108065
+2.7500000000000 0.0000000000063
+3.2500000000000 0.0000000000063
+3.7500000000000 0.0000000000063
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0032947154800
+-2.7500000000000 0.0032947154800
+-2.2500000000000 0.0032947154800
+-1.7500000000000 0.0158828388082
+-1.2500000000000 0.0622229511260
+-0.7500000000000 0.1794569588857
+-0.2500000000000 0.3167625073164
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079903389180
+1.2500000000000 0.1238352473730
+1.7500000000000 0.0059601109288
+2.2500000000000 0.0000272621709
+2.7500000000000 0.0000000035043
+3.2500000000000 0.0000000035043
+3.7500000000000 0.0000000035043
diff --git a/test/whisky_test_shock/vel[2]_z_[7][7].xg b/test/whisky_test_shock/vel[2]_z_[7][7].xg
new file mode 100644
index 0000000..99ca0cb
--- /dev/null
+++ b/test/whisky_test_shock/vel[2]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0028394036539
+-0.7500000000000 0.0393910131051
+-0.2500000000000 0.2222131435548
+0.2500000000000 0.0827871989071
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0000609468109
+-2.7500000000000 0.0000609468109
+-2.2500000000000 0.0000609468109
+-1.7500000000000 0.0010457815264
+-1.2500000000000 0.0108422911233
+-0.7500000000000 0.0766051021811
+-0.2500000000000 0.2655218058704
+0.2500000000000 0.2220852364361
+0.7500000000000 0.0298784414659
+1.2500000000000 0.0002537047083
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0003386179067
+-2.7500000000000 0.0003386179067
+-2.2500000000000 0.0003386179067
+-1.7500000000000 0.0037126383525
+-1.2500000000000 0.0239654026926
+-0.7500000000000 0.1150309864595
+-0.2500000000000 0.2879257662915
+0.2500000000000 0.2930359644813
+0.7500000000000 0.1363424245368
+1.2500000000000 0.0060312803439
+1.7500000000000 0.0000165788481
+2.2500000000000 0.0000000008612
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0010423809075
+-2.7500000000000 0.0010423809075
+-2.2500000000000 0.0010423809075
+-1.7500000000000 0.0085852078963
+-1.2500000000000 0.0413717817100
+-0.7500000000000 0.1502974252956
+-0.2500000000000 0.3040336683222
+0.2500000000000 0.3306587129665
+0.7500000000000 0.2397380507569
+1.2500000000000 0.0409136476704
+1.7500000000000 0.0005636775789
+2.2500000000000 0.0000005057235
+2.7500000000000 0.0000000000055
+3.2500000000000 0.0000000000055
+3.7500000000000 0.0000000000055
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0023605585293
+-2.7500000000000 0.0023605585293
+-2.2500000000000 0.0023605585293
+-1.7500000000000 0.0159678014981
+-1.2500000000000 0.0622759079411
+-0.7500000000000 0.1794616037848
+-0.2500000000000 0.3167598483588
+0.2500000000000 0.3506970756275
+0.7500000000000 0.3079969777211
+1.2500000000000 0.1238839704219
+1.7500000000000 0.0059440932634
+2.2500000000000 0.0000271742971
+2.7500000000000 0.0000000033189
+3.2500000000000 0.0000000033189
+3.7500000000000 0.0000000033189
diff --git a/test/whisky_test_shock/w_lorentz_3D_diagonal.xg b/test/whisky_test_shock/w_lorentz_3D_diagonal.xg
new file mode 100644
index 0000000..6bf06d2
--- /dev/null
+++ b/test/whisky_test_shock/w_lorentz_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000000
+-0.4330127018922 1.0000000000000
+0.4330127018922 1.0000000000000
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000000
+-0.4330127018922 1.0000120935390
+0.4330127018922 1.0104418821435
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000000
+-0.4330127018922 1.0001763795689
+0.4330127018922 1.0833565771754
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000010293
+-0.4330127018922 1.0008624168422
+0.4330127018922 1.1606038595432
+1.2990381056767 1.0000000004122
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000313352
+-0.4330127018922 1.0025751979243
+0.4330127018922 1.2198801317171
+1.2990381056767 1.0000004762003
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000001
+-1.2990381056767 1.0000003349533
+-0.4330127018922 1.0058570013510
+0.4330127018922 1.2588482631315
+1.2990381056767 1.0000529132454
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
diff --git a/test/whisky_test_shock/w_lorentz_x_[7][7].xg b/test/whisky_test_shock/w_lorentz_x_[7][7].xg
new file mode 100644
index 0000000..ac3451e
--- /dev/null
+++ b/test/whisky_test_shock/w_lorentz_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000000000000
+-0.7500000000000 1.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000120935390
+-0.7500000000000 1.0023356352497
+-0.2500000000000 1.0834649798901
+0.2500000000000 1.0104418821435
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.0000000055758
+-2.7500000000000 1.0000000055758
+-2.2500000000000 1.0000000055758
+-1.7500000000000 1.0000016404925
+-1.2500000000000 1.0001763795689
+-0.7500000000000 1.0089204706896
+-0.2500000000000 1.1261614650252
+0.2500000000000 1.0833565771754
+0.7500000000000 1.0013417776241
+1.2500000000000 1.0000000965491
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.0000002229230
+-2.7500000000000 1.0000002229230
+-2.2500000000000 1.0000002229230
+-1.7500000000000 1.0000205823821
+-1.2500000000000 1.0008624524727
+-0.7500000000000 1.0204596590120
+-0.2500000000000 1.1537039313872
+0.2500000000000 1.1606038595432
+0.7500000000000 1.0291071444177
+1.2500000000000 1.0000545661973
+1.7500000000000 1.0000000004137
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.0000024093495
+-2.7500000000000 1.0000024093495
+-2.2500000000000 1.0000024093495
+-1.7500000000000 1.0001098590963
+-1.2500000000000 1.0025767020654
+-0.7500000000000 1.0357099616711
+-0.2500000000000 1.1763166260704
+0.2500000000000 1.2198801317171
+0.7500000000000 1.0992472470344
+1.2500000000000 1.0025197196337
+1.7500000000000 1.0000004784545
+2.2500000000000 1.0000000000004
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.0000136415475
+-2.7500000000000 1.0000136415475
+-2.2500000000000 1.0000136415475
+-1.7500000000000 1.0003799663629
+-1.2500000000000 1.0058619843549
+-0.7500000000000 1.0521164695722
+-0.2500000000000 1.1960950442919
+0.2500000000000 1.2588482631315
+0.7500000000000 1.1822761430412
+1.2500000000000 1.0238346255883
+1.7500000000000 1.0000531932886
+2.2500000000000 1.0000000011124
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
diff --git a/test/whisky_test_shock/w_lorentz_y_[7][7].xg b/test/whisky_test_shock/w_lorentz_y_[7][7].xg
new file mode 100644
index 0000000..ac3451e
--- /dev/null
+++ b/test/whisky_test_shock/w_lorentz_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000000000000
+-0.7500000000000 1.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000120935390
+-0.7500000000000 1.0023356352497
+-0.2500000000000 1.0834649798901
+0.2500000000000 1.0104418821435
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.0000000055758
+-2.7500000000000 1.0000000055758
+-2.2500000000000 1.0000000055758
+-1.7500000000000 1.0000016404925
+-1.2500000000000 1.0001763795689
+-0.7500000000000 1.0089204706896
+-0.2500000000000 1.1261614650252
+0.2500000000000 1.0833565771754
+0.7500000000000 1.0013417776241
+1.2500000000000 1.0000000965491
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.0000002229230
+-2.7500000000000 1.0000002229230
+-2.2500000000000 1.0000002229230
+-1.7500000000000 1.0000205823821
+-1.2500000000000 1.0008624524727
+-0.7500000000000 1.0204596590120
+-0.2500000000000 1.1537039313872
+0.2500000000000 1.1606038595432
+0.7500000000000 1.0291071444177
+1.2500000000000 1.0000545661973
+1.7500000000000 1.0000000004137
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.0000024093495
+-2.7500000000000 1.0000024093495
+-2.2500000000000 1.0000024093495
+-1.7500000000000 1.0001098590963
+-1.2500000000000 1.0025767020654
+-0.7500000000000 1.0357099616711
+-0.2500000000000 1.1763166260704
+0.2500000000000 1.2198801317171
+0.7500000000000 1.0992472470344
+1.2500000000000 1.0025197196337
+1.7500000000000 1.0000004784545
+2.2500000000000 1.0000000000004
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.0000136415475
+-2.7500000000000 1.0000136415475
+-2.2500000000000 1.0000136415475
+-1.7500000000000 1.0003799663629
+-1.2500000000000 1.0058619843549
+-0.7500000000000 1.0521164695722
+-0.2500000000000 1.1960950442919
+0.2500000000000 1.2588482631315
+0.7500000000000 1.1822761430412
+1.2500000000000 1.0238346255883
+1.7500000000000 1.0000531932886
+2.2500000000000 1.0000000011124
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
diff --git a/test/whisky_test_shock/w_lorentz_z_[7][7].xg b/test/whisky_test_shock/w_lorentz_z_[7][7].xg
new file mode 100644
index 0000000..ac3451e
--- /dev/null
+++ b/test/whisky_test_shock/w_lorentz_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000000000000
+-0.7500000000000 1.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000120935390
+-0.7500000000000 1.0023356352497
+-0.2500000000000 1.0834649798901
+0.2500000000000 1.0104418821435
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.0000000055758
+-2.7500000000000 1.0000000055758
+-2.2500000000000 1.0000000055758
+-1.7500000000000 1.0000016404925
+-1.2500000000000 1.0001763795689
+-0.7500000000000 1.0089204706896
+-0.2500000000000 1.1261614650252
+0.2500000000000 1.0833565771754
+0.7500000000000 1.0013417776241
+1.2500000000000 1.0000000965491
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.0000002229230
+-2.7500000000000 1.0000002229230
+-2.2500000000000 1.0000002229230
+-1.7500000000000 1.0000205823821
+-1.2500000000000 1.0008624524727
+-0.7500000000000 1.0204596590120
+-0.2500000000000 1.1537039313872
+0.2500000000000 1.1606038595432
+0.7500000000000 1.0291071444177
+1.2500000000000 1.0000545661973
+1.7500000000000 1.0000000004137
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.0000024093495
+-2.7500000000000 1.0000024093495
+-2.2500000000000 1.0000024093495
+-1.7500000000000 1.0001098590963
+-1.2500000000000 1.0025767020654
+-0.7500000000000 1.0357099616711
+-0.2500000000000 1.1763166260704
+0.2500000000000 1.2198801317171
+0.7500000000000 1.0992472470344
+1.2500000000000 1.0025197196337
+1.7500000000000 1.0000004784545
+2.2500000000000 1.0000000000004
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.0000136415475
+-2.7500000000000 1.0000136415475
+-2.2500000000000 1.0000136415475
+-1.7500000000000 1.0003799663629
+-1.2500000000000 1.0058619843549
+-0.7500000000000 1.0521164695722
+-0.2500000000000 1.1960950442919
+0.2500000000000 1.2588482631315
+0.7500000000000 1.1822761430412
+1.2500000000000 1.0238346255883
+1.7500000000000 1.0000531932886
+2.2500000000000 1.0000000011124
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
diff --git a/test/whisky_test_shock/whisky_test_shock.par b/test/whisky_test_shock/whisky_test_shock.par
new file mode 100644
index 0000000..6ffe6fd
--- /dev/null
+++ b/test/whisky_test_shock/whisky_test_shock.par
@@ -0,0 +1,71 @@
+!DESC "Diagonal shocktube, RK2, Roe, TVD-Minmod, Ideal Gas"
+
+ActiveThorns = "pugh pughreduce pughslab LocalReduce"
+
+cactus::cctk_itlast = 5
+
+driver::ghost_size = 2
+driver::global_nx = 15
+driver::global_ny = 15
+driver::global_nz = 15
+
+ActiveThorns = "coordbase symbase cartgrid3d boundary"
+
+grid::type = "BySpacing"
+grid::domain = "full"
+grid::dxyz = 0.5
+
+ActiveThorns = "time"
+
+time::dtfac = 0.25
+
+ActiveThorns = "ioutil ioascii iobasic"
+
+IO::out_fileinfo = "none"
+IO::out_dir = "whisky_test_shock"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon"
+
+ActiveThorns = "nanchecker mol"
+
+methodoflines::ode_method = "rk2"
+methodoflines::mol_intermediate_steps = 2
+
+ActiveThorns = "ADMBase StaticConformal SpaceMask CoordGauge ADMMacros ADMCoupling Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+ADMBase::evolution_method = "none"
+ADMBase::initial_shift = "none"
+ADMBase::metric_type = "physical"
+SpaceMask::use_mask = "yes"
+
+ActiveThorns = "eos_base eos_ideal_fluid eos_polytrope"
+
+EOS_Ideal_Fluid::eos_ideal_fluid_gamma = 1.66666666666666
+
+ActiveThorns = "hydrobase whisky"
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+whisky::riemann_solver = "Roe"
+whisky::whisky_eos_type = "General"
+whisky::whisky_eos_table = "Ideal_Fluid"
+whisky::whisky_stencil = 2
+whisky::recon_method = "tvd"
+whisky::tvd_limiter = "minmod"
+whisky::bound = "flat"
+
+ActiveThorns = "whisky_init_data"
+
+whisky_init_data::whisky_initial_data = "shocktube"
+whisky_init_data::shocktube_type = "diagshock"
+whisky_init_data::shock_case = "Simple"
diff --git a/test/whisky_test_shock_ppm.par b/test/whisky_test_shock_ppm.par
new file mode 100644
index 0000000..3d14890
--- /dev/null
+++ b/test/whisky_test_shock_ppm.par
@@ -0,0 +1,70 @@
+!DESC "Diagonal shocktube, RK2, Roe, PPM, Ideal Gas"
+
+ActiveThorns = "pugh pughreduce pughslab localreduce"
+
+cactus::cctk_itlast = 5
+
+driver::ghost_size = 3
+driver::global_nx = 15
+driver::global_ny = 15
+driver::global_nz = 15
+
+ActiveThorns = "coordbase symbase cartgrid3d boundary"
+
+grid::type = "BySpacing"
+grid::domain = "full"
+grid::dxyz = 0.5
+
+ActiveThorns = "time"
+
+time::dtfac = 0.25
+
+ActiveThorns = "ioutil ioascii iobasic"
+
+IO::out_fileinfo="none"
+IO::out_dir = "whisky_test_shock_ppm"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon"
+
+ActiveThorns = "nanchecker mol"
+
+methodoflines::ode_method = "rk2"
+methodoflines::mol_intermediate_steps = 2
+
+ActiveThorns = "ADMBase StaticConformal SpaceMask CoordGauge ADMMacros ADMCoupling Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+ADMBase::evolution_method = "none"
+ADMBase::initial_shift = "none"
+ADMBase::metric_type = "physical"
+SpaceMask::use_mask = "yes"
+
+ActiveThorns = "eos_base eos_ideal_fluid eos_polytrope"
+
+EOS_Ideal_Fluid::eos_ideal_fluid_gamma = 1.66666666666666
+
+ActiveThorns = "hydrobase whisky"
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+whisky::riemann_solver = "Roe"
+whisky::whisky_eos_type = "General"
+whisky::whisky_eos_table = "Ideal_Fluid"
+whisky::whisky_stencil = 3
+whisky::recon_method = "ppm"
+whisky::bound = "flat"
+
+ActiveThorns = "whisky_init_data"
+
+whisky_init_data::whisky_initial_data = "shocktube"
+whisky_init_data::shocktube_type = "diagshock"
+whisky_init_data::shock_case = "Simple"
diff --git a/test/whisky_test_shock_ppm/dens_3D_diagonal.xg b/test/whisky_test_shock_ppm/dens_3D_diagonal.xg
new file mode 100644
index 0000000..b4e426f
--- /dev/null
+++ b/test/whisky_test_shock_ppm/dens_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 10.0000000000000
+0.4330127018922 1.0000000000000
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.9412506638873
+0.4330127018922 1.2194853162170
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.8144588152752
+0.4330127018922 1.5624065200853
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 9.9999677826294
+-0.4330127018922 9.5423328787371
+0.4330127018922 1.9807510652478
+1.2990381056767 1.0000675868096
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999999990912
+-1.2990381056767 9.9998303100036
+-0.4330127018922 9.0959373624892
+0.4330127018922 2.3776570111003
+1.2990381056767 1.0009409619908
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999999831760
+-1.2990381056767 9.9993773851099
+-0.4330127018922 8.5449910291096
+0.4330127018922 2.6491905427208
+1.2990381056767 1.0054232900819
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
diff --git a/test/whisky_test_shock_ppm/dens_x_[7][7].xg b/test/whisky_test_shock_ppm/dens_x_[7][7].xg
new file mode 100644
index 0000000..cf7feca
--- /dev/null
+++ b/test/whisky_test_shock_ppm/dens_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.9412506638873
+-0.7500000000000 8.2913397194373
+-0.2500000000000 2.5479243004584
+0.2500000000000 1.2194853162170
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9927455053172
+-2.7500000000000 9.9927455053172
+-2.2500000000000 9.9927455053172
+-1.7500000000000 9.9927455053172
+-1.2500000000000 9.8125626222181
+-0.7500000000000 7.4643747109893
+-0.2500000000000 3.1113539265038
+0.2500000000000 1.5624065200853
+0.7500000000000 1.0576216471430
+1.2500000000000 1.0026065782763
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9747141991342
+-2.7500000000000 9.9747141991342
+-2.2500000000000 9.9747141991342
+-1.7500000000000 9.9747141991342
+-1.2500000000000 9.5412767505342
+-0.7500000000000 6.7102241782812
+-0.2500000000000 3.5957052568509
+0.2500000000000 1.9807510652478
+0.7500000000000 1.1952425850166
+1.2500000000000 1.0146405346366
+1.7500000000000 1.0003091869333
+2.2500000000000 1.0000000495226
+2.7500000000000 1.0000000495226
+3.2500000000000 1.0000000495226
+3.7500000000000 1.0000000495226
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9313997959462
+-2.7500000000000 9.9313997959462
+-2.2500000000000 9.9313997959462
+-1.7500000000000 9.9313997959462
+-1.2500000000000 9.0982962227725
+-0.7500000000000 6.0729653742088
+-0.2500000000000 3.9801987571555
+0.2500000000000 2.3776570111003
+0.7500000000000 1.5117432183782
+1.2500000000000 1.0514046052590
+1.7500000000000 1.0021473919694
+2.2500000000000 1.0000040357932
+2.7500000000000 1.0000040357932
+3.2500000000000 1.0000040357932
+3.7500000000000 1.0000040357932
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8452512386858
+-2.7500000000000 9.8452512386858
+-2.2500000000000 9.8452512386858
+-1.7500000000000 9.8452512386858
+-1.2500000000000 8.5754963139137
+-0.7500000000000 5.5751523979168
+-0.2500000000000 4.2474626665284
+0.2500000000000 2.6491905427208
+0.7500000000000 2.0185595790114
+1.2500000000000 1.1614751680111
+1.7500000000000 1.0080988572561
+2.2500000000000 1.0000895153348
+2.7500000000000 1.0000895153348
+3.2500000000000 1.0000895153348
+3.7500000000000 1.0000895153348
diff --git a/test/whisky_test_shock_ppm/dens_y_[7][7].xg b/test/whisky_test_shock_ppm/dens_y_[7][7].xg
new file mode 100644
index 0000000..cf7feca
--- /dev/null
+++ b/test/whisky_test_shock_ppm/dens_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.9412506638873
+-0.7500000000000 8.2913397194373
+-0.2500000000000 2.5479243004584
+0.2500000000000 1.2194853162170
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9927455053172
+-2.7500000000000 9.9927455053172
+-2.2500000000000 9.9927455053172
+-1.7500000000000 9.9927455053172
+-1.2500000000000 9.8125626222181
+-0.7500000000000 7.4643747109893
+-0.2500000000000 3.1113539265038
+0.2500000000000 1.5624065200853
+0.7500000000000 1.0576216471430
+1.2500000000000 1.0026065782763
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9747141991342
+-2.7500000000000 9.9747141991342
+-2.2500000000000 9.9747141991342
+-1.7500000000000 9.9747141991342
+-1.2500000000000 9.5412767505342
+-0.7500000000000 6.7102241782812
+-0.2500000000000 3.5957052568509
+0.2500000000000 1.9807510652478
+0.7500000000000 1.1952425850166
+1.2500000000000 1.0146405346366
+1.7500000000000 1.0003091869333
+2.2500000000000 1.0000000495226
+2.7500000000000 1.0000000495226
+3.2500000000000 1.0000000495226
+3.7500000000000 1.0000000495226
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9313997959462
+-2.7500000000000 9.9313997959462
+-2.2500000000000 9.9313997959462
+-1.7500000000000 9.9313997959462
+-1.2500000000000 9.0982962227725
+-0.7500000000000 6.0729653742088
+-0.2500000000000 3.9801987571555
+0.2500000000000 2.3776570111003
+0.7500000000000 1.5117432183782
+1.2500000000000 1.0514046052590
+1.7500000000000 1.0021473919694
+2.2500000000000 1.0000040357932
+2.7500000000000 1.0000040357932
+3.2500000000000 1.0000040357932
+3.7500000000000 1.0000040357932
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8452512386858
+-2.7500000000000 9.8452512386858
+-2.2500000000000 9.8452512386858
+-1.7500000000000 9.8452512386858
+-1.2500000000000 8.5754963139137
+-0.7500000000000 5.5751523979168
+-0.2500000000000 4.2474626665284
+0.2500000000000 2.6491905427208
+0.7500000000000 2.0185595790114
+1.2500000000000 1.1614751680111
+1.7500000000000 1.0080988572561
+2.2500000000000 1.0000895153348
+2.7500000000000 1.0000895153348
+3.2500000000000 1.0000895153348
+3.7500000000000 1.0000895153348
diff --git a/test/whisky_test_shock_ppm/dens_z_[7][7].xg b/test/whisky_test_shock_ppm/dens_z_[7][7].xg
new file mode 100644
index 0000000..cf7feca
--- /dev/null
+++ b/test/whisky_test_shock_ppm/dens_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.9412506638873
+-0.7500000000000 8.2913397194373
+-0.2500000000000 2.5479243004584
+0.2500000000000 1.2194853162170
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9927455053172
+-2.7500000000000 9.9927455053172
+-2.2500000000000 9.9927455053172
+-1.7500000000000 9.9927455053172
+-1.2500000000000 9.8125626222181
+-0.7500000000000 7.4643747109893
+-0.2500000000000 3.1113539265038
+0.2500000000000 1.5624065200853
+0.7500000000000 1.0576216471430
+1.2500000000000 1.0026065782763
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9747141991342
+-2.7500000000000 9.9747141991342
+-2.2500000000000 9.9747141991342
+-1.7500000000000 9.9747141991342
+-1.2500000000000 9.5412767505342
+-0.7500000000000 6.7102241782812
+-0.2500000000000 3.5957052568509
+0.2500000000000 1.9807510652478
+0.7500000000000 1.1952425850166
+1.2500000000000 1.0146405346366
+1.7500000000000 1.0003091869333
+2.2500000000000 1.0000000495226
+2.7500000000000 1.0000000495226
+3.2500000000000 1.0000000495226
+3.7500000000000 1.0000000495226
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9313997959462
+-2.7500000000000 9.9313997959462
+-2.2500000000000 9.9313997959462
+-1.7500000000000 9.9313997959462
+-1.2500000000000 9.0982962227725
+-0.7500000000000 6.0729653742088
+-0.2500000000000 3.9801987571555
+0.2500000000000 2.3776570111003
+0.7500000000000 1.5117432183782
+1.2500000000000 1.0514046052590
+1.7500000000000 1.0021473919694
+2.2500000000000 1.0000040357932
+2.7500000000000 1.0000040357932
+3.2500000000000 1.0000040357932
+3.7500000000000 1.0000040357932
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8452512386858
+-2.7500000000000 9.8452512386858
+-2.2500000000000 9.8452512386858
+-1.7500000000000 9.8452512386858
+-1.2500000000000 8.5754963139137
+-0.7500000000000 5.5751523979168
+-0.2500000000000 4.2474626665284
+0.2500000000000 2.6491905427208
+0.7500000000000 2.0185595790114
+1.2500000000000 1.1614751680111
+1.7500000000000 1.0080988572561
+2.2500000000000 1.0000895153348
+2.7500000000000 1.0000895153348
+3.2500000000000 1.0000895153348
+3.7500000000000 1.0000895153348
diff --git a/test/whisky_test_shock_ppm/eps_3D_diagonal.xg b/test/whisky_test_shock_ppm/eps_3D_diagonal.xg
new file mode 100644
index 0000000..da19415
--- /dev/null
+++ b/test/whisky_test_shock_ppm/eps_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 2.0000000000000
+-0.4330127018922 2.0000000000000
+0.4330127018922 0.0000010000000
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 2.0000000000000
+-0.4330127018922 1.9916888180171
+0.4330127018922 0.0782037390355
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 2.0000000000000
+-0.4330127018922 1.9752018255915
+0.4330127018922 0.2702327687875
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 2.0000000000000
+-1.2990381056767 1.9999957044002
+-0.4330127018922 1.9409634230028
+0.4330127018922 0.4650392002076
+1.2990381056767 0.0000010000742
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 1.9999999998788
+-1.2990381056767 1.9999773754983
+-0.4330127018922 1.8855499013298
+0.4330127018922 0.6724388964747
+1.2990381056767 0.0000010115719
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 2.0000000000000
+-4.7631397208144 2.0000000000000
+-3.8971143170300 2.0000000000000
+-3.0310889132455 2.0000000000000
+-2.1650635094611 1.9999999977568
+-1.2990381056767 1.9999169929195
+-0.4330127018922 1.8145495211206
+0.4330127018922 0.8695380988576
+1.2990381056767 0.0000020445545
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
diff --git a/test/whisky_test_shock_ppm/eps_x_[7][7].xg b/test/whisky_test_shock_ppm/eps_x_[7][7].xg
new file mode 100644
index 0000000..a72dbdd
--- /dev/null
+++ b/test/whisky_test_shock_ppm/eps_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 2.0000000000000
+-0.7500000000000 2.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 1.9916888180171
+-0.7500000000000 2.0009523386662
+-0.2500000000000 1.0137415885522
+0.2500000000000 0.0782037390355
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.9990361298496
+-2.7500000000000 1.9990361298496
+-2.2500000000000 1.9990361298496
+-1.7500000000000 1.9990361298496
+-1.2500000000000 1.9749726373822
+-0.7500000000000 1.8559294962209
+-0.2500000000000 1.1988289328179
+0.2500000000000 0.2702327687875
+0.7500000000000 0.0017787616487
+1.2500000000000 0.0000016747757
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.9966434533226
+-2.7500000000000 1.9966434533226
+-2.2500000000000 1.9966434533226
+-1.7500000000000 1.9966434533226
+-1.2500000000000 1.9407963531085
+-0.7500000000000 1.6854982094578
+-0.2500000000000 1.2676348214800
+0.2500000000000 0.4650392002076
+0.7500000000000 0.0196893199173
+1.2500000000000 0.0000209902951
+1.7500000000000 0.0000010013714
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.9909249880664
+-2.7500000000000 1.9909249880664
+-2.2500000000000 1.9909249880664
+-1.7500000000000 1.9909249880664
+-1.2500000000000 1.8855078576724
+-0.7500000000000 1.5149681817562
+-0.2500000000000 1.2789902535001
+0.2500000000000 0.6724388964747
+0.7500000000000 0.1109486427847
+1.2500000000000 0.0004508235735
+1.7500000000000 0.0000010846062
+2.2500000000000 0.0000010000028
+2.7500000000000 0.0000010000028
+3.2500000000000 0.0000010000028
+3.7500000000000 0.0000010000028
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.9796191401910
+-2.7500000000000 1.9796191401910
+-2.2500000000000 1.9796191401910
+-1.7500000000000 1.9796191401910
+-1.2500000000000 1.8162128907284
+-0.7500000000000 1.3653111201225
+-0.2500000000000 1.2540123885411
+0.2500000000000 0.8695380988576
+0.7500000000000 0.2840117744433
+1.2500000000000 0.0063563564747
+1.7500000000000 0.0000033179397
+2.2500000000000 0.0000010001232
+2.7500000000000 0.0000010001232
+3.2500000000000 0.0000010001232
+3.7500000000000 0.0000010001232
diff --git a/test/whisky_test_shock_ppm/eps_y_[7][7].xg b/test/whisky_test_shock_ppm/eps_y_[7][7].xg
new file mode 100644
index 0000000..19b7ead
--- /dev/null
+++ b/test/whisky_test_shock_ppm/eps_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 2.0000000000000
+-0.7500000000000 2.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 1.9916888180171
+-0.7500000000000 2.0009523386662
+-0.2500000000000 1.0137415885522
+0.2500000000000 0.0782037390355
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.9990361298496
+-2.7500000000000 1.9990361298496
+-2.2500000000000 1.9990361298496
+-1.7500000000000 1.9990361298496
+-1.2500000000000 1.9749726373822
+-0.7500000000000 1.8559294962209
+-0.2500000000000 1.1988289328178
+0.2500000000000 0.2702327687875
+0.7500000000000 0.0017787616487
+1.2500000000000 0.0000016747757
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.9966434533226
+-2.7500000000000 1.9966434533226
+-2.2500000000000 1.9966434533226
+-1.7500000000000 1.9966434533226
+-1.2500000000000 1.9407963531085
+-0.7500000000000 1.6854982094578
+-0.2500000000000 1.2676348214800
+0.2500000000000 0.4650392002076
+0.7500000000000 0.0196893199173
+1.2500000000000 0.0000209902951
+1.7500000000000 0.0000010013714
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.9909249880664
+-2.7500000000000 1.9909249880664
+-2.2500000000000 1.9909249880664
+-1.7500000000000 1.9909249880664
+-1.2500000000000 1.8855078576724
+-0.7500000000000 1.5149681817562
+-0.2500000000000 1.2789902535001
+0.2500000000000 0.6724388964747
+0.7500000000000 0.1109486427847
+1.2500000000000 0.0004508235735
+1.7500000000000 0.0000010846062
+2.2500000000000 0.0000010000028
+2.7500000000000 0.0000010000028
+3.2500000000000 0.0000010000028
+3.7500000000000 0.0000010000028
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.9796191401910
+-2.7500000000000 1.9796191401910
+-2.2500000000000 1.9796191401910
+-1.7500000000000 1.9796191401910
+-1.2500000000000 1.8162128907284
+-0.7500000000000 1.3653111201225
+-0.2500000000000 1.2540123885411
+0.2500000000000 0.8695380988576
+0.7500000000000 0.2840117744433
+1.2500000000000 0.0063563564747
+1.7500000000000 0.0000033179397
+2.2500000000000 0.0000010001232
+2.7500000000000 0.0000010001232
+3.2500000000000 0.0000010001232
+3.7500000000000 0.0000010001232
diff --git a/test/whisky_test_shock_ppm/eps_z_[7][7].xg b/test/whisky_test_shock_ppm/eps_z_[7][7].xg
new file mode 100644
index 0000000..19b7ead
--- /dev/null
+++ b/test/whisky_test_shock_ppm/eps_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 2.0000000000000
+-0.7500000000000 2.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 2.0000000000000
+-2.7500000000000 2.0000000000000
+-2.2500000000000 2.0000000000000
+-1.7500000000000 2.0000000000000
+-1.2500000000000 1.9916888180171
+-0.7500000000000 2.0009523386662
+-0.2500000000000 1.0137415885522
+0.2500000000000 0.0782037390355
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.9990361298496
+-2.7500000000000 1.9990361298496
+-2.2500000000000 1.9990361298496
+-1.7500000000000 1.9990361298496
+-1.2500000000000 1.9749726373822
+-0.7500000000000 1.8559294962209
+-0.2500000000000 1.1988289328178
+0.2500000000000 0.2702327687875
+0.7500000000000 0.0017787616487
+1.2500000000000 0.0000016747757
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.9966434533226
+-2.7500000000000 1.9966434533226
+-2.2500000000000 1.9966434533226
+-1.7500000000000 1.9966434533226
+-1.2500000000000 1.9407963531085
+-0.7500000000000 1.6854982094578
+-0.2500000000000 1.2676348214800
+0.2500000000000 0.4650392002076
+0.7500000000000 0.0196893199173
+1.2500000000000 0.0000209902951
+1.7500000000000 0.0000010013714
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.9909249880664
+-2.7500000000000 1.9909249880664
+-2.2500000000000 1.9909249880664
+-1.7500000000000 1.9909249880664
+-1.2500000000000 1.8855078576724
+-0.7500000000000 1.5149681817562
+-0.2500000000000 1.2789902535001
+0.2500000000000 0.6724388964747
+0.7500000000000 0.1109486427847
+1.2500000000000 0.0004508235735
+1.7500000000000 0.0000010846062
+2.2500000000000 0.0000010000028
+2.7500000000000 0.0000010000028
+3.2500000000000 0.0000010000028
+3.7500000000000 0.0000010000028
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.9796191401910
+-2.7500000000000 1.9796191401910
+-2.2500000000000 1.9796191401910
+-1.7500000000000 1.9796191401910
+-1.2500000000000 1.8162128907284
+-0.7500000000000 1.3653111201225
+-0.2500000000000 1.2540123885411
+0.2500000000000 0.8695380988576
+0.7500000000000 0.2840117744433
+1.2500000000000 0.0063563564747
+1.7500000000000 0.0000033179397
+2.2500000000000 0.0000010001232
+2.7500000000000 0.0000010001232
+3.2500000000000 0.0000010001232
+3.7500000000000 0.0000010001232
diff --git a/test/whisky_test_shock_ppm/press_3D_diagonal.xg b/test/whisky_test_shock_ppm/press_3D_diagonal.xg
new file mode 100644
index 0000000..c6d910d
--- /dev/null
+++ b/test/whisky_test_shock_ppm/press_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3333333333332
+-0.4330127018922 13.3333333333332
+0.4330127018922 0.0000006666667
+1.2990381056767 0.0000006666667
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.1250000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3333333333332
+-0.4330127018922 13.1998792656145
+0.4330127018922 0.0632895568195
+1.2990381056767 0.0000006666667
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.2500000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3333333333332
+-0.4330127018922 12.9230387495845
+0.4330127018922 0.2655948913422
+1.2990381056767 0.0000006666667
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.3750000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333333332
+-1.2990381056767 13.3332617395810
+-0.4330127018922 12.3424954992881
+0.4330127018922 0.5288815684237
+1.2990381056767 0.0000006667612
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.5000000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333333313137
+-1.2990381056767 13.3329562519364
+-0.4330127018922 11.4113963756958
+0.4330127018922 0.8419797381986
+1.2990381056767 0.0000006750158
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
+
+
+"Time = 0.6250000000000
+-5.6291651245989 13.3333333333332
+-4.7631397208144 13.3333333333332
+-3.8971143170300 13.3333333333332
+-3.0310889132455 13.3333333333332
+-2.1650635094611 13.3333332959466
+-1.2990381056767 13.3319498247422
+-0.4330127018922 10.2658709852861
+0.4330127018922 1.1477188005535
+1.2990381056767 0.0000013704285
+2.1650635094611 0.0000006666667
+3.0310889132455 0.0000006666667
+3.8971143170300 0.0000006666667
+4.7631397208144 0.0000006666667
+5.6291651245989 0.0000006666667
+6.4951905283833 0.0000006666667
diff --git a/test/whisky_test_shock_ppm/press_x_[7][7].xg b/test/whisky_test_shock_ppm/press_x_[7][7].xg
new file mode 100644
index 0000000..550db35
--- /dev/null
+++ b/test/whisky_test_shock_ppm/press_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.3333333333332
+-0.7500000000000 13.3333333333332
+-0.2500000000000 0.0000006666667
+0.2500000000000 0.0000006666667
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.1250000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.1998792656145
+-0.7500000000000 11.0347980503818
+-0.2500000000000 1.5699427360790
+0.2500000000000 0.0632895568195
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.2500000000000
+-3.2500000000000 13.3172384046731
+-2.7500000000000 13.3172384046731
+-2.2500000000000 13.3172384046731
+-1.7500000000000 13.3172384046731
+-1.2500000000000 12.9190254631403
+-0.7500000000000 9.1396290082483
+-0.2500000000000 2.1037483755571
+0.2500000000000 0.2655948913422
+0.7500000000000 0.0012541361657
+1.2500000000000 0.0000011194274
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.3750000000000
+-3.2500000000000 13.2772851495955
+-2.7500000000000 13.2772851495955
+-2.2500000000000 13.2772851495955
+-1.7500000000000 13.2772851495955
+-1.2500000000000 12.3399791082225
+-0.7500000000000 7.3586251936570
+-0.2500000000000 2.4452052254272
+0.2500000000000 0.5288815684237
+0.7500000000000 0.0156632502462
+1.2500000000000 0.0000141984022
+1.7500000000000 0.0000006677873
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.5000000000000
+-3.2500000000000 13.1816765653351
+-2.7500000000000 13.1816765653351
+-2.2500000000000 13.1816765653351
+-1.7500000000000 13.1816765653351
+-1.2500000000000 11.4138781177563
+-0.7500000000000 5.8873592477679
+-0.2500000000000 2.6519737106950
+0.2500000000000 0.8419797381986
+0.7500000000000 0.1088731000118
+1.2500000000000 0.0003159972517
+1.7500000000000 0.0000007246235
+2.2500000000000 0.0000006666712
+2.7500000000000 0.0000006666712
+3.2500000000000 0.0000006666712
+3.7500000000000 0.0000006666712
+
+
+"Time = 0.6250000000000
+-3.2500000000000 12.9926699207396
+-2.7500000000000 12.9926699207396
+-2.2500000000000 12.9926699207396
+-1.7500000000000 12.9926699207396
+-1.2500000000000 10.3122218567816
+-0.7500000000000 4.8009147125545
+-0.2500000000000 2.7383003862528
+0.2500000000000 1.1477188005535
+0.7500000000000 0.3423625606298
+1.2500000000000 0.0049202522039
+1.7500000000000 0.0000022298742
+2.2500000000000 0.0000006668085
+2.7500000000000 0.0000006668085
+3.2500000000000 0.0000006668085
+3.7500000000000 0.0000006668085
diff --git a/test/whisky_test_shock_ppm/press_y_[7][7].xg b/test/whisky_test_shock_ppm/press_y_[7][7].xg
new file mode 100644
index 0000000..550db35
--- /dev/null
+++ b/test/whisky_test_shock_ppm/press_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.3333333333332
+-0.7500000000000 13.3333333333332
+-0.2500000000000 0.0000006666667
+0.2500000000000 0.0000006666667
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.1250000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.1998792656145
+-0.7500000000000 11.0347980503818
+-0.2500000000000 1.5699427360790
+0.2500000000000 0.0632895568195
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.2500000000000
+-3.2500000000000 13.3172384046731
+-2.7500000000000 13.3172384046731
+-2.2500000000000 13.3172384046731
+-1.7500000000000 13.3172384046731
+-1.2500000000000 12.9190254631403
+-0.7500000000000 9.1396290082483
+-0.2500000000000 2.1037483755571
+0.2500000000000 0.2655948913422
+0.7500000000000 0.0012541361657
+1.2500000000000 0.0000011194274
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.3750000000000
+-3.2500000000000 13.2772851495955
+-2.7500000000000 13.2772851495955
+-2.2500000000000 13.2772851495955
+-1.7500000000000 13.2772851495955
+-1.2500000000000 12.3399791082225
+-0.7500000000000 7.3586251936570
+-0.2500000000000 2.4452052254272
+0.2500000000000 0.5288815684237
+0.7500000000000 0.0156632502462
+1.2500000000000 0.0000141984022
+1.7500000000000 0.0000006677873
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.5000000000000
+-3.2500000000000 13.1816765653351
+-2.7500000000000 13.1816765653351
+-2.2500000000000 13.1816765653351
+-1.7500000000000 13.1816765653351
+-1.2500000000000 11.4138781177563
+-0.7500000000000 5.8873592477679
+-0.2500000000000 2.6519737106950
+0.2500000000000 0.8419797381986
+0.7500000000000 0.1088731000118
+1.2500000000000 0.0003159972517
+1.7500000000000 0.0000007246235
+2.2500000000000 0.0000006666712
+2.7500000000000 0.0000006666712
+3.2500000000000 0.0000006666712
+3.7500000000000 0.0000006666712
+
+
+"Time = 0.6250000000000
+-3.2500000000000 12.9926699207396
+-2.7500000000000 12.9926699207396
+-2.2500000000000 12.9926699207396
+-1.7500000000000 12.9926699207396
+-1.2500000000000 10.3122218567816
+-0.7500000000000 4.8009147125545
+-0.2500000000000 2.7383003862528
+0.2500000000000 1.1477188005535
+0.7500000000000 0.3423625606298
+1.2500000000000 0.0049202522039
+1.7500000000000 0.0000022298742
+2.2500000000000 0.0000006668085
+2.7500000000000 0.0000006668085
+3.2500000000000 0.0000006668085
+3.7500000000000 0.0000006668085
diff --git a/test/whisky_test_shock_ppm/press_z_[7][7].xg b/test/whisky_test_shock_ppm/press_z_[7][7].xg
new file mode 100644
index 0000000..550db35
--- /dev/null
+++ b/test/whisky_test_shock_ppm/press_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.3333333333332
+-0.7500000000000 13.3333333333332
+-0.2500000000000 0.0000006666667
+0.2500000000000 0.0000006666667
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.1250000000000
+-3.2500000000000 13.3333333333332
+-2.7500000000000 13.3333333333332
+-2.2500000000000 13.3333333333332
+-1.7500000000000 13.3333333333332
+-1.2500000000000 13.1998792656145
+-0.7500000000000 11.0347980503818
+-0.2500000000000 1.5699427360790
+0.2500000000000 0.0632895568195
+0.7500000000000 0.0000006666667
+1.2500000000000 0.0000006666667
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.2500000000000
+-3.2500000000000 13.3172384046731
+-2.7500000000000 13.3172384046731
+-2.2500000000000 13.3172384046731
+-1.7500000000000 13.3172384046731
+-1.2500000000000 12.9190254631403
+-0.7500000000000 9.1396290082483
+-0.2500000000000 2.1037483755571
+0.2500000000000 0.2655948913422
+0.7500000000000 0.0012541361657
+1.2500000000000 0.0000011194274
+1.7500000000000 0.0000006666667
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.3750000000000
+-3.2500000000000 13.2772851495955
+-2.7500000000000 13.2772851495955
+-2.2500000000000 13.2772851495955
+-1.7500000000000 13.2772851495955
+-1.2500000000000 12.3399791082225
+-0.7500000000000 7.3586251936570
+-0.2500000000000 2.4452052254272
+0.2500000000000 0.5288815684237
+0.7500000000000 0.0156632502462
+1.2500000000000 0.0000141984022
+1.7500000000000 0.0000006677873
+2.2500000000000 0.0000006666667
+2.7500000000000 0.0000006666667
+3.2500000000000 0.0000006666667
+3.7500000000000 0.0000006666667
+
+
+"Time = 0.5000000000000
+-3.2500000000000 13.1816765653351
+-2.7500000000000 13.1816765653351
+-2.2500000000000 13.1816765653351
+-1.7500000000000 13.1816765653351
+-1.2500000000000 11.4138781177563
+-0.7500000000000 5.8873592477679
+-0.2500000000000 2.6519737106950
+0.2500000000000 0.8419797381986
+0.7500000000000 0.1088731000118
+1.2500000000000 0.0003159972517
+1.7500000000000 0.0000007246235
+2.2500000000000 0.0000006666712
+2.7500000000000 0.0000006666712
+3.2500000000000 0.0000006666712
+3.7500000000000 0.0000006666712
+
+
+"Time = 0.6250000000000
+-3.2500000000000 12.9926699207396
+-2.7500000000000 12.9926699207396
+-2.2500000000000 12.9926699207396
+-1.7500000000000 12.9926699207396
+-1.2500000000000 10.3122218567816
+-0.7500000000000 4.8009147125545
+-0.2500000000000 2.7383003862528
+0.2500000000000 1.1477188005535
+0.7500000000000 0.3423625606298
+1.2500000000000 0.0049202522039
+1.7500000000000 0.0000022298742
+2.2500000000000 0.0000006668085
+2.7500000000000 0.0000006668085
+3.2500000000000 0.0000006668085
+3.7500000000000 0.0000006668085
diff --git a/test/whisky_test_shock_ppm/rho_3D_diagonal.xg b/test/whisky_test_shock_ppm/rho_3D_diagonal.xg
new file mode 100644
index 0000000..f106e88
--- /dev/null
+++ b/test/whisky_test_shock_ppm/rho_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 10.0000000000000
+0.4330127018922 1.0000000000000
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.9412210980502
+0.4330127018922 1.2139360138041
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 10.0000000000000
+-0.4330127018922 9.8139632483239
+0.4330127018922 1.4742562080859
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 10.0000000000000
+-1.2990381056767 9.9999677826157
+-0.4330127018922 9.5384297455178
+0.4330127018922 1.7059257634226
+1.2990381056767 1.0000675868096
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999999990912
+-1.2990381056767 9.9998303095411
+-0.4330127018922 9.0780384817561
+0.4330127018922 1.8781923739378
+1.2990381056767 1.0009409619894
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 10.0000000000000
+-4.7631397208144 10.0000000000000
+-3.8971143170300 10.0000000000000
+-3.0310889132455 10.0000000000000
+-2.1650635094611 9.9999999831760
+-1.2990381056767 9.9993773781182
+-0.4330127018922 8.4862971766234
+0.4330127018922 1.9798766760100
+1.2990381056767 1.0054232894169
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
diff --git a/test/whisky_test_shock_ppm/rho_x_[7][7].xg b/test/whisky_test_shock_ppm/rho_x_[7][7].xg
new file mode 100644
index 0000000..197880a
--- /dev/null
+++ b/test/whisky_test_shock_ppm/rho_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.9412210980502
+-0.7500000000000 8.2721595890714
+-0.2500000000000 2.3229924970148
+0.2500000000000 1.2139360138041
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9927446576530
+-2.7500000000000 9.9927446576530
+-2.2500000000000 9.9927446576530
+-1.7500000000000 9.9927446576530
+-1.2500000000000 9.8120540142754
+-0.7500000000000 7.3868342198819
+-0.2500000000000 2.6322542582605
+0.2500000000000 1.4742562080859
+0.7500000000000 1.0575920894333
+1.2500000000000 1.0026065780017
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9747041422202
+-2.7500000000000 9.9747041422202
+-2.2500000000000 9.9747041422202
+-1.7500000000000 9.9747041422202
+-1.2500000000000 9.5373059789027
+-0.7500000000000 6.5487686243444
+-0.2500000000000 2.8934262265362
+0.2500000000000 1.7059257634226
+0.7500000000000 1.1932801878392
+1.2500000000000 1.0146404903051
+1.7500000000000 1.0003091869332
+2.2500000000000 1.0000000495226
+2.7500000000000 1.0000000495226
+3.2500000000000 1.0000000495226
+3.7500000000000 1.0000000495226
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9313208516238
+-2.7500000000000 9.9313208516238
+-2.2500000000000 9.9313208516238
+-1.7500000000000 9.9313208516238
+-1.2500000000000 9.0802152358938
+-0.7500000000000 5.8291909876381
+-0.2500000000000 3.1102352462471
+0.2500000000000 1.8781923739378
+0.7500000000000 1.4719391415599
+1.2500000000000 1.0513999386476
+1.7500000000000 1.0021473919442
+2.2500000000000 1.0000040357932
+2.7500000000000 1.0000040357932
+3.2500000000000 1.0000040357932
+3.7500000000000 1.0000040357932
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8448254441657
+-2.7500000000000 9.8448254441657
+-2.2500000000000 9.8448254441657
+-1.7500000000000 9.8448254441657
+-1.2500000000000 8.5168059670411
+-0.7500000000000 5.2745282468552
+-0.2500000000000 3.2754465720693
+0.2500000000000 1.9798766760100
+0.7500000000000 1.8081779952658
+1.2500000000000 1.1611020142241
+1.7500000000000 1.0080988548677
+2.2500000000000 1.0000895153348
+2.7500000000000 1.0000895153348
+3.2500000000000 1.0000895153348
+3.7500000000000 1.0000895153348
diff --git a/test/whisky_test_shock_ppm/rho_y_[7][7].xg b/test/whisky_test_shock_ppm/rho_y_[7][7].xg
new file mode 100644
index 0000000..197880a
--- /dev/null
+++ b/test/whisky_test_shock_ppm/rho_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.9412210980502
+-0.7500000000000 8.2721595890714
+-0.2500000000000 2.3229924970148
+0.2500000000000 1.2139360138041
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9927446576530
+-2.7500000000000 9.9927446576530
+-2.2500000000000 9.9927446576530
+-1.7500000000000 9.9927446576530
+-1.2500000000000 9.8120540142754
+-0.7500000000000 7.3868342198819
+-0.2500000000000 2.6322542582605
+0.2500000000000 1.4742562080859
+0.7500000000000 1.0575920894333
+1.2500000000000 1.0026065780017
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9747041422202
+-2.7500000000000 9.9747041422202
+-2.2500000000000 9.9747041422202
+-1.7500000000000 9.9747041422202
+-1.2500000000000 9.5373059789027
+-0.7500000000000 6.5487686243444
+-0.2500000000000 2.8934262265362
+0.2500000000000 1.7059257634226
+0.7500000000000 1.1932801878392
+1.2500000000000 1.0146404903051
+1.7500000000000 1.0003091869332
+2.2500000000000 1.0000000495226
+2.7500000000000 1.0000000495226
+3.2500000000000 1.0000000495226
+3.7500000000000 1.0000000495226
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9313208516238
+-2.7500000000000 9.9313208516238
+-2.2500000000000 9.9313208516238
+-1.7500000000000 9.9313208516238
+-1.2500000000000 9.0802152358938
+-0.7500000000000 5.8291909876381
+-0.2500000000000 3.1102352462471
+0.2500000000000 1.8781923739378
+0.7500000000000 1.4719391415599
+1.2500000000000 1.0513999386476
+1.7500000000000 1.0021473919442
+2.2500000000000 1.0000040357932
+2.7500000000000 1.0000040357932
+3.2500000000000 1.0000040357932
+3.7500000000000 1.0000040357932
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8448254441657
+-2.7500000000000 9.8448254441657
+-2.2500000000000 9.8448254441657
+-1.7500000000000 9.8448254441657
+-1.2500000000000 8.5168059670411
+-0.7500000000000 5.2745282468552
+-0.2500000000000 3.2754465720693
+0.2500000000000 1.9798766760100
+0.7500000000000 1.8081779952658
+1.2500000000000 1.1611020142241
+1.7500000000000 1.0080988548677
+2.2500000000000 1.0000895153348
+2.7500000000000 1.0000895153348
+3.2500000000000 1.0000895153348
+3.7500000000000 1.0000895153348
diff --git a/test/whisky_test_shock_ppm/rho_z_[7][7].xg b/test/whisky_test_shock_ppm/rho_z_[7][7].xg
new file mode 100644
index 0000000..197880a
--- /dev/null
+++ b/test/whisky_test_shock_ppm/rho_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 10.0000000000000
+-0.7500000000000 10.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 10.0000000000000
+-2.7500000000000 10.0000000000000
+-2.2500000000000 10.0000000000000
+-1.7500000000000 10.0000000000000
+-1.2500000000000 9.9412210980502
+-0.7500000000000 8.2721595890714
+-0.2500000000000 2.3229924970148
+0.2500000000000 1.2139360138041
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 9.9927446576530
+-2.7500000000000 9.9927446576530
+-2.2500000000000 9.9927446576530
+-1.7500000000000 9.9927446576530
+-1.2500000000000 9.8120540142754
+-0.7500000000000 7.3868342198819
+-0.2500000000000 2.6322542582605
+0.2500000000000 1.4742562080859
+0.7500000000000 1.0575920894333
+1.2500000000000 1.0026065780017
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 9.9747041422202
+-2.7500000000000 9.9747041422202
+-2.2500000000000 9.9747041422202
+-1.7500000000000 9.9747041422202
+-1.2500000000000 9.5373059789027
+-0.7500000000000 6.5487686243444
+-0.2500000000000 2.8934262265362
+0.2500000000000 1.7059257634226
+0.7500000000000 1.1932801878392
+1.2500000000000 1.0146404903051
+1.7500000000000 1.0003091869332
+2.2500000000000 1.0000000495226
+2.7500000000000 1.0000000495226
+3.2500000000000 1.0000000495226
+3.7500000000000 1.0000000495226
+
+
+"Time = 0.5000000000000
+-3.2500000000000 9.9313208516238
+-2.7500000000000 9.9313208516238
+-2.2500000000000 9.9313208516238
+-1.7500000000000 9.9313208516238
+-1.2500000000000 9.0802152358938
+-0.7500000000000 5.8291909876381
+-0.2500000000000 3.1102352462471
+0.2500000000000 1.8781923739378
+0.7500000000000 1.4719391415599
+1.2500000000000 1.0513999386476
+1.7500000000000 1.0021473919442
+2.2500000000000 1.0000040357932
+2.7500000000000 1.0000040357932
+3.2500000000000 1.0000040357932
+3.7500000000000 1.0000040357932
+
+
+"Time = 0.6250000000000
+-3.2500000000000 9.8448254441657
+-2.7500000000000 9.8448254441657
+-2.2500000000000 9.8448254441657
+-1.7500000000000 9.8448254441657
+-1.2500000000000 8.5168059670411
+-0.7500000000000 5.2745282468552
+-0.2500000000000 3.2754465720693
+0.2500000000000 1.9798766760100
+0.7500000000000 1.8081779952658
+1.2500000000000 1.1611020142241
+1.7500000000000 1.0080988548677
+2.2500000000000 1.0000895153348
+2.7500000000000 1.0000895153348
+3.2500000000000 1.0000895153348
+3.7500000000000 1.0000895153348
diff --git a/test/whisky_test_shock_ppm/scon[0]_3D_diagonal.xg b/test/whisky_test_shock_ppm/scon[0]_3D_diagonal.xg
new file mode 100644
index 0000000..4c439fe
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[0]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0604647895086
+0.4330127018922 0.0761828004557
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.2444078695857
+0.4330127018922 0.4591502643803
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000413675209
+-0.4330127018922 0.6675268893637
+0.4330127018922 1.1977588174603
+1.2990381056767 0.0000000269842
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000009400
+-1.2990381056767 0.0002406085740
+-0.4330127018922 1.3667968238356
+0.4330127018922 2.2598503927147
+1.2990381056767 0.0000009449446
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000209112
+-1.2990381056767 0.0009354931366
+-0.4330127018922 2.3390401228038
+0.4330127018922 3.3304712096132
+1.2990381056767 0.0000211130136
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock_ppm/scon[0]_x_[7][7].xg b/test/whisky_test_shock_ppm/scon[0]_x_[7][7].xg
new file mode 100644
index 0000000..32ff1b2
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[0]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0084259281031
+-2.7500000000000 0.0084259281031
+-2.2500000000000 0.0084259281031
+-1.7500000000000 0.0084259281031
+-1.2500000000000 0.2479450661618
+-0.7500000000000 2.5610087537580
+-0.2500000000000 3.3920574636119
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045804120148
+1.2500000000000 0.0000039768194
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0264028453550
+-2.7500000000000 0.0264028453550
+-2.2500000000000 0.0264028453550
+-1.7500000000000 0.0264028453550
+-1.2500000000000 0.6775256626399
+-0.7500000000000 3.2941022635734
+-0.2500000000000 4.7669019351382
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0411411435883
+1.2500000000000 0.0000950749855
+1.7500000000000 0.0000000408593
+2.2500000000000 0.0000000000017
+2.7500000000000 0.0000000000017
+3.2500000000000 0.0000000000017
+3.7500000000000 0.0000000000017
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0675066700196
+-2.7500000000000 0.0675066700196
+-2.2500000000000 0.0675066700196
+-1.7500000000000 0.0675066700196
+-1.2500000000000 1.3871129736638
+-0.7500000000000 3.6032690658348
+-0.2500000000000 5.7504252740575
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2430268724212
+1.2500000000000 0.0013179113872
+1.7500000000000 0.0000012802811
+2.2500000000000 0.0000000001865
+2.7500000000000 0.0000000001865
+3.2500000000000 0.0000000001865
+3.7500000000000 0.0000000001865
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1493308701688
+-2.7500000000000 0.1493308701688
+-2.2500000000000 0.1493308701688
+-1.7500000000000 0.1493308701688
+-1.2500000000000 2.3856615224407
+-0.7500000000000 3.5968529393579
+-0.2500000000000 6.2605241233639
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8524414933505
+1.2500000000000 0.0154462155833
+1.7500000000000 0.0000256110088
+2.2500000000000 0.0000000050429
+2.7500000000000 0.0000000050429
+3.2500000000000 0.0000000050429
+3.7500000000000 0.0000000050429
diff --git a/test/whisky_test_shock_ppm/scon[0]_y_[7][7].xg b/test/whisky_test_shock_ppm/scon[0]_y_[7][7].xg
new file mode 100644
index 0000000..7634629
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[0]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0111104007510
+-2.7500000000000 0.0111104007510
+-2.2500000000000 0.0111104007510
+-1.7500000000000 0.0111104007510
+-1.2500000000000 0.2473629102058
+-0.7500000000000 2.5634258106042
+-0.2500000000000 3.3948895894480
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045779615322
+1.2500000000000 0.0000163513067
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0391187561078
+-2.7500000000000 0.0391187561078
+-2.2500000000000 0.0391187561078
+-1.7500000000000 0.0391187561078
+-1.2500000000000 0.6710387471696
+-0.7500000000000 3.2985526936950
+-0.2500000000000 4.7679503526256
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0407662279286
+1.2500000000000 0.0002011568007
+1.7500000000000 0.0000002783251
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.1110914123099
+-2.7500000000000 0.1110914123099
+-2.2500000000000 0.1110914123099
+-1.7500000000000 0.1110914123099
+-1.2500000000000 1.3672565656031
+-0.7500000000000 3.6156548292627
+-0.2500000000000 5.7446889967451
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2416853392592
+1.2500000000000 0.0020113329274
+1.7500000000000 0.0000049416684
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.2575720657092
+-2.7500000000000 0.2575720657092
+-2.2500000000000 0.2575720657092
+-1.7500000000000 0.2575720657092
+-1.2500000000000 2.3239662245054
+-0.7500000000000 3.6166273464031
+-0.2500000000000 6.2535789978550
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8518532559349
+1.2500000000000 0.0179878047982
+1.7500000000000 0.0000456058599
+2.2500000000000 0.0000000546632
+2.7500000000000 0.0000000546632
+3.2500000000000 0.0000000546632
+3.7500000000000 0.0000000546632
diff --git a/test/whisky_test_shock_ppm/scon[0]_z_[7][7].xg b/test/whisky_test_shock_ppm/scon[0]_z_[7][7].xg
new file mode 100644
index 0000000..7634629
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[0]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0111104007510
+-2.7500000000000 0.0111104007510
+-2.2500000000000 0.0111104007510
+-1.7500000000000 0.0111104007510
+-1.2500000000000 0.2473629102058
+-0.7500000000000 2.5634258106042
+-0.2500000000000 3.3948895894480
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045779615322
+1.2500000000000 0.0000163513067
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0391187561078
+-2.7500000000000 0.0391187561078
+-2.2500000000000 0.0391187561078
+-1.7500000000000 0.0391187561078
+-1.2500000000000 0.6710387471696
+-0.7500000000000 3.2985526936950
+-0.2500000000000 4.7679503526256
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0407662279286
+1.2500000000000 0.0002011568007
+1.7500000000000 0.0000002783251
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.1110914123099
+-2.7500000000000 0.1110914123099
+-2.2500000000000 0.1110914123099
+-1.7500000000000 0.1110914123099
+-1.2500000000000 1.3672565656031
+-0.7500000000000 3.6156548292627
+-0.2500000000000 5.7446889967451
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2416853392592
+1.2500000000000 0.0020113329274
+1.7500000000000 0.0000049416684
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.2575720657092
+-2.7500000000000 0.2575720657092
+-2.2500000000000 0.2575720657092
+-1.7500000000000 0.2575720657092
+-1.2500000000000 2.3239662245054
+-0.7500000000000 3.6166273464031
+-0.2500000000000 6.2535789978550
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8518532559349
+1.2500000000000 0.0179878047982
+1.7500000000000 0.0000456058599
+2.2500000000000 0.0000000546632
+2.7500000000000 0.0000000546632
+3.2500000000000 0.0000000546632
+3.7500000000000 0.0000000546632
diff --git a/test/whisky_test_shock_ppm/scon[1]_3D_diagonal.xg b/test/whisky_test_shock_ppm/scon[1]_3D_diagonal.xg
new file mode 100644
index 0000000..4c439fe
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[1]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0604647895086
+0.4330127018922 0.0761828004557
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.2444078695857
+0.4330127018922 0.4591502643803
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000413675209
+-0.4330127018922 0.6675268893637
+0.4330127018922 1.1977588174603
+1.2990381056767 0.0000000269842
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000009400
+-1.2990381056767 0.0002406085740
+-0.4330127018922 1.3667968238356
+0.4330127018922 2.2598503927147
+1.2990381056767 0.0000009449446
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000209112
+-1.2990381056767 0.0009354931366
+-0.4330127018922 2.3390401228038
+0.4330127018922 3.3304712096132
+1.2990381056767 0.0000211130136
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock_ppm/scon[1]_x_[7][7].xg b/test/whisky_test_shock_ppm/scon[1]_x_[7][7].xg
new file mode 100644
index 0000000..7634629
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[1]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0111104007510
+-2.7500000000000 0.0111104007510
+-2.2500000000000 0.0111104007510
+-1.7500000000000 0.0111104007510
+-1.2500000000000 0.2473629102058
+-0.7500000000000 2.5634258106042
+-0.2500000000000 3.3948895894480
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045779615322
+1.2500000000000 0.0000163513067
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0391187561078
+-2.7500000000000 0.0391187561078
+-2.2500000000000 0.0391187561078
+-1.7500000000000 0.0391187561078
+-1.2500000000000 0.6710387471696
+-0.7500000000000 3.2985526936950
+-0.2500000000000 4.7679503526256
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0407662279286
+1.2500000000000 0.0002011568007
+1.7500000000000 0.0000002783251
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.1110914123099
+-2.7500000000000 0.1110914123099
+-2.2500000000000 0.1110914123099
+-1.7500000000000 0.1110914123099
+-1.2500000000000 1.3672565656031
+-0.7500000000000 3.6156548292627
+-0.2500000000000 5.7446889967451
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2416853392592
+1.2500000000000 0.0020113329274
+1.7500000000000 0.0000049416684
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.2575720657092
+-2.7500000000000 0.2575720657092
+-2.2500000000000 0.2575720657092
+-1.7500000000000 0.2575720657092
+-1.2500000000000 2.3239662245054
+-0.7500000000000 3.6166273464031
+-0.2500000000000 6.2535789978550
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8518532559349
+1.2500000000000 0.0179878047982
+1.7500000000000 0.0000456058599
+2.2500000000000 0.0000000546632
+2.7500000000000 0.0000000546632
+3.2500000000000 0.0000000546632
+3.7500000000000 0.0000000546632
diff --git a/test/whisky_test_shock_ppm/scon[1]_y_[7][7].xg b/test/whisky_test_shock_ppm/scon[1]_y_[7][7].xg
new file mode 100644
index 0000000..32ff1b2
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[1]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0084259281031
+-2.7500000000000 0.0084259281031
+-2.2500000000000 0.0084259281031
+-1.7500000000000 0.0084259281031
+-1.2500000000000 0.2479450661618
+-0.7500000000000 2.5610087537580
+-0.2500000000000 3.3920574636119
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045804120148
+1.2500000000000 0.0000039768194
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0264028453550
+-2.7500000000000 0.0264028453550
+-2.2500000000000 0.0264028453550
+-1.7500000000000 0.0264028453550
+-1.2500000000000 0.6775256626399
+-0.7500000000000 3.2941022635734
+-0.2500000000000 4.7669019351382
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0411411435883
+1.2500000000000 0.0000950749855
+1.7500000000000 0.0000000408593
+2.2500000000000 0.0000000000017
+2.7500000000000 0.0000000000017
+3.2500000000000 0.0000000000017
+3.7500000000000 0.0000000000017
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0675066700196
+-2.7500000000000 0.0675066700196
+-2.2500000000000 0.0675066700196
+-1.7500000000000 0.0675066700196
+-1.2500000000000 1.3871129736638
+-0.7500000000000 3.6032690658348
+-0.2500000000000 5.7504252740575
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2430268724212
+1.2500000000000 0.0013179113872
+1.7500000000000 0.0000012802811
+2.2500000000000 0.0000000001865
+2.7500000000000 0.0000000001865
+3.2500000000000 0.0000000001865
+3.7500000000000 0.0000000001865
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1493308701688
+-2.7500000000000 0.1493308701688
+-2.2500000000000 0.1493308701688
+-1.7500000000000 0.1493308701688
+-1.2500000000000 2.3856615224407
+-0.7500000000000 3.5968529393579
+-0.2500000000000 6.2605241233639
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8524414933505
+1.2500000000000 0.0154462155833
+1.7500000000000 0.0000256110088
+2.2500000000000 0.0000000050429
+2.7500000000000 0.0000000050429
+3.2500000000000 0.0000000050429
+3.7500000000000 0.0000000050429
diff --git a/test/whisky_test_shock_ppm/scon[1]_z_[7][7].xg b/test/whisky_test_shock_ppm/scon[1]_z_[7][7].xg
new file mode 100644
index 0000000..7634629
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[1]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0111104007510
+-2.7500000000000 0.0111104007510
+-2.2500000000000 0.0111104007510
+-1.7500000000000 0.0111104007510
+-1.2500000000000 0.2473629102058
+-0.7500000000000 2.5634258106042
+-0.2500000000000 3.3948895894480
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045779615322
+1.2500000000000 0.0000163513067
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0391187561078
+-2.7500000000000 0.0391187561078
+-2.2500000000000 0.0391187561078
+-1.7500000000000 0.0391187561078
+-1.2500000000000 0.6710387471696
+-0.7500000000000 3.2985526936950
+-0.2500000000000 4.7679503526256
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0407662279286
+1.2500000000000 0.0002011568007
+1.7500000000000 0.0000002783251
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.1110914123099
+-2.7500000000000 0.1110914123099
+-2.2500000000000 0.1110914123099
+-1.7500000000000 0.1110914123099
+-1.2500000000000 1.3672565656031
+-0.7500000000000 3.6156548292627
+-0.2500000000000 5.7446889967451
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2416853392592
+1.2500000000000 0.0020113329274
+1.7500000000000 0.0000049416684
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.2575720657092
+-2.7500000000000 0.2575720657092
+-2.2500000000000 0.2575720657092
+-1.7500000000000 0.2575720657092
+-1.2500000000000 2.3239662245054
+-0.7500000000000 3.6166273464031
+-0.2500000000000 6.2535789978550
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8518532559349
+1.2500000000000 0.0179878047982
+1.7500000000000 0.0000456058599
+2.2500000000000 0.0000000546632
+2.7500000000000 0.0000000546632
+3.2500000000000 0.0000000546632
+3.7500000000000 0.0000000546632
diff --git a/test/whisky_test_shock_ppm/scon[2]_3D_diagonal.xg b/test/whisky_test_shock_ppm/scon[2]_3D_diagonal.xg
new file mode 100644
index 0000000..4c439fe
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[2]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0604647895086
+0.4330127018922 0.0761828004557
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.2444078695857
+0.4330127018922 0.4591502643803
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000413675209
+-0.4330127018922 0.6675268893637
+0.4330127018922 1.1977588174603
+1.2990381056767 0.0000000269842
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000009400
+-1.2990381056767 0.0002406085740
+-0.4330127018922 1.3667968238356
+0.4330127018922 2.2598503927147
+1.2990381056767 0.0000009449446
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000209112
+-1.2990381056767 0.0009354931366
+-0.4330127018922 2.3390401228038
+0.4330127018922 3.3304712096132
+1.2990381056767 0.0000211130136
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock_ppm/scon[2]_x_[7][7].xg b/test/whisky_test_shock_ppm/scon[2]_x_[7][7].xg
new file mode 100644
index 0000000..7634629
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[2]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0111104007510
+-2.7500000000000 0.0111104007510
+-2.2500000000000 0.0111104007510
+-1.7500000000000 0.0111104007510
+-1.2500000000000 0.2473629102058
+-0.7500000000000 2.5634258106042
+-0.2500000000000 3.3948895894480
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045779615322
+1.2500000000000 0.0000163513067
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0391187561078
+-2.7500000000000 0.0391187561078
+-2.2500000000000 0.0391187561078
+-1.7500000000000 0.0391187561078
+-1.2500000000000 0.6710387471696
+-0.7500000000000 3.2985526936950
+-0.2500000000000 4.7679503526256
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0407662279286
+1.2500000000000 0.0002011568007
+1.7500000000000 0.0000002783251
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.1110914123099
+-2.7500000000000 0.1110914123099
+-2.2500000000000 0.1110914123099
+-1.7500000000000 0.1110914123099
+-1.2500000000000 1.3672565656031
+-0.7500000000000 3.6156548292627
+-0.2500000000000 5.7446889967451
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2416853392592
+1.2500000000000 0.0020113329274
+1.7500000000000 0.0000049416684
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.2575720657092
+-2.7500000000000 0.2575720657092
+-2.2500000000000 0.2575720657092
+-1.7500000000000 0.2575720657092
+-1.2500000000000 2.3239662245054
+-0.7500000000000 3.6166273464031
+-0.2500000000000 6.2535789978550
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8518532559349
+1.2500000000000 0.0179878047982
+1.7500000000000 0.0000456058599
+2.2500000000000 0.0000000546632
+2.7500000000000 0.0000000546632
+3.2500000000000 0.0000000546632
+3.7500000000000 0.0000000546632
diff --git a/test/whisky_test_shock_ppm/scon[2]_y_[7][7].xg b/test/whisky_test_shock_ppm/scon[2]_y_[7][7].xg
new file mode 100644
index 0000000..7634629
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[2]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0111104007510
+-2.7500000000000 0.0111104007510
+-2.2500000000000 0.0111104007510
+-1.7500000000000 0.0111104007510
+-1.2500000000000 0.2473629102058
+-0.7500000000000 2.5634258106042
+-0.2500000000000 3.3948895894480
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045779615322
+1.2500000000000 0.0000163513067
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0391187561078
+-2.7500000000000 0.0391187561078
+-2.2500000000000 0.0391187561078
+-1.7500000000000 0.0391187561078
+-1.2500000000000 0.6710387471696
+-0.7500000000000 3.2985526936950
+-0.2500000000000 4.7679503526256
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0407662279286
+1.2500000000000 0.0002011568007
+1.7500000000000 0.0000002783251
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.1110914123099
+-2.7500000000000 0.1110914123099
+-2.2500000000000 0.1110914123099
+-1.7500000000000 0.1110914123099
+-1.2500000000000 1.3672565656031
+-0.7500000000000 3.6156548292627
+-0.2500000000000 5.7446889967451
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2416853392592
+1.2500000000000 0.0020113329274
+1.7500000000000 0.0000049416684
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.2575720657092
+-2.7500000000000 0.2575720657092
+-2.2500000000000 0.2575720657092
+-1.7500000000000 0.2575720657092
+-1.2500000000000 2.3239662245054
+-0.7500000000000 3.6166273464031
+-0.2500000000000 6.2535789978550
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8518532559349
+1.2500000000000 0.0179878047982
+1.7500000000000 0.0000456058599
+2.2500000000000 0.0000000546632
+2.7500000000000 0.0000000546632
+3.2500000000000 0.0000000546632
+3.7500000000000 0.0000000546632
diff --git a/test/whisky_test_shock_ppm/scon[2]_z_[7][7].xg b/test/whisky_test_shock_ppm/scon[2]_z_[7][7].xg
new file mode 100644
index 0000000..32ff1b2
--- /dev/null
+++ b/test/whisky_test_shock_ppm/scon[2]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0604647895086
+-0.7500000000000 1.4139307708592
+-0.2500000000000 1.7827548058431
+0.2500000000000 0.0761828004557
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0084259281031
+-2.7500000000000 0.0084259281031
+-2.2500000000000 0.0084259281031
+-1.7500000000000 0.0084259281031
+-1.2500000000000 0.2479450661618
+-0.7500000000000 2.5610087537580
+-0.2500000000000 3.3920574636119
+0.2500000000000 0.4591502643803
+0.7500000000000 0.0045804120148
+1.2500000000000 0.0000039768194
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0264028453550
+-2.7500000000000 0.0264028453550
+-2.2500000000000 0.0264028453550
+-1.7500000000000 0.0264028453550
+-1.2500000000000 0.6775256626399
+-0.7500000000000 3.2941022635734
+-0.2500000000000 4.7669019351382
+0.2500000000000 1.1977588174603
+0.7500000000000 0.0411411435883
+1.2500000000000 0.0000950749855
+1.7500000000000 0.0000000408593
+2.2500000000000 0.0000000000017
+2.7500000000000 0.0000000000017
+3.2500000000000 0.0000000000017
+3.7500000000000 0.0000000000017
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0675066700196
+-2.7500000000000 0.0675066700196
+-2.2500000000000 0.0675066700196
+-1.7500000000000 0.0675066700196
+-1.2500000000000 1.3871129736638
+-0.7500000000000 3.6032690658348
+-0.2500000000000 5.7504252740575
+0.2500000000000 2.2598503927147
+0.7500000000000 0.2430268724212
+1.2500000000000 0.0013179113872
+1.7500000000000 0.0000012802811
+2.2500000000000 0.0000000001865
+2.7500000000000 0.0000000001865
+3.2500000000000 0.0000000001865
+3.7500000000000 0.0000000001865
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.1493308701688
+-2.7500000000000 0.1493308701688
+-2.2500000000000 0.1493308701688
+-1.7500000000000 0.1493308701688
+-1.2500000000000 2.3856615224407
+-0.7500000000000 3.5968529393579
+-0.2500000000000 6.2605241233639
+0.2500000000000 3.3304712096132
+0.7500000000000 0.8524414933505
+1.2500000000000 0.0154462155833
+1.7500000000000 0.0000256110088
+2.2500000000000 0.0000000050429
+2.7500000000000 0.0000000050429
+3.2500000000000 0.0000000050429
+3.7500000000000 0.0000000050429
diff --git a/test/whisky_test_shock_ppm/tau_3D_diagonal.xg b/test/whisky_test_shock_ppm/tau_3D_diagonal.xg
new file mode 100644
index 0000000..3721b97
--- /dev/null
+++ b/test/whisky_test_shock_ppm/tau_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 20.0000000000000
+-0.4330127018922 20.0000000000000
+0.4330127018922 0.0000010000000
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 20.0000000000000
+-0.4330127018922 19.8000447511288
+0.4330127018922 0.1019588990761
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 20.0000000000000
+-0.4330127018922 19.3883166145552
+0.4330127018922 0.5735909984831
+1.2990381056767 0.0000010000000
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 20.0000000000000
+-1.2990381056767 19.9998926094764
+-0.4330127018922 18.5429059420956
+0.4330127018922 1.5727528468314
+1.2990381056767 0.0000010001418
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 19.9999999969707
+-1.2990381056767 19.9994343814504
+-0.4330127018922 17.2476370814207
+0.4330127018922 3.1636451530113
+1.2990381056767 0.0000010125251
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 20.0000000000000
+-4.7631397208144 20.0000000000000
+-3.8971143170300 20.0000000000000
+-3.0310889132455 20.0000000000000
+-2.1650635094611 19.9999999439201
+-1.2990381056767 19.9979247907147
+-0.4330127018922 15.8141436265770
+0.4330127018922 4.8850520864607
+1.2990381056767 0.0000020563077
+2.1650635094611 0.0000010000000
+3.0310889132455 0.0000010000000
+3.8971143170300 0.0000010000000
+4.7631397208144 0.0000010000000
+5.6291651245989 0.0000010000000
+6.4951905283833 0.0000010000000
diff --git a/test/whisky_test_shock_ppm/tau_x_[7][7].xg b/test/whisky_test_shock_ppm/tau_x_[7][7].xg
new file mode 100644
index 0000000..81abcf9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/tau_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 20.0000000000000
+-0.7500000000000 20.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 19.8000447511288
+-0.7500000000000 16.6994984098074
+-0.2500000000000 3.3984999399877
+0.2500000000000 0.1019588990761
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 19.9758641030455
+-2.7500000000000 19.9758641030455
+-2.2500000000000 19.9758641030455
+-1.7500000000000 19.9758641030455
+-1.2500000000000 19.3823952050296
+-0.7500000000000 14.2700146329458
+-0.2500000000000 5.8106849821072
+0.2500000000000 0.5735909984831
+0.7500000000000 0.0019109380407
+1.2500000000000 0.0000016794156
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 19.9160047149232
+-2.7500000000000 19.9160047149232
+-2.2500000000000 19.9160047149232
+-1.7500000000000 19.9160047149232
+-1.2500000000000 18.5396346316906
+-0.7500000000000 12.1216661812051
+-0.2500000000000 7.8681075000239
+0.2500000000000 1.5727528468314
+0.7500000000000 0.0255893999108
+1.2500000000000 0.0000213419379
+1.7500000000000 0.0000010016811
+2.2500000000000 0.0000010000001
+2.7500000000000 0.0000010000001
+3.2500000000000 0.0000010000001
+3.7500000000000 0.0000010000001
+
+
+"Time = 0.5000000000000
+-3.2500000000000 19.7731177024485
+-2.7500000000000 19.7731177024485
+-2.2500000000000 19.7731177024485
+-1.7500000000000 19.7731177024485
+-1.2500000000000 17.2526867857646
+-0.7500000000000 10.3417832870341
+-0.2500000000000 9.3188878714186
+0.2500000000000 3.1636451530113
+0.7500000000000 0.2191098382730
+1.2500000000000 0.0004786695223
+1.7500000000000 0.0000010869605
+2.2500000000000 0.0000010000069
+2.7500000000000 0.0000010000069
+3.2500000000000 0.0000010000069
+3.7500000000000 0.0000010000069
+
+
+"Time = 0.6250000000000
+-3.2500000000000 19.4922404580781
+-2.7500000000000 19.4922404580781
+-2.2500000000000 19.4922404580781
+-1.7500000000000 19.4922404580781
+-1.2500000000000 15.8839657118194
+-0.7500000000000 8.9262713005039
+-0.2500000000000 10.0338625478539
+0.2500000000000 4.8850520864607
+0.7500000000000 0.9591595094065
+1.2500000000000 0.0077615596155
+1.7500000000000 0.0000033471997
+2.2500000000000 0.0000010002128
+2.7500000000000 0.0000010002128
+3.2500000000000 0.0000010002128
+3.7500000000000 0.0000010002128
diff --git a/test/whisky_test_shock_ppm/tau_y_[7][7].xg b/test/whisky_test_shock_ppm/tau_y_[7][7].xg
new file mode 100644
index 0000000..81abcf9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/tau_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 20.0000000000000
+-0.7500000000000 20.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 19.8000447511288
+-0.7500000000000 16.6994984098074
+-0.2500000000000 3.3984999399877
+0.2500000000000 0.1019588990761
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 19.9758641030455
+-2.7500000000000 19.9758641030455
+-2.2500000000000 19.9758641030455
+-1.7500000000000 19.9758641030455
+-1.2500000000000 19.3823952050296
+-0.7500000000000 14.2700146329458
+-0.2500000000000 5.8106849821072
+0.2500000000000 0.5735909984831
+0.7500000000000 0.0019109380407
+1.2500000000000 0.0000016794156
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 19.9160047149232
+-2.7500000000000 19.9160047149232
+-2.2500000000000 19.9160047149232
+-1.7500000000000 19.9160047149232
+-1.2500000000000 18.5396346316906
+-0.7500000000000 12.1216661812051
+-0.2500000000000 7.8681075000239
+0.2500000000000 1.5727528468314
+0.7500000000000 0.0255893999108
+1.2500000000000 0.0000213419379
+1.7500000000000 0.0000010016811
+2.2500000000000 0.0000010000001
+2.7500000000000 0.0000010000001
+3.2500000000000 0.0000010000001
+3.7500000000000 0.0000010000001
+
+
+"Time = 0.5000000000000
+-3.2500000000000 19.7731177024485
+-2.7500000000000 19.7731177024485
+-2.2500000000000 19.7731177024485
+-1.7500000000000 19.7731177024485
+-1.2500000000000 17.2526867857646
+-0.7500000000000 10.3417832870341
+-0.2500000000000 9.3188878714186
+0.2500000000000 3.1636451530113
+0.7500000000000 0.2191098382730
+1.2500000000000 0.0004786695223
+1.7500000000000 0.0000010869605
+2.2500000000000 0.0000010000069
+2.7500000000000 0.0000010000069
+3.2500000000000 0.0000010000069
+3.7500000000000 0.0000010000069
+
+
+"Time = 0.6250000000000
+-3.2500000000000 19.4922404580781
+-2.7500000000000 19.4922404580781
+-2.2500000000000 19.4922404580781
+-1.7500000000000 19.4922404580781
+-1.2500000000000 15.8839657118194
+-0.7500000000000 8.9262713005039
+-0.2500000000000 10.0338625478539
+0.2500000000000 4.8850520864607
+0.7500000000000 0.9591595094065
+1.2500000000000 0.0077615596155
+1.7500000000000 0.0000033471997
+2.2500000000000 0.0000010002128
+2.7500000000000 0.0000010002128
+3.2500000000000 0.0000010002128
+3.7500000000000 0.0000010002128
diff --git a/test/whisky_test_shock_ppm/tau_z_[7][7].xg b/test/whisky_test_shock_ppm/tau_z_[7][7].xg
new file mode 100644
index 0000000..c9eff44
--- /dev/null
+++ b/test/whisky_test_shock_ppm/tau_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 20.0000000000000
+-0.7500000000000 20.0000000000000
+-0.2500000000000 0.0000010000000
+0.2500000000000 0.0000010000000
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 20.0000000000000
+-2.7500000000000 20.0000000000000
+-2.2500000000000 20.0000000000000
+-1.7500000000000 20.0000000000000
+-1.2500000000000 19.8000447511288
+-0.7500000000000 16.6994984098074
+-0.2500000000000 3.3984999399877
+0.2500000000000 0.1019588990761
+0.7500000000000 0.0000010000000
+1.2500000000000 0.0000010000000
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 19.9758641030455
+-2.7500000000000 19.9758641030455
+-2.2500000000000 19.9758641030455
+-1.7500000000000 19.9758641030455
+-1.2500000000000 19.3823952050296
+-0.7500000000000 14.2700146329458
+-0.2500000000000 5.8106849821072
+0.2500000000000 0.5735909984831
+0.7500000000000 0.0019109380407
+1.2500000000000 0.0000016794156
+1.7500000000000 0.0000010000000
+2.2500000000000 0.0000010000000
+2.7500000000000 0.0000010000000
+3.2500000000000 0.0000010000000
+3.7500000000000 0.0000010000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 19.9160047149232
+-2.7500000000000 19.9160047149232
+-2.2500000000000 19.9160047149232
+-1.7500000000000 19.9160047149232
+-1.2500000000000 18.5396346316906
+-0.7500000000000 12.1216661812051
+-0.2500000000000 7.8681075000239
+0.2500000000000 1.5727528468314
+0.7500000000000 0.0255893999108
+1.2500000000000 0.0000213419379
+1.7500000000000 0.0000010016811
+2.2500000000000 0.0000010000001
+2.7500000000000 0.0000010000001
+3.2500000000000 0.0000010000001
+3.7500000000000 0.0000010000001
+
+
+"Time = 0.5000000000000
+-3.2500000000000 19.7731177024485
+-2.7500000000000 19.7731177024485
+-2.2500000000000 19.7731177024485
+-1.7500000000000 19.7731177024485
+-1.2500000000000 17.2526867857647
+-0.7500000000000 10.3417832870341
+-0.2500000000000 9.3188878714186
+0.2500000000000 3.1636451530113
+0.7500000000000 0.2191098382730
+1.2500000000000 0.0004786695223
+1.7500000000000 0.0000010869605
+2.2500000000000 0.0000010000069
+2.7500000000000 0.0000010000069
+3.2500000000000 0.0000010000069
+3.7500000000000 0.0000010000069
+
+
+"Time = 0.6250000000000
+-3.2500000000000 19.4922404580781
+-2.7500000000000 19.4922404580781
+-2.2500000000000 19.4922404580781
+-1.7500000000000 19.4922404580781
+-1.2500000000000 15.8839657118194
+-0.7500000000000 8.9262713005039
+-0.2500000000000 10.0338625478539
+0.2500000000000 4.8850520864607
+0.7500000000000 0.9591595094065
+1.2500000000000 0.0077615596155
+1.7500000000000 0.0000033471997
+2.2500000000000 0.0000010002128
+2.7500000000000 0.0000010002128
+3.2500000000000 0.0000010002128
+3.7500000000000 0.0000010002128
diff --git a/test/whisky_test_shock_ppm/vel[0]_3D_diagonal.xg b/test/whisky_test_shock_ppm/vel[0]_3D_diagonal.xg
new file mode 100644
index 0000000..b32cbc9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[0]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0014080841979
+0.4330127018922 0.0550162074400
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0058018550940
+0.4330127018922 0.1911857576188
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000009546398
+-0.4330127018922 0.0165116077017
+0.4330127018922 0.2933967953739
+1.2990381056767 0.0000000269824
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000217
+-1.2990381056767 0.0000055526481
+-0.4330127018922 0.0362017714268
+0.4330127018922 0.3540264126353
+1.2990381056767 0.0000009440546
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000004826
+-1.2990381056767 0.0000215903366
+-0.4330127018922 0.0675534943462
+0.4330127018922 0.3836081554344
+1.2990381056767 0.0000209990577
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock_ppm/vel[0]_x_[7][7].xg b/test/whisky_test_shock_ppm/vel[0]_x_[7][7].xg
new file mode 100644
index 0000000..30b59aa
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[0]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0001946578036
+-2.7500000000000 0.0001946578036
+-2.2500000000000 0.0001946578036
+-1.7500000000000 0.0001946578036
+-1.2500000000000 0.0058874760065
+-0.7500000000000 0.0829502892867
+-0.2500000000000 0.3076476424031
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043179386795
+1.2500000000000 0.0000039664694
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0006116299775
+-2.7500000000000 0.0006116299775
+-2.2500000000000 0.0006116299775
+-1.7500000000000 0.0006116299775
+-1.2500000000000 0.0167617698279
+-0.7500000000000 0.1257746246686
+-0.2500000000000 0.3427202366985
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0332723834415
+1.2500000000000 0.0000936998396
+1.7500000000000 0.0000000408466
+2.2500000000000 0.0000000000017
+2.7500000000000 0.0000000000017
+3.2500000000000 0.0000000000017
+3.7500000000000 0.0000000000017
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0015740886197
+-2.7500000000000 0.0015740886197
+-2.2500000000000 0.0015740886197
+-1.7500000000000 0.0015740886197
+-1.2500000000000 0.0367302548532
+-0.7500000000000 0.1615663003935
+-0.2500000000000 0.3605042644031
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1320994820566
+1.2500000000000 0.0012525302214
+1.7500000000000 0.0000012775355
+2.2500000000000 0.0000000001865
+2.7500000000000 0.0000000001865
+3.2500000000000 0.0000000001865
+3.7500000000000 0.0000000001865
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0035277651788
+-2.7500000000000 0.0035277651788
+-2.2500000000000 0.0035277651788
+-1.7500000000000 0.0035277651788
+-1.2500000000000 0.0686093181596
+-0.7500000000000 0.1863428597497
+-0.2500000000000 0.3678414713853
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2567531715959
+1.2500000000000 0.0131551537389
+1.7500000000000 0.0000254051148
+2.2500000000000 0.0000000050425
+2.7500000000000 0.0000000050425
+3.2500000000000 0.0000000050425
+3.7500000000000 0.0000000050425
diff --git a/test/whisky_test_shock_ppm/vel[0]_y_[7][7].xg b/test/whisky_test_shock_ppm/vel[0]_y_[7][7].xg
new file mode 100644
index 0000000..22ad5a9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[0]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0002566751320
+-2.7500000000000 0.0002566751320
+-2.2500000000000 0.0002566751320
+-1.7500000000000 0.0002566751320
+-1.2500000000000 0.0058736526654
+-0.7500000000000 0.0830285770178
+-0.2500000000000 0.3079045062227
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043156286180
+1.2500000000000 0.0000163087510
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0009061979342
+-2.7500000000000 0.0009061979342
+-2.2500000000000 0.0009061979342
+-1.7500000000000 0.0009061979342
+-1.2500000000000 0.0166012855983
+-0.7500000000000 0.1259445499269
+-0.2500000000000 0.3427956135144
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0329691751079
+1.2500000000000 0.0001982473084
+1.7500000000000 0.0000002782386
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0025903770371
+-2.7500000000000 0.0025903770371
+-2.2500000000000 0.0025903770371
+-1.7500000000000 0.0025903770371
+-1.2500000000000 0.0362044642778
+-0.7500000000000 0.1621216632981
+-0.2500000000000 0.3601446470993
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1313702794211
+1.2500000000000 0.0019115513391
+1.7500000000000 0.0000049310705
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0060848353955
+-2.7500000000000 0.0060848353955
+-2.2500000000000 0.0060848353955
+-1.7500000000000 0.0060848353955
+-1.2500000000000 0.0668350210579
+-0.7500000000000 0.1873673163013
+-0.2500000000000 0.3674334056809
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2565759960088
+1.2500000000000 0.0153197614179
+1.7500000000000 0.0000452392216
+2.2500000000000 0.0000000546583
+2.7500000000000 0.0000000546583
+3.2500000000000 0.0000000546583
+3.7500000000000 0.0000000546583
diff --git a/test/whisky_test_shock_ppm/vel[0]_z_[7][7].xg b/test/whisky_test_shock_ppm/vel[0]_z_[7][7].xg
new file mode 100644
index 0000000..22ad5a9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[0]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0002566751320
+-2.7500000000000 0.0002566751320
+-2.2500000000000 0.0002566751320
+-1.7500000000000 0.0002566751320
+-1.2500000000000 0.0058736526654
+-0.7500000000000 0.0830285770178
+-0.2500000000000 0.3079045062227
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043156286180
+1.2500000000000 0.0000163087510
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0009061979342
+-2.7500000000000 0.0009061979342
+-2.2500000000000 0.0009061979342
+-1.7500000000000 0.0009061979342
+-1.2500000000000 0.0166012855983
+-0.7500000000000 0.1259445499269
+-0.2500000000000 0.3427956135144
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0329691751079
+1.2500000000000 0.0001982473084
+1.7500000000000 0.0000002782386
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0025903770371
+-2.7500000000000 0.0025903770371
+-2.2500000000000 0.0025903770371
+-1.7500000000000 0.0025903770371
+-1.2500000000000 0.0362044642778
+-0.7500000000000 0.1621216632981
+-0.2500000000000 0.3601446470993
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1313702794211
+1.2500000000000 0.0019115513391
+1.7500000000000 0.0000049310705
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0060848353955
+-2.7500000000000 0.0060848353955
+-2.2500000000000 0.0060848353955
+-1.7500000000000 0.0060848353955
+-1.2500000000000 0.0668350210579
+-0.7500000000000 0.1873673163013
+-0.2500000000000 0.3674334056809
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2565759960088
+1.2500000000000 0.0153197614179
+1.7500000000000 0.0000452392216
+2.2500000000000 0.0000000546583
+2.7500000000000 0.0000000546583
+3.2500000000000 0.0000000546583
+3.7500000000000 0.0000000546583
diff --git a/test/whisky_test_shock_ppm/vel[1]_3D_diagonal.xg b/test/whisky_test_shock_ppm/vel[1]_3D_diagonal.xg
new file mode 100644
index 0000000..b32cbc9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[1]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0014080841979
+0.4330127018922 0.0550162074400
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0058018550940
+0.4330127018922 0.1911857576188
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000009546398
+-0.4330127018922 0.0165116077017
+0.4330127018922 0.2933967953739
+1.2990381056767 0.0000000269824
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000217
+-1.2990381056767 0.0000055526481
+-0.4330127018922 0.0362017714268
+0.4330127018922 0.3540264126353
+1.2990381056767 0.0000009440546
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000004826
+-1.2990381056767 0.0000215903366
+-0.4330127018922 0.0675534943462
+0.4330127018922 0.3836081554344
+1.2990381056767 0.0000209990577
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock_ppm/vel[1]_x_[7][7].xg b/test/whisky_test_shock_ppm/vel[1]_x_[7][7].xg
new file mode 100644
index 0000000..22ad5a9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[1]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0002566751320
+-2.7500000000000 0.0002566751320
+-2.2500000000000 0.0002566751320
+-1.7500000000000 0.0002566751320
+-1.2500000000000 0.0058736526654
+-0.7500000000000 0.0830285770178
+-0.2500000000000 0.3079045062227
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043156286180
+1.2500000000000 0.0000163087510
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0009061979342
+-2.7500000000000 0.0009061979342
+-2.2500000000000 0.0009061979342
+-1.7500000000000 0.0009061979342
+-1.2500000000000 0.0166012855983
+-0.7500000000000 0.1259445499269
+-0.2500000000000 0.3427956135144
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0329691751079
+1.2500000000000 0.0001982473084
+1.7500000000000 0.0000002782386
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0025903770371
+-2.7500000000000 0.0025903770371
+-2.2500000000000 0.0025903770371
+-1.7500000000000 0.0025903770371
+-1.2500000000000 0.0362044642778
+-0.7500000000000 0.1621216632981
+-0.2500000000000 0.3601446470993
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1313702794211
+1.2500000000000 0.0019115513391
+1.7500000000000 0.0000049310705
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0060848353955
+-2.7500000000000 0.0060848353955
+-2.2500000000000 0.0060848353955
+-1.7500000000000 0.0060848353955
+-1.2500000000000 0.0668350210579
+-0.7500000000000 0.1873673163013
+-0.2500000000000 0.3674334056809
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2565759960088
+1.2500000000000 0.0153197614179
+1.7500000000000 0.0000452392216
+2.2500000000000 0.0000000546583
+2.7500000000000 0.0000000546583
+3.2500000000000 0.0000000546583
+3.7500000000000 0.0000000546583
diff --git a/test/whisky_test_shock_ppm/vel[1]_y_[7][7].xg b/test/whisky_test_shock_ppm/vel[1]_y_[7][7].xg
new file mode 100644
index 0000000..30b59aa
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[1]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0001946578036
+-2.7500000000000 0.0001946578036
+-2.2500000000000 0.0001946578036
+-1.7500000000000 0.0001946578036
+-1.2500000000000 0.0058874760065
+-0.7500000000000 0.0829502892867
+-0.2500000000000 0.3076476424031
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043179386795
+1.2500000000000 0.0000039664694
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0006116299775
+-2.7500000000000 0.0006116299775
+-2.2500000000000 0.0006116299775
+-1.7500000000000 0.0006116299775
+-1.2500000000000 0.0167617698279
+-0.7500000000000 0.1257746246686
+-0.2500000000000 0.3427202366985
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0332723834415
+1.2500000000000 0.0000936998396
+1.7500000000000 0.0000000408466
+2.2500000000000 0.0000000000017
+2.7500000000000 0.0000000000017
+3.2500000000000 0.0000000000017
+3.7500000000000 0.0000000000017
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0015740886197
+-2.7500000000000 0.0015740886197
+-2.2500000000000 0.0015740886197
+-1.7500000000000 0.0015740886197
+-1.2500000000000 0.0367302548532
+-0.7500000000000 0.1615663003935
+-0.2500000000000 0.3605042644031
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1320994820566
+1.2500000000000 0.0012525302214
+1.7500000000000 0.0000012775355
+2.2500000000000 0.0000000001865
+2.7500000000000 0.0000000001865
+3.2500000000000 0.0000000001865
+3.7500000000000 0.0000000001865
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0035277651788
+-2.7500000000000 0.0035277651788
+-2.2500000000000 0.0035277651788
+-1.7500000000000 0.0035277651788
+-1.2500000000000 0.0686093181596
+-0.7500000000000 0.1863428597497
+-0.2500000000000 0.3678414713853
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2567531715959
+1.2500000000000 0.0131551537389
+1.7500000000000 0.0000254051148
+2.2500000000000 0.0000000050425
+2.7500000000000 0.0000000050425
+3.2500000000000 0.0000000050425
+3.7500000000000 0.0000000050425
diff --git a/test/whisky_test_shock_ppm/vel[1]_z_[7][7].xg b/test/whisky_test_shock_ppm/vel[1]_z_[7][7].xg
new file mode 100644
index 0000000..22ad5a9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[1]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0002566751320
+-2.7500000000000 0.0002566751320
+-2.2500000000000 0.0002566751320
+-1.7500000000000 0.0002566751320
+-1.2500000000000 0.0058736526654
+-0.7500000000000 0.0830285770178
+-0.2500000000000 0.3079045062227
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043156286180
+1.2500000000000 0.0000163087510
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0009061979342
+-2.7500000000000 0.0009061979342
+-2.2500000000000 0.0009061979342
+-1.7500000000000 0.0009061979342
+-1.2500000000000 0.0166012855983
+-0.7500000000000 0.1259445499269
+-0.2500000000000 0.3427956135144
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0329691751079
+1.2500000000000 0.0001982473084
+1.7500000000000 0.0000002782386
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0025903770371
+-2.7500000000000 0.0025903770371
+-2.2500000000000 0.0025903770371
+-1.7500000000000 0.0025903770371
+-1.2500000000000 0.0362044642778
+-0.7500000000000 0.1621216632981
+-0.2500000000000 0.3601446470993
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1313702794211
+1.2500000000000 0.0019115513391
+1.7500000000000 0.0000049310705
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0060848353955
+-2.7500000000000 0.0060848353955
+-2.2500000000000 0.0060848353955
+-1.7500000000000 0.0060848353955
+-1.2500000000000 0.0668350210579
+-0.7500000000000 0.1873673163013
+-0.2500000000000 0.3674334056809
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2565759960088
+1.2500000000000 0.0153197614179
+1.7500000000000 0.0000452392216
+2.2500000000000 0.0000000546583
+2.7500000000000 0.0000000546583
+3.2500000000000 0.0000000546583
+3.7500000000000 0.0000000546583
diff --git a/test/whisky_test_shock_ppm/vel[2]_3D_diagonal.xg b/test/whisky_test_shock_ppm/vel[2]_3D_diagonal.xg
new file mode 100644
index 0000000..b32cbc9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[2]_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0000000000000
+0.4330127018922 0.0000000000000
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0014080841979
+0.4330127018922 0.0550162074400
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000000000000
+-0.4330127018922 0.0058018550940
+0.4330127018922 0.1911857576188
+1.2990381056767 0.0000000000000
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000000
+-1.2990381056767 0.0000009546398
+-0.4330127018922 0.0165116077017
+0.4330127018922 0.2933967953739
+1.2990381056767 0.0000000269824
+2.1650635094611 0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000000217
+-1.2990381056767 0.0000055526481
+-0.4330127018922 0.0362017714268
+0.4330127018922 0.3540264126353
+1.2990381056767 0.0000009440546
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 0.0000000000000
+-4.7631397208144 0.0000000000000
+-3.8971143170300 0.0000000000000
+-3.0310889132455 0.0000000000000
+-2.1650635094611 0.0000000004826
+-1.2990381056767 0.0000215903366
+-0.4330127018922 0.0675534943462
+0.4330127018922 0.3836081554344
+1.2990381056767 0.0000209990577
+2.1650635094611 -0.0000000000000
+3.0310889132455 0.0000000000000
+3.8971143170300 0.0000000000000
+4.7631397208144 0.0000000000000
+5.6291651245989 0.0000000000000
+6.4951905283833 0.0000000000000
diff --git a/test/whisky_test_shock_ppm/vel[2]_x_[7][7].xg b/test/whisky_test_shock_ppm/vel[2]_x_[7][7].xg
new file mode 100644
index 0000000..22ad5a9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[2]_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0002566751320
+-2.7500000000000 0.0002566751320
+-2.2500000000000 0.0002566751320
+-1.7500000000000 0.0002566751320
+-1.2500000000000 0.0058736526654
+-0.7500000000000 0.0830285770178
+-0.2500000000000 0.3079045062227
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043156286180
+1.2500000000000 0.0000163087510
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0009061979342
+-2.7500000000000 0.0009061979342
+-2.2500000000000 0.0009061979342
+-1.7500000000000 0.0009061979342
+-1.2500000000000 0.0166012855983
+-0.7500000000000 0.1259445499269
+-0.2500000000000 0.3427956135144
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0329691751079
+1.2500000000000 0.0001982473084
+1.7500000000000 0.0000002782386
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0025903770371
+-2.7500000000000 0.0025903770371
+-2.2500000000000 0.0025903770371
+-1.7500000000000 0.0025903770371
+-1.2500000000000 0.0362044642778
+-0.7500000000000 0.1621216632981
+-0.2500000000000 0.3601446470993
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1313702794211
+1.2500000000000 0.0019115513391
+1.7500000000000 0.0000049310705
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0060848353955
+-2.7500000000000 0.0060848353955
+-2.2500000000000 0.0060848353955
+-1.7500000000000 0.0060848353955
+-1.2500000000000 0.0668350210579
+-0.7500000000000 0.1873673163013
+-0.2500000000000 0.3674334056809
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2565759960088
+1.2500000000000 0.0153197614179
+1.7500000000000 0.0000452392216
+2.2500000000000 0.0000000546583
+2.7500000000000 0.0000000546583
+3.2500000000000 0.0000000546583
+3.7500000000000 0.0000000546583
diff --git a/test/whisky_test_shock_ppm/vel[2]_y_[7][7].xg b/test/whisky_test_shock_ppm/vel[2]_y_[7][7].xg
new file mode 100644
index 0000000..22ad5a9
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[2]_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0002566751320
+-2.7500000000000 0.0002566751320
+-2.2500000000000 0.0002566751320
+-1.7500000000000 0.0002566751320
+-1.2500000000000 0.0058736526654
+-0.7500000000000 0.0830285770178
+-0.2500000000000 0.3079045062227
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043156286180
+1.2500000000000 0.0000163087510
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0009061979342
+-2.7500000000000 0.0009061979342
+-2.2500000000000 0.0009061979342
+-1.7500000000000 0.0009061979342
+-1.2500000000000 0.0166012855983
+-0.7500000000000 0.1259445499269
+-0.2500000000000 0.3427956135144
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0329691751079
+1.2500000000000 0.0001982473084
+1.7500000000000 0.0000002782386
+2.2500000000000 0.0000000000253
+2.7500000000000 0.0000000000253
+3.2500000000000 0.0000000000253
+3.7500000000000 0.0000000000253
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0025903770371
+-2.7500000000000 0.0025903770371
+-2.2500000000000 0.0025903770371
+-1.7500000000000 0.0025903770371
+-1.2500000000000 0.0362044642778
+-0.7500000000000 0.1621216632981
+-0.2500000000000 0.3601446470993
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1313702794211
+1.2500000000000 0.0019115513391
+1.7500000000000 0.0000049310705
+2.2500000000000 0.0000000020603
+2.7500000000000 0.0000000020603
+3.2500000000000 0.0000000020603
+3.7500000000000 0.0000000020603
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0060848353955
+-2.7500000000000 0.0060848353955
+-2.2500000000000 0.0060848353955
+-1.7500000000000 0.0060848353955
+-1.2500000000000 0.0668350210579
+-0.7500000000000 0.1873673163013
+-0.2500000000000 0.3674334056809
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2565759960088
+1.2500000000000 0.0153197614179
+1.7500000000000 0.0000452392216
+2.2500000000000 0.0000000546583
+2.7500000000000 0.0000000546583
+3.2500000000000 0.0000000546583
+3.7500000000000 0.0000000546583
diff --git a/test/whisky_test_shock_ppm/vel[2]_z_[7][7].xg b/test/whisky_test_shock_ppm/vel[2]_z_[7][7].xg
new file mode 100644
index 0000000..30b59aa
--- /dev/null
+++ b/test/whisky_test_shock_ppm/vel[2]_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0000000000000
+-0.7500000000000 0.0000000000000
+-0.2500000000000 0.0000000000000
+0.2500000000000 0.0000000000000
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 0.0000000000000
+-2.7500000000000 0.0000000000000
+-2.2500000000000 0.0000000000000
+-1.7500000000000 0.0000000000000
+-1.2500000000000 0.0014080841979
+-0.7500000000000 0.0392479056805
+-0.2500000000000 0.2371830448687
+0.2500000000000 0.0550162074400
+0.7500000000000 0.0000000000000
+1.2500000000000 0.0000000000000
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 0.0001946578036
+-2.7500000000000 0.0001946578036
+-2.2500000000000 0.0001946578036
+-1.7500000000000 0.0001946578036
+-1.2500000000000 0.0058874760065
+-0.7500000000000 0.0829502892867
+-0.2500000000000 0.3076476424031
+0.2500000000000 0.1911857576188
+0.7500000000000 0.0043179386795
+1.2500000000000 0.0000039664694
+1.7500000000000 0.0000000000000
+2.2500000000000 0.0000000000000
+2.7500000000000 0.0000000000000
+3.2500000000000 0.0000000000000
+3.7500000000000 0.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 0.0006116299775
+-2.7500000000000 0.0006116299775
+-2.2500000000000 0.0006116299775
+-1.7500000000000 0.0006116299775
+-1.2500000000000 0.0167617698279
+-0.7500000000000 0.1257746246686
+-0.2500000000000 0.3427202366985
+0.2500000000000 0.2933967953739
+0.7500000000000 0.0332723834415
+1.2500000000000 0.0000936998396
+1.7500000000000 0.0000000408466
+2.2500000000000 0.0000000000017
+2.7500000000000 0.0000000000017
+3.2500000000000 0.0000000000017
+3.7500000000000 0.0000000000017
+
+
+"Time = 0.5000000000000
+-3.2500000000000 0.0015740886197
+-2.7500000000000 0.0015740886197
+-2.2500000000000 0.0015740886197
+-1.7500000000000 0.0015740886197
+-1.2500000000000 0.0367302548532
+-0.7500000000000 0.1615663003935
+-0.2500000000000 0.3605042644031
+0.2500000000000 0.3540264126353
+0.7500000000000 0.1320994820566
+1.2500000000000 0.0012525302214
+1.7500000000000 0.0000012775355
+2.2500000000000 0.0000000001865
+2.7500000000000 0.0000000001865
+3.2500000000000 0.0000000001865
+3.7500000000000 0.0000000001865
+
+
+"Time = 0.6250000000000
+-3.2500000000000 0.0035277651788
+-2.7500000000000 0.0035277651788
+-2.2500000000000 0.0035277651788
+-1.7500000000000 0.0035277651788
+-1.2500000000000 0.0686093181596
+-0.7500000000000 0.1863428597497
+-0.2500000000000 0.3678414713853
+0.2500000000000 0.3836081554344
+0.7500000000000 0.2567531715959
+1.2500000000000 0.0131551537389
+1.7500000000000 0.0000254051148
+2.2500000000000 0.0000000050425
+2.7500000000000 0.0000000050425
+3.2500000000000 0.0000000050425
+3.7500000000000 0.0000000050425
diff --git a/test/whisky_test_shock_ppm/w_lorentz_3D_diagonal.xg b/test/whisky_test_shock_ppm/w_lorentz_3D_diagonal.xg
new file mode 100644
index 0000000..348d85f
--- /dev/null
+++ b/test/whisky_test_shock_ppm/w_lorentz_3D_diagonal.xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000000
+-0.4330127018922 1.0000000000000
+0.4330127018922 1.0000000000000
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.1250000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000000
+-0.4330127018922 1.0000029740649
+0.4330127018922 1.0045713302429
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.2500000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000000
+-0.4330127018922 1.0000504961083
+0.4330127018922 1.0597930749865
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.3750000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000014
+-0.4330127018922 1.0004092008143
+0.4330127018922 1.1611003876709
+1.2990381056767 1.0000000000000
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.5000000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000000462
+-0.4330127018922 1.0019716683036
+0.4330127018922 1.2659283703273
+1.2990381056767 1.0000000000013
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
+
+
+"Time = 0.6250000000000
+-5.6291651245989 1.0000000000000
+-4.7631397208144 1.0000000000000
+-3.8971143170300 1.0000000000000
+-3.0310889132455 1.0000000000000
+-2.1650635094611 1.0000000000000
+-1.2990381056767 1.0000000006992
+-0.4330127018922 1.0069163088759
+0.4330127018922 1.3380583623317
+1.2990381056767 1.0000000006614
+2.1650635094611 1.0000000000000
+3.0310889132455 1.0000000000000
+3.8971143170300 1.0000000000000
+4.7631397208144 1.0000000000000
+5.6291651245989 1.0000000000000
+6.4951905283833 1.0000000000000
diff --git a/test/whisky_test_shock_ppm/w_lorentz_x_[7][7].xg b/test/whisky_test_shock_ppm/w_lorentz_x_[7][7].xg
new file mode 100644
index 0000000..eb04c27
--- /dev/null
+++ b/test/whisky_test_shock_ppm/w_lorentz_x_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000000000000
+-0.7500000000000 1.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000029740649
+-0.7500000000000 1.0023186364044
+-0.2500000000000 1.0968284674757
+0.2500000000000 1.0045713302429
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.0000000848280
+-2.7500000000000 1.0000000848280
+-2.2500000000000 1.0000000848280
+-1.7500000000000 1.0000000848280
+-1.2500000000000 1.0000518350125
+-0.7500000000000 1.0104971207962
+-0.2500000000000 1.1820111665656
+0.2500000000000 1.0597930749865
+0.7500000000000 1.0000279481192
+1.2500000000000 1.0000000002738
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.0000010082418
+-2.7500000000000 1.0000010082418
+-2.2500000000000 1.0000010082418
+-1.7500000000000 1.0000010082418
+-1.2500000000000 1.0004163410129
+-0.7500000000000 1.0246543378150
+-0.2500000000000 1.2427153745528
+0.2500000000000 1.1611003876709
+0.7500000000000 1.0016445401486
+1.2500000000000 1.0000000436918
+1.7500000000000 1.0000000000001
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.0000079490255
+-2.7500000000000 1.0000079490255
+-2.2500000000000 1.0000079490255
+-1.7500000000000 1.0000079490255
+-1.2500000000000 1.0019912509130
+-0.7500000000000 1.0418195916188
+-0.2500000000000 1.2797098746656
+0.2500000000000 1.2659283703273
+0.7500000000000 1.0270419310788
+1.2500000000000 1.0000044384740
+1.7500000000000 1.0000000000251
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.0000432505911
+-2.7500000000000 1.0000432505911
+-2.2500000000000 1.0000432505911
+-1.7500000000000 1.0000432505911
+-1.2500000000000 1.0068911217538
+-0.7500000000000 1.0569954576015
+-0.2500000000000 1.2967583421289
+0.2500000000000 1.3380583623317
+0.7500000000000 1.1163500409232
+1.2500000000000 1.0003213789852
+1.7500000000000 1.0000000023693
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
diff --git a/test/whisky_test_shock_ppm/w_lorentz_y_[7][7].xg b/test/whisky_test_shock_ppm/w_lorentz_y_[7][7].xg
new file mode 100644
index 0000000..eb04c27
--- /dev/null
+++ b/test/whisky_test_shock_ppm/w_lorentz_y_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000000000000
+-0.7500000000000 1.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000029740649
+-0.7500000000000 1.0023186364044
+-0.2500000000000 1.0968284674757
+0.2500000000000 1.0045713302429
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.0000000848280
+-2.7500000000000 1.0000000848280
+-2.2500000000000 1.0000000848280
+-1.7500000000000 1.0000000848280
+-1.2500000000000 1.0000518350125
+-0.7500000000000 1.0104971207962
+-0.2500000000000 1.1820111665656
+0.2500000000000 1.0597930749865
+0.7500000000000 1.0000279481192
+1.2500000000000 1.0000000002738
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.0000010082418
+-2.7500000000000 1.0000010082418
+-2.2500000000000 1.0000010082418
+-1.7500000000000 1.0000010082418
+-1.2500000000000 1.0004163410129
+-0.7500000000000 1.0246543378150
+-0.2500000000000 1.2427153745528
+0.2500000000000 1.1611003876709
+0.7500000000000 1.0016445401486
+1.2500000000000 1.0000000436918
+1.7500000000000 1.0000000000001
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.0000079490255
+-2.7500000000000 1.0000079490255
+-2.2500000000000 1.0000079490255
+-1.7500000000000 1.0000079490255
+-1.2500000000000 1.0019912509130
+-0.7500000000000 1.0418195916188
+-0.2500000000000 1.2797098746656
+0.2500000000000 1.2659283703273
+0.7500000000000 1.0270419310788
+1.2500000000000 1.0000044384740
+1.7500000000000 1.0000000000251
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.0000432505911
+-2.7500000000000 1.0000432505911
+-2.2500000000000 1.0000432505911
+-1.7500000000000 1.0000432505911
+-1.2500000000000 1.0068911217538
+-0.7500000000000 1.0569954576015
+-0.2500000000000 1.2967583421289
+0.2500000000000 1.3380583623317
+0.7500000000000 1.1163500409232
+1.2500000000000 1.0003213789852
+1.7500000000000 1.0000000023693
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
diff --git a/test/whisky_test_shock_ppm/w_lorentz_z_[7][7].xg b/test/whisky_test_shock_ppm/w_lorentz_z_[7][7].xg
new file mode 100644
index 0000000..eb04c27
--- /dev/null
+++ b/test/whisky_test_shock_ppm/w_lorentz_z_[7][7].xg
@@ -0,0 +1,108 @@
+
+
+"Time = 0.0000000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000000000000
+-0.7500000000000 1.0000000000000
+-0.2500000000000 1.0000000000000
+0.2500000000000 1.0000000000000
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.1250000000000
+-3.2500000000000 1.0000000000000
+-2.7500000000000 1.0000000000000
+-2.2500000000000 1.0000000000000
+-1.7500000000000 1.0000000000000
+-1.2500000000000 1.0000029740649
+-0.7500000000000 1.0023186364044
+-0.2500000000000 1.0968284674757
+0.2500000000000 1.0045713302429
+0.7500000000000 1.0000000000000
+1.2500000000000 1.0000000000000
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.2500000000000
+-3.2500000000000 1.0000000848280
+-2.7500000000000 1.0000000848280
+-2.2500000000000 1.0000000848280
+-1.7500000000000 1.0000000848280
+-1.2500000000000 1.0000518350125
+-0.7500000000000 1.0104971207962
+-0.2500000000000 1.1820111665656
+0.2500000000000 1.0597930749865
+0.7500000000000 1.0000279481192
+1.2500000000000 1.0000000002738
+1.7500000000000 1.0000000000000
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.3750000000000
+-3.2500000000000 1.0000010082418
+-2.7500000000000 1.0000010082418
+-2.2500000000000 1.0000010082418
+-1.7500000000000 1.0000010082418
+-1.2500000000000 1.0004163410129
+-0.7500000000000 1.0246543378150
+-0.2500000000000 1.2427153745528
+0.2500000000000 1.1611003876709
+0.7500000000000 1.0016445401486
+1.2500000000000 1.0000000436918
+1.7500000000000 1.0000000000001
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.5000000000000
+-3.2500000000000 1.0000079490255
+-2.7500000000000 1.0000079490255
+-2.2500000000000 1.0000079490255
+-1.7500000000000 1.0000079490255
+-1.2500000000000 1.0019912509130
+-0.7500000000000 1.0418195916188
+-0.2500000000000 1.2797098746656
+0.2500000000000 1.2659283703273
+0.7500000000000 1.0270419310788
+1.2500000000000 1.0000044384740
+1.7500000000000 1.0000000000251
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
+
+
+"Time = 0.6250000000000
+-3.2500000000000 1.0000432505911
+-2.7500000000000 1.0000432505911
+-2.2500000000000 1.0000432505911
+-1.7500000000000 1.0000432505911
+-1.2500000000000 1.0068911217538
+-0.7500000000000 1.0569954576015
+-0.2500000000000 1.2967583421289
+0.2500000000000 1.3380583623317
+0.7500000000000 1.1163500409232
+1.2500000000000 1.0003213789852
+1.7500000000000 1.0000000023693
+2.2500000000000 1.0000000000000
+2.7500000000000 1.0000000000000
+3.2500000000000 1.0000000000000
+3.7500000000000 1.0000000000000
diff --git a/test/whisky_test_shock_ppm/whisky_test_shock_ppm.par b/test/whisky_test_shock_ppm/whisky_test_shock_ppm.par
new file mode 100644
index 0000000..3d14890
--- /dev/null
+++ b/test/whisky_test_shock_ppm/whisky_test_shock_ppm.par
@@ -0,0 +1,70 @@
+!DESC "Diagonal shocktube, RK2, Roe, PPM, Ideal Gas"
+
+ActiveThorns = "pugh pughreduce pughslab localreduce"
+
+cactus::cctk_itlast = 5
+
+driver::ghost_size = 3
+driver::global_nx = 15
+driver::global_ny = 15
+driver::global_nz = 15
+
+ActiveThorns = "coordbase symbase cartgrid3d boundary"
+
+grid::type = "BySpacing"
+grid::domain = "full"
+grid::dxyz = 0.5
+
+ActiveThorns = "time"
+
+time::dtfac = 0.25
+
+ActiveThorns = "ioutil ioascii iobasic"
+
+IO::out_fileinfo="none"
+IO::out_dir = "whisky_test_shock_ppm"
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon"
+
+ActiveThorns = "nanchecker mol"
+
+methodoflines::ode_method = "rk2"
+methodoflines::mol_intermediate_steps = 2
+
+ActiveThorns = "ADMBase StaticConformal SpaceMask CoordGauge ADMMacros ADMCoupling Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+ADMBase::evolution_method = "none"
+ADMBase::initial_shift = "none"
+ADMBase::metric_type = "physical"
+SpaceMask::use_mask = "yes"
+
+ActiveThorns = "eos_base eos_ideal_fluid eos_polytrope"
+
+EOS_Ideal_Fluid::eos_ideal_fluid_gamma = 1.66666666666666
+
+ActiveThorns = "hydrobase whisky"
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+whisky::riemann_solver = "Roe"
+whisky::whisky_eos_type = "General"
+whisky::whisky_eos_table = "Ideal_Fluid"
+whisky::whisky_stencil = 3
+whisky::recon_method = "ppm"
+whisky::bound = "flat"
+
+ActiveThorns = "whisky_init_data"
+
+whisky_init_data::whisky_initial_data = "shocktube"
+whisky_init_data::shocktube_type = "diagshock"
+whisky_init_data::shock_case = "Simple"
diff --git a/test/whisky_test_tov_ppm.par b/test/whisky_test_tov_ppm.par
new file mode 100644
index 0000000..9541d38
--- /dev/null
+++ b/test/whisky_test_tov_ppm.par
@@ -0,0 +1,80 @@
+!DESC "TOV from TOVSolverC, ICN, Marquina, PPM, Polytrope"
+
+ActiveThorns = "time MoL pugh pughreduce pughslab coordbase symbase cartgrid3d ioutil ioascii iobasic boundary admbase staticconformal spacemask admcoupling coordgauge admmacros hydrobase whisky whisky_init_data whisky_tovsolverc nanchecker eos_base eos_ideal_fluid eos_polytrope bssn_mol admconstraints Constants localreduce Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+time::dtfac = 0.375
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+admbase::evolution_method = "adm_bssn"
+admbase::lapse_evolution_method = "1+log"
+admbase::shift_evolution_method = "gamma0"
+
+adm_bssn::bound = "radiative"
+adm_bssn::harmonic_f = 2.0
+
+admconstraints::bound = "static"
+ADMConstraints::constraints_persist = yes
+
+boundary::radpower = 2
+
+SpaceMask::use_mask = "yes"
+
+grid::type = "byrange"
+grid::domain = "full"
+grid::xyzmin = -15.0
+grid::xyzmax = 15.001
+driver::ghost_size = 3
+driver::global_nsize = 33
+
+cactus::cctk_itlast = 7
+
+methodoflines::ode_method = "icn"
+
+whisky::riemann_solver = "Marquina"
+whisky::whisky_eos_type = "Polytype"
+whisky::whisky_eos_table = "2D_Polytrope"
+whisky::recon_method = "ppm"
+whisky::whisky_stencil = 3
+whisky::bound = "none"
+whisky::rho_abs_min = 1.e-7
+whisky::initial_atmosphere_factor = 0.999
+
+whisky::ppm_detect = "no"
+whisky::ppm_epsilon = 0.0
+whisky::ppm_omega1 = 0.52
+whisky::ppm_omega2 = 0.0
+whisky::ppm_epsilon_shock = 0.1
+whisky::ppm_eta1 = 5.0
+whisky::ppm_k0 = 0.2
+
+ADMBase::initial_data = "tov"
+ADMBase::initial_lapse = "tov"
+ADMBase::initial_shift = "tov"
+
+whiskytovsolver::TOV_Rho_Central[0] = 1.28e-3
+whiskytovsolver::TOV_Gamma[0] = 2.0
+whiskytovsolver::TOV_K[0] = 100.0
+whiskytovsolver::TOV_Combine_Method = "maximum"
+
+EOS_Polytrope::eos_gamma = 2.0
+EOS_Polytrope::eos_k = 100.0
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IO::out_fileinfo="none"
+IO::out_dir = "whisky_test_tov_ppm"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admbase::lapse admbase::metric admbase::curv admconstraints::ham admconstraints::momentum"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admconstraints::ham admconstraints::momentum"
+IOASCII::out_format = ".10e"
diff --git a/test/whisky_test_tov_ppm/alp_maximum.xg b/test/whisky_test_tov_ppm/alp_maximum.xg
new file mode 100644
index 0000000..402ce87
--- /dev/null
+++ b/test/whisky_test_tov_ppm/alp_maximum.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.9475253127427
+0.3515742187500 0.9475256961030
+0.7031484375000 0.9475256123426
+1.0547226562500 0.9475254131324
+1.4062968750000 0.9475251370773
+1.7578710937500 0.9475247572321
+2.1094453125000 0.9475242617344
+2.4610195312500 0.9475236545247
diff --git a/test/whisky_test_tov_ppm/alp_minimum.xg b/test/whisky_test_tov_ppm/alp_minimum.xg
new file mode 100644
index 0000000..c6442fe
--- /dev/null
+++ b/test/whisky_test_tov_ppm/alp_minimum.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.6698612280496
+0.3515742187500 0.6698436727904
+0.7031484375000 0.6697950081396
+1.0547226562500 0.6697215513869
+1.4062968750000 0.6696289456035
+1.7578710937500 0.6695217461425
+2.1094453125000 0.6694036119101
+2.4610195312500 0.6692777352852
diff --git a/test/whisky_test_tov_ppm/alp_norm1.xg b/test/whisky_test_tov_ppm/alp_norm1.xg
new file mode 100644
index 0000000..6db1c2d
--- /dev/null
+++ b/test/whisky_test_tov_ppm/alp_norm1.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.9005424762216
+0.3515742187500 0.9005428231886
+0.7031484375000 0.9005431546327
+1.0547226562500 0.9005436712041
+1.4062968750000 0.9005444148773
+1.7578710937500 0.9005453855493
+2.1094453125000 0.9005465804696
+2.4610195312500 0.9005480040208
diff --git a/test/whisky_test_tov_ppm/alp_norm2.xg b/test/whisky_test_tov_ppm/alp_norm2.xg
new file mode 100644
index 0000000..e42a254
--- /dev/null
+++ b/test/whisky_test_tov_ppm/alp_norm2.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.9013715518013
+0.3515742187500 0.9013719057702
+0.7031484375000 0.9013722440027
+1.0547226562500 0.9013727710357
+1.4062968750000 0.9013735295067
+1.7578710937500 0.9013745191769
+2.1094453125000 0.9013757371164
+2.4610195312500 0.9013771876524
diff --git a/test/whisky_test_tov_ppm/dens_3D_diagonal.xg b/test/whisky_test_tov_ppm/dens_3D_diagonal.xg
new file mode 100644
index 0000000..b7834a9
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 1.1862914062e-06
+-6.4945410093e+00 3.9297011325e-04
+-4.8706892506e+00 1.0678557184e-03
+-3.2468374920e+00 2.0777649045e-03
+-1.6229857333e+00 3.1848145041e-03
+8.6602540378e-04 3.7072030825e-03
+1.6247177841e+00 3.1838014950e-03
+3.2485695428e+00 2.0765504344e-03
+4.8724213015e+00 1.0669525769e-03
+6.4962730601e+00 3.9242016285e-04
+8.1201248188e+00 8.8223034108e-07
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 1.9631262518e-06
+-6.4945410093e+00 3.9296432660e-04
+-4.8706892506e+00 1.0678524388e-03
+-3.2468374920e+00 2.0777875591e-03
+-1.6229857333e+00 3.1872924146e-03
+8.6602540378e-04 3.7014083871e-03
+1.6247177841e+00 3.1862885482e-03
+3.2485695428e+00 2.0765733258e-03
+4.8724213015e+00 1.0669493130e-03
+6.4962730601e+00 3.9241436976e-04
+8.1201248188e+00 1.6644612404e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 2.7142471165e-06
+-6.4945410093e+00 3.9294663574e-04
+-4.8706892506e+00 1.0678446022e-03
+-3.2468374920e+00 2.0778481832e-03
+-1.6229857333e+00 3.1896586463e-03
+8.6602540378e-04 3.6955220619e-03
+1.6247177841e+00 3.1886634427e-03
+3.2485695428e+00 2.0766346319e-03
+4.8724213015e+00 1.0669415331e-03
+6.4962730601e+00 3.9239668477e-04
+8.1201248188e+00 2.4215603108e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 3.4386261450e-06
+-6.4945410093e+00 3.9291641161e-04
+-4.8706892506e+00 1.0678362274e-03
+-3.2468374920e+00 2.0779325329e-03
+-1.6229857333e+00 3.1918910142e-03
+8.6602540378e-04 3.6896333796e-03
+1.6247177841e+00 3.1909039438e-03
+3.2485695428e+00 2.0767200536e-03
+4.8724213015e+00 1.0669332743e-03
+6.4962730601e+00 3.9236650064e-04
+8.1201248188e+00 3.1525070673e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 4.1274159230e-06
+-6.4945410093e+00 3.9287259354e-04
+-4.8706892506e+00 1.0678317354e-03
+-3.2468374920e+00 2.0780253157e-03
+-1.6229857333e+00 3.1940010404e-03
+8.6602540378e-04 3.6837832048e-03
+1.6247177841e+00 3.1930169697e-03
+3.2485695428e+00 2.0768144645e-03
+4.8724213015e+00 1.0669288625e-03
+6.4962730601e+00 3.9232277404e-04
+8.1201248188e+00 3.8545172606e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 4.7768128886e-06
+-6.4945410093e+00 3.9281287571e-04
+-4.8706892506e+00 1.0678435538e-03
+-3.2468374920e+00 2.0781074836e-03
+-1.6229857333e+00 3.1960132808e-03
+8.6602540378e-04 3.6779382538e-03
+1.6247177841e+00 3.1950322166e-03
+3.2485695428e+00 2.0768990036e-03
+4.8724213015e+00 1.0669405519e-03
+6.4962730601e+00 3.9226325346e-04
+8.1201248188e+00 4.5173004966e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 5.3887027473e-06
+-6.4945410093e+00 3.9273282791e-04
+-4.8706892506e+00 1.0678832712e-03
+-3.2468374920e+00 2.0781702871e-03
+-1.6229857333e+00 3.1977795135e-03
+8.6602540378e-04 3.6722892104e-03
+1.6247177841e+00 3.1968126188e-03
+3.2485695428e+00 2.0769617513e-03
+4.8724213015e+00 1.0669801451e-03
+6.4962730601e+00 3.9218355956e-04
+8.1201248188e+00 5.1398040081e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 5.9738947059e-06
+-6.4945410093e+00 3.9263441759e-04
+-4.8706892506e+00 1.0679383350e-03
+-3.2468374920e+00 2.0782591743e-03
+-1.6229857333e+00 3.1992076036e-03
+8.6602540378e-04 3.6671481867e-03
+1.6247177841e+00 3.1982373735e-03
+3.2485695428e+00 2.0770526295e-03
+4.8724213015e+00 1.0670350058e-03
+6.4962730601e+00 3.9208547840e-04
+8.1201248188e+00 5.7291822416e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
diff --git a/test/whisky_test_tov_ppm/dens_maximum.xg b/test/whisky_test_tov_ppm/dens_maximum.xg
new file mode 100644
index 0000000..f246657
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_maximum.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0037072030825
+0.3515742187500 0.0037014083871
+0.7031484375000 0.0036955220619
+1.0547226562500 0.0036896333796
+1.4062968750000 0.0036837832048
+1.7578710937500 0.0036779382538
+2.1094453125000 0.0036722892104
+2.4610195312500 0.0036671481867
diff --git a/test/whisky_test_tov_ppm/dens_minimum.xg b/test/whisky_test_tov_ppm/dens_minimum.xg
new file mode 100644
index 0000000..1b543fe
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_minimum.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0000001171782
+0.3515742187500 0.0000001171782
+0.7031484375000 0.0000001171782
+1.0547226562500 0.0000001171782
+1.4062968750000 0.0000001171782
+1.7578710937500 0.0000001171782
+2.1094453125000 0.0000001171782
+2.4610195312500 0.0000001171782
diff --git a/test/whisky_test_tov_ppm/dens_norm1.xg b/test/whisky_test_tov_ppm/dens_norm1.xg
new file mode 100644
index 0000000..d0f04a2
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_norm1.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0000509784267
+0.3515742187500 0.0000509784267
+0.7031484375000 0.0000509784267
+1.0547226562500 0.0000509784267
+1.4062968750000 0.0000509784267
+1.7578710937500 0.0000509784267
+2.1094453125000 0.0000509784267
+2.4610195312500 0.0000509784267
diff --git a/test/whisky_test_tov_ppm/dens_norm2.xg b/test/whisky_test_tov_ppm/dens_norm2.xg
new file mode 100644
index 0000000..4f458c2
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_norm2.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0002699839971
+0.3515742187500 0.0002699764664
+0.7031484375000 0.0002699666136
+1.0547226562500 0.0002699544963
+1.4062968750000 0.0002699401615
+1.7578710937500 0.0002699236961
+2.1094453125000 0.0002699053197
+2.4610195312500 0.0002698850531
diff --git a/test/whisky_test_tov_ppm/dens_x_[16][16].xg b/test/whisky_test_tov_ppm/dens_x_[16][16].xg
new file mode 100644
index 0000000..b120283
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4815579870e-07
+-9.3748125000e+00 1.5389780837e-07
+-8.4372812500e+00 1.6116660709e-07
+-7.4997500000e+00 1.2386636971e-04
+-6.5622187500e+00 3.7172156546e-04
+-5.6246875000e+00 7.1289093645e-04
+-4.6871562500e+00 1.1658601330e-03
+-3.7496250000e+00 1.7343421185e-03
+-2.8120937500e+00 2.3861905287e-03
+-1.8745625000e+00 3.0311062063e-03
+-9.3703125000e-01 3.5218078087e-03
+5.0000000000e-04 3.7072030825e-03
+9.3803125000e-01 3.5214246401e-03
+1.8755625000e+00 3.0304710121e-03
+2.8130937500e+00 2.3854770107e-03
+3.7506250000e+00 1.7336810988e-03
+4.6881562500e+00 1.1653138020e-03
+5.6256875000e+00 7.1247004943e-04
+6.5632187500e+00 3.7141126902e-04
+7.5007500000e+00 1.2364422229e-04
+8.4382812500e+00 1.6115782720e-07
+9.3758125000e+00 1.5389096494e-07
+1.0313343750e+01 1.4815031936e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4811131585e-07
+-9.3748125000e+00 1.5421705014e-07
+-8.4372812500e+00 4.2339869211e-07
+-7.4997500000e+00 1.2347224823e-04
+-6.5622187500e+00 3.7140395142e-04
+-5.6246875000e+00 7.1228617468e-04
+-4.6871562500e+00 1.1648487263e-03
+-3.7496250000e+00 1.7327619467e-03
+-2.8120937500e+00 2.3838980929e-03
+-1.8745625000e+00 3.0280818712e-03
+-9.3703125000e-01 3.5191050085e-03
+5.0000000000e-04 3.7014083871e-03
+9.3803125000e-01 3.5187259785e-03
+1.8755625000e+00 3.0274475681e-03
+2.8130937500e+00 2.3831853914e-03
+3.7506250000e+00 1.7321016171e-03
+4.6881562500e+00 1.1643029144e-03
+5.6256875000e+00 7.1186564342e-04
+6.5632187500e+00 3.7109392139e-04
+7.5007500000e+00 1.2325126810e-04
+8.4382812500e+00 4.2237060140e-07
+9.3758125000e+00 1.5420862316e-07
+1.0313343750e+01 1.4810584041e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4797925950e-07
+-9.3748125000e+00 1.5497674873e-07
+-8.4372812500e+00 6.8277435950e-07
+-7.4997500000e+00 1.2309088718e-04
+-6.5622187500e+00 3.7110057799e-04
+-5.6246875000e+00 7.1167687140e-04
+-4.6871562500e+00 1.1638331927e-03
+-3.7496250000e+00 1.7311619217e-03
+-2.8120937500e+00 2.3815626880e-03
+-1.8745625000e+00 3.0250260497e-03
+-9.3703125000e-01 3.5162927119e-03
+5.0000000000e-04 3.6955220619e-03
+9.3803125000e-01 3.5159176144e-03
+1.8755625000e+00 3.0243928991e-03
+2.8130937500e+00 2.3808508586e-03
+3.7506250000e+00 1.7305023008e-03
+4.6881562500e+00 1.1632879102e-03
+5.6256875000e+00 7.1125669140e-04
+6.5632187500e+00 3.7079086418e-04
+7.5007500000e+00 1.2287102343e-04
+8.4382812500e+00 6.8073229368e-07
+9.3758125000e+00 1.5496491645e-07
+1.0313343750e+01 1.4797378963e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4776165282e-07
+-9.3748125000e+00 1.5603204880e-07
+-8.4372812500e+00 9.3926949917e-07
+-7.4997500000e+00 1.2272263660e-04
+-6.5622187500e+00 3.7081308250e-04
+-5.6246875000e+00 7.1106744178e-04
+-4.6871562500e+00 1.1628233583e-03
+-3.7496250000e+00 1.7295599833e-03
+-2.8120937500e+00 2.3792195953e-03
+-1.8745625000e+00 3.0219739665e-03
+-9.3703125000e-01 3.5134163554e-03
+5.0000000000e-04 3.6896333796e-03
+9.3803125000e-01 3.5130449536e-03
+1.8755625000e+00 3.0213421781e-03
+2.8130937500e+00 2.3785087027e-03
+3.7506250000e+00 1.7289010773e-03
+4.6881562500e+00 1.1622786079e-03
+5.6256875000e+00 7.1064760687e-04
+6.5632187500e+00 3.7050372940e-04
+7.5007500000e+00 1.2250383782e-04
+8.4382812500e+00 9.3621911281e-07
+9.3758125000e+00 1.5601563950e-07
+1.0313343750e+01 1.4775617890e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4746048545e-07
+-9.3748125000e+00 1.5734265965e-07
+-8.4372812500e+00 1.1926707324e-06
+-7.4997500000e+00 1.2236800030e-04
+-6.5622187500e+00 3.7054066242e-04
+-5.6246875000e+00 7.1045170665e-04
+-4.6871562500e+00 1.1618069731e-03
+-3.7496250000e+00 1.7279403146e-03
+-2.8120937500e+00 2.3768623747e-03
+-1.8745625000e+00 3.0189203733e-03
+-9.3703125000e-01 3.5104958461e-03
+5.0000000000e-04 3.6837832048e-03
+9.3803125000e-01 3.5101261709e-03
+1.8755625000e+00 3.0182902266e-03
+2.8130937500e+00 2.3761523785e-03
+3.7506250000e+00 1.7272821381e-03
+4.6881562500e+00 1.1612627629e-03
+5.6256875000e+00 7.1003221947e-04
+6.5632187500e+00 3.7023171588e-04
+7.5007500000e+00 1.2215021442e-04
+8.4382812500e+00 1.1886190828e-06
+9.3758125000e+00 1.5732022339e-07
+1.0313343750e+01 1.4745498903e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4707761402e-07
+-9.3748125000e+00 1.5885159971e-07
+-8.4372812500e+00 1.4427553343e-06
+-7.4997500000e+00 1.2202748560e-04
+-6.5622187500e+00 3.7028148429e-04
+-5.6246875000e+00 7.0983230145e-04
+-4.6871562500e+00 1.1607928344e-03
+-3.7496250000e+00 1.7263134786e-03
+-2.8120937500e+00 2.3745104933e-03
+-1.8745625000e+00 3.0158562394e-03
+-9.3703125000e-01 3.5075291748e-03
+5.0000000000e-04 3.6779382538e-03
+9.3803125000e-01 3.5071612021e-03
+1.8755625000e+00 3.0152281066e-03
+2.8130937500e+00 2.3738012236e-03
+3.7506250000e+00 1.7256561040e-03
+4.6881562500e+00 1.1602491664e-03
+5.6256875000e+00 7.0941315971e-04
+6.5632187500e+00 3.6997298302e-04
+7.5007500000e+00 1.2181066096e-04
+8.4382812500e+00 1.4377104825e-06
+9.3758125000e+00 1.5882141335e-07
+1.0313343750e+01 1.4707206768e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4661481067e-07
+-9.3748125000e+00 1.6048685269e-07
+-8.4372812500e+00 1.6893071754e-06
+-7.4997500000e+00 1.2170016648e-04
+-6.5622187500e+00 3.7003898465e-04
+-5.6246875000e+00 7.0921515714e-04
+-4.6871562500e+00 1.1597932030e-03
+-3.7496250000e+00 1.7246982627e-03
+-2.8120937500e+00 2.3722629011e-03
+-1.8745625000e+00 3.0128957903e-03
+-9.3703125000e-01 3.5046489984e-03
+5.0000000000e-04 3.6722892104e-03
+9.3803125000e-01 3.5042871012e-03
+1.8755625000e+00 3.0122691690e-03
+2.8130937500e+00 2.3715538131e-03
+3.7506250000e+00 1.7240418717e-03
+4.6881562500e+00 1.1592500788e-03
+5.6256875000e+00 7.0879635558e-04
+6.5632187500e+00 3.6973107692e-04
+7.5007500000e+00 1.2148425262e-04
+8.4382812500e+00 1.6832781057e-06
+9.3758125000e+00 1.6044778764e-07
+1.0313343750e+01 1.4660917881e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4607389542e-07
+-9.3748125000e+00 1.6227826881e-07
+-8.4372812500e+00 1.9320871657e-06
+-7.4997500000e+00 1.2138656874e-04
+-6.5622187500e+00 3.6982678036e-04
+-5.6246875000e+00 7.0860621371e-04
+-4.6871562500e+00 1.1588571264e-03
+-3.7496250000e+00 1.7232129409e-03
+-2.8120937500e+00 2.3702158820e-03
+-1.8745625000e+00 3.0101898683e-03
+-9.3703125000e-01 3.5019255721e-03
+5.0000000000e-04 3.6671481867e-03
+9.3803125000e-01 3.5015628241e-03
+1.8755625000e+00 3.0095649554e-03
+2.8130937500e+00 2.3695073485e-03
+3.7506250000e+00 1.7225572021e-03
+4.6881562500e+00 1.1583144577e-03
+5.6256875000e+00 7.0818774819e-04
+6.5632187500e+00 3.6951957187e-04
+7.5007500000e+00 1.2117151294e-04
+8.4382812500e+00 1.9250824592e-06
+9.3758125000e+00 1.6223088037e-07
+1.0313343750e+01 1.4606814082e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
diff --git a/test/whisky_test_tov_ppm/dens_y_[16][16].xg b/test/whisky_test_tov_ppm/dens_y_[16][16].xg
new file mode 100644
index 0000000..b120283
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4815579870e-07
+-9.3748125000e+00 1.5389780837e-07
+-8.4372812500e+00 1.6116660709e-07
+-7.4997500000e+00 1.2386636971e-04
+-6.5622187500e+00 3.7172156546e-04
+-5.6246875000e+00 7.1289093645e-04
+-4.6871562500e+00 1.1658601330e-03
+-3.7496250000e+00 1.7343421185e-03
+-2.8120937500e+00 2.3861905287e-03
+-1.8745625000e+00 3.0311062063e-03
+-9.3703125000e-01 3.5218078087e-03
+5.0000000000e-04 3.7072030825e-03
+9.3803125000e-01 3.5214246401e-03
+1.8755625000e+00 3.0304710121e-03
+2.8130937500e+00 2.3854770107e-03
+3.7506250000e+00 1.7336810988e-03
+4.6881562500e+00 1.1653138020e-03
+5.6256875000e+00 7.1247004943e-04
+6.5632187500e+00 3.7141126902e-04
+7.5007500000e+00 1.2364422229e-04
+8.4382812500e+00 1.6115782720e-07
+9.3758125000e+00 1.5389096494e-07
+1.0313343750e+01 1.4815031936e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4811131585e-07
+-9.3748125000e+00 1.5421705014e-07
+-8.4372812500e+00 4.2339869211e-07
+-7.4997500000e+00 1.2347224823e-04
+-6.5622187500e+00 3.7140395142e-04
+-5.6246875000e+00 7.1228617468e-04
+-4.6871562500e+00 1.1648487263e-03
+-3.7496250000e+00 1.7327619467e-03
+-2.8120937500e+00 2.3838980929e-03
+-1.8745625000e+00 3.0280818712e-03
+-9.3703125000e-01 3.5191050085e-03
+5.0000000000e-04 3.7014083871e-03
+9.3803125000e-01 3.5187259785e-03
+1.8755625000e+00 3.0274475681e-03
+2.8130937500e+00 2.3831853914e-03
+3.7506250000e+00 1.7321016171e-03
+4.6881562500e+00 1.1643029144e-03
+5.6256875000e+00 7.1186564342e-04
+6.5632187500e+00 3.7109392139e-04
+7.5007500000e+00 1.2325126810e-04
+8.4382812500e+00 4.2237060140e-07
+9.3758125000e+00 1.5420862316e-07
+1.0313343750e+01 1.4810584041e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4797925950e-07
+-9.3748125000e+00 1.5497674873e-07
+-8.4372812500e+00 6.8277435950e-07
+-7.4997500000e+00 1.2309088718e-04
+-6.5622187500e+00 3.7110057799e-04
+-5.6246875000e+00 7.1167687140e-04
+-4.6871562500e+00 1.1638331927e-03
+-3.7496250000e+00 1.7311619217e-03
+-2.8120937500e+00 2.3815626880e-03
+-1.8745625000e+00 3.0250260497e-03
+-9.3703125000e-01 3.5162927119e-03
+5.0000000000e-04 3.6955220619e-03
+9.3803125000e-01 3.5159176144e-03
+1.8755625000e+00 3.0243928991e-03
+2.8130937500e+00 2.3808508586e-03
+3.7506250000e+00 1.7305023008e-03
+4.6881562500e+00 1.1632879102e-03
+5.6256875000e+00 7.1125669140e-04
+6.5632187500e+00 3.7079086418e-04
+7.5007500000e+00 1.2287102343e-04
+8.4382812500e+00 6.8073229368e-07
+9.3758125000e+00 1.5496491645e-07
+1.0313343750e+01 1.4797378963e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4776165282e-07
+-9.3748125000e+00 1.5603204880e-07
+-8.4372812500e+00 9.3926949917e-07
+-7.4997500000e+00 1.2272263660e-04
+-6.5622187500e+00 3.7081308250e-04
+-5.6246875000e+00 7.1106744178e-04
+-4.6871562500e+00 1.1628233583e-03
+-3.7496250000e+00 1.7295599833e-03
+-2.8120937500e+00 2.3792195953e-03
+-1.8745625000e+00 3.0219739665e-03
+-9.3703125000e-01 3.5134163554e-03
+5.0000000000e-04 3.6896333796e-03
+9.3803125000e-01 3.5130449536e-03
+1.8755625000e+00 3.0213421781e-03
+2.8130937500e+00 2.3785087027e-03
+3.7506250000e+00 1.7289010773e-03
+4.6881562500e+00 1.1622786079e-03
+5.6256875000e+00 7.1064760687e-04
+6.5632187500e+00 3.7050372940e-04
+7.5007500000e+00 1.2250383782e-04
+8.4382812500e+00 9.3621911281e-07
+9.3758125000e+00 1.5601563950e-07
+1.0313343750e+01 1.4775617890e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4746048545e-07
+-9.3748125000e+00 1.5734265965e-07
+-8.4372812500e+00 1.1926707324e-06
+-7.4997500000e+00 1.2236800030e-04
+-6.5622187500e+00 3.7054066242e-04
+-5.6246875000e+00 7.1045170665e-04
+-4.6871562500e+00 1.1618069731e-03
+-3.7496250000e+00 1.7279403146e-03
+-2.8120937500e+00 2.3768623747e-03
+-1.8745625000e+00 3.0189203733e-03
+-9.3703125000e-01 3.5104958461e-03
+5.0000000000e-04 3.6837832048e-03
+9.3803125000e-01 3.5101261709e-03
+1.8755625000e+00 3.0182902266e-03
+2.8130937500e+00 2.3761523785e-03
+3.7506250000e+00 1.7272821381e-03
+4.6881562500e+00 1.1612627629e-03
+5.6256875000e+00 7.1003221947e-04
+6.5632187500e+00 3.7023171588e-04
+7.5007500000e+00 1.2215021442e-04
+8.4382812500e+00 1.1886190828e-06
+9.3758125000e+00 1.5732022339e-07
+1.0313343750e+01 1.4745498903e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4707761402e-07
+-9.3748125000e+00 1.5885159971e-07
+-8.4372812500e+00 1.4427553343e-06
+-7.4997500000e+00 1.2202748560e-04
+-6.5622187500e+00 3.7028148429e-04
+-5.6246875000e+00 7.0983230145e-04
+-4.6871562500e+00 1.1607928344e-03
+-3.7496250000e+00 1.7263134786e-03
+-2.8120937500e+00 2.3745104933e-03
+-1.8745625000e+00 3.0158562394e-03
+-9.3703125000e-01 3.5075291748e-03
+5.0000000000e-04 3.6779382538e-03
+9.3803125000e-01 3.5071612021e-03
+1.8755625000e+00 3.0152281066e-03
+2.8130937500e+00 2.3738012236e-03
+3.7506250000e+00 1.7256561040e-03
+4.6881562500e+00 1.1602491664e-03
+5.6256875000e+00 7.0941315971e-04
+6.5632187500e+00 3.6997298302e-04
+7.5007500000e+00 1.2181066096e-04
+8.4382812500e+00 1.4377104825e-06
+9.3758125000e+00 1.5882141335e-07
+1.0313343750e+01 1.4707206768e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4661481067e-07
+-9.3748125000e+00 1.6048685269e-07
+-8.4372812500e+00 1.6893071754e-06
+-7.4997500000e+00 1.2170016648e-04
+-6.5622187500e+00 3.7003898465e-04
+-5.6246875000e+00 7.0921515714e-04
+-4.6871562500e+00 1.1597932030e-03
+-3.7496250000e+00 1.7246982627e-03
+-2.8120937500e+00 2.3722629011e-03
+-1.8745625000e+00 3.0128957903e-03
+-9.3703125000e-01 3.5046489984e-03
+5.0000000000e-04 3.6722892104e-03
+9.3803125000e-01 3.5042871012e-03
+1.8755625000e+00 3.0122691690e-03
+2.8130937500e+00 2.3715538131e-03
+3.7506250000e+00 1.7240418717e-03
+4.6881562500e+00 1.1592500788e-03
+5.6256875000e+00 7.0879635558e-04
+6.5632187500e+00 3.6973107692e-04
+7.5007500000e+00 1.2148425262e-04
+8.4382812500e+00 1.6832781057e-06
+9.3758125000e+00 1.6044778764e-07
+1.0313343750e+01 1.4660917881e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4607389542e-07
+-9.3748125000e+00 1.6227826881e-07
+-8.4372812500e+00 1.9320871657e-06
+-7.4997500000e+00 1.2138656874e-04
+-6.5622187500e+00 3.6982678036e-04
+-5.6246875000e+00 7.0860621371e-04
+-4.6871562500e+00 1.1588571264e-03
+-3.7496250000e+00 1.7232129409e-03
+-2.8120937500e+00 2.3702158820e-03
+-1.8745625000e+00 3.0101898683e-03
+-9.3703125000e-01 3.5019255721e-03
+5.0000000000e-04 3.6671481867e-03
+9.3803125000e-01 3.5015628241e-03
+1.8755625000e+00 3.0095649554e-03
+2.8130937500e+00 2.3695073485e-03
+3.7506250000e+00 1.7225572021e-03
+4.6881562500e+00 1.1583144577e-03
+5.6256875000e+00 7.0818774819e-04
+6.5632187500e+00 3.6951957187e-04
+7.5007500000e+00 1.2117151294e-04
+8.4382812500e+00 1.9250824592e-06
+9.3758125000e+00 1.6223088037e-07
+1.0313343750e+01 1.4606814082e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
diff --git a/test/whisky_test_tov_ppm/dens_z_[16][16].xg b/test/whisky_test_tov_ppm/dens_z_[16][16].xg
new file mode 100644
index 0000000..b120283
--- /dev/null
+++ b/test/whisky_test_tov_ppm/dens_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4815579870e-07
+-9.3748125000e+00 1.5389780837e-07
+-8.4372812500e+00 1.6116660709e-07
+-7.4997500000e+00 1.2386636971e-04
+-6.5622187500e+00 3.7172156546e-04
+-5.6246875000e+00 7.1289093645e-04
+-4.6871562500e+00 1.1658601330e-03
+-3.7496250000e+00 1.7343421185e-03
+-2.8120937500e+00 2.3861905287e-03
+-1.8745625000e+00 3.0311062063e-03
+-9.3703125000e-01 3.5218078087e-03
+5.0000000000e-04 3.7072030825e-03
+9.3803125000e-01 3.5214246401e-03
+1.8755625000e+00 3.0304710121e-03
+2.8130937500e+00 2.3854770107e-03
+3.7506250000e+00 1.7336810988e-03
+4.6881562500e+00 1.1653138020e-03
+5.6256875000e+00 7.1247004943e-04
+6.5632187500e+00 3.7141126902e-04
+7.5007500000e+00 1.2364422229e-04
+8.4382812500e+00 1.6115782720e-07
+9.3758125000e+00 1.5389096494e-07
+1.0313343750e+01 1.4815031936e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4811131585e-07
+-9.3748125000e+00 1.5421705014e-07
+-8.4372812500e+00 4.2339869211e-07
+-7.4997500000e+00 1.2347224823e-04
+-6.5622187500e+00 3.7140395142e-04
+-5.6246875000e+00 7.1228617468e-04
+-4.6871562500e+00 1.1648487263e-03
+-3.7496250000e+00 1.7327619467e-03
+-2.8120937500e+00 2.3838980929e-03
+-1.8745625000e+00 3.0280818712e-03
+-9.3703125000e-01 3.5191050085e-03
+5.0000000000e-04 3.7014083871e-03
+9.3803125000e-01 3.5187259785e-03
+1.8755625000e+00 3.0274475681e-03
+2.8130937500e+00 2.3831853914e-03
+3.7506250000e+00 1.7321016171e-03
+4.6881562500e+00 1.1643029144e-03
+5.6256875000e+00 7.1186564342e-04
+6.5632187500e+00 3.7109392139e-04
+7.5007500000e+00 1.2325126810e-04
+8.4382812500e+00 4.2237060140e-07
+9.3758125000e+00 1.5420862316e-07
+1.0313343750e+01 1.4810584041e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4797925950e-07
+-9.3748125000e+00 1.5497674873e-07
+-8.4372812500e+00 6.8277435950e-07
+-7.4997500000e+00 1.2309088718e-04
+-6.5622187500e+00 3.7110057799e-04
+-5.6246875000e+00 7.1167687140e-04
+-4.6871562500e+00 1.1638331927e-03
+-3.7496250000e+00 1.7311619217e-03
+-2.8120937500e+00 2.3815626880e-03
+-1.8745625000e+00 3.0250260497e-03
+-9.3703125000e-01 3.5162927119e-03
+5.0000000000e-04 3.6955220619e-03
+9.3803125000e-01 3.5159176144e-03
+1.8755625000e+00 3.0243928991e-03
+2.8130937500e+00 2.3808508586e-03
+3.7506250000e+00 1.7305023008e-03
+4.6881562500e+00 1.1632879102e-03
+5.6256875000e+00 7.1125669140e-04
+6.5632187500e+00 3.7079086418e-04
+7.5007500000e+00 1.2287102343e-04
+8.4382812500e+00 6.8073229368e-07
+9.3758125000e+00 1.5496491645e-07
+1.0313343750e+01 1.4797378963e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4776165282e-07
+-9.3748125000e+00 1.5603204880e-07
+-8.4372812500e+00 9.3926949917e-07
+-7.4997500000e+00 1.2272263660e-04
+-6.5622187500e+00 3.7081308250e-04
+-5.6246875000e+00 7.1106744178e-04
+-4.6871562500e+00 1.1628233583e-03
+-3.7496250000e+00 1.7295599833e-03
+-2.8120937500e+00 2.3792195953e-03
+-1.8745625000e+00 3.0219739665e-03
+-9.3703125000e-01 3.5134163554e-03
+5.0000000000e-04 3.6896333796e-03
+9.3803125000e-01 3.5130449536e-03
+1.8755625000e+00 3.0213421781e-03
+2.8130937500e+00 2.3785087027e-03
+3.7506250000e+00 1.7289010773e-03
+4.6881562500e+00 1.1622786079e-03
+5.6256875000e+00 7.1064760687e-04
+6.5632187500e+00 3.7050372940e-04
+7.5007500000e+00 1.2250383782e-04
+8.4382812500e+00 9.3621911281e-07
+9.3758125000e+00 1.5601563950e-07
+1.0313343750e+01 1.4775617890e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4746048545e-07
+-9.3748125000e+00 1.5734265965e-07
+-8.4372812500e+00 1.1926707324e-06
+-7.4997500000e+00 1.2236800030e-04
+-6.5622187500e+00 3.7054066242e-04
+-5.6246875000e+00 7.1045170665e-04
+-4.6871562500e+00 1.1618069731e-03
+-3.7496250000e+00 1.7279403146e-03
+-2.8120937500e+00 2.3768623747e-03
+-1.8745625000e+00 3.0189203733e-03
+-9.3703125000e-01 3.5104958461e-03
+5.0000000000e-04 3.6837832048e-03
+9.3803125000e-01 3.5101261709e-03
+1.8755625000e+00 3.0182902266e-03
+2.8130937500e+00 2.3761523785e-03
+3.7506250000e+00 1.7272821381e-03
+4.6881562500e+00 1.1612627629e-03
+5.6256875000e+00 7.1003221947e-04
+6.5632187500e+00 3.7023171588e-04
+7.5007500000e+00 1.2215021442e-04
+8.4382812500e+00 1.1886190828e-06
+9.3758125000e+00 1.5732022339e-07
+1.0313343750e+01 1.4745498903e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4707761402e-07
+-9.3748125000e+00 1.5885159971e-07
+-8.4372812500e+00 1.4427553343e-06
+-7.4997500000e+00 1.2202748560e-04
+-6.5622187500e+00 3.7028148429e-04
+-5.6246875000e+00 7.0983230145e-04
+-4.6871562500e+00 1.1607928344e-03
+-3.7496250000e+00 1.7263134786e-03
+-2.8120937500e+00 2.3745104933e-03
+-1.8745625000e+00 3.0158562394e-03
+-9.3703125000e-01 3.5075291748e-03
+5.0000000000e-04 3.6779382538e-03
+9.3803125000e-01 3.5071612021e-03
+1.8755625000e+00 3.0152281066e-03
+2.8130937500e+00 2.3738012236e-03
+3.7506250000e+00 1.7256561040e-03
+4.6881562500e+00 1.1602491664e-03
+5.6256875000e+00 7.0941315971e-04
+6.5632187500e+00 3.6997298302e-04
+7.5007500000e+00 1.2181066096e-04
+8.4382812500e+00 1.4377104825e-06
+9.3758125000e+00 1.5882141335e-07
+1.0313343750e+01 1.4707206768e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4661481067e-07
+-9.3748125000e+00 1.6048685269e-07
+-8.4372812500e+00 1.6893071754e-06
+-7.4997500000e+00 1.2170016648e-04
+-6.5622187500e+00 3.7003898465e-04
+-5.6246875000e+00 7.0921515714e-04
+-4.6871562500e+00 1.1597932030e-03
+-3.7496250000e+00 1.7246982627e-03
+-2.8120937500e+00 2.3722629011e-03
+-1.8745625000e+00 3.0128957903e-03
+-9.3703125000e-01 3.5046489984e-03
+5.0000000000e-04 3.6722892104e-03
+9.3803125000e-01 3.5042871012e-03
+1.8755625000e+00 3.0122691690e-03
+2.8130937500e+00 2.3715538131e-03
+3.7506250000e+00 1.7240418717e-03
+4.6881562500e+00 1.1592500788e-03
+5.6256875000e+00 7.0879635558e-04
+6.5632187500e+00 3.6973107692e-04
+7.5007500000e+00 1.2148425262e-04
+8.4382812500e+00 1.6832781057e-06
+9.3758125000e+00 1.6044778764e-07
+1.0313343750e+01 1.4660917881e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4607389542e-07
+-9.3748125000e+00 1.6227826881e-07
+-8.4372812500e+00 1.9320871657e-06
+-7.4997500000e+00 1.2138656874e-04
+-6.5622187500e+00 3.6982678036e-04
+-5.6246875000e+00 7.0860621371e-04
+-4.6871562500e+00 1.1588571264e-03
+-3.7496250000e+00 1.7232129409e-03
+-2.8120937500e+00 2.3702158820e-03
+-1.8745625000e+00 3.0101898683e-03
+-9.3703125000e-01 3.5019255721e-03
+5.0000000000e-04 3.6671481867e-03
+9.3803125000e-01 3.5015628241e-03
+1.8755625000e+00 3.0095649554e-03
+2.8130937500e+00 2.3695073485e-03
+3.7506250000e+00 1.7225572021e-03
+4.6881562500e+00 1.1583144577e-03
+5.6256875000e+00 7.0818774819e-04
+6.5632187500e+00 3.6951957187e-04
+7.5007500000e+00 1.2117151294e-04
+8.4382812500e+00 1.9250824592e-06
+9.3758125000e+00 1.6223088037e-07
+1.0313343750e+01 1.4606814082e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
diff --git a/test/whisky_test_tov_ppm/eps_3D_diagonal.xg b/test/whisky_test_tov_ppm/eps_3D_diagonal.xg
new file mode 100644
index 0000000..73fb9aa
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 7.2219006219e-05
+-6.4945410093e+00 2.1373637815e-02
+-4.8706892506e+00 5.0455351209e-02
+-3.2468374920e+00 8.4649304100e-02
+-1.6229857333e+00 1.1520020591e-01
+8.6602540378e-04 1.2799999584e-01
+1.6247177841e+00 1.1517452780e-01
+3.2485695428e+00 8.4612544773e-02
+4.8724213015e+00 5.0420704352e-02
+6.4962730601e+00 2.1346660210e-02
+8.1201248188e+00 5.3713844673e-05
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 1.1950924101e-04
+-6.4945410093e+00 2.1373294371e-02
+-4.8706892506e+00 5.0455182021e-02
+-3.2468374920e+00 8.4650452027e-02
+-1.6229857333e+00 1.1529068559e-01
+8.6602540378e-04 1.2780104199e-01
+1.6247177841e+00 1.1526534614e-01
+3.2485695428e+00 8.4613702029e-02
+4.8724213015e+00 5.0420535786e-02
+6.4962730601e+00 2.1346316400e-02
+8.1201248188e+00 1.0133699399e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 1.6523242962e-04
+-6.4945410093e+00 2.1372248700e-02
+-4.8706892506e+00 5.0454775616e-02
+-3.2468374920e+00 8.4653595908e-02
+-1.6229857333e+00 1.1537882768e-01
+8.6602540378e-04 1.2760090563e-01
+1.6247177841e+00 1.1535380826e-01
+3.2485695428e+00 8.4616872749e-02
+4.8724213015e+00 5.0420131727e-02
+6.4962730601e+00 2.1345270989e-02
+8.1201248188e+00 1.4742856633e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 2.0932699977e-04
+-6.4945410093e+00 2.1370469148e-02
+-4.8706892506e+00 5.0454334792e-02
+-3.2468374920e+00 8.4658158875e-02
+-1.6229857333e+00 1.1546378388e-01
+8.6602540378e-04 1.2740225734e-01
+1.6247177841e+00 1.1543906450e-01
+3.2485695428e+00 8.4621477858e-02
+4.8724213015e+00 5.0419695867e-02
+6.4962730601e+00 2.1343493498e-02
+8.1201248188e+00 1.9192752059e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 2.5125449198e-04
+-6.4945410093e+00 2.1367891665e-02
+-4.8706892506e+00 5.0454089168e-02
+-3.2468374920e+00 8.4663520435e-02
+-1.6229857333e+00 1.1554577678e-01
+8.6602540378e-04 1.2720614192e-01
+1.6247177841e+00 1.1552117124e-01
+3.2485695428e+00 8.4626903765e-02
+4.8724213015e+00 5.0419453373e-02
+6.4962730601e+00 2.1340920830e-02
+8.1201248188e+00 2.3466431018e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 2.9078292216e-04
+-6.4945410093e+00 2.1364378071e-02
+-4.8706892506e+00 5.0454652917e-02
+-3.2468374920e+00 8.4668897515e-02
+-1.6229857333e+00 1.1562537040e-01
+8.6602540378e-04 1.2701111523e-01
+1.6247177841e+00 1.1560087858e-01
+3.2485695428e+00 8.4632375156e-02
+4.8724213015e+00 5.0420010320e-02
+6.4962730601e+00 2.1337417786e-02
+8.1201248188e+00 2.7501214495e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 3.2802672781e-04
+-6.4945410093e+00 2.1359689569e-02
+-4.8706892506e+00 5.0456602633e-02
+-3.2468374920e+00 8.4673904926e-02
+-1.6229857333e+00 1.1569679078e-01
+8.6602540378e-04 1.2682352636e-01
+1.6247177841e+00 1.1567281588e-01
+3.2485695428e+00 8.4637377910e-02
+4.8724213015e+00 5.0421953505e-02
+6.4962730601e+00 2.1332748273e-02
+8.1201248188e+00 3.1290649862e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 3.6364365576e-04
+-6.4945410093e+00 2.1353964292e-02
+-4.8706892506e+00 5.0459367773e-02
+-3.2468374920e+00 8.4680335082e-02
+-1.6229857333e+00 1.1575625864e-01
+8.6602540378e-04 1.2665395081e-01
+1.6247177841e+00 1.1573216682e-01
+3.2485695428e+00 8.4643887131e-02
+4.8724213015e+00 5.0424708348e-02
+6.4962730601e+00 2.1327040473e-02
+8.1201248188e+00 3.4878259997e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm/eps_maximum.xg b/test/whisky_test_tov_ppm/eps_maximum.xg
new file mode 100644
index 0000000..cb77c27
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_maximum.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.1279999958351
+0.3515742187500 0.1278010419894
+0.7031484375000 0.1276009056282
+1.0547226562500 0.1274022573393
+1.4062968750000 0.1272061419210
+1.7578710937500 0.1270111152343
+2.1094453125000 0.1268235263578
+2.4610195312500 0.1266539508090
diff --git a/test/whisky_test_tov_ppm/eps_minimum.xg b/test/whisky_test_tov_ppm/eps_minimum.xg
new file mode 100644
index 0000000..4b1b36c
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_minimum.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.0000100000000
+0.3515742187500 0.0000100000000
+0.7031484375000 0.0000100000000
+1.0547226562500 0.0000100000000
+1.4062968750000 0.0000100000000
+1.7578710937500 0.0000100000000
+2.1094453125000 0.0000100000000
+2.4610195312500 0.0000100000000
diff --git a/test/whisky_test_tov_ppm/eps_norm1.xg b/test/whisky_test_tov_ppm/eps_norm1.xg
new file mode 100644
index 0000000..ef40822
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_norm1.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.0023465361261
+0.3515742187500 0.0023465644931
+0.7031484375000 0.0023466042797
+1.0547226562500 0.0023466546742
+1.4062968750000 0.0023467150517
+1.7578710937500 0.0023467846500
+2.1094453125000 0.0023468624020
+2.4610195312500 0.0023469474648
diff --git a/test/whisky_test_tov_ppm/eps_norm2.xg b/test/whisky_test_tov_ppm/eps_norm2.xg
new file mode 100644
index 0000000..93c777b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_norm2.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.0114469034947
+0.3515742187500 0.0114465805770
+0.7031484375000 0.0114462445833
+1.0547226562500 0.0114458925650
+1.4062968750000 0.0114455202011
+1.7578710937500 0.0114451222680
+2.1094453125000 0.0114446951391
+2.4610195312500 0.0114442297734
diff --git a/test/whisky_test_tov_ppm/eps_x_[16][16].xg b/test/whisky_test_tov_ppm/eps_x_[16][16].xg
new file mode 100644
index 0000000..bc76070
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0000000000e-05
+-8.4372812500e+00 1.0000000000e-05
+-7.4997500000e+00 7.2529424086e-03
+-6.5622187500e+00 2.0326313159e-02
+-5.6246875000e+00 3.6049890672e-02
+-4.6871562500e+00 5.4161822971e-02
+-3.7496250000e+00 7.3893919065e-02
+-2.8120937500e+00 9.3724408138e-02
+-1.8745625000e+00 1.1126260974e-01
+-9.3703125000e-01 1.2355413765e-01
+5.0000000000e-04 1.2799999584e-01
+9.3803125000e-01 1.2354484331e-01
+1.8755625000e+00 1.1124616148e-01
+2.8130937500e+00 9.3703980883e-02
+3.7506250000e+00 7.3872471271e-02
+4.6881562500e+00 5.4141445771e-02
+5.6256875000e+00 3.6031764555e-02
+6.5632187500e+00 2.0310942344e-02
+7.5007500000e+00 7.2404201366e-03
+8.4382812500e+00 1.0000000000e-05
+9.3758125000e+00 1.0000000000e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0010655644e-05
+-8.4372812500e+00 2.6241155235e-05
+-7.4997500000e+00 7.2298671848e-03
+-6.5622187500e+00 2.0308959760e-02
+-5.6246875000e+00 3.6019340229e-02
+-4.6871562500e+00 5.4114907409e-02
+-3.7496250000e+00 7.3826761295e-02
+-2.8120937500e+00 9.3634734507e-02
+-1.8745625000e+00 1.1115227820e-01
+-9.3703125000e-01 1.2346033836e-01
+5.0000000000e-04 1.2780104199e-01
+9.3803125000e-01 1.2345118579e-01
+1.8755625000e+00 1.1113585542e-01
+2.8130937500e+00 9.3614331742e-02
+3.7506250000e+00 7.3805336636e-02
+4.6881562500e+00 5.4094549924e-02
+5.6256875000e+00 3.6001229398e-02
+6.5632187500e+00 2.0293602135e-02
+7.5007500000e+00 7.2174116966e-03
+8.4382812500e+00 2.6178887118e-05
+9.3758125000e+00 1.0010553775e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0059768001e-05
+-8.4372812500e+00 4.2315251095e-05
+-7.4997500000e+00 7.2075415022e-03
+-6.5622187500e+00 2.0292408507e-02
+-5.6246875000e+00 3.5988614435e-02
+-4.6871562500e+00 5.4067924002e-02
+-3.7496250000e+00 7.3759056206e-02
+-2.8120937500e+00 9.3544037853e-02
+-1.8745625000e+00 1.1104203256e-01
+-9.3703125000e-01 1.2336458225e-01
+5.0000000000e-04 1.2760090563e-01
+9.3803125000e-01 1.2335556376e-01
+1.8755625000e+00 1.1102564413e-01
+2.8130937500e+00 9.3523661114e-02
+3.7506250000e+00 7.3737655121e-02
+4.6881562500e+00 5.4047586572e-02
+5.6256875000e+00 3.5970518597e-02
+6.5632187500e+00 2.0277066824e-02
+7.5007500000e+00 7.1951498503e-03
+8.4382812500e+00 4.2191037023e-05
+9.3758125000e+00 1.0059447272e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0127932421e-05
+-8.4372812500e+00 5.8212363088e-05
+-7.4997500000e+00 7.1859839241e-03
+-6.5622187500e+00 2.0276739840e-02
+-5.6246875000e+00 3.5957923861e-02
+-4.6871562500e+00 5.4021304679e-02
+-3.7496250000e+00 7.3691516621e-02
+-2.8120937500e+00 9.3453597074e-02
+-1.8745625000e+00 1.1093297669e-01
+-9.3703125000e-01 1.2326819384e-01
+5.0000000000e-04 1.2740225734e-01
+9.3803125000e-01 1.2325930096e-01
+1.8755625000e+00 1.1091662980e-01
+2.8130937500e+00 9.3433248448e-02
+3.7506250000e+00 7.3670139135e-02
+4.6881562500e+00 5.4000987355e-02
+5.6256875000e+00 3.5939842665e-02
+6.5632187500e+00 2.0261416565e-02
+7.5007500000e+00 7.1736531668e-03
+8.4382812500e+00 5.8026534923e-05
+9.3758125000e+00 1.0127317628e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0212531899e-05
+-8.4372812500e+00 7.3919312657e-05
+-7.4997500000e+00 7.1652245388e-03
+-6.5622187500e+00 2.0261898608e-02
+-5.6246875000e+00 3.5926945361e-02
+-4.6871562500e+00 5.3974466345e-02
+-3.7496250000e+00 7.3623437215e-02
+-2.8120937500e+00 9.3363078754e-02
+-1.8745625000e+00 1.1082475201e-01
+-9.3703125000e-01 1.2317157206e-01
+5.0000000000e-04 1.2720614192e-01
+9.3803125000e-01 1.2316273570e-01
+1.8755625000e+00 1.1080845661e-01
+2.8130937500e+00 9.3342756272e-02
+3.7506250000e+00 7.3602083681e-02
+4.6881562500e+00 5.3954169391e-02
+5.6256875000e+00 3.5908878869e-02
+6.5632187500e+00 2.0246596277e-02
+7.5007500000e+00 7.1529517069e-03
+8.4382812500e+00 7.3672287497e-05
+9.3758125000e+00 1.0211529635e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0309867525e-05
+-8.4372812500e+00 8.9422084903e-05
+-7.4997500000e+00 7.1452951828e-03
+-6.5622187500e+00 2.0247772467e-02
+-5.6246875000e+00 3.5895801937e-02
+-4.6871562500e+00 5.3927812824e-02
+-3.7496250000e+00 7.3555255309e-02
+-2.8120937500e+00 9.3273195047e-02
+-1.8745625000e+00 1.1071688788e-01
+-9.3703125000e-01 1.2307433917e-01
+5.0000000000e-04 1.2701111523e-01
+9.3803125000e-01 1.2306555852e-01
+1.8755625000e+00 1.1070065753e-01
+2.8130937500e+00 9.3252891807e-02
+3.7506250000e+00 7.3533928608e-02
+4.6881562500e+00 5.3907536252e-02
+5.6256875000e+00 3.5877749959e-02
+6.5632187500e+00 2.0232493221e-02
+7.5007500000e+00 7.1330773052e-03
+8.4382812500e+00 8.9114340863e-05
+9.3758125000e+00 1.0308366419e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0415262870e-05
+-8.4372812500e+00 1.0470686985e-04
+-7.4997500000e+00 7.1261430736e-03
+-6.5622187500e+00 2.0234537703e-02
+-5.6246875000e+00 3.5864780291e-02
+-4.6871562500e+00 5.3881912515e-02
+-3.7496250000e+00 7.3487769083e-02
+-2.8120937500e+00 9.3187798520e-02
+-1.8745625000e+00 1.1061345155e-01
+-9.3703125000e-01 1.2298084462e-01
+5.0000000000e-04 1.2682352636e-01
+9.3803125000e-01 1.2297227331e-01
+1.8755625000e+00 1.1059726819e-01
+2.8130937500e+00 9.3167493291e-02
+3.7506250000e+00 7.3466476843e-02
+4.6881562500e+00 5.3861656356e-02
+5.6256875000e+00 3.5846742480e-02
+6.5632187500e+00 2.0219289664e-02
+7.5007500000e+00 7.1139772078e-03
+8.4382812500e+00 1.0433894214e-04
+9.3758125000e+00 1.0413189842e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0530649371e-05
+-8.4372812500e+00 1.1975830517e-04
+-7.4997500000e+00 7.1077980722e-03
+-6.5622187500e+00 2.0222930402e-02
+-5.6246875000e+00 3.5834160871e-02
+-4.6871562500e+00 5.3839038029e-02
+-3.7496250000e+00 7.3426013046e-02
+-2.8120937500e+00 9.3110638641e-02
+-1.8745625000e+00 1.1051984682e-01
+-9.3703125000e-01 1.2289325786e-01
+5.0000000000e-04 1.2665395081e-01
+9.3803125000e-01 1.2288465336e-01
+1.8755625000e+00 1.1050371846e-01
+2.8130937500e+00 9.3090346634e-02
+3.7506250000e+00 7.3404741542e-02
+4.6881562500e+00 5.3818798333e-02
+5.6256875000e+00 3.5816136913e-02
+6.5632187500e+00 2.0207719400e-02
+7.5007500000e+00 7.0956811262e-03
+8.4382812500e+00 1.1933070518e-04
+9.3758125000e+00 1.0528040773e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm/eps_y_[16][16].xg b/test/whisky_test_tov_ppm/eps_y_[16][16].xg
new file mode 100644
index 0000000..bc76070
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0000000000e-05
+-8.4372812500e+00 1.0000000000e-05
+-7.4997500000e+00 7.2529424086e-03
+-6.5622187500e+00 2.0326313159e-02
+-5.6246875000e+00 3.6049890672e-02
+-4.6871562500e+00 5.4161822971e-02
+-3.7496250000e+00 7.3893919065e-02
+-2.8120937500e+00 9.3724408138e-02
+-1.8745625000e+00 1.1126260974e-01
+-9.3703125000e-01 1.2355413765e-01
+5.0000000000e-04 1.2799999584e-01
+9.3803125000e-01 1.2354484331e-01
+1.8755625000e+00 1.1124616148e-01
+2.8130937500e+00 9.3703980883e-02
+3.7506250000e+00 7.3872471271e-02
+4.6881562500e+00 5.4141445771e-02
+5.6256875000e+00 3.6031764555e-02
+6.5632187500e+00 2.0310942344e-02
+7.5007500000e+00 7.2404201366e-03
+8.4382812500e+00 1.0000000000e-05
+9.3758125000e+00 1.0000000000e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0010655644e-05
+-8.4372812500e+00 2.6241155235e-05
+-7.4997500000e+00 7.2298671848e-03
+-6.5622187500e+00 2.0308959760e-02
+-5.6246875000e+00 3.6019340229e-02
+-4.6871562500e+00 5.4114907409e-02
+-3.7496250000e+00 7.3826761295e-02
+-2.8120937500e+00 9.3634734507e-02
+-1.8745625000e+00 1.1115227820e-01
+-9.3703125000e-01 1.2346033836e-01
+5.0000000000e-04 1.2780104199e-01
+9.3803125000e-01 1.2345118579e-01
+1.8755625000e+00 1.1113585542e-01
+2.8130937500e+00 9.3614331742e-02
+3.7506250000e+00 7.3805336636e-02
+4.6881562500e+00 5.4094549924e-02
+5.6256875000e+00 3.6001229398e-02
+6.5632187500e+00 2.0293602135e-02
+7.5007500000e+00 7.2174116966e-03
+8.4382812500e+00 2.6178887118e-05
+9.3758125000e+00 1.0010553775e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0059768001e-05
+-8.4372812500e+00 4.2315251095e-05
+-7.4997500000e+00 7.2075415022e-03
+-6.5622187500e+00 2.0292408507e-02
+-5.6246875000e+00 3.5988614435e-02
+-4.6871562500e+00 5.4067924002e-02
+-3.7496250000e+00 7.3759056206e-02
+-2.8120937500e+00 9.3544037853e-02
+-1.8745625000e+00 1.1104203256e-01
+-9.3703125000e-01 1.2336458225e-01
+5.0000000000e-04 1.2760090563e-01
+9.3803125000e-01 1.2335556376e-01
+1.8755625000e+00 1.1102564413e-01
+2.8130937500e+00 9.3523661114e-02
+3.7506250000e+00 7.3737655121e-02
+4.6881562500e+00 5.4047586572e-02
+5.6256875000e+00 3.5970518597e-02
+6.5632187500e+00 2.0277066824e-02
+7.5007500000e+00 7.1951498503e-03
+8.4382812500e+00 4.2191037023e-05
+9.3758125000e+00 1.0059447272e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0127932421e-05
+-8.4372812500e+00 5.8212363088e-05
+-7.4997500000e+00 7.1859839241e-03
+-6.5622187500e+00 2.0276739840e-02
+-5.6246875000e+00 3.5957923861e-02
+-4.6871562500e+00 5.4021304679e-02
+-3.7496250000e+00 7.3691516621e-02
+-2.8120937500e+00 9.3453597074e-02
+-1.8745625000e+00 1.1093297669e-01
+-9.3703125000e-01 1.2326819384e-01
+5.0000000000e-04 1.2740225734e-01
+9.3803125000e-01 1.2325930096e-01
+1.8755625000e+00 1.1091662980e-01
+2.8130937500e+00 9.3433248448e-02
+3.7506250000e+00 7.3670139135e-02
+4.6881562500e+00 5.4000987355e-02
+5.6256875000e+00 3.5939842665e-02
+6.5632187500e+00 2.0261416565e-02
+7.5007500000e+00 7.1736531668e-03
+8.4382812500e+00 5.8026534923e-05
+9.3758125000e+00 1.0127317628e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0212531899e-05
+-8.4372812500e+00 7.3919312657e-05
+-7.4997500000e+00 7.1652245388e-03
+-6.5622187500e+00 2.0261898608e-02
+-5.6246875000e+00 3.5926945361e-02
+-4.6871562500e+00 5.3974466345e-02
+-3.7496250000e+00 7.3623437215e-02
+-2.8120937500e+00 9.3363078754e-02
+-1.8745625000e+00 1.1082475201e-01
+-9.3703125000e-01 1.2317157206e-01
+5.0000000000e-04 1.2720614192e-01
+9.3803125000e-01 1.2316273570e-01
+1.8755625000e+00 1.1080845661e-01
+2.8130937500e+00 9.3342756272e-02
+3.7506250000e+00 7.3602083681e-02
+4.6881562500e+00 5.3954169391e-02
+5.6256875000e+00 3.5908878869e-02
+6.5632187500e+00 2.0246596277e-02
+7.5007500000e+00 7.1529517069e-03
+8.4382812500e+00 7.3672287497e-05
+9.3758125000e+00 1.0211529635e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0309867525e-05
+-8.4372812500e+00 8.9422084903e-05
+-7.4997500000e+00 7.1452951828e-03
+-6.5622187500e+00 2.0247772467e-02
+-5.6246875000e+00 3.5895801937e-02
+-4.6871562500e+00 5.3927812824e-02
+-3.7496250000e+00 7.3555255309e-02
+-2.8120937500e+00 9.3273195047e-02
+-1.8745625000e+00 1.1071688788e-01
+-9.3703125000e-01 1.2307433917e-01
+5.0000000000e-04 1.2701111523e-01
+9.3803125000e-01 1.2306555852e-01
+1.8755625000e+00 1.1070065753e-01
+2.8130937500e+00 9.3252891807e-02
+3.7506250000e+00 7.3533928608e-02
+4.6881562500e+00 5.3907536252e-02
+5.6256875000e+00 3.5877749959e-02
+6.5632187500e+00 2.0232493221e-02
+7.5007500000e+00 7.1330773052e-03
+8.4382812500e+00 8.9114340863e-05
+9.3758125000e+00 1.0308366419e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0415262870e-05
+-8.4372812500e+00 1.0470686985e-04
+-7.4997500000e+00 7.1261430736e-03
+-6.5622187500e+00 2.0234537703e-02
+-5.6246875000e+00 3.5864780291e-02
+-4.6871562500e+00 5.3881912515e-02
+-3.7496250000e+00 7.3487769083e-02
+-2.8120937500e+00 9.3187798520e-02
+-1.8745625000e+00 1.1061345155e-01
+-9.3703125000e-01 1.2298084462e-01
+5.0000000000e-04 1.2682352636e-01
+9.3803125000e-01 1.2297227331e-01
+1.8755625000e+00 1.1059726819e-01
+2.8130937500e+00 9.3167493291e-02
+3.7506250000e+00 7.3466476843e-02
+4.6881562500e+00 5.3861656356e-02
+5.6256875000e+00 3.5846742480e-02
+6.5632187500e+00 2.0219289664e-02
+7.5007500000e+00 7.1139772078e-03
+8.4382812500e+00 1.0433894214e-04
+9.3758125000e+00 1.0413189842e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0530649371e-05
+-8.4372812500e+00 1.1975830517e-04
+-7.4997500000e+00 7.1077980722e-03
+-6.5622187500e+00 2.0222930402e-02
+-5.6246875000e+00 3.5834160871e-02
+-4.6871562500e+00 5.3839038029e-02
+-3.7496250000e+00 7.3426013046e-02
+-2.8120937500e+00 9.3110638641e-02
+-1.8745625000e+00 1.1051984682e-01
+-9.3703125000e-01 1.2289325786e-01
+5.0000000000e-04 1.2665395081e-01
+9.3803125000e-01 1.2288465336e-01
+1.8755625000e+00 1.1050371846e-01
+2.8130937500e+00 9.3090346634e-02
+3.7506250000e+00 7.3404741542e-02
+4.6881562500e+00 5.3818798333e-02
+5.6256875000e+00 3.5816136913e-02
+6.5632187500e+00 2.0207719400e-02
+7.5007500000e+00 7.0956811262e-03
+8.4382812500e+00 1.1933070518e-04
+9.3758125000e+00 1.0528040773e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm/eps_z_[16][16].xg b/test/whisky_test_tov_ppm/eps_z_[16][16].xg
new file mode 100644
index 0000000..bc76070
--- /dev/null
+++ b/test/whisky_test_tov_ppm/eps_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0000000000e-05
+-8.4372812500e+00 1.0000000000e-05
+-7.4997500000e+00 7.2529424086e-03
+-6.5622187500e+00 2.0326313159e-02
+-5.6246875000e+00 3.6049890672e-02
+-4.6871562500e+00 5.4161822971e-02
+-3.7496250000e+00 7.3893919065e-02
+-2.8120937500e+00 9.3724408138e-02
+-1.8745625000e+00 1.1126260974e-01
+-9.3703125000e-01 1.2355413765e-01
+5.0000000000e-04 1.2799999584e-01
+9.3803125000e-01 1.2354484331e-01
+1.8755625000e+00 1.1124616148e-01
+2.8130937500e+00 9.3703980883e-02
+3.7506250000e+00 7.3872471271e-02
+4.6881562500e+00 5.4141445771e-02
+5.6256875000e+00 3.6031764555e-02
+6.5632187500e+00 2.0310942344e-02
+7.5007500000e+00 7.2404201366e-03
+8.4382812500e+00 1.0000000000e-05
+9.3758125000e+00 1.0000000000e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0010655644e-05
+-8.4372812500e+00 2.6241155235e-05
+-7.4997500000e+00 7.2298671848e-03
+-6.5622187500e+00 2.0308959760e-02
+-5.6246875000e+00 3.6019340229e-02
+-4.6871562500e+00 5.4114907409e-02
+-3.7496250000e+00 7.3826761295e-02
+-2.8120937500e+00 9.3634734507e-02
+-1.8745625000e+00 1.1115227820e-01
+-9.3703125000e-01 1.2346033836e-01
+5.0000000000e-04 1.2780104199e-01
+9.3803125000e-01 1.2345118579e-01
+1.8755625000e+00 1.1113585542e-01
+2.8130937500e+00 9.3614331742e-02
+3.7506250000e+00 7.3805336636e-02
+4.6881562500e+00 5.4094549924e-02
+5.6256875000e+00 3.6001229398e-02
+6.5632187500e+00 2.0293602135e-02
+7.5007500000e+00 7.2174116966e-03
+8.4382812500e+00 2.6178887118e-05
+9.3758125000e+00 1.0010553775e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0059768001e-05
+-8.4372812500e+00 4.2315251095e-05
+-7.4997500000e+00 7.2075415022e-03
+-6.5622187500e+00 2.0292408507e-02
+-5.6246875000e+00 3.5988614435e-02
+-4.6871562500e+00 5.4067924002e-02
+-3.7496250000e+00 7.3759056206e-02
+-2.8120937500e+00 9.3544037853e-02
+-1.8745625000e+00 1.1104203256e-01
+-9.3703125000e-01 1.2336458225e-01
+5.0000000000e-04 1.2760090563e-01
+9.3803125000e-01 1.2335556376e-01
+1.8755625000e+00 1.1102564413e-01
+2.8130937500e+00 9.3523661114e-02
+3.7506250000e+00 7.3737655121e-02
+4.6881562500e+00 5.4047586572e-02
+5.6256875000e+00 3.5970518597e-02
+6.5632187500e+00 2.0277066824e-02
+7.5007500000e+00 7.1951498503e-03
+8.4382812500e+00 4.2191037023e-05
+9.3758125000e+00 1.0059447272e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0127932421e-05
+-8.4372812500e+00 5.8212363088e-05
+-7.4997500000e+00 7.1859839241e-03
+-6.5622187500e+00 2.0276739840e-02
+-5.6246875000e+00 3.5957923861e-02
+-4.6871562500e+00 5.4021304679e-02
+-3.7496250000e+00 7.3691516621e-02
+-2.8120937500e+00 9.3453597074e-02
+-1.8745625000e+00 1.1093297669e-01
+-9.3703125000e-01 1.2326819384e-01
+5.0000000000e-04 1.2740225734e-01
+9.3803125000e-01 1.2325930096e-01
+1.8755625000e+00 1.1091662980e-01
+2.8130937500e+00 9.3433248448e-02
+3.7506250000e+00 7.3670139135e-02
+4.6881562500e+00 5.4000987355e-02
+5.6256875000e+00 3.5939842665e-02
+6.5632187500e+00 2.0261416565e-02
+7.5007500000e+00 7.1736531668e-03
+8.4382812500e+00 5.8026534923e-05
+9.3758125000e+00 1.0127317628e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0212531899e-05
+-8.4372812500e+00 7.3919312657e-05
+-7.4997500000e+00 7.1652245388e-03
+-6.5622187500e+00 2.0261898608e-02
+-5.6246875000e+00 3.5926945361e-02
+-4.6871562500e+00 5.3974466345e-02
+-3.7496250000e+00 7.3623437215e-02
+-2.8120937500e+00 9.3363078754e-02
+-1.8745625000e+00 1.1082475201e-01
+-9.3703125000e-01 1.2317157206e-01
+5.0000000000e-04 1.2720614192e-01
+9.3803125000e-01 1.2316273570e-01
+1.8755625000e+00 1.1080845661e-01
+2.8130937500e+00 9.3342756272e-02
+3.7506250000e+00 7.3602083681e-02
+4.6881562500e+00 5.3954169391e-02
+5.6256875000e+00 3.5908878869e-02
+6.5632187500e+00 2.0246596277e-02
+7.5007500000e+00 7.1529517069e-03
+8.4382812500e+00 7.3672287497e-05
+9.3758125000e+00 1.0211529635e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0309867525e-05
+-8.4372812500e+00 8.9422084903e-05
+-7.4997500000e+00 7.1452951828e-03
+-6.5622187500e+00 2.0247772467e-02
+-5.6246875000e+00 3.5895801937e-02
+-4.6871562500e+00 5.3927812824e-02
+-3.7496250000e+00 7.3555255309e-02
+-2.8120937500e+00 9.3273195047e-02
+-1.8745625000e+00 1.1071688788e-01
+-9.3703125000e-01 1.2307433917e-01
+5.0000000000e-04 1.2701111523e-01
+9.3803125000e-01 1.2306555852e-01
+1.8755625000e+00 1.1070065753e-01
+2.8130937500e+00 9.3252891807e-02
+3.7506250000e+00 7.3533928608e-02
+4.6881562500e+00 5.3907536252e-02
+5.6256875000e+00 3.5877749959e-02
+6.5632187500e+00 2.0232493221e-02
+7.5007500000e+00 7.1330773052e-03
+8.4382812500e+00 8.9114340863e-05
+9.3758125000e+00 1.0308366419e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0415262870e-05
+-8.4372812500e+00 1.0470686985e-04
+-7.4997500000e+00 7.1261430736e-03
+-6.5622187500e+00 2.0234537703e-02
+-5.6246875000e+00 3.5864780291e-02
+-4.6871562500e+00 5.3881912515e-02
+-3.7496250000e+00 7.3487769083e-02
+-2.8120937500e+00 9.3187798520e-02
+-1.8745625000e+00 1.1061345155e-01
+-9.3703125000e-01 1.2298084462e-01
+5.0000000000e-04 1.2682352636e-01
+9.3803125000e-01 1.2297227331e-01
+1.8755625000e+00 1.1059726819e-01
+2.8130937500e+00 9.3167493291e-02
+3.7506250000e+00 7.3466476843e-02
+4.6881562500e+00 5.3861656356e-02
+5.6256875000e+00 3.5846742480e-02
+6.5632187500e+00 2.0219289664e-02
+7.5007500000e+00 7.1139772078e-03
+8.4382812500e+00 1.0433894214e-04
+9.3758125000e+00 1.0413189842e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0530649371e-05
+-8.4372812500e+00 1.1975830517e-04
+-7.4997500000e+00 7.1077980722e-03
+-6.5622187500e+00 2.0222930402e-02
+-5.6246875000e+00 3.5834160871e-02
+-4.6871562500e+00 5.3839038029e-02
+-3.7496250000e+00 7.3426013046e-02
+-2.8120937500e+00 9.3110638641e-02
+-1.8745625000e+00 1.1051984682e-01
+-9.3703125000e-01 1.2289325786e-01
+5.0000000000e-04 1.2665395081e-01
+9.3803125000e-01 1.2288465336e-01
+1.8755625000e+00 1.1050371846e-01
+2.8130937500e+00 9.3090346634e-02
+3.7506250000e+00 7.3404741542e-02
+4.6881562500e+00 5.3818798333e-02
+5.6256875000e+00 3.5816136913e-02
+6.5632187500e+00 2.0207719400e-02
+7.5007500000e+00 7.0956811262e-03
+8.4382812500e+00 1.1933070518e-04
+9.3758125000e+00 1.0528040773e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm/gxx_maximum.xg b/test/whisky_test_tov_ppm/gxx_maximum.xg
new file mode 100644
index 0000000..f8cb6f3
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxx_maximum.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 2.0318467472317
+0.3515742187500 2.0318348574011
+0.7031484375000 2.0318018981571
+1.0547226562500 2.0317521489097
+1.4062968750000 2.0316894325445
+1.7578710937500 2.0316168351709
+2.1094453125000 2.0315368355809
+2.4610195312500 2.0314515963691
diff --git a/test/whisky_test_tov_ppm/gxx_minimum.xg b/test/whisky_test_tov_ppm/gxx_minimum.xg
new file mode 100644
index 0000000..e449995
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxx_minimum.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 1.1122119022998
+0.3515742187500 1.1122110650347
+0.7031484375000 1.1122108620858
+1.0547226562500 1.1122107758295
+1.4062968750000 1.1122106742026
+1.7578710937500 1.1122105337130
+2.1094453125000 1.1122103499272
+2.4610195312500 1.1122101244792
diff --git a/test/whisky_test_tov_ppm/gxx_norm1.xg b/test/whisky_test_tov_ppm/gxx_norm1.xg
new file mode 100644
index 0000000..1fc8a53
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxx_norm1.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 1.2317730312624
+0.3515742187500 1.2317724613056
+0.7031484375000 1.2317724088591
+1.0547226562500 1.2317725544875
+1.4062968750000 1.2317728180583
+1.7578710937500 1.2317731757029
+2.1094453125000 1.2317736207563
+2.4610195312500 1.2317741541003
diff --git a/test/whisky_test_tov_ppm/gxx_norm2.xg b/test/whisky_test_tov_ppm/gxx_norm2.xg
new file mode 100644
index 0000000..3bace3a
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxx_norm2.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 1.2369502262701
+0.3515742187500 1.2369496724905
+0.7031484375000 1.2369495941438
+1.0547226562500 1.2369496877432
+1.4062968750000 1.2369498781984
+1.7578710937500 1.2369501446103
+2.1094453125000 1.2369504829299
+2.4610195312500 1.2369508966532
diff --git a/test/whisky_test_tov_ppm/gxy_maximum.xg b/test/whisky_test_tov_ppm/gxy_maximum.xg
new file mode 100644
index 0000000..738b5af
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxy_maximum.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000003878200
+0.7031484375000 0.0000013783129
+1.0547226562500 0.0000046012119
+1.4062968750000 0.0000103317902
+1.7578710937500 0.0000175567325
+2.1094453125000 0.0000253476090
+2.4610195312500 0.0000318400076
diff --git a/test/whisky_test_tov_ppm/gxy_minimum.xg b/test/whisky_test_tov_ppm/gxy_minimum.xg
new file mode 100644
index 0000000..33b1893
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxy_minimum.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000003877751
+0.7031484375000 -0.0000013781745
+1.0547226562500 -0.0000046125506
+1.4062968750000 -0.0000103549986
+1.7578710937500 -0.0000176017220
+2.1094453125000 -0.0000254055161
+2.4610195312500 -0.0000319005449
diff --git a/test/whisky_test_tov_ppm/gxy_norm1.xg b/test/whisky_test_tov_ppm/gxy_norm1.xg
new file mode 100644
index 0000000..ba77c3b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxy_norm1.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000085714
+0.7031484375000 0.0000000435813
+1.0547226562500 0.0000001247891
+1.4062968750000 0.0000002646876
+1.7578710937500 0.0000004670885
+2.1094453125000 0.0000007449413
+2.4610195312500 0.0000011518904
diff --git a/test/whisky_test_tov_ppm/gxy_norm2.xg b/test/whisky_test_tov_ppm/gxy_norm2.xg
new file mode 100644
index 0000000..95f506e
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxy_norm2.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000275867
+0.7031484375000 0.0000001306635
+1.0547226562500 0.0000003797611
+1.4062968750000 0.0000007955318
+1.7578710937500 0.0000013574852
+2.1094453125000 0.0000020565139
+2.4610195312500 0.0000029297839
diff --git a/test/whisky_test_tov_ppm/gxz_maximum.xg b/test/whisky_test_tov_ppm/gxz_maximum.xg
new file mode 100644
index 0000000..e1912ce
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxz_maximum.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000003878200
+0.7031484375000 0.0000013783129
+1.0547226562500 0.0000046012119
+1.4062968750000 0.0000103317902
+1.7578710937500 0.0000175567325
+2.1094453125000 0.0000253476090
+2.4610195312500 0.0000318400076
diff --git a/test/whisky_test_tov_ppm/gxz_minimum.xg b/test/whisky_test_tov_ppm/gxz_minimum.xg
new file mode 100644
index 0000000..f29c571
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxz_minimum.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000003877751
+0.7031484375000 -0.0000013781745
+1.0547226562500 -0.0000046125506
+1.4062968750000 -0.0000103549986
+1.7578710937500 -0.0000176017220
+2.1094453125000 -0.0000254055161
+2.4610195312500 -0.0000319005449
diff --git a/test/whisky_test_tov_ppm/gxz_norm1.xg b/test/whisky_test_tov_ppm/gxz_norm1.xg
new file mode 100644
index 0000000..eed1b03
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxz_norm1.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000085714
+0.7031484375000 0.0000000435813
+1.0547226562500 0.0000001247892
+1.4062968750000 0.0000002646878
+1.7578710937500 0.0000004670887
+2.1094453125000 0.0000007449415
+2.4610195312500 0.0000011518906
diff --git a/test/whisky_test_tov_ppm/gxz_norm2.xg b/test/whisky_test_tov_ppm/gxz_norm2.xg
new file mode 100644
index 0000000..c0f6320
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gxz_norm2.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000275867
+0.7031484375000 0.0000001306635
+1.0547226562500 0.0000003797611
+1.4062968750000 0.0000007955318
+1.7578710937500 0.0000013574852
+2.1094453125000 0.0000020565139
+2.4610195312500 0.0000029297839
diff --git a/test/whisky_test_tov_ppm/gyy_maximum.xg b/test/whisky_test_tov_ppm/gyy_maximum.xg
new file mode 100644
index 0000000..b210107
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyy_maximum.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 2.0318467472317
+0.3515742187500 2.0318348574011
+0.7031484375000 2.0318018981571
+1.0547226562500 2.0317521489097
+1.4062968750000 2.0316894325445
+1.7578710937500 2.0316168351709
+2.1094453125000 2.0315368355809
+2.4610195312500 2.0314515963691
diff --git a/test/whisky_test_tov_ppm/gyy_minimum.xg b/test/whisky_test_tov_ppm/gyy_minimum.xg
new file mode 100644
index 0000000..15c60b2
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyy_minimum.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 1.1122119022998
+0.3515742187500 1.1122110650752
+0.7031484375000 1.1122108622215
+1.0547226562500 1.1122107758527
+1.4062968750000 1.1122106738893
+1.7578710937500 1.1122105331856
+2.1094453125000 1.1122103495007
+2.4610195312500 1.1122101243958
diff --git a/test/whisky_test_tov_ppm/gyy_norm1.xg b/test/whisky_test_tov_ppm/gyy_norm1.xg
new file mode 100644
index 0000000..5120936
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyy_norm1.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 1.2317730312624
+0.3515742187500 1.2317724613060
+0.7031484375000 1.2317724088606
+1.0547226562500 1.2317725544888
+1.4062968750000 1.2317728180570
+1.7578710937500 1.2317731756988
+2.1094453125000 1.2317736207513
+2.4610195312500 1.2317741540969
diff --git a/test/whisky_test_tov_ppm/gyy_norm2.xg b/test/whisky_test_tov_ppm/gyy_norm2.xg
new file mode 100644
index 0000000..41784fc
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyy_norm2.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 1.2369502262701
+0.3515742187500 1.2369496724909
+0.7031484375000 1.2369495941452
+1.0547226562500 1.2369496877444
+1.4062968750000 1.2369498781972
+1.7578710937500 1.2369501446066
+2.1094453125000 1.2369504829253
+2.4610195312500 1.2369508966501
diff --git a/test/whisky_test_tov_ppm/gyz_maximum.xg b/test/whisky_test_tov_ppm/gyz_maximum.xg
new file mode 100644
index 0000000..c9194ae
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyz_maximum.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000003878200
+0.7031484375000 0.0000013783129
+1.0547226562500 0.0000046012119
+1.4062968750000 0.0000103317902
+1.7578710937500 0.0000175567325
+2.1094453125000 0.0000253476090
+2.4610195312500 0.0000318400076
diff --git a/test/whisky_test_tov_ppm/gyz_minimum.xg b/test/whisky_test_tov_ppm/gyz_minimum.xg
new file mode 100644
index 0000000..13755c9
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyz_minimum.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000003877751
+0.7031484375000 -0.0000013781745
+1.0547226562500 -0.0000046125506
+1.4062968750000 -0.0000103549986
+1.7578710937500 -0.0000176017220
+2.1094453125000 -0.0000254055161
+2.4610195312500 -0.0000319005449
diff --git a/test/whisky_test_tov_ppm/gyz_norm1.xg b/test/whisky_test_tov_ppm/gyz_norm1.xg
new file mode 100644
index 0000000..62e553e
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyz_norm1.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000085714
+0.7031484375000 0.0000000435813
+1.0547226562500 0.0000001247893
+1.4062968750000 0.0000002646879
+1.7578710937500 0.0000004670889
+2.1094453125000 0.0000007449418
+2.4610195312500 0.0000011518909
diff --git a/test/whisky_test_tov_ppm/gyz_norm2.xg b/test/whisky_test_tov_ppm/gyz_norm2.xg
new file mode 100644
index 0000000..5871e06
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gyz_norm2.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000275867
+0.7031484375000 0.0000001306635
+1.0547226562500 0.0000003797611
+1.4062968750000 0.0000007955318
+1.7578710937500 0.0000013574852
+2.1094453125000 0.0000020565139
+2.4610195312500 0.0000029297839
diff --git a/test/whisky_test_tov_ppm/gzz_maximum.xg b/test/whisky_test_tov_ppm/gzz_maximum.xg
new file mode 100644
index 0000000..17eaa0e
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gzz_maximum.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 2.0318467472317
+0.3515742187500 2.0318348574011
+0.7031484375000 2.0318018981571
+1.0547226562500 2.0317521489097
+1.4062968750000 2.0316894325445
+1.7578710937500 2.0316168351709
+2.1094453125000 2.0315368355809
+2.4610195312500 2.0314515963691
diff --git a/test/whisky_test_tov_ppm/gzz_minimum.xg b/test/whisky_test_tov_ppm/gzz_minimum.xg
new file mode 100644
index 0000000..df82e5e
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gzz_minimum.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 1.1122119022998
+0.3515742187500 1.1122110651132
+0.7031484375000 1.1122108623503
+1.0547226562500 1.1122107758819
+1.4062968750000 1.1122106736052
+1.7578710937500 1.1122105326934
+2.1094453125000 1.1122103490884
+2.4610195312500 1.1122101242946
diff --git a/test/whisky_test_tov_ppm/gzz_norm1.xg b/test/whisky_test_tov_ppm/gzz_norm1.xg
new file mode 100644
index 0000000..b94e91f
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gzz_norm1.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 1.2317730312624
+0.3515742187500 1.2317724613064
+0.7031484375000 1.2317724088621
+1.0547226562500 1.2317725544900
+1.4062968750000 1.2317728180557
+1.7578710937500 1.2317731756947
+2.1094453125000 1.2317736207463
+2.4610195312500 1.2317741540935
diff --git a/test/whisky_test_tov_ppm/gzz_norm2.xg b/test/whisky_test_tov_ppm/gzz_norm2.xg
new file mode 100644
index 0000000..f20874c
--- /dev/null
+++ b/test/whisky_test_tov_ppm/gzz_norm2.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 1.2369502262701
+0.3515742187500 1.2369496724912
+0.7031484375000 1.2369495941466
+1.0547226562500 1.2369496877456
+1.4062968750000 1.2369498781960
+1.7578710937500 1.2369501446029
+2.1094453125000 1.2369504829207
+2.4610195312500 1.2369508966470
diff --git a/test/whisky_test_tov_ppm/ham_3D_diagonal.xg b/test/whisky_test_tov_ppm/ham_3D_diagonal.xg
new file mode 100644
index 0000000..5e8d4d5
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -3.8646695864e-06
+-2.2733058596e+01 -3.4024767522e-06
+-2.1109206837e+01 -2.7012002542e-06
+-1.9485355079e+01 -1.6034050617e-06
+-1.7861503320e+01 1.7863415752e-07
+-1.6237651561e+01 3.1976861391e-06
+-1.4613799803e+01 8.5802810323e-06
+-1.2989948044e+01 1.8791001314e-05
+-1.1366096285e+01 3.9712084940e-05
+-9.7422445267e+00 8.7006696802e-05
+-8.1183927680e+00 6.1589700896e-04
+-6.4945410093e+00 8.0147961087e-05
+-4.8706892506e+00 -6.5166739023e-05
+-3.2468374920e+00 -4.5843182601e-04
+-1.6229857333e+00 -1.0737542848e-03
+8.6602540378e-04 -1.4208417833e-03
+1.6247177841e+00 -1.0731171951e-03
+3.2485695428e+00 -4.5785403488e-04
+4.8724213015e+00 -6.4902393268e-05
+6.4962730601e+00 8.0217824750e-05
+8.1201248188e+00 6.2047116178e-04
+9.7439765775e+00 8.6930516075e-05
+1.1367828336e+01 3.9680047393e-05
+1.2991680095e+01 1.8775952478e-05
+1.4615531854e+01 8.5726177543e-06
+1.6239383612e+01 3.1934980155e-06
+1.7863235371e+01 1.7620509363e-07
+1.9487087130e+01 -1.6048753838e-06
+2.1110938888e+01 -2.7021205952e-06
+2.2734790647e+01 -3.4030783083e-06
+2.4358642406e+01 -3.8650709308e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.4239099908e-06
+-2.2733058596e+01 -3.4164768424e-06
+-2.1109206837e+01 -2.7010386092e-06
+-1.9485355079e+01 -1.6030757843e-06
+-1.7861503320e+01 1.7927100172e-07
+-1.6237651561e+01 3.1988761852e-06
+-1.4613799803e+01 8.5829727241e-06
+-1.2989948044e+01 1.8797632968e-05
+-1.1366096285e+01 3.9729835493e-05
+-9.7422445267e+00 8.7055667338e-05
+-8.1183927680e+00 6.2616124015e-04
+-6.4945410093e+00 8.1013048011e-05
+-4.8706892506e+00 -6.4347793460e-05
+-3.2468374920e+00 -4.5897528280e-04
+-1.6229857333e+00 -1.1327387623e-03
+8.6602540378e-04 -1.2969377409e-03
+1.6247177841e+00 -1.1323085450e-03
+3.2485695428e+00 -4.5840063117e-04
+4.8724213015e+00 -6.4083557747e-05
+6.4962730601e+00 8.1082902138e-05
+8.1201248188e+00 6.3089288364e-04
+9.7439765775e+00 8.6979335224e-05
+1.1367828336e+01 3.9697818099e-05
+1.2991680095e+01 1.8782540754e-05
+1.4615531854e+01 8.5754213565e-06
+1.6239383612e+01 3.1947819190e-06
+1.7863235371e+01 1.7679235040e-07
+1.9487087130e+01 -1.6045709352e-06
+2.1110938888e+01 -2.7019371101e-06
+2.2734790647e+01 -3.4170856972e-06
+2.4358642406e+01 -2.4248126019e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.3287281395e-06
+-2.2733058596e+01 -3.4692107825e-06
+-2.1109206837e+01 -2.6993171544e-06
+-1.9485355079e+01 -1.6030887247e-06
+-1.7861503320e+01 1.8104160278e-07
+-1.6237651561e+01 3.2024771751e-06
+-1.4613799803e+01 8.5908545071e-06
+-1.2989948044e+01 1.8816523237e-05
+-1.1366096285e+01 3.9779467601e-05
+-9.7422445267e+00 8.6831125390e-05
+-8.1183927680e+00 6.4773397918e-04
+-6.4945410093e+00 8.3155502835e-05
+-4.8706892506e+00 -6.2012747556e-05
+-3.2468374920e+00 -4.5996231523e-04
+-1.6229857333e+00 -1.1981575388e-03
+8.6602540378e-04 -1.1726472508e-03
+1.6247177841e+00 -1.1979286512e-03
+3.2485695428e+00 -4.5939340021e-04
+4.8724213015e+00 -6.1749347816e-05
+6.4962730601e+00 8.3221185976e-05
+8.1201248188e+00 6.5294931870e-04
+9.7439765775e+00 8.6753267048e-05
+1.1367828336e+01 3.9747444211e-05
+1.2991680095e+01 1.8801390499e-05
+1.4615531854e+01 8.5834069794e-06
+1.6239383612e+01 3.1984276091e-06
+1.7863235371e+01 1.7857905566e-07
+1.9487087130e+01 -1.6046085809e-06
+2.1110938888e+01 -2.7002147021e-06
+2.2734790647e+01 -3.4698112745e-06
+2.4358642406e+01 -2.3296746934e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2992441508e-06
+-2.2733058596e+01 -3.5791844800e-06
+-2.1109206837e+01 -2.6908927061e-06
+-1.9485355079e+01 -1.6052811487e-06
+-1.7861503320e+01 1.8335046360e-07
+-1.6237651561e+01 3.2082861440e-06
+-1.4613799803e+01 8.6033821429e-06
+-1.2989948044e+01 1.8845725724e-05
+-1.1366096285e+01 3.9866187222e-05
+-9.7422445267e+00 8.2365599081e-05
+-8.1183927680e+00 6.4922635872e-04
+-6.4945410093e+00 8.2620456300e-05
+-4.8706892506e+00 -5.8386448748e-05
+-3.2468374920e+00 -4.6013082570e-04
+-1.6229857333e+00 -1.2730539065e-03
+8.6602540378e-04 -1.0437262703e-03
+1.6247177841e+00 -1.2730320967e-03
+3.2485695428e+00 -4.5956344334e-04
+4.8724213015e+00 -5.8125298755e-05
+6.4962730601e+00 8.2680359517e-05
+8.1201248188e+00 6.5483498471e-04
+9.7439765775e+00 8.2283663659e-05
+1.1367828336e+01 3.9834031228e-05
+1.2991680095e+01 1.8830579472e-05
+1.4615531854e+01 8.5959277372e-06
+1.6239383612e+01 3.2042028184e-06
+1.7863235371e+01 1.8092056763e-07
+1.9487087130e+01 -1.6067948255e-06
+2.1110938888e+01 -2.6917922082e-06
+2.2734790647e+01 -3.5797551475e-06
+2.4358642406e+01 -2.3002117178e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2734334248e-06
+-2.2733058596e+01 -3.7366202050e-06
+-2.1109206837e+01 -2.6824473160e-06
+-1.9485355079e+01 -1.6070952052e-06
+-1.7861503320e+01 1.8453186798e-07
+-1.6237651561e+01 3.2156648598e-06
+-1.4613799803e+01 8.6195383791e-06
+-1.2989948044e+01 1.8882075914e-05
+-1.1366096285e+01 4.0086602162e-05
+-9.7422445267e+00 7.3814494783e-05
+-8.1183927680e+00 6.4095826576e-04
+-6.4945410093e+00 7.7333379644e-05
+-4.8706892506e+00 -5.3718224305e-05
+-3.2468374920e+00 -4.5828040698e-04
+-1.6229857333e+00 -1.3605406101e-03
+8.6602540378e-04 -9.0564538185e-04
+1.6247177841e+00 -1.3606430485e-03
+3.2485695428e+00 -4.5770863126e-04
+4.8724213015e+00 -5.3459009777e-05
+6.4962730601e+00 7.7371255033e-05
+8.1201248188e+00 6.4641407518e-04
+9.7439765775e+00 7.3708143215e-05
+1.1367828336e+01 4.0053692053e-05
+1.2991680095e+01 1.8866919866e-05
+1.4615531854e+01 8.6120275734e-06
+1.6239383612e+01 3.2115637995e-06
+1.7863235371e+01 1.8207792099e-07
+1.9487087130e+01 -1.6085975438e-06
+2.1110938888e+01 -2.6833337835e-06
+2.2734790647e+01 -3.7371381114e-06
+2.4358642406e+01 -2.2744216696e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2606005218e-06
+-2.2733058596e+01 -3.9128946345e-06
+-2.1109206837e+01 -2.6935091881e-06
+-1.9485355079e+01 -1.6028599571e-06
+-1.7861503320e+01 1.8338890211e-07
+-1.6237651561e+01 3.2231537074e-06
+-1.4613799803e+01 8.6378259345e-06
+-1.2989948044e+01 1.8921513007e-05
+-1.1366096285e+01 4.0515003414e-05
+-9.7422445267e+00 6.9225976962e-05
+-8.1183927680e+00 6.3502937702e-04
+-6.4945410093e+00 7.2781785659e-05
+-4.8706892506e+00 -4.8509953009e-05
+-3.2468374920e+00 -4.5345849549e-04
+-1.6229857333e+00 -1.4629408193e-03
+8.6602540378e-04 -7.5356027463e-04
+1.6247177841e+00 -1.4632084623e-03
+3.2485695428e+00 -4.5287584679e-04
+4.8724213015e+00 -4.8250340319e-05
+6.4962730601e+00 7.2755148866e-05
+8.1201248188e+00 6.3997165529e-04
+9.7439765775e+00 6.9062329996e-05
+1.1367828336e+01 4.0480873551e-05
+1.2991680095e+01 1.8906333078e-05
+1.4615531854e+01 8.6302690899e-06
+1.6239383612e+01 3.2190464076e-06
+1.7863235371e+01 1.8091612147e-07
+1.9487087130e+01 -1.6043619821e-06
+2.1110938888e+01 -2.6943946075e-06
+2.2734790647e+01 -3.9133417494e-06
+2.4358642406e+01 -2.2616048879e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2707578606e-06
+-2.2733058596e+01 -4.0712405155e-06
+-2.1109206837e+01 -2.7478689840e-06
+-1.9485355079e+01 -1.5901752046e-06
+-1.7861503320e+01 1.8182862086e-07
+-1.6237651561e+01 3.2284904113e-06
+-1.4613799803e+01 8.6560128299e-06
+-1.2989948044e+01 1.8964688217e-05
+-1.1366096285e+01 4.0578907385e-05
+-9.7422445267e+00 7.3773917462e-05
+-8.1183927680e+00 6.2570820331e-04
+-6.4945410093e+00 7.6687598759e-05
+-4.8706892506e+00 -4.3404891090e-05
+-3.2468374920e+00 -4.4559243977e-04
+-1.6229857333e+00 -1.5771239520e-03
+8.6602540378e-04 -5.8935697970e-04
+1.6247177841e+00 -1.5778611291e-03
+3.2485695428e+00 -4.4491280032e-04
+4.8724213015e+00 -4.3149142066e-05
+6.4962730601e+00 7.6571522428e-05
+8.1201248188e+00 6.2999554575e-04
+9.7439765775e+00 7.3551116886e-05
+1.1367828336e+01 4.0546732901e-05
+1.2991680095e+01 1.8949433311e-05
+1.4615531854e+01 8.6484279653e-06
+1.6239383612e+01 3.2243630751e-06
+1.7863235371e+01 1.7936205672e-07
+1.9487087130e+01 -1.5916748903e-06
+2.1110938888e+01 -2.7487515987e-06
+2.2734790647e+01 -4.0716239479e-06
+2.4358642406e+01 -2.2717706836e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.3052277841e-06
+-2.2733058596e+01 -4.1816994551e-06
+-2.1109206837e+01 -2.8596315156e-06
+-1.9485355079e+01 -1.5769921630e-06
+-1.7861503320e+01 1.8533438819e-07
+-1.6237651561e+01 3.2299980913e-06
+-1.4613799803e+01 8.6708087504e-06
+-1.2989948044e+01 1.9038713928e-05
+-1.1366096285e+01 3.9153606165e-05
+-9.7422445267e+00 8.3727238050e-05
+-8.1183927680e+00 6.0535595973e-04
+-6.4945410093e+00 8.9946371446e-05
+-4.8706892506e+00 -3.8492768826e-05
+-3.2468374920e+00 -4.3678986086e-04
+-1.6229857333e+00 -1.6989676399e-03
+8.6602540378e-04 -4.2004319221e-04
+1.6247177841e+00 -1.6998510727e-03
+3.2485695428e+00 -4.3602715637e-04
+4.8724213015e+00 -3.8238550166e-05
+6.4962730601e+00 8.9791166638e-05
+8.1201248188e+00 6.0905507167e-04
+9.7439765775e+00 8.3491584488e-05
+1.1367828336e+01 3.9131003139e-05
+1.2991680095e+01 1.9023188103e-05
+1.4615531854e+01 8.6632066147e-06
+1.6239383612e+01 3.2258572558e-06
+1.7863235371e+01 1.8286688626e-07
+1.9487087130e+01 -1.5784903095e-06
+2.1110938888e+01 -2.8604803095e-06
+2.2734790647e+01 -4.1820445923e-06
+2.4358642406e+01 -2.3062398977e-06
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/ham_maximum.xg b/test/whisky_test_tov_ppm/ham_maximum.xg
new file mode 100644
index 0000000..b9f6db2
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_maximum.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 0.0006310542967
+0.3515742187500 0.0006405124260
+0.7031484375000 0.0006792234653
+1.0547226562500 0.0007113485229
+1.4062968750000 0.0007211861513
+1.7578710937500 0.0007101971301
+2.1094453125000 0.0006838395560
+2.4610195312500 0.0006457338284
diff --git a/test/whisky_test_tov_ppm/ham_minimum.xg b/test/whisky_test_tov_ppm/ham_minimum.xg
new file mode 100644
index 0000000..ffbe145
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_minimum.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 -0.0014208417833
+0.3515742187500 -0.0012969377409
+0.7031484375000 -0.0011981575388
+1.0547226562500 -0.0012730539065
+1.4062968750000 -0.0013606430485
+1.7578710937500 -0.0014632084623
+2.1094453125000 -0.0015778611291
+2.4610195312500 -0.0016998510727
diff --git a/test/whisky_test_tov_ppm/ham_norm1.xg b/test/whisky_test_tov_ppm/ham_norm1.xg
new file mode 100644
index 0000000..7033a62
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_norm1.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 0.0000260910737
+0.3515742187500 0.0000256407964
+0.7031484375000 0.0000263577028
+1.0547226562500 0.0000272033643
+1.4062968750000 0.0000282751611
+1.7578710937500 0.0000294654471
+2.1094453125000 0.0000305936515
+2.4610195312500 0.0000315619637
diff --git a/test/whisky_test_tov_ppm/ham_norm2.xg b/test/whisky_test_tov_ppm/ham_norm2.xg
new file mode 100644
index 0000000..77440f9
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_norm2.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 0.0000862273844
+0.3515742187500 0.0000866253710
+0.7031484375000 0.0000887427968
+1.0547226562500 0.0000912818381
+1.4062968750000 0.0000936477232
+1.7578710937500 0.0000957392883
+2.1094453125000 0.0000975363846
+2.4610195312500 0.0000990151601
diff --git a/test/whisky_test_tov_ppm/ham_x_[16][16].xg b/test/whisky_test_tov_ppm/ham_x_[16][16].xg
new file mode 100644
index 0000000..b89af6f
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -3.0931812088e-05
+-1.3124937500e+01 -4.1098919458e-05
+-1.2187406250e+01 -5.6445568419e-05
+-1.1249875000e+01 -8.0323199902e-05
+-1.0312343750e+01 -1.1880169214e-04
+-9.3748125000e+00 -1.8341459761e-04
+-8.4372812500e+00 -1.6907188383e-05
+-7.4997500000e+00 -7.7706104657e-05
+-6.5622187500e+00 -1.2803895307e-04
+-5.6246875000e+00 -1.6922345772e-04
+-4.6871562500e+00 -2.5236219763e-04
+-3.7496250000e+00 -4.0872794040e-04
+-2.8120937500e+00 -6.6238921515e-04
+-1.8745625000e+00 -9.9201229454e-04
+-9.3703125000e-01 -1.2948317759e-03
+5.0000000000e-04 -1.4208417833e-03
+9.3803125000e-01 -1.2945744648e-03
+1.8755625000e+00 -9.9164850690e-04
+2.8130937500e+00 -6.6206374749e-04
+3.7506250000e+00 -4.0851552564e-04
+4.6881562500e+00 -2.5223836802e-04
+5.6256875000e+00 -1.6916368300e-04
+6.5632187500e+00 -1.2800811297e-04
+7.5007500000e+00 -7.7415165646e-05
+8.4382812500e+00 -1.8122568830e-05
+9.3758125000e+00 -1.8332510831e-04
+1.0313343750e+01 -1.1874949996e-04
+1.1250875000e+01 -8.0291382229e-05
+1.2188406250e+01 -5.6425428124e-05
+1.3125937500e+01 -4.1085753717e-05
+1.4063468750e+01 -3.0922960639e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2896058097e-06
+-1.3124937500e+01 -4.1397378319e-05
+-1.2187406250e+01 -5.6446787871e-05
+-1.1249875000e+01 -8.0324505567e-05
+-1.0312343750e+01 -1.1880266650e-04
+-9.3748125000e+00 -1.8699745050e-04
+-8.4372812500e+00 -2.0596000476e-05
+-7.4997500000e+00 -6.6684859367e-05
+-6.5622187500e+00 -1.1964236810e-04
+-5.6246875000e+00 -1.5301144145e-04
+-4.6871562500e+00 -2.2631647798e-04
+-3.7496250000e+00 -3.6998229622e-04
+-2.8120937500e+00 -6.0908587302e-04
+-1.8745625000e+00 -9.2503269276e-04
+-9.3703125000e-01 -1.2381960052e-03
+5.0000000000e-04 -1.2969377409e-03
+9.3803125000e-01 -1.2380283071e-03
+1.8755625000e+00 -9.2468506489e-04
+2.8130937500e+00 -6.0877632113e-04
+3.7506250000e+00 -3.6978469496e-04
+4.6881562500e+00 -2.2620477534e-04
+5.6256875000e+00 -1.5296058827e-04
+6.5632187500e+00 -1.1962141113e-04
+7.5007500000e+00 -6.6412654005e-05
+8.4382812500e+00 -2.1825789452e-05
+9.3758125000e+00 -1.8689045644e-04
+1.0313343750e+01 -1.1875048480e-04
+1.1250875000e+01 -8.0292695930e-05
+1.2188406250e+01 -5.6426642440e-05
+1.3125937500e+01 -4.1384145684e-05
+1.4063468750e+01 1.2901442348e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2235000114e-05
+-1.3124937500e+01 -4.2604547567e-05
+-1.2187406250e+01 -5.6426326297e-05
+-1.1249875000e+01 -8.0479831659e-05
+-1.0312343750e+01 -1.1897763969e-04
+-9.3748125000e+00 -1.9515863726e-04
+-8.4372812500e+00 -2.0108072193e-05
+-7.4997500000e+00 -5.4953267868e-05
+-6.5622187500e+00 -1.1331948546e-04
+-5.6246875000e+00 -1.3658057784e-04
+-4.6871562500e+00 -1.9966028735e-04
+-3.7496250000e+00 -3.2988254839e-04
+-2.8120937500e+00 -5.5426760955e-04
+-1.8745625000e+00 -8.5782969943e-04
+-9.3703125000e-01 -1.1833601394e-03
+5.0000000000e-04 -1.1726472508e-03
+9.3803125000e-01 -1.1832796020e-03
+1.8755625000e+00 -8.5749995758e-04
+2.8130937500e+00 -5.5397442054e-04
+3.7506250000e+00 -3.2970034213e-04
+4.6881562500e+00 -1.9956156293e-04
+5.6256875000e+00 -1.3653803772e-04
+6.5632187500e+00 -1.1331807621e-04
+7.5007500000e+00 -5.4670815834e-05
+8.4382812500e+00 -2.1430959390e-05
+9.3758125000e+00 -1.9500660072e-04
+1.0313343750e+01 -1.1892587396e-04
+1.1250875000e+01 -8.0447362690e-05
+1.2188406250e+01 -5.6406170267e-05
+1.3125937500e+01 -4.2591038628e-05
+1.4063468750e+01 1.2232750603e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.7712577420e-05
+-1.3124937500e+01 -4.5058609407e-05
+-1.2187406250e+01 -5.6392134254e-05
+-1.1249875000e+01 -8.0942690900e-05
+-1.0312343750e+01 -1.1948203457e-04
+-9.3748125000e+00 -2.0436169351e-04
+-8.4372812500e+00 -2.2466973150e-05
+-7.4997500000e+00 -3.8716149405e-05
+-6.5622187500e+00 -1.0935409274e-04
+-5.6246875000e+00 -1.1883241127e-04
+-4.6871562500e+00 -1.7108753143e-04
+-3.7496250000e+00 -2.8676345388e-04
+-2.8120937500e+00 -4.9603577415e-04
+-1.8745625000e+00 -7.8732617526e-04
+-9.3703125000e-01 -1.1286128659e-03
+5.0000000000e-04 -1.0437262703e-03
+9.3803125000e-01 -1.1286214548e-03
+1.8755625000e+00 -7.8701306778e-04
+2.8130937500e+00 -4.9576071906e-04
+3.7506250000e+00 -2.8659755265e-04
+4.6881562500e+00 -1.7100284380e-04
+5.6256875000e+00 -1.1879719103e-04
+6.5632187500e+00 -1.0938529981e-04
+7.5007500000e+00 -3.8403719480e-05
+8.4382812500e+00 -2.3937123125e-05
+9.3758125000e+00 -2.0415175290e-04
+1.0313343750e+01 -1.1943041767e-04
+1.1250875000e+01 -8.0908533564e-05
+1.2188406250e+01 -5.6371771337e-05
+1.3125937500e+01 -4.5044536511e-05
+1.4063468750e+01 1.7708954117e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1758450308e-05
+-1.3124937500e+01 -4.8501328628e-05
+-1.2187406250e+01 -5.6558648154e-05
+-1.1249875000e+01 -8.1673985834e-05
+-1.0312343750e+01 -1.2033136136e-04
+-9.3748125000e+00 -2.1182493961e-04
+-8.4372812500e+00 -3.4201881044e-05
+-7.4997500000e+00 -1.4775464614e-05
+-6.5622187500e+00 -1.0793231823e-04
+-5.6246875000e+00 -9.8606276947e-05
+-4.6871562500e+00 -1.3883820972e-04
+-3.7496250000e+00 -2.3842914202e-04
+-2.8120937500e+00 -4.3190627221e-04
+-1.8745625000e+00 -7.1001013768e-04
+-9.3703125000e-01 -1.0719135775e-03
+5.0000000000e-04 -9.0564538185e-04
+9.3803125000e-01 -1.0719807561e-03
+1.8755625000e+00 -7.0971183300e-04
+2.8130937500e+00 -4.3164960218e-04
+3.7506250000e+00 -2.3828117322e-04
+4.6881562500e+00 -1.3876862737e-04
+5.6256875000e+00 -9.8578907302e-05
+6.5632187500e+00 -1.0801205376e-04
+7.5007500000e+00 -1.4427336807e-05
+8.4382812500e+00 -3.5839124192e-05
+9.3758125000e+00 -2.1156621498e-04
+1.0313343750e+01 -1.2027705656e-04
+1.1250875000e+01 -8.1637707050e-05
+1.2188406250e+01 -5.6537482134e-05
+1.3125937500e+01 -4.8486397084e-05
+1.4063468750e+01 2.1753810113e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5003801952e-05
+-1.3124937500e+01 -5.2239219657e-05
+-1.2187406250e+01 -5.7299235582e-05
+-1.1249875000e+01 -8.2376734307e-05
+-1.0312343750e+01 -1.2150573672e-04
+-9.3748125000e+00 -2.1724873743e-04
+-8.4372812500e+00 -5.8331468287e-05
+-7.4997500000e+00 1.7837569881e-05
+-6.5622187500e+00 -1.0873466721e-04
+-5.6246875000e+00 -7.5785967319e-05
+-4.6871562500e+00 -1.0200173116e-04
+-3.7496250000e+00 -1.8385561337e-04
+-2.8120937500e+00 -3.6060457121e-04
+-1.8745625000e+00 -6.2313989126e-04
+-9.3703125000e-01 -1.0111733859e-03
+5.0000000000e-04 -7.5356027463e-04
+9.3803125000e-01 -1.0113151160e-03
+1.8755625000e+00 -6.2285527390e-04
+2.8130937500e+00 -3.6036424902e-04
+3.7506250000e+00 -1.8372898933e-04
+4.6881562500e+00 -1.0194768767e-04
+5.6256875000e+00 -7.5771894401e-05
+6.5632187500e+00 -1.0887754458e-04
+7.5007500000e+00 1.8213670652e-05
+8.4382812500e+00 -6.0116931835e-05
+9.3758125000e+00 -2.1697593520e-04
+1.0313343750e+01 -1.2144249296e-04
+1.1250875000e+01 -8.2339097558e-05
+1.2188406250e+01 -5.7276439189e-05
+1.3125937500e+01 -5.2223115813e-05
+1.4063468750e+01 2.4998340039e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.7203120425e-05
+-1.3124937500e+01 -5.5404308800e-05
+-1.2187406250e+01 -5.8914370510e-05
+-1.1249875000e+01 -8.2691613566e-05
+-1.0312343750e+01 -1.2337180439e-04
+-9.3748125000e+00 -2.2316953392e-04
+-8.4372812500e+00 -9.2363575648e-05
+-7.4997500000e+00 5.6413160402e-05
+-6.5622187500e+00 -1.1013881460e-04
+-5.6246875000e+00 -5.1764664388e-05
+-4.6871562500e+00 -6.0463995866e-05
+-3.7496250000e+00 -1.2305536878e-04
+-2.8120937500e+00 -2.8366984317e-04
+-1.8745625000e+00 -5.2812490182e-04
+-9.3703125000e-01 -9.4793084038e-04
+5.0000000000e-04 -5.8935697970e-04
+9.3803125000e-01 -9.4826397717e-04
+1.8755625000e+00 -5.2783175143e-04
+2.8130937500e+00 -2.8343540196e-04
+3.7506250000e+00 -1.2295636932e-04
+4.6881562500e+00 -6.0426029365e-05
+5.6256875000e+00 -5.1778599153e-05
+6.5632187500e+00 -1.1034938743e-04
+7.5007500000e+00 5.6794469389e-05
+8.4382812500e+00 -9.4235352668e-05
+9.3758125000e+00 -2.2293942933e-04
+1.0313343750e+01 -1.2329294515e-04
+1.1250875000e+01 -8.2653995385e-05
+1.2188406250e+01 -5.8889475914e-05
+1.3125937500e+01 -5.5386709915e-05
+1.4063468750e+01 2.7197153633e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.8117255191e-05
+-1.3124937500e+01 -5.7272252872e-05
+-1.2187406250e+01 -6.1380177703e-05
+-1.1249875000e+01 -8.2636920848e-05
+-1.0312343750e+01 -1.2713890526e-04
+-9.3748125000e+00 -2.3319406264e-04
+-8.4372812500e+00 -1.2850093985e-04
+-7.4997500000e+00 9.3553016107e-05
+-6.5622187500e+00 -1.0851507516e-04
+-5.6246875000e+00 -2.9184792515e-05
+-4.6871562500e+00 -1.6279991810e-05
+-3.7496250000e+00 -5.9545746509e-05
+-2.8120937500e+00 -2.0386244896e-04
+-1.8745625000e+00 -4.2910919821e-04
+-9.3703125000e-01 -8.8340536699e-04
+5.0000000000e-04 -4.2004319221e-04
+9.3803125000e-01 -8.8380596330e-04
+1.8755625000e+00 -4.2879773024e-04
+2.8130937500e+00 -2.0364499623e-04
+3.7506250000e+00 -5.9468182578e-05
+4.6881562500e+00 -1.6258638725e-05
+5.6256875000e+00 -2.9249161511e-05
+6.5632187500e+00 -1.0876891848e-04
+7.5007500000e+00 9.3893325886e-05
+8.4382812500e+00 -1.3035574826e-04
+9.3758125000e+00 -2.3306734824e-04
+1.0313343750e+01 -1.2704445921e-04
+1.1250875000e+01 -8.2600062870e-05
+1.2188406250e+01 -6.1353723403e-05
+1.3125937500e+01 -5.7252977998e-05
+1.4063468750e+01 2.8111271326e-05
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/ham_y_[16][16].xg b/test/whisky_test_tov_ppm/ham_y_[16][16].xg
new file mode 100644
index 0000000..6aa0bcf
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -3.0931812088e-05
+-1.3124937500e+01 -4.1098919458e-05
+-1.2187406250e+01 -5.6445568419e-05
+-1.1249875000e+01 -8.0323199902e-05
+-1.0312343750e+01 -1.1880169214e-04
+-9.3748125000e+00 -1.8341459761e-04
+-8.4372812500e+00 -1.6907188383e-05
+-7.4997500000e+00 -7.7706104657e-05
+-6.5622187500e+00 -1.2803895307e-04
+-5.6246875000e+00 -1.6922345772e-04
+-4.6871562500e+00 -2.5236219763e-04
+-3.7496250000e+00 -4.0872794040e-04
+-2.8120937500e+00 -6.6238921515e-04
+-1.8745625000e+00 -9.9201229454e-04
+-9.3703125000e-01 -1.2948317759e-03
+5.0000000000e-04 -1.4208417833e-03
+9.3803125000e-01 -1.2945744648e-03
+1.8755625000e+00 -9.9164850690e-04
+2.8130937500e+00 -6.6206374749e-04
+3.7506250000e+00 -4.0851552564e-04
+4.6881562500e+00 -2.5223836802e-04
+5.6256875000e+00 -1.6916368300e-04
+6.5632187500e+00 -1.2800811297e-04
+7.5007500000e+00 -7.7415165646e-05
+8.4382812500e+00 -1.8122568830e-05
+9.3758125000e+00 -1.8332510831e-04
+1.0313343750e+01 -1.1874949996e-04
+1.1250875000e+01 -8.0291382229e-05
+1.2188406250e+01 -5.6425428124e-05
+1.3125937500e+01 -4.1085753717e-05
+1.4063468750e+01 -3.0922960639e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2896058097e-06
+-1.3124937500e+01 -4.1397378318e-05
+-1.2187406250e+01 -5.6446787874e-05
+-1.1249875000e+01 -8.0324505567e-05
+-1.0312343750e+01 -1.1880266650e-04
+-9.3748125000e+00 -1.8699745050e-04
+-8.4372812500e+00 -2.0596000476e-05
+-7.4997500000e+00 -6.6684859367e-05
+-6.5622187500e+00 -1.1964236810e-04
+-5.6246875000e+00 -1.5301144146e-04
+-4.6871562500e+00 -2.2631647798e-04
+-3.7496250000e+00 -3.6998229622e-04
+-2.8120937500e+00 -6.0908587301e-04
+-1.8745625000e+00 -9.2503269276e-04
+-9.3703125000e-01 -1.2381960052e-03
+5.0000000000e-04 -1.2969377409e-03
+9.3803125000e-01 -1.2380283071e-03
+1.8755625000e+00 -9.2468506489e-04
+2.8130937500e+00 -6.0877632113e-04
+3.7506250000e+00 -3.6978469496e-04
+4.6881562500e+00 -2.2620477534e-04
+5.6256875000e+00 -1.5296058827e-04
+6.5632187500e+00 -1.1962141113e-04
+7.5007500000e+00 -6.6412654005e-05
+8.4382812500e+00 -2.1825789452e-05
+9.3758125000e+00 -1.8689045644e-04
+1.0313343750e+01 -1.1875048480e-04
+1.1250875000e+01 -8.0292695930e-05
+1.2188406250e+01 -5.6426642441e-05
+1.3125937500e+01 -4.1384145683e-05
+1.4063468750e+01 1.2901442348e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2235000114e-05
+-1.3124937500e+01 -4.2604547565e-05
+-1.2187406250e+01 -5.6426326297e-05
+-1.1249875000e+01 -8.0479831659e-05
+-1.0312343750e+01 -1.1897763969e-04
+-9.3748125000e+00 -1.9515863726e-04
+-8.4372812500e+00 -2.0108072193e-05
+-7.4997500000e+00 -5.4953267868e-05
+-6.5622187500e+00 -1.1331948546e-04
+-5.6246875000e+00 -1.3658057784e-04
+-4.6871562500e+00 -1.9966028735e-04
+-3.7496250000e+00 -3.2988254839e-04
+-2.8120937500e+00 -5.5426760955e-04
+-1.8745625000e+00 -8.5782969943e-04
+-9.3703125000e-01 -1.1833601394e-03
+5.0000000000e-04 -1.1726472508e-03
+9.3803125000e-01 -1.1832796020e-03
+1.8755625000e+00 -8.5749995758e-04
+2.8130937500e+00 -5.5397442054e-04
+3.7506250000e+00 -3.2970034213e-04
+4.6881562500e+00 -1.9956156293e-04
+5.6256875000e+00 -1.3653803772e-04
+6.5632187500e+00 -1.1331807622e-04
+7.5007500000e+00 -5.4670815834e-05
+8.4382812500e+00 -2.1430959388e-05
+9.3758125000e+00 -1.9500660072e-04
+1.0313343750e+01 -1.1892587396e-04
+1.1250875000e+01 -8.0447362690e-05
+1.2188406250e+01 -5.6406170267e-05
+1.3125937500e+01 -4.2591038628e-05
+1.4063468750e+01 1.2232750601e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.7712577418e-05
+-1.3124937500e+01 -4.5058609406e-05
+-1.2187406250e+01 -5.6392134254e-05
+-1.1249875000e+01 -8.0942690900e-05
+-1.0312343750e+01 -1.1948203457e-04
+-9.3748125000e+00 -2.0436169351e-04
+-8.4372812500e+00 -2.2466973147e-05
+-7.4997500000e+00 -3.8716149405e-05
+-6.5622187500e+00 -1.0935409275e-04
+-5.6246875000e+00 -1.1883241126e-04
+-4.6871562500e+00 -1.7108753143e-04
+-3.7496250000e+00 -2.8676345388e-04
+-2.8120937500e+00 -4.9603577415e-04
+-1.8745625000e+00 -7.8732617526e-04
+-9.3703125000e-01 -1.1286128659e-03
+5.0000000000e-04 -1.0437262703e-03
+9.3803125000e-01 -1.1286214548e-03
+1.8755625000e+00 -7.8701306778e-04
+2.8130937500e+00 -4.9576071906e-04
+3.7506250000e+00 -2.8659755265e-04
+4.6881562500e+00 -1.7100284380e-04
+5.6256875000e+00 -1.1879719103e-04
+6.5632187500e+00 -1.0938529980e-04
+7.5007500000e+00 -3.8403719480e-05
+8.4382812500e+00 -2.3937123125e-05
+9.3758125000e+00 -2.0415175290e-04
+1.0313343750e+01 -1.1943041767e-04
+1.1250875000e+01 -8.0908533564e-05
+1.2188406250e+01 -5.6371771339e-05
+1.3125937500e+01 -4.5044536512e-05
+1.4063468750e+01 1.7708954120e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1758450309e-05
+-1.3124937500e+01 -4.8501328630e-05
+-1.2187406250e+01 -5.6558648154e-05
+-1.1249875000e+01 -8.1673985834e-05
+-1.0312343750e+01 -1.2033136136e-04
+-9.3748125000e+00 -2.1182493961e-04
+-8.4372812500e+00 -3.4201881044e-05
+-7.4997500000e+00 -1.4775464614e-05
+-6.5622187500e+00 -1.0793231823e-04
+-5.6246875000e+00 -9.8606276947e-05
+-4.6871562500e+00 -1.3883820972e-04
+-3.7496250000e+00 -2.3842914202e-04
+-2.8120937500e+00 -4.3190627221e-04
+-1.8745625000e+00 -7.1001013768e-04
+-9.3703125000e-01 -1.0719135775e-03
+5.0000000000e-04 -9.0564538185e-04
+9.3803125000e-01 -1.0719807561e-03
+1.8755625000e+00 -7.0971183299e-04
+2.8130937500e+00 -4.3164960218e-04
+3.7506250000e+00 -2.3828117322e-04
+4.6881562500e+00 -1.3876862737e-04
+5.6256875000e+00 -9.8578907302e-05
+6.5632187500e+00 -1.0801205376e-04
+7.5007500000e+00 -1.4427336810e-05
+8.4382812500e+00 -3.5839124192e-05
+9.3758125000e+00 -2.1156621498e-04
+1.0313343750e+01 -1.2027705656e-04
+1.1250875000e+01 -8.1637707050e-05
+1.2188406250e+01 -5.6537482134e-05
+1.3125937500e+01 -4.8486397084e-05
+1.4063468750e+01 2.1753810113e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5003801952e-05
+-1.3124937500e+01 -5.2239219657e-05
+-1.2187406250e+01 -5.7299235581e-05
+-1.1249875000e+01 -8.2376734310e-05
+-1.0312343750e+01 -1.2150573672e-04
+-9.3748125000e+00 -2.1724873743e-04
+-8.4372812500e+00 -5.8331468287e-05
+-7.4997500000e+00 1.7837569881e-05
+-6.5622187500e+00 -1.0873466721e-04
+-5.6246875000e+00 -7.5785967319e-05
+-4.6871562500e+00 -1.0200173116e-04
+-3.7496250000e+00 -1.8385561337e-04
+-2.8120937500e+00 -3.6060457121e-04
+-1.8745625000e+00 -6.2313989126e-04
+-9.3703125000e-01 -1.0111733859e-03
+5.0000000000e-04 -7.5356027463e-04
+9.3803125000e-01 -1.0113151160e-03
+1.8755625000e+00 -6.2285527390e-04
+2.8130937500e+00 -3.6036424902e-04
+3.7506250000e+00 -1.8372898933e-04
+4.6881562500e+00 -1.0194768767e-04
+5.6256875000e+00 -7.5771894401e-05
+6.5632187500e+00 -1.0887754458e-04
+7.5007500000e+00 1.8213670652e-05
+8.4382812500e+00 -6.0116931835e-05
+9.3758125000e+00 -2.1697593520e-04
+1.0313343750e+01 -1.2144249296e-04
+1.1250875000e+01 -8.2339097560e-05
+1.2188406250e+01 -5.7276439188e-05
+1.3125937500e+01 -5.2223115813e-05
+1.4063468750e+01 2.4998340039e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.7203120424e-05
+-1.3124937500e+01 -5.5404308799e-05
+-1.2187406250e+01 -5.8914370514e-05
+-1.1249875000e+01 -8.2691613565e-05
+-1.0312343750e+01 -1.2337180439e-04
+-9.3748125000e+00 -2.2316953392e-04
+-8.4372812500e+00 -9.2363575648e-05
+-7.4997500000e+00 5.6413160403e-05
+-6.5622187500e+00 -1.1013881460e-04
+-5.6246875000e+00 -5.1764664387e-05
+-4.6871562500e+00 -6.0463995866e-05
+-3.7496250000e+00 -1.2305536878e-04
+-2.8120937500e+00 -2.8366984317e-04
+-1.8745625000e+00 -5.2812490182e-04
+-9.3703125000e-01 -9.4793084038e-04
+5.0000000000e-04 -5.8935697970e-04
+9.3803125000e-01 -9.4826397717e-04
+1.8755625000e+00 -5.2783175143e-04
+2.8130937500e+00 -2.8343540196e-04
+3.7506250000e+00 -1.2295636932e-04
+4.6881562500e+00 -6.0426029365e-05
+5.6256875000e+00 -5.1778599153e-05
+6.5632187500e+00 -1.1034938744e-04
+7.5007500000e+00 5.6794469388e-05
+8.4382812500e+00 -9.4235352668e-05
+9.3758125000e+00 -2.2293942933e-04
+1.0313343750e+01 -1.2329294515e-04
+1.1250875000e+01 -8.2653995385e-05
+1.2188406250e+01 -5.8889475915e-05
+1.3125937500e+01 -5.5386709916e-05
+1.4063468750e+01 2.7197153635e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.8117255192e-05
+-1.3124937500e+01 -5.7272252873e-05
+-1.2187406250e+01 -6.1380177700e-05
+-1.1249875000e+01 -8.2636920848e-05
+-1.0312343750e+01 -1.2713890526e-04
+-9.3748125000e+00 -2.3319406264e-04
+-8.4372812500e+00 -1.2850093985e-04
+-7.4997500000e+00 9.3553016107e-05
+-6.5622187500e+00 -1.0851507515e-04
+-5.6246875000e+00 -2.9184792515e-05
+-4.6871562500e+00 -1.6279991809e-05
+-3.7496250000e+00 -5.9545746509e-05
+-2.8120937500e+00 -2.0386244896e-04
+-1.8745625000e+00 -4.2910919821e-04
+-9.3703125000e-01 -8.8340536699e-04
+5.0000000000e-04 -4.2004319221e-04
+9.3803125000e-01 -8.8380596330e-04
+1.8755625000e+00 -4.2879773024e-04
+2.8130937500e+00 -2.0364499623e-04
+3.7506250000e+00 -5.9468182578e-05
+4.6881562500e+00 -1.6258638725e-05
+5.6256875000e+00 -2.9249161512e-05
+6.5632187500e+00 -1.0876891848e-04
+7.5007500000e+00 9.3893325886e-05
+8.4382812500e+00 -1.3035574826e-04
+9.3758125000e+00 -2.3306734824e-04
+1.0313343750e+01 -1.2704445921e-04
+1.1250875000e+01 -8.2600062870e-05
+1.2188406250e+01 -6.1353723403e-05
+1.3125937500e+01 -5.7252977997e-05
+1.4063468750e+01 2.8111271325e-05
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/ham_z_[16][16].xg b/test/whisky_test_tov_ppm/ham_z_[16][16].xg
new file mode 100644
index 0000000..f343883
--- /dev/null
+++ b/test/whisky_test_tov_ppm/ham_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -3.0931812088e-05
+-1.3124937500e+01 -4.1098919458e-05
+-1.2187406250e+01 -5.6445568419e-05
+-1.1249875000e+01 -8.0323199902e-05
+-1.0312343750e+01 -1.1880169214e-04
+-9.3748125000e+00 -1.8341459761e-04
+-8.4372812500e+00 -1.6907188383e-05
+-7.4997500000e+00 -7.7706104657e-05
+-6.5622187500e+00 -1.2803895307e-04
+-5.6246875000e+00 -1.6922345772e-04
+-4.6871562500e+00 -2.5236219763e-04
+-3.7496250000e+00 -4.0872794040e-04
+-2.8120937500e+00 -6.6238921515e-04
+-1.8745625000e+00 -9.9201229454e-04
+-9.3703125000e-01 -1.2948317759e-03
+5.0000000000e-04 -1.4208417833e-03
+9.3803125000e-01 -1.2945744648e-03
+1.8755625000e+00 -9.9164850690e-04
+2.8130937500e+00 -6.6206374749e-04
+3.7506250000e+00 -4.0851552564e-04
+4.6881562500e+00 -2.5223836802e-04
+5.6256875000e+00 -1.6916368300e-04
+6.5632187500e+00 -1.2800811297e-04
+7.5007500000e+00 -7.7415165646e-05
+8.4382812500e+00 -1.8122568830e-05
+9.3758125000e+00 -1.8332510831e-04
+1.0313343750e+01 -1.1874949996e-04
+1.1250875000e+01 -8.0291382229e-05
+1.2188406250e+01 -5.6425428124e-05
+1.3125937500e+01 -4.1085753717e-05
+1.4063468750e+01 -3.0922960639e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2896058097e-06
+-1.3124937500e+01 -4.1397378318e-05
+-1.2187406250e+01 -5.6446787874e-05
+-1.1249875000e+01 -8.0324505567e-05
+-1.0312343750e+01 -1.1880266650e-04
+-9.3748125000e+00 -1.8699745050e-04
+-8.4372812500e+00 -2.0596000476e-05
+-7.4997500000e+00 -6.6684859367e-05
+-6.5622187500e+00 -1.1964236810e-04
+-5.6246875000e+00 -1.5301144146e-04
+-4.6871562500e+00 -2.2631647798e-04
+-3.7496250000e+00 -3.6998229622e-04
+-2.8120937500e+00 -6.0908587301e-04
+-1.8745625000e+00 -9.2503269276e-04
+-9.3703125000e-01 -1.2381960052e-03
+5.0000000000e-04 -1.2969377409e-03
+9.3803125000e-01 -1.2380283071e-03
+1.8755625000e+00 -9.2468506489e-04
+2.8130937500e+00 -6.0877632113e-04
+3.7506250000e+00 -3.6978469496e-04
+4.6881562500e+00 -2.2620477534e-04
+5.6256875000e+00 -1.5296058827e-04
+6.5632187500e+00 -1.1962141113e-04
+7.5007500000e+00 -6.6412654005e-05
+8.4382812500e+00 -2.1825789452e-05
+9.3758125000e+00 -1.8689045644e-04
+1.0313343750e+01 -1.1875048480e-04
+1.1250875000e+01 -8.0292695930e-05
+1.2188406250e+01 -5.6426642441e-05
+1.3125937500e+01 -4.1384145683e-05
+1.4063468750e+01 1.2901442348e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2235000114e-05
+-1.3124937500e+01 -4.2604547565e-05
+-1.2187406250e+01 -5.6426326297e-05
+-1.1249875000e+01 -8.0479831659e-05
+-1.0312343750e+01 -1.1897763969e-04
+-9.3748125000e+00 -1.9515863726e-04
+-8.4372812500e+00 -2.0108072193e-05
+-7.4997500000e+00 -5.4953267868e-05
+-6.5622187500e+00 -1.1331948546e-04
+-5.6246875000e+00 -1.3658057784e-04
+-4.6871562500e+00 -1.9966028735e-04
+-3.7496250000e+00 -3.2988254839e-04
+-2.8120937500e+00 -5.5426760955e-04
+-1.8745625000e+00 -8.5782969943e-04
+-9.3703125000e-01 -1.1833601394e-03
+5.0000000000e-04 -1.1726472508e-03
+9.3803125000e-01 -1.1832796020e-03
+1.8755625000e+00 -8.5749995758e-04
+2.8130937500e+00 -5.5397442054e-04
+3.7506250000e+00 -3.2970034213e-04
+4.6881562500e+00 -1.9956156293e-04
+5.6256875000e+00 -1.3653803772e-04
+6.5632187500e+00 -1.1331807622e-04
+7.5007500000e+00 -5.4670815834e-05
+8.4382812500e+00 -2.1430959388e-05
+9.3758125000e+00 -1.9500660072e-04
+1.0313343750e+01 -1.1892587396e-04
+1.1250875000e+01 -8.0447362690e-05
+1.2188406250e+01 -5.6406170267e-05
+1.3125937500e+01 -4.2591038628e-05
+1.4063468750e+01 1.2232750601e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.7712577418e-05
+-1.3124937500e+01 -4.5058609406e-05
+-1.2187406250e+01 -5.6392134254e-05
+-1.1249875000e+01 -8.0942690900e-05
+-1.0312343750e+01 -1.1948203457e-04
+-9.3748125000e+00 -2.0436169351e-04
+-8.4372812500e+00 -2.2466973147e-05
+-7.4997500000e+00 -3.8716149405e-05
+-6.5622187500e+00 -1.0935409275e-04
+-5.6246875000e+00 -1.1883241126e-04
+-4.6871562500e+00 -1.7108753143e-04
+-3.7496250000e+00 -2.8676345388e-04
+-2.8120937500e+00 -4.9603577415e-04
+-1.8745625000e+00 -7.8732617526e-04
+-9.3703125000e-01 -1.1286128659e-03
+5.0000000000e-04 -1.0437262703e-03
+9.3803125000e-01 -1.1286214548e-03
+1.8755625000e+00 -7.8701306778e-04
+2.8130937500e+00 -4.9576071906e-04
+3.7506250000e+00 -2.8659755265e-04
+4.6881562500e+00 -1.7100284380e-04
+5.6256875000e+00 -1.1879719103e-04
+6.5632187500e+00 -1.0938529981e-04
+7.5007500000e+00 -3.8403719480e-05
+8.4382812500e+00 -2.3937123125e-05
+9.3758125000e+00 -2.0415175290e-04
+1.0313343750e+01 -1.1943041767e-04
+1.1250875000e+01 -8.0908533564e-05
+1.2188406250e+01 -5.6371771339e-05
+1.3125937500e+01 -4.5044536512e-05
+1.4063468750e+01 1.7708954120e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1758450308e-05
+-1.3124937500e+01 -4.8501328629e-05
+-1.2187406250e+01 -5.6558648154e-05
+-1.1249875000e+01 -8.1673985834e-05
+-1.0312343750e+01 -1.2033136136e-04
+-9.3748125000e+00 -2.1182493961e-04
+-8.4372812500e+00 -3.4201881044e-05
+-7.4997500000e+00 -1.4775464615e-05
+-6.5622187500e+00 -1.0793231823e-04
+-5.6246875000e+00 -9.8606276947e-05
+-4.6871562500e+00 -1.3883820972e-04
+-3.7496250000e+00 -2.3842914202e-04
+-2.8120937500e+00 -4.3190627221e-04
+-1.8745625000e+00 -7.1001013768e-04
+-9.3703125000e-01 -1.0719135775e-03
+5.0000000000e-04 -9.0564538185e-04
+9.3803125000e-01 -1.0719807561e-03
+1.8755625000e+00 -7.0971183299e-04
+2.8130937500e+00 -4.3164960218e-04
+3.7506250000e+00 -2.3828117322e-04
+4.6881562500e+00 -1.3876862737e-04
+5.6256875000e+00 -9.8578907302e-05
+6.5632187500e+00 -1.0801205376e-04
+7.5007500000e+00 -1.4427336810e-05
+8.4382812500e+00 -3.5839124192e-05
+9.3758125000e+00 -2.1156621498e-04
+1.0313343750e+01 -1.2027705656e-04
+1.1250875000e+01 -8.1637707050e-05
+1.2188406250e+01 -5.6537482134e-05
+1.3125937500e+01 -4.8486397084e-05
+1.4063468750e+01 2.1753810113e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5003801954e-05
+-1.3124937500e+01 -5.2239219657e-05
+-1.2187406250e+01 -5.7299235581e-05
+-1.1249875000e+01 -8.2376734310e-05
+-1.0312343750e+01 -1.2150573672e-04
+-9.3748125000e+00 -2.1724873743e-04
+-8.4372812500e+00 -5.8331468287e-05
+-7.4997500000e+00 1.7837569881e-05
+-6.5622187500e+00 -1.0873466721e-04
+-5.6246875000e+00 -7.5785967319e-05
+-4.6871562500e+00 -1.0200173116e-04
+-3.7496250000e+00 -1.8385561337e-04
+-2.8120937500e+00 -3.6060457121e-04
+-1.8745625000e+00 -6.2313989126e-04
+-9.3703125000e-01 -1.0111733859e-03
+5.0000000000e-04 -7.5356027463e-04
+9.3803125000e-01 -1.0113151160e-03
+1.8755625000e+00 -6.2285527390e-04
+2.8130937500e+00 -3.6036424902e-04
+3.7506250000e+00 -1.8372898933e-04
+4.6881562500e+00 -1.0194768767e-04
+5.6256875000e+00 -7.5771894401e-05
+6.5632187500e+00 -1.0887754458e-04
+7.5007500000e+00 1.8213670652e-05
+8.4382812500e+00 -6.0116931835e-05
+9.3758125000e+00 -2.1697593520e-04
+1.0313343750e+01 -1.2144249296e-04
+1.1250875000e+01 -8.2339097560e-05
+1.2188406250e+01 -5.7276439188e-05
+1.3125937500e+01 -5.2223115813e-05
+1.4063468750e+01 2.4998340039e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.7203120425e-05
+-1.3124937500e+01 -5.5404308799e-05
+-1.2187406250e+01 -5.8914370514e-05
+-1.1249875000e+01 -8.2691613565e-05
+-1.0312343750e+01 -1.2337180439e-04
+-9.3748125000e+00 -2.2316953392e-04
+-8.4372812500e+00 -9.2363575648e-05
+-7.4997500000e+00 5.6413160403e-05
+-6.5622187500e+00 -1.1013881460e-04
+-5.6246875000e+00 -5.1764664387e-05
+-4.6871562500e+00 -6.0463995866e-05
+-3.7496250000e+00 -1.2305536878e-04
+-2.8120937500e+00 -2.8366984317e-04
+-1.8745625000e+00 -5.2812490182e-04
+-9.3703125000e-01 -9.4793084038e-04
+5.0000000000e-04 -5.8935697970e-04
+9.3803125000e-01 -9.4826397717e-04
+1.8755625000e+00 -5.2783175143e-04
+2.8130937500e+00 -2.8343540196e-04
+3.7506250000e+00 -1.2295636932e-04
+4.6881562500e+00 -6.0426029365e-05
+5.6256875000e+00 -5.1778599153e-05
+6.5632187500e+00 -1.1034938744e-04
+7.5007500000e+00 5.6794469388e-05
+8.4382812500e+00 -9.4235352668e-05
+9.3758125000e+00 -2.2293942933e-04
+1.0313343750e+01 -1.2329294515e-04
+1.1250875000e+01 -8.2653995385e-05
+1.2188406250e+01 -5.8889475915e-05
+1.3125937500e+01 -5.5386709916e-05
+1.4063468750e+01 2.7197153635e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.8117255192e-05
+-1.3124937500e+01 -5.7272252873e-05
+-1.2187406250e+01 -6.1380177700e-05
+-1.1249875000e+01 -8.2636920848e-05
+-1.0312343750e+01 -1.2713890526e-04
+-9.3748125000e+00 -2.3319406264e-04
+-8.4372812500e+00 -1.2850093985e-04
+-7.4997500000e+00 9.3553016107e-05
+-6.5622187500e+00 -1.0851507515e-04
+-5.6246875000e+00 -2.9184792515e-05
+-4.6871562500e+00 -1.6279991809e-05
+-3.7496250000e+00 -5.9545746509e-05
+-2.8120937500e+00 -2.0386244896e-04
+-1.8745625000e+00 -4.2910919821e-04
+-9.3703125000e-01 -8.8340536699e-04
+5.0000000000e-04 -4.2004319221e-04
+9.3803125000e-01 -8.8380596330e-04
+1.8755625000e+00 -4.2879773024e-04
+2.8130937500e+00 -2.0364499623e-04
+3.7506250000e+00 -5.9468182578e-05
+4.6881562500e+00 -1.6258638725e-05
+5.6256875000e+00 -2.9249161512e-05
+6.5632187500e+00 -1.0876891848e-04
+7.5007500000e+00 9.3893325886e-05
+8.4382812500e+00 -1.3035574826e-04
+9.3758125000e+00 -2.3306734824e-04
+1.0313343750e+01 -1.2704445921e-04
+1.1250875000e+01 -8.2600062870e-05
+1.2188406250e+01 -6.1353723403e-05
+1.3125937500e+01 -5.7252977997e-05
+1.4063468750e+01 2.8111271327e-05
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/kxx_maximum.xg b/test/whisky_test_tov_ppm/kxx_maximum.xg
new file mode 100644
index 0000000..45849a0
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxx_maximum.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000496886311
+0.7031484375000 0.0000900876246
+1.0547226562500 0.0001228926508
+1.4062968750000 0.0001615545285
+1.7578710937500 0.0001989186828
+2.1094453125000 0.0002333083415
+2.4610195312500 0.0002613531494
diff --git a/test/whisky_test_tov_ppm/kxx_minimum.xg b/test/whisky_test_tov_ppm/kxx_minimum.xg
new file mode 100644
index 0000000..7bc378b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxx_minimum.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000200396561
+0.7031484375000 -0.0000396848169
+1.0547226562500 -0.0000522362442
+1.4062968750000 -0.0000498160192
+1.7578710937500 -0.0000427804901
+2.1094453125000 -0.0000517954274
+2.4610195312500 -0.0000559731836
diff --git a/test/whisky_test_tov_ppm/kxx_norm1.xg b/test/whisky_test_tov_ppm/kxx_norm1.xg
new file mode 100644
index 0000000..d78bed9
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxx_norm1.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008593409
+0.7031484375000 0.0000016778745
+1.0547226562500 0.0000024917273
+1.4062968750000 0.0000032502310
+1.7578710937500 0.0000039000114
+2.1094453125000 0.0000044092156
+2.4610195312500 0.0000048705574
diff --git a/test/whisky_test_tov_ppm/kxx_norm2.xg b/test/whisky_test_tov_ppm/kxx_norm2.xg
new file mode 100644
index 0000000..f278ffc
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxx_norm2.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000027696398
+0.7031484375000 0.0000052403840
+1.0547226562500 0.0000075480918
+1.4062968750000 0.0000095654575
+1.7578710937500 0.0000111894742
+2.1094453125000 0.0000125433057
+2.4610195312500 0.0000137506859
diff --git a/test/whisky_test_tov_ppm/kxy_maximum.xg b/test/whisky_test_tov_ppm/kxy_maximum.xg
new file mode 100644
index 0000000..eaac757
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxy_maximum.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000014511950
+0.7031484375000 0.0000035890759
+1.0547226562500 0.0000077664976
+1.4062968750000 0.0000116685001
+1.7578710937500 0.0000136909250
+2.1094453125000 0.0000126900972
+2.4610195312500 0.0000150428996
diff --git a/test/whisky_test_tov_ppm/kxy_minimum.xg b/test/whisky_test_tov_ppm/kxy_minimum.xg
new file mode 100644
index 0000000..e2c80a8
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxy_minimum.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000014513240
+0.7031484375000 -0.0000035799436
+1.0547226562500 -0.0000077488970
+1.4062968750000 -0.0000116387715
+1.7578710937500 -0.0000136624751
+2.1094453125000 -0.0000126750502
+2.4610195312500 -0.0000150251954
diff --git a/test/whisky_test_tov_ppm/kxy_norm1.xg b/test/whisky_test_tov_ppm/kxy_norm1.xg
new file mode 100644
index 0000000..466b8b8
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxy_norm1.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000348824
+0.7031484375000 0.0000000950085
+1.0547226562500 0.0000001842996
+1.4062968750000 0.0000002920517
+1.7578710937500 0.0000004422341
+2.1094453125000 0.0000006368106
+2.4610195312500 0.0000008802129
diff --git a/test/whisky_test_tov_ppm/kxy_norm2.xg b/test/whisky_test_tov_ppm/kxy_norm2.xg
new file mode 100644
index 0000000..1b67a6d
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxy_norm2.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000001104126
+0.7031484375000 0.0000002998140
+1.0547226562500 0.0000005762468
+1.4062968750000 0.0000008690883
+1.7578710937500 0.0000011696764
+2.1094453125000 0.0000015418731
+2.4610195312500 0.0000020415003
diff --git a/test/whisky_test_tov_ppm/kxz_maximum.xg b/test/whisky_test_tov_ppm/kxz_maximum.xg
new file mode 100644
index 0000000..3ccd915
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxz_maximum.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000014511950
+0.7031484375000 0.0000035890759
+1.0547226562500 0.0000077664976
+1.4062968750000 0.0000116685001
+1.7578710937500 0.0000136909250
+2.1094453125000 0.0000126900972
+2.4610195312500 0.0000150428996
diff --git a/test/whisky_test_tov_ppm/kxz_minimum.xg b/test/whisky_test_tov_ppm/kxz_minimum.xg
new file mode 100644
index 0000000..7022987
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxz_minimum.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000014513240
+0.7031484375000 -0.0000035799436
+1.0547226562500 -0.0000077488970
+1.4062968750000 -0.0000116387715
+1.7578710937500 -0.0000136624751
+2.1094453125000 -0.0000126750502
+2.4610195312500 -0.0000150251954
diff --git a/test/whisky_test_tov_ppm/kxz_norm1.xg b/test/whisky_test_tov_ppm/kxz_norm1.xg
new file mode 100644
index 0000000..1906848
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxz_norm1.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000348824
+0.7031484375000 0.0000000950086
+1.0547226562500 0.0000001842997
+1.4062968750000 0.0000002920518
+1.7578710937500 0.0000004422342
+2.1094453125000 0.0000006368107
+2.4610195312500 0.0000008802129
diff --git a/test/whisky_test_tov_ppm/kxz_norm2.xg b/test/whisky_test_tov_ppm/kxz_norm2.xg
new file mode 100644
index 0000000..9a8eeea
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kxz_norm2.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000001104126
+0.7031484375000 0.0000002998140
+1.0547226562500 0.0000005762468
+1.4062968750000 0.0000008690883
+1.7578710937500 0.0000011696764
+2.1094453125000 0.0000015418731
+2.4610195312500 0.0000020415003
diff --git a/test/whisky_test_tov_ppm/kyy_maximum.xg b/test/whisky_test_tov_ppm/kyy_maximum.xg
new file mode 100644
index 0000000..9e023be
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyy_maximum.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000496886311
+0.7031484375000 0.0000900876246
+1.0547226562500 0.0001228926508
+1.4062968750000 0.0001615545285
+1.7578710937500 0.0001989186828
+2.1094453125000 0.0002333083415
+2.4610195312500 0.0002613531494
diff --git a/test/whisky_test_tov_ppm/kyy_minimum.xg b/test/whisky_test_tov_ppm/kyy_minimum.xg
new file mode 100644
index 0000000..d5dc3e4
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyy_minimum.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000200396561
+0.7031484375000 -0.0000396848169
+1.0547226562500 -0.0000522362442
+1.4062968750000 -0.0000498160192
+1.7578710937500 -0.0000427804901
+2.1094453125000 -0.0000517954274
+2.4610195312500 -0.0000559731836
diff --git a/test/whisky_test_tov_ppm/kyy_norm1.xg b/test/whisky_test_tov_ppm/kyy_norm1.xg
new file mode 100644
index 0000000..1dc961d
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyy_norm1.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008593393
+0.7031484375000 0.0000016778733
+1.0547226562500 0.0000024917296
+1.4062968750000 0.0000032502355
+1.7578710937500 0.0000039000146
+2.1094453125000 0.0000044092152
+2.4610195312500 0.0000048705536
diff --git a/test/whisky_test_tov_ppm/kyy_norm2.xg b/test/whisky_test_tov_ppm/kyy_norm2.xg
new file mode 100644
index 0000000..c207afd
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyy_norm2.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000027696398
+0.7031484375000 0.0000052403839
+1.0547226562500 0.0000075480918
+1.4062968750000 0.0000095654575
+1.7578710937500 0.0000111894743
+2.1094453125000 0.0000125433057
+2.4610195312500 0.0000137506858
diff --git a/test/whisky_test_tov_ppm/kyz_maximum.xg b/test/whisky_test_tov_ppm/kyz_maximum.xg
new file mode 100644
index 0000000..1d1d351
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyz_maximum.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000014511950
+0.7031484375000 0.0000035890759
+1.0547226562500 0.0000077664976
+1.4062968750000 0.0000116685001
+1.7578710937500 0.0000136909250
+2.1094453125000 0.0000126900972
+2.4610195312500 0.0000150428996
diff --git a/test/whisky_test_tov_ppm/kyz_minimum.xg b/test/whisky_test_tov_ppm/kyz_minimum.xg
new file mode 100644
index 0000000..c61e84a
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyz_minimum.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000014513240
+0.7031484375000 -0.0000035799436
+1.0547226562500 -0.0000077488970
+1.4062968750000 -0.0000116387715
+1.7578710937500 -0.0000136624751
+2.1094453125000 -0.0000126750502
+2.4610195312500 -0.0000150251954
diff --git a/test/whisky_test_tov_ppm/kyz_norm1.xg b/test/whisky_test_tov_ppm/kyz_norm1.xg
new file mode 100644
index 0000000..5e5bf88
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyz_norm1.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000348823
+0.7031484375000 0.0000000950086
+1.0547226562500 0.0000001842998
+1.4062968750000 0.0000002920519
+1.7578710937500 0.0000004422343
+2.1094453125000 0.0000006368107
+2.4610195312500 0.0000008802130
diff --git a/test/whisky_test_tov_ppm/kyz_norm2.xg b/test/whisky_test_tov_ppm/kyz_norm2.xg
new file mode 100644
index 0000000..206834b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kyz_norm2.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000001104126
+0.7031484375000 0.0000002998140
+1.0547226562500 0.0000005762468
+1.4062968750000 0.0000008690883
+1.7578710937500 0.0000011696764
+2.1094453125000 0.0000015418731
+2.4610195312500 0.0000020415003
diff --git a/test/whisky_test_tov_ppm/kzz_maximum.xg b/test/whisky_test_tov_ppm/kzz_maximum.xg
new file mode 100644
index 0000000..23eeff1
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kzz_maximum.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000496886311
+0.7031484375000 0.0000900876246
+1.0547226562500 0.0001228926508
+1.4062968750000 0.0001615545285
+1.7578710937500 0.0001989186828
+2.1094453125000 0.0002333083415
+2.4610195312500 0.0002613531494
diff --git a/test/whisky_test_tov_ppm/kzz_minimum.xg b/test/whisky_test_tov_ppm/kzz_minimum.xg
new file mode 100644
index 0000000..bd28135
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kzz_minimum.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000200396561
+0.7031484375000 -0.0000396848169
+1.0547226562500 -0.0000522362442
+1.4062968750000 -0.0000498160192
+1.7578710937500 -0.0000427804901
+2.1094453125000 -0.0000517954274
+2.4610195312500 -0.0000559731836
diff --git a/test/whisky_test_tov_ppm/kzz_norm1.xg b/test/whisky_test_tov_ppm/kzz_norm1.xg
new file mode 100644
index 0000000..8845971
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kzz_norm1.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008593377
+0.7031484375000 0.0000016778721
+1.0547226562500 0.0000024917319
+1.4062968750000 0.0000032502401
+1.7578710937500 0.0000039000179
+2.1094453125000 0.0000044092149
+2.4610195312500 0.0000048705498
diff --git a/test/whisky_test_tov_ppm/kzz_norm2.xg b/test/whisky_test_tov_ppm/kzz_norm2.xg
new file mode 100644
index 0000000..4d9d4db
--- /dev/null
+++ b/test/whisky_test_tov_ppm/kzz_norm2.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000027696397
+0.7031484375000 0.0000052403839
+1.0547226562500 0.0000075480918
+1.4062968750000 0.0000095654576
+1.7578710937500 0.0000111894743
+2.1094453125000 0.0000125433057
+2.4610195312500 0.0000137506857
diff --git a/test/whisky_test_tov_ppm/momx_3D_diagonal.xg b/test/whisky_test_tov_ppm/momx_3D_diagonal.xg
new file mode 100644
index 0000000..7494e89
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -1.1500484384e-08
+-2.2733058596e+01 3.5353041608e-09
+-2.1109206837e+01 1.7501122589e-08
+-1.9485355079e+01 2.7803072148e-08
+-1.7861503320e+01 4.5445451619e-08
+-1.6237651561e+01 7.7778848723e-08
+-1.4613799803e+01 1.4058498870e-07
+-1.2989948044e+01 2.7141762577e-07
+-1.1366096285e+01 5.6850028394e-07
+-9.7422445267e+00 1.1692247587e-06
+-8.1183927680e+00 -4.0812885501e-07
+-6.4945410093e+00 -3.3707148859e-07
+-4.8706892506e+00 -2.5394975788e-06
+-3.2468374920e+00 -5.7121429473e-06
+-1.6229857333e+00 -4.2999738208e-07
+8.6602540378e-04 5.2007748698e-08
+1.6247177841e+00 3.9267521417e-07
+3.2485695428e+00 5.7093078491e-06
+4.8724213015e+00 2.5365173699e-06
+6.4962730601e+00 3.3752668460e-07
+8.1201248188e+00 3.9544180611e-07
+9.7439765775e+00 -1.1697003472e-06
+1.1367828336e+01 -5.6803152811e-07
+1.2991680095e+01 -2.7122181287e-07
+1.4615531854e+01 -1.4048844301e-07
+1.6239383612e+01 -7.7735621691e-08
+1.7863235371e+01 -4.5422758536e-08
+1.9487087130e+01 -2.7790612393e-08
+2.1110938888e+01 -1.7494461847e-08
+2.2734790647e+01 -3.5327552254e-09
+2.4358642406e+01 1.1499936211e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.7255653983e-08
+-2.2733058596e+01 6.5077891738e-10
+-2.1109206837e+01 3.5019542890e-08
+-1.9485355079e+01 5.4935381273e-08
+-1.7861503320e+01 9.0863536649e-08
+-1.6237651561e+01 1.5556683131e-07
+-1.4613799803e+01 2.8121563624e-07
+-1.2989948044e+01 5.4307662435e-07
+-1.1366096285e+01 1.1381482561e-06
+-9.7422445267e+00 2.6422158755e-06
+-8.1183927680e+00 3.9784595532e-07
+-6.4945410093e+00 -1.1129791587e-06
+-4.8706892506e+00 -5.0528405566e-06
+-3.2468374920e+00 -1.1544657278e-05
+-1.6229857333e+00 -8.7131693332e-07
+8.6602540378e-04 9.6988555287e-08
+1.6247177841e+00 8.0256385057e-07
+3.2485695428e+00 1.1540025378e-05
+4.8724213015e+00 5.0467563708e-06
+6.4962730601e+00 1.1189235101e-06
+8.1201248188e+00 -4.2223890791e-07
+9.7439765775e+00 -2.6471062474e-06
+1.1367828336e+01 -1.1371885855e-06
+1.2991680095e+01 -5.4267772132e-07
+1.4615531854e+01 -2.8102857222e-07
+1.6239383612e+01 -1.5547108320e-07
+1.7863235371e+01 -9.0809236840e-08
+1.9487087130e+01 -5.4910225539e-08
+2.1110938888e+01 -3.5003989178e-08
+2.2734790647e+01 -6.4743616917e-10
+2.4358642406e+01 2.7250649021e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -4.6085090866e-08
+-2.2733058596e+01 -2.7607336837e-09
+-2.1109206837e+01 5.1810743841e-08
+-1.9485355079e+01 8.1303172793e-08
+-1.7861503320e+01 1.3593188338e-07
+-1.6237651561e+01 2.3334084734e-07
+-1.4613799803e+01 4.2193037673e-07
+-1.2989948044e+01 8.1518121662e-07
+-1.1366096285e+01 1.7080011247e-06
+-9.7422445267e+00 5.9599164986e-06
+-8.1183927680e+00 1.7642275118e-06
+-6.4945410093e+00 -4.2850307320e-06
+-4.8706892506e+00 -7.4961215797e-06
+-3.2468374920e+00 -1.7520545576e-05
+-1.6229857333e+00 -1.1484494113e-06
+8.6602540378e-04 1.3426544683e-07
+1.6247177841e+00 1.0538717199e-06
+3.2485695428e+00 1.7516187370e-05
+4.8724213015e+00 7.4866614608e-06
+6.4962730601e+00 4.3004564621e-06
+8.1201248188e+00 -1.7964368440e-06
+9.7439765775e+00 -5.9704148763e-06
+1.1367828336e+01 -1.7065554532e-06
+1.2991680095e+01 -8.1457177677e-07
+1.4615531854e+01 -4.2165036473e-07
+1.6239383612e+01 -2.3319847888e-07
+1.7863235371e+01 -1.3585267074e-07
+1.9487087130e+01 -8.1260106301e-08
+2.1110938888e+01 -5.1785887469e-08
+2.2734790647e+01 2.7632715382e-09
+2.4358642406e+01 4.6074349407e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.0954140310e-08
+-2.2733058596e+01 -5.2594521140e-09
+-2.1109206837e+01 6.6524610648e-08
+-1.9485355079e+01 1.0737590368e-07
+-1.7861503320e+01 1.8012130147e-07
+-1.6237651561e+01 3.1094167350e-07
+-1.4613799803e+01 5.6273998782e-07
+-1.2989948044e+01 1.0878766616e-06
+-1.1366096285e+01 2.2427486647e-06
+-9.7422445267e+00 9.9974566017e-06
+-8.1183927680e+00 2.8410466709e-06
+-6.4945410093e+00 -9.2461407400e-06
+-4.8706892506e+00 -9.8240675565e-06
+-3.2468374920e+00 -2.3475806257e-05
+-1.6229857333e+00 -1.2720191874e-06
+8.6602540378e-04 1.7609415991e-07
+1.6247177841e+00 1.1257735876e-06
+3.2485695428e+00 2.3487802732e-05
+4.8724213015e+00 9.8109406196e-06
+6.4962730601e+00 9.2701725205e-06
+8.1201248188e+00 -2.8784515830e-06
+9.7439765775e+00 -1.0011384550e-05
+1.1367828336e+01 -2.2410230523e-06
+1.2991680095e+01 -1.0870604213e-06
+1.4615531854e+01 -5.6236536773e-07
+1.6239383612e+01 -3.1075612588e-07
+1.7863235371e+01 -1.8002316150e-07
+1.9487087130e+01 -1.0731812830e-07
+2.1110938888e+01 -6.6492627246e-08
+2.2734790647e+01 5.2622137173e-09
+2.4358642406e+01 6.0939013737e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.8449153494e-08
+-2.2733058596e+01 -6.4576425289e-09
+-2.1109206837e+01 7.7890244149e-08
+-1.9485355079e+01 1.3384897150e-07
+-1.7861503320e+01 2.2312607131e-07
+-1.6237651561e+01 3.8794031632e-07
+-1.4613799803e+01 7.0356956466e-07
+-1.2989948044e+01 1.3612069933e-06
+-1.1366096285e+01 2.7294023394e-06
+-9.7422445267e+00 1.2125329807e-05
+-8.1183927680e+00 3.6225297367e-06
+-6.4945410093e+00 -1.3004176673e-05
+-4.8706892506e+00 -1.2058467897e-05
+-3.2468374920e+00 -2.9195882722e-05
+-1.6229857333e+00 -1.4117895210e-06
+8.6602540378e-04 2.0962649007e-07
+1.6247177841e+00 1.2209345113e-06
+3.2485695428e+00 2.9225692646e-05
+4.8724213015e+00 1.2042031422e-05
+6.4962730601e+00 1.3026144827e-05
+8.1201248188e+00 -3.6592479142e-06
+9.7439765775e+00 -1.2134433354e-05
+1.1367828336e+01 -2.7276751354e-06
+1.2991680095e+01 -1.3601938207e-06
+1.4615531854e+01 -7.0310196563e-07
+1.6239383612e+01 -3.8770843351e-07
+1.7863235371e+01 -2.2300570711e-07
+1.9487087130e+01 -1.3378081549e-07
+2.1110938888e+01 -7.7853583186e-08
+2.2734790647e+01 6.4620638982e-09
+2.4358642406e+01 6.8432414480e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.6644160369e-08
+-2.2733058596e+01 -6.2042128029e-09
+-2.1109206837e+01 8.5351271480e-08
+-1.9485355079e+01 1.6102524695e-07
+-1.7861503320e+01 2.6528612360e-07
+-1.6237651561e+01 4.6370210047e-07
+-1.4613799803e+01 8.4413254042e-07
+-1.2989948044e+01 1.6337184115e-06
+-1.1366096285e+01 3.3707562963e-06
+-9.7422445267e+00 1.1604617467e-05
+-8.1183927680e+00 4.6183820030e-06
+-6.4945410093e+00 -1.3568109410e-05
+-4.8706892506e+00 -1.4419778185e-05
+-3.2468374920e+00 -3.4326846087e-05
+-1.6229857333e+00 -1.5123516745e-06
+8.6602540378e-04 2.1770432294e-07
+1.6247177841e+00 1.2874271234e-06
+3.2485695428e+00 3.4381901825e-05
+4.8724213015e+00 1.4401047093e-05
+6.4962730601e+00 1.3566856457e-05
+8.1201248188e+00 -4.6638659151e-06
+9.7439765775e+00 -1.1595041240e-05
+1.1367828336e+01 -3.3683970150e-06
+1.2991680095e+01 -1.6325164341e-06
+1.4615531854e+01 -8.4357181713e-07
+1.6239383612e+01 -4.6342250841e-07
+1.7863235371e+01 -2.6514046129e-07
+1.9487087130e+01 -1.6094493656e-07
+2.1110938888e+01 -8.5309660516e-08
+2.2734790647e+01 6.2105789695e-09
+2.4358642406e+01 6.6629326828e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -5.6184157390e-08
+-2.2733058596e+01 -4.0102047296e-09
+-2.1109206837e+01 8.9348906556e-08
+-1.9485355079e+01 1.8831030089e-07
+-1.7861503320e+01 3.0767360093e-07
+-1.6237651561e+01 5.3775543422e-07
+-1.4613799803e+01 9.8382044364e-07
+-1.2989948044e+01 1.8960851782e-06
+-1.1366096285e+01 4.4375796479e-06
+-9.7422445267e+00 9.8912842457e-06
+-8.1183927680e+00 5.7228427216e-06
+-6.4945410093e+00 -1.1786636125e-05
+-4.8706892506e+00 -1.7324172937e-05
+-3.2468374920e+00 -3.8386603165e-05
+-1.6229857333e+00 -1.7425565495e-06
+8.6602540378e-04 2.5594891677e-07
+1.6247177841e+00 1.4633587382e-06
+3.2485695428e+00 3.8464162791e-05
+4.8724213015e+00 1.7304108470e-05
+6.4962730601e+00 1.1744900989e-05
+8.1201248188e+00 -5.7898831416e-06
+9.7439765775e+00 -9.8542667538e-06
+1.1367828336e+01 -4.4328638436e-06
+1.2991680095e+01 -1.8947404114e-06
+1.4615531854e+01 -9.8316413305e-07
+1.6239383612e+01 -5.3742962910e-07
+1.7863235371e+01 -3.0750388239e-07
+1.9487087130e+01 -1.8821582379e-07
+2.1110938888e+01 -8.9301419423e-08
+2.2734790647e+01 4.0193540962e-09
+2.4358642406e+01 5.6174814567e-08
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momx_maximum.xg b/test/whisky_test_tov_ppm/momx_maximum.xg
new file mode 100644
index 0000000..c9a7699
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_maximum.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000152413049
+0.7031484375000 0.0000243499614
+1.0547226562500 0.0000299348537
+1.4062968750000 0.0000346939402
+1.7578710937500 0.0000427176095
+2.1094453125000 0.0000503764518
+2.4610195312500 0.0000571873435
diff --git a/test/whisky_test_tov_ppm/momx_minimum.xg b/test/whisky_test_tov_ppm/momx_minimum.xg
new file mode 100644
index 0000000..a9a5538
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_minimum.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000152829533
+0.7031484375000 -0.0000243860266
+1.0547226562500 -0.0000299946790
+1.4062968750000 -0.0000346635940
+1.7578710937500 -0.0000426592270
+2.1094453125000 -0.0000502766919
+2.4610195312500 -0.0000570552652
diff --git a/test/whisky_test_tov_ppm/momx_norm1.xg b/test/whisky_test_tov_ppm/momx_norm1.xg
new file mode 100644
index 0000000..723f153
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_norm1.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000004745461
+0.7031484375000 0.0000008822220
+1.0547226562500 0.0000012144995
+1.4062968750000 0.0000014956385
+1.7578710937500 0.0000017051246
+2.1094453125000 0.0000019125793
+2.4610195312500 0.0000021191638
diff --git a/test/whisky_test_tov_ppm/momx_norm2.xg b/test/whisky_test_tov_ppm/momx_norm2.xg
new file mode 100644
index 0000000..491f867
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_norm2.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000015180194
+0.7031484375000 0.0000025320968
+1.0547226562500 0.0000033045447
+1.4062968750000 0.0000039343432
+1.7578710937500 0.0000043900031
+2.1094453125000 0.0000047514807
+2.4610195312500 0.0000051165592
diff --git a/test/whisky_test_tov_ppm/momx_x_[16][16].xg b/test/whisky_test_tov_ppm/momx_x_[16][16].xg
new file mode 100644
index 0000000..532339b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -7.3292635321e-07
+-1.3124937500e+01 -1.2545607215e-06
+-1.2187406250e+01 -1.1046038104e-06
+-1.1249875000e+01 -1.6963551235e-06
+-1.0312343750e+01 -2.8329438513e-06
+-9.3748125000e+00 2.5201302078e-06
+-8.4372812500e+00 4.1289601904e-06
+-7.4997500000e+00 -9.0524181481e-07
+-6.5622187500e+00 3.9077880855e-07
+-5.6246875000e+00 5.4484321690e-07
+-4.6871562500e+00 -5.3687218939e-07
+-3.7496250000e+00 -3.1662160286e-06
+-2.8120937500e+00 -6.8848224136e-06
+-1.8745625000e+00 -9.2646632238e-06
+-9.3703125000e-01 -2.4679594891e-07
+5.0000000000e-04 5.2007748698e-08
+9.3803125000e-01 2.0344897667e-07
+1.8755625000e+00 9.2642256105e-06
+2.8130937500e+00 6.8809156382e-06
+3.7506250000e+00 3.1626110293e-06
+4.6881562500e+00 5.3499224405e-07
+5.6256875000e+00 -5.4557276388e-07
+6.5632187500e+00 -3.8499335736e-07
+7.5007500000e+00 8.7826993458e-07
+8.4382812500e+00 -4.1348292136e-06
+9.3758125000e+00 -2.4862187354e-06
+1.0313343750e+01 2.8311738039e-06
+1.1250875000e+01 1.6957175962e-06
+1.2188406250e+01 1.1040857627e-06
+1.3125937500e+01 1.2541128671e-06
+1.4063468750e+01 7.3268724040e-07
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -2.2463104048e-06
+-1.3124937500e+01 -3.0158398519e-06
+-1.2187406250e+01 -2.1754497930e-06
+-1.1249875000e+01 -3.2660564986e-06
+-1.0312343750e+01 -5.4358749064e-06
+-9.3748125000e+00 3.9268581537e-06
+-8.4372812500e+00 8.3306329530e-06
+-7.4997500000e+00 -7.3986988159e-07
+-6.5622187500e+00 9.2958566886e-07
+-5.6246875000e+00 1.3947913676e-06
+-4.6871562500e+00 -7.0571403005e-07
+-3.7496250000e+00 -5.7983120774e-06
+-2.8120937500e+00 -1.3068283224e-05
+-1.8745625000e+00 -1.8001338315e-05
+-9.3703125000e-01 -1.9048037223e-07
+5.0000000000e-04 9.6988555287e-08
+9.3803125000e-01 1.0986179888e-07
+1.8755625000e+00 1.8001161791e-05
+2.8130937500e+00 1.3060242842e-05
+3.7506250000e+00 5.7913119861e-06
+4.6881562500e+00 7.0213047116e-07
+5.6256875000e+00 -1.3967303509e-06
+6.5632187500e+00 -9.1781429144e-07
+7.5007500000e+00 6.8932891922e-07
+8.4382812500e+00 -8.3410124557e-06
+9.3758125000e+00 -3.8644651962e-06
+1.0313343750e+01 5.4322495225e-06
+1.1250875000e+01 3.2653961083e-06
+1.2188406250e+01 2.1744855182e-06
+1.3125937500e+01 3.0148186868e-06
+1.4063468750e+01 2.2456242669e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -4.2989221427e-06
+-1.3124937500e+01 -4.8649709801e-06
+-1.2187406250e+01 -3.2146314676e-06
+-1.1249875000e+01 -4.7517715395e-06
+-1.0312343750e+01 -7.4366554103e-06
+-9.3748125000e+00 3.6801949098e-06
+-8.4372812500e+00 1.2246188811e-05
+-7.4997500000e+00 9.4867959948e-07
+-6.5622187500e+00 1.3364383155e-06
+-5.6246875000e+00 2.3450397451e-06
+-4.6871562500e+00 -8.8157660185e-07
+-3.7496250000e+00 -8.2615965514e-06
+-2.8120937500e+00 -1.8754579920e-05
+-1.8745625000e+00 -2.6411869732e-05
+-9.3703125000e-01 2.4020375996e-08
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 -1.3565563207e-07
+1.8755625000e+00 2.6413988924e-05
+2.8130937500e+00 1.8741971978e-05
+3.7506250000e+00 8.2514506850e-06
+4.6881562500e+00 8.7628520578e-07
+5.6256875000e+00 -2.3483405530e-06
+6.5632187500e+00 -1.3198608590e-06
+7.5007500000e+00 -1.0147177431e-06
+8.4382812500e+00 -1.2260619545e-05
+9.3758125000e+00 -3.5999446511e-06
+1.0313343750e+01 7.4330792170e-06
+1.1250875000e+01 4.7510941076e-06
+1.2188406250e+01 3.2135098342e-06
+1.3125937500e+01 4.8633724821e-06
+1.4063468750e+01 4.2976510648e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -6.3697814457e-06
+-1.3124937500e+01 -6.5907539382e-06
+-1.2187406250e+01 -4.3063924532e-06
+-1.1249875000e+01 -6.2314725701e-06
+-1.0312343750e+01 -8.5098174495e-06
+-9.3748125000e+00 1.8062700418e-06
+-8.4372812500e+00 1.5829956657e-05
+-7.4997500000e+00 4.2042695094e-06
+-6.5622187500e+00 1.0239447485e-06
+-5.6246875000e+00 3.1520789859e-06
+-4.6871562500e+00 -1.4529196229e-06
+-3.7496250000e+00 -1.1009319146e-05
+-2.8120937500e+00 -2.4321364910e-05
+-1.8745625000e+00 -3.4663594046e-05
+-9.3703125000e-01 1.1574821481e-08
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 -1.8301493696e-07
+1.8755625000e+00 3.4693940233e-05
+2.8130937500e+00 2.4303924896e-05
+3.7506250000e+00 1.0996186673e-05
+4.6881562500e+00 1.4456198769e-06
+5.6256875000e+00 -3.1560436165e-06
+6.5632187500e+00 -1.0045834818e-06
+7.5007500000e+00 -4.2724990115e-06
+8.4382812500e+00 -1.5851061127e-05
+9.3758125000e+00 -1.7240846312e-06
+1.0313343750e+01 8.5109805216e-06
+1.1250875000e+01 6.2298065506e-06
+1.2188406250e+01 4.3054255189e-06
+1.3125937500e+01 6.5887004467e-06
+1.4063468750e+01 6.3679171591e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -8.0455441866e-06
+-1.3124937500e+01 -8.0645705129e-06
+-1.2187406250e+01 -5.5946476259e-06
+-1.1249875000e+01 -7.6787688916e-06
+-1.0312343750e+01 -8.5670626093e-06
+-9.3748125000e+00 -7.9354215540e-07
+-8.4372812500e+00 1.9526306440e-05
+-7.4997500000e+00 8.4386350706e-06
+-6.5622187500e+00 -6.3369086575e-07
+-5.6246875000e+00 3.4216807989e-06
+-4.6871562500e+00 -2.6273342026e-06
+-3.7496250000e+00 -1.4377947563e-05
+-2.8120937500e+00 -3.0144747226e-05
+-1.8745625000e+00 -4.2659226962e-05
+-9.3703125000e-01 -8.7019910330e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 6.4849307065e-07
+1.8755625000e+00 4.2717609524e-05
+2.8130937500e+00 3.0122419513e-05
+3.7506250000e+00 1.4361727911e-05
+4.6881562500e+00 2.6175179936e-06
+5.6256875000e+00 -3.4240291645e-06
+6.5632187500e+00 6.5486884051e-07
+7.5007500000e+00 -8.4924386161e-06
+8.4382812500e+00 -1.9560323486e-05
+9.3758125000e+00 8.5836939100e-07
+1.0313343750e+01 8.5790409745e-06
+1.1250875000e+01 7.6749984587e-06
+1.2188406250e+01 5.5937211777e-06
+1.3125937500e+01 8.0623060294e-06
+1.4063468750e+01 8.0431943569e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.0639285725e-06
+-1.3124937500e+01 -9.2195618060e-06
+-1.2187406250e+01 -7.1933024923e-06
+-1.1249875000e+01 -8.9126375093e-06
+-1.0312343750e+01 -7.7460862169e-06
+-9.3748125000e+00 -2.2963752559e-06
+-8.4372812500e+00 2.3621209381e-05
+-7.4997500000e+00 1.2528248733e-05
+-6.5622187500e+00 -3.5796008911e-06
+-5.6246875000e+00 2.4565168624e-06
+-4.6871562500e+00 -4.3595381862e-06
+-3.7496250000e+00 -1.8487200230e-05
+-2.8120937500e+00 -3.6416821894e-05
+-1.8745625000e+00 -5.0276691875e-05
+-9.3703125000e-01 -2.7485707234e-06
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.4908095893e-06
+1.8755625000e+00 5.0376451751e-05
+2.8130937500e+00 3.6390593162e-05
+3.7506250000e+00 1.8466398708e-05
+4.6881562500e+00 4.3470310713e-06
+5.6256875000e+00 -2.4525089569e-06
+6.5632187500e+00 3.6014838181e-06
+7.5007500000e+00 -1.2552441882e-05
+8.4382812500e+00 -2.3672349545e-05
+9.3758125000e+00 2.3230344511e-06
+1.0313343750e+01 7.7726344901e-06
+1.1250875000e+01 8.9070440202e-06
+1.2188406250e+01 7.1915767278e-06
+1.3125937500e+01 9.2173169193e-06
+1.4063468750e+01 9.0613131499e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.3504720478e-06
+-1.3124937500e+01 -1.0042626437e-05
+-1.2187406250e+01 -9.0684356670e-06
+-1.1249875000e+01 -9.6680206237e-06
+-1.0312343750e+01 -6.1618977610e-06
+-9.3748125000e+00 -7.1282673645e-07
+-8.4372812500e+00 2.7282130538e-05
+-7.4997500000e+00 1.5368881893e-05
+-6.5622187500e+00 -6.4239579711e-06
+-5.6246875000e+00 -5.5187076613e-07
+-4.6871562500e+00 -6.4976655116e-06
+-3.7496250000e+00 -2.3021054228e-05
+-2.8120937500e+00 -4.3156791522e-05
+-1.8745625000e+00 -5.7055265199e-05
+-9.3703125000e-01 -5.6505001399e-06
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 5.3339041464e-06
+1.8755625000e+00 5.7187343487e-05
+2.8130937500e+00 4.3126722439e-05
+3.7506250000e+00 2.2996968800e-05
+4.6881562500e+00 6.4833488212e-06
+5.6256875000e+00 5.6794577859e-07
+6.5632187500e+00 6.4412556622e-06
+7.5007500000e+00 -1.5355903165e-05
+8.4382812500e+00 -2.7343780832e-05
+9.3758125000e+00 6.8561603273e-07
+1.0313343750e+01 6.2002261771e-06
+1.1250875000e+01 9.6632273935e-06
+1.2188406250e+01 9.0646306519e-06
+1.3125937500e+01 1.0040364911e-05
+1.4063468750e+01 9.3478965690e-06
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momx_y_[16][16].xg b/test/whisky_test_tov_ppm/momx_y_[16][16].xg
new file mode 100644
index 0000000..2e8a120
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612765e-11
+-1.3124937500e+01 7.1639694307e-11
+-1.2187406250e+01 1.2758516703e-10
+-1.1249875000e+01 1.9495832611e-10
+-1.0312343750e+01 4.0046632500e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691932e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347887e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037116e-08
+5.0000000000e-04 5.2007748698e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836105e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105821e-10
+1.0313343750e+01 4.0144703128e-10
+1.1250875000e+01 1.9521839907e-10
+1.2188406250e+01 1.2795035042e-10
+1.3125937500e+01 7.1933751993e-11
+1.4063468750e+01 2.5988303484e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663657723e-11
+-1.3124937500e+01 1.4484597673e-10
+-1.2187406250e+01 2.4114862165e-10
+-1.1249875000e+01 4.1636153252e-10
+-1.0312343750e+01 8.9530427289e-10
+-9.3748125000e+00 1.2034105932e-10
+-8.4372812500e+00 -2.0977324575e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030360e-09
+-5.6246875000e+00 1.0788038320e-08
+-4.6871562500e+00 2.0259473897e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855488e-08
+-9.3703125000e-01 9.0796016040e-08
+5.0000000000e-04 9.6988555287e-08
+9.3803125000e-01 9.0767400620e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902104e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946101e-09
+7.5007500000e+00 2.6986276656e-09
+8.4382812500e+00 -2.0777447375e-09
+9.3758125000e+00 1.2572010965e-10
+1.0313343750e+01 8.9463866611e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142071e-10
+1.3125937500e+01 1.4449716124e-10
+1.4063468750e+01 4.4999211207e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053337598e-11
+-1.3124937500e+01 2.0264596551e-10
+-1.2187406250e+01 3.6204669354e-10
+-1.1249875000e+01 6.8287585751e-10
+-1.0312343750e+01 1.2772088077e-09
+-9.3748125000e+00 -5.9276130097e-10
+-8.4372812500e+00 -5.3101135256e-10
+-7.4997500000e+00 2.5975431437e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643287e-08
+-4.6871562500e+00 2.7915123061e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017068e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060943e-08
+6.5632187500e+00 8.2907425206e-09
+7.5007500000e+00 2.6104629434e-09
+8.4382812500e+00 -5.0872020525e-10
+9.3758125000e+00 -5.8368013872e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738084e-10
+1.2188406250e+01 3.6056736457e-10
+1.3125937500e+01 2.0172010166e-10
+1.4063468750e+01 7.7845938959e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192965839e-10
+-1.3124937500e+01 2.4708060785e-10
+-1.2187406250e+01 5.0270188081e-10
+-1.1249875000e+01 9.7120172650e-10
+-1.0312343750e+01 1.2757737087e-09
+-9.3748125000e+00 -9.4205341402e-10
+-8.4372812500e+00 2.1357913910e-09
+-7.4997500000e+00 2.3993000361e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022095e-08
+-4.6871562500e+00 3.6445204777e-08
+-3.7496250000e+00 6.2027955097e-08
+-2.8120937500e+00 9.5915903771e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287856e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204081e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405232e-09
+8.4382812500e+00 2.1578036388e-09
+9.3758125000e+00 -9.2922293888e-10
+1.0313343750e+01 1.2727572019e-09
+1.1250875000e+01 9.6867598019e-10
+1.2188406250e+01 5.0079513184e-10
+1.3125937500e+01 2.4643853776e-10
+1.4063468750e+01 1.2142607018e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729863817e-10
+-1.3124937500e+01 2.9716364522e-10
+-1.2187406250e+01 6.5604436176e-10
+-1.1249875000e+01 1.1824872743e-09
+-1.0312343750e+01 8.5322562623e-10
+-9.3748125000e+00 -1.2987585935e-10
+-8.4372812500e+00 4.8587417858e-09
+-7.4997500000e+00 3.2617665284e-09
+-6.5622187500e+00 1.4333507019e-08
+-5.6246875000e+00 2.3700933098e-08
+-4.6871562500e+00 4.3443742964e-08
+-3.7496250000e+00 7.3878364335e-08
+-2.8120937500e+00 1.1416658978e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436239e-08
+4.6881562500e+00 4.3410737934e-08
+5.6256875000e+00 2.3699373252e-08
+6.5632187500e+00 1.4340974035e-08
+7.5007500000e+00 3.2774431530e-09
+8.4382812500e+00 4.8812118963e-09
+9.3758125000e+00 -1.1450041705e-10
+1.0313343750e+01 8.5393319018e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893421e-10
+1.3125937500e+01 2.9713469607e-10
+1.4063468750e+01 1.6741135489e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149387090e-10
+-1.3124937500e+01 3.6877435259e-10
+-1.2187406250e+01 7.9580281132e-10
+-1.1249875000e+01 1.1867121955e-09
+-1.0312343750e+01 3.6977962574e-10
+-9.3748125000e+00 2.1012668336e-09
+-8.4372812500e+00 6.6325627499e-09
+-7.4997500000e+00 6.1465240956e-09
+-6.5622187500e+00 1.6167036108e-08
+-5.6246875000e+00 2.7912405213e-08
+-4.6871562500e+00 4.9176211918e-08
+-3.7496250000e+00 7.7177238723e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341461e-07
+2.8130937500e+00 1.1818759116e-07
+3.7506250000e+00 7.7134711834e-08
+4.6881562500e+00 4.9128384046e-08
+5.6256875000e+00 2.7895328299e-08
+6.5632187500e+00 1.6178146656e-08
+7.5007500000e+00 6.1538332901e-09
+8.4382812500e+00 6.6561488412e-09
+9.3758125000e+00 2.1176528834e-09
+1.0313343750e+01 3.7672440477e-10
+1.1250875000e+01 1.1861935861e-09
+1.2188406250e+01 7.9719100306e-10
+1.3125937500e+01 3.6918303645e-10
+1.4063468750e+01 2.1223063759e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600474010e-10
+-1.3124937500e+01 4.6217703249e-10
+-1.2187406250e+01 8.7347467555e-10
+-1.1249875000e+01 9.6157087963e-10
+-1.0312343750e+01 4.4257937533e-10
+-9.3748125000e+00 5.0710136306e-09
+-8.4372812500e+00 6.9858019084e-09
+-7.4997500000e+00 1.0958545628e-08
+-6.5622187500e+00 1.6322529474e-08
+-5.6246875000e+00 3.2352903088e-08
+-4.6871562500e+00 4.9794659620e-08
+-3.7496250000e+00 9.0009929077e-08
+-2.8120937500e+00 1.3902175064e-07
+-1.8745625000e+00 1.9323709375e-07
+-9.3703125000e-01 2.4084448920e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050101e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638454e-07
+3.7506250000e+00 8.9989146792e-08
+4.6881562500e+00 4.9739872218e-08
+5.6256875000e+00 3.2324925821e-08
+6.5632187500e+00 1.6342260838e-08
+7.5007500000e+00 1.0964358478e-08
+8.4382812500e+00 7.0082319351e-09
+9.3758125000e+00 5.0877085436e-09
+1.0313343750e+01 4.5463840121e-10
+1.1250875000e+01 9.6305307254e-10
+1.2188406250e+01 8.7628908876e-10
+1.3125937500e+01 4.6294633787e-10
+1.4063468750e+01 2.5650106598e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momx_z_[16][16].xg b/test/whisky_test_tov_ppm/momx_z_[16][16].xg
new file mode 100644
index 0000000..69ef1e1
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momx_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612754e-11
+-1.3124937500e+01 7.1639694313e-11
+-1.2187406250e+01 1.2758516705e-10
+-1.1249875000e+01 1.9495832609e-10
+-1.0312343750e+01 4.0046632507e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691931e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347886e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364402e-08
+-9.3703125000e-01 4.8571037115e-08
+5.0000000000e-04 5.2007748698e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836105e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105822e-10
+1.0313343750e+01 4.0144703130e-10
+1.1250875000e+01 1.9521839906e-10
+1.2188406250e+01 1.2795035041e-10
+1.3125937500e+01 7.1933751991e-11
+1.4063468750e+01 2.5988303495e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663675147e-11
+-1.3124937500e+01 1.4484597260e-10
+-1.2187406250e+01 2.4114862170e-10
+-1.1249875000e+01 4.1636153251e-10
+-1.0312343750e+01 8.9530427299e-10
+-9.3748125000e+00 1.2034105931e-10
+-8.4372812500e+00 -2.0977324576e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030361e-09
+-5.6246875000e+00 1.0788038320e-08
+-4.6871562500e+00 2.0259473897e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646318e-08
+-1.8745625000e+00 7.3625855488e-08
+-9.3703125000e-01 9.0796016040e-08
+5.0000000000e-04 9.6988555287e-08
+9.3803125000e-01 9.0767400619e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943279e-08
+6.5632187500e+00 5.5864946098e-09
+7.5007500000e+00 2.6986276658e-09
+8.4382812500e+00 -2.0777447375e-09
+9.3758125000e+00 1.2572010963e-10
+1.0313343750e+01 8.9463866611e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142070e-10
+1.3125937500e+01 1.4449716123e-10
+1.4063468750e+01 4.4999211234e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053368733e-11
+-1.3124937500e+01 2.0264595840e-10
+-1.2187406250e+01 3.6204669361e-10
+-1.1249875000e+01 6.8287585751e-10
+-1.0312343750e+01 1.2772088078e-09
+-9.3748125000e+00 -5.9276130096e-10
+-8.4372812500e+00 -5.3101135263e-10
+-7.4997500000e+00 2.5975431428e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643288e-08
+-4.6871562500e+00 2.7915123062e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017069e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060943e-08
+6.5632187500e+00 8.2907425203e-09
+7.5007500000e+00 2.6104629436e-09
+8.4382812500e+00 -5.0872020527e-10
+9.3758125000e+00 -5.8368013879e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738085e-10
+1.2188406250e+01 3.6056736457e-10
+1.3125937500e+01 2.0172010163e-10
+1.4063468750e+01 7.7845940028e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967899e-10
+-1.3124937500e+01 2.4708060491e-10
+-1.2187406250e+01 5.0270188050e-10
+-1.1249875000e+01 9.7120172648e-10
+-1.0312343750e+01 1.2757737088e-09
+-9.3748125000e+00 -9.4205341397e-10
+-8.4372812500e+00 2.1357913866e-09
+-7.4997500000e+00 2.3993000395e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022096e-08
+-4.6871562500e+00 3.6445204777e-08
+-3.7496250000e+00 6.2027955109e-08
+-2.8120937500e+00 9.5915903765e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287853e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204081e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405233e-09
+8.4382812500e+00 2.1578036387e-09
+9.3758125000e+00 -9.2922293894e-10
+1.0313343750e+01 1.2727572020e-09
+1.1250875000e+01 9.6867598020e-10
+1.2188406250e+01 5.0079513187e-10
+1.3125937500e+01 2.4643853804e-10
+1.4063468750e+01 1.2142607268e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729858587e-10
+-1.3124937500e+01 2.9716363345e-10
+-1.2187406250e+01 6.5604436258e-10
+-1.1249875000e+01 1.1824872743e-09
+-1.0312343750e+01 8.5322562629e-10
+-9.3748125000e+00 -1.2987585933e-10
+-8.4372812500e+00 4.8587417823e-09
+-7.4997500000e+00 3.2617665311e-09
+-6.5622187500e+00 1.4333507019e-08
+-5.6246875000e+00 2.3700933099e-08
+-4.6871562500e+00 4.3443742971e-08
+-3.7496250000e+00 7.3878364346e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436238e-08
+4.6881562500e+00 4.3410737933e-08
+5.6256875000e+00 2.3699373253e-08
+6.5632187500e+00 1.4340974037e-08
+7.5007500000e+00 3.2774431531e-09
+8.4382812500e+00 4.8812118962e-09
+9.3758125000e+00 -1.1450041706e-10
+1.0313343750e+01 8.5393319493e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893434e-10
+1.3125937500e+01 2.9713470264e-10
+1.4063468750e+01 1.6741133217e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149390843e-10
+-1.3124937500e+01 3.6877430740e-10
+-1.2187406250e+01 7.9580282061e-10
+-1.1249875000e+01 1.1867121954e-09
+-1.0312343750e+01 3.6977962580e-10
+-9.3748125000e+00 2.1012668338e-09
+-8.4372812500e+00 6.6325627549e-09
+-7.4997500000e+00 6.1465240771e-09
+-6.5622187500e+00 1.6167036112e-08
+-5.6246875000e+00 2.7912405211e-08
+-4.6871562500e+00 4.9176211954e-08
+-3.7496250000e+00 7.7177238734e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341460e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711834e-08
+4.6881562500e+00 4.9128384045e-08
+5.6256875000e+00 2.7895328299e-08
+6.5632187500e+00 1.6178146651e-08
+7.5007500000e+00 6.1538332902e-09
+8.4382812500e+00 6.6561488412e-09
+9.3758125000e+00 2.1176528834e-09
+1.0313343750e+01 3.7672440044e-10
+1.1250875000e+01 1.1861935861e-09
+1.2188406250e+01 7.9719100339e-10
+1.3125937500e+01 3.6918303160e-10
+1.4063468750e+01 2.1223065504e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600477101e-10
+-1.3124937500e+01 4.6217699672e-10
+-1.2187406250e+01 8.7347469091e-10
+-1.1249875000e+01 9.6157088001e-10
+-1.0312343750e+01 4.4257937539e-10
+-9.3748125000e+00 5.0710136306e-09
+-8.4372812500e+00 6.9858019043e-09
+-7.4997500000e+00 1.0958545619e-08
+-6.5622187500e+00 1.6322529472e-08
+-5.6246875000e+00 3.2352903083e-08
+-4.6871562500e+00 4.9794659647e-08
+-3.7496250000e+00 9.0009929064e-08
+-2.8120937500e+00 1.3902175066e-07
+-1.8745625000e+00 1.9323709372e-07
+-9.3703125000e-01 2.4084448922e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050100e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638452e-07
+3.7506250000e+00 8.9989146797e-08
+4.6881562500e+00 4.9739872217e-08
+5.6256875000e+00 3.2324925826e-08
+6.5632187500e+00 1.6342260829e-08
+7.5007500000e+00 1.0964358473e-08
+8.4382812500e+00 7.0082319644e-09
+9.3758125000e+00 5.0877085178e-09
+1.0313343750e+01 4.5463836818e-10
+1.1250875000e+01 9.6305307280e-10
+1.2188406250e+01 8.7628908902e-10
+1.3125937500e+01 4.6294631537e-10
+1.4063468750e+01 2.5650117003e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momy_3D_diagonal.xg b/test/whisky_test_tov_ppm/momy_3D_diagonal.xg
new file mode 100644
index 0000000..9c5ca08
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -1.1500484384e-08
+-2.2733058596e+01 3.5353041608e-09
+-2.1109206837e+01 1.7501122589e-08
+-1.9485355079e+01 2.7803072148e-08
+-1.7861503320e+01 4.5445451619e-08
+-1.6237651561e+01 7.7778848723e-08
+-1.4613799803e+01 1.4058498870e-07
+-1.2989948044e+01 2.7141762578e-07
+-1.1366096285e+01 5.6850028394e-07
+-9.7422445267e+00 1.1692247587e-06
+-8.1183927680e+00 -4.0812885501e-07
+-6.4945410093e+00 -3.3707148858e-07
+-4.8706892506e+00 -2.5394975788e-06
+-3.2468374920e+00 -5.7121429473e-06
+-1.6229857333e+00 -4.2999738209e-07
+8.6602540378e-04 5.2007748697e-08
+1.6247177841e+00 3.9267521417e-07
+3.2485695428e+00 5.7093078491e-06
+4.8724213015e+00 2.5365173699e-06
+6.4962730601e+00 3.3752668460e-07
+8.1201248188e+00 3.9544180611e-07
+9.7439765775e+00 -1.1697003472e-06
+1.1367828336e+01 -5.6803152811e-07
+1.2991680095e+01 -2.7122181287e-07
+1.4615531854e+01 -1.4048844301e-07
+1.6239383612e+01 -7.7735621691e-08
+1.7863235371e+01 -4.5422758524e-08
+1.9487087130e+01 -2.7790612393e-08
+2.1110938888e+01 -1.7494461847e-08
+2.2734790647e+01 -3.5327552254e-09
+2.4358642406e+01 1.1499936211e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.7255653983e-08
+-2.2733058596e+01 6.5077891738e-10
+-2.1109206837e+01 3.5019542890e-08
+-1.9485355079e+01 5.4935381273e-08
+-1.7861503320e+01 9.0863536649e-08
+-1.6237651561e+01 1.5556683131e-07
+-1.4613799803e+01 2.8121563624e-07
+-1.2989948044e+01 5.4307662435e-07
+-1.1366096285e+01 1.1381482561e-06
+-9.7422445267e+00 2.6422158755e-06
+-8.1183927680e+00 3.9784595532e-07
+-6.4945410093e+00 -1.1129791587e-06
+-4.8706892506e+00 -5.0528405566e-06
+-3.2468374920e+00 -1.1544657278e-05
+-1.6229857333e+00 -8.7131693332e-07
+8.6602540378e-04 9.6988555286e-08
+1.6247177841e+00 8.0256385057e-07
+3.2485695428e+00 1.1540025378e-05
+4.8724213015e+00 5.0467563708e-06
+6.4962730601e+00 1.1189235101e-06
+8.1201248188e+00 -4.2223890791e-07
+9.7439765775e+00 -2.6471062474e-06
+1.1367828336e+01 -1.1371885855e-06
+1.2991680095e+01 -5.4267772133e-07
+1.4615531854e+01 -2.8102857221e-07
+1.6239383612e+01 -1.5547108321e-07
+1.7863235371e+01 -9.0809236827e-08
+1.9487087130e+01 -5.4910225539e-08
+2.1110938888e+01 -3.5003989178e-08
+2.2734790647e+01 -6.4743616259e-10
+2.4358642406e+01 2.7250649021e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -4.6085090872e-08
+-2.2733058596e+01 -2.7607336903e-09
+-2.1109206837e+01 5.1810743841e-08
+-1.9485355079e+01 8.1303172793e-08
+-1.7861503320e+01 1.3593188338e-07
+-1.6237651561e+01 2.3334084733e-07
+-1.4613799803e+01 4.2193037675e-07
+-1.2989948044e+01 8.1518121662e-07
+-1.1366096285e+01 1.7080011247e-06
+-9.7422445267e+00 5.9599164986e-06
+-8.1183927680e+00 1.7642275118e-06
+-6.4945410093e+00 -4.2850307320e-06
+-4.8706892506e+00 -7.4961215797e-06
+-3.2468374920e+00 -1.7520545576e-05
+-1.6229857333e+00 -1.1484494113e-06
+8.6602540378e-04 1.3426544683e-07
+1.6247177841e+00 1.0538717199e-06
+3.2485695428e+00 1.7516187370e-05
+4.8724213015e+00 7.4866614608e-06
+6.4962730601e+00 4.3004564621e-06
+8.1201248188e+00 -1.7964368440e-06
+9.7439765775e+00 -5.9704148763e-06
+1.1367828336e+01 -1.7065554532e-06
+1.2991680095e+01 -8.1457177678e-07
+1.4615531854e+01 -4.2165036472e-07
+1.6239383612e+01 -2.3319847889e-07
+1.7863235371e+01 -1.3585267073e-07
+1.9487087130e+01 -8.1260106301e-08
+2.1110938888e+01 -5.1785887469e-08
+2.2734790647e+01 2.7632715382e-09
+2.4358642406e+01 4.6074349401e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.0954140308e-08
+-2.2733058596e+01 -5.2594521271e-09
+-2.1109206837e+01 6.6524610648e-08
+-1.9485355079e+01 1.0737590367e-07
+-1.7861503320e+01 1.8012130148e-07
+-1.6237651561e+01 3.1094167349e-07
+-1.4613799803e+01 5.6273998783e-07
+-1.2989948044e+01 1.0878766616e-06
+-1.1366096285e+01 2.2427486647e-06
+-9.7422445267e+00 9.9974566017e-06
+-8.1183927680e+00 2.8410466709e-06
+-6.4945410093e+00 -9.2461407400e-06
+-4.8706892506e+00 -9.8240675566e-06
+-3.2468374920e+00 -2.3475806257e-05
+-1.6229857333e+00 -1.2720191874e-06
+8.6602540378e-04 1.7609415991e-07
+1.6247177841e+00 1.1257735876e-06
+3.2485695428e+00 2.3487802732e-05
+4.8724213015e+00 9.8109406196e-06
+6.4962730601e+00 9.2701725205e-06
+8.1201248188e+00 -2.8784515830e-06
+9.7439765775e+00 -1.0011384550e-05
+1.1367828336e+01 -2.2410230523e-06
+1.2991680095e+01 -1.0870604213e-06
+1.4615531854e+01 -5.6236536776e-07
+1.6239383612e+01 -3.1075612590e-07
+1.7863235371e+01 -1.8002316154e-07
+1.9487087130e+01 -1.0731812831e-07
+2.1110938888e+01 -6.6492627246e-08
+2.2734790647e+01 5.2622136910e-09
+2.4358642406e+01 6.0939013718e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.8449153470e-08
+-2.2733058596e+01 -6.4576425487e-09
+-2.1109206837e+01 7.7890244145e-08
+-1.9485355079e+01 1.3384897148e-07
+-1.7861503320e+01 2.2312607132e-07
+-1.6237651561e+01 3.8794031633e-07
+-1.4613799803e+01 7.0356956463e-07
+-1.2989948044e+01 1.3612069933e-06
+-1.1366096285e+01 2.7294023394e-06
+-9.7422445267e+00 1.2125329807e-05
+-8.1183927680e+00 3.6225297367e-06
+-6.4945410093e+00 -1.3004176673e-05
+-4.8706892506e+00 -1.2058467897e-05
+-3.2468374920e+00 -2.9195882722e-05
+-1.6229857333e+00 -1.4117895210e-06
+8.6602540378e-04 2.0962649007e-07
+1.6247177841e+00 1.2209345113e-06
+3.2485695428e+00 2.9225692646e-05
+4.8724213015e+00 1.2042031422e-05
+6.4962730601e+00 1.3026144827e-05
+8.1201248188e+00 -3.6592479142e-06
+9.7439765775e+00 -1.2134433354e-05
+1.1367828336e+01 -2.7276751354e-06
+1.2991680095e+01 -1.3601938207e-06
+1.4615531854e+01 -7.0310196566e-07
+1.6239383612e+01 -3.8770843352e-07
+1.7863235371e+01 -2.2300570714e-07
+1.9487087130e+01 -1.3378081543e-07
+2.1110938888e+01 -7.7853583173e-08
+2.2734790647e+01 6.4620639707e-09
+2.4358642406e+01 6.8432414456e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.6644160336e-08
+-2.2733058596e+01 -6.2042128095e-09
+-2.1109206837e+01 8.5351271480e-08
+-1.9485355079e+01 1.6102524696e-07
+-1.7861503320e+01 2.6528612360e-07
+-1.6237651561e+01 4.6370210048e-07
+-1.4613799803e+01 8.4413254039e-07
+-1.2989948044e+01 1.6337184115e-06
+-1.1366096285e+01 3.3707562964e-06
+-9.7422445267e+00 1.1604617467e-05
+-8.1183927680e+00 4.6183820030e-06
+-6.4945410093e+00 -1.3568109410e-05
+-4.8706892506e+00 -1.4419778185e-05
+-3.2468374920e+00 -3.4326846087e-05
+-1.6229857333e+00 -1.5123516745e-06
+8.6602540378e-04 2.1770432294e-07
+1.6247177841e+00 1.2874271234e-06
+3.2485695428e+00 3.4381901825e-05
+4.8724213015e+00 1.4401047093e-05
+6.4962730601e+00 1.3566856457e-05
+8.1201248188e+00 -4.6638659151e-06
+9.7439765775e+00 -1.1595041240e-05
+1.1367828336e+01 -3.3683970150e-06
+1.2991680095e+01 -1.6325164342e-06
+1.4615531854e+01 -8.4357181713e-07
+1.6239383612e+01 -4.6342250842e-07
+1.7863235371e+01 -2.6514046124e-07
+1.9487087130e+01 -1.6094493649e-07
+2.1110938888e+01 -8.5309660507e-08
+2.2734790647e+01 6.2105790253e-09
+2.4358642406e+01 6.6629326821e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -5.6184157366e-08
+-2.2733058596e+01 -4.0102047364e-09
+-2.1109206837e+01 8.9348906617e-08
+-1.9485355079e+01 1.8831030094e-07
+-1.7861503320e+01 3.0767360094e-07
+-1.6237651561e+01 5.3775543421e-07
+-1.4613799803e+01 9.8382044368e-07
+-1.2989948044e+01 1.8960851782e-06
+-1.1366096285e+01 4.4375796479e-06
+-9.7422445267e+00 9.8912842457e-06
+-8.1183927680e+00 5.7228427215e-06
+-6.4945410093e+00 -1.1786636125e-05
+-4.8706892506e+00 -1.7324172937e-05
+-3.2468374920e+00 -3.8386603165e-05
+-1.6229857333e+00 -1.7425565495e-06
+8.6602540378e-04 2.5594891677e-07
+1.6247177841e+00 1.4633587382e-06
+3.2485695428e+00 3.8464162791e-05
+4.8724213015e+00 1.7304108470e-05
+6.4962730601e+00 1.1744900989e-05
+8.1201248188e+00 -5.7898831417e-06
+9.7439765775e+00 -9.8542667537e-06
+1.1367828336e+01 -4.4328638436e-06
+1.2991680095e+01 -1.8947404115e-06
+1.4615531854e+01 -9.8316413302e-07
+1.6239383612e+01 -5.3742962911e-07
+1.7863235371e+01 -3.0750388241e-07
+1.9487087130e+01 -1.8821582378e-07
+2.1110938888e+01 -8.9301419465e-08
+2.2734790647e+01 4.0193540860e-09
+2.4358642406e+01 5.6174814556e-08
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momy_maximum.xg b/test/whisky_test_tov_ppm/momy_maximum.xg
new file mode 100644
index 0000000..1a5183b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_maximum.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000152413049
+0.7031484375000 0.0000243499614
+1.0547226562500 0.0000299348537
+1.4062968750000 0.0000346939402
+1.7578710937500 0.0000427176095
+2.1094453125000 0.0000503764518
+2.4610195312500 0.0000571873435
diff --git a/test/whisky_test_tov_ppm/momy_minimum.xg b/test/whisky_test_tov_ppm/momy_minimum.xg
new file mode 100644
index 0000000..9a79643
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_minimum.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000152829533
+0.7031484375000 -0.0000243860266
+1.0547226562500 -0.0000299946790
+1.4062968750000 -0.0000346635940
+1.7578710937500 -0.0000426592270
+2.1094453125000 -0.0000502766919
+2.4610195312500 -0.0000570552652
diff --git a/test/whisky_test_tov_ppm/momy_norm1.xg b/test/whisky_test_tov_ppm/momy_norm1.xg
new file mode 100644
index 0000000..65760c0
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_norm1.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000004745461
+0.7031484375000 0.0000008822220
+1.0547226562500 0.0000012144995
+1.4062968750000 0.0000014956385
+1.7578710937500 0.0000017051246
+2.1094453125000 0.0000019125793
+2.4610195312500 0.0000021191638
diff --git a/test/whisky_test_tov_ppm/momy_norm2.xg b/test/whisky_test_tov_ppm/momy_norm2.xg
new file mode 100644
index 0000000..ebf4635
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_norm2.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000015180194
+0.7031484375000 0.0000025320968
+1.0547226562500 0.0000033045447
+1.4062968750000 0.0000039343432
+1.7578710937500 0.0000043900031
+2.1094453125000 0.0000047514807
+2.4610195312500 0.0000051165592
diff --git a/test/whisky_test_tov_ppm/momy_x_[16][16].xg b/test/whisky_test_tov_ppm/momy_x_[16][16].xg
new file mode 100644
index 0000000..2233adb
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799609797e-11
+-1.3124937500e+01 7.1639694305e-11
+-1.2187406250e+01 1.2758516697e-10
+-1.1249875000e+01 1.9495832610e-10
+-1.0312343750e+01 4.0046632497e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691931e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347928e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733371e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037116e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827231e-08
+2.8130937500e+00 2.8434087058e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875288e-09
+6.5632187500e+00 2.8346836105e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105806e-10
+1.0313343750e+01 4.0144703122e-10
+1.1250875000e+01 1.9521839915e-10
+1.2188406250e+01 1.2795035040e-10
+1.3125937500e+01 7.1933751946e-11
+1.4063468750e+01 2.5988294714e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663651830e-11
+-1.3124937500e+01 1.4484597678e-10
+-1.2187406250e+01 2.4114862159e-10
+-1.1249875000e+01 4.1636153242e-10
+-1.0312343750e+01 8.9530427288e-10
+-9.3748125000e+00 1.2034105933e-10
+-8.4372812500e+00 -2.0977324575e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030362e-09
+-5.6246875000e+00 1.0788038325e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855487e-08
+-9.3703125000e-01 9.0796016041e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400612e-08
+1.8755625000e+00 7.3644235300e-08
+2.8130937500e+00 5.2978841168e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943279e-08
+6.5632187500e+00 5.5864946102e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447377e-09
+9.3758125000e+00 1.2572010952e-10
+1.0313343750e+01 8.9463866615e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142068e-10
+1.3125937500e+01 1.4449716123e-10
+1.4063468750e+01 4.4999208310e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053349335e-11
+-1.3124937500e+01 2.0264596561e-10
+-1.2187406250e+01 3.6204669910e-10
+-1.1249875000e+01 6.8287585729e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129838e-10
+-8.4372812500e+00 -5.3101135241e-10
+-7.4997500000e+00 2.5975431438e-09
+-6.5622187500e+00 8.2984941862e-09
+-5.6246875000e+00 1.4869643295e-08
+-4.6871562500e+00 2.7915123065e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339695e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017070e-08
+3.7506250000e+00 4.7352315647e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425205e-09
+7.5007500000e+00 2.6104629481e-09
+8.4382812500e+00 -5.0872020528e-10
+9.3758125000e+00 -5.8368013887e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738082e-10
+1.2188406250e+01 3.6056736451e-10
+1.3125937500e+01 2.0172010167e-10
+1.4063468750e+01 7.7845936019e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967310e-10
+-1.3124937500e+01 2.4708061360e-10
+-1.2187406250e+01 5.0270188634e-10
+-1.1249875000e+01 9.7120172640e-10
+-1.0312343750e+01 1.2757737086e-09
+-9.3748125000e+00 -9.4205340922e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000363e-09
+-6.5622187500e+00 1.1456710402e-08
+-5.6246875000e+00 1.9509022114e-08
+-4.6871562500e+00 3.6445204781e-08
+-3.7496250000e+00 6.2027955110e-08
+-2.8120937500e+00 9.5915903764e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763901e-08
+3.7506250000e+00 6.1930287852e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204093e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405277e-09
+8.4382812500e+00 2.1578036437e-09
+9.3758125000e+00 -9.2922293897e-10
+1.0313343750e+01 1.2727572019e-09
+1.1250875000e+01 9.6867598018e-10
+1.2188406250e+01 5.0079513747e-10
+1.3125937500e+01 2.4643853199e-10
+1.4063468750e+01 1.2142609367e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729864997e-10
+-1.3124937500e+01 2.9716359556e-10
+-1.2187406250e+01 6.5604436944e-10
+-1.1249875000e+01 1.1824872745e-09
+-1.0312343750e+01 8.5322562616e-10
+-9.3748125000e+00 -1.2987585258e-10
+-8.4372812500e+00 4.8587417858e-09
+-7.4997500000e+00 3.2617665331e-09
+-6.5622187500e+00 1.4333507006e-08
+-5.6246875000e+00 2.3700933131e-08
+-4.6871562500e+00 4.3443742982e-08
+-3.7496250000e+00 7.3878364347e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736785e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436238e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373229e-08
+6.5632187500e+00 1.4340974041e-08
+7.5007500000e+00 3.2774431528e-09
+8.4382812500e+00 4.8812119013e-09
+9.3758125000e+00 -1.1450041713e-10
+1.0313343750e+01 8.5393319010e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893983e-10
+1.3125937500e+01 2.9713468462e-10
+1.4063468750e+01 1.6741142250e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149390960e-10
+-1.3124937500e+01 3.6877424293e-10
+-1.2187406250e+01 7.9580283263e-10
+-1.1249875000e+01 1.1867121866e-09
+-1.0312343750e+01 3.6977962569e-10
+-9.3748125000e+00 2.1012668412e-09
+-8.4372812500e+00 6.6325627470e-09
+-7.4997500000e+00 6.1465241082e-09
+-6.5622187500e+00 1.6167036087e-08
+-5.6246875000e+00 2.7912405218e-08
+-4.6871562500e+00 4.9176211900e-08
+-3.7496250000e+00 7.7177238735e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617516e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341460e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711838e-08
+4.6881562500e+00 4.9128384011e-08
+5.6256875000e+00 2.7895328260e-08
+6.5632187500e+00 1.6178146655e-08
+7.5007500000e+00 6.1538332649e-09
+8.4382812500e+00 6.6561488535e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440464e-10
+1.1250875000e+01 1.1861935860e-09
+1.2188406250e+01 7.9719100870e-10
+1.3125937500e+01 3.6918304527e-10
+1.4063468750e+01 2.1223063709e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600475078e-10
+-1.3124937500e+01 4.6217702365e-10
+-1.2187406250e+01 8.7347464479e-10
+-1.1249875000e+01 9.6157088758e-10
+-1.0312343750e+01 4.4257940260e-10
+-9.3748125000e+00 5.0710136529e-09
+-8.4372812500e+00 6.9858018566e-09
+-7.4997500000e+00 1.0958545654e-08
+-6.5622187500e+00 1.6322529449e-08
+-5.6246875000e+00 3.2352903093e-08
+-4.6871562500e+00 4.9794659563e-08
+-3.7496250000e+00 9.0009929109e-08
+-2.8120937500e+00 1.3902175064e-07
+-1.8745625000e+00 1.9323709375e-07
+-9.3703125000e-01 2.4084448919e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050100e-07
+1.8755625000e+00 1.9320037841e-07
+2.8130937500e+00 1.3899638452e-07
+3.7506250000e+00 8.9989146804e-08
+4.6881562500e+00 4.9739872187e-08
+5.6256875000e+00 3.2324925759e-08
+6.5632187500e+00 1.6342260831e-08
+7.5007500000e+00 1.0964358455e-08
+8.4382812500e+00 7.0082319497e-09
+9.3758125000e+00 5.0877085486e-09
+1.0313343750e+01 4.5463839577e-10
+1.1250875000e+01 9.6305306706e-10
+1.2188406250e+01 8.7628912727e-10
+1.3125937500e+01 4.6294631828e-10
+1.4063468750e+01 2.5650113670e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momy_y_[16][16].xg b/test/whisky_test_tov_ppm/momy_y_[16][16].xg
new file mode 100644
index 0000000..e686cc5
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -7.3292635320e-07
+-1.3124937500e+01 -1.2545607215e-06
+-1.2187406250e+01 -1.1046038104e-06
+-1.1249875000e+01 -1.6963551235e-06
+-1.0312343750e+01 -2.8329438513e-06
+-9.3748125000e+00 2.5201302078e-06
+-8.4372812500e+00 4.1289601904e-06
+-7.4997500000e+00 -9.0524181481e-07
+-6.5622187500e+00 3.9077880855e-07
+-5.6246875000e+00 5.4484321690e-07
+-4.6871562500e+00 -5.3687218939e-07
+-3.7496250000e+00 -3.1662160286e-06
+-2.8120937500e+00 -6.8848224136e-06
+-1.8745625000e+00 -9.2646632238e-06
+-9.3703125000e-01 -2.4679594890e-07
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 2.0344897667e-07
+1.8755625000e+00 9.2642256105e-06
+2.8130937500e+00 6.8809156382e-06
+3.7506250000e+00 3.1626110293e-06
+4.6881562500e+00 5.3499224405e-07
+5.6256875000e+00 -5.4557276388e-07
+6.5632187500e+00 -3.8499335736e-07
+7.5007500000e+00 8.7826993458e-07
+8.4382812500e+00 -4.1348292136e-06
+9.3758125000e+00 -2.4862187354e-06
+1.0313343750e+01 2.8311738039e-06
+1.1250875000e+01 1.6957175962e-06
+1.2188406250e+01 1.1040857627e-06
+1.3125937500e+01 1.2541128671e-06
+1.4063468750e+01 7.3268724040e-07
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -2.2463104048e-06
+-1.3124937500e+01 -3.0158398519e-06
+-1.2187406250e+01 -2.1754497930e-06
+-1.1249875000e+01 -3.2660564986e-06
+-1.0312343750e+01 -5.4358749064e-06
+-9.3748125000e+00 3.9268581537e-06
+-8.4372812500e+00 8.3306329530e-06
+-7.4997500000e+00 -7.3986988159e-07
+-6.5622187500e+00 9.2958566885e-07
+-5.6246875000e+00 1.3947913676e-06
+-4.6871562500e+00 -7.0571403005e-07
+-3.7496250000e+00 -5.7983120774e-06
+-2.8120937500e+00 -1.3068283224e-05
+-1.8745625000e+00 -1.8001338315e-05
+-9.3703125000e-01 -1.9048037223e-07
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 1.0986179888e-07
+1.8755625000e+00 1.8001161791e-05
+2.8130937500e+00 1.3060242842e-05
+3.7506250000e+00 5.7913119861e-06
+4.6881562500e+00 7.0213047116e-07
+5.6256875000e+00 -1.3967303509e-06
+6.5632187500e+00 -9.1781429144e-07
+7.5007500000e+00 6.8932891922e-07
+8.4382812500e+00 -8.3410124557e-06
+9.3758125000e+00 -3.8644651962e-06
+1.0313343750e+01 5.4322495225e-06
+1.1250875000e+01 3.2653961083e-06
+1.2188406250e+01 2.1744855182e-06
+1.3125937500e+01 3.0148186868e-06
+1.4063468750e+01 2.2456242669e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -4.2989221427e-06
+-1.3124937500e+01 -4.8649709801e-06
+-1.2187406250e+01 -3.2146314676e-06
+-1.1249875000e+01 -4.7517715395e-06
+-1.0312343750e+01 -7.4366554103e-06
+-9.3748125000e+00 3.6801949098e-06
+-8.4372812500e+00 1.2246188811e-05
+-7.4997500000e+00 9.4867959948e-07
+-6.5622187500e+00 1.3364383155e-06
+-5.6246875000e+00 2.3450397451e-06
+-4.6871562500e+00 -8.8157660187e-07
+-3.7496250000e+00 -8.2615965513e-06
+-2.8120937500e+00 -1.8754579920e-05
+-1.8745625000e+00 -2.6411869732e-05
+-9.3703125000e-01 2.4020375997e-08
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 -1.3565563207e-07
+1.8755625000e+00 2.6413988924e-05
+2.8130937500e+00 1.8741971978e-05
+3.7506250000e+00 8.2514506850e-06
+4.6881562500e+00 8.7628520578e-07
+5.6256875000e+00 -2.3483405530e-06
+6.5632187500e+00 -1.3198608590e-06
+7.5007500000e+00 -1.0147177431e-06
+8.4382812500e+00 -1.2260619545e-05
+9.3758125000e+00 -3.5999446511e-06
+1.0313343750e+01 7.4330792170e-06
+1.1250875000e+01 4.7510941076e-06
+1.2188406250e+01 3.2135098342e-06
+1.3125937500e+01 4.8633724821e-06
+1.4063468750e+01 4.2976510648e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -6.3697814457e-06
+-1.3124937500e+01 -6.5907539382e-06
+-1.2187406250e+01 -4.3063924532e-06
+-1.1249875000e+01 -6.2314725701e-06
+-1.0312343750e+01 -8.5098174495e-06
+-9.3748125000e+00 1.8062700418e-06
+-8.4372812500e+00 1.5829956657e-05
+-7.4997500000e+00 4.2042695094e-06
+-6.5622187500e+00 1.0239447485e-06
+-5.6246875000e+00 3.1520789859e-06
+-4.6871562500e+00 -1.4529196229e-06
+-3.7496250000e+00 -1.1009319145e-05
+-2.8120937500e+00 -2.4321364910e-05
+-1.8745625000e+00 -3.4663594046e-05
+-9.3703125000e-01 1.1574821483e-08
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 -1.8301493696e-07
+1.8755625000e+00 3.4693940233e-05
+2.8130937500e+00 2.4303924896e-05
+3.7506250000e+00 1.0996186673e-05
+4.6881562500e+00 1.4456198769e-06
+5.6256875000e+00 -3.1560436165e-06
+6.5632187500e+00 -1.0045834818e-06
+7.5007500000e+00 -4.2724990115e-06
+8.4382812500e+00 -1.5851061127e-05
+9.3758125000e+00 -1.7240846312e-06
+1.0313343750e+01 8.5109805216e-06
+1.1250875000e+01 6.2298065506e-06
+1.2188406250e+01 4.3054255189e-06
+1.3125937500e+01 6.5887004467e-06
+1.4063468750e+01 6.3679171591e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -8.0455441865e-06
+-1.3124937500e+01 -8.0645705128e-06
+-1.2187406250e+01 -5.5946476260e-06
+-1.1249875000e+01 -7.6787688916e-06
+-1.0312343750e+01 -8.5670626093e-06
+-9.3748125000e+00 -7.9354215541e-07
+-8.4372812500e+00 1.9526306440e-05
+-7.4997500000e+00 8.4386350706e-06
+-6.5622187500e+00 -6.3369086572e-07
+-5.6246875000e+00 3.4216807989e-06
+-4.6871562500e+00 -2.6273342026e-06
+-3.7496250000e+00 -1.4377947563e-05
+-2.8120937500e+00 -3.0144747226e-05
+-1.8745625000e+00 -4.2659226962e-05
+-9.3703125000e-01 -8.7019910330e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 6.4849307065e-07
+1.8755625000e+00 4.2717609524e-05
+2.8130937500e+00 3.0122419513e-05
+3.7506250000e+00 1.4361727911e-05
+4.6881562500e+00 2.6175179936e-06
+5.6256875000e+00 -3.4240291645e-06
+6.5632187500e+00 6.5486884051e-07
+7.5007500000e+00 -8.4924386162e-06
+8.4382812500e+00 -1.9560323486e-05
+9.3758125000e+00 8.5836939100e-07
+1.0313343750e+01 8.5790409745e-06
+1.1250875000e+01 7.6749984587e-06
+1.2188406250e+01 5.5937211777e-06
+1.3125937500e+01 8.0623060294e-06
+1.4063468750e+01 8.0431943569e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.0639285724e-06
+-1.3124937500e+01 -9.2195618059e-06
+-1.2187406250e+01 -7.1933024924e-06
+-1.1249875000e+01 -8.9126375093e-06
+-1.0312343750e+01 -7.7460862169e-06
+-9.3748125000e+00 -2.2963752560e-06
+-8.4372812500e+00 2.3621209381e-05
+-7.4997500000e+00 1.2528248733e-05
+-6.5622187500e+00 -3.5796008911e-06
+-5.6246875000e+00 2.4565168624e-06
+-4.6871562500e+00 -4.3595381862e-06
+-3.7496250000e+00 -1.8487200230e-05
+-2.8120937500e+00 -3.6416821894e-05
+-1.8745625000e+00 -5.0276691875e-05
+-9.3703125000e-01 -2.7485707234e-06
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.4908095893e-06
+1.8755625000e+00 5.0376451751e-05
+2.8130937500e+00 3.6390593162e-05
+3.7506250000e+00 1.8466398708e-05
+4.6881562500e+00 4.3470310713e-06
+5.6256875000e+00 -2.4525089569e-06
+6.5632187500e+00 3.6014838181e-06
+7.5007500000e+00 -1.2552441882e-05
+8.4382812500e+00 -2.3672349545e-05
+9.3758125000e+00 2.3230344511e-06
+1.0313343750e+01 7.7726344901e-06
+1.1250875000e+01 8.9070440202e-06
+1.2188406250e+01 7.1915767278e-06
+1.3125937500e+01 9.2173169192e-06
+1.4063468750e+01 9.0613131499e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.3504720477e-06
+-1.3124937500e+01 -1.0042626437e-05
+-1.2187406250e+01 -9.0684356670e-06
+-1.1249875000e+01 -9.6680206237e-06
+-1.0312343750e+01 -6.1618977610e-06
+-9.3748125000e+00 -7.1282673647e-07
+-8.4372812500e+00 2.7282130538e-05
+-7.4997500000e+00 1.5368881893e-05
+-6.5622187500e+00 -6.4239579711e-06
+-5.6246875000e+00 -5.5187076613e-07
+-4.6871562500e+00 -6.4976655116e-06
+-3.7496250000e+00 -2.3021054228e-05
+-2.8120937500e+00 -4.3156791522e-05
+-1.8745625000e+00 -5.7055265199e-05
+-9.3703125000e-01 -5.6505001399e-06
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 5.3339041464e-06
+1.8755625000e+00 5.7187343487e-05
+2.8130937500e+00 4.3126722439e-05
+3.7506250000e+00 2.2996968800e-05
+4.6881562500e+00 6.4833488212e-06
+5.6256875000e+00 5.6794577860e-07
+6.5632187500e+00 6.4412556622e-06
+7.5007500000e+00 -1.5355903165e-05
+8.4382812500e+00 -2.7343780832e-05
+9.3758125000e+00 6.8561603273e-07
+1.0313343750e+01 6.2002261771e-06
+1.1250875000e+01 9.6632273934e-06
+1.2188406250e+01 9.0646306519e-06
+1.3125937500e+01 1.0040364911e-05
+1.4063468750e+01 9.3478965690e-06
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momy_z_[16][16].xg b/test/whisky_test_tov_ppm/momy_z_[16][16].xg
new file mode 100644
index 0000000..d2a244d
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momy_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612785e-11
+-1.3124937500e+01 7.1639694358e-11
+-1.2187406250e+01 1.2758516698e-10
+-1.1249875000e+01 1.9495832609e-10
+-1.0312343750e+01 4.0046632499e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691929e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439256e-09
+-5.6246875000e+00 5.8189347885e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364402e-08
+-9.3703125000e-01 4.8571037115e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253799e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836102e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105796e-10
+1.0313343750e+01 4.0144703133e-10
+1.1250875000e+01 1.9521839911e-10
+1.2188406250e+01 1.2795035042e-10
+1.3125937500e+01 7.1933751962e-11
+1.4063468750e+01 2.5988303500e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663672276e-11
+-1.3124937500e+01 1.4484597271e-10
+-1.2187406250e+01 2.4114862158e-10
+-1.1249875000e+01 4.1636153245e-10
+-1.0312343750e+01 8.9530427291e-10
+-9.3748125000e+00 1.2034105929e-10
+-8.4372812500e+00 -2.0977324574e-09
+-7.4997500000e+00 2.6944374086e-09
+-6.5622187500e+00 5.5908030359e-09
+-5.6246875000e+00 1.0788038316e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855488e-08
+-9.3703125000e-01 9.0796016046e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400618e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946099e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447376e-09
+9.3758125000e+00 1.2572010937e-10
+1.0313343750e+01 8.9463866614e-10
+1.1250875000e+01 4.1698488392e-10
+1.2188406250e+01 2.4061142072e-10
+1.3125937500e+01 1.4449716120e-10
+1.4063468750e+01 4.4999211238e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053383490e-11
+-1.3124937500e+01 2.0264595555e-10
+-1.2187406250e+01 3.6204669350e-10
+-1.1249875000e+01 6.8287585735e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129844e-10
+-8.4372812500e+00 -5.3101135234e-10
+-7.4997500000e+00 2.5975431435e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643287e-08
+-4.6871562500e+00 2.7915123062e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017069e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364135e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425202e-09
+7.5007500000e+00 2.6104629620e-09
+8.4382812500e+00 -5.0872020523e-10
+9.3758125000e+00 -5.8368013901e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738087e-10
+1.2188406250e+01 3.6056736461e-10
+1.3125937500e+01 2.0172010165e-10
+1.4063468750e+01 7.7845949740e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192969374e-10
+-1.3124937500e+01 2.4708060205e-10
+-1.2187406250e+01 5.0270188036e-10
+-1.1249875000e+01 9.7120172646e-10
+-1.0312343750e+01 1.2757737085e-09
+-9.3748125000e+00 -9.4205340919e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000379e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022094e-08
+-4.6871562500e+00 3.6445204778e-08
+-3.7496250000e+00 6.2027955110e-08
+-2.8120937500e+00 9.5915903764e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287853e-08
+4.6881562500e+00 3.6426038713e-08
+5.6256875000e+00 1.9521204091e-08
+6.5632187500e+00 1.1452748378e-08
+7.5007500000e+00 2.4184405417e-09
+8.4382812500e+00 2.1578036413e-09
+9.3758125000e+00 -9.2922293909e-10
+1.0313343750e+01 1.2727572019e-09
+1.1250875000e+01 9.6867598020e-10
+1.2188406250e+01 5.0079513754e-10
+1.3125937500e+01 2.4643853745e-10
+1.4063468750e+01 1.2142608548e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729859177e-10
+-1.3124937500e+01 2.9716362477e-10
+-1.2187406250e+01 6.5604436246e-10
+-1.1249875000e+01 1.1824872745e-09
+-1.0312343750e+01 8.5322561537e-10
+-9.3748125000e+00 -1.2987585350e-10
+-8.4372812500e+00 4.8587417912e-09
+-7.4997500000e+00 3.2617665350e-09
+-6.5622187500e+00 1.4333507018e-08
+-5.6246875000e+00 2.3700933097e-08
+-4.6871562500e+00 4.3443742981e-08
+-3.7496250000e+00 7.3878364345e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116641e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436237e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373227e-08
+6.5632187500e+00 1.4340974037e-08
+7.5007500000e+00 3.2774431760e-09
+8.4382812500e+00 4.8812118988e-09
+9.3758125000e+00 -1.1450041723e-10
+1.0313343750e+01 8.5393319472e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893990e-10
+1.3125937500e+01 2.9713469559e-10
+1.4063468750e+01 1.6741137490e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149392949e-10
+-1.3124937500e+01 3.6877423643e-10
+-1.2187406250e+01 7.9580283928e-10
+-1.1249875000e+01 1.1867121912e-09
+-1.0312343750e+01 3.6977961488e-10
+-9.3748125000e+00 2.1012668405e-09
+-8.4372812500e+00 6.6325627519e-09
+-7.4997500000e+00 6.1465241129e-09
+-6.5622187500e+00 1.6167036095e-08
+-5.6246875000e+00 2.7912405261e-08
+-4.6871562500e+00 4.9176211905e-08
+-3.7496250000e+00 7.7177238769e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721693e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341461e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711843e-08
+4.6881562500e+00 4.9128384011e-08
+5.6256875000e+00 2.7895328255e-08
+6.5632187500e+00 1.6178146662e-08
+7.5007500000e+00 6.1538332810e-09
+8.4382812500e+00 6.6561488463e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440819e-10
+1.1250875000e+01 1.1861935642e-09
+1.2188406250e+01 7.9719100613e-10
+1.3125937500e+01 3.6918304735e-10
+1.4063468750e+01 2.1223056853e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600475835e-10
+-1.3124937500e+01 4.6217700739e-10
+-1.2187406250e+01 8.7347465533e-10
+-1.1249875000e+01 9.6157088656e-10
+-1.0312343750e+01 4.4257939176e-10
+-9.3748125000e+00 5.0710136517e-09
+-8.4372812500e+00 6.9858018648e-09
+-7.4997500000e+00 1.0958545669e-08
+-6.5622187500e+00 1.6322529448e-08
+-5.6246875000e+00 3.2352903129e-08
+-4.6871562500e+00 4.9794659559e-08
+-3.7496250000e+00 9.0009929109e-08
+-2.8120937500e+00 1.3902175065e-07
+-1.8745625000e+00 1.9323709372e-07
+-9.3703125000e-01 2.4084448922e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050101e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638453e-07
+3.7506250000e+00 8.9989146787e-08
+4.6881562500e+00 4.9739872191e-08
+5.6256875000e+00 3.2324925762e-08
+6.5632187500e+00 1.6342260837e-08
+7.5007500000e+00 1.0964358467e-08
+8.4382812500e+00 7.0082319378e-09
+9.3758125000e+00 5.0877085279e-09
+1.0313343750e+01 4.5463837583e-10
+1.1250875000e+01 9.6305305645e-10
+1.2188406250e+01 8.7628909583e-10
+1.3125937500e+01 4.6294630739e-10
+1.4063468750e+01 2.5650106113e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momz_3D_diagonal.xg b/test/whisky_test_tov_ppm/momz_3D_diagonal.xg
new file mode 100644
index 0000000..2878b6f
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -1.1500484384e-08
+-2.2733058596e+01 3.5353041608e-09
+-2.1109206837e+01 1.7501122589e-08
+-1.9485355079e+01 2.7803072148e-08
+-1.7861503320e+01 4.5445451619e-08
+-1.6237651561e+01 7.7778848723e-08
+-1.4613799803e+01 1.4058498870e-07
+-1.2989948044e+01 2.7141762578e-07
+-1.1366096285e+01 5.6850028394e-07
+-9.7422445267e+00 1.1692247587e-06
+-8.1183927680e+00 -4.0812885501e-07
+-6.4945410093e+00 -3.3707148858e-07
+-4.8706892506e+00 -2.5394975788e-06
+-3.2468374920e+00 -5.7121429473e-06
+-1.6229857333e+00 -4.2999738209e-07
+8.6602540378e-04 5.2007748697e-08
+1.6247177841e+00 3.9267521417e-07
+3.2485695428e+00 5.7093078491e-06
+4.8724213015e+00 2.5365173699e-06
+6.4962730601e+00 3.3752668460e-07
+8.1201248188e+00 3.9544180611e-07
+9.7439765775e+00 -1.1697003472e-06
+1.1367828336e+01 -5.6803152811e-07
+1.2991680095e+01 -2.7122181287e-07
+1.4615531854e+01 -1.4048844301e-07
+1.6239383612e+01 -7.7735621691e-08
+1.7863235371e+01 -4.5422758524e-08
+1.9487087130e+01 -2.7790612393e-08
+2.1110938888e+01 -1.7494461847e-08
+2.2734790647e+01 -3.5327552254e-09
+2.4358642406e+01 1.1499936211e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.7255653983e-08
+-2.2733058596e+01 6.5077891738e-10
+-2.1109206837e+01 3.5019542890e-08
+-1.9485355079e+01 5.4935381273e-08
+-1.7861503320e+01 9.0863536649e-08
+-1.6237651561e+01 1.5556683131e-07
+-1.4613799803e+01 2.8121563624e-07
+-1.2989948044e+01 5.4307662435e-07
+-1.1366096285e+01 1.1381482561e-06
+-9.7422445267e+00 2.6422158755e-06
+-8.1183927680e+00 3.9784595532e-07
+-6.4945410093e+00 -1.1129791587e-06
+-4.8706892506e+00 -5.0528405566e-06
+-3.2468374920e+00 -1.1544657278e-05
+-1.6229857333e+00 -8.7131693332e-07
+8.6602540378e-04 9.6988555286e-08
+1.6247177841e+00 8.0256385057e-07
+3.2485695428e+00 1.1540025378e-05
+4.8724213015e+00 5.0467563708e-06
+6.4962730601e+00 1.1189235101e-06
+8.1201248188e+00 -4.2223890791e-07
+9.7439765775e+00 -2.6471062474e-06
+1.1367828336e+01 -1.1371885855e-06
+1.2991680095e+01 -5.4267772133e-07
+1.4615531854e+01 -2.8102857221e-07
+1.6239383612e+01 -1.5547108321e-07
+1.7863235371e+01 -9.0809236827e-08
+1.9487087130e+01 -5.4910225539e-08
+2.1110938888e+01 -3.5003989178e-08
+2.2734790647e+01 -6.4743616232e-10
+2.4358642406e+01 2.7250649022e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -4.6085090872e-08
+-2.2733058596e+01 -2.7607336903e-09
+-2.1109206837e+01 5.1810743841e-08
+-1.9485355079e+01 8.1303172793e-08
+-1.7861503320e+01 1.3593188338e-07
+-1.6237651561e+01 2.3334084733e-07
+-1.4613799803e+01 4.2193037675e-07
+-1.2989948044e+01 8.1518121662e-07
+-1.1366096285e+01 1.7080011247e-06
+-9.7422445267e+00 5.9599164986e-06
+-8.1183927680e+00 1.7642275118e-06
+-6.4945410093e+00 -4.2850307320e-06
+-4.8706892506e+00 -7.4961215797e-06
+-3.2468374920e+00 -1.7520545576e-05
+-1.6229857333e+00 -1.1484494113e-06
+8.6602540378e-04 1.3426544683e-07
+1.6247177841e+00 1.0538717199e-06
+3.2485695428e+00 1.7516187370e-05
+4.8724213015e+00 7.4866614608e-06
+6.4962730601e+00 4.3004564621e-06
+8.1201248188e+00 -1.7964368440e-06
+9.7439765775e+00 -5.9704148763e-06
+1.1367828336e+01 -1.7065554532e-06
+1.2991680095e+01 -8.1457177678e-07
+1.4615531854e+01 -4.2165036472e-07
+1.6239383612e+01 -2.3319847889e-07
+1.7863235371e+01 -1.3585267073e-07
+1.9487087130e+01 -8.1260106301e-08
+2.1110938888e+01 -5.1785887546e-08
+2.2734790647e+01 2.7632715271e-09
+2.4358642406e+01 4.6074349403e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.0954140308e-08
+-2.2733058596e+01 -5.2594521271e-09
+-2.1109206837e+01 6.6524610648e-08
+-1.9485355079e+01 1.0737590367e-07
+-1.7861503320e+01 1.8012130148e-07
+-1.6237651561e+01 3.1094167349e-07
+-1.4613799803e+01 5.6273998783e-07
+-1.2989948044e+01 1.0878766616e-06
+-1.1366096285e+01 2.2427486647e-06
+-9.7422445267e+00 9.9974566017e-06
+-8.1183927680e+00 2.8410466709e-06
+-6.4945410093e+00 -9.2461407400e-06
+-4.8706892506e+00 -9.8240675565e-06
+-3.2468374920e+00 -2.3475806257e-05
+-1.6229857333e+00 -1.2720191874e-06
+8.6602540378e-04 1.7609415991e-07
+1.6247177841e+00 1.1257735876e-06
+3.2485695428e+00 2.3487802732e-05
+4.8724213015e+00 9.8109406196e-06
+6.4962730601e+00 9.2701725205e-06
+8.1201248188e+00 -2.8784515830e-06
+9.7439765775e+00 -1.0011384550e-05
+1.1367828336e+01 -2.2410230523e-06
+1.2991680095e+01 -1.0870604213e-06
+1.4615531854e+01 -5.6236536776e-07
+1.6239383612e+01 -3.1075612590e-07
+1.7863235371e+01 -1.8002316153e-07
+1.9487087130e+01 -1.0731812831e-07
+2.1110938888e+01 -6.6492627323e-08
+2.2734790647e+01 5.2622136620e-09
+2.4358642406e+01 6.0939013731e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.8449153470e-08
+-2.2733058596e+01 -6.4576425482e-09
+-2.1109206837e+01 7.7890244145e-08
+-1.9485355079e+01 1.3384897148e-07
+-1.7861503320e+01 2.2312607132e-07
+-1.6237651561e+01 3.8794031632e-07
+-1.4613799803e+01 7.0356956463e-07
+-1.2989948044e+01 1.3612069933e-06
+-1.1366096285e+01 2.7294023394e-06
+-9.7422445267e+00 1.2125329807e-05
+-8.1183927680e+00 3.6225297367e-06
+-6.4945410093e+00 -1.3004176673e-05
+-4.8706892506e+00 -1.2058467897e-05
+-3.2468374920e+00 -2.9195882722e-05
+-1.6229857333e+00 -1.4117895210e-06
+8.6602540378e-04 2.0962649007e-07
+1.6247177841e+00 1.2209345113e-06
+3.2485695428e+00 2.9225692646e-05
+4.8724213015e+00 1.2042031422e-05
+6.4962730601e+00 1.3026144827e-05
+8.1201248188e+00 -3.6592479142e-06
+9.7439765775e+00 -1.2134433354e-05
+1.1367828336e+01 -2.7276751354e-06
+1.2991680095e+01 -1.3601938207e-06
+1.4615531854e+01 -7.0310196566e-07
+1.6239383612e+01 -3.8770843352e-07
+1.7863235371e+01 -2.2300570713e-07
+1.9487087130e+01 -1.3378081543e-07
+2.1110938888e+01 -7.7853583171e-08
+2.2734790647e+01 6.4620640053e-09
+2.4358642406e+01 6.8432414453e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.6644160333e-08
+-2.2733058596e+01 -6.2042128037e-09
+-2.1109206837e+01 8.5351271480e-08
+-1.9485355079e+01 1.6102524696e-07
+-1.7861503320e+01 2.6528612360e-07
+-1.6237651561e+01 4.6370210049e-07
+-1.4613799803e+01 8.4413254039e-07
+-1.2989948044e+01 1.6337184115e-06
+-1.1366096285e+01 3.3707562964e-06
+-9.7422445267e+00 1.1604617467e-05
+-8.1183927680e+00 4.6183820030e-06
+-6.4945410093e+00 -1.3568109410e-05
+-4.8706892506e+00 -1.4419778185e-05
+-3.2468374920e+00 -3.4326846087e-05
+-1.6229857333e+00 -1.5123516745e-06
+8.6602540378e-04 2.1770432294e-07
+1.6247177841e+00 1.2874271234e-06
+3.2485695428e+00 3.4381901825e-05
+4.8724213015e+00 1.4401047093e-05
+6.4962730601e+00 1.3566856457e-05
+8.1201248188e+00 -4.6638659151e-06
+9.7439765775e+00 -1.1595041240e-05
+1.1367828336e+01 -3.3683970150e-06
+1.2991680095e+01 -1.6325164342e-06
+1.4615531854e+01 -8.4357181712e-07
+1.6239383612e+01 -4.6342250844e-07
+1.7863235371e+01 -2.6514046124e-07
+1.9487087130e+01 -1.6094493649e-07
+2.1110938888e+01 -8.5309660463e-08
+2.2734790647e+01 6.2105791153e-09
+2.4358642406e+01 6.6629326755e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -5.6184157357e-08
+-2.2733058596e+01 -4.0102047310e-09
+-2.1109206837e+01 8.9348906631e-08
+-1.9485355079e+01 1.8831030094e-07
+-1.7861503320e+01 3.0767360092e-07
+-1.6237651561e+01 5.3775543420e-07
+-1.4613799803e+01 9.8382044368e-07
+-1.2989948044e+01 1.8960851782e-06
+-1.1366096285e+01 4.4375796479e-06
+-9.7422445267e+00 9.8912842457e-06
+-8.1183927680e+00 5.7228427215e-06
+-6.4945410093e+00 -1.1786636125e-05
+-4.8706892506e+00 -1.7324172937e-05
+-3.2468374920e+00 -3.8386603165e-05
+-1.6229857333e+00 -1.7425565495e-06
+8.6602540378e-04 2.5594891678e-07
+1.6247177841e+00 1.4633587382e-06
+3.2485695428e+00 3.8464162791e-05
+4.8724213015e+00 1.7304108470e-05
+6.4962730601e+00 1.1744900989e-05
+8.1201248188e+00 -5.7898831417e-06
+9.7439765775e+00 -9.8542667537e-06
+1.1367828336e+01 -4.4328638436e-06
+1.2991680095e+01 -1.8947404115e-06
+1.4615531854e+01 -9.8316413300e-07
+1.6239383612e+01 -5.3742962912e-07
+1.7863235371e+01 -3.0750388234e-07
+1.9487087130e+01 -1.8821582377e-07
+2.1110938888e+01 -8.9301419419e-08
+2.2734790647e+01 4.0193539742e-09
+2.4358642406e+01 5.6174814502e-08
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momz_maximum.xg b/test/whisky_test_tov_ppm/momz_maximum.xg
new file mode 100644
index 0000000..1fab28a
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_maximum.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000152413049
+0.7031484375000 0.0000243499614
+1.0547226562500 0.0000299348537
+1.4062968750000 0.0000346939402
+1.7578710937500 0.0000427176095
+2.1094453125000 0.0000503764518
+2.4610195312500 0.0000571873435
diff --git a/test/whisky_test_tov_ppm/momz_minimum.xg b/test/whisky_test_tov_ppm/momz_minimum.xg
new file mode 100644
index 0000000..375964f
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_minimum.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000152829533
+0.7031484375000 -0.0000243860266
+1.0547226562500 -0.0000299946790
+1.4062968750000 -0.0000346635940
+1.7578710937500 -0.0000426592270
+2.1094453125000 -0.0000502766919
+2.4610195312500 -0.0000570552652
diff --git a/test/whisky_test_tov_ppm/momz_norm1.xg b/test/whisky_test_tov_ppm/momz_norm1.xg
new file mode 100644
index 0000000..4fb8892
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_norm1.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000004745461
+0.7031484375000 0.0000008822220
+1.0547226562500 0.0000012144995
+1.4062968750000 0.0000014956385
+1.7578710937500 0.0000017051246
+2.1094453125000 0.0000019125793
+2.4610195312500 0.0000021191638
diff --git a/test/whisky_test_tov_ppm/momz_norm2.xg b/test/whisky_test_tov_ppm/momz_norm2.xg
new file mode 100644
index 0000000..c6dc8c3
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_norm2.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000015180194
+0.7031484375000 0.0000025320968
+1.0547226562500 0.0000033045447
+1.4062968750000 0.0000039343432
+1.7578710937500 0.0000043900031
+2.1094453125000 0.0000047514807
+2.4610195312500 0.0000051165592
diff --git a/test/whisky_test_tov_ppm/momz_x_[16][16].xg b/test/whisky_test_tov_ppm/momz_x_[16][16].xg
new file mode 100644
index 0000000..11d6002
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799609797e-11
+-1.3124937500e+01 7.1639694305e-11
+-1.2187406250e+01 1.2758516697e-10
+-1.1249875000e+01 1.9495832610e-10
+-1.0312343750e+01 4.0046632496e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691931e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347927e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733371e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037116e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875289e-09
+6.5632187500e+00 2.8346836104e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105805e-10
+1.0313343750e+01 4.0144703123e-10
+1.1250875000e+01 1.9521839915e-10
+1.2188406250e+01 1.2795035040e-10
+1.3125937500e+01 7.1933751945e-11
+1.4063468750e+01 2.5988294715e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663651829e-11
+-1.3124937500e+01 1.4484597678e-10
+-1.2187406250e+01 2.4114862159e-10
+-1.1249875000e+01 4.1636153242e-10
+-1.0312343750e+01 8.9530427284e-10
+-9.3748125000e+00 1.2034105933e-10
+-8.4372812500e+00 -2.0977324575e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030362e-09
+-5.6246875000e+00 1.0788038324e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855487e-08
+-9.3703125000e-01 9.0796016041e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400612e-08
+1.8755625000e+00 7.3644235299e-08
+2.8130937500e+00 5.2978841168e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946101e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447377e-09
+9.3758125000e+00 1.2572010952e-10
+1.0313343750e+01 8.9463866616e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142068e-10
+1.3125937500e+01 1.4449716122e-10
+1.4063468750e+01 4.4999208310e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053349335e-11
+-1.3124937500e+01 2.0264596560e-10
+-1.2187406250e+01 3.6204669910e-10
+-1.1249875000e+01 6.8287585729e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129837e-10
+-8.4372812500e+00 -5.3101135241e-10
+-7.4997500000e+00 2.5975431438e-09
+-6.5622187500e+00 8.2984941862e-09
+-5.6246875000e+00 1.4869643295e-08
+-4.6871562500e+00 2.7915123065e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339695e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017070e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425205e-09
+7.5007500000e+00 2.6104629481e-09
+8.4382812500e+00 -5.0872020528e-10
+9.3758125000e+00 -5.8368013886e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738082e-10
+1.2188406250e+01 3.6056736451e-10
+1.3125937500e+01 2.0172010166e-10
+1.4063468750e+01 7.7845936019e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967310e-10
+-1.3124937500e+01 2.4708061360e-10
+-1.2187406250e+01 5.0270188635e-10
+-1.1249875000e+01 9.7120172640e-10
+-1.0312343750e+01 1.2757737086e-09
+-9.3748125000e+00 -9.4205340922e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000362e-09
+-6.5622187500e+00 1.1456710402e-08
+-5.6246875000e+00 1.9509022114e-08
+-4.6871562500e+00 3.6445204781e-08
+-3.7496250000e+00 6.2027955110e-08
+-2.8120937500e+00 9.5915903765e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763901e-08
+3.7506250000e+00 6.1930287856e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204093e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405277e-09
+8.4382812500e+00 2.1578036437e-09
+9.3758125000e+00 -9.2922293897e-10
+1.0313343750e+01 1.2727572018e-09
+1.1250875000e+01 9.6867598018e-10
+1.2188406250e+01 5.0079513748e-10
+1.3125937500e+01 2.4643853198e-10
+1.4063468750e+01 1.2142609367e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729864997e-10
+-1.3124937500e+01 2.9716359556e-10
+-1.2187406250e+01 6.5604436945e-10
+-1.1249875000e+01 1.1824872745e-09
+-1.0312343750e+01 8.5322562613e-10
+-9.3748125000e+00 -1.2987585257e-10
+-8.4372812500e+00 4.8587417858e-09
+-7.4997500000e+00 3.2617665329e-09
+-6.5622187500e+00 1.4333507006e-08
+-5.6246875000e+00 2.3700933131e-08
+-4.6871562500e+00 4.3443742982e-08
+-3.7496250000e+00 7.3878364348e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736785e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436240e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373229e-08
+6.5632187500e+00 1.4340974042e-08
+7.5007500000e+00 3.2774431527e-09
+8.4382812500e+00 4.8812119013e-09
+9.3758125000e+00 -1.1450041713e-10
+1.0313343750e+01 8.5393319008e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893985e-10
+1.3125937500e+01 2.9713468462e-10
+1.4063468750e+01 1.6741142248e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149390960e-10
+-1.3124937500e+01 3.6877424293e-10
+-1.2187406250e+01 7.9580283264e-10
+-1.1249875000e+01 1.1867121866e-09
+-1.0312343750e+01 3.6977962567e-10
+-9.3748125000e+00 2.1012668412e-09
+-8.4372812500e+00 6.6325627470e-09
+-7.4997500000e+00 6.1465241081e-09
+-6.5622187500e+00 1.6167036087e-08
+-5.6246875000e+00 2.7912405218e-08
+-4.6871562500e+00 4.9176211901e-08
+-3.7496250000e+00 7.7177238736e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664653e-07
+1.8755625000e+00 1.6423341459e-07
+2.8130937500e+00 1.1818759116e-07
+3.7506250000e+00 7.7134711839e-08
+4.6881562500e+00 4.9128384011e-08
+5.6256875000e+00 2.7895328260e-08
+6.5632187500e+00 1.6178146656e-08
+7.5007500000e+00 6.1538332648e-09
+8.4382812500e+00 6.6561488535e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440465e-10
+1.1250875000e+01 1.1861935860e-09
+1.2188406250e+01 7.9719100871e-10
+1.3125937500e+01 3.6918304526e-10
+1.4063468750e+01 2.1223063705e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600475078e-10
+-1.3124937500e+01 4.6217702364e-10
+-1.2187406250e+01 8.7347464480e-10
+-1.1249875000e+01 9.6157088759e-10
+-1.0312343750e+01 4.4257940259e-10
+-9.3748125000e+00 5.0710136529e-09
+-8.4372812500e+00 6.9858018566e-09
+-7.4997500000e+00 1.0958545654e-08
+-6.5622187500e+00 1.6322529450e-08
+-5.6246875000e+00 3.2352903092e-08
+-4.6871562500e+00 4.9794659563e-08
+-3.7496250000e+00 9.0009929110e-08
+-2.8120937500e+00 1.3902175064e-07
+-1.8745625000e+00 1.9323709375e-07
+-9.3703125000e-01 2.4084448920e-07
+5.0000000000e-04 2.5594891678e-07
+9.3803125000e-01 2.4083050100e-07
+1.8755625000e+00 1.9320037841e-07
+2.8130937500e+00 1.3899638453e-07
+3.7506250000e+00 8.9989146797e-08
+4.6881562500e+00 4.9739872187e-08
+5.6256875000e+00 3.2324925759e-08
+6.5632187500e+00 1.6342260832e-08
+7.5007500000e+00 1.0964358455e-08
+8.4382812500e+00 7.0082319497e-09
+9.3758125000e+00 5.0877085486e-09
+1.0313343750e+01 4.5463839578e-10
+1.1250875000e+01 9.6305306706e-10
+1.2188406250e+01 8.7628912729e-10
+1.3125937500e+01 4.6294631828e-10
+1.4063468750e+01 2.5650113663e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momz_y_[16][16].xg b/test/whisky_test_tov_ppm/momz_y_[16][16].xg
new file mode 100644
index 0000000..fe12bca
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612774e-11
+-1.3124937500e+01 7.1639694346e-11
+-1.2187406250e+01 1.2758516702e-10
+-1.1249875000e+01 1.9495832611e-10
+-1.0312343750e+01 4.0046632498e-10
+-9.3748125000e+00 4.0004555064e-10
+-8.4372812500e+00 -1.8480691930e-09
+-7.4997500000e+00 1.8272203690e-09
+-6.5622187500e+00 2.8346439256e-09
+-5.6246875000e+00 5.8189347885e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037115e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253799e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836103e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105799e-10
+1.0313343750e+01 4.0144703131e-10
+1.1250875000e+01 1.9521839912e-10
+1.2188406250e+01 1.2795035042e-10
+1.3125937500e+01 7.1933751945e-11
+1.4063468750e+01 2.5988303494e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663654814e-11
+-1.3124937500e+01 1.4484597682e-10
+-1.2187406250e+01 2.4114862163e-10
+-1.1249875000e+01 4.1636153245e-10
+-1.0312343750e+01 8.9530427289e-10
+-9.3748125000e+00 1.2034105932e-10
+-8.4372812500e+00 -2.0977324574e-09
+-7.4997500000e+00 2.6944374085e-09
+-6.5622187500e+00 5.5908030360e-09
+-5.6246875000e+00 1.0788038317e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089413e-08
+-2.8120937500e+00 5.3029646316e-08
+-1.8745625000e+00 7.3625855487e-08
+-9.3703125000e-01 9.0796016046e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400618e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902104e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946102e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447377e-09
+9.3758125000e+00 1.2572010944e-10
+1.0313343750e+01 8.9463866612e-10
+1.1250875000e+01 4.1698488392e-10
+1.2188406250e+01 2.4061142071e-10
+1.3125937500e+01 1.4449716119e-10
+1.4063468750e+01 4.4999211220e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053352337e-11
+-1.3124937500e+01 2.0264596270e-10
+-1.2187406250e+01 3.6204669352e-10
+-1.1249875000e+01 6.8287585737e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129837e-10
+-8.4372812500e+00 -5.3101135236e-10
+-7.4997500000e+00 2.5975431436e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643283e-08
+-4.6871562500e+00 2.7915123062e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257469e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017068e-08
+3.7506250000e+00 4.7352315647e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425205e-09
+7.5007500000e+00 2.6104629619e-09
+8.4382812500e+00 -5.0872020526e-10
+9.3758125000e+00 -5.8368013900e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738088e-10
+1.2188406250e+01 3.6056736462e-10
+1.3125937500e+01 2.0172010163e-10
+1.4063468750e+01 7.7845950738e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967311e-10
+-1.3124937500e+01 2.4708060502e-10
+-1.2187406250e+01 5.0270188074e-10
+-1.1249875000e+01 9.7120172647e-10
+-1.0312343750e+01 1.2757737086e-09
+-9.3748125000e+00 -9.4205340911e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000361e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022092e-08
+-4.6871562500e+00 3.6445204778e-08
+-3.7496250000e+00 6.2027955122e-08
+-2.8120937500e+00 9.5915903770e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287852e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204091e-08
+6.5632187500e+00 1.1452748378e-08
+7.5007500000e+00 2.4184405415e-09
+8.4382812500e+00 2.1578036413e-09
+9.3758125000e+00 -9.2922293911e-10
+1.0313343750e+01 1.2727572018e-09
+1.1250875000e+01 9.6867598022e-10
+1.2188406250e+01 5.0079513757e-10
+1.3125937500e+01 2.4643853775e-10
+1.4063468750e+01 1.2142608786e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729863528e-10
+-1.3124937500e+01 2.9716360486e-10
+-1.2187406250e+01 6.5604436730e-10
+-1.1249875000e+01 1.1824872746e-09
+-1.0312343750e+01 8.5322561540e-10
+-9.3748125000e+00 -1.2987585240e-10
+-8.4372812500e+00 4.8587417908e-09
+-7.4997500000e+00 3.2617665283e-09
+-6.5622187500e+00 1.4333507017e-08
+-5.6246875000e+00 2.3700933094e-08
+-4.6871562500e+00 4.3443742978e-08
+-3.7496250000e+00 7.3878364357e-08
+-2.8120937500e+00 1.1416658978e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116641e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436236e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373227e-08
+6.5632187500e+00 1.4340974035e-08
+7.5007500000e+00 3.2774431758e-09
+8.4382812500e+00 4.8812118989e-09
+9.3758125000e+00 -1.1450041723e-10
+1.0313343750e+01 8.5393319010e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507894000e-10
+1.3125937500e+01 2.9713470185e-10
+1.4063468750e+01 1.6741132248e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149389792e-10
+-1.3124937500e+01 3.6877423264e-10
+-1.2187406250e+01 7.9580283849e-10
+-1.1249875000e+01 1.1867121913e-09
+-1.0312343750e+01 3.6977961491e-10
+-9.3748125000e+00 2.1012668414e-09
+-8.4372812500e+00 6.6325627569e-09
+-7.4997500000e+00 6.1465240943e-09
+-6.5622187500e+00 1.6167036095e-08
+-5.6246875000e+00 2.7912405263e-08
+-4.6871562500e+00 4.9176211905e-08
+-3.7496250000e+00 7.7177238748e-08
+-2.8120937500e+00 1.1820874438e-07
+-1.8745625000e+00 1.6426617516e-07
+-9.3703125000e-01 2.0490721692e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664655e-07
+1.8755625000e+00 1.6423341460e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711842e-08
+4.6881562500e+00 4.9128384012e-08
+5.6256875000e+00 2.7895328256e-08
+6.5632187500e+00 1.6178146666e-08
+7.5007500000e+00 6.1538332807e-09
+8.4382812500e+00 6.6561488511e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440469e-10
+1.1250875000e+01 1.1861935861e-09
+1.2188406250e+01 7.9719100883e-10
+1.3125937500e+01 3.6918303072e-10
+1.4063468750e+01 2.1223061005e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600474809e-10
+-1.3124937500e+01 4.6217699404e-10
+-1.2187406250e+01 8.7347465405e-10
+-1.1249875000e+01 9.6157088661e-10
+-1.0312343750e+01 4.4257939181e-10
+-9.3748125000e+00 5.0710136531e-09
+-8.4372812500e+00 6.9858018638e-09
+-7.4997500000e+00 1.0958545642e-08
+-6.5622187500e+00 1.6322529448e-08
+-5.6246875000e+00 3.2352903136e-08
+-4.6871562500e+00 4.9794659593e-08
+-3.7496250000e+00 9.0009929093e-08
+-2.8120937500e+00 1.3902175062e-07
+-1.8745625000e+00 1.9323709376e-07
+-9.3703125000e-01 2.4084448921e-07
+5.0000000000e-04 2.5594891678e-07
+9.3803125000e-01 2.4083050101e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638453e-07
+3.7506250000e+00 8.9989146790e-08
+4.6881562500e+00 4.9739872191e-08
+5.6256875000e+00 3.2324925758e-08
+6.5632187500e+00 1.6342260842e-08
+7.5007500000e+00 1.0964358466e-08
+8.4382812500e+00 7.0082319475e-09
+9.3758125000e+00 5.0877085461e-09
+1.0313343750e+01 4.5463839052e-10
+1.1250875000e+01 9.6305307804e-10
+1.2188406250e+01 8.7628910207e-10
+1.3125937500e+01 4.6294628870e-10
+1.4063468750e+01 2.5650116860e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/momz_z_[16][16].xg b/test/whisky_test_tov_ppm/momz_z_[16][16].xg
new file mode 100644
index 0000000..6b3b457
--- /dev/null
+++ b/test/whisky_test_tov_ppm/momz_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -7.3292635320e-07
+-1.3124937500e+01 -1.2545607215e-06
+-1.2187406250e+01 -1.1046038104e-06
+-1.1249875000e+01 -1.6963551235e-06
+-1.0312343750e+01 -2.8329438513e-06
+-9.3748125000e+00 2.5201302078e-06
+-8.4372812500e+00 4.1289601904e-06
+-7.4997500000e+00 -9.0524181481e-07
+-6.5622187500e+00 3.9077880855e-07
+-5.6246875000e+00 5.4484321690e-07
+-4.6871562500e+00 -5.3687218939e-07
+-3.7496250000e+00 -3.1662160286e-06
+-2.8120937500e+00 -6.8848224136e-06
+-1.8745625000e+00 -9.2646632238e-06
+-9.3703125000e-01 -2.4679594890e-07
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 2.0344897667e-07
+1.8755625000e+00 9.2642256105e-06
+2.8130937500e+00 6.8809156382e-06
+3.7506250000e+00 3.1626110293e-06
+4.6881562500e+00 5.3499224405e-07
+5.6256875000e+00 -5.4557276388e-07
+6.5632187500e+00 -3.8499335736e-07
+7.5007500000e+00 8.7826993458e-07
+8.4382812500e+00 -4.1348292136e-06
+9.3758125000e+00 -2.4862187354e-06
+1.0313343750e+01 2.8311738039e-06
+1.1250875000e+01 1.6957175962e-06
+1.2188406250e+01 1.1040857627e-06
+1.3125937500e+01 1.2541128671e-06
+1.4063468750e+01 7.3268724040e-07
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -2.2463104048e-06
+-1.3124937500e+01 -3.0158398519e-06
+-1.2187406250e+01 -2.1754497930e-06
+-1.1249875000e+01 -3.2660564986e-06
+-1.0312343750e+01 -5.4358749064e-06
+-9.3748125000e+00 3.9268581537e-06
+-8.4372812500e+00 8.3306329530e-06
+-7.4997500000e+00 -7.3986988159e-07
+-6.5622187500e+00 9.2958566885e-07
+-5.6246875000e+00 1.3947913676e-06
+-4.6871562500e+00 -7.0571403005e-07
+-3.7496250000e+00 -5.7983120774e-06
+-2.8120937500e+00 -1.3068283224e-05
+-1.8745625000e+00 -1.8001338315e-05
+-9.3703125000e-01 -1.9048037223e-07
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 1.0986179888e-07
+1.8755625000e+00 1.8001161791e-05
+2.8130937500e+00 1.3060242842e-05
+3.7506250000e+00 5.7913119861e-06
+4.6881562500e+00 7.0213047116e-07
+5.6256875000e+00 -1.3967303509e-06
+6.5632187500e+00 -9.1781429144e-07
+7.5007500000e+00 6.8932891922e-07
+8.4382812500e+00 -8.3410124557e-06
+9.3758125000e+00 -3.8644651962e-06
+1.0313343750e+01 5.4322495225e-06
+1.1250875000e+01 3.2653961083e-06
+1.2188406250e+01 2.1744855182e-06
+1.3125937500e+01 3.0148186868e-06
+1.4063468750e+01 2.2456242669e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -4.2989221427e-06
+-1.3124937500e+01 -4.8649709801e-06
+-1.2187406250e+01 -3.2146314676e-06
+-1.1249875000e+01 -4.7517715395e-06
+-1.0312343750e+01 -7.4366554103e-06
+-9.3748125000e+00 3.6801949098e-06
+-8.4372812500e+00 1.2246188811e-05
+-7.4997500000e+00 9.4867959948e-07
+-6.5622187500e+00 1.3364383155e-06
+-5.6246875000e+00 2.3450397451e-06
+-4.6871562500e+00 -8.8157660187e-07
+-3.7496250000e+00 -8.2615965513e-06
+-2.8120937500e+00 -1.8754579920e-05
+-1.8745625000e+00 -2.6411869732e-05
+-9.3703125000e-01 2.4020375996e-08
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 -1.3565563207e-07
+1.8755625000e+00 2.6413988924e-05
+2.8130937500e+00 1.8741971978e-05
+3.7506250000e+00 8.2514506850e-06
+4.6881562500e+00 8.7628520578e-07
+5.6256875000e+00 -2.3483405530e-06
+6.5632187500e+00 -1.3198608590e-06
+7.5007500000e+00 -1.0147177431e-06
+8.4382812500e+00 -1.2260619545e-05
+9.3758125000e+00 -3.5999446511e-06
+1.0313343750e+01 7.4330792170e-06
+1.1250875000e+01 4.7510941076e-06
+1.2188406250e+01 3.2135098342e-06
+1.3125937500e+01 4.8633724821e-06
+1.4063468750e+01 4.2976510648e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -6.3697814457e-06
+-1.3124937500e+01 -6.5907539382e-06
+-1.2187406250e+01 -4.3063924532e-06
+-1.1249875000e+01 -6.2314725701e-06
+-1.0312343750e+01 -8.5098174495e-06
+-9.3748125000e+00 1.8062700418e-06
+-8.4372812500e+00 1.5829956657e-05
+-7.4997500000e+00 4.2042695094e-06
+-6.5622187500e+00 1.0239447485e-06
+-5.6246875000e+00 3.1520789859e-06
+-4.6871562500e+00 -1.4529196229e-06
+-3.7496250000e+00 -1.1009319145e-05
+-2.8120937500e+00 -2.4321364910e-05
+-1.8745625000e+00 -3.4663594046e-05
+-9.3703125000e-01 1.1574821482e-08
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 -1.8301493696e-07
+1.8755625000e+00 3.4693940233e-05
+2.8130937500e+00 2.4303924896e-05
+3.7506250000e+00 1.0996186673e-05
+4.6881562500e+00 1.4456198769e-06
+5.6256875000e+00 -3.1560436165e-06
+6.5632187500e+00 -1.0045834818e-06
+7.5007500000e+00 -4.2724990115e-06
+8.4382812500e+00 -1.5851061127e-05
+9.3758125000e+00 -1.7240846312e-06
+1.0313343750e+01 8.5109805216e-06
+1.1250875000e+01 6.2298065506e-06
+1.2188406250e+01 4.3054255189e-06
+1.3125937500e+01 6.5887004467e-06
+1.4063468750e+01 6.3679171591e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -8.0455441865e-06
+-1.3124937500e+01 -8.0645705128e-06
+-1.2187406250e+01 -5.5946476260e-06
+-1.1249875000e+01 -7.6787688916e-06
+-1.0312343750e+01 -8.5670626093e-06
+-9.3748125000e+00 -7.9354215541e-07
+-8.4372812500e+00 1.9526306440e-05
+-7.4997500000e+00 8.4386350706e-06
+-6.5622187500e+00 -6.3369086573e-07
+-5.6246875000e+00 3.4216807989e-06
+-4.6871562500e+00 -2.6273342026e-06
+-3.7496250000e+00 -1.4377947563e-05
+-2.8120937500e+00 -3.0144747226e-05
+-1.8745625000e+00 -4.2659226962e-05
+-9.3703125000e-01 -8.7019910330e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 6.4849307066e-07
+1.8755625000e+00 4.2717609524e-05
+2.8130937500e+00 3.0122419513e-05
+3.7506250000e+00 1.4361727911e-05
+4.6881562500e+00 2.6175179936e-06
+5.6256875000e+00 -3.4240291645e-06
+6.5632187500e+00 6.5486884051e-07
+7.5007500000e+00 -8.4924386162e-06
+8.4382812500e+00 -1.9560323486e-05
+9.3758125000e+00 8.5836939100e-07
+1.0313343750e+01 8.5790409745e-06
+1.1250875000e+01 7.6749984587e-06
+1.2188406250e+01 5.5937211777e-06
+1.3125937500e+01 8.0623060294e-06
+1.4063468750e+01 8.0431943569e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.0639285724e-06
+-1.3124937500e+01 -9.2195618059e-06
+-1.2187406250e+01 -7.1933024924e-06
+-1.1249875000e+01 -8.9126375093e-06
+-1.0312343750e+01 -7.7460862169e-06
+-9.3748125000e+00 -2.2963752560e-06
+-8.4372812500e+00 2.3621209381e-05
+-7.4997500000e+00 1.2528248733e-05
+-6.5622187500e+00 -3.5796008911e-06
+-5.6246875000e+00 2.4565168624e-06
+-4.6871562500e+00 -4.3595381862e-06
+-3.7496250000e+00 -1.8487200230e-05
+-2.8120937500e+00 -3.6416821894e-05
+-1.8745625000e+00 -5.0276691875e-05
+-9.3703125000e-01 -2.7485707234e-06
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.4908095893e-06
+1.8755625000e+00 5.0376451751e-05
+2.8130937500e+00 3.6390593162e-05
+3.7506250000e+00 1.8466398708e-05
+4.6881562500e+00 4.3470310713e-06
+5.6256875000e+00 -2.4525089569e-06
+6.5632187500e+00 3.6014838181e-06
+7.5007500000e+00 -1.2552441882e-05
+8.4382812500e+00 -2.3672349545e-05
+9.3758125000e+00 2.3230344511e-06
+1.0313343750e+01 7.7726344901e-06
+1.1250875000e+01 8.9070440202e-06
+1.2188406250e+01 7.1915767278e-06
+1.3125937500e+01 9.2173169192e-06
+1.4063468750e+01 9.0613131499e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.3504720477e-06
+-1.3124937500e+01 -1.0042626437e-05
+-1.2187406250e+01 -9.0684356670e-06
+-1.1249875000e+01 -9.6680206237e-06
+-1.0312343750e+01 -6.1618977610e-06
+-9.3748125000e+00 -7.1282673647e-07
+-8.4372812500e+00 2.7282130538e-05
+-7.4997500000e+00 1.5368881893e-05
+-6.5622187500e+00 -6.4239579711e-06
+-5.6246875000e+00 -5.5187076613e-07
+-4.6871562500e+00 -6.4976655116e-06
+-3.7496250000e+00 -2.3021054228e-05
+-2.8120937500e+00 -4.3156791522e-05
+-1.8745625000e+00 -5.7055265199e-05
+-9.3703125000e-01 -5.6505001399e-06
+5.0000000000e-04 2.5594891678e-07
+9.3803125000e-01 5.3339041464e-06
+1.8755625000e+00 5.7187343487e-05
+2.8130937500e+00 4.3126722439e-05
+3.7506250000e+00 2.2996968800e-05
+4.6881562500e+00 6.4833488212e-06
+5.6256875000e+00 5.6794577858e-07
+6.5632187500e+00 6.4412556622e-06
+7.5007500000e+00 -1.5355903165e-05
+8.4382812500e+00 -2.7343780832e-05
+9.3758125000e+00 6.8561603274e-07
+1.0313343750e+01 6.2002261771e-06
+1.1250875000e+01 9.6632273934e-06
+1.2188406250e+01 9.0646306519e-06
+1.3125937500e+01 1.0040364911e-05
+1.4063468750e+01 9.3478965690e-06
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/press_3D_diagonal.xg b/test/whisky_test_tov_ppm/press_3D_diagonal.xg
new file mode 100644
index 0000000..e148a37
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 5.2155848592e-11
+-6.4945410093e+00 4.5683239346e-06
+-4.8706892506e+00 2.5457424656e-05
+-3.2468374920e+00 7.1655046847e-05
+-1.6229857333e+00 1.3271087441e-04
+8.6602540378e-04 1.6383998934e-04
+1.6247177841e+00 1.3265171853e-04
+3.2485695428e+00 7.1592827329e-05
+4.8724213015e+00 2.5422474273e-05
+6.4962730601e+00 4.5567990214e-06
+8.1201248188e+00 2.8851771095e-11
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 1.4282458686e-10
+-6.4945410093e+00 4.5681771228e-06
+-4.8706892506e+00 2.5457253928e-05
+-3.2468374920e+00 7.1656990283e-05
+-1.6229857333e+00 1.3291942183e-04
+8.6602540378e-04 1.6333106334e-04
+1.6247177841e+00 1.3286100022e-04
+3.2485695428e+00 7.1594785711e-05
+4.8724213015e+00 2.5422304290e-05
+6.4962730601e+00 4.5566522383e-06
+8.1201248188e+00 1.0269186351e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 2.7301755798e-10
+-6.4945410093e+00 4.5677301448e-06
+-4.8706892506e+00 2.5456843825e-05
+-3.2468374920e+00 7.1662313001e-05
+-1.6229857333e+00 1.3312273877e-04
+8.6602540378e-04 1.6281991117e-04
+1.6247177841e+00 1.3306501081e-04
+3.2485695428e+00 7.1600151538e-05
+4.8724213015e+00 2.5421896834e-05
+6.4962730601e+00 4.5562059360e-06
+8.1201248188e+00 2.1735182171e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 4.3817792831e-10
+-6.4945410093e+00 4.5669695162e-06
+-4.8706892506e+00 2.5456398993e-05
+-3.2468374920e+00 7.1670038641e-05
+-1.6229857333e+00 1.3331885388e-04
+8.6602540378e-04 1.6231335175e-04
+1.6247177841e+00 1.3326177612e-04
+3.2485695428e+00 7.1607945149e-05
+4.8724213015e+00 2.5421457313e-05
+6.4962730601e+00 4.5554471468e-06
+8.1201248188e+00 3.6836173159e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 6.3128819738e-10
+-6.4945410093e+00 4.5658679422e-06
+-4.8706892506e+00 2.5456151138e-05
+-3.2468374920e+00 7.1679116925e-05
+-1.6229857333e+00 1.3350826532e-04
+8.6602540378e-04 1.6181402542e-04
+1.6247177841e+00 1.3345141006e-04
+3.2485695428e+00 7.1617128409e-05
+4.8724213015e+00 2.5421212784e-05
+6.4962730601e+00 4.5543490186e-06
+8.1201248188e+00 5.5067338470e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 8.4554707818e-10
+-6.4945410093e+00 4.5643665036e-06
+-4.8706892506e+00 2.5456720010e-05
+-3.2468374920e+00 7.1688222064e-05
+-1.6229857333e+00 1.3369226281e-04
+8.6602540378e-04 1.6131823393e-04
+1.6247177841e+00 1.3363563129e-04
+3.2485695428e+00 7.1626389245e-05
+4.8724213015e+00 2.5421774407e-05
+6.4962730601e+00 4.5528539779e-06
+8.1201248188e+00 7.5631679868e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 1.0760153416e-09
+-6.4945410093e+00 4.5623633849e-06
+-4.8706892506e+00 2.5458687493e-05
+-3.2468374920e+00 7.1696701753e-05
+-1.6229857333e+00 1.3385747397e-04
+8.6602540378e-04 1.6084206838e-04
+1.6247177841e+00 1.3380200334e-04
+3.2485695428e+00 7.1634857395e-05
+4.8724213015e+00 2.5423733952e-05
+6.4962730601e+00 4.5508614889e-06
+8.1201248188e+00 9.7910476880e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 1.3223670837e-09
+-6.4945410093e+00 4.5599179097e-06
+-4.8706892506e+00 2.5461477961e-05
+-3.2468374920e+00 7.1707591496e-05
+-1.6229857333e+00 1.3399511413e-04
+8.6602540378e-04 1.6041223256e-04
+1.6247177841e+00 1.3393934438e-04
+3.2485695428e+00 7.1645876286e-05
+4.8724213015e+00 2.5426512120e-05
+6.4962730601e+00 4.5484265535e-06
+8.1201248188e+00 1.2164930204e-09
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm/press_maximum.xg b/test/whisky_test_tov_ppm/press_maximum.xg
new file mode 100644
index 0000000..e8669ea
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_maximum.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0001638399893
+0.3515742187500 0.0001633310633
+0.7031484375000 0.0001628199112
+1.0547226562500 0.0001623133518
+1.4062968750000 0.0001618140254
+1.7578710937500 0.0001613182339
+2.1094453125000 0.0001608420684
+2.4610195312500 0.0001604122326
diff --git a/test/whisky_test_tov_ppm/press_minimum.xg b/test/whisky_test_tov_ppm/press_minimum.xg
new file mode 100644
index 0000000..5860d41
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_minimum.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0000000000010
+0.3515742187500 0.0000000000010
+0.7031484375000 0.0000000000010
+1.0547226562500 0.0000000000010
+1.4062968750000 0.0000000000010
+1.7578710937500 0.0000000000010
+2.1094453125000 0.0000000000010
+2.4610195312500 0.0000000000010
diff --git a/test/whisky_test_tov_ppm/press_norm1.xg b/test/whisky_test_tov_ppm/press_norm1.xg
new file mode 100644
index 0000000..ddffaca
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_norm1.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0000013103160
+0.3515742187500 0.0000013102421
+0.7031484375000 0.0000013101652
+1.0547226562500 0.0000013100846
+1.4062968750000 0.0000013099993
+1.7578710937500 0.0000013099082
+2.1094453125000 0.0000013098105
+2.4610195312500 0.0000013097040
diff --git a/test/whisky_test_tov_ppm/press_norm2.xg b/test/whisky_test_tov_ppm/press_norm2.xg
new file mode 100644
index 0000000..9b2d8f1
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_norm2.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0000089699871
+0.3515742187500 0.0000089694677
+0.7031484375000 0.0000089688693
+1.0547226562500 0.0000089681938
+1.4062968750000 0.0000089674341
+1.7578710937500 0.0000089665834
+2.1094453125000 0.0000089656470
+2.4610195312500 0.0000089646000
diff --git a/test/whisky_test_tov_ppm/press_x_[16][16].xg b/test/whisky_test_tov_ppm/press_x_[16][16].xg
new file mode 100644
index 0000000..1a42135
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0000000000e-12
+-8.4372812500e+00 1.0000000000e-12
+-7.4997500000e+00 5.2605173583e-07
+-6.5622187500e+00 4.1315900663e-06
+-5.6246875000e+00 1.2995946174e-05
+-4.6871562500e+00 2.9335030675e-05
+-3.7496250000e+00 5.4603112748e-05
+-2.8120937500e+00 8.7842646809e-05
+-1.8745625000e+00 1.2379368326e-04
+-9.3703125000e-01 1.5265624931e-04
+5.0000000000e-04 1.6383998934e-04
+9.3803125000e-01 1.5263328310e-04
+1.8755625000e+00 1.2375708443e-04
+2.8130937500e+00 8.7804360334e-05
+3.7506250000e+00 5.4571420118e-05
+4.6881562500e+00 2.9312961502e-05
+5.6256875000e+00 1.2982880569e-05
+6.5632187500e+00 4.1253437891e-06
+7.5007500000e+00 5.2423683754e-07
+8.4382812500e+00 1.0000000000e-12
+9.3758125000e+00 1.0000000000e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0021322643e-12
+-8.4372812500e+00 6.8859822808e-12
+-7.4997500000e+00 5.2270979510e-07
+-6.5622187500e+00 4.1245384654e-06
+-5.6246875000e+00 1.2973928705e-05
+-4.6871562500e+00 2.9284232039e-05
+-3.7496250000e+00 5.4503906833e-05
+-2.8120937500e+00 8.7674635062e-05
+-1.8745625000e+00 1.2354828949e-04
+-9.3703125000e-01 1.5242455147e-04
+5.0000000000e-04 1.6333106334e-04
+9.3803125000e-01 1.5240195273e-04
+1.8755625000e+00 1.2351178360e-04
+2.8130937500e+00 8.7636431075e-05
+3.7506250000e+00 5.4472277159e-05
+4.6881562500e+00 2.9262203314e-05
+5.6256875000e+00 1.2960885182e-05
+6.5632187500e+00 4.1183028762e-06
+7.5007500000e+00 5.2091031598e-07
+8.4382812500e+00 6.8533413073e-12
+9.3758125000e+00 1.0021118688e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0119893223e-12
+-8.4372812500e+00 1.7905804752e-11
+-7.4997500000e+00 5.1948654506e-07
+-6.5622187500e+00 4.1178184303e-06
+-5.6246875000e+00 1.2951803690e-05
+-4.6871562500e+00 2.9233404058e-05
+-3.7496250000e+00 5.4403983724e-05
+-2.8120937500e+00 8.7504870178e-05
+-1.8745625000e+00 1.2330332995e-04
+-9.3703125000e-01 1.5218820155e-04
+5.0000000000e-04 1.6281991117e-04
+9.3803125000e-01 1.5216595111e-04
+1.8755625000e+00 1.2326693654e-04
+2.8130937500e+00 8.7466751881e-05
+3.7506250000e+00 5.4372417828e-05
+4.6881562500e+00 2.9211416143e-05
+5.6256875000e+00 1.2938782082e-05
+6.5632187500e+00 4.1115943898e-06
+7.5007500000e+00 5.1770181368e-07
+8.4382812500e+00 1.7800836051e-11
+9.3758125000e+00 1.0119247941e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0257501512e-12
+-8.4372812500e+00 3.3886792163e-11
+-7.4997500000e+00 5.1638364958e-07
+-6.5622187500e+00 4.1114617856e-06
+-5.6246875000e+00 1.2929722884e-05
+-4.6871562500e+00 2.9183013592e-05
+-3.7496250000e+00 5.4304396219e-05
+-2.8120937500e+00 8.7335748061e-05
+-1.8745625000e+00 1.2306125318e-04
+-9.3703125000e-01 1.5195047613e-04
+5.0000000000e-04 1.6231335175e-04
+9.3803125000e-01 1.5192855273e-04
+1.8755625000e+00 1.2302498766e-04
+2.8130937500e+00 8.7297719155e-05
+3.7506250000e+00 5.4272894001e-05
+4.6881562500e+00 2.9161066353e-05
+5.6256875000e+00 1.2916722908e-05
+6.5632187500e+00 4.1052500120e-06
+7.5007500000e+00 5.1461299758e-07
+8.4382812500e+00 3.3670787552e-11
+9.3758125000e+00 1.0256256234e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0429580779e-12
+-8.4372812500e+00 5.4640647837e-11
+-7.4997500000e+00 5.1340442691e-07
+-6.5622187500e+00 4.1054453518e-06
+-5.6246875000e+00 1.2907454030e-05
+-4.6871562500e+00 2.9132430173e-05
+-3.7496250000e+00 5.4204105073e-05
+-2.8120937500e+00 8.7166644743e-05
+-1.8745625000e+00 1.2282125657e-04
+-9.3703125000e-01 1.5171236163e-04
+5.0000000000e-04 1.6181402542e-04
+9.3803125000e-01 1.5169059466e-04
+1.8755625000e+00 1.2278514057e-04
+2.8130937500e+00 8.7128701485e-05
+3.7506250000e+00 5.4172667222e-05
+4.6881562500e+00 2.9110523947e-05
+5.6256875000e+00 1.2894475816e-05
+6.5632187500e+00 4.0992466079e-06
+7.5007500000e+00 5.1164718122e-07
+8.4382812500e+00 5.4276059450e-11
+9.3758125000e+00 1.0427533749e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0629336839e-12
+-8.4372812500e+00 7.9963092684e-11
+-7.4997500000e+00 5.1055243250e-07
+-6.5622187500e+00 4.0997228989e-06
+-5.6246875000e+00 1.2885085967e-05
+-4.6871562500e+00 2.9082089959e-05
+-3.7496250000e+00 5.4103755836e-05
+-2.8120937500e+00 8.6998889143e-05
+-1.8745625000e+00 1.2258229262e-04
+-9.3703125000e-01 1.5147292962e-04
+5.0000000000e-04 1.6131823393e-04
+9.3803125000e-01 1.5145131694e-04
+1.8755625000e+00 1.2254635579e-04
+2.8130937500e+00 8.6961018304e-05
+3.7506250000e+00 5.4072386565e-05
+4.6881562500e+00 2.9060224647e-05
+5.6256875000e+00 1.2872129421e-05
+6.5632187500e+00 4.0935378193e-06
+7.5007500000e+00 5.0880791843e-07
+8.4382812500e+00 7.9413657475e-11
+9.3758125000e+00 1.0626241823e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0847770065e-12
+-8.4372812500e+00 1.0963528594e-10
+-7.4997500000e+00 5.0781915106e-07
+-6.5622187500e+00 4.0943651607e-06
+-5.6246875000e+00 1.2862824653e-05
+-4.6871562500e+00 2.9032604963e-05
+-3.7496250000e+00 5.4004522048e-05
+-2.8120937500e+00 8.6839657930e-05
+-1.8745625000e+00 1.2235335665e-04
+-9.3703125000e-01 1.5124288144e-04
+5.0000000000e-04 1.6084206838e-04
+9.3803125000e-01 1.5122180003e-04
+1.8755625000e+00 1.2231755730e-04
+2.8130937500e+00 8.6801818062e-05
+3.7506250000e+00 5.3973232197e-05
+4.6881562500e+00 2.9010780254e-05
+5.6256875000e+00 1.2849889465e-05
+6.5632187500e+00 4.0881967454e-06
+7.5007500000e+00 5.0608671712e-07
+8.4382812500e+00 1.0886614846e-10
+9.3758125000e+00 1.0843452269e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.1089457618e-12
+-8.4372812500e+00 1.4342051656e-10
+-7.4997500000e+00 5.0520793435e-07
+-6.5622187500e+00 4.0896691406e-06
+-5.6246875000e+00 1.2840870853e-05
+-4.6871562500e+00 2.8986420158e-05
+-3.7496250000e+00 5.3913793918e-05
+-2.8120937500e+00 8.6695910281e-05
+-1.8745625000e+00 1.2214636542e-04
+-9.3703125000e-01 1.5102752827e-04
+5.0000000000e-04 1.6041223256e-04
+9.3803125000e-01 1.5100638031e-04
+1.8755625000e+00 1.2211071794e-04
+2.8130937500e+00 8.6658126364e-05
+3.7506250000e+00 5.3882560809e-05
+4.6881562500e+00 2.8964630540e-05
+5.6256875000e+00 1.2827956633e-05
+6.5632187500e+00 4.0835192333e-06
+7.5007500000e+00 5.0348690645e-07
+8.4382812500e+00 1.4239817198e-10
+9.3758125000e+00 1.1083964253e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm/press_y_[16][16].xg b/test/whisky_test_tov_ppm/press_y_[16][16].xg
new file mode 100644
index 0000000..1a42135
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0000000000e-12
+-8.4372812500e+00 1.0000000000e-12
+-7.4997500000e+00 5.2605173583e-07
+-6.5622187500e+00 4.1315900663e-06
+-5.6246875000e+00 1.2995946174e-05
+-4.6871562500e+00 2.9335030675e-05
+-3.7496250000e+00 5.4603112748e-05
+-2.8120937500e+00 8.7842646809e-05
+-1.8745625000e+00 1.2379368326e-04
+-9.3703125000e-01 1.5265624931e-04
+5.0000000000e-04 1.6383998934e-04
+9.3803125000e-01 1.5263328310e-04
+1.8755625000e+00 1.2375708443e-04
+2.8130937500e+00 8.7804360334e-05
+3.7506250000e+00 5.4571420118e-05
+4.6881562500e+00 2.9312961502e-05
+5.6256875000e+00 1.2982880569e-05
+6.5632187500e+00 4.1253437891e-06
+7.5007500000e+00 5.2423683754e-07
+8.4382812500e+00 1.0000000000e-12
+9.3758125000e+00 1.0000000000e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0021322643e-12
+-8.4372812500e+00 6.8859822808e-12
+-7.4997500000e+00 5.2270979510e-07
+-6.5622187500e+00 4.1245384654e-06
+-5.6246875000e+00 1.2973928705e-05
+-4.6871562500e+00 2.9284232039e-05
+-3.7496250000e+00 5.4503906833e-05
+-2.8120937500e+00 8.7674635062e-05
+-1.8745625000e+00 1.2354828949e-04
+-9.3703125000e-01 1.5242455147e-04
+5.0000000000e-04 1.6333106334e-04
+9.3803125000e-01 1.5240195273e-04
+1.8755625000e+00 1.2351178360e-04
+2.8130937500e+00 8.7636431075e-05
+3.7506250000e+00 5.4472277159e-05
+4.6881562500e+00 2.9262203314e-05
+5.6256875000e+00 1.2960885182e-05
+6.5632187500e+00 4.1183028762e-06
+7.5007500000e+00 5.2091031598e-07
+8.4382812500e+00 6.8533413073e-12
+9.3758125000e+00 1.0021118688e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0119893223e-12
+-8.4372812500e+00 1.7905804752e-11
+-7.4997500000e+00 5.1948654506e-07
+-6.5622187500e+00 4.1178184303e-06
+-5.6246875000e+00 1.2951803690e-05
+-4.6871562500e+00 2.9233404058e-05
+-3.7496250000e+00 5.4403983724e-05
+-2.8120937500e+00 8.7504870178e-05
+-1.8745625000e+00 1.2330332995e-04
+-9.3703125000e-01 1.5218820155e-04
+5.0000000000e-04 1.6281991117e-04
+9.3803125000e-01 1.5216595111e-04
+1.8755625000e+00 1.2326693654e-04
+2.8130937500e+00 8.7466751881e-05
+3.7506250000e+00 5.4372417828e-05
+4.6881562500e+00 2.9211416143e-05
+5.6256875000e+00 1.2938782082e-05
+6.5632187500e+00 4.1115943898e-06
+7.5007500000e+00 5.1770181368e-07
+8.4382812500e+00 1.7800836051e-11
+9.3758125000e+00 1.0119247941e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0257501512e-12
+-8.4372812500e+00 3.3886792163e-11
+-7.4997500000e+00 5.1638364958e-07
+-6.5622187500e+00 4.1114617856e-06
+-5.6246875000e+00 1.2929722884e-05
+-4.6871562500e+00 2.9183013592e-05
+-3.7496250000e+00 5.4304396219e-05
+-2.8120937500e+00 8.7335748061e-05
+-1.8745625000e+00 1.2306125318e-04
+-9.3703125000e-01 1.5195047613e-04
+5.0000000000e-04 1.6231335175e-04
+9.3803125000e-01 1.5192855273e-04
+1.8755625000e+00 1.2302498766e-04
+2.8130937500e+00 8.7297719155e-05
+3.7506250000e+00 5.4272894001e-05
+4.6881562500e+00 2.9161066353e-05
+5.6256875000e+00 1.2916722908e-05
+6.5632187500e+00 4.1052500120e-06
+7.5007500000e+00 5.1461299758e-07
+8.4382812500e+00 3.3670787552e-11
+9.3758125000e+00 1.0256256234e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0429580779e-12
+-8.4372812500e+00 5.4640647837e-11
+-7.4997500000e+00 5.1340442691e-07
+-6.5622187500e+00 4.1054453518e-06
+-5.6246875000e+00 1.2907454030e-05
+-4.6871562500e+00 2.9132430173e-05
+-3.7496250000e+00 5.4204105073e-05
+-2.8120937500e+00 8.7166644743e-05
+-1.8745625000e+00 1.2282125657e-04
+-9.3703125000e-01 1.5171236163e-04
+5.0000000000e-04 1.6181402542e-04
+9.3803125000e-01 1.5169059466e-04
+1.8755625000e+00 1.2278514057e-04
+2.8130937500e+00 8.7128701485e-05
+3.7506250000e+00 5.4172667222e-05
+4.6881562500e+00 2.9110523947e-05
+5.6256875000e+00 1.2894475816e-05
+6.5632187500e+00 4.0992466079e-06
+7.5007500000e+00 5.1164718122e-07
+8.4382812500e+00 5.4276059450e-11
+9.3758125000e+00 1.0427533749e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0629336839e-12
+-8.4372812500e+00 7.9963092684e-11
+-7.4997500000e+00 5.1055243250e-07
+-6.5622187500e+00 4.0997228989e-06
+-5.6246875000e+00 1.2885085967e-05
+-4.6871562500e+00 2.9082089959e-05
+-3.7496250000e+00 5.4103755836e-05
+-2.8120937500e+00 8.6998889143e-05
+-1.8745625000e+00 1.2258229262e-04
+-9.3703125000e-01 1.5147292962e-04
+5.0000000000e-04 1.6131823393e-04
+9.3803125000e-01 1.5145131694e-04
+1.8755625000e+00 1.2254635579e-04
+2.8130937500e+00 8.6961018304e-05
+3.7506250000e+00 5.4072386565e-05
+4.6881562500e+00 2.9060224647e-05
+5.6256875000e+00 1.2872129421e-05
+6.5632187500e+00 4.0935378193e-06
+7.5007500000e+00 5.0880791843e-07
+8.4382812500e+00 7.9413657475e-11
+9.3758125000e+00 1.0626241823e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0847770065e-12
+-8.4372812500e+00 1.0963528594e-10
+-7.4997500000e+00 5.0781915106e-07
+-6.5622187500e+00 4.0943651607e-06
+-5.6246875000e+00 1.2862824653e-05
+-4.6871562500e+00 2.9032604963e-05
+-3.7496250000e+00 5.4004522048e-05
+-2.8120937500e+00 8.6839657930e-05
+-1.8745625000e+00 1.2235335665e-04
+-9.3703125000e-01 1.5124288144e-04
+5.0000000000e-04 1.6084206838e-04
+9.3803125000e-01 1.5122180003e-04
+1.8755625000e+00 1.2231755730e-04
+2.8130937500e+00 8.6801818062e-05
+3.7506250000e+00 5.3973232197e-05
+4.6881562500e+00 2.9010780254e-05
+5.6256875000e+00 1.2849889465e-05
+6.5632187500e+00 4.0881967454e-06
+7.5007500000e+00 5.0608671712e-07
+8.4382812500e+00 1.0886614846e-10
+9.3758125000e+00 1.0843452269e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.1089457618e-12
+-8.4372812500e+00 1.4342051656e-10
+-7.4997500000e+00 5.0520793435e-07
+-6.5622187500e+00 4.0896691406e-06
+-5.6246875000e+00 1.2840870853e-05
+-4.6871562500e+00 2.8986420158e-05
+-3.7496250000e+00 5.3913793918e-05
+-2.8120937500e+00 8.6695910281e-05
+-1.8745625000e+00 1.2214636542e-04
+-9.3703125000e-01 1.5102752827e-04
+5.0000000000e-04 1.6041223256e-04
+9.3803125000e-01 1.5100638031e-04
+1.8755625000e+00 1.2211071794e-04
+2.8130937500e+00 8.6658126364e-05
+3.7506250000e+00 5.3882560809e-05
+4.6881562500e+00 2.8964630540e-05
+5.6256875000e+00 1.2827956633e-05
+6.5632187500e+00 4.0835192333e-06
+7.5007500000e+00 5.0348690645e-07
+8.4382812500e+00 1.4239817198e-10
+9.3758125000e+00 1.1083964253e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm/press_z_[16][16].xg b/test/whisky_test_tov_ppm/press_z_[16][16].xg
new file mode 100644
index 0000000..1a42135
--- /dev/null
+++ b/test/whisky_test_tov_ppm/press_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0000000000e-12
+-8.4372812500e+00 1.0000000000e-12
+-7.4997500000e+00 5.2605173583e-07
+-6.5622187500e+00 4.1315900663e-06
+-5.6246875000e+00 1.2995946174e-05
+-4.6871562500e+00 2.9335030675e-05
+-3.7496250000e+00 5.4603112748e-05
+-2.8120937500e+00 8.7842646809e-05
+-1.8745625000e+00 1.2379368326e-04
+-9.3703125000e-01 1.5265624931e-04
+5.0000000000e-04 1.6383998934e-04
+9.3803125000e-01 1.5263328310e-04
+1.8755625000e+00 1.2375708443e-04
+2.8130937500e+00 8.7804360334e-05
+3.7506250000e+00 5.4571420118e-05
+4.6881562500e+00 2.9312961502e-05
+5.6256875000e+00 1.2982880569e-05
+6.5632187500e+00 4.1253437891e-06
+7.5007500000e+00 5.2423683754e-07
+8.4382812500e+00 1.0000000000e-12
+9.3758125000e+00 1.0000000000e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0021322643e-12
+-8.4372812500e+00 6.8859822808e-12
+-7.4997500000e+00 5.2270979510e-07
+-6.5622187500e+00 4.1245384654e-06
+-5.6246875000e+00 1.2973928705e-05
+-4.6871562500e+00 2.9284232039e-05
+-3.7496250000e+00 5.4503906833e-05
+-2.8120937500e+00 8.7674635062e-05
+-1.8745625000e+00 1.2354828949e-04
+-9.3703125000e-01 1.5242455147e-04
+5.0000000000e-04 1.6333106334e-04
+9.3803125000e-01 1.5240195273e-04
+1.8755625000e+00 1.2351178360e-04
+2.8130937500e+00 8.7636431075e-05
+3.7506250000e+00 5.4472277159e-05
+4.6881562500e+00 2.9262203314e-05
+5.6256875000e+00 1.2960885182e-05
+6.5632187500e+00 4.1183028762e-06
+7.5007500000e+00 5.2091031598e-07
+8.4382812500e+00 6.8533413073e-12
+9.3758125000e+00 1.0021118688e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0119893223e-12
+-8.4372812500e+00 1.7905804752e-11
+-7.4997500000e+00 5.1948654506e-07
+-6.5622187500e+00 4.1178184303e-06
+-5.6246875000e+00 1.2951803690e-05
+-4.6871562500e+00 2.9233404058e-05
+-3.7496250000e+00 5.4403983724e-05
+-2.8120937500e+00 8.7504870178e-05
+-1.8745625000e+00 1.2330332995e-04
+-9.3703125000e-01 1.5218820155e-04
+5.0000000000e-04 1.6281991117e-04
+9.3803125000e-01 1.5216595111e-04
+1.8755625000e+00 1.2326693654e-04
+2.8130937500e+00 8.7466751881e-05
+3.7506250000e+00 5.4372417828e-05
+4.6881562500e+00 2.9211416143e-05
+5.6256875000e+00 1.2938782082e-05
+6.5632187500e+00 4.1115943898e-06
+7.5007500000e+00 5.1770181368e-07
+8.4382812500e+00 1.7800836051e-11
+9.3758125000e+00 1.0119247941e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0257501512e-12
+-8.4372812500e+00 3.3886792163e-11
+-7.4997500000e+00 5.1638364958e-07
+-6.5622187500e+00 4.1114617856e-06
+-5.6246875000e+00 1.2929722884e-05
+-4.6871562500e+00 2.9183013592e-05
+-3.7496250000e+00 5.4304396219e-05
+-2.8120937500e+00 8.7335748061e-05
+-1.8745625000e+00 1.2306125318e-04
+-9.3703125000e-01 1.5195047613e-04
+5.0000000000e-04 1.6231335175e-04
+9.3803125000e-01 1.5192855273e-04
+1.8755625000e+00 1.2302498766e-04
+2.8130937500e+00 8.7297719155e-05
+3.7506250000e+00 5.4272894001e-05
+4.6881562500e+00 2.9161066353e-05
+5.6256875000e+00 1.2916722908e-05
+6.5632187500e+00 4.1052500120e-06
+7.5007500000e+00 5.1461299758e-07
+8.4382812500e+00 3.3670787552e-11
+9.3758125000e+00 1.0256256234e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0429580779e-12
+-8.4372812500e+00 5.4640647837e-11
+-7.4997500000e+00 5.1340442691e-07
+-6.5622187500e+00 4.1054453518e-06
+-5.6246875000e+00 1.2907454030e-05
+-4.6871562500e+00 2.9132430173e-05
+-3.7496250000e+00 5.4204105073e-05
+-2.8120937500e+00 8.7166644743e-05
+-1.8745625000e+00 1.2282125657e-04
+-9.3703125000e-01 1.5171236163e-04
+5.0000000000e-04 1.6181402542e-04
+9.3803125000e-01 1.5169059466e-04
+1.8755625000e+00 1.2278514057e-04
+2.8130937500e+00 8.7128701485e-05
+3.7506250000e+00 5.4172667222e-05
+4.6881562500e+00 2.9110523947e-05
+5.6256875000e+00 1.2894475816e-05
+6.5632187500e+00 4.0992466079e-06
+7.5007500000e+00 5.1164718122e-07
+8.4382812500e+00 5.4276059450e-11
+9.3758125000e+00 1.0427533749e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0629336839e-12
+-8.4372812500e+00 7.9963092684e-11
+-7.4997500000e+00 5.1055243250e-07
+-6.5622187500e+00 4.0997228989e-06
+-5.6246875000e+00 1.2885085967e-05
+-4.6871562500e+00 2.9082089959e-05
+-3.7496250000e+00 5.4103755836e-05
+-2.8120937500e+00 8.6998889143e-05
+-1.8745625000e+00 1.2258229262e-04
+-9.3703125000e-01 1.5147292962e-04
+5.0000000000e-04 1.6131823393e-04
+9.3803125000e-01 1.5145131694e-04
+1.8755625000e+00 1.2254635579e-04
+2.8130937500e+00 8.6961018304e-05
+3.7506250000e+00 5.4072386565e-05
+4.6881562500e+00 2.9060224647e-05
+5.6256875000e+00 1.2872129421e-05
+6.5632187500e+00 4.0935378193e-06
+7.5007500000e+00 5.0880791843e-07
+8.4382812500e+00 7.9413657475e-11
+9.3758125000e+00 1.0626241823e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0847770065e-12
+-8.4372812500e+00 1.0963528594e-10
+-7.4997500000e+00 5.0781915106e-07
+-6.5622187500e+00 4.0943651607e-06
+-5.6246875000e+00 1.2862824653e-05
+-4.6871562500e+00 2.9032604963e-05
+-3.7496250000e+00 5.4004522048e-05
+-2.8120937500e+00 8.6839657930e-05
+-1.8745625000e+00 1.2235335665e-04
+-9.3703125000e-01 1.5124288144e-04
+5.0000000000e-04 1.6084206838e-04
+9.3803125000e-01 1.5122180003e-04
+1.8755625000e+00 1.2231755730e-04
+2.8130937500e+00 8.6801818062e-05
+3.7506250000e+00 5.3973232197e-05
+4.6881562500e+00 2.9010780254e-05
+5.6256875000e+00 1.2849889465e-05
+6.5632187500e+00 4.0881967454e-06
+7.5007500000e+00 5.0608671712e-07
+8.4382812500e+00 1.0886614846e-10
+9.3758125000e+00 1.0843452269e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.1089457618e-12
+-8.4372812500e+00 1.4342051656e-10
+-7.4997500000e+00 5.0520793435e-07
+-6.5622187500e+00 4.0896691406e-06
+-5.6246875000e+00 1.2840870853e-05
+-4.6871562500e+00 2.8986420158e-05
+-3.7496250000e+00 5.3913793918e-05
+-2.8120937500e+00 8.6695910281e-05
+-1.8745625000e+00 1.2214636542e-04
+-9.3703125000e-01 1.5102752827e-04
+5.0000000000e-04 1.6041223256e-04
+9.3803125000e-01 1.5100638031e-04
+1.8755625000e+00 1.2211071794e-04
+2.8130937500e+00 8.6658126364e-05
+3.7506250000e+00 5.3882560809e-05
+4.6881562500e+00 2.8964630540e-05
+5.6256875000e+00 1.2827956633e-05
+6.5632187500e+00 4.0835192333e-06
+7.5007500000e+00 5.0348690645e-07
+8.4382812500e+00 1.4239817198e-10
+9.3758125000e+00 1.1083964253e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm/rho_3D_diagonal.xg b/test/whisky_test_tov_ppm/rho_3D_diagonal.xg
new file mode 100644
index 0000000..cd67607
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 7.2219006219e-07
+-6.4945410093e+00 2.1373637815e-04
+-4.8706892506e+00 5.0455351209e-04
+-3.2468374920e+00 8.4649304100e-04
+-1.6229857333e+00 1.1520020591e-03
+8.6602540378e-04 1.2799999584e-03
+1.6247177841e+00 1.1517452780e-03
+3.2485695428e+00 8.4612544773e-04
+4.8724213015e+00 5.0420704352e-04
+6.4962730601e+00 2.1346660210e-04
+8.1201248188e+00 5.3713844673e-07
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 1.1950924101e-06
+-6.4945410093e+00 2.1373294371e-04
+-4.8706892506e+00 5.0455182021e-04
+-3.2468374920e+00 8.4650452027e-04
+-1.6229857333e+00 1.1529068559e-03
+8.6602540378e-04 1.2780104199e-03
+1.6247177841e+00 1.1526534614e-03
+3.2485695428e+00 8.4613702029e-04
+4.8724213015e+00 5.0420535786e-04
+6.4962730601e+00 2.1346316400e-04
+8.1201248188e+00 1.0133699399e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 1.6523242962e-06
+-6.4945410093e+00 2.1372248700e-04
+-4.8706892506e+00 5.0454775616e-04
+-3.2468374920e+00 8.4653595908e-04
+-1.6229857333e+00 1.1537882768e-03
+8.6602540378e-04 1.2760090563e-03
+1.6247177841e+00 1.1535380826e-03
+3.2485695428e+00 8.4616872749e-04
+4.8724213015e+00 5.0420131727e-04
+6.4962730601e+00 2.1345270989e-04
+8.1201248188e+00 1.4742856633e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 2.0932699977e-06
+-6.4945410093e+00 2.1370469148e-04
+-4.8706892506e+00 5.0454334792e-04
+-3.2468374920e+00 8.4658158875e-04
+-1.6229857333e+00 1.1546378388e-03
+8.6602540378e-04 1.2740225734e-03
+1.6247177841e+00 1.1543906450e-03
+3.2485695428e+00 8.4621477858e-04
+4.8724213015e+00 5.0419695867e-04
+6.4962730601e+00 2.1343493498e-04
+8.1201248188e+00 1.9192752059e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 2.5125449198e-06
+-6.4945410093e+00 2.1367891665e-04
+-4.8706892506e+00 5.0454089168e-04
+-3.2468374920e+00 8.4663520435e-04
+-1.6229857333e+00 1.1554577678e-03
+8.6602540378e-04 1.2720614192e-03
+1.6247177841e+00 1.1552117124e-03
+3.2485695428e+00 8.4626903765e-04
+4.8724213015e+00 5.0419453373e-04
+6.4962730601e+00 2.1340920830e-04
+8.1201248188e+00 2.3466431018e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 2.9078292216e-06
+-6.4945410093e+00 2.1364378071e-04
+-4.8706892506e+00 5.0454652917e-04
+-3.2468374920e+00 8.4668897515e-04
+-1.6229857333e+00 1.1562537040e-03
+8.6602540378e-04 1.2701111523e-03
+1.6247177841e+00 1.1560087858e-03
+3.2485695428e+00 8.4632375156e-04
+4.8724213015e+00 5.0420010320e-04
+6.4962730601e+00 2.1337417786e-04
+8.1201248188e+00 2.7501214495e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 3.2802672781e-06
+-6.4945410093e+00 2.1359689569e-04
+-4.8706892506e+00 5.0456602633e-04
+-3.2468374920e+00 8.4673904926e-04
+-1.6229857333e+00 1.1569679078e-03
+8.6602540378e-04 1.2682352636e-03
+1.6247177841e+00 1.1567281588e-03
+3.2485695428e+00 8.4637377910e-04
+4.8724213015e+00 5.0421953505e-04
+6.4962730601e+00 2.1332748273e-04
+8.1201248188e+00 3.1290649862e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 3.6364365576e-06
+-6.4945410093e+00 2.1353964292e-04
+-4.8706892506e+00 5.0459367773e-04
+-3.2468374920e+00 8.4680335082e-04
+-1.6229857333e+00 1.1575625864e-03
+8.6602540378e-04 1.2665395081e-03
+1.6247177841e+00 1.1573216682e-03
+3.2485695428e+00 8.4643887131e-04
+4.8724213015e+00 5.0424708348e-04
+6.4962730601e+00 2.1327040473e-04
+8.1201248188e+00 3.4878259997e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm/rho_maximum.xg b/test/whisky_test_tov_ppm/rho_maximum.xg
new file mode 100644
index 0000000..ab6be3b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_maximum.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0012799999584
+0.3515742187500 0.0012780104199
+0.7031484375000 0.0012760090563
+1.0547226562500 0.0012740225734
+1.4062968750000 0.0012720614192
+1.7578710937500 0.0012701111523
+2.1094453125000 0.0012682352636
+2.4610195312500 0.0012665395081
diff --git a/test/whisky_test_tov_ppm/rho_minimum.xg b/test/whisky_test_tov_ppm/rho_minimum.xg
new file mode 100644
index 0000000..d5fa141
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_minimum.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0000001000000
+0.3515742187500 0.0000001000000
+0.7031484375000 0.0000001000000
+1.0547226562500 0.0000001000000
+1.4062968750000 0.0000001000000
+1.7578710937500 0.0000001000000
+2.1094453125000 0.0000001000000
+2.4610195312500 0.0000001000000
diff --git a/test/whisky_test_tov_ppm/rho_norm1.xg b/test/whisky_test_tov_ppm/rho_norm1.xg
new file mode 100644
index 0000000..951cd9d
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_norm1.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0000234653613
+0.3515742187500 0.0000234656449
+0.7031484375000 0.0000234660428
+1.0547226562500 0.0000234665467
+1.4062968750000 0.0000234671505
+1.7578710937500 0.0000234678465
+2.1094453125000 0.0000234686240
+2.4610195312500 0.0000234694746
diff --git a/test/whisky_test_tov_ppm/rho_norm2.xg b/test/whisky_test_tov_ppm/rho_norm2.xg
new file mode 100644
index 0000000..66a6297
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_norm2.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0001144690349
+0.3515742187500 0.0001144658058
+0.7031484375000 0.0001144624458
+1.0547226562500 0.0001144589256
+1.4062968750000 0.0001144552020
+1.7578710937500 0.0001144512227
+2.1094453125000 0.0001144469514
+2.4610195312500 0.0001144422977
diff --git a/test/whisky_test_tov_ppm/rho_x_[16][16].xg b/test/whisky_test_tov_ppm/rho_x_[16][16].xg
new file mode 100644
index 0000000..01d84be
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0000000000e-07
+-8.4372812500e+00 1.0000000000e-07
+-7.4997500000e+00 7.2529424086e-05
+-6.5622187500e+00 2.0326313159e-04
+-5.6246875000e+00 3.6049890672e-04
+-4.6871562500e+00 5.4161822971e-04
+-3.7496250000e+00 7.3893919065e-04
+-2.8120937500e+00 9.3724408138e-04
+-1.8745625000e+00 1.1126260974e-03
+-9.3703125000e-01 1.2355413765e-03
+5.0000000000e-04 1.2799999584e-03
+9.3803125000e-01 1.2354484331e-03
+1.8755625000e+00 1.1124616148e-03
+2.8130937500e+00 9.3703980883e-04
+3.7506250000e+00 7.3872471271e-04
+4.6881562500e+00 5.4141445771e-04
+5.6256875000e+00 3.6031764555e-04
+6.5632187500e+00 2.0310942344e-04
+7.5007500000e+00 7.2404201366e-05
+8.4382812500e+00 1.0000000000e-07
+9.3758125000e+00 1.0000000000e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0010655644e-07
+-8.4372812500e+00 2.6241155235e-07
+-7.4997500000e+00 7.2298671848e-05
+-6.5622187500e+00 2.0308959760e-04
+-5.6246875000e+00 3.6019340229e-04
+-4.6871562500e+00 5.4114907409e-04
+-3.7496250000e+00 7.3826761295e-04
+-2.8120937500e+00 9.3634734507e-04
+-1.8745625000e+00 1.1115227820e-03
+-9.3703125000e-01 1.2346033836e-03
+5.0000000000e-04 1.2780104199e-03
+9.3803125000e-01 1.2345118579e-03
+1.8755625000e+00 1.1113585542e-03
+2.8130937500e+00 9.3614331742e-04
+3.7506250000e+00 7.3805336636e-04
+4.6881562500e+00 5.4094549924e-04
+5.6256875000e+00 3.6001229398e-04
+6.5632187500e+00 2.0293602135e-04
+7.5007500000e+00 7.2174116966e-05
+8.4382812500e+00 2.6178887118e-07
+9.3758125000e+00 1.0010553775e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0059768001e-07
+-8.4372812500e+00 4.2315251095e-07
+-7.4997500000e+00 7.2075415022e-05
+-6.5622187500e+00 2.0292408507e-04
+-5.6246875000e+00 3.5988614435e-04
+-4.6871562500e+00 5.4067924002e-04
+-3.7496250000e+00 7.3759056206e-04
+-2.8120937500e+00 9.3544037853e-04
+-1.8745625000e+00 1.1104203256e-03
+-9.3703125000e-01 1.2336458225e-03
+5.0000000000e-04 1.2760090563e-03
+9.3803125000e-01 1.2335556376e-03
+1.8755625000e+00 1.1102564413e-03
+2.8130937500e+00 9.3523661114e-04
+3.7506250000e+00 7.3737655121e-04
+4.6881562500e+00 5.4047586572e-04
+5.6256875000e+00 3.5970518597e-04
+6.5632187500e+00 2.0277066824e-04
+7.5007500000e+00 7.1951498503e-05
+8.4382812500e+00 4.2191037023e-07
+9.3758125000e+00 1.0059447272e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0127932421e-07
+-8.4372812500e+00 5.8212363088e-07
+-7.4997500000e+00 7.1859839241e-05
+-6.5622187500e+00 2.0276739840e-04
+-5.6246875000e+00 3.5957923861e-04
+-4.6871562500e+00 5.4021304679e-04
+-3.7496250000e+00 7.3691516621e-04
+-2.8120937500e+00 9.3453597074e-04
+-1.8745625000e+00 1.1093297669e-03
+-9.3703125000e-01 1.2326819384e-03
+5.0000000000e-04 1.2740225734e-03
+9.3803125000e-01 1.2325930096e-03
+1.8755625000e+00 1.1091662980e-03
+2.8130937500e+00 9.3433248448e-04
+3.7506250000e+00 7.3670139135e-04
+4.6881562500e+00 5.4000987355e-04
+5.6256875000e+00 3.5939842665e-04
+6.5632187500e+00 2.0261416565e-04
+7.5007500000e+00 7.1736531668e-05
+8.4382812500e+00 5.8026534923e-07
+9.3758125000e+00 1.0127317628e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0212531899e-07
+-8.4372812500e+00 7.3919312657e-07
+-7.4997500000e+00 7.1652245388e-05
+-6.5622187500e+00 2.0261898608e-04
+-5.6246875000e+00 3.5926945361e-04
+-4.6871562500e+00 5.3974466345e-04
+-3.7496250000e+00 7.3623437215e-04
+-2.8120937500e+00 9.3363078754e-04
+-1.8745625000e+00 1.1082475201e-03
+-9.3703125000e-01 1.2317157206e-03
+5.0000000000e-04 1.2720614192e-03
+9.3803125000e-01 1.2316273570e-03
+1.8755625000e+00 1.1080845661e-03
+2.8130937500e+00 9.3342756272e-04
+3.7506250000e+00 7.3602083681e-04
+4.6881562500e+00 5.3954169391e-04
+5.6256875000e+00 3.5908878869e-04
+6.5632187500e+00 2.0246596277e-04
+7.5007500000e+00 7.1529517069e-05
+8.4382812500e+00 7.3672287497e-07
+9.3758125000e+00 1.0211529635e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0309867525e-07
+-8.4372812500e+00 8.9422084903e-07
+-7.4997500000e+00 7.1452951828e-05
+-6.5622187500e+00 2.0247772467e-04
+-5.6246875000e+00 3.5895801937e-04
+-4.6871562500e+00 5.3927812824e-04
+-3.7496250000e+00 7.3555255309e-04
+-2.8120937500e+00 9.3273195047e-04
+-1.8745625000e+00 1.1071688788e-03
+-9.3703125000e-01 1.2307433917e-03
+5.0000000000e-04 1.2701111523e-03
+9.3803125000e-01 1.2306555852e-03
+1.8755625000e+00 1.1070065753e-03
+2.8130937500e+00 9.3252891807e-04
+3.7506250000e+00 7.3533928608e-04
+4.6881562500e+00 5.3907536252e-04
+5.6256875000e+00 3.5877749959e-04
+6.5632187500e+00 2.0232493221e-04
+7.5007500000e+00 7.1330773052e-05
+8.4382812500e+00 8.9114340863e-07
+9.3758125000e+00 1.0308366419e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0415262870e-07
+-8.4372812500e+00 1.0470686985e-06
+-7.4997500000e+00 7.1261430736e-05
+-6.5622187500e+00 2.0234537703e-04
+-5.6246875000e+00 3.5864780291e-04
+-4.6871562500e+00 5.3881912515e-04
+-3.7496250000e+00 7.3487769083e-04
+-2.8120937500e+00 9.3187798520e-04
+-1.8745625000e+00 1.1061345155e-03
+-9.3703125000e-01 1.2298084462e-03
+5.0000000000e-04 1.2682352636e-03
+9.3803125000e-01 1.2297227331e-03
+1.8755625000e+00 1.1059726819e-03
+2.8130937500e+00 9.3167493291e-04
+3.7506250000e+00 7.3466476843e-04
+4.6881562500e+00 5.3861656356e-04
+5.6256875000e+00 3.5846742480e-04
+6.5632187500e+00 2.0219289664e-04
+7.5007500000e+00 7.1139772078e-05
+8.4382812500e+00 1.0433894214e-06
+9.3758125000e+00 1.0413189842e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0530649371e-07
+-8.4372812500e+00 1.1975830517e-06
+-7.4997500000e+00 7.1077980722e-05
+-6.5622187500e+00 2.0222930402e-04
+-5.6246875000e+00 3.5834160871e-04
+-4.6871562500e+00 5.3839038029e-04
+-3.7496250000e+00 7.3426013046e-04
+-2.8120937500e+00 9.3110638641e-04
+-1.8745625000e+00 1.1051984682e-03
+-9.3703125000e-01 1.2289325786e-03
+5.0000000000e-04 1.2665395081e-03
+9.3803125000e-01 1.2288465336e-03
+1.8755625000e+00 1.1050371846e-03
+2.8130937500e+00 9.3090346634e-04
+3.7506250000e+00 7.3404741542e-04
+4.6881562500e+00 5.3818798333e-04
+5.6256875000e+00 3.5816136913e-04
+6.5632187500e+00 2.0207719400e-04
+7.5007500000e+00 7.0956811262e-05
+8.4382812500e+00 1.1933070518e-06
+9.3758125000e+00 1.0528040773e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm/rho_y_[16][16].xg b/test/whisky_test_tov_ppm/rho_y_[16][16].xg
new file mode 100644
index 0000000..01d84be
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0000000000e-07
+-8.4372812500e+00 1.0000000000e-07
+-7.4997500000e+00 7.2529424086e-05
+-6.5622187500e+00 2.0326313159e-04
+-5.6246875000e+00 3.6049890672e-04
+-4.6871562500e+00 5.4161822971e-04
+-3.7496250000e+00 7.3893919065e-04
+-2.8120937500e+00 9.3724408138e-04
+-1.8745625000e+00 1.1126260974e-03
+-9.3703125000e-01 1.2355413765e-03
+5.0000000000e-04 1.2799999584e-03
+9.3803125000e-01 1.2354484331e-03
+1.8755625000e+00 1.1124616148e-03
+2.8130937500e+00 9.3703980883e-04
+3.7506250000e+00 7.3872471271e-04
+4.6881562500e+00 5.4141445771e-04
+5.6256875000e+00 3.6031764555e-04
+6.5632187500e+00 2.0310942344e-04
+7.5007500000e+00 7.2404201366e-05
+8.4382812500e+00 1.0000000000e-07
+9.3758125000e+00 1.0000000000e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0010655644e-07
+-8.4372812500e+00 2.6241155235e-07
+-7.4997500000e+00 7.2298671848e-05
+-6.5622187500e+00 2.0308959760e-04
+-5.6246875000e+00 3.6019340229e-04
+-4.6871562500e+00 5.4114907409e-04
+-3.7496250000e+00 7.3826761295e-04
+-2.8120937500e+00 9.3634734507e-04
+-1.8745625000e+00 1.1115227820e-03
+-9.3703125000e-01 1.2346033836e-03
+5.0000000000e-04 1.2780104199e-03
+9.3803125000e-01 1.2345118579e-03
+1.8755625000e+00 1.1113585542e-03
+2.8130937500e+00 9.3614331742e-04
+3.7506250000e+00 7.3805336636e-04
+4.6881562500e+00 5.4094549924e-04
+5.6256875000e+00 3.6001229398e-04
+6.5632187500e+00 2.0293602135e-04
+7.5007500000e+00 7.2174116966e-05
+8.4382812500e+00 2.6178887118e-07
+9.3758125000e+00 1.0010553775e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0059768001e-07
+-8.4372812500e+00 4.2315251095e-07
+-7.4997500000e+00 7.2075415022e-05
+-6.5622187500e+00 2.0292408507e-04
+-5.6246875000e+00 3.5988614435e-04
+-4.6871562500e+00 5.4067924002e-04
+-3.7496250000e+00 7.3759056206e-04
+-2.8120937500e+00 9.3544037853e-04
+-1.8745625000e+00 1.1104203256e-03
+-9.3703125000e-01 1.2336458225e-03
+5.0000000000e-04 1.2760090563e-03
+9.3803125000e-01 1.2335556376e-03
+1.8755625000e+00 1.1102564413e-03
+2.8130937500e+00 9.3523661114e-04
+3.7506250000e+00 7.3737655121e-04
+4.6881562500e+00 5.4047586572e-04
+5.6256875000e+00 3.5970518597e-04
+6.5632187500e+00 2.0277066824e-04
+7.5007500000e+00 7.1951498503e-05
+8.4382812500e+00 4.2191037023e-07
+9.3758125000e+00 1.0059447272e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0127932421e-07
+-8.4372812500e+00 5.8212363088e-07
+-7.4997500000e+00 7.1859839241e-05
+-6.5622187500e+00 2.0276739840e-04
+-5.6246875000e+00 3.5957923861e-04
+-4.6871562500e+00 5.4021304679e-04
+-3.7496250000e+00 7.3691516621e-04
+-2.8120937500e+00 9.3453597074e-04
+-1.8745625000e+00 1.1093297669e-03
+-9.3703125000e-01 1.2326819384e-03
+5.0000000000e-04 1.2740225734e-03
+9.3803125000e-01 1.2325930096e-03
+1.8755625000e+00 1.1091662980e-03
+2.8130937500e+00 9.3433248448e-04
+3.7506250000e+00 7.3670139135e-04
+4.6881562500e+00 5.4000987355e-04
+5.6256875000e+00 3.5939842665e-04
+6.5632187500e+00 2.0261416565e-04
+7.5007500000e+00 7.1736531668e-05
+8.4382812500e+00 5.8026534923e-07
+9.3758125000e+00 1.0127317628e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0212531899e-07
+-8.4372812500e+00 7.3919312657e-07
+-7.4997500000e+00 7.1652245388e-05
+-6.5622187500e+00 2.0261898608e-04
+-5.6246875000e+00 3.5926945361e-04
+-4.6871562500e+00 5.3974466345e-04
+-3.7496250000e+00 7.3623437215e-04
+-2.8120937500e+00 9.3363078754e-04
+-1.8745625000e+00 1.1082475201e-03
+-9.3703125000e-01 1.2317157206e-03
+5.0000000000e-04 1.2720614192e-03
+9.3803125000e-01 1.2316273570e-03
+1.8755625000e+00 1.1080845661e-03
+2.8130937500e+00 9.3342756272e-04
+3.7506250000e+00 7.3602083681e-04
+4.6881562500e+00 5.3954169391e-04
+5.6256875000e+00 3.5908878869e-04
+6.5632187500e+00 2.0246596277e-04
+7.5007500000e+00 7.1529517069e-05
+8.4382812500e+00 7.3672287497e-07
+9.3758125000e+00 1.0211529635e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0309867525e-07
+-8.4372812500e+00 8.9422084903e-07
+-7.4997500000e+00 7.1452951828e-05
+-6.5622187500e+00 2.0247772467e-04
+-5.6246875000e+00 3.5895801937e-04
+-4.6871562500e+00 5.3927812824e-04
+-3.7496250000e+00 7.3555255309e-04
+-2.8120937500e+00 9.3273195047e-04
+-1.8745625000e+00 1.1071688788e-03
+-9.3703125000e-01 1.2307433917e-03
+5.0000000000e-04 1.2701111523e-03
+9.3803125000e-01 1.2306555852e-03
+1.8755625000e+00 1.1070065753e-03
+2.8130937500e+00 9.3252891807e-04
+3.7506250000e+00 7.3533928608e-04
+4.6881562500e+00 5.3907536252e-04
+5.6256875000e+00 3.5877749959e-04
+6.5632187500e+00 2.0232493221e-04
+7.5007500000e+00 7.1330773052e-05
+8.4382812500e+00 8.9114340863e-07
+9.3758125000e+00 1.0308366419e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0415262870e-07
+-8.4372812500e+00 1.0470686985e-06
+-7.4997500000e+00 7.1261430736e-05
+-6.5622187500e+00 2.0234537703e-04
+-5.6246875000e+00 3.5864780291e-04
+-4.6871562500e+00 5.3881912515e-04
+-3.7496250000e+00 7.3487769083e-04
+-2.8120937500e+00 9.3187798520e-04
+-1.8745625000e+00 1.1061345155e-03
+-9.3703125000e-01 1.2298084462e-03
+5.0000000000e-04 1.2682352636e-03
+9.3803125000e-01 1.2297227331e-03
+1.8755625000e+00 1.1059726819e-03
+2.8130937500e+00 9.3167493291e-04
+3.7506250000e+00 7.3466476843e-04
+4.6881562500e+00 5.3861656356e-04
+5.6256875000e+00 3.5846742480e-04
+6.5632187500e+00 2.0219289664e-04
+7.5007500000e+00 7.1139772078e-05
+8.4382812500e+00 1.0433894214e-06
+9.3758125000e+00 1.0413189842e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0530649371e-07
+-8.4372812500e+00 1.1975830517e-06
+-7.4997500000e+00 7.1077980722e-05
+-6.5622187500e+00 2.0222930402e-04
+-5.6246875000e+00 3.5834160871e-04
+-4.6871562500e+00 5.3839038029e-04
+-3.7496250000e+00 7.3426013046e-04
+-2.8120937500e+00 9.3110638641e-04
+-1.8745625000e+00 1.1051984682e-03
+-9.3703125000e-01 1.2289325786e-03
+5.0000000000e-04 1.2665395081e-03
+9.3803125000e-01 1.2288465336e-03
+1.8755625000e+00 1.1050371846e-03
+2.8130937500e+00 9.3090346634e-04
+3.7506250000e+00 7.3404741542e-04
+4.6881562500e+00 5.3818798333e-04
+5.6256875000e+00 3.5816136913e-04
+6.5632187500e+00 2.0207719400e-04
+7.5007500000e+00 7.0956811262e-05
+8.4382812500e+00 1.1933070518e-06
+9.3758125000e+00 1.0528040773e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm/rho_z_[16][16].xg b/test/whisky_test_tov_ppm/rho_z_[16][16].xg
new file mode 100644
index 0000000..01d84be
--- /dev/null
+++ b/test/whisky_test_tov_ppm/rho_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0000000000e-07
+-8.4372812500e+00 1.0000000000e-07
+-7.4997500000e+00 7.2529424086e-05
+-6.5622187500e+00 2.0326313159e-04
+-5.6246875000e+00 3.6049890672e-04
+-4.6871562500e+00 5.4161822971e-04
+-3.7496250000e+00 7.3893919065e-04
+-2.8120937500e+00 9.3724408138e-04
+-1.8745625000e+00 1.1126260974e-03
+-9.3703125000e-01 1.2355413765e-03
+5.0000000000e-04 1.2799999584e-03
+9.3803125000e-01 1.2354484331e-03
+1.8755625000e+00 1.1124616148e-03
+2.8130937500e+00 9.3703980883e-04
+3.7506250000e+00 7.3872471271e-04
+4.6881562500e+00 5.4141445771e-04
+5.6256875000e+00 3.6031764555e-04
+6.5632187500e+00 2.0310942344e-04
+7.5007500000e+00 7.2404201366e-05
+8.4382812500e+00 1.0000000000e-07
+9.3758125000e+00 1.0000000000e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0010655644e-07
+-8.4372812500e+00 2.6241155235e-07
+-7.4997500000e+00 7.2298671848e-05
+-6.5622187500e+00 2.0308959760e-04
+-5.6246875000e+00 3.6019340229e-04
+-4.6871562500e+00 5.4114907409e-04
+-3.7496250000e+00 7.3826761295e-04
+-2.8120937500e+00 9.3634734507e-04
+-1.8745625000e+00 1.1115227820e-03
+-9.3703125000e-01 1.2346033836e-03
+5.0000000000e-04 1.2780104199e-03
+9.3803125000e-01 1.2345118579e-03
+1.8755625000e+00 1.1113585542e-03
+2.8130937500e+00 9.3614331742e-04
+3.7506250000e+00 7.3805336636e-04
+4.6881562500e+00 5.4094549924e-04
+5.6256875000e+00 3.6001229398e-04
+6.5632187500e+00 2.0293602135e-04
+7.5007500000e+00 7.2174116966e-05
+8.4382812500e+00 2.6178887118e-07
+9.3758125000e+00 1.0010553775e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0059768001e-07
+-8.4372812500e+00 4.2315251095e-07
+-7.4997500000e+00 7.2075415022e-05
+-6.5622187500e+00 2.0292408507e-04
+-5.6246875000e+00 3.5988614435e-04
+-4.6871562500e+00 5.4067924002e-04
+-3.7496250000e+00 7.3759056206e-04
+-2.8120937500e+00 9.3544037853e-04
+-1.8745625000e+00 1.1104203256e-03
+-9.3703125000e-01 1.2336458225e-03
+5.0000000000e-04 1.2760090563e-03
+9.3803125000e-01 1.2335556376e-03
+1.8755625000e+00 1.1102564413e-03
+2.8130937500e+00 9.3523661114e-04
+3.7506250000e+00 7.3737655121e-04
+4.6881562500e+00 5.4047586572e-04
+5.6256875000e+00 3.5970518597e-04
+6.5632187500e+00 2.0277066824e-04
+7.5007500000e+00 7.1951498503e-05
+8.4382812500e+00 4.2191037023e-07
+9.3758125000e+00 1.0059447272e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0127932421e-07
+-8.4372812500e+00 5.8212363088e-07
+-7.4997500000e+00 7.1859839241e-05
+-6.5622187500e+00 2.0276739840e-04
+-5.6246875000e+00 3.5957923861e-04
+-4.6871562500e+00 5.4021304679e-04
+-3.7496250000e+00 7.3691516621e-04
+-2.8120937500e+00 9.3453597074e-04
+-1.8745625000e+00 1.1093297669e-03
+-9.3703125000e-01 1.2326819384e-03
+5.0000000000e-04 1.2740225734e-03
+9.3803125000e-01 1.2325930096e-03
+1.8755625000e+00 1.1091662980e-03
+2.8130937500e+00 9.3433248448e-04
+3.7506250000e+00 7.3670139135e-04
+4.6881562500e+00 5.4000987355e-04
+5.6256875000e+00 3.5939842665e-04
+6.5632187500e+00 2.0261416565e-04
+7.5007500000e+00 7.1736531668e-05
+8.4382812500e+00 5.8026534923e-07
+9.3758125000e+00 1.0127317628e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0212531899e-07
+-8.4372812500e+00 7.3919312657e-07
+-7.4997500000e+00 7.1652245388e-05
+-6.5622187500e+00 2.0261898608e-04
+-5.6246875000e+00 3.5926945361e-04
+-4.6871562500e+00 5.3974466345e-04
+-3.7496250000e+00 7.3623437215e-04
+-2.8120937500e+00 9.3363078754e-04
+-1.8745625000e+00 1.1082475201e-03
+-9.3703125000e-01 1.2317157206e-03
+5.0000000000e-04 1.2720614192e-03
+9.3803125000e-01 1.2316273570e-03
+1.8755625000e+00 1.1080845661e-03
+2.8130937500e+00 9.3342756272e-04
+3.7506250000e+00 7.3602083681e-04
+4.6881562500e+00 5.3954169391e-04
+5.6256875000e+00 3.5908878869e-04
+6.5632187500e+00 2.0246596277e-04
+7.5007500000e+00 7.1529517069e-05
+8.4382812500e+00 7.3672287497e-07
+9.3758125000e+00 1.0211529635e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0309867525e-07
+-8.4372812500e+00 8.9422084903e-07
+-7.4997500000e+00 7.1452951828e-05
+-6.5622187500e+00 2.0247772467e-04
+-5.6246875000e+00 3.5895801937e-04
+-4.6871562500e+00 5.3927812824e-04
+-3.7496250000e+00 7.3555255309e-04
+-2.8120937500e+00 9.3273195047e-04
+-1.8745625000e+00 1.1071688788e-03
+-9.3703125000e-01 1.2307433917e-03
+5.0000000000e-04 1.2701111523e-03
+9.3803125000e-01 1.2306555852e-03
+1.8755625000e+00 1.1070065753e-03
+2.8130937500e+00 9.3252891807e-04
+3.7506250000e+00 7.3533928608e-04
+4.6881562500e+00 5.3907536252e-04
+5.6256875000e+00 3.5877749959e-04
+6.5632187500e+00 2.0232493221e-04
+7.5007500000e+00 7.1330773052e-05
+8.4382812500e+00 8.9114340863e-07
+9.3758125000e+00 1.0308366419e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0415262870e-07
+-8.4372812500e+00 1.0470686985e-06
+-7.4997500000e+00 7.1261430736e-05
+-6.5622187500e+00 2.0234537703e-04
+-5.6246875000e+00 3.5864780291e-04
+-4.6871562500e+00 5.3881912515e-04
+-3.7496250000e+00 7.3487769083e-04
+-2.8120937500e+00 9.3187798520e-04
+-1.8745625000e+00 1.1061345155e-03
+-9.3703125000e-01 1.2298084462e-03
+5.0000000000e-04 1.2682352636e-03
+9.3803125000e-01 1.2297227331e-03
+1.8755625000e+00 1.1059726819e-03
+2.8130937500e+00 9.3167493291e-04
+3.7506250000e+00 7.3466476843e-04
+4.6881562500e+00 5.3861656356e-04
+5.6256875000e+00 3.5846742480e-04
+6.5632187500e+00 2.0219289664e-04
+7.5007500000e+00 7.1139772078e-05
+8.4382812500e+00 1.0433894214e-06
+9.3758125000e+00 1.0413189842e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0530649371e-07
+-8.4372812500e+00 1.1975830517e-06
+-7.4997500000e+00 7.1077980722e-05
+-6.5622187500e+00 2.0222930402e-04
+-5.6246875000e+00 3.5834160871e-04
+-4.6871562500e+00 5.3839038029e-04
+-3.7496250000e+00 7.3426013046e-04
+-2.8120937500e+00 9.3110638641e-04
+-1.8745625000e+00 1.1051984682e-03
+-9.3703125000e-01 1.2289325786e-03
+5.0000000000e-04 1.2665395081e-03
+9.3803125000e-01 1.2288465336e-03
+1.8755625000e+00 1.1050371846e-03
+2.8130937500e+00 9.3090346634e-04
+3.7506250000e+00 7.3404741542e-04
+4.6881562500e+00 5.3818798333e-04
+5.6256875000e+00 3.5816136913e-04
+6.5632187500e+00 2.0207719400e-04
+7.5007500000e+00 7.0956811262e-05
+8.4382812500e+00 1.1933070518e-06
+9.3758125000e+00 1.0528040773e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm/scon[0]_3D_diagonal.xg b/test/whisky_test_tov_ppm/scon[0]_3D_diagonal.xg
new file mode 100644
index 0000000..ef1e4cc
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -5.6624165661e-09
+-6.4945410093e+00 -2.7186708967e-08
+-4.8706892506e+00 -8.6913277683e-08
+-3.2468374920e+00 -1.8438194948e-07
+-1.6229857333e+00 -7.3801864270e-07
+8.6602540378e-04 -5.5939768942e-09
+1.6247177841e+00 7.4259103356e-07
+3.2485695428e+00 1.8439227832e-07
+4.8724213015e+00 8.6827896417e-08
+6.4962730601e+00 2.7148752801e-08
+8.1201248188e+00 6.4028789867e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.3237285688e-09
+-6.4945410093e+00 -5.5177730614e-08
+-4.8706892506e+00 -1.7182286565e-07
+-3.2468374920e+00 -3.9463580593e-07
+-1.6229857333e+00 -1.3471754194e-06
+8.6602540378e-04 -1.0869907231e-08
+1.6247177841e+00 1.3558702558e-06
+3.2485695428e+00 3.9480264389e-07
+4.8724213015e+00 1.7165493135e-07
+6.4962730601e+00 5.5109151944e-08
+8.1201248188e+00 1.0705952745e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1228181779e-08
+-6.4945410093e+00 -8.3809599932e-08
+-4.8706892506e+00 -2.5402111006e-07
+-3.2468374920e+00 -6.2145709645e-07
+-1.6229857333e+00 -1.8282754607e-06
+8.6602540378e-04 -1.5854397701e-08
+1.6247177841e+00 1.8406736986e-06
+3.2485695428e+00 6.2191047426e-07
+4.8724213015e+00 2.5377772922e-07
+6.4962730601e+00 8.3713406114e-08
+8.1201248188e+00 1.3161030834e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1222132749e-08
+-6.4945410093e+00 -1.1274375292e-07
+-4.8706892506e+00 -3.3280596085e-07
+-3.2468374920e+00 -8.6966217126e-07
+-1.6229857333e+00 -2.1620416561e-06
+8.6602540378e-04 -2.1934903813e-08
+1.6247177841e+00 2.1811055359e-06
+3.2485695428e+00 8.6917340638e-07
+4.8724213015e+00 3.3249461999e-07
+6.4962730601e+00 1.1261836200e-07
+8.1201248188e+00 1.3908533761e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.4206136489e-09
+-6.4945410093e+00 -1.4160429751e-07
+-4.8706892506e+00 -4.0769595999e-07
+-3.2468374920e+00 -1.1384451088e-06
+-1.6229857333e+00 -2.3208823605e-06
+8.6602540378e-04 -2.7585648058e-08
+1.6247177841e+00 2.3459377189e-06
+3.2485695428e+00 1.1372305334e-06
+4.8724213015e+00 4.0731894569e-07
+6.4962730601e+00 1.4144875462e-07
+8.1201248188e+00 1.2722750311e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -6.0803225550e-09
+-6.4945410093e+00 -1.7003162652e-07
+-4.8706892506e+00 -4.7871994429e-07
+-3.2468374920e+00 -1.4242947073e-06
+-1.6229857333e+00 -2.3226819993e-06
+8.6602540378e-04 -3.0962514128e-08
+1.6247177841e+00 2.3526671925e-06
+3.2485695428e+00 1.4220705193e-06
+4.8724213015e+00 4.7826917634e-07
+6.4962730601e+00 1.6984417380e-07
+8.1201248188e+00 9.8528751884e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4969399710e-09
+-6.4945410093e+00 -1.9845448638e-07
+-4.8706892506e+00 -5.4541346316e-07
+-3.2468374920e+00 -1.7199709992e-06
+-1.6229857333e+00 -2.1848441575e-06
+8.6602540378e-04 -3.8277323210e-08
+1.6247177841e+00 2.2220057420e-06
+3.2485695428e+00 1.7173124514e-06
+4.8724213015e+00 5.4487757112e-07
+6.4962730601e+00 1.9821887382e-07
+8.1201248188e+00 5.6612717158e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[0]_maximum.xg b/test/whisky_test_tov_ppm/scon[0]_maximum.xg
new file mode 100644
index 0000000..de44f32
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_maximum.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008709074
+0.7031484375000 0.0000015581997
+1.0547226562500 0.0000020679601
+1.4062968750000 0.0000023967579
+1.7578710937500 0.0000025068360
+2.1094453125000 0.0000024331558
+2.4610195312500 0.0000029204686
diff --git a/test/whisky_test_tov_ppm/scon[0]_minimum.xg b/test/whisky_test_tov_ppm/scon[0]_minimum.xg
new file mode 100644
index 0000000..67f8732
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_minimum.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000008652054
+0.7031484375000 -0.0000015474855
+1.0547226562500 -0.0000020528826
+1.4062968750000 -0.0000023739536
+1.7578710937500 -0.0000024772359
+2.1094453125000 -0.0000024355511
+2.4610195312500 -0.0000029234258
diff --git a/test/whisky_test_tov_ppm/scon[0]_norm1.xg b/test/whisky_test_tov_ppm/scon[0]_norm1.xg
new file mode 100644
index 0000000..8bff847
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_norm1.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000057543
+0.7031484375000 0.0000000112343
+1.0547226562500 0.0000000163899
+1.4062968750000 0.0000000211509
+1.7578710937500 0.0000000254695
+2.1094453125000 0.0000000293402
+2.4610195312500 0.0000000327934
diff --git a/test/whisky_test_tov_ppm/scon[0]_norm2.xg b/test/whisky_test_tov_ppm/scon[0]_norm2.xg
new file mode 100644
index 0000000..bfb92f1
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_norm2.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000370871
+0.7031484375000 0.0000000705675
+1.0547226562500 0.0000001005489
+1.4062968750000 0.0000001267456
+1.7578710937500 0.0000001492286
+2.1094453125000 0.0000001689804
+2.4610195312500 0.0000001869886
diff --git a/test/whisky_test_tov_ppm/scon[0]_x_[16][16].xg b/test/whisky_test_tov_ppm/scon[0]_x_[16][16].xg
new file mode 100644
index 0000000..e7cef56
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.4394114344e-10
+-8.4372812500e+00 -8.0471293488e-09
+-7.4997500000e+00 -6.5837627581e-09
+-6.5622187500e+00 -1.1476470878e-07
+-5.6246875000e+00 -1.3958258312e-07
+-4.6871562500e+00 -2.2909035772e-07
+-3.7496250000e+00 -3.2779870171e-07
+-2.8120937500e+00 -3.7920561345e-07
+-1.8745625000e+00 -3.6344946357e-07
+-9.3703125000e-01 -8.6520544763e-07
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 8.7090737324e-07
+1.8755625000e+00 3.6373466106e-07
+2.8130937500e+00 3.7919356956e-07
+3.7506250000e+00 3.2770481284e-07
+4.6881562500e+00 2.2898325156e-07
+5.6256875000e+00 1.3950276523e-07
+6.5632187500e+00 1.1477692600e-07
+7.5007500000e+00 6.3504101066e-09
+8.4382812500e+00 7.9996136636e-09
+9.3758125000e+00 -7.4382425025e-10
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.4750548293e-09
+-8.4372812500e+00 -1.4512926137e-08
+-7.4997500000e+00 -1.3890818835e-08
+-6.5622187500e+00 -2.2578749039e-07
+-5.6246875000e+00 -2.7410775148e-07
+-4.6871562500e+00 -4.4533108323e-07
+-3.7496250000e+00 -6.3233826067e-07
+-2.8120937500e+00 -7.2086224535e-07
+-1.8745625000e+00 -7.4796568628e-07
+-9.3703125000e-01 -1.5474855303e-06
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 1.5581996581e-06
+1.8755625000e+00 7.4884201963e-07
+2.8130937500e+00 7.2084729264e-07
+3.7506250000e+00 6.3216230408e-07
+4.6881562500e+00 4.4512606546e-07
+5.6256875000e+00 2.7395675128e-07
+6.5632187500e+00 2.2579468018e-07
+7.5007500000e+00 1.3435924470e-08
+8.4382812500e+00 1.4423620774e-08
+9.3758125000e+00 -1.4749137053e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.2007511325e-09
+-8.4372812500e+00 -1.9449150813e-08
+-7.4997500000e+00 -2.1939453790e-08
+-6.5622187500e+00 -3.3296705848e-07
+-5.6246875000e+00 -4.0348510540e-07
+-4.6871562500e+00 -6.4862303633e-07
+-3.7496250000e+00 -9.1172397007e-07
+-2.8120937500e+00 -1.0222434896e-06
+-1.8745625000e+00 -1.1347867126e-06
+-9.3703125000e-01 -2.0528826278e-06
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 2.0679601137e-06
+1.8755625000e+00 1.1365026528e-06
+2.8130937500e+00 1.0222499097e-06
+3.7506250000e+00 9.1148069564e-07
+4.6881562500e+00 6.4833023778e-07
+5.6256875000e+00 4.0326999134e-07
+6.5632187500e+00 3.3295394121e-07
+7.5007500000e+00 2.1274775226e-08
+8.4382812500e+00 1.9323563944e-08
+9.3758125000e+00 -2.2006066528e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.9248137635e-09
+-8.4372812500e+00 -2.2905835827e-08
+-7.4997500000e+00 -3.0801972885e-08
+-6.5622187500e+00 -4.3622644244e-07
+-5.6246875000e+00 -5.2750932426e-07
+-4.6871562500e+00 -8.3875368960e-07
+-3.7496250000e+00 -1.1644310727e-06
+-2.8120937500e+00 -1.2812350579e-06
+-1.8745625000e+00 -1.5201748634e-06
+-9.3703125000e-01 -2.3739535793e-06
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 2.3967578571e-06
+1.8755625000e+00 1.5203772178e-06
+2.8130937500e+00 1.2812812860e-06
+3.7506250000e+00 1.1641381714e-06
+4.6881562500e+00 8.3838388388e-07
+5.6256875000e+00 5.2723590386e-07
+6.5632187500e+00 4.3617995352e-07
+7.5007500000e+00 2.9938468057e-08
+8.4382812500e+00 2.2749336344e-08
+9.3758125000e+00 -2.9246804273e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6498802053e-09
+-8.4372812500e+00 -2.4935801676e-08
+-7.4997500000e+00 -4.0541549476e-08
+-6.5622187500e+00 -5.3554886860e-07
+-5.6246875000e+00 -6.4583101796e-07
+-4.6871562500e+00 -1.0154160223e-06
+-3.7496250000e+00 -1.3887899701e-06
+-2.8120937500e+00 -1.4964136731e-06
+-1.8745625000e+00 -1.9197463033e-06
+-9.3703125000e-01 -2.4772359353e-06
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 2.5068359586e-06
+1.8755625000e+00 1.9188483604e-06
+2.8130937500e+00 1.4965063998e-06
+3.7506250000e+00 1.3884841926e-06
+4.6881562500e+00 1.0149815948e-06
+5.6256875000e+00 6.4550381298e-07
+6.5632187500e+00 5.3545776081e-07
+7.5007500000e+00 3.9488954491e-08
+8.4382812500e+00 2.4753587910e-08
+9.3758125000e+00 -3.6497458750e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 4.3768573235e-09
+-8.4372812500e+00 -2.5594286429e-08
+-7.4997500000e+00 -5.1173399981e-08
+-6.5622187500e+00 -6.3100453105e-07
+-5.6246875000e+00 -7.5803030644e-07
+-4.6871562500e+00 -1.1780015586e-06
+-3.7496250000e+00 -1.5791457121e-06
+-2.8120937500e+00 -1.6724944943e-06
+-1.8745625000e+00 -2.3264476810e-06
+-9.3703125000e-01 -2.3832470060e-06
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 2.4181487269e-06
+1.8755625000e+00 2.3235803898e-06
+2.8130937500e+00 1.6725489324e-06
+3.7506250000e+00 1.5789447977e-06
+4.6881562500e+00 1.1775199906e-06
+5.6256875000e+00 7.5765170135e-07
+6.5632187500e+00 6.3085792089e-07
+7.5007500000e+00 4.9941111462e-08
+8.4382812500e+00 2.5391374444e-08
+9.3758125000e+00 -4.3767000718e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 5.1060282609e-09
+-8.4372812500e+00 -2.4936515064e-08
+-7.4997500000e+00 -6.2683695344e-08
+-6.5622187500e+00 -7.2271092955e-07
+-5.6246875000e+00 -8.6368947717e-07
+-4.6871562500e+00 -1.3267736496e-06
+-3.7496250000e+00 -1.7414414874e-06
+-2.8120937500e+00 -1.8106838222e-06
+-1.8745625000e+00 -2.7343069827e-06
+-9.3703125000e-01 -2.1245375534e-06
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 2.1673913575e-06
+1.8755625000e+00 2.7308415888e-06
+2.8130937500e+00 1.8107272460e-06
+3.7506250000e+00 1.7412063109e-06
+4.6881562500e+00 1.3262591958e-06
+5.6256875000e+00 8.6325878921e-07
+6.5632187500e+00 7.2249746184e-07
+7.5007500000e+00 6.1280955270e-08
+8.4382812500e+00 2.4717665713e-08
+9.3758125000e+00 -5.1057646914e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[0]_y_[16][16].xg b/test/whisky_test_tov_ppm/scon[0]_y_[16][16].xg
new file mode 100644
index 0000000..a2a3c86
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471306e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629770e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459790e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913711e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508909e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313167e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820564e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075883e-09
+-3.7496250000e+00 -7.9915600481e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292629e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727608e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895154e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[0]_z_[16][16].xg b/test/whisky_test_tov_ppm/scon[0]_z_[16][16].xg
new file mode 100644
index 0000000..651a5c2
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[0]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831374e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471307e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629769e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903350e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913712e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508909e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600480e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694712e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292629e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727608e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895153e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[1]_3D_diagonal.xg b/test/whisky_test_tov_ppm/scon[1]_3D_diagonal.xg
new file mode 100644
index 0000000..ef1e4cc
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -5.6624165661e-09
+-6.4945410093e+00 -2.7186708967e-08
+-4.8706892506e+00 -8.6913277683e-08
+-3.2468374920e+00 -1.8438194948e-07
+-1.6229857333e+00 -7.3801864270e-07
+8.6602540378e-04 -5.5939768942e-09
+1.6247177841e+00 7.4259103356e-07
+3.2485695428e+00 1.8439227832e-07
+4.8724213015e+00 8.6827896417e-08
+6.4962730601e+00 2.7148752801e-08
+8.1201248188e+00 6.4028789867e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.3237285688e-09
+-6.4945410093e+00 -5.5177730614e-08
+-4.8706892506e+00 -1.7182286565e-07
+-3.2468374920e+00 -3.9463580593e-07
+-1.6229857333e+00 -1.3471754194e-06
+8.6602540378e-04 -1.0869907231e-08
+1.6247177841e+00 1.3558702558e-06
+3.2485695428e+00 3.9480264389e-07
+4.8724213015e+00 1.7165493135e-07
+6.4962730601e+00 5.5109151944e-08
+8.1201248188e+00 1.0705952745e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1228181779e-08
+-6.4945410093e+00 -8.3809599932e-08
+-4.8706892506e+00 -2.5402111006e-07
+-3.2468374920e+00 -6.2145709645e-07
+-1.6229857333e+00 -1.8282754607e-06
+8.6602540378e-04 -1.5854397701e-08
+1.6247177841e+00 1.8406736986e-06
+3.2485695428e+00 6.2191047426e-07
+4.8724213015e+00 2.5377772922e-07
+6.4962730601e+00 8.3713406114e-08
+8.1201248188e+00 1.3161030834e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1222132749e-08
+-6.4945410093e+00 -1.1274375292e-07
+-4.8706892506e+00 -3.3280596085e-07
+-3.2468374920e+00 -8.6966217126e-07
+-1.6229857333e+00 -2.1620416561e-06
+8.6602540378e-04 -2.1934903813e-08
+1.6247177841e+00 2.1811055359e-06
+3.2485695428e+00 8.6917340638e-07
+4.8724213015e+00 3.3249461999e-07
+6.4962730601e+00 1.1261836200e-07
+8.1201248188e+00 1.3908533761e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.4206136489e-09
+-6.4945410093e+00 -1.4160429751e-07
+-4.8706892506e+00 -4.0769595999e-07
+-3.2468374920e+00 -1.1384451088e-06
+-1.6229857333e+00 -2.3208823605e-06
+8.6602540378e-04 -2.7585648058e-08
+1.6247177841e+00 2.3459377189e-06
+3.2485695428e+00 1.1372305334e-06
+4.8724213015e+00 4.0731894569e-07
+6.4962730601e+00 1.4144875462e-07
+8.1201248188e+00 1.2722750311e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -6.0803225550e-09
+-6.4945410093e+00 -1.7003162652e-07
+-4.8706892506e+00 -4.7871994429e-07
+-3.2468374920e+00 -1.4242947073e-06
+-1.6229857333e+00 -2.3226819993e-06
+8.6602540378e-04 -3.0962514128e-08
+1.6247177841e+00 2.3526671925e-06
+3.2485695428e+00 1.4220705193e-06
+4.8724213015e+00 4.7826917634e-07
+6.4962730601e+00 1.6984417380e-07
+8.1201248188e+00 9.8528751884e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4969399710e-09
+-6.4945410093e+00 -1.9845448638e-07
+-4.8706892506e+00 -5.4541346316e-07
+-3.2468374920e+00 -1.7199709992e-06
+-1.6229857333e+00 -2.1848441575e-06
+8.6602540378e-04 -3.8277323210e-08
+1.6247177841e+00 2.2220057420e-06
+3.2485695428e+00 1.7173124514e-06
+4.8724213015e+00 5.4487757112e-07
+6.4962730601e+00 1.9821887382e-07
+8.1201248188e+00 5.6612717158e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[1]_maximum.xg b/test/whisky_test_tov_ppm/scon[1]_maximum.xg
new file mode 100644
index 0000000..40d7afd
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_maximum.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008709074
+0.7031484375000 0.0000015581997
+1.0547226562500 0.0000020679601
+1.4062968750000 0.0000023967579
+1.7578710937500 0.0000025068360
+2.1094453125000 0.0000024331558
+2.4610195312500 0.0000029204686
diff --git a/test/whisky_test_tov_ppm/scon[1]_minimum.xg b/test/whisky_test_tov_ppm/scon[1]_minimum.xg
new file mode 100644
index 0000000..de8b906
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_minimum.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000008652054
+0.7031484375000 -0.0000015474855
+1.0547226562500 -0.0000020528826
+1.4062968750000 -0.0000023739536
+1.7578710937500 -0.0000024772359
+2.1094453125000 -0.0000024355511
+2.4610195312500 -0.0000029234258
diff --git a/test/whisky_test_tov_ppm/scon[1]_norm1.xg b/test/whisky_test_tov_ppm/scon[1]_norm1.xg
new file mode 100644
index 0000000..eb511a4
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_norm1.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000057543
+0.7031484375000 0.0000000112343
+1.0547226562500 0.0000000163899
+1.4062968750000 0.0000000211509
+1.7578710937500 0.0000000254695
+2.1094453125000 0.0000000293402
+2.4610195312500 0.0000000327934
diff --git a/test/whisky_test_tov_ppm/scon[1]_norm2.xg b/test/whisky_test_tov_ppm/scon[1]_norm2.xg
new file mode 100644
index 0000000..ec906d4
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_norm2.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000370871
+0.7031484375000 0.0000000705675
+1.0547226562500 0.0000001005489
+1.4062968750000 0.0000001267456
+1.7578710937500 0.0000001492286
+2.1094453125000 0.0000001689804
+2.4610195312500 0.0000001869886
diff --git a/test/whisky_test_tov_ppm/scon[1]_x_[16][16].xg b/test/whisky_test_tov_ppm/scon[1]_x_[16][16].xg
new file mode 100644
index 0000000..d4f7981
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471306e-09
+-9.3703125000e-01 -5.1380143446e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629769e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387220e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939280e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913712e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508909e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600480e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292628e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895153e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[1]_y_[16][16].xg b/test/whisky_test_tov_ppm/scon[1]_y_[16][16].xg
new file mode 100644
index 0000000..e7cef56
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.4394114344e-10
+-8.4372812500e+00 -8.0471293488e-09
+-7.4997500000e+00 -6.5837627581e-09
+-6.5622187500e+00 -1.1476470878e-07
+-5.6246875000e+00 -1.3958258312e-07
+-4.6871562500e+00 -2.2909035772e-07
+-3.7496250000e+00 -3.2779870171e-07
+-2.8120937500e+00 -3.7920561345e-07
+-1.8745625000e+00 -3.6344946357e-07
+-9.3703125000e-01 -8.6520544763e-07
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 8.7090737324e-07
+1.8755625000e+00 3.6373466106e-07
+2.8130937500e+00 3.7919356956e-07
+3.7506250000e+00 3.2770481284e-07
+4.6881562500e+00 2.2898325156e-07
+5.6256875000e+00 1.3950276523e-07
+6.5632187500e+00 1.1477692600e-07
+7.5007500000e+00 6.3504101066e-09
+8.4382812500e+00 7.9996136636e-09
+9.3758125000e+00 -7.4382425025e-10
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.4750548293e-09
+-8.4372812500e+00 -1.4512926137e-08
+-7.4997500000e+00 -1.3890818835e-08
+-6.5622187500e+00 -2.2578749039e-07
+-5.6246875000e+00 -2.7410775148e-07
+-4.6871562500e+00 -4.4533108323e-07
+-3.7496250000e+00 -6.3233826067e-07
+-2.8120937500e+00 -7.2086224535e-07
+-1.8745625000e+00 -7.4796568628e-07
+-9.3703125000e-01 -1.5474855303e-06
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 1.5581996581e-06
+1.8755625000e+00 7.4884201963e-07
+2.8130937500e+00 7.2084729264e-07
+3.7506250000e+00 6.3216230408e-07
+4.6881562500e+00 4.4512606546e-07
+5.6256875000e+00 2.7395675128e-07
+6.5632187500e+00 2.2579468018e-07
+7.5007500000e+00 1.3435924470e-08
+8.4382812500e+00 1.4423620774e-08
+9.3758125000e+00 -1.4749137053e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.2007511325e-09
+-8.4372812500e+00 -1.9449150813e-08
+-7.4997500000e+00 -2.1939453790e-08
+-6.5622187500e+00 -3.3296705848e-07
+-5.6246875000e+00 -4.0348510540e-07
+-4.6871562500e+00 -6.4862303633e-07
+-3.7496250000e+00 -9.1172397007e-07
+-2.8120937500e+00 -1.0222434896e-06
+-1.8745625000e+00 -1.1347867126e-06
+-9.3703125000e-01 -2.0528826278e-06
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 2.0679601137e-06
+1.8755625000e+00 1.1365026528e-06
+2.8130937500e+00 1.0222499097e-06
+3.7506250000e+00 9.1148069564e-07
+4.6881562500e+00 6.4833023778e-07
+5.6256875000e+00 4.0326999134e-07
+6.5632187500e+00 3.3295394121e-07
+7.5007500000e+00 2.1274775226e-08
+8.4382812500e+00 1.9323563944e-08
+9.3758125000e+00 -2.2006066528e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.9248137635e-09
+-8.4372812500e+00 -2.2905835827e-08
+-7.4997500000e+00 -3.0801972885e-08
+-6.5622187500e+00 -4.3622644244e-07
+-5.6246875000e+00 -5.2750932426e-07
+-4.6871562500e+00 -8.3875368960e-07
+-3.7496250000e+00 -1.1644310727e-06
+-2.8120937500e+00 -1.2812350579e-06
+-1.8745625000e+00 -1.5201748634e-06
+-9.3703125000e-01 -2.3739535793e-06
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 2.3967578571e-06
+1.8755625000e+00 1.5203772178e-06
+2.8130937500e+00 1.2812812860e-06
+3.7506250000e+00 1.1641381714e-06
+4.6881562500e+00 8.3838388388e-07
+5.6256875000e+00 5.2723590386e-07
+6.5632187500e+00 4.3617995352e-07
+7.5007500000e+00 2.9938468057e-08
+8.4382812500e+00 2.2749336344e-08
+9.3758125000e+00 -2.9246804273e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6498802053e-09
+-8.4372812500e+00 -2.4935801676e-08
+-7.4997500000e+00 -4.0541549476e-08
+-6.5622187500e+00 -5.3554886860e-07
+-5.6246875000e+00 -6.4583101796e-07
+-4.6871562500e+00 -1.0154160223e-06
+-3.7496250000e+00 -1.3887899701e-06
+-2.8120937500e+00 -1.4964136731e-06
+-1.8745625000e+00 -1.9197463033e-06
+-9.3703125000e-01 -2.4772359353e-06
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 2.5068359586e-06
+1.8755625000e+00 1.9188483604e-06
+2.8130937500e+00 1.4965063998e-06
+3.7506250000e+00 1.3884841926e-06
+4.6881562500e+00 1.0149815948e-06
+5.6256875000e+00 6.4550381298e-07
+6.5632187500e+00 5.3545776081e-07
+7.5007500000e+00 3.9488954491e-08
+8.4382812500e+00 2.4753587910e-08
+9.3758125000e+00 -3.6497458750e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 4.3768573235e-09
+-8.4372812500e+00 -2.5594286429e-08
+-7.4997500000e+00 -5.1173399981e-08
+-6.5622187500e+00 -6.3100453105e-07
+-5.6246875000e+00 -7.5803030644e-07
+-4.6871562500e+00 -1.1780015586e-06
+-3.7496250000e+00 -1.5791457121e-06
+-2.8120937500e+00 -1.6724944943e-06
+-1.8745625000e+00 -2.3264476810e-06
+-9.3703125000e-01 -2.3832470060e-06
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 2.4181487269e-06
+1.8755625000e+00 2.3235803898e-06
+2.8130937500e+00 1.6725489324e-06
+3.7506250000e+00 1.5789447977e-06
+4.6881562500e+00 1.1775199906e-06
+5.6256875000e+00 7.5765170135e-07
+6.5632187500e+00 6.3085792089e-07
+7.5007500000e+00 4.9941111462e-08
+8.4382812500e+00 2.5391374444e-08
+9.3758125000e+00 -4.3767000718e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 5.1060282609e-09
+-8.4372812500e+00 -2.4936515064e-08
+-7.4997500000e+00 -6.2683695344e-08
+-6.5622187500e+00 -7.2271092955e-07
+-5.6246875000e+00 -8.6368947717e-07
+-4.6871562500e+00 -1.3267736496e-06
+-3.7496250000e+00 -1.7414414874e-06
+-2.8120937500e+00 -1.8106838222e-06
+-1.8745625000e+00 -2.7343069827e-06
+-9.3703125000e-01 -2.1245375534e-06
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 2.1673913575e-06
+1.8755625000e+00 2.7308415888e-06
+2.8130937500e+00 1.8107272460e-06
+3.7506250000e+00 1.7412063109e-06
+4.6881562500e+00 1.3262591958e-06
+5.6256875000e+00 8.6325878921e-07
+6.5632187500e+00 7.2249746184e-07
+7.5007500000e+00 6.1280955270e-08
+8.4382812500e+00 2.4717665713e-08
+9.3758125000e+00 -5.1057646914e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[1]_z_[16][16].xg b/test/whisky_test_tov_ppm/scon[1]_z_[16][16].xg
new file mode 100644
index 0000000..6999486
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[1]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483491e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831374e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471307e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629770e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903350e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913712e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508910e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313167e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600480e-09
+-2.8120937500e+00 -1.3370370502e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887732e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694712e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292628e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636963e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895154e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[2]_3D_diagonal.xg b/test/whisky_test_tov_ppm/scon[2]_3D_diagonal.xg
new file mode 100644
index 0000000..ef1e4cc
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -5.6624165661e-09
+-6.4945410093e+00 -2.7186708967e-08
+-4.8706892506e+00 -8.6913277683e-08
+-3.2468374920e+00 -1.8438194948e-07
+-1.6229857333e+00 -7.3801864270e-07
+8.6602540378e-04 -5.5939768942e-09
+1.6247177841e+00 7.4259103356e-07
+3.2485695428e+00 1.8439227832e-07
+4.8724213015e+00 8.6827896417e-08
+6.4962730601e+00 2.7148752801e-08
+8.1201248188e+00 6.4028789867e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.3237285688e-09
+-6.4945410093e+00 -5.5177730614e-08
+-4.8706892506e+00 -1.7182286565e-07
+-3.2468374920e+00 -3.9463580593e-07
+-1.6229857333e+00 -1.3471754194e-06
+8.6602540378e-04 -1.0869907231e-08
+1.6247177841e+00 1.3558702558e-06
+3.2485695428e+00 3.9480264389e-07
+4.8724213015e+00 1.7165493135e-07
+6.4962730601e+00 5.5109151944e-08
+8.1201248188e+00 1.0705952745e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1228181779e-08
+-6.4945410093e+00 -8.3809599932e-08
+-4.8706892506e+00 -2.5402111006e-07
+-3.2468374920e+00 -6.2145709645e-07
+-1.6229857333e+00 -1.8282754607e-06
+8.6602540378e-04 -1.5854397701e-08
+1.6247177841e+00 1.8406736986e-06
+3.2485695428e+00 6.2191047426e-07
+4.8724213015e+00 2.5377772922e-07
+6.4962730601e+00 8.3713406114e-08
+8.1201248188e+00 1.3161030834e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1222132749e-08
+-6.4945410093e+00 -1.1274375292e-07
+-4.8706892506e+00 -3.3280596085e-07
+-3.2468374920e+00 -8.6966217126e-07
+-1.6229857333e+00 -2.1620416561e-06
+8.6602540378e-04 -2.1934903813e-08
+1.6247177841e+00 2.1811055359e-06
+3.2485695428e+00 8.6917340638e-07
+4.8724213015e+00 3.3249461999e-07
+6.4962730601e+00 1.1261836200e-07
+8.1201248188e+00 1.3908533761e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.4206136489e-09
+-6.4945410093e+00 -1.4160429751e-07
+-4.8706892506e+00 -4.0769595999e-07
+-3.2468374920e+00 -1.1384451088e-06
+-1.6229857333e+00 -2.3208823605e-06
+8.6602540378e-04 -2.7585648058e-08
+1.6247177841e+00 2.3459377189e-06
+3.2485695428e+00 1.1372305334e-06
+4.8724213015e+00 4.0731894569e-07
+6.4962730601e+00 1.4144875462e-07
+8.1201248188e+00 1.2722750311e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -6.0803225550e-09
+-6.4945410093e+00 -1.7003162652e-07
+-4.8706892506e+00 -4.7871994429e-07
+-3.2468374920e+00 -1.4242947073e-06
+-1.6229857333e+00 -2.3226819993e-06
+8.6602540378e-04 -3.0962514128e-08
+1.6247177841e+00 2.3526671925e-06
+3.2485695428e+00 1.4220705193e-06
+4.8724213015e+00 4.7826917634e-07
+6.4962730601e+00 1.6984417380e-07
+8.1201248188e+00 9.8528751884e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4969399710e-09
+-6.4945410093e+00 -1.9845448638e-07
+-4.8706892506e+00 -5.4541346316e-07
+-3.2468374920e+00 -1.7199709992e-06
+-1.6229857333e+00 -2.1848441575e-06
+8.6602540378e-04 -3.8277323210e-08
+1.6247177841e+00 2.2220057420e-06
+3.2485695428e+00 1.7173124514e-06
+4.8724213015e+00 5.4487757112e-07
+6.4962730601e+00 1.9821887382e-07
+8.1201248188e+00 5.6612717158e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[2]_maximum.xg b/test/whisky_test_tov_ppm/scon[2]_maximum.xg
new file mode 100644
index 0000000..54fda0c
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_maximum.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008709074
+0.7031484375000 0.0000015581997
+1.0547226562500 0.0000020679601
+1.4062968750000 0.0000023967579
+1.7578710937500 0.0000025068360
+2.1094453125000 0.0000024331558
+2.4610195312500 0.0000029204686
diff --git a/test/whisky_test_tov_ppm/scon[2]_minimum.xg b/test/whisky_test_tov_ppm/scon[2]_minimum.xg
new file mode 100644
index 0000000..64a223a
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_minimum.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000008652054
+0.7031484375000 -0.0000015474855
+1.0547226562500 -0.0000020528826
+1.4062968750000 -0.0000023739536
+1.7578710937500 -0.0000024772359
+2.1094453125000 -0.0000024355511
+2.4610195312500 -0.0000029234258
diff --git a/test/whisky_test_tov_ppm/scon[2]_norm1.xg b/test/whisky_test_tov_ppm/scon[2]_norm1.xg
new file mode 100644
index 0000000..c714e58
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_norm1.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000057543
+0.7031484375000 0.0000000112343
+1.0547226562500 0.0000000163899
+1.4062968750000 0.0000000211509
+1.7578710937500 0.0000000254695
+2.1094453125000 0.0000000293402
+2.4610195312500 0.0000000327934
diff --git a/test/whisky_test_tov_ppm/scon[2]_norm2.xg b/test/whisky_test_tov_ppm/scon[2]_norm2.xg
new file mode 100644
index 0000000..b35b3d8
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_norm2.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000370871
+0.7031484375000 0.0000000705675
+1.0547226562500 0.0000001005489
+1.4062968750000 0.0000001267456
+1.7578710937500 0.0000001492286
+2.1094453125000 0.0000001689804
+2.4610195312500 0.0000001869886
diff --git a/test/whisky_test_tov_ppm/scon[2]_x_[16][16].xg b/test/whisky_test_tov_ppm/scon[2]_x_[16][16].xg
new file mode 100644
index 0000000..0bbd038
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735253e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471306e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629770e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312724e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459790e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913711e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508910e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655737e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600481e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292629e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636963e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895154e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[2]_y_[16][16].xg b/test/whisky_test_tov_ppm/scon[2]_y_[16][16].xg
new file mode 100644
index 0000000..bd50f14
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483491e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471307e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821219e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629769e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387220e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913711e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508910e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655737e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600481e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072697e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292628e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895153e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/scon[2]_z_[16][16].xg b/test/whisky_test_tov_ppm/scon[2]_z_[16][16].xg
new file mode 100644
index 0000000..e7cef56
--- /dev/null
+++ b/test/whisky_test_tov_ppm/scon[2]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.4394114344e-10
+-8.4372812500e+00 -8.0471293488e-09
+-7.4997500000e+00 -6.5837627581e-09
+-6.5622187500e+00 -1.1476470878e-07
+-5.6246875000e+00 -1.3958258312e-07
+-4.6871562500e+00 -2.2909035772e-07
+-3.7496250000e+00 -3.2779870171e-07
+-2.8120937500e+00 -3.7920561345e-07
+-1.8745625000e+00 -3.6344946357e-07
+-9.3703125000e-01 -8.6520544763e-07
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 8.7090737324e-07
+1.8755625000e+00 3.6373466106e-07
+2.8130937500e+00 3.7919356956e-07
+3.7506250000e+00 3.2770481284e-07
+4.6881562500e+00 2.2898325156e-07
+5.6256875000e+00 1.3950276523e-07
+6.5632187500e+00 1.1477692600e-07
+7.5007500000e+00 6.3504101066e-09
+8.4382812500e+00 7.9996136636e-09
+9.3758125000e+00 -7.4382425025e-10
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.4750548293e-09
+-8.4372812500e+00 -1.4512926137e-08
+-7.4997500000e+00 -1.3890818835e-08
+-6.5622187500e+00 -2.2578749039e-07
+-5.6246875000e+00 -2.7410775148e-07
+-4.6871562500e+00 -4.4533108323e-07
+-3.7496250000e+00 -6.3233826067e-07
+-2.8120937500e+00 -7.2086224535e-07
+-1.8745625000e+00 -7.4796568628e-07
+-9.3703125000e-01 -1.5474855303e-06
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 1.5581996581e-06
+1.8755625000e+00 7.4884201963e-07
+2.8130937500e+00 7.2084729264e-07
+3.7506250000e+00 6.3216230408e-07
+4.6881562500e+00 4.4512606546e-07
+5.6256875000e+00 2.7395675128e-07
+6.5632187500e+00 2.2579468018e-07
+7.5007500000e+00 1.3435924470e-08
+8.4382812500e+00 1.4423620774e-08
+9.3758125000e+00 -1.4749137053e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.2007511325e-09
+-8.4372812500e+00 -1.9449150813e-08
+-7.4997500000e+00 -2.1939453790e-08
+-6.5622187500e+00 -3.3296705848e-07
+-5.6246875000e+00 -4.0348510540e-07
+-4.6871562500e+00 -6.4862303633e-07
+-3.7496250000e+00 -9.1172397007e-07
+-2.8120937500e+00 -1.0222434896e-06
+-1.8745625000e+00 -1.1347867126e-06
+-9.3703125000e-01 -2.0528826278e-06
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 2.0679601137e-06
+1.8755625000e+00 1.1365026528e-06
+2.8130937500e+00 1.0222499097e-06
+3.7506250000e+00 9.1148069564e-07
+4.6881562500e+00 6.4833023778e-07
+5.6256875000e+00 4.0326999134e-07
+6.5632187500e+00 3.3295394121e-07
+7.5007500000e+00 2.1274775226e-08
+8.4382812500e+00 1.9323563944e-08
+9.3758125000e+00 -2.2006066528e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.9248137635e-09
+-8.4372812500e+00 -2.2905835827e-08
+-7.4997500000e+00 -3.0801972885e-08
+-6.5622187500e+00 -4.3622644244e-07
+-5.6246875000e+00 -5.2750932426e-07
+-4.6871562500e+00 -8.3875368960e-07
+-3.7496250000e+00 -1.1644310727e-06
+-2.8120937500e+00 -1.2812350579e-06
+-1.8745625000e+00 -1.5201748634e-06
+-9.3703125000e-01 -2.3739535793e-06
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 2.3967578571e-06
+1.8755625000e+00 1.5203772178e-06
+2.8130937500e+00 1.2812812860e-06
+3.7506250000e+00 1.1641381714e-06
+4.6881562500e+00 8.3838388388e-07
+5.6256875000e+00 5.2723590386e-07
+6.5632187500e+00 4.3617995352e-07
+7.5007500000e+00 2.9938468057e-08
+8.4382812500e+00 2.2749336344e-08
+9.3758125000e+00 -2.9246804273e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6498802053e-09
+-8.4372812500e+00 -2.4935801676e-08
+-7.4997500000e+00 -4.0541549476e-08
+-6.5622187500e+00 -5.3554886860e-07
+-5.6246875000e+00 -6.4583101796e-07
+-4.6871562500e+00 -1.0154160223e-06
+-3.7496250000e+00 -1.3887899701e-06
+-2.8120937500e+00 -1.4964136731e-06
+-1.8745625000e+00 -1.9197463033e-06
+-9.3703125000e-01 -2.4772359353e-06
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 2.5068359586e-06
+1.8755625000e+00 1.9188483604e-06
+2.8130937500e+00 1.4965063998e-06
+3.7506250000e+00 1.3884841926e-06
+4.6881562500e+00 1.0149815948e-06
+5.6256875000e+00 6.4550381298e-07
+6.5632187500e+00 5.3545776081e-07
+7.5007500000e+00 3.9488954491e-08
+8.4382812500e+00 2.4753587910e-08
+9.3758125000e+00 -3.6497458750e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 4.3768573235e-09
+-8.4372812500e+00 -2.5594286429e-08
+-7.4997500000e+00 -5.1173399981e-08
+-6.5622187500e+00 -6.3100453105e-07
+-5.6246875000e+00 -7.5803030644e-07
+-4.6871562500e+00 -1.1780015586e-06
+-3.7496250000e+00 -1.5791457121e-06
+-2.8120937500e+00 -1.6724944943e-06
+-1.8745625000e+00 -2.3264476810e-06
+-9.3703125000e-01 -2.3832470060e-06
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 2.4181487269e-06
+1.8755625000e+00 2.3235803898e-06
+2.8130937500e+00 1.6725489324e-06
+3.7506250000e+00 1.5789447977e-06
+4.6881562500e+00 1.1775199906e-06
+5.6256875000e+00 7.5765170135e-07
+6.5632187500e+00 6.3085792089e-07
+7.5007500000e+00 4.9941111462e-08
+8.4382812500e+00 2.5391374444e-08
+9.3758125000e+00 -4.3767000718e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 5.1060282609e-09
+-8.4372812500e+00 -2.4936515064e-08
+-7.4997500000e+00 -6.2683695344e-08
+-6.5622187500e+00 -7.2271092955e-07
+-5.6246875000e+00 -8.6368947717e-07
+-4.6871562500e+00 -1.3267736496e-06
+-3.7496250000e+00 -1.7414414874e-06
+-2.8120937500e+00 -1.8106838222e-06
+-1.8745625000e+00 -2.7343069827e-06
+-9.3703125000e-01 -2.1245375534e-06
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 2.1673913575e-06
+1.8755625000e+00 2.7308415888e-06
+2.8130937500e+00 1.8107272460e-06
+3.7506250000e+00 1.7412063109e-06
+4.6881562500e+00 1.3262591958e-06
+5.6256875000e+00 8.6325878921e-07
+6.5632187500e+00 7.2249746184e-07
+7.5007500000e+00 6.1280955270e-08
+8.4382812500e+00 2.4717665713e-08
+9.3758125000e+00 -5.1057646914e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/tau_3D_diagonal.xg b/test/whisky_test_tov_ppm/tau_3D_diagonal.xg
new file mode 100644
index 0000000..ab754c7
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.1846968650e-10
+-2.4356910355e+01 1.1971859412e-10
+-2.2733058596e+01 1.2115933962e-10
+-2.1109206837e+01 1.2283967308e-10
+-1.9485355079e+01 1.2482457570e-10
+-1.7861503320e+01 1.2720477609e-10
+-1.6237651561e+01 1.3011085177e-10
+-1.4613799803e+01 1.3373769488e-10
+-1.2989948044e+01 1.3838942039e-10
+-1.1366096285e+01 1.4456772804e-10
+-9.7422445267e+00 1.5316174310e-10
+-8.1183927680e+00 8.5672786440e-11
+-6.4945410093e+00 8.3992008728e-06
+-4.8706892506e+00 5.3879035310e-05
+-3.2468374920e+00 1.7588135325e-04
+-1.6229857333e+00 3.6689128665e-04
+8.6602540378e-04 4.7452197913e-04
+1.6247177841e+00 3.6669283379e-04
+3.2485695428e+00 1.7570221661e-04
+4.8724213015e+00 5.3796500439e-05
+6.4962730601e+00 8.3768598762e-06
+8.1201248188e+00 4.7387983507e-11
+9.7439765775e+00 1.5315079186e-10
+1.1367828336e+01 1.4456006019e-10
+1.2991680095e+01 1.3838375949e-10
+1.4615531854e+01 1.3373334770e-10
+1.6239383612e+01 1.3010741030e-10
+1.7863235371e+01 1.2720198494e-10
+1.9487087130e+01 1.2482226698e-10
+2.1110938888e+01 1.2283773199e-10
+2.2734790647e+01 1.2115768502e-10
+2.4358642406e+01 1.1971716708e-10
+2.5982494164e+01 1.1846844317e-10
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.1833719802e-10
+-2.4356910355e+01 1.1971439056e-10
+-2.2733058596e+01 1.2115384865e-10
+-2.1109206837e+01 1.2283535872e-10
+-1.9485355079e+01 1.2482213470e-10
+-1.7861503320e+01 1.2720542605e-10
+-1.6237651561e+01 1.3011682671e-10
+-1.4613799803e+01 1.3375333938e-10
+-1.2989948044e+01 1.3842379135e-10
+-1.1366096285e+01 1.4464141752e-10
+-9.7422445267e+00 1.5332708863e-10
+-8.1183927680e+00 2.5220706387e-10
+-6.4945410093e+00 8.3989440697e-06
+-4.8706892506e+00 5.3878695288e-05
+-3.2468374920e+00 1.7588566846e-04
+-1.6229857333e+00 3.6746524330e-04
+8.6602540378e-04 4.7304384870e-04
+1.6247177841e+00 3.6726876957e-04
+3.2485695428e+00 1.7570656901e-04
+4.8724213015e+00 5.3796162129e-05
+6.4962730601e+00 8.3766031341e-06
+8.1201248188e+00 1.9520868254e-10
+9.7439765775e+00 1.5331598418e-10
+1.1367828336e+01 1.4463368916e-10
+1.2991680095e+01 1.3841810216e-10
+1.4615531854e+01 1.3374897994e-10
+1.6239383612e+01 1.3011337884e-10
+1.7863235371e+01 1.2720263041e-10
+1.9487087130e+01 1.2481982319e-10
+2.1110938888e+01 1.2283341632e-10
+2.2734790647e+01 1.2115219287e-10
+2.4358642406e+01 1.1971296214e-10
+2.5982494164e+01 1.1833599935e-10
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.1830510359e-10
+-2.4356910355e+01 1.1970310601e-10
+-2.2733058596e+01 1.2113783873e-10
+-2.1109206837e+01 1.2282241009e-10
+-1.9485355079e+01 1.2481480048e-10
+-1.7861503320e+01 1.2720735417e-10
+-1.6237651561e+01 1.3013470945e-10
+-1.4613799803e+01 1.3380017697e-10
+-1.2989948044e+01 1.3852666422e-10
+-1.1366096285e+01 1.4486182900e-10
+-9.7422445267e+00 1.5382104579e-10
+-8.1183927680e+00 4.8298392825e-10
+-6.4945410093e+00 8.3981608035e-06
+-4.8706892506e+00 5.3877883697e-05
+-3.2468374920e+00 1.7589737712e-04
+-1.6229857333e+00 3.6801946037e-04
+8.6602540378e-04 4.7155196188e-04
+1.6247177841e+00 3.6782486159e-04
+3.2485695428e+00 1.7571838514e-04
+4.8724213015e+00 5.3795356521e-05
+6.4962730601e+00 8.3758211430e-06
+8.1201248188e+00 4.0799993702e-10
+9.7439765775e+00 1.5380949047e-10
+1.1367828336e+01 1.4485391859e-10
+1.2991680095e+01 1.3852089140e-10
+1.4615531854e+01 1.3379577709e-10
+1.6239383612e+01 1.3013123964e-10
+1.7863235371e+01 1.2720454617e-10
+1.9487087130e+01 1.2481248131e-10
+2.1110938888e+01 1.2282046320e-10
+2.2734790647e+01 1.2113617960e-10
+2.4358642406e+01 1.1970167322e-10
+2.5982494164e+01 1.1830390894e-10
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.1829144901e-10
+-2.4356910355e+01 1.1968499481e-10
+-2.2733058596e+01 1.2111302774e-10
+-2.1109206837e+01 1.2280096605e-10
+-1.9485355079e+01 1.2480255308e-10
+-1.7861503320e+01 1.2721051848e-10
+-1.6237651561e+01 1.3016441229e-10
+-1.4613799803e+01 1.3387801159e-10
+-1.2989948044e+01 1.3869755578e-10
+-1.1366096285e+01 1.4522763755e-10
+-9.7422445267e+00 1.5465205481e-10
+-8.1183927680e+00 7.5929117397e-10
+-6.4945410093e+00 8.3968255380e-06
+-4.8706892506e+00 5.3877018754e-05
+-3.2468374920e+00 1.7591408302e-04
+-1.6229857333e+00 3.6854852288e-04
+8.6602540378e-04 4.7006762136e-04
+1.6247177841e+00 3.6835568475e-04
+3.2485695428e+00 1.7573526086e-04
+4.8724213015e+00 5.3794503388e-05
+6.4962730601e+00 8.3744893274e-06
+8.1201248188e+00 6.6424376863e-10
+9.7439765775e+00 1.5463971749e-10
+1.1367828336e+01 1.4521942448e-10
+1.2991680095e+01 1.3869164456e-10
+1.4615531854e+01 1.3387354164e-10
+1.6239383612e+01 1.3016090477e-10
+1.7863235371e+01 1.2720768966e-10
+1.9487087130e+01 1.2480022162e-10
+2.1110938888e+01 1.2279901138e-10
+2.2734790647e+01 1.2111136268e-10
+2.4358642406e+01 1.1968355468e-10
+2.5982494164e+01 1.1829024662e-10
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.1827533184e-10
+-2.4356910355e+01 1.1966000872e-10
+-2.2733058596e+01 1.2108121287e-10
+-2.1109206837e+01 1.2277163800e-10
+-1.9485355079e+01 1.2478540796e-10
+-1.7861503320e+01 1.2721484938e-10
+-1.6237651561e+01 1.3020578662e-10
+-1.4613799803e+01 1.3398651063e-10
+-1.2989948044e+01 1.3893565124e-10
+-1.1366096285e+01 1.4573660609e-10
+-9.7422445267e+00 1.5589719857e-10
+-8.1183927680e+00 1.0698978985e-09
+-6.4945410093e+00 8.3948906641e-06
+-4.8706892506e+00 5.3876567255e-05
+-3.2468374920e+00 1.7593321394e-04
+-1.6229857333e+00 3.6905432154e-04
+8.6602540378e-04 4.6859984924e-04
+1.6247177841e+00 3.6886206838e-04
+3.2485695428e+00 1.7575465288e-04
+4.8724213015e+00 5.3794059620e-05
+6.4962730601e+00 8.3725608850e-06
+8.1201248188e+00 9.5858107192e-10
+9.7439765775e+00 1.5588347219e-10
+1.1367828336e+01 1.4572797283e-10
+1.2991680095e+01 1.3892954716e-10
+1.4615531854e+01 1.3398194277e-10
+1.6239383612e+01 1.3020222704e-10
+1.7863235371e+01 1.2721199082e-10
+1.9487087130e+01 1.2478305909e-10
+2.1110938888e+01 1.2276967207e-10
+2.2734790647e+01 1.2107953876e-10
+2.4358642406e+01 1.1965855843e-10
+2.5982494164e+01 1.1827411788e-10
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.1825308768e-10
+-2.4356910355e+01 1.1962847144e-10
+-2.2733058596e+01 1.2104390471e-10
+-2.1109206837e+01 1.2273566802e-10
+-1.9485355079e+01 1.2476357742e-10
+-1.7861503320e+01 1.2722026754e-10
+-1.6237651561e+01 1.3025862307e-10
+-1.4613799803e+01 1.3412520176e-10
+-1.2989948044e+01 1.3923979161e-10
+-1.1366096285e+01 1.4638573252e-10
+-9.7422445267e+00 1.5762694030e-10
+-8.1183927680e+00 1.4090269755e-09
+-6.4945410093e+00 8.3922527180e-06
+-4.8706892506e+00 5.3877810428e-05
+-3.2468374920e+00 1.7595154108e-04
+-1.6229857333e+00 3.6954135979e-04
+8.6602540378e-04 4.6713903951e-04
+1.6247177841e+00 3.6934969694e-04
+3.2485695428e+00 1.7577336649e-04
+4.8724213015e+00 5.3795288076e-05
+6.4962730601e+00 8.3699348176e-06
+8.1201248188e+00 1.2809113933e-09
+9.7439765775e+00 1.5761094823e-10
+1.1367828336e+01 1.4637656543e-10
+1.2991680095e+01 1.3923344132e-10
+1.4615531854e+01 1.3412051018e-10
+1.6239383612e+01 1.3025499739e-10
+1.7863235371e+01 1.2721737118e-10
+1.9487087130e+01 1.2476120571e-10
+2.1110938888e+01 1.2273368676e-10
+2.2734790647e+01 1.2104221797e-10
+2.4358642406e+01 1.1962700822e-10
+2.5982494164e+01 1.1825185976e-10
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.1822404491e-10
+-2.4356910355e+01 1.1959094772e-10
+-2.2733058596e+01 1.2100210551e-10
+-2.1109206837e+01 1.2269479864e-10
+-1.9485355079e+01 1.2473770516e-10
+-1.7861503320e+01 1.2722676429e-10
+-1.6237651561e+01 1.3032265740e-10
+-1.4613799803e+01 1.3429346760e-10
+-1.2989948044e+01 1.3960845569e-10
+-1.1366096285e+01 1.4717496356e-10
+-9.7422445267e+00 1.5973367737e-10
+-8.1183927680e+00 1.7750278919e-09
+-6.4945410093e+00 8.3887232914e-06
+-4.8706892506e+00 5.3881947385e-05
+-3.2468374920e+00 1.7596753134e-04
+-1.6229857333e+00 3.6997396883e-04
+8.6602540378e-04 4.6573266764e-04
+1.6247177841e+00 3.6978548908e-04
+3.2485695428e+00 1.7578933290e-04
+4.8724213015e+00 5.3799408611e-05
+6.4962730601e+00 8.3664251073e-06
+8.1201248188e+00 1.6286228447e-09
+9.7439765775e+00 1.5971474804e-10
+1.1367828336e+01 1.4716513272e-10
+1.2991680095e+01 1.3960180794e-10
+1.4615531854e+01 1.3428862712e-10
+1.6239383612e+01 1.3031895127e-10
+1.7863235371e+01 1.2722382220e-10
+1.9487087130e+01 1.2473530528e-10
+2.1110938888e+01 1.2269279772e-10
+2.2734790647e+01 1.2100040217e-10
+2.4358642406e+01 1.1958946873e-10
+2.5982494164e+01 1.1822280086e-10
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.1818845142e-10
+-2.4356910355e+01 1.1954806443e-10
+-2.2733058596e+01 1.2095641417e-10
+-2.1109206837e+01 1.2265092629e-10
+-1.9485355079e+01 1.2470905336e-10
+-1.7861503320e+01 1.2723457510e-10
+-1.6237651561e+01 1.3039760805e-10
+-1.4613799803e+01 1.3449054064e-10
+-1.2989948044e+01 1.4003973910e-10
+-1.1366096285e+01 1.4811953072e-10
+-9.7422445267e+00 1.6195815768e-10
+-8.1183927680e+00 2.1727729002e-09
+-6.4945410093e+00 8.3843994451e-06
+-4.8706892506e+00 5.3887733993e-05
+-3.2468374920e+00 1.7598875950e-04
+-1.6229857333e+00 3.7032931235e-04
+8.6602540378e-04 4.6445880630e-04
+1.6247177841e+00 3.7013998586e-04
+3.2485695428e+00 1.7581088202e-04
+4.8724213015e+00 5.3805169515e-05
+6.4962730601e+00 8.3621208949e-06
+8.1201248188e+00 2.0042645443e-09
+9.7439765775e+00 1.6193621319e-10
+1.1367828336e+01 1.4810880904e-10
+1.2991680095e+01 1.4003274515e-10
+1.4615531854e+01 1.3448552588e-10
+1.6239383612e+01 1.3039380724e-10
+1.7863235371e+01 1.2723157877e-10
+1.9487087130e+01 1.2470661970e-10
+2.1110938888e+01 1.2264890113e-10
+2.2734790647e+01 1.2095469016e-10
+2.4358642406e+01 1.1954656674e-10
+2.5982494164e+01 1.1818718901e-10
diff --git a/test/whisky_test_tov_ppm/tau_maximum.xg b/test/whisky_test_tov_ppm/tau_maximum.xg
new file mode 100644
index 0000000..9d0efd5
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_maximum.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0004745219791
+0.3515742187500 0.0004730438487
+0.7031484375000 0.0004715519619
+1.0547226562500 0.0004700676214
+1.4062968750000 0.0004685998492
+1.7578710937500 0.0004671390395
+2.1094453125000 0.0004657326676
+2.4610195312500 0.0004644588063
diff --git a/test/whisky_test_tov_ppm/tau_minimum.xg b/test/whisky_test_tov_ppm/tau_minimum.xg
new file mode 100644
index 0000000..141a6de
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_minimum.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0000000000474
+0.3515742187500 0.0000000000028
+0.7031484375000 0.0000000000029
+1.0547226562500 0.0000000000028
+1.4062968750000 0.0000000000066
+1.7578710937500 0.0000000000128
+2.1094453125000 0.0000000000215
+2.4610195312500 0.0000000000208
diff --git a/test/whisky_test_tov_ppm/tau_norm1.xg b/test/whisky_test_tov_ppm/tau_norm1.xg
new file mode 100644
index 0000000..e2d8305
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_norm1.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0000030683255
+0.3515742187500 0.0000030681567
+0.7031484375000 0.0000030679692
+1.0547226562500 0.0000030677568
+1.4062968750000 0.0000030675186
+1.7578710937500 0.0000030672538
+2.1094453125000 0.0000030669635
+2.4610195312500 0.0000030666451
diff --git a/test/whisky_test_tov_ppm/tau_norm2.xg b/test/whisky_test_tov_ppm/tau_norm2.xg
new file mode 100644
index 0000000..3176ed1
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_norm2.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0000227707704
+0.3515742187500 0.0000227688544
+0.7031484375000 0.0000227665085
+1.0547226562500 0.0000227637560
+1.4062968750000 0.0000227605996
+1.7578710937500 0.0000227570469
+2.1094453125000 0.0000227531556
+2.4610195312500 0.0000227488936
diff --git a/test/whisky_test_tov_ppm/tau_x_[16][16].xg b/test/whisky_test_tov_ppm/tau_x_[16][16].xg
new file mode 100644
index 0000000..1aed78b
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3279599854e-10
+-1.4062468750e+01 1.3518235131e-10
+-1.3124937500e+01 1.3795327726e-10
+-1.2187406250e+01 1.4120917242e-10
+-1.1249875000e+01 1.4508843005e-10
+-1.0312343750e+01 1.4978714384e-10
+-9.3748125000e+00 1.5559237884e-10
+-8.4372812500e+00 1.6294121438e-10
+-7.4997500000e+00 8.9839564585e-07
+-6.5622187500e+00 7.5557289473e-06
+-5.6246875000e+00 2.5699640320e-05
+-4.6871562500e+00 6.3145110135e-05
+-3.7496250000e+00 1.2815733614e-04
+-2.8120937500e+00 2.2364429501e-04
+-1.8745625000e+00 3.3724878691e-04
+-9.3703125000e-01 4.3513392679e-04
+5.0000000000e-04 4.7452197913e-04
+9.3803125000e-01 4.3505385541e-04
+1.8755625000e+00 3.3712826756e-04
+2.8130937500e+00 2.2352869221e-04
+3.7506250000e+00 1.2807130716e-04
+4.6881562500e+00 6.3091774019e-05
+5.6256875000e+00 2.5671553073e-05
+6.5632187500e+00 7.5437128711e-06
+7.5007500000e+00 8.9523611683e-07
+8.4382812500e+00 1.6293233781e-10
+9.3758125000e+00 1.5558546005e-10
+1.0313343750e+01 1.4978160416e-10
+1.1250875000e+01 1.4508389717e-10
+1.2188406250e+01 1.4120539633e-10
+1.3125937500e+01 1.3795008403e-10
+1.4063468750e+01 1.3517961629e-10
+1.5001000000e+01 1.3279363012e-10
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.2942493273e-10
+-1.4062468750e+01 1.3516773023e-10
+-1.3124937500e+01 1.3788588778e-10
+-1.2187406250e+01 1.4111630620e-10
+-1.1249875000e+01 1.4495569085e-10
+-1.0312343750e+01 1.9407253582e-10
+-9.3748125000e+00 2.8890473236e-12
+-8.4372812500e+00 6.6699533528e-11
+-7.4997500000e+00 8.9268807768e-07
+-6.5622187500e+00 7.5428395207e-06
+-5.6246875000e+00 2.5656086436e-05
+-4.6871562500e+00 6.3035693756e-05
+-3.7496250000e+00 1.2792421890e-04
+-2.8120937500e+00 2.2321567972e-04
+-1.8745625000e+00 3.3657820854e-04
+-9.3703125000e-01 4.3446994170e-04
+5.0000000000e-04 4.7304384870e-04
+9.3803125000e-01 4.3439094177e-04
+1.8755625000e+00 3.3645798522e-04
+2.8130937500e+00 2.2310032254e-04
+3.7506250000e+00 1.2783835922e-04
+4.6881562500e+00 6.2982454915e-05
+5.6256875000e+00 2.5628046695e-05
+6.5632187500e+00 7.5308440248e-06
+7.5007500000e+00 8.8955525773e-07
+8.4382812500e+00 6.6127467354e-11
+9.3758125000e+00 2.8886379037e-12
+1.0313343750e+01 1.9406317930e-10
+1.1250875000e+01 1.4495121118e-10
+1.2188406250e+01 1.4111256367e-10
+1.3125937500e+01 1.3788271636e-10
+1.4063468750e+01 1.3516500009e-10
+1.5001000000e+01 1.2942354081e-10
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.2842202401e-10
+-1.4062468750e+01 1.3514640225e-10
+-1.3124937500e+01 1.3769152090e-10
+-1.2187406250e+01 1.4083823193e-10
+-1.1249875000e+01 1.4455839913e-10
+-1.0312343750e+01 3.2554021079e-10
+-9.3748125000e+00 6.8216014899e-12
+-8.4372812500e+00 1.4100984300e-10
+-7.4997500000e+00 8.8718322255e-07
+-6.5622187500e+00 7.5305695264e-06
+-5.6246875000e+00 2.5612296833e-05
+-4.6871562500e+00 6.2926092984e-05
+-3.7496250000e+00 1.2768893014e-04
+-2.8120937500e+00 2.2278104342e-04
+-1.8745625000e+00 3.3590508344e-04
+-9.3703125000e-01 4.3378613081e-04
+5.0000000000e-04 4.7155196188e-04
+9.3803125000e-01 4.3370815087e-04
+1.8755625000e+00 3.3578521215e-04
+2.8130937500e+00 2.2266594206e-04
+3.7506250000e+00 1.2760324249e-04
+4.6881562500e+00 6.2872952391e-05
+5.6256875000e+00 2.5584304337e-05
+6.5632187500e+00 7.5185961748e-06
+7.5007500000e+00 8.8407593636e-07
+8.4382812500e+00 1.3979959684e-10
+9.3758125000e+00 6.8209836019e-12
+1.0313343750e+01 3.2552554497e-10
+1.1250875000e+01 1.4455407873e-10
+1.2188406250e+01 1.4083458962e-10
+1.3125937500e+01 1.3768841289e-10
+1.4063468750e+01 1.3514368079e-10
+1.5001000000e+01 1.2842092103e-10
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.2817928626e-10
+-1.4062468750e+01 1.3512139728e-10
+-1.3124937500e+01 1.3739861207e-10
+-1.2187406250e+01 1.4037813741e-10
+-1.1249875000e+01 1.4389904608e-10
+-1.0312343750e+01 5.4219409110e-10
+-9.3748125000e+00 1.3215324393e-11
+-8.4372812500e+00 2.0104626407e-10
+-7.4997500000e+00 8.8188425656e-07
+-6.5622187500e+00 7.5189783442e-06
+-5.6246875000e+00 2.5568578993e-05
+-4.6871562500e+00 6.2817337636e-05
+-3.7496250000e+00 1.2745402447e-04
+-2.8120937500e+00 2.2234673647e-04
+-1.8745625000e+00 3.3523666513e-04
+-9.3703125000e-01 4.3309275137e-04
+5.0000000000e-04 4.7006762136e-04
+9.3803125000e-01 4.3301573216e-04
+1.8755625000e+00 3.3511718972e-04
+2.8130937500e+00 2.2223190166e-04
+3.7506250000e+00 1.2736850912e-04
+4.6881562500e+00 6.2764295080e-05
+5.6256875000e+00 2.5540633215e-05
+6.5632187500e+00 7.5070284220e-06
+7.5007500000e+00 8.7880132794e-07
+8.4382812500e+00 1.9928668020e-10
+9.3758125000e+00 1.3215103427e-11
+1.0313343750e+01 5.4218376980e-10
+1.1250875000e+01 1.4389498717e-10
+1.2188406250e+01 1.4037466093e-10
+1.3125937500e+01 1.3739560167e-10
+1.4063468750e+01 1.3511868763e-10
+1.5001000000e+01 1.2817825540e-10
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.2820084374e-10
+-1.4062468750e+01 1.3506911945e-10
+-1.3124937500e+01 1.3703595591e-10
+-1.2187406250e+01 1.3974674479e-10
+-1.1249875000e+01 1.4298739186e-10
+-1.0312343750e+01 8.4210878856e-10
+-9.3748125000e+00 2.1985637132e-11
+-8.4372812500e+00 2.4804701320e-10
+-7.4997500000e+00 8.7679689253e-07
+-6.5622187500e+00 7.5080255654e-06
+-5.6246875000e+00 2.5524479507e-05
+-4.6871562500e+00 6.2708083278e-05
+-3.7496250000e+00 1.2721711134e-04
+-2.8120937500e+00 2.2191135744e-04
+-1.8745625000e+00 3.3457127693e-04
+-9.3703125000e-01 4.3239364416e-04
+5.0000000000e-04 4.6859984924e-04
+9.3803125000e-01 4.3231710081e-04
+1.8755625000e+00 3.3445225694e-04
+2.8130937500e+00 2.2179678078e-04
+3.7506250000e+00 1.2713177054e-04
+4.6881562500e+00 6.2655139667e-05
+5.6256875000e+00 2.5496580778e-05
+6.5632187500e+00 7.4961004297e-06
+7.5007500000e+00 8.7373713454e-07
+8.4382812500e+00 2.4582002741e-10
+9.3758125000e+00 2.1986903508e-11
+1.0313343750e+01 8.4212106325e-10
+1.1250875000e+01 1.4298366613e-10
+1.2188406250e+01 1.3974349593e-10
+1.3125937500e+01 1.3703306959e-10
+1.4063468750e+01 1.3506643165e-10
+1.5001000000e+01 1.2819981084e-10
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.2829711607e-10
+-1.4062468750e+01 1.3496986832e-10
+-1.3124937500e+01 1.3662216396e-10
+-1.2187406250e+01 1.3896516083e-10
+-1.1249875000e+01 1.4184978829e-10
+-1.0312343750e+01 1.2235161855e-09
+-9.3748125000e+00 3.3070215340e-11
+-8.4372812500e+00 2.8565009979e-10
+-7.4997500000e+00 8.7192708527e-07
+-6.5622187500e+00 7.4976289875e-06
+-5.6246875000e+00 2.5480179526e-05
+-4.6871562500e+00 6.2599270886e-05
+-3.7496250000e+00 1.2697972211e-04
+-2.8120937500e+00 2.2147841032e-04
+-1.8745625000e+00 3.3390649690e-04
+-9.3703125000e-01 4.3168721911e-04
+5.0000000000e-04 4.6713903951e-04
+9.3803125000e-01 4.3161114523e-04
+1.8755625000e+00 3.3378801361e-04
+2.8130937500e+00 2.2136405873e-04
+3.7506250000e+00 1.2689456621e-04
+4.6881562500e+00 6.2546426106e-05
+5.6256875000e+00 2.5452327724e-05
+6.5632187500e+00 7.4857297581e-06
+7.5007500000e+00 8.6888930976e-07
+8.4382812500e+00 2.8302306967e-10
+9.3758125000e+00 3.3074259730e-11
+1.0313343750e+01 1.2235779862e-09
+1.1250875000e+01 1.4184637769e-10
+1.2188406250e+01 1.3896218828e-10
+1.3125937500e+01 1.3661942267e-10
+1.4063468750e+01 1.3496721852e-10
+1.5001000000e+01 1.2829606030e-10
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.2838072484e-10
+-1.4062468750e+01 1.3481463278e-10
+-1.3124937500e+01 1.3616076243e-10
+-1.2187406250e+01 1.3806433878e-10
+-1.1249875000e+01 1.4053586627e-10
+-1.0312343750e+01 1.6847380654e-09
+-9.3748125000e+00 4.6409920806e-11
+-8.4372812500e+00 3.1781529473e-10
+-7.4997500000e+00 8.6726027553e-07
+-6.5622187500e+00 7.4879202829e-06
+-5.6246875000e+00 2.5436093749e-05
+-4.6871562500e+00 6.2492215623e-05
+-3.7496250000e+00 1.2674460747e-04
+-2.8120937500e+00 2.2106624480e-04
+-1.8745625000e+00 3.3326721388e-04
+-9.3703125000e-01 4.3100504953e-04
+5.0000000000e-04 4.6573266764e-04
+9.3803125000e-01 4.3093051729e-04
+1.8755625000e+00 3.3314915157e-04
+2.8130937500e+00 2.2095201163e-04
+3.7506250000e+00 1.2665966212e-04
+4.6881562500e+00 6.2439469004e-05
+5.6256875000e+00 2.5408288307e-05
+6.5632187500e+00 7.4760523922e-06
+7.5007500000e+00 8.6424333866e-07
+8.4382812500e+00 3.1484085504e-10
+9.3758125000e+00 4.6418187201e-11
+1.0313343750e+01 1.6848844817e-09
+1.1250875000e+01 1.4053260602e-10
+1.2188406250e+01 1.3806165648e-10
+1.3125937500e+01 1.3615818359e-10
+1.4063468750e+01 1.3481204011e-10
+1.5001000000e+01 1.2837964965e-10
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.2841427977e-10
+-1.4062468750e+01 1.3460154333e-10
+-1.3124937500e+01 1.3564403227e-10
+-1.2187406250e+01 1.3708186252e-10
+-1.1249875000e+01 1.3911879201e-10
+-1.0312343750e+01 2.2240566264e-09
+-9.3748125000e+00 6.1920604664e-11
+-8.4372812500e+00 3.4835443388e-10
+-7.4997500000e+00 8.6280246764e-07
+-6.5622187500e+00 7.4794439133e-06
+-5.6246875000e+00 2.5392631246e-05
+-4.6871562500e+00 6.2392184217e-05
+-3.7496250000e+00 1.2652911820e-04
+-2.8120937500e+00 2.2069265185e-04
+-1.8745625000e+00 3.3268629196e-04
+-9.3703125000e-01 4.3036332523e-04
+5.0000000000e-04 4.6445880630e-04
+9.3803125000e-01 4.3028862832e-04
+1.8755625000e+00 3.3256868605e-04
+2.8130937500e+00 2.2057859792e-04
+3.7506250000e+00 1.2644432863e-04
+4.6881562500e+00 6.2339523432e-05
+5.6256875000e+00 2.5364871433e-05
+6.5632187500e+00 7.4676106366e-06
+7.5007500000e+00 8.5980518775e-07
+8.4382812500e+00 3.4507070715e-10
+9.3758125000e+00 6.1932837768e-11
+1.0313343750e+01 2.2243247713e-09
+1.1250875000e+01 1.3911538861e-10
+1.2188406250e+01 1.3707941829e-10
+1.3125937500e+01 1.3564162672e-10
+1.4063468750e+01 1.3459902682e-10
+1.5001000000e+01 1.2841319870e-10
diff --git a/test/whisky_test_tov_ppm/tau_y_[16][16].xg b/test/whisky_test_tov_ppm/tau_y_[16][16].xg
new file mode 100644
index 0000000..31256ce
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3279599854e-10
+-1.4062468750e+01 1.3518235131e-10
+-1.3124937500e+01 1.3795327726e-10
+-1.2187406250e+01 1.4120917242e-10
+-1.1249875000e+01 1.4508843005e-10
+-1.0312343750e+01 1.4978714384e-10
+-9.3748125000e+00 1.5559237884e-10
+-8.4372812500e+00 1.6294121438e-10
+-7.4997500000e+00 8.9839564585e-07
+-6.5622187500e+00 7.5557289473e-06
+-5.6246875000e+00 2.5699640320e-05
+-4.6871562500e+00 6.3145110135e-05
+-3.7496250000e+00 1.2815733614e-04
+-2.8120937500e+00 2.2364429501e-04
+-1.8745625000e+00 3.3724878691e-04
+-9.3703125000e-01 4.3513392679e-04
+5.0000000000e-04 4.7452197913e-04
+9.3803125000e-01 4.3505385541e-04
+1.8755625000e+00 3.3712826756e-04
+2.8130937500e+00 2.2352869221e-04
+3.7506250000e+00 1.2807130716e-04
+4.6881562500e+00 6.3091774019e-05
+5.6256875000e+00 2.5671553073e-05
+6.5632187500e+00 7.5437128711e-06
+7.5007500000e+00 8.9523611683e-07
+8.4382812500e+00 1.6293233781e-10
+9.3758125000e+00 1.5558546005e-10
+1.0313343750e+01 1.4978160416e-10
+1.1250875000e+01 1.4508389717e-10
+1.2188406250e+01 1.4120539633e-10
+1.3125937500e+01 1.3795008403e-10
+1.4063468750e+01 1.3517961629e-10
+1.5001000000e+01 1.3279363012e-10
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.2942493273e-10
+-1.4062468750e+01 1.3516773023e-10
+-1.3124937500e+01 1.3788588778e-10
+-1.2187406250e+01 1.4111630620e-10
+-1.1249875000e+01 1.4495569085e-10
+-1.0312343750e+01 1.9407253582e-10
+-9.3748125000e+00 2.8890473236e-12
+-8.4372812500e+00 6.6699533528e-11
+-7.4997500000e+00 8.9268807768e-07
+-6.5622187500e+00 7.5428395207e-06
+-5.6246875000e+00 2.5656086436e-05
+-4.6871562500e+00 6.3035693756e-05
+-3.7496250000e+00 1.2792421890e-04
+-2.8120937500e+00 2.2321567972e-04
+-1.8745625000e+00 3.3657820854e-04
+-9.3703125000e-01 4.3446994170e-04
+5.0000000000e-04 4.7304384870e-04
+9.3803125000e-01 4.3439094177e-04
+1.8755625000e+00 3.3645798522e-04
+2.8130937500e+00 2.2310032254e-04
+3.7506250000e+00 1.2783835922e-04
+4.6881562500e+00 6.2982454915e-05
+5.6256875000e+00 2.5628046695e-05
+6.5632187500e+00 7.5308440248e-06
+7.5007500000e+00 8.8955525773e-07
+8.4382812500e+00 6.6127467354e-11
+9.3758125000e+00 2.8886379037e-12
+1.0313343750e+01 1.9406317930e-10
+1.1250875000e+01 1.4495121118e-10
+1.2188406250e+01 1.4111256367e-10
+1.3125937500e+01 1.3788271636e-10
+1.4063468750e+01 1.3516500009e-10
+1.5001000000e+01 1.2942354081e-10
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.2842202401e-10
+-1.4062468750e+01 1.3514640225e-10
+-1.3124937500e+01 1.3769152090e-10
+-1.2187406250e+01 1.4083823193e-10
+-1.1249875000e+01 1.4455839913e-10
+-1.0312343750e+01 3.2554021079e-10
+-9.3748125000e+00 6.8216014899e-12
+-8.4372812500e+00 1.4100984300e-10
+-7.4997500000e+00 8.8718322255e-07
+-6.5622187500e+00 7.5305695264e-06
+-5.6246875000e+00 2.5612296833e-05
+-4.6871562500e+00 6.2926092984e-05
+-3.7496250000e+00 1.2768893014e-04
+-2.8120937500e+00 2.2278104342e-04
+-1.8745625000e+00 3.3590508344e-04
+-9.3703125000e-01 4.3378613081e-04
+5.0000000000e-04 4.7155196188e-04
+9.3803125000e-01 4.3370815087e-04
+1.8755625000e+00 3.3578521215e-04
+2.8130937500e+00 2.2266594206e-04
+3.7506250000e+00 1.2760324249e-04
+4.6881562500e+00 6.2872952391e-05
+5.6256875000e+00 2.5584304337e-05
+6.5632187500e+00 7.5185961748e-06
+7.5007500000e+00 8.8407593636e-07
+8.4382812500e+00 1.3979959684e-10
+9.3758125000e+00 6.8209836019e-12
+1.0313343750e+01 3.2552554497e-10
+1.1250875000e+01 1.4455407873e-10
+1.2188406250e+01 1.4083458962e-10
+1.3125937500e+01 1.3768841289e-10
+1.4063468750e+01 1.3514368079e-10
+1.5001000000e+01 1.2842092103e-10
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.2817928626e-10
+-1.4062468750e+01 1.3512139728e-10
+-1.3124937500e+01 1.3739861207e-10
+-1.2187406250e+01 1.4037813741e-10
+-1.1249875000e+01 1.4389904608e-10
+-1.0312343750e+01 5.4219409110e-10
+-9.3748125000e+00 1.3215324393e-11
+-8.4372812500e+00 2.0104626407e-10
+-7.4997500000e+00 8.8188425656e-07
+-6.5622187500e+00 7.5189783442e-06
+-5.6246875000e+00 2.5568578993e-05
+-4.6871562500e+00 6.2817337636e-05
+-3.7496250000e+00 1.2745402447e-04
+-2.8120937500e+00 2.2234673647e-04
+-1.8745625000e+00 3.3523666513e-04
+-9.3703125000e-01 4.3309275137e-04
+5.0000000000e-04 4.7006762136e-04
+9.3803125000e-01 4.3301573216e-04
+1.8755625000e+00 3.3511718972e-04
+2.8130937500e+00 2.2223190166e-04
+3.7506250000e+00 1.2736850912e-04
+4.6881562500e+00 6.2764295080e-05
+5.6256875000e+00 2.5540633215e-05
+6.5632187500e+00 7.5070284220e-06
+7.5007500000e+00 8.7880132794e-07
+8.4382812500e+00 1.9928668019e-10
+9.3758125000e+00 1.3215103427e-11
+1.0313343750e+01 5.4218376980e-10
+1.1250875000e+01 1.4389498717e-10
+1.2188406250e+01 1.4037466093e-10
+1.3125937500e+01 1.3739560167e-10
+1.4063468750e+01 1.3511868763e-10
+1.5001000000e+01 1.2817825540e-10
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.2820084373e-10
+-1.4062468750e+01 1.3506911945e-10
+-1.3124937500e+01 1.3703595591e-10
+-1.2187406250e+01 1.3974674479e-10
+-1.1249875000e+01 1.4298739186e-10
+-1.0312343750e+01 8.4210878856e-10
+-9.3748125000e+00 2.1985637132e-11
+-8.4372812500e+00 2.4804701320e-10
+-7.4997500000e+00 8.7679689253e-07
+-6.5622187500e+00 7.5080255654e-06
+-5.6246875000e+00 2.5524479507e-05
+-4.6871562500e+00 6.2708083278e-05
+-3.7496250000e+00 1.2721711134e-04
+-2.8120937500e+00 2.2191135744e-04
+-1.8745625000e+00 3.3457127693e-04
+-9.3703125000e-01 4.3239364416e-04
+5.0000000000e-04 4.6859984924e-04
+9.3803125000e-01 4.3231710081e-04
+1.8755625000e+00 3.3445225694e-04
+2.8130937500e+00 2.2179678078e-04
+3.7506250000e+00 1.2713177054e-04
+4.6881562500e+00 6.2655139667e-05
+5.6256875000e+00 2.5496580778e-05
+6.5632187500e+00 7.4961004297e-06
+7.5007500000e+00 8.7373713454e-07
+8.4382812500e+00 2.4582002741e-10
+9.3758125000e+00 2.1986903508e-11
+1.0313343750e+01 8.4212106325e-10
+1.1250875000e+01 1.4298366613e-10
+1.2188406250e+01 1.3974349593e-10
+1.3125937500e+01 1.3703306959e-10
+1.4063468750e+01 1.3506643165e-10
+1.5001000000e+01 1.2819981084e-10
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.2829711607e-10
+-1.4062468750e+01 1.3496986832e-10
+-1.3124937500e+01 1.3662216396e-10
+-1.2187406250e+01 1.3896516083e-10
+-1.1249875000e+01 1.4184978829e-10
+-1.0312343750e+01 1.2235161855e-09
+-9.3748125000e+00 3.3070215340e-11
+-8.4372812500e+00 2.8565009979e-10
+-7.4997500000e+00 8.7192708527e-07
+-6.5622187500e+00 7.4976289875e-06
+-5.6246875000e+00 2.5480179526e-05
+-4.6871562500e+00 6.2599270886e-05
+-3.7496250000e+00 1.2697972211e-04
+-2.8120937500e+00 2.2147841032e-04
+-1.8745625000e+00 3.3390649690e-04
+-9.3703125000e-01 4.3168721911e-04
+5.0000000000e-04 4.6713903951e-04
+9.3803125000e-01 4.3161114523e-04
+1.8755625000e+00 3.3378801361e-04
+2.8130937500e+00 2.2136405873e-04
+3.7506250000e+00 1.2689456621e-04
+4.6881562500e+00 6.2546426106e-05
+5.6256875000e+00 2.5452327724e-05
+6.5632187500e+00 7.4857297581e-06
+7.5007500000e+00 8.6888930976e-07
+8.4382812500e+00 2.8302306967e-10
+9.3758125000e+00 3.3074259730e-11
+1.0313343750e+01 1.2235779862e-09
+1.1250875000e+01 1.4184637769e-10
+1.2188406250e+01 1.3896218828e-10
+1.3125937500e+01 1.3661942267e-10
+1.4063468750e+01 1.3496721852e-10
+1.5001000000e+01 1.2829606030e-10
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.2838072484e-10
+-1.4062468750e+01 1.3481463278e-10
+-1.3124937500e+01 1.3616076243e-10
+-1.2187406250e+01 1.3806433878e-10
+-1.1249875000e+01 1.4053586627e-10
+-1.0312343750e+01 1.6847380654e-09
+-9.3748125000e+00 4.6409920806e-11
+-8.4372812500e+00 3.1781529473e-10
+-7.4997500000e+00 8.6726027553e-07
+-6.5622187500e+00 7.4879202829e-06
+-5.6246875000e+00 2.5436093749e-05
+-4.6871562500e+00 6.2492215623e-05
+-3.7496250000e+00 1.2674460747e-04
+-2.8120937500e+00 2.2106624480e-04
+-1.8745625000e+00 3.3326721388e-04
+-9.3703125000e-01 4.3100504953e-04
+5.0000000000e-04 4.6573266764e-04
+9.3803125000e-01 4.3093051729e-04
+1.8755625000e+00 3.3314915157e-04
+2.8130937500e+00 2.2095201163e-04
+3.7506250000e+00 1.2665966212e-04
+4.6881562500e+00 6.2439469004e-05
+5.6256875000e+00 2.5408288307e-05
+6.5632187500e+00 7.4760523922e-06
+7.5007500000e+00 8.6424333866e-07
+8.4382812500e+00 3.1484085504e-10
+9.3758125000e+00 4.6418187201e-11
+1.0313343750e+01 1.6848844817e-09
+1.1250875000e+01 1.4053260602e-10
+1.2188406250e+01 1.3806165648e-10
+1.3125937500e+01 1.3615818359e-10
+1.4063468750e+01 1.3481204011e-10
+1.5001000000e+01 1.2837964965e-10
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.2841427977e-10
+-1.4062468750e+01 1.3460154333e-10
+-1.3124937500e+01 1.3564403227e-10
+-1.2187406250e+01 1.3708186252e-10
+-1.1249875000e+01 1.3911879201e-10
+-1.0312343750e+01 2.2240566264e-09
+-9.3748125000e+00 6.1920604664e-11
+-8.4372812500e+00 3.4835443388e-10
+-7.4997500000e+00 8.6280246764e-07
+-6.5622187500e+00 7.4794439133e-06
+-5.6246875000e+00 2.5392631246e-05
+-4.6871562500e+00 6.2392184217e-05
+-3.7496250000e+00 1.2652911820e-04
+-2.8120937500e+00 2.2069265185e-04
+-1.8745625000e+00 3.3268629196e-04
+-9.3703125000e-01 4.3036332523e-04
+5.0000000000e-04 4.6445880630e-04
+9.3803125000e-01 4.3028862832e-04
+1.8755625000e+00 3.3256868605e-04
+2.8130937500e+00 2.2057859792e-04
+3.7506250000e+00 1.2644432863e-04
+4.6881562500e+00 6.2339523432e-05
+5.6256875000e+00 2.5364871433e-05
+6.5632187500e+00 7.4676106366e-06
+7.5007500000e+00 8.5980518775e-07
+8.4382812500e+00 3.4507070715e-10
+9.3758125000e+00 6.1932837768e-11
+1.0313343750e+01 2.2243247713e-09
+1.1250875000e+01 1.3911538861e-10
+1.2188406250e+01 1.3707941829e-10
+1.3125937500e+01 1.3564162672e-10
+1.4063468750e+01 1.3459902682e-10
+1.5001000000e+01 1.2841319870e-10
diff --git a/test/whisky_test_tov_ppm/tau_z_[16][16].xg b/test/whisky_test_tov_ppm/tau_z_[16][16].xg
new file mode 100644
index 0000000..1820cfa
--- /dev/null
+++ b/test/whisky_test_tov_ppm/tau_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3279599854e-10
+-1.4062468750e+01 1.3518235131e-10
+-1.3124937500e+01 1.3795327726e-10
+-1.2187406250e+01 1.4120917242e-10
+-1.1249875000e+01 1.4508843005e-10
+-1.0312343750e+01 1.4978714384e-10
+-9.3748125000e+00 1.5559237884e-10
+-8.4372812500e+00 1.6294121438e-10
+-7.4997500000e+00 8.9839564585e-07
+-6.5622187500e+00 7.5557289473e-06
+-5.6246875000e+00 2.5699640320e-05
+-4.6871562500e+00 6.3145110135e-05
+-3.7496250000e+00 1.2815733614e-04
+-2.8120937500e+00 2.2364429501e-04
+-1.8745625000e+00 3.3724878691e-04
+-9.3703125000e-01 4.3513392679e-04
+5.0000000000e-04 4.7452197913e-04
+9.3803125000e-01 4.3505385541e-04
+1.8755625000e+00 3.3712826756e-04
+2.8130937500e+00 2.2352869221e-04
+3.7506250000e+00 1.2807130716e-04
+4.6881562500e+00 6.3091774019e-05
+5.6256875000e+00 2.5671553073e-05
+6.5632187500e+00 7.5437128711e-06
+7.5007500000e+00 8.9523611683e-07
+8.4382812500e+00 1.6293233781e-10
+9.3758125000e+00 1.5558546005e-10
+1.0313343750e+01 1.4978160416e-10
+1.1250875000e+01 1.4508389717e-10
+1.2188406250e+01 1.4120539633e-10
+1.3125937500e+01 1.3795008403e-10
+1.4063468750e+01 1.3517961629e-10
+1.5001000000e+01 1.3279363012e-10
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.2942493273e-10
+-1.4062468750e+01 1.3516773023e-10
+-1.3124937500e+01 1.3788588778e-10
+-1.2187406250e+01 1.4111630620e-10
+-1.1249875000e+01 1.4495569085e-10
+-1.0312343750e+01 1.9407253582e-10
+-9.3748125000e+00 2.8890473236e-12
+-8.4372812500e+00 6.6699533528e-11
+-7.4997500000e+00 8.9268807768e-07
+-6.5622187500e+00 7.5428395207e-06
+-5.6246875000e+00 2.5656086436e-05
+-4.6871562500e+00 6.3035693756e-05
+-3.7496250000e+00 1.2792421890e-04
+-2.8120937500e+00 2.2321567972e-04
+-1.8745625000e+00 3.3657820854e-04
+-9.3703125000e-01 4.3446994170e-04
+5.0000000000e-04 4.7304384870e-04
+9.3803125000e-01 4.3439094177e-04
+1.8755625000e+00 3.3645798522e-04
+2.8130937500e+00 2.2310032254e-04
+3.7506250000e+00 1.2783835922e-04
+4.6881562500e+00 6.2982454915e-05
+5.6256875000e+00 2.5628046695e-05
+6.5632187500e+00 7.5308440248e-06
+7.5007500000e+00 8.8955525773e-07
+8.4382812500e+00 6.6127467354e-11
+9.3758125000e+00 2.8886379037e-12
+1.0313343750e+01 1.9406317930e-10
+1.1250875000e+01 1.4495121118e-10
+1.2188406250e+01 1.4111256367e-10
+1.3125937500e+01 1.3788271636e-10
+1.4063468750e+01 1.3516500009e-10
+1.5001000000e+01 1.2942354081e-10
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.2842202401e-10
+-1.4062468750e+01 1.3514640225e-10
+-1.3124937500e+01 1.3769152090e-10
+-1.2187406250e+01 1.4083823193e-10
+-1.1249875000e+01 1.4455839913e-10
+-1.0312343750e+01 3.2554021079e-10
+-9.3748125000e+00 6.8216014899e-12
+-8.4372812500e+00 1.4100984300e-10
+-7.4997500000e+00 8.8718322255e-07
+-6.5622187500e+00 7.5305695264e-06
+-5.6246875000e+00 2.5612296833e-05
+-4.6871562500e+00 6.2926092984e-05
+-3.7496250000e+00 1.2768893014e-04
+-2.8120937500e+00 2.2278104342e-04
+-1.8745625000e+00 3.3590508344e-04
+-9.3703125000e-01 4.3378613081e-04
+5.0000000000e-04 4.7155196188e-04
+9.3803125000e-01 4.3370815087e-04
+1.8755625000e+00 3.3578521215e-04
+2.8130937500e+00 2.2266594206e-04
+3.7506250000e+00 1.2760324249e-04
+4.6881562500e+00 6.2872952391e-05
+5.6256875000e+00 2.5584304337e-05
+6.5632187500e+00 7.5185961748e-06
+7.5007500000e+00 8.8407593636e-07
+8.4382812500e+00 1.3979959684e-10
+9.3758125000e+00 6.8209836019e-12
+1.0313343750e+01 3.2552554497e-10
+1.1250875000e+01 1.4455407873e-10
+1.2188406250e+01 1.4083458962e-10
+1.3125937500e+01 1.3768841289e-10
+1.4063468750e+01 1.3514368079e-10
+1.5001000000e+01 1.2842092103e-10
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.2817928626e-10
+-1.4062468750e+01 1.3512139728e-10
+-1.3124937500e+01 1.3739861207e-10
+-1.2187406250e+01 1.4037813741e-10
+-1.1249875000e+01 1.4389904608e-10
+-1.0312343750e+01 5.4219409110e-10
+-9.3748125000e+00 1.3215324393e-11
+-8.4372812500e+00 2.0104626407e-10
+-7.4997500000e+00 8.8188425656e-07
+-6.5622187500e+00 7.5189783442e-06
+-5.6246875000e+00 2.5568578993e-05
+-4.6871562500e+00 6.2817337636e-05
+-3.7496250000e+00 1.2745402447e-04
+-2.8120937500e+00 2.2234673647e-04
+-1.8745625000e+00 3.3523666513e-04
+-9.3703125000e-01 4.3309275137e-04
+5.0000000000e-04 4.7006762136e-04
+9.3803125000e-01 4.3301573216e-04
+1.8755625000e+00 3.3511718972e-04
+2.8130937500e+00 2.2223190166e-04
+3.7506250000e+00 1.2736850912e-04
+4.6881562500e+00 6.2764295080e-05
+5.6256875000e+00 2.5540633215e-05
+6.5632187500e+00 7.5070284220e-06
+7.5007500000e+00 8.7880132794e-07
+8.4382812500e+00 1.9928668020e-10
+9.3758125000e+00 1.3215103427e-11
+1.0313343750e+01 5.4218376980e-10
+1.1250875000e+01 1.4389498717e-10
+1.2188406250e+01 1.4037466093e-10
+1.3125937500e+01 1.3739560167e-10
+1.4063468750e+01 1.3511868763e-10
+1.5001000000e+01 1.2817825540e-10
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.2820084373e-10
+-1.4062468750e+01 1.3506911945e-10
+-1.3124937500e+01 1.3703595591e-10
+-1.2187406250e+01 1.3974674479e-10
+-1.1249875000e+01 1.4298739186e-10
+-1.0312343750e+01 8.4210878856e-10
+-9.3748125000e+00 2.1985637132e-11
+-8.4372812500e+00 2.4804701320e-10
+-7.4997500000e+00 8.7679689253e-07
+-6.5622187500e+00 7.5080255654e-06
+-5.6246875000e+00 2.5524479507e-05
+-4.6871562500e+00 6.2708083278e-05
+-3.7496250000e+00 1.2721711134e-04
+-2.8120937500e+00 2.2191135744e-04
+-1.8745625000e+00 3.3457127693e-04
+-9.3703125000e-01 4.3239364416e-04
+5.0000000000e-04 4.6859984924e-04
+9.3803125000e-01 4.3231710081e-04
+1.8755625000e+00 3.3445225694e-04
+2.8130937500e+00 2.2179678078e-04
+3.7506250000e+00 1.2713177054e-04
+4.6881562500e+00 6.2655139667e-05
+5.6256875000e+00 2.5496580778e-05
+6.5632187500e+00 7.4961004297e-06
+7.5007500000e+00 8.7373713454e-07
+8.4382812500e+00 2.4582002741e-10
+9.3758125000e+00 2.1986903508e-11
+1.0313343750e+01 8.4212106325e-10
+1.1250875000e+01 1.4298366613e-10
+1.2188406250e+01 1.3974349593e-10
+1.3125937500e+01 1.3703306959e-10
+1.4063468750e+01 1.3506643165e-10
+1.5001000000e+01 1.2819981084e-10
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.2829711607e-10
+-1.4062468750e+01 1.3496986832e-10
+-1.3124937500e+01 1.3662216396e-10
+-1.2187406250e+01 1.3896516083e-10
+-1.1249875000e+01 1.4184978829e-10
+-1.0312343750e+01 1.2235161855e-09
+-9.3748125000e+00 3.3070215340e-11
+-8.4372812500e+00 2.8565009979e-10
+-7.4997500000e+00 8.7192708527e-07
+-6.5622187500e+00 7.4976289875e-06
+-5.6246875000e+00 2.5480179526e-05
+-4.6871562500e+00 6.2599270886e-05
+-3.7496250000e+00 1.2697972211e-04
+-2.8120937500e+00 2.2147841032e-04
+-1.8745625000e+00 3.3390649690e-04
+-9.3703125000e-01 4.3168721911e-04
+5.0000000000e-04 4.6713903951e-04
+9.3803125000e-01 4.3161114523e-04
+1.8755625000e+00 3.3378801361e-04
+2.8130937500e+00 2.2136405873e-04
+3.7506250000e+00 1.2689456621e-04
+4.6881562500e+00 6.2546426106e-05
+5.6256875000e+00 2.5452327724e-05
+6.5632187500e+00 7.4857297581e-06
+7.5007500000e+00 8.6888930976e-07
+8.4382812500e+00 2.8302306967e-10
+9.3758125000e+00 3.3074259730e-11
+1.0313343750e+01 1.2235779862e-09
+1.1250875000e+01 1.4184637769e-10
+1.2188406250e+01 1.3896218828e-10
+1.3125937500e+01 1.3661942267e-10
+1.4063468750e+01 1.3496721852e-10
+1.5001000000e+01 1.2829606030e-10
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.2838072484e-10
+-1.4062468750e+01 1.3481463278e-10
+-1.3124937500e+01 1.3616076243e-10
+-1.2187406250e+01 1.3806433878e-10
+-1.1249875000e+01 1.4053586627e-10
+-1.0312343750e+01 1.6847380654e-09
+-9.3748125000e+00 4.6409920806e-11
+-8.4372812500e+00 3.1781529473e-10
+-7.4997500000e+00 8.6726027553e-07
+-6.5622187500e+00 7.4879202829e-06
+-5.6246875000e+00 2.5436093749e-05
+-4.6871562500e+00 6.2492215623e-05
+-3.7496250000e+00 1.2674460747e-04
+-2.8120937500e+00 2.2106624480e-04
+-1.8745625000e+00 3.3326721388e-04
+-9.3703125000e-01 4.3100504953e-04
+5.0000000000e-04 4.6573266764e-04
+9.3803125000e-01 4.3093051729e-04
+1.8755625000e+00 3.3314915157e-04
+2.8130937500e+00 2.2095201163e-04
+3.7506250000e+00 1.2665966212e-04
+4.6881562500e+00 6.2439469004e-05
+5.6256875000e+00 2.5408288307e-05
+6.5632187500e+00 7.4760523922e-06
+7.5007500000e+00 8.6424333866e-07
+8.4382812500e+00 3.1484085504e-10
+9.3758125000e+00 4.6418187201e-11
+1.0313343750e+01 1.6848844817e-09
+1.1250875000e+01 1.4053260602e-10
+1.2188406250e+01 1.3806165648e-10
+1.3125937500e+01 1.3615818359e-10
+1.4063468750e+01 1.3481204011e-10
+1.5001000000e+01 1.2837964965e-10
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.2841427977e-10
+-1.4062468750e+01 1.3460154333e-10
+-1.3124937500e+01 1.3564403227e-10
+-1.2187406250e+01 1.3708186252e-10
+-1.1249875000e+01 1.3911879201e-10
+-1.0312343750e+01 2.2240566264e-09
+-9.3748125000e+00 6.1920604664e-11
+-8.4372812500e+00 3.4835443388e-10
+-7.4997500000e+00 8.6280246764e-07
+-6.5622187500e+00 7.4794439133e-06
+-5.6246875000e+00 2.5392631246e-05
+-4.6871562500e+00 6.2392184217e-05
+-3.7496250000e+00 1.2652911820e-04
+-2.8120937500e+00 2.2069265185e-04
+-1.8745625000e+00 3.3268629196e-04
+-9.3703125000e-01 4.3036332523e-04
+5.0000000000e-04 4.6445880630e-04
+9.3803125000e-01 4.3028862832e-04
+1.8755625000e+00 3.3256868605e-04
+2.8130937500e+00 2.2057859792e-04
+3.7506250000e+00 1.2644432863e-04
+4.6881562500e+00 6.2339523432e-05
+5.6256875000e+00 2.5364871433e-05
+6.5632187500e+00 7.4676106366e-06
+7.5007500000e+00 8.5980518775e-07
+8.4382812500e+00 3.4507070715e-10
+9.3758125000e+00 6.1932837768e-11
+1.0313343750e+01 2.2243247713e-09
+1.1250875000e+01 1.3911538861e-10
+1.2188406250e+01 1.3707941829e-10
+1.3125937500e+01 1.3564162672e-10
+1.4063468750e+01 1.3459902682e-10
+1.5001000000e+01 1.2841319870e-10
diff --git a/test/whisky_test_tov_ppm/vel[0]_3D_diagonal.xg b/test/whisky_test_tov_ppm/vel[0]_3D_diagonal.xg
new file mode 100644
index 0000000..007198c
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.0713364412e-03
+-6.4945410093e+00 -4.4208277970e-05
+-4.8706892506e+00 -4.4848974129e-05
+-3.2468374920e+00 -4.1707061722e-05
+-1.6229857333e+00 -9.5524891401e-05
+8.6602540378e-04 -5.9239751627e-07
+1.6247177841e+00 9.6157059873e-05
+3.2485695428e+00 4.1740593194e-05
+4.8724213015e+00 4.4850423276e-05
+6.4962730601e+00 4.4214766948e-05
+8.1201248188e+00 2.7627451218e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.4665644010e-03
+-6.4945410093e+00 -8.9728415542e-05
+-4.8706892506e+00 -8.8664627377e-05
+-3.2468374920e+00 -8.9263645260e-05
+-1.6229857333e+00 -1.7421882391e-04
+8.6602540378e-04 -1.1533340643e-06
+1.6247177841e+00 1.7541624218e-04
+3.2485695428e+00 8.9368136884e-05
+4.8724213015e+00 8.8667931597e-05
+6.4962730601e+00 8.9755363379e-05
+8.1201248188e+00 3.1748518759e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.3444218024e-03
+-6.4945410093e+00 -1.3629901227e-04
+-4.8706892506e+00 -1.3108181164e-04
+-3.2468374920e+00 -1.4056321003e-04
+-1.6229857333e+00 -2.3624306962e-04
+8.6602540378e-04 -1.6854649791e-06
+1.6247177841e+00 2.3794335293e-04
+3.2485695428e+00 1.4077081835e-04
+4.8724213015e+00 1.3108920797e-04
+6.4962730601e+00 1.3635292899e-04
+8.1201248188e+00 2.9976879197e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.9519596476e-03
+-6.4945410093e+00 -1.8337441732e-04
+-4.8706892506e+00 -1.7173758240e-04
+-3.2468374920e+00 -1.9669476220e-04
+-1.6229857333e+00 -2.7915838053e-04
+8.6602540378e-04 -2.3363830717e-06
+1.6247177841e+00 2.8173579964e-04
+3.2485695428e+00 1.9673085932e-04
+4.8724213015e+00 1.7175114503e-04
+6.4962730601e+00 1.8345347657e-04
+8.1201248188e+00 2.5907538679e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4157258481e-03
+-6.4945410093e+00 -2.3034940284e-04
+-4.8706892506e+00 -2.1038051998e-04
+-3.2468374920e+00 -2.5747800556e-04
+-1.6229857333e+00 -2.9945189640e-04
+8.6602540378e-04 -2.9439587382e-06
+1.6247177841e+00 3.0280886479e-04
+3.2485695428e+00 2.5739482658e-04
+4.8724213015e+00 2.1039942405e-04
+6.4962730601e+00 2.3045181483e-04
+8.1201248188e+00 2.0220011305e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -8.0992808259e-04
+-6.4945410093e+00 -2.7664790132e-04
+-4.8706892506e+00 -2.4702104430e-04
+-3.2468374920e+00 -3.2212184277e-04
+-1.6229857333e+00 -2.9949696008e-04
+8.6602540378e-04 -3.3105439342e-06
+1.6247177841e+00 3.0348621184e-04
+3.2485695428e+00 3.2185829936e-04
+4.8724213015e+00 2.4703909080e-04
+6.4962730601e+00 2.7676960432e-04
+8.1201248188e+00 1.3761376471e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.7985289548e-04
+-6.4945410093e+00 -3.2297361296e-04
+-4.8706892506e+00 -2.8142061707e-04
+-3.2468374920e+00 -3.8898194677e-04
+-1.6229857333e+00 -2.8158358068e-04
+8.6602540378e-04 -4.0996694620e-06
+1.6247177841e+00 2.8648924604e-04
+3.2485695428e+00 3.8866945957e-04
+4.8724213015e+00 2.8142968830e-04
+6.4962730601e+00 3.2308810756e-04
+8.1201248188e+00 7.0930633007e-04
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[0]_maximum.xg b/test/whisky_test_tov_ppm/vel[0]_maximum.xg
new file mode 100644
index 0000000..dd16ad8
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_maximum.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0186339668428
+0.7031484375000 0.0198228512520
+1.0547226562500 0.0193074470171
+1.4062968750000 0.0182982834106
+1.7578710937500 0.0179521707066
+2.1094453125000 0.0214311452117
+2.4610195312500 0.0248288599608
diff --git a/test/whisky_test_tov_ppm/vel[0]_minimum.xg b/test/whisky_test_tov_ppm/vel[0]_minimum.xg
new file mode 100644
index 0000000..122d005
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_minimum.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0186476888251
+0.7031484375000 -0.0198308666323
+1.0547226562500 -0.0193137473286
+1.4062968750000 -0.0183045101015
+1.7578710937500 -0.0179500536457
+2.1094453125000 -0.0214257288464
+2.4610195312500 -0.0248200207643
diff --git a/test/whisky_test_tov_ppm/vel[0]_norm1.xg b/test/whisky_test_tov_ppm/vel[0]_norm1.xg
new file mode 100644
index 0000000..04e4282
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_norm1.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000942238021
+0.7031484375000 0.0001459859661
+1.0547226562500 0.0001914373581
+1.4062968750000 0.0002348872910
+1.7578710937500 0.0002788537696
+2.1094453125000 0.0003227525640
+2.4610195312500 0.0003619777554
diff --git a/test/whisky_test_tov_ppm/vel[0]_norm2.xg b/test/whisky_test_tov_ppm/vel[0]_norm2.xg
new file mode 100644
index 0000000..b980732
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_norm2.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0007457193290
+0.7031484375000 0.0009581139532
+1.0547226562500 0.0011585622839
+1.4062968750000 0.0013835141079
+1.7578710937500 0.0016297774553
+2.1094453125000 0.0018900857982
+2.4610195312500 0.0021416592943
diff --git a/test/whisky_test_tov_ppm/vel[0]_x_[16][16].xg b/test/whisky_test_tov_ppm/vel[0]_x_[16][16].xg
new file mode 100644
index 0000000..eb17615
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6164532945e-03
+-8.4372812500e+00 -1.3814604815e-02
+-7.4997500000e+00 -3.6788374629e-05
+-6.5622187500e+00 -1.9856282889e-04
+-5.6246875000e+00 -1.1602558384e-04
+-4.6871562500e+00 -1.0644839100e-04
+-3.7496250000e+00 -9.3334221661e-05
+-2.8120937500e+00 -7.1857276254e-05
+-1.8745625000e+00 -5.0342051475e-05
+-9.3703125000e-01 -9.8079530306e-05
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 9.8740193764e-05
+1.8755625000e+00 5.0395538735e-05
+2.8130937500e+00 7.1882838767e-05
+3.7506250000e+00 9.3352203344e-05
+4.6881562500e+00 1.0645897171e-04
+5.6256875000e+00 1.1603843864e-04
+6.5632187500e+00 1.9876615711e-04
+7.5007500000e+00 3.5550542913e-05
+8.4382812500e+00 1.3766975924e-02
+9.3758125000e+00 -3.6161898553e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.1352317704e-03
+-8.4372812500e+00 -1.5448866478e-02
+-7.4997500000e+00 -7.7862244606e-05
+-6.5622187500e+00 -3.9098367876e-04
+-5.6246875000e+00 -2.2805583107e-04
+-4.6871562500e+00 -2.0712484745e-04
+-3.7496250000e+00 -1.8023445421e-04
+-2.8120937500e+00 -1.3675522480e-04
+-1.8745625000e+00 -1.0372674564e-04
+-9.3703125000e-01 -1.7559273306e-04
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 1.7683384095e-04
+1.8755625000e+00 1.0387707530e-04
+2.8130937500e+00 1.3680536565e-04
+3.7506250000e+00 1.8027063180e-04
+4.6881562500e+00 2.0714690152e-04
+5.6256875000e+00 2.2808587647e-04
+6.5632187500e+00 3.9135476829e-04
+7.5007500000e+00 7.5452403229e-05
+8.4382812500e+00 1.5400439616e-02
+9.3758125000e+00 -7.1353054491e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.0573199784e-02
+-8.4372812500e+00 -1.5049422966e-02
+-7.4997500000e+00 -1.2335161343e-04
+-6.5622187500e+00 -5.7704572372e-04
+-5.6246875000e+00 -3.3600484826e-04
+-4.6871562500e+00 -3.0196540039e-04
+-3.7496250000e+00 -2.6014080430e-04
+-2.8120937500e+00 -1.9415357974e-04
+-1.8745625000e+00 -1.5756061274e-04
+-9.3703125000e-01 -2.3317238846e-04
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 2.3491837391e-04
+1.8755625000e+00 1.5784257946e-04
+2.8130937500e+00 1.9422998556e-04
+3.7506250000e+00 2.6019597060e-04
+4.6881562500e+00 3.0200023260e-04
+5.6256875000e+00 3.3605507786e-04
+6.5632187500e+00 5.7755205130e-04
+7.5007500000e+00 1.1983645904e-04
+8.4382812500e+00 1.5001528886e-02
+9.3758125000e+00 -1.0573931317e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.3934044457e-02
+-8.4372812500e+00 -1.3958284295e-02
+-7.4997500000e+00 -1.7368938526e-04
+-6.5622187500e+00 -7.5657660314e-04
+-5.6246875000e+00 -4.3969467717e-04
+-4.6871562500e+00 -3.9085769268e-04
+-3.7496250000e+00 -3.3259996233e-04
+-2.8120937500e+00 -2.4362633421e-04
+-1.8745625000e+00 -2.1132653867e-04
+-9.3703125000e-01 -2.6991475188e-04
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 2.7254622251e-04
+1.8755625000e+00 2.1141313345e-04
+2.8130937500e+00 2.4372944133e-04
+3.7506250000e+00 3.3267554601e-04
+4.6881562500e+00 3.9090685537e-04
+5.6256875000e+00 4.3976692399e-04
+6.5632187500e+00 7.5718918764e-04
+7.5007500000e+00 1.6913282258e-04
+8.4382812500e+00 1.3910696282e-02
+9.3758125000e+00 -1.3935809943e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.7221958726e-02
+-8.4372812500e+00 -1.2561329190e-02
+-7.4997500000e+00 -2.2925846614e-04
+-6.5622187500e+00 -9.2951383310e-04
+-5.6246875000e+00 -5.3882300061e-04
+-4.6871562500e+00 -4.7363951811e-04
+-3.7496250000e+00 -3.9711099718e-04
+-2.8120937500e+00 -2.8487360952e-04
+-1.8745625000e+00 -2.6719931755e-04
+-9.3703125000e-01 -2.8194904316e-04
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 2.8535833404e-04
+1.8755625000e+00 2.6714806757e-04
+2.8130937500e+00 2.8500153754e-04
+3.7506250000e+00 3.9721364086e-04
+4.6881562500e+00 4.7370524016e-04
+5.6256875000e+00 5.3891783285e-04
+6.5632187500e+00 9.3020669475e-04
+7.5007500000e+00 2.2371904892e-04
+8.4382812500e+00 1.2513766139e-02
+9.3758125000e+00 -1.7225109209e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.0440103410e-02
+-8.4372812500e+00 -1.1011254181e-02
+-7.4997500000e+00 -2.9017369248e-04
+-6.5622187500e+00 -1.0959355690e-03
+-5.6246875000e+00 -6.3302255365e-04
+-4.6871562500e+00 -5.5000282626e-04
+-3.7496250000e+00 -4.5202549013e-04
+-2.8120937500e+00 -3.1874999416e-04
+-1.8745625000e+00 -3.2419023004e-04
+-9.3703125000e-01 -2.7152370739e-04
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 2.7553845938e-04
+1.8755625000e+00 3.2387994551e-04
+2.8130937500e+00 3.1888382172e-04
+3.7506250000e+00 4.5218423676e-04
+4.6881562500e+00 5.5008955963e-04
+5.6256875000e+00 6.3313851511e-04
+6.5632187500e+00 1.0966830008e-03
+7.5007500000e+00 2.8370896549e-04
+8.4382812500e+00 1.0963496361e-02
+9.3758125000e+00 -2.0444951342e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.3579935705e-02
+-8.4372812500e+00 -9.3800918337e-03
+-7.4997500000e+00 -3.5638002494e-04
+-6.5622187500e+00 -1.2559639511e-03
+-5.6246875000e+00 -7.2192316088e-04
+-4.6871562500e+00 -6.2002117608e-04
+-3.7496250000e+00 -4.9897644010e-04
+-2.8120937500e+00 -3.4543990478e-04
+-1.8745625000e+00 -3.8144065546e-04
+-9.3703125000e-01 -2.4227786399e-04
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 2.4719935092e-04
+1.8755625000e+00 3.8106209201e-04
+2.8130937500e+00 3.4558197938e-04
+3.7506250000e+00 4.9914772820e-04
+4.6881562500e+00 6.2013198059e-04
+5.6256875000e+00 7.2205598109e-04
+6.5632187500e+00 1.2567394396e-03
+7.5007500000e+00 3.4904729558e-04
+8.4382812500e+00 9.3319523477e-03
+9.3758125000e+00 -2.3586302894e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[0]_y_[16][16].xg b/test/whisky_test_tov_ppm/vel[0]_y_[16][16].xg
new file mode 100644
index 0000000..d15ddae
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214982e-07
+-9.3703125000e-01 -5.8244430802e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294653e-07
+1.8755625000e+00 -5.5396902892e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646249e-07
+-2.8120937500e+00 -9.9484437006e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655433e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036191e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082572e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038471e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901457e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[0]_z_[16][16].xg b/test/whisky_test_tov_ppm/vel[0]_z_[16][16].xg
new file mode 100644
index 0000000..09d4943
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[0]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701292e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294652e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437005e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602222e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423483e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655434e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082571e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038470e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[1]_3D_diagonal.xg b/test/whisky_test_tov_ppm/vel[1]_3D_diagonal.xg
new file mode 100644
index 0000000..007198c
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.0713364412e-03
+-6.4945410093e+00 -4.4208277970e-05
+-4.8706892506e+00 -4.4848974129e-05
+-3.2468374920e+00 -4.1707061722e-05
+-1.6229857333e+00 -9.5524891401e-05
+8.6602540378e-04 -5.9239751627e-07
+1.6247177841e+00 9.6157059873e-05
+3.2485695428e+00 4.1740593194e-05
+4.8724213015e+00 4.4850423276e-05
+6.4962730601e+00 4.4214766948e-05
+8.1201248188e+00 2.7627451218e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.4665644010e-03
+-6.4945410093e+00 -8.9728415542e-05
+-4.8706892506e+00 -8.8664627377e-05
+-3.2468374920e+00 -8.9263645260e-05
+-1.6229857333e+00 -1.7421882391e-04
+8.6602540378e-04 -1.1533340643e-06
+1.6247177841e+00 1.7541624218e-04
+3.2485695428e+00 8.9368136884e-05
+4.8724213015e+00 8.8667931597e-05
+6.4962730601e+00 8.9755363379e-05
+8.1201248188e+00 3.1748518759e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.3444218024e-03
+-6.4945410093e+00 -1.3629901227e-04
+-4.8706892506e+00 -1.3108181164e-04
+-3.2468374920e+00 -1.4056321003e-04
+-1.6229857333e+00 -2.3624306962e-04
+8.6602540378e-04 -1.6854649791e-06
+1.6247177841e+00 2.3794335293e-04
+3.2485695428e+00 1.4077081835e-04
+4.8724213015e+00 1.3108920797e-04
+6.4962730601e+00 1.3635292899e-04
+8.1201248188e+00 2.9976879197e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.9519596476e-03
+-6.4945410093e+00 -1.8337441732e-04
+-4.8706892506e+00 -1.7173758240e-04
+-3.2468374920e+00 -1.9669476220e-04
+-1.6229857333e+00 -2.7915838053e-04
+8.6602540378e-04 -2.3363830717e-06
+1.6247177841e+00 2.8173579964e-04
+3.2485695428e+00 1.9673085932e-04
+4.8724213015e+00 1.7175114503e-04
+6.4962730601e+00 1.8345347657e-04
+8.1201248188e+00 2.5907538679e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4157258481e-03
+-6.4945410093e+00 -2.3034940284e-04
+-4.8706892506e+00 -2.1038051998e-04
+-3.2468374920e+00 -2.5747800556e-04
+-1.6229857333e+00 -2.9945189640e-04
+8.6602540378e-04 -2.9439587382e-06
+1.6247177841e+00 3.0280886479e-04
+3.2485695428e+00 2.5739482658e-04
+4.8724213015e+00 2.1039942405e-04
+6.4962730601e+00 2.3045181483e-04
+8.1201248188e+00 2.0220011305e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -8.0992808259e-04
+-6.4945410093e+00 -2.7664790132e-04
+-4.8706892506e+00 -2.4702104430e-04
+-3.2468374920e+00 -3.2212184277e-04
+-1.6229857333e+00 -2.9949696008e-04
+8.6602540378e-04 -3.3105439342e-06
+1.6247177841e+00 3.0348621184e-04
+3.2485695428e+00 3.2185829936e-04
+4.8724213015e+00 2.4703909080e-04
+6.4962730601e+00 2.7676960432e-04
+8.1201248188e+00 1.3761376471e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.7985289548e-04
+-6.4945410093e+00 -3.2297361296e-04
+-4.8706892506e+00 -2.8142061707e-04
+-3.2468374920e+00 -3.8898194677e-04
+-1.6229857333e+00 -2.8158358068e-04
+8.6602540378e-04 -4.0996694620e-06
+1.6247177841e+00 2.8648924604e-04
+3.2485695428e+00 3.8866945957e-04
+4.8724213015e+00 2.8142968830e-04
+6.4962730601e+00 3.2308810756e-04
+8.1201248188e+00 7.0930633007e-04
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[1]_maximum.xg b/test/whisky_test_tov_ppm/vel[1]_maximum.xg
new file mode 100644
index 0000000..c6312ca
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_maximum.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0186339668428
+0.7031484375000 0.0198228512520
+1.0547226562500 0.0193074470171
+1.4062968750000 0.0182982834106
+1.7578710937500 0.0179521707066
+2.1094453125000 0.0214311452117
+2.4610195312500 0.0248288599608
diff --git a/test/whisky_test_tov_ppm/vel[1]_minimum.xg b/test/whisky_test_tov_ppm/vel[1]_minimum.xg
new file mode 100644
index 0000000..084f474
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_minimum.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0186476888251
+0.7031484375000 -0.0198308666323
+1.0547226562500 -0.0193137473286
+1.4062968750000 -0.0183045101015
+1.7578710937500 -0.0179500536457
+2.1094453125000 -0.0214257288464
+2.4610195312500 -0.0248200207643
diff --git a/test/whisky_test_tov_ppm/vel[1]_norm1.xg b/test/whisky_test_tov_ppm/vel[1]_norm1.xg
new file mode 100644
index 0000000..a8e9c0a
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_norm1.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000942238021
+0.7031484375000 0.0001459859661
+1.0547226562500 0.0001914373581
+1.4062968750000 0.0002348872910
+1.7578710937500 0.0002788537696
+2.1094453125000 0.0003227525640
+2.4610195312500 0.0003619777554
diff --git a/test/whisky_test_tov_ppm/vel[1]_norm2.xg b/test/whisky_test_tov_ppm/vel[1]_norm2.xg
new file mode 100644
index 0000000..3679133
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_norm2.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0007457193290
+0.7031484375000 0.0009581139532
+1.0547226562500 0.0011585622839
+1.4062968750000 0.0013835141079
+1.7578710937500 0.0016297774553
+2.1094453125000 0.0018900857982
+2.4610195312500 0.0021416592943
diff --git a/test/whisky_test_tov_ppm/vel[1]_x_[16][16].xg b/test/whisky_test_tov_ppm/vel[1]_x_[16][16].xg
new file mode 100644
index 0000000..2435cce
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430802e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294653e-07
+1.8755625000e+00 -5.5396902892e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910062e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388704e-07
+-4.6871562500e+00 -7.7417963142e-07
+-3.7496250000e+00 -8.9022646249e-07
+-2.8120937500e+00 -9.9484437006e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655434e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082571e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038470e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[1]_y_[16][16].xg b/test/whisky_test_tov_ppm/vel[1]_y_[16][16].xg
new file mode 100644
index 0000000..eb17615
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6164532945e-03
+-8.4372812500e+00 -1.3814604815e-02
+-7.4997500000e+00 -3.6788374629e-05
+-6.5622187500e+00 -1.9856282889e-04
+-5.6246875000e+00 -1.1602558384e-04
+-4.6871562500e+00 -1.0644839100e-04
+-3.7496250000e+00 -9.3334221661e-05
+-2.8120937500e+00 -7.1857276254e-05
+-1.8745625000e+00 -5.0342051475e-05
+-9.3703125000e-01 -9.8079530306e-05
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 9.8740193764e-05
+1.8755625000e+00 5.0395538735e-05
+2.8130937500e+00 7.1882838767e-05
+3.7506250000e+00 9.3352203344e-05
+4.6881562500e+00 1.0645897171e-04
+5.6256875000e+00 1.1603843864e-04
+6.5632187500e+00 1.9876615711e-04
+7.5007500000e+00 3.5550542913e-05
+8.4382812500e+00 1.3766975924e-02
+9.3758125000e+00 -3.6161898553e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.1352317704e-03
+-8.4372812500e+00 -1.5448866478e-02
+-7.4997500000e+00 -7.7862244606e-05
+-6.5622187500e+00 -3.9098367876e-04
+-5.6246875000e+00 -2.2805583107e-04
+-4.6871562500e+00 -2.0712484745e-04
+-3.7496250000e+00 -1.8023445421e-04
+-2.8120937500e+00 -1.3675522480e-04
+-1.8745625000e+00 -1.0372674564e-04
+-9.3703125000e-01 -1.7559273306e-04
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 1.7683384095e-04
+1.8755625000e+00 1.0387707530e-04
+2.8130937500e+00 1.3680536565e-04
+3.7506250000e+00 1.8027063180e-04
+4.6881562500e+00 2.0714690152e-04
+5.6256875000e+00 2.2808587647e-04
+6.5632187500e+00 3.9135476829e-04
+7.5007500000e+00 7.5452403229e-05
+8.4382812500e+00 1.5400439616e-02
+9.3758125000e+00 -7.1353054491e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.0573199784e-02
+-8.4372812500e+00 -1.5049422966e-02
+-7.4997500000e+00 -1.2335161343e-04
+-6.5622187500e+00 -5.7704572372e-04
+-5.6246875000e+00 -3.3600484826e-04
+-4.6871562500e+00 -3.0196540039e-04
+-3.7496250000e+00 -2.6014080430e-04
+-2.8120937500e+00 -1.9415357974e-04
+-1.8745625000e+00 -1.5756061274e-04
+-9.3703125000e-01 -2.3317238846e-04
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 2.3491837391e-04
+1.8755625000e+00 1.5784257946e-04
+2.8130937500e+00 1.9422998556e-04
+3.7506250000e+00 2.6019597060e-04
+4.6881562500e+00 3.0200023260e-04
+5.6256875000e+00 3.3605507786e-04
+6.5632187500e+00 5.7755205130e-04
+7.5007500000e+00 1.1983645904e-04
+8.4382812500e+00 1.5001528886e-02
+9.3758125000e+00 -1.0573931317e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.3934044457e-02
+-8.4372812500e+00 -1.3958284295e-02
+-7.4997500000e+00 -1.7368938526e-04
+-6.5622187500e+00 -7.5657660314e-04
+-5.6246875000e+00 -4.3969467717e-04
+-4.6871562500e+00 -3.9085769268e-04
+-3.7496250000e+00 -3.3259996233e-04
+-2.8120937500e+00 -2.4362633421e-04
+-1.8745625000e+00 -2.1132653867e-04
+-9.3703125000e-01 -2.6991475188e-04
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 2.7254622251e-04
+1.8755625000e+00 2.1141313345e-04
+2.8130937500e+00 2.4372944133e-04
+3.7506250000e+00 3.3267554601e-04
+4.6881562500e+00 3.9090685537e-04
+5.6256875000e+00 4.3976692399e-04
+6.5632187500e+00 7.5718918764e-04
+7.5007500000e+00 1.6913282258e-04
+8.4382812500e+00 1.3910696282e-02
+9.3758125000e+00 -1.3935809943e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.7221958726e-02
+-8.4372812500e+00 -1.2561329190e-02
+-7.4997500000e+00 -2.2925846614e-04
+-6.5622187500e+00 -9.2951383310e-04
+-5.6246875000e+00 -5.3882300061e-04
+-4.6871562500e+00 -4.7363951811e-04
+-3.7496250000e+00 -3.9711099718e-04
+-2.8120937500e+00 -2.8487360952e-04
+-1.8745625000e+00 -2.6719931755e-04
+-9.3703125000e-01 -2.8194904316e-04
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 2.8535833404e-04
+1.8755625000e+00 2.6714806757e-04
+2.8130937500e+00 2.8500153754e-04
+3.7506250000e+00 3.9721364086e-04
+4.6881562500e+00 4.7370524016e-04
+5.6256875000e+00 5.3891783285e-04
+6.5632187500e+00 9.3020669475e-04
+7.5007500000e+00 2.2371904892e-04
+8.4382812500e+00 1.2513766139e-02
+9.3758125000e+00 -1.7225109209e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.0440103410e-02
+-8.4372812500e+00 -1.1011254181e-02
+-7.4997500000e+00 -2.9017369248e-04
+-6.5622187500e+00 -1.0959355690e-03
+-5.6246875000e+00 -6.3302255365e-04
+-4.6871562500e+00 -5.5000282626e-04
+-3.7496250000e+00 -4.5202549013e-04
+-2.8120937500e+00 -3.1874999416e-04
+-1.8745625000e+00 -3.2419023004e-04
+-9.3703125000e-01 -2.7152370739e-04
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 2.7553845938e-04
+1.8755625000e+00 3.2387994551e-04
+2.8130937500e+00 3.1888382172e-04
+3.7506250000e+00 4.5218423676e-04
+4.6881562500e+00 5.5008955963e-04
+5.6256875000e+00 6.3313851511e-04
+6.5632187500e+00 1.0966830008e-03
+7.5007500000e+00 2.8370896549e-04
+8.4382812500e+00 1.0963496361e-02
+9.3758125000e+00 -2.0444951342e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.3579935705e-02
+-8.4372812500e+00 -9.3800918337e-03
+-7.4997500000e+00 -3.5638002494e-04
+-6.5622187500e+00 -1.2559639511e-03
+-5.6246875000e+00 -7.2192316088e-04
+-4.6871562500e+00 -6.2002117608e-04
+-3.7496250000e+00 -4.9897644010e-04
+-2.8120937500e+00 -3.4543990478e-04
+-1.8745625000e+00 -3.8144065546e-04
+-9.3703125000e-01 -2.4227786399e-04
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 2.4719935092e-04
+1.8755625000e+00 3.8106209201e-04
+2.8130937500e+00 3.4558197938e-04
+3.7506250000e+00 4.9914772820e-04
+4.6881562500e+00 6.2013198059e-04
+5.6256875000e+00 7.2205598109e-04
+6.5632187500e+00 1.2567394396e-03
+7.5007500000e+00 3.4904729558e-04
+8.4382812500e+00 9.3319523477e-03
+9.3758125000e+00 -2.3586302894e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[1]_z_[16][16].xg b/test/whisky_test_tov_ppm/vel[1]_z_[16][16].xg
new file mode 100644
index 0000000..8ba9afa
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[1]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701292e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294652e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572604e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437006e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602222e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057617e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423483e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275034e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764702e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876073e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655434e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082572e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038470e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923662e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901457e-06
+-9.3703125000e-01 -4.0398384893e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[2]_3D_diagonal.xg b/test/whisky_test_tov_ppm/vel[2]_3D_diagonal.xg
new file mode 100644
index 0000000..007198c
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.0713364412e-03
+-6.4945410093e+00 -4.4208277970e-05
+-4.8706892506e+00 -4.4848974129e-05
+-3.2468374920e+00 -4.1707061722e-05
+-1.6229857333e+00 -9.5524891401e-05
+8.6602540378e-04 -5.9239751627e-07
+1.6247177841e+00 9.6157059873e-05
+3.2485695428e+00 4.1740593194e-05
+4.8724213015e+00 4.4850423276e-05
+6.4962730601e+00 4.4214766948e-05
+8.1201248188e+00 2.7627451218e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.4665644010e-03
+-6.4945410093e+00 -8.9728415542e-05
+-4.8706892506e+00 -8.8664627377e-05
+-3.2468374920e+00 -8.9263645260e-05
+-1.6229857333e+00 -1.7421882391e-04
+8.6602540378e-04 -1.1533340643e-06
+1.6247177841e+00 1.7541624218e-04
+3.2485695428e+00 8.9368136884e-05
+4.8724213015e+00 8.8667931597e-05
+6.4962730601e+00 8.9755363379e-05
+8.1201248188e+00 3.1748518759e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.3444218024e-03
+-6.4945410093e+00 -1.3629901227e-04
+-4.8706892506e+00 -1.3108181164e-04
+-3.2468374920e+00 -1.4056321003e-04
+-1.6229857333e+00 -2.3624306962e-04
+8.6602540378e-04 -1.6854649791e-06
+1.6247177841e+00 2.3794335293e-04
+3.2485695428e+00 1.4077081835e-04
+4.8724213015e+00 1.3108920797e-04
+6.4962730601e+00 1.3635292899e-04
+8.1201248188e+00 2.9976879197e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.9519596476e-03
+-6.4945410093e+00 -1.8337441732e-04
+-4.8706892506e+00 -1.7173758240e-04
+-3.2468374920e+00 -1.9669476220e-04
+-1.6229857333e+00 -2.7915838053e-04
+8.6602540378e-04 -2.3363830717e-06
+1.6247177841e+00 2.8173579964e-04
+3.2485695428e+00 1.9673085932e-04
+4.8724213015e+00 1.7175114503e-04
+6.4962730601e+00 1.8345347657e-04
+8.1201248188e+00 2.5907538679e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4157258481e-03
+-6.4945410093e+00 -2.3034940284e-04
+-4.8706892506e+00 -2.1038051998e-04
+-3.2468374920e+00 -2.5747800556e-04
+-1.6229857333e+00 -2.9945189640e-04
+8.6602540378e-04 -2.9439587382e-06
+1.6247177841e+00 3.0280886479e-04
+3.2485695428e+00 2.5739482658e-04
+4.8724213015e+00 2.1039942405e-04
+6.4962730601e+00 2.3045181483e-04
+8.1201248188e+00 2.0220011305e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -8.0992808259e-04
+-6.4945410093e+00 -2.7664790132e-04
+-4.8706892506e+00 -2.4702104430e-04
+-3.2468374920e+00 -3.2212184277e-04
+-1.6229857333e+00 -2.9949696008e-04
+8.6602540378e-04 -3.3105439342e-06
+1.6247177841e+00 3.0348621184e-04
+3.2485695428e+00 3.2185829936e-04
+4.8724213015e+00 2.4703909080e-04
+6.4962730601e+00 2.7676960432e-04
+8.1201248188e+00 1.3761376471e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.7985289548e-04
+-6.4945410093e+00 -3.2297361296e-04
+-4.8706892506e+00 -2.8142061707e-04
+-3.2468374920e+00 -3.8898194677e-04
+-1.6229857333e+00 -2.8158358068e-04
+8.6602540378e-04 -4.0996694620e-06
+1.6247177841e+00 2.8648924604e-04
+3.2485695428e+00 3.8866945957e-04
+4.8724213015e+00 2.8142968830e-04
+6.4962730601e+00 3.2308810756e-04
+8.1201248188e+00 7.0930633007e-04
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[2]_maximum.xg b/test/whisky_test_tov_ppm/vel[2]_maximum.xg
new file mode 100644
index 0000000..f684776
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_maximum.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0186339668428
+0.7031484375000 0.0198228512520
+1.0547226562500 0.0193074470171
+1.4062968750000 0.0182982834106
+1.7578710937500 0.0179521707066
+2.1094453125000 0.0214311452117
+2.4610195312500 0.0248288599608
diff --git a/test/whisky_test_tov_ppm/vel[2]_minimum.xg b/test/whisky_test_tov_ppm/vel[2]_minimum.xg
new file mode 100644
index 0000000..ce3012f
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_minimum.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0186476888251
+0.7031484375000 -0.0198308666323
+1.0547226562500 -0.0193137473286
+1.4062968750000 -0.0183045101015
+1.7578710937500 -0.0179500536457
+2.1094453125000 -0.0214257288464
+2.4610195312500 -0.0248200207643
diff --git a/test/whisky_test_tov_ppm/vel[2]_norm1.xg b/test/whisky_test_tov_ppm/vel[2]_norm1.xg
new file mode 100644
index 0000000..b050490
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_norm1.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000942238021
+0.7031484375000 0.0001459859661
+1.0547226562500 0.0001914373581
+1.4062968750000 0.0002348872910
+1.7578710937500 0.0002788537696
+2.1094453125000 0.0003227525640
+2.4610195312500 0.0003619777554
diff --git a/test/whisky_test_tov_ppm/vel[2]_norm2.xg b/test/whisky_test_tov_ppm/vel[2]_norm2.xg
new file mode 100644
index 0000000..066c9ef
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_norm2.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0007457193290
+0.7031484375000 0.0009581139532
+1.0547226562500 0.0011585622839
+1.4062968750000 0.0013835141079
+1.7578710937500 0.0016297774553
+2.1094453125000 0.0018900857982
+2.4610195312500 0.0021416592943
diff --git a/test/whisky_test_tov_ppm/vel[2]_x_[16][16].xg b/test/whisky_test_tov_ppm/vel[2]_x_[16][16].xg
new file mode 100644
index 0000000..1edd99f
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264386e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214982e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294652e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437005e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876073e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655433e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082572e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038471e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257605e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384893e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[2]_y_[16][16].xg b/test/whisky_test_tov_ppm/vel[2]_y_[16][16].xg
new file mode 100644
index 0000000..7b37693
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294653e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388704e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437005e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655433e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082571e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038471e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/vel[2]_z_[16][16].xg b/test/whisky_test_tov_ppm/vel[2]_z_[16][16].xg
new file mode 100644
index 0000000..eb17615
--- /dev/null
+++ b/test/whisky_test_tov_ppm/vel[2]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6164532945e-03
+-8.4372812500e+00 -1.3814604815e-02
+-7.4997500000e+00 -3.6788374629e-05
+-6.5622187500e+00 -1.9856282889e-04
+-5.6246875000e+00 -1.1602558384e-04
+-4.6871562500e+00 -1.0644839100e-04
+-3.7496250000e+00 -9.3334221661e-05
+-2.8120937500e+00 -7.1857276254e-05
+-1.8745625000e+00 -5.0342051475e-05
+-9.3703125000e-01 -9.8079530306e-05
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 9.8740193764e-05
+1.8755625000e+00 5.0395538735e-05
+2.8130937500e+00 7.1882838767e-05
+3.7506250000e+00 9.3352203344e-05
+4.6881562500e+00 1.0645897171e-04
+5.6256875000e+00 1.1603843864e-04
+6.5632187500e+00 1.9876615711e-04
+7.5007500000e+00 3.5550542913e-05
+8.4382812500e+00 1.3766975924e-02
+9.3758125000e+00 -3.6161898553e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.1352317704e-03
+-8.4372812500e+00 -1.5448866478e-02
+-7.4997500000e+00 -7.7862244606e-05
+-6.5622187500e+00 -3.9098367876e-04
+-5.6246875000e+00 -2.2805583107e-04
+-4.6871562500e+00 -2.0712484745e-04
+-3.7496250000e+00 -1.8023445421e-04
+-2.8120937500e+00 -1.3675522480e-04
+-1.8745625000e+00 -1.0372674564e-04
+-9.3703125000e-01 -1.7559273306e-04
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 1.7683384095e-04
+1.8755625000e+00 1.0387707530e-04
+2.8130937500e+00 1.3680536565e-04
+3.7506250000e+00 1.8027063180e-04
+4.6881562500e+00 2.0714690152e-04
+5.6256875000e+00 2.2808587647e-04
+6.5632187500e+00 3.9135476829e-04
+7.5007500000e+00 7.5452403229e-05
+8.4382812500e+00 1.5400439616e-02
+9.3758125000e+00 -7.1353054491e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.0573199784e-02
+-8.4372812500e+00 -1.5049422966e-02
+-7.4997500000e+00 -1.2335161343e-04
+-6.5622187500e+00 -5.7704572372e-04
+-5.6246875000e+00 -3.3600484826e-04
+-4.6871562500e+00 -3.0196540039e-04
+-3.7496250000e+00 -2.6014080430e-04
+-2.8120937500e+00 -1.9415357974e-04
+-1.8745625000e+00 -1.5756061274e-04
+-9.3703125000e-01 -2.3317238846e-04
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 2.3491837391e-04
+1.8755625000e+00 1.5784257946e-04
+2.8130937500e+00 1.9422998556e-04
+3.7506250000e+00 2.6019597060e-04
+4.6881562500e+00 3.0200023260e-04
+5.6256875000e+00 3.3605507786e-04
+6.5632187500e+00 5.7755205130e-04
+7.5007500000e+00 1.1983645904e-04
+8.4382812500e+00 1.5001528886e-02
+9.3758125000e+00 -1.0573931317e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.3934044457e-02
+-8.4372812500e+00 -1.3958284295e-02
+-7.4997500000e+00 -1.7368938526e-04
+-6.5622187500e+00 -7.5657660314e-04
+-5.6246875000e+00 -4.3969467717e-04
+-4.6871562500e+00 -3.9085769268e-04
+-3.7496250000e+00 -3.3259996233e-04
+-2.8120937500e+00 -2.4362633421e-04
+-1.8745625000e+00 -2.1132653867e-04
+-9.3703125000e-01 -2.6991475188e-04
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 2.7254622251e-04
+1.8755625000e+00 2.1141313345e-04
+2.8130937500e+00 2.4372944133e-04
+3.7506250000e+00 3.3267554601e-04
+4.6881562500e+00 3.9090685537e-04
+5.6256875000e+00 4.3976692399e-04
+6.5632187500e+00 7.5718918764e-04
+7.5007500000e+00 1.6913282258e-04
+8.4382812500e+00 1.3910696282e-02
+9.3758125000e+00 -1.3935809943e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.7221958726e-02
+-8.4372812500e+00 -1.2561329190e-02
+-7.4997500000e+00 -2.2925846614e-04
+-6.5622187500e+00 -9.2951383310e-04
+-5.6246875000e+00 -5.3882300061e-04
+-4.6871562500e+00 -4.7363951811e-04
+-3.7496250000e+00 -3.9711099718e-04
+-2.8120937500e+00 -2.8487360952e-04
+-1.8745625000e+00 -2.6719931755e-04
+-9.3703125000e-01 -2.8194904316e-04
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 2.8535833404e-04
+1.8755625000e+00 2.6714806757e-04
+2.8130937500e+00 2.8500153754e-04
+3.7506250000e+00 3.9721364086e-04
+4.6881562500e+00 4.7370524016e-04
+5.6256875000e+00 5.3891783285e-04
+6.5632187500e+00 9.3020669475e-04
+7.5007500000e+00 2.2371904892e-04
+8.4382812500e+00 1.2513766139e-02
+9.3758125000e+00 -1.7225109209e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.0440103410e-02
+-8.4372812500e+00 -1.1011254181e-02
+-7.4997500000e+00 -2.9017369248e-04
+-6.5622187500e+00 -1.0959355690e-03
+-5.6246875000e+00 -6.3302255365e-04
+-4.6871562500e+00 -5.5000282626e-04
+-3.7496250000e+00 -4.5202549013e-04
+-2.8120937500e+00 -3.1874999416e-04
+-1.8745625000e+00 -3.2419023004e-04
+-9.3703125000e-01 -2.7152370739e-04
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 2.7553845938e-04
+1.8755625000e+00 3.2387994551e-04
+2.8130937500e+00 3.1888382172e-04
+3.7506250000e+00 4.5218423676e-04
+4.6881562500e+00 5.5008955963e-04
+5.6256875000e+00 6.3313851511e-04
+6.5632187500e+00 1.0966830008e-03
+7.5007500000e+00 2.8370896549e-04
+8.4382812500e+00 1.0963496361e-02
+9.3758125000e+00 -2.0444951342e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.3579935705e-02
+-8.4372812500e+00 -9.3800918337e-03
+-7.4997500000e+00 -3.5638002494e-04
+-6.5622187500e+00 -1.2559639511e-03
+-5.6246875000e+00 -7.2192316088e-04
+-4.6871562500e+00 -6.2002117608e-04
+-3.7496250000e+00 -4.9897644010e-04
+-2.8120937500e+00 -3.4543990478e-04
+-1.8745625000e+00 -3.8144065546e-04
+-9.3703125000e-01 -2.4227786399e-04
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 2.4719935092e-04
+1.8755625000e+00 3.8106209201e-04
+2.8130937500e+00 3.4558197938e-04
+3.7506250000e+00 4.9914772820e-04
+4.6881562500e+00 6.2013198059e-04
+5.6256875000e+00 7.2205598109e-04
+6.5632187500e+00 1.2567394396e-03
+7.5007500000e+00 3.4904729558e-04
+8.4382812500e+00 9.3319523477e-03
+9.3758125000e+00 -2.3586302894e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/w_lorentz_3D_diagonal.xg b/test/whisky_test_tov_ppm/w_lorentz_3D_diagonal.xg
new file mode 100644
index 0000000..ada0204
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000000000e+00
+-6.4945410093e+00 1.0000000000e+00
+-4.8706892506e+00 1.0000000000e+00
+-3.2468374920e+00 1.0000000000e+00
+-1.6229857333e+00 1.0000000000e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000000000e+00
+3.2485695428e+00 1.0000000000e+00
+4.8724213015e+00 1.0000000000e+00
+6.4962730601e+00 1.0000000000e+00
+8.1201248188e+00 1.0000000000e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000089597e+00
+-6.4945410093e+00 1.0000000044e+00
+-4.8706892506e+00 1.0000000050e+00
+-3.2468374920e+00 1.0000000047e+00
+-1.6229857333e+00 1.0000000270e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000000273e+00
+3.2485695428e+00 1.0000000048e+00
+4.8724213015e+00 1.0000000050e+00
+6.4962730601e+00 1.0000000044e+00
+8.1201248188e+00 1.0000159386e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000127053e+00
+-6.4945410093e+00 1.0000000181e+00
+-4.8706892506e+00 1.0000000194e+00
+-3.2468374920e+00 1.0000000217e+00
+-1.6229857333e+00 1.0000000897e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000000909e+00
+3.2485695428e+00 1.0000000218e+00
+4.8724213015e+00 1.0000000194e+00
+6.4962730601e+00 1.0000000181e+00
+8.1201248188e+00 1.0000210485e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000114782e+00
+-6.4945410093e+00 1.0000000418e+00
+-4.8706892506e+00 1.0000000425e+00
+-3.2468374920e+00 1.0000000539e+00
+-1.6229857333e+00 1.0000001649e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000001673e+00
+3.2485695428e+00 1.0000000541e+00
+4.8724213015e+00 1.0000000425e+00
+6.4962730601e+00 1.0000000419e+00
+8.1201248188e+00 1.0000187650e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000079569e+00
+-6.4945410093e+00 1.0000000757e+00
+-4.8706892506e+00 1.0000000729e+00
+-3.2468374920e+00 1.0000001056e+00
+-1.6229857333e+00 1.0000002302e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000002345e+00
+3.2485695428e+00 1.0000001056e+00
+4.8724213015e+00 1.0000000729e+00
+6.4962730601e+00 1.0000000758e+00
+8.1201248188e+00 1.0000140161e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000041856e+00
+-6.4945410093e+00 1.0000001195e+00
+-4.8706892506e+00 1.0000001094e+00
+-3.2468374920e+00 1.0000001809e+00
+-1.6229857333e+00 1.0000002649e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000002709e+00
+3.2485695428e+00 1.0000001808e+00
+4.8724213015e+00 1.0000001094e+00
+6.4962730601e+00 1.0000001195e+00
+8.1201248188e+00 1.0000085376e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000013699e+00
+-6.4945410093e+00 1.0000001723e+00
+-4.8706892506e+00 1.0000001509e+00
+-3.2468374920e+00 1.0000002832e+00
+-1.6229857333e+00 1.0000002650e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000002721e+00
+3.2485695428e+00 1.0000002827e+00
+4.8724213015e+00 1.0000001509e+00
+6.4962730601e+00 1.0000001724e+00
+8.1201248188e+00 1.0000039546e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000000676e+00
+-6.4945410093e+00 1.0000002348e+00
+-4.8706892506e+00 1.0000001958e+00
+-3.2468374920e+00 1.0000004129e+00
+-1.6229857333e+00 1.0000002342e+00
+8.6602540378e-04 1.0000000001e+00
+1.6247177841e+00 1.0000002424e+00
+3.2485695428e+00 1.0000004122e+00
+4.8724213015e+00 1.0000001958e+00
+6.4962730601e+00 1.0000002350e+00
+8.1201248188e+00 1.0000010506e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/w_lorentz_maximum.xg b/test/whisky_test_tov_ppm/w_lorentz_maximum.xg
new file mode 100644
index 0000000..aa6c578
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_maximum.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0002413300135
+0.7031484375000 1.0002733528576
+1.0547226562500 1.0002604562518
+1.4062968750000 1.0002359863452
+1.7578710937500 1.0002518646796
+2.1094453125000 1.0003593675089
+2.4610195312500 1.0004831364645
diff --git a/test/whisky_test_tov_ppm/w_lorentz_minimum.xg b/test/whisky_test_tov_ppm/w_lorentz_minimum.xg
new file mode 100644
index 0000000..6874066
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_minimum.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0000000000000
+0.7031484375000 1.0000000000000
+1.0547226562500 1.0000000000000
+1.4062968750000 1.0000000000000
+1.7578710937500 1.0000000000000
+2.1094453125000 1.0000000000000
+2.4610195312500 1.0000000000000
diff --git a/test/whisky_test_tov_ppm/w_lorentz_norm1.xg b/test/whisky_test_tov_ppm/w_lorentz_norm1.xg
new file mode 100644
index 0000000..ecffc59
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_norm1.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0000011495530
+0.7031484375000 1.0000018879833
+1.0547226562500 1.0000027478813
+1.4062968750000 1.0000039059241
+1.7578710937500 1.0000054096223
+2.1094453125000 1.0000072678472
+2.4610195312500 1.0000093291974
diff --git a/test/whisky_test_tov_ppm/w_lorentz_norm2.xg b/test/whisky_test_tov_ppm/w_lorentz_norm2.xg
new file mode 100644
index 0000000..5a34bba
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_norm2.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0000011496168
+0.7031484375000 1.0000018880800
+1.0547226562500 1.0000027480188
+1.4062968750000 1.0000039061774
+1.7578710937500 1.0000054101311
+2.1094453125000 1.0000072688192
+2.4610195312500 1.0000093308958
diff --git a/test/whisky_test_tov_ppm/w_lorentz_x_[16][16].xg b/test/whisky_test_tov_ppm/w_lorentz_x_[16][16].xg
new file mode 100644
index 0000000..7773e50
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000000000e+00
+-8.4372812500e+00 1.0000000000e+00
+-7.4997500000e+00 1.0000000000e+00
+-6.5622187500e+00 1.0000000000e+00
+-5.6246875000e+00 1.0000000000e+00
+-4.6871562500e+00 1.0000000000e+00
+-3.7496250000e+00 1.0000000000e+00
+-2.8120937500e+00 1.0000000000e+00
+-1.8745625000e+00 1.0000000000e+00
+-9.3703125000e-01 1.0000000000e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000000e+00
+1.8755625000e+00 1.0000000000e+00
+2.8130937500e+00 1.0000000000e+00
+3.7506250000e+00 1.0000000000e+00
+4.6881562500e+00 1.0000000000e+00
+5.6256875000e+00 1.0000000000e+00
+6.5632187500e+00 1.0000000000e+00
+7.5007500000e+00 1.0000000000e+00
+8.4382812500e+00 1.0000000000e+00
+9.3758125000e+00 1.0000000000e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000087227e+00
+-8.4372812500e+00 1.0001312821e+00
+-7.4997500000e+00 1.0000000010e+00
+-6.5622187500e+00 1.0000000295e+00
+-5.6246875000e+00 1.0000000106e+00
+-4.6871562500e+00 1.0000000094e+00
+-3.7496250000e+00 1.0000000077e+00
+-2.8120937500e+00 1.0000000048e+00
+-1.8745625000e+00 1.0000000025e+00
+-9.3703125000e-01 1.0000000097e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000098e+00
+1.8755625000e+00 1.0000000025e+00
+2.8130937500e+00 1.0000000048e+00
+3.7506250000e+00 1.0000000077e+00
+4.6881562500e+00 1.0000000094e+00
+5.6256875000e+00 1.0000000106e+00
+6.5632187500e+00 1.0000000295e+00
+7.5007500000e+00 1.0000000009e+00
+8.4382812500e+00 1.0001303735e+00
+9.3758125000e+00 1.0000087212e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000339561e+00
+-8.4372812500e+00 1.0001641887e+00
+-7.4997500000e+00 1.0000000043e+00
+-6.5622187500e+00 1.0000001143e+00
+-5.6246875000e+00 1.0000000410e+00
+-4.6871562500e+00 1.0000000358e+00
+-3.7496250000e+00 1.0000000287e+00
+-2.8120937500e+00 1.0000000174e+00
+-1.8745625000e+00 1.0000000105e+00
+-9.3703125000e-01 1.0000000310e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000314e+00
+1.8755625000e+00 1.0000000105e+00
+2.8130937500e+00 1.0000000174e+00
+3.7506250000e+00 1.0000000287e+00
+4.6881562500e+00 1.0000000358e+00
+5.6256875000e+00 1.0000000410e+00
+6.5632187500e+00 1.0000001145e+00
+7.5007500000e+00 1.0000000041e+00
+8.4382812500e+00 1.0001631548e+00
+9.3758125000e+00 1.0000339558e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000745660e+00
+-8.4372812500e+00 1.0001558058e+00
+-7.4997500000e+00 1.0000000109e+00
+-6.5622187500e+00 1.0000002490e+00
+-5.6246875000e+00 1.0000000889e+00
+-4.6871562500e+00 1.0000000760e+00
+-3.7496250000e+00 1.0000000598e+00
+-2.8120937500e+00 1.0000000351e+00
+-1.8745625000e+00 1.0000000242e+00
+-9.3703125000e-01 1.0000000547e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000555e+00
+1.8755625000e+00 1.0000000243e+00
+2.8130937500e+00 1.0000000352e+00
+3.7506250000e+00 1.0000000598e+00
+4.6881562500e+00 1.0000000760e+00
+5.6256875000e+00 1.0000000890e+00
+6.5632187500e+00 1.0000002494e+00
+7.5007500000e+00 1.0000000103e+00
+8.4382812500e+00 1.0001548098e+00
+9.3758125000e+00 1.0000745741e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001295144e+00
+-8.4372812500e+00 1.0001340271e+00
+-7.4997500000e+00 1.0000000216e+00
+-6.5622187500e+00 1.0000004280e+00
+-5.6246875000e+00 1.0000001523e+00
+-4.6871562500e+00 1.0000001273e+00
+-3.7496250000e+00 1.0000000977e+00
+-2.8120937500e+00 1.0000000553e+00
+-1.8745625000e+00 1.0000000436e+00
+-9.3703125000e-01 1.0000000732e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000747e+00
+1.8755625000e+00 1.0000000436e+00
+2.8130937500e+00 1.0000000554e+00
+3.7506250000e+00 1.0000000977e+00
+4.6881562500e+00 1.0000001274e+00
+5.6256875000e+00 1.0000001523e+00
+6.5632187500e+00 1.0000004287e+00
+7.5007500000e+00 1.0000000204e+00
+8.4382812500e+00 1.0001331097e+00
+9.3758125000e+00 1.0001295434e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001978671e+00
+-8.4372812500e+00 1.0001085381e+00
+-7.4997500000e+00 1.0000000375e+00
+-6.5622187500e+00 1.0000006460e+00
+-5.6246875000e+00 1.0000002287e+00
+-4.6871562500e+00 1.0000001870e+00
+-3.7496250000e+00 1.0000001393e+00
+-2.8120937500e+00 1.0000000757e+00
+-1.8745625000e+00 1.0000000696e+00
+-9.3703125000e-01 1.0000000799e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000819e+00
+1.8755625000e+00 1.0000000696e+00
+2.8130937500e+00 1.0000000757e+00
+3.7506250000e+00 1.0000001393e+00
+4.6881562500e+00 1.0000001870e+00
+5.6256875000e+00 1.0000002288e+00
+6.5632187500e+00 1.0000006470e+00
+7.5007500000e+00 1.0000000358e+00
+8.4382812500e+00 1.0001077137e+00
+9.3758125000e+00 1.0001979336e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0002787581e+00
+-8.4372812500e+00 1.0000834004e+00
+-7.4997500000e+00 1.0000000602e+00
+-6.5622187500e+00 1.0000008981e+00
+-5.6246875000e+00 1.0000003157e+00
+-4.6871562500e+00 1.0000002522e+00
+-3.7496250000e+00 1.0000001804e+00
+-2.8120937500e+00 1.0000000947e+00
+-1.8745625000e+00 1.0000001025e+00
+-9.3703125000e-01 1.0000000741e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000763e+00
+1.8755625000e+00 1.0000001023e+00
+2.8130937500e+00 1.0000000948e+00
+3.7506250000e+00 1.0000001805e+00
+4.6881562500e+00 1.0000002522e+00
+5.6256875000e+00 1.0000003158e+00
+6.5632187500e+00 1.0000008993e+00
+7.5007500000e+00 1.0000000575e+00
+8.4382812500e+00 1.0000826755e+00
+9.3758125000e+00 1.0002788821e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0003710282e+00
+-8.4372812500e+00 1.0000605195e+00
+-7.4997500000e+00 1.0000000907e+00
+-6.5622187500e+00 1.0000011795e+00
+-5.6246875000e+00 1.0000004105e+00
+-4.6871562500e+00 1.0000003204e+00
+-3.7496250000e+00 1.0000002199e+00
+-2.8120937500e+00 1.0000001113e+00
+-1.8745625000e+00 1.0000001419e+00
+-9.3703125000e-01 1.0000000590e+00
+5.0000000000e-04 1.0000000001e+00
+9.3803125000e-01 1.0000000614e+00
+1.8755625000e+00 1.0000001416e+00
+2.8130937500e+00 1.0000001113e+00
+3.7506250000e+00 1.0000002200e+00
+4.6881562500e+00 1.0000003205e+00
+5.6256875000e+00 1.0000004107e+00
+6.5632187500e+00 1.0000011809e+00
+7.5007500000e+00 1.0000000870e+00
+8.4382812500e+00 1.0000598977e+00
+9.3758125000e+00 1.0003712176e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/w_lorentz_y_[16][16].xg b/test/whisky_test_tov_ppm/w_lorentz_y_[16][16].xg
new file mode 100644
index 0000000..7773e50
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000000000e+00
+-8.4372812500e+00 1.0000000000e+00
+-7.4997500000e+00 1.0000000000e+00
+-6.5622187500e+00 1.0000000000e+00
+-5.6246875000e+00 1.0000000000e+00
+-4.6871562500e+00 1.0000000000e+00
+-3.7496250000e+00 1.0000000000e+00
+-2.8120937500e+00 1.0000000000e+00
+-1.8745625000e+00 1.0000000000e+00
+-9.3703125000e-01 1.0000000000e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000000e+00
+1.8755625000e+00 1.0000000000e+00
+2.8130937500e+00 1.0000000000e+00
+3.7506250000e+00 1.0000000000e+00
+4.6881562500e+00 1.0000000000e+00
+5.6256875000e+00 1.0000000000e+00
+6.5632187500e+00 1.0000000000e+00
+7.5007500000e+00 1.0000000000e+00
+8.4382812500e+00 1.0000000000e+00
+9.3758125000e+00 1.0000000000e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000087227e+00
+-8.4372812500e+00 1.0001312821e+00
+-7.4997500000e+00 1.0000000010e+00
+-6.5622187500e+00 1.0000000295e+00
+-5.6246875000e+00 1.0000000106e+00
+-4.6871562500e+00 1.0000000094e+00
+-3.7496250000e+00 1.0000000077e+00
+-2.8120937500e+00 1.0000000048e+00
+-1.8745625000e+00 1.0000000025e+00
+-9.3703125000e-01 1.0000000097e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000098e+00
+1.8755625000e+00 1.0000000025e+00
+2.8130937500e+00 1.0000000048e+00
+3.7506250000e+00 1.0000000077e+00
+4.6881562500e+00 1.0000000094e+00
+5.6256875000e+00 1.0000000106e+00
+6.5632187500e+00 1.0000000295e+00
+7.5007500000e+00 1.0000000009e+00
+8.4382812500e+00 1.0001303735e+00
+9.3758125000e+00 1.0000087212e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000339561e+00
+-8.4372812500e+00 1.0001641887e+00
+-7.4997500000e+00 1.0000000043e+00
+-6.5622187500e+00 1.0000001143e+00
+-5.6246875000e+00 1.0000000410e+00
+-4.6871562500e+00 1.0000000358e+00
+-3.7496250000e+00 1.0000000287e+00
+-2.8120937500e+00 1.0000000174e+00
+-1.8745625000e+00 1.0000000105e+00
+-9.3703125000e-01 1.0000000310e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000314e+00
+1.8755625000e+00 1.0000000105e+00
+2.8130937500e+00 1.0000000174e+00
+3.7506250000e+00 1.0000000287e+00
+4.6881562500e+00 1.0000000358e+00
+5.6256875000e+00 1.0000000410e+00
+6.5632187500e+00 1.0000001145e+00
+7.5007500000e+00 1.0000000041e+00
+8.4382812500e+00 1.0001631548e+00
+9.3758125000e+00 1.0000339558e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000745660e+00
+-8.4372812500e+00 1.0001558058e+00
+-7.4997500000e+00 1.0000000109e+00
+-6.5622187500e+00 1.0000002490e+00
+-5.6246875000e+00 1.0000000889e+00
+-4.6871562500e+00 1.0000000760e+00
+-3.7496250000e+00 1.0000000598e+00
+-2.8120937500e+00 1.0000000351e+00
+-1.8745625000e+00 1.0000000242e+00
+-9.3703125000e-01 1.0000000547e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000555e+00
+1.8755625000e+00 1.0000000243e+00
+2.8130937500e+00 1.0000000352e+00
+3.7506250000e+00 1.0000000598e+00
+4.6881562500e+00 1.0000000760e+00
+5.6256875000e+00 1.0000000890e+00
+6.5632187500e+00 1.0000002494e+00
+7.5007500000e+00 1.0000000103e+00
+8.4382812500e+00 1.0001548098e+00
+9.3758125000e+00 1.0000745741e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001295144e+00
+-8.4372812500e+00 1.0001340271e+00
+-7.4997500000e+00 1.0000000216e+00
+-6.5622187500e+00 1.0000004280e+00
+-5.6246875000e+00 1.0000001523e+00
+-4.6871562500e+00 1.0000001273e+00
+-3.7496250000e+00 1.0000000977e+00
+-2.8120937500e+00 1.0000000553e+00
+-1.8745625000e+00 1.0000000436e+00
+-9.3703125000e-01 1.0000000732e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000747e+00
+1.8755625000e+00 1.0000000436e+00
+2.8130937500e+00 1.0000000554e+00
+3.7506250000e+00 1.0000000977e+00
+4.6881562500e+00 1.0000001274e+00
+5.6256875000e+00 1.0000001523e+00
+6.5632187500e+00 1.0000004287e+00
+7.5007500000e+00 1.0000000204e+00
+8.4382812500e+00 1.0001331097e+00
+9.3758125000e+00 1.0001295434e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001978671e+00
+-8.4372812500e+00 1.0001085381e+00
+-7.4997500000e+00 1.0000000375e+00
+-6.5622187500e+00 1.0000006460e+00
+-5.6246875000e+00 1.0000002287e+00
+-4.6871562500e+00 1.0000001870e+00
+-3.7496250000e+00 1.0000001393e+00
+-2.8120937500e+00 1.0000000757e+00
+-1.8745625000e+00 1.0000000696e+00
+-9.3703125000e-01 1.0000000799e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000819e+00
+1.8755625000e+00 1.0000000696e+00
+2.8130937500e+00 1.0000000757e+00
+3.7506250000e+00 1.0000001393e+00
+4.6881562500e+00 1.0000001870e+00
+5.6256875000e+00 1.0000002288e+00
+6.5632187500e+00 1.0000006470e+00
+7.5007500000e+00 1.0000000358e+00
+8.4382812500e+00 1.0001077137e+00
+9.3758125000e+00 1.0001979336e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0002787581e+00
+-8.4372812500e+00 1.0000834004e+00
+-7.4997500000e+00 1.0000000602e+00
+-6.5622187500e+00 1.0000008981e+00
+-5.6246875000e+00 1.0000003157e+00
+-4.6871562500e+00 1.0000002522e+00
+-3.7496250000e+00 1.0000001804e+00
+-2.8120937500e+00 1.0000000947e+00
+-1.8745625000e+00 1.0000001025e+00
+-9.3703125000e-01 1.0000000741e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000763e+00
+1.8755625000e+00 1.0000001023e+00
+2.8130937500e+00 1.0000000948e+00
+3.7506250000e+00 1.0000001805e+00
+4.6881562500e+00 1.0000002522e+00
+5.6256875000e+00 1.0000003158e+00
+6.5632187500e+00 1.0000008993e+00
+7.5007500000e+00 1.0000000575e+00
+8.4382812500e+00 1.0000826755e+00
+9.3758125000e+00 1.0002788821e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0003710282e+00
+-8.4372812500e+00 1.0000605195e+00
+-7.4997500000e+00 1.0000000907e+00
+-6.5622187500e+00 1.0000011795e+00
+-5.6246875000e+00 1.0000004105e+00
+-4.6871562500e+00 1.0000003204e+00
+-3.7496250000e+00 1.0000002199e+00
+-2.8120937500e+00 1.0000001113e+00
+-1.8745625000e+00 1.0000001419e+00
+-9.3703125000e-01 1.0000000590e+00
+5.0000000000e-04 1.0000000001e+00
+9.3803125000e-01 1.0000000614e+00
+1.8755625000e+00 1.0000001416e+00
+2.8130937500e+00 1.0000001113e+00
+3.7506250000e+00 1.0000002200e+00
+4.6881562500e+00 1.0000003205e+00
+5.6256875000e+00 1.0000004107e+00
+6.5632187500e+00 1.0000011809e+00
+7.5007500000e+00 1.0000000870e+00
+8.4382812500e+00 1.0000598977e+00
+9.3758125000e+00 1.0003712176e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/w_lorentz_z_[16][16].xg b/test/whisky_test_tov_ppm/w_lorentz_z_[16][16].xg
new file mode 100644
index 0000000..7773e50
--- /dev/null
+++ b/test/whisky_test_tov_ppm/w_lorentz_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000000000e+00
+-8.4372812500e+00 1.0000000000e+00
+-7.4997500000e+00 1.0000000000e+00
+-6.5622187500e+00 1.0000000000e+00
+-5.6246875000e+00 1.0000000000e+00
+-4.6871562500e+00 1.0000000000e+00
+-3.7496250000e+00 1.0000000000e+00
+-2.8120937500e+00 1.0000000000e+00
+-1.8745625000e+00 1.0000000000e+00
+-9.3703125000e-01 1.0000000000e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000000e+00
+1.8755625000e+00 1.0000000000e+00
+2.8130937500e+00 1.0000000000e+00
+3.7506250000e+00 1.0000000000e+00
+4.6881562500e+00 1.0000000000e+00
+5.6256875000e+00 1.0000000000e+00
+6.5632187500e+00 1.0000000000e+00
+7.5007500000e+00 1.0000000000e+00
+8.4382812500e+00 1.0000000000e+00
+9.3758125000e+00 1.0000000000e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000087227e+00
+-8.4372812500e+00 1.0001312821e+00
+-7.4997500000e+00 1.0000000010e+00
+-6.5622187500e+00 1.0000000295e+00
+-5.6246875000e+00 1.0000000106e+00
+-4.6871562500e+00 1.0000000094e+00
+-3.7496250000e+00 1.0000000077e+00
+-2.8120937500e+00 1.0000000048e+00
+-1.8745625000e+00 1.0000000025e+00
+-9.3703125000e-01 1.0000000097e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000098e+00
+1.8755625000e+00 1.0000000025e+00
+2.8130937500e+00 1.0000000048e+00
+3.7506250000e+00 1.0000000077e+00
+4.6881562500e+00 1.0000000094e+00
+5.6256875000e+00 1.0000000106e+00
+6.5632187500e+00 1.0000000295e+00
+7.5007500000e+00 1.0000000009e+00
+8.4382812500e+00 1.0001303735e+00
+9.3758125000e+00 1.0000087212e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000339561e+00
+-8.4372812500e+00 1.0001641887e+00
+-7.4997500000e+00 1.0000000043e+00
+-6.5622187500e+00 1.0000001143e+00
+-5.6246875000e+00 1.0000000410e+00
+-4.6871562500e+00 1.0000000358e+00
+-3.7496250000e+00 1.0000000287e+00
+-2.8120937500e+00 1.0000000174e+00
+-1.8745625000e+00 1.0000000105e+00
+-9.3703125000e-01 1.0000000310e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000314e+00
+1.8755625000e+00 1.0000000105e+00
+2.8130937500e+00 1.0000000174e+00
+3.7506250000e+00 1.0000000287e+00
+4.6881562500e+00 1.0000000358e+00
+5.6256875000e+00 1.0000000410e+00
+6.5632187500e+00 1.0000001145e+00
+7.5007500000e+00 1.0000000041e+00
+8.4382812500e+00 1.0001631548e+00
+9.3758125000e+00 1.0000339558e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000745660e+00
+-8.4372812500e+00 1.0001558058e+00
+-7.4997500000e+00 1.0000000109e+00
+-6.5622187500e+00 1.0000002490e+00
+-5.6246875000e+00 1.0000000889e+00
+-4.6871562500e+00 1.0000000760e+00
+-3.7496250000e+00 1.0000000598e+00
+-2.8120937500e+00 1.0000000351e+00
+-1.8745625000e+00 1.0000000242e+00
+-9.3703125000e-01 1.0000000547e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000555e+00
+1.8755625000e+00 1.0000000243e+00
+2.8130937500e+00 1.0000000352e+00
+3.7506250000e+00 1.0000000598e+00
+4.6881562500e+00 1.0000000760e+00
+5.6256875000e+00 1.0000000890e+00
+6.5632187500e+00 1.0000002494e+00
+7.5007500000e+00 1.0000000103e+00
+8.4382812500e+00 1.0001548098e+00
+9.3758125000e+00 1.0000745741e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001295144e+00
+-8.4372812500e+00 1.0001340271e+00
+-7.4997500000e+00 1.0000000216e+00
+-6.5622187500e+00 1.0000004280e+00
+-5.6246875000e+00 1.0000001523e+00
+-4.6871562500e+00 1.0000001273e+00
+-3.7496250000e+00 1.0000000977e+00
+-2.8120937500e+00 1.0000000553e+00
+-1.8745625000e+00 1.0000000436e+00
+-9.3703125000e-01 1.0000000732e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000747e+00
+1.8755625000e+00 1.0000000436e+00
+2.8130937500e+00 1.0000000554e+00
+3.7506250000e+00 1.0000000977e+00
+4.6881562500e+00 1.0000001274e+00
+5.6256875000e+00 1.0000001523e+00
+6.5632187500e+00 1.0000004287e+00
+7.5007500000e+00 1.0000000204e+00
+8.4382812500e+00 1.0001331097e+00
+9.3758125000e+00 1.0001295434e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001978671e+00
+-8.4372812500e+00 1.0001085381e+00
+-7.4997500000e+00 1.0000000375e+00
+-6.5622187500e+00 1.0000006460e+00
+-5.6246875000e+00 1.0000002287e+00
+-4.6871562500e+00 1.0000001870e+00
+-3.7496250000e+00 1.0000001393e+00
+-2.8120937500e+00 1.0000000757e+00
+-1.8745625000e+00 1.0000000696e+00
+-9.3703125000e-01 1.0000000799e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000819e+00
+1.8755625000e+00 1.0000000696e+00
+2.8130937500e+00 1.0000000757e+00
+3.7506250000e+00 1.0000001393e+00
+4.6881562500e+00 1.0000001870e+00
+5.6256875000e+00 1.0000002288e+00
+6.5632187500e+00 1.0000006470e+00
+7.5007500000e+00 1.0000000358e+00
+8.4382812500e+00 1.0001077137e+00
+9.3758125000e+00 1.0001979336e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0002787581e+00
+-8.4372812500e+00 1.0000834004e+00
+-7.4997500000e+00 1.0000000602e+00
+-6.5622187500e+00 1.0000008981e+00
+-5.6246875000e+00 1.0000003157e+00
+-4.6871562500e+00 1.0000002522e+00
+-3.7496250000e+00 1.0000001804e+00
+-2.8120937500e+00 1.0000000947e+00
+-1.8745625000e+00 1.0000001025e+00
+-9.3703125000e-01 1.0000000741e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000763e+00
+1.8755625000e+00 1.0000001023e+00
+2.8130937500e+00 1.0000000948e+00
+3.7506250000e+00 1.0000001805e+00
+4.6881562500e+00 1.0000002522e+00
+5.6256875000e+00 1.0000003158e+00
+6.5632187500e+00 1.0000008993e+00
+7.5007500000e+00 1.0000000575e+00
+8.4382812500e+00 1.0000826755e+00
+9.3758125000e+00 1.0002788821e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0003710282e+00
+-8.4372812500e+00 1.0000605195e+00
+-7.4997500000e+00 1.0000000907e+00
+-6.5622187500e+00 1.0000011795e+00
+-5.6246875000e+00 1.0000004105e+00
+-4.6871562500e+00 1.0000003204e+00
+-3.7496250000e+00 1.0000002199e+00
+-2.8120937500e+00 1.0000001113e+00
+-1.8745625000e+00 1.0000001419e+00
+-9.3703125000e-01 1.0000000590e+00
+5.0000000000e-04 1.0000000001e+00
+9.3803125000e-01 1.0000000614e+00
+1.8755625000e+00 1.0000001416e+00
+2.8130937500e+00 1.0000001113e+00
+3.7506250000e+00 1.0000002200e+00
+4.6881562500e+00 1.0000003205e+00
+5.6256875000e+00 1.0000004107e+00
+6.5632187500e+00 1.0000011809e+00
+7.5007500000e+00 1.0000000870e+00
+8.4382812500e+00 1.0000598977e+00
+9.3758125000e+00 1.0003712176e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm/whisky_test_tov_ppm.par b/test/whisky_test_tov_ppm/whisky_test_tov_ppm.par
new file mode 100644
index 0000000..9541d38
--- /dev/null
+++ b/test/whisky_test_tov_ppm/whisky_test_tov_ppm.par
@@ -0,0 +1,80 @@
+!DESC "TOV from TOVSolverC, ICN, Marquina, PPM, Polytrope"
+
+ActiveThorns = "time MoL pugh pughreduce pughslab coordbase symbase cartgrid3d ioutil ioascii iobasic boundary admbase staticconformal spacemask admcoupling coordgauge admmacros hydrobase whisky whisky_init_data whisky_tovsolverc nanchecker eos_base eos_ideal_fluid eos_polytrope bssn_mol admconstraints Constants localreduce Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+time::dtfac = 0.375
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+admbase::evolution_method = "adm_bssn"
+admbase::lapse_evolution_method = "1+log"
+admbase::shift_evolution_method = "gamma0"
+
+adm_bssn::bound = "radiative"
+adm_bssn::harmonic_f = 2.0
+
+admconstraints::bound = "static"
+ADMConstraints::constraints_persist = yes
+
+boundary::radpower = 2
+
+SpaceMask::use_mask = "yes"
+
+grid::type = "byrange"
+grid::domain = "full"
+grid::xyzmin = -15.0
+grid::xyzmax = 15.001
+driver::ghost_size = 3
+driver::global_nsize = 33
+
+cactus::cctk_itlast = 7
+
+methodoflines::ode_method = "icn"
+
+whisky::riemann_solver = "Marquina"
+whisky::whisky_eos_type = "Polytype"
+whisky::whisky_eos_table = "2D_Polytrope"
+whisky::recon_method = "ppm"
+whisky::whisky_stencil = 3
+whisky::bound = "none"
+whisky::rho_abs_min = 1.e-7
+whisky::initial_atmosphere_factor = 0.999
+
+whisky::ppm_detect = "no"
+whisky::ppm_epsilon = 0.0
+whisky::ppm_omega1 = 0.52
+whisky::ppm_omega2 = 0.0
+whisky::ppm_epsilon_shock = 0.1
+whisky::ppm_eta1 = 5.0
+whisky::ppm_k0 = 0.2
+
+ADMBase::initial_data = "tov"
+ADMBase::initial_lapse = "tov"
+ADMBase::initial_shift = "tov"
+
+whiskytovsolver::TOV_Rho_Central[0] = 1.28e-3
+whiskytovsolver::TOV_Gamma[0] = 2.0
+whiskytovsolver::TOV_K[0] = 100.0
+whiskytovsolver::TOV_Combine_Method = "maximum"
+
+EOS_Polytrope::eos_gamma = 2.0
+EOS_Polytrope::eos_k = 100.0
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IO::out_fileinfo="none"
+IO::out_dir = "whisky_test_tov_ppm"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admbase::lapse admbase::metric admbase::curv admconstraints::ham admconstraints::momentum"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admconstraints::ham admconstraints::momentum"
+IOASCII::out_format = ".10e"
diff --git a/test/whisky_test_tov_ppm_no_trp.par b/test/whisky_test_tov_ppm_no_trp.par
new file mode 100644
index 0000000..bb338cf
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp.par
@@ -0,0 +1,81 @@
+!DESC "TOV from TOVSolverC, ICN, Marquina, PPM, Polytrope"
+
+ActiveThorns = "time MoL pugh pughreduce pughslab coordbase symbase cartgrid3d ioutil ioascii iobasic boundary admbase staticconformal spacemask admcoupling coordgauge admmacros hydrobase whisky whisky_init_data whisky_tovsolverc nanchecker eos_base eos_ideal_fluid eos_polytrope bssn_mol admconstraints Constants localreduce Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+time::dtfac = 0.375
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+admbase::evolution_method = "adm_bssn"
+admbase::lapse_evolution_method = "1+log"
+admbase::shift_evolution_method = "gamma0"
+
+adm_bssn::bound = "radiative"
+adm_bssn::harmonic_f = 2.0
+
+admconstraints::bound = "static"
+ADMConstraints::constraints_persist = yes
+
+boundary::radpower = 2
+
+SpaceMask::use_mask = "yes"
+
+grid::type = "byrange"
+grid::domain = "full"
+grid::xyzmin = -15.0
+grid::xyzmax = 15.001
+driver::ghost_size = 3
+driver::global_nsize = 33
+
+cactus::cctk_itlast = 7
+
+methodoflines::ode_method = "icn"
+
+whisky::riemann_solver = "Marquina"
+whisky::whisky_eos_type = "Polytype"
+whisky::whisky_eos_table = "2D_Polytrope"
+whisky::recon_method = "ppm"
+whisky::check_for_trivial_rp = "no"
+whisky::whisky_stencil = 3
+whisky::bound = "none"
+whisky::rho_abs_min = 1.e-7
+whisky::initial_atmosphere_factor = 0.999
+
+whisky::ppm_detect = "no"
+whisky::ppm_epsilon = 0.0
+whisky::ppm_omega1 = 0.52
+whisky::ppm_omega2 = 0.0
+whisky::ppm_epsilon_shock = 0.1
+whisky::ppm_eta1 = 5.0
+whisky::ppm_k0 = 0.2
+
+ADMBase::initial_data = "tov"
+ADMBase::initial_lapse = "tov"
+ADMBase::initial_shift = "tov"
+
+whiskytovsolver::TOV_Rho_Central[0] = 1.28e-3
+whiskytovsolver::TOV_Gamma[0] = 2.0
+whiskytovsolver::TOV_K[0] = 100.0
+whiskytovsolver::TOV_Combine_Method = "maximum"
+
+EOS_Polytrope::eos_gamma = 2.0
+EOS_Polytrope::eos_k = 100.0
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IO::out_dir = "whisky_test_tov_ppm_no_trp"
+IO::out_fileinfo="none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admbase::lapse admbase::metric admbase::curv admconstraints::ham admconstraints::momentum"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admconstraints::ham admconstraints::momentum"
+IOASCII::out_format = ".10e"
diff --git a/test/whisky_test_tov_ppm_no_trp/alp_maximum.xg b/test/whisky_test_tov_ppm_no_trp/alp_maximum.xg
new file mode 100644
index 0000000..402ce87
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/alp_maximum.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.9475253127427
+0.3515742187500 0.9475256961030
+0.7031484375000 0.9475256123426
+1.0547226562500 0.9475254131324
+1.4062968750000 0.9475251370773
+1.7578710937500 0.9475247572321
+2.1094453125000 0.9475242617344
+2.4610195312500 0.9475236545247
diff --git a/test/whisky_test_tov_ppm_no_trp/alp_minimum.xg b/test/whisky_test_tov_ppm_no_trp/alp_minimum.xg
new file mode 100644
index 0000000..c6442fe
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/alp_minimum.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.6698612280496
+0.3515742187500 0.6698436727904
+0.7031484375000 0.6697950081396
+1.0547226562500 0.6697215513869
+1.4062968750000 0.6696289456035
+1.7578710937500 0.6695217461425
+2.1094453125000 0.6694036119101
+2.4610195312500 0.6692777352852
diff --git a/test/whisky_test_tov_ppm_no_trp/alp_norm1.xg b/test/whisky_test_tov_ppm_no_trp/alp_norm1.xg
new file mode 100644
index 0000000..6db1c2d
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/alp_norm1.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.9005424762216
+0.3515742187500 0.9005428231886
+0.7031484375000 0.9005431546327
+1.0547226562500 0.9005436712041
+1.4062968750000 0.9005444148773
+1.7578710937500 0.9005453855493
+2.1094453125000 0.9005465804696
+2.4610195312500 0.9005480040208
diff --git a/test/whisky_test_tov_ppm_no_trp/alp_norm2.xg b/test/whisky_test_tov_ppm_no_trp/alp_norm2.xg
new file mode 100644
index 0000000..e42a254
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/alp_norm2.xg
@@ -0,0 +1,9 @@
+"alp v time
+0.0000000000000 0.9013715518013
+0.3515742187500 0.9013719057702
+0.7031484375000 0.9013722440027
+1.0547226562500 0.9013727710357
+1.4062968750000 0.9013735295067
+1.7578710937500 0.9013745191769
+2.1094453125000 0.9013757371164
+2.4610195312500 0.9013771876524
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/dens_3D_diagonal.xg
new file mode 100644
index 0000000..b7834a9
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 1.1862914062e-06
+-6.4945410093e+00 3.9297011325e-04
+-4.8706892506e+00 1.0678557184e-03
+-3.2468374920e+00 2.0777649045e-03
+-1.6229857333e+00 3.1848145041e-03
+8.6602540378e-04 3.7072030825e-03
+1.6247177841e+00 3.1838014950e-03
+3.2485695428e+00 2.0765504344e-03
+4.8724213015e+00 1.0669525769e-03
+6.4962730601e+00 3.9242016285e-04
+8.1201248188e+00 8.8223034108e-07
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 1.9631262518e-06
+-6.4945410093e+00 3.9296432660e-04
+-4.8706892506e+00 1.0678524388e-03
+-3.2468374920e+00 2.0777875591e-03
+-1.6229857333e+00 3.1872924146e-03
+8.6602540378e-04 3.7014083871e-03
+1.6247177841e+00 3.1862885482e-03
+3.2485695428e+00 2.0765733258e-03
+4.8724213015e+00 1.0669493130e-03
+6.4962730601e+00 3.9241436976e-04
+8.1201248188e+00 1.6644612404e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 2.7142471165e-06
+-6.4945410093e+00 3.9294663574e-04
+-4.8706892506e+00 1.0678446022e-03
+-3.2468374920e+00 2.0778481832e-03
+-1.6229857333e+00 3.1896586463e-03
+8.6602540378e-04 3.6955220619e-03
+1.6247177841e+00 3.1886634427e-03
+3.2485695428e+00 2.0766346319e-03
+4.8724213015e+00 1.0669415331e-03
+6.4962730601e+00 3.9239668477e-04
+8.1201248188e+00 2.4215603108e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 3.4386261450e-06
+-6.4945410093e+00 3.9291641161e-04
+-4.8706892506e+00 1.0678362274e-03
+-3.2468374920e+00 2.0779325329e-03
+-1.6229857333e+00 3.1918910142e-03
+8.6602540378e-04 3.6896333796e-03
+1.6247177841e+00 3.1909039438e-03
+3.2485695428e+00 2.0767200536e-03
+4.8724213015e+00 1.0669332743e-03
+6.4962730601e+00 3.9236650064e-04
+8.1201248188e+00 3.1525070673e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 4.1274159230e-06
+-6.4945410093e+00 3.9287259354e-04
+-4.8706892506e+00 1.0678317354e-03
+-3.2468374920e+00 2.0780253157e-03
+-1.6229857333e+00 3.1940010404e-03
+8.6602540378e-04 3.6837832048e-03
+1.6247177841e+00 3.1930169697e-03
+3.2485695428e+00 2.0768144645e-03
+4.8724213015e+00 1.0669288625e-03
+6.4962730601e+00 3.9232277404e-04
+8.1201248188e+00 3.8545172606e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 4.7768128886e-06
+-6.4945410093e+00 3.9281287571e-04
+-4.8706892506e+00 1.0678435538e-03
+-3.2468374920e+00 2.0781074836e-03
+-1.6229857333e+00 3.1960132808e-03
+8.6602540378e-04 3.6779382538e-03
+1.6247177841e+00 3.1950322166e-03
+3.2485695428e+00 2.0768990036e-03
+4.8724213015e+00 1.0669405519e-03
+6.4962730601e+00 3.9226325346e-04
+8.1201248188e+00 4.5173004966e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 5.3887027473e-06
+-6.4945410093e+00 3.9273282791e-04
+-4.8706892506e+00 1.0678832712e-03
+-3.2468374920e+00 2.0781702871e-03
+-1.6229857333e+00 3.1977795135e-03
+8.6602540378e-04 3.6722892104e-03
+1.6247177841e+00 3.1968126188e-03
+3.2485695428e+00 2.0769617513e-03
+4.8724213015e+00 1.0669801451e-03
+6.4962730601e+00 3.9218355956e-04
+8.1201248188e+00 5.1398040081e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.1717942259e-07
+-2.4356910355e+01 1.1841472824e-07
+-2.2733058596e+01 1.1983978246e-07
+-2.1109206837e+01 1.2150181525e-07
+-1.9485355079e+01 1.2346510013e-07
+-1.7861503320e+01 1.2581937754e-07
+-1.6237651561e+01 1.2869380289e-07
+-1.4613799803e+01 1.3228114573e-07
+-1.2989948044e+01 1.3688220888e-07
+-1.1366096285e+01 1.4299322804e-07
+-9.7422445267e+00 1.5149364491e-07
+-8.1183927680e+00 5.9738947059e-06
+-6.4945410093e+00 3.9263441759e-04
+-4.8706892506e+00 1.0679383350e-03
+-3.2468374920e+00 2.0782591743e-03
+-1.6229857333e+00 3.1992076036e-03
+8.6602540378e-04 3.6671481867e-03
+1.6247177841e+00 3.1982373735e-03
+3.2485695428e+00 2.0770526295e-03
+4.8724213015e+00 1.0670350058e-03
+6.4962730601e+00 3.9208547840e-04
+8.1201248188e+00 5.7291822416e-06
+9.7439765775e+00 1.5148281294e-07
+1.1367828336e+01 1.4298564369e-07
+1.2991680095e+01 1.3687660964e-07
+1.4615531854e+01 1.3227684590e-07
+1.6239383612e+01 1.2869039890e-07
+1.7863235371e+01 1.2581661678e-07
+1.9487087130e+01 1.2346281655e-07
+2.1110938888e+01 1.2149989530e-07
+2.2734790647e+01 1.1983814588e-07
+2.4358642406e+01 1.1841331674e-07
+2.5982494164e+01 1.1717819280e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_maximum.xg b/test/whisky_test_tov_ppm_no_trp/dens_maximum.xg
new file mode 100644
index 0000000..f246657
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_maximum.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0037072030825
+0.3515742187500 0.0037014083871
+0.7031484375000 0.0036955220619
+1.0547226562500 0.0036896333796
+1.4062968750000 0.0036837832048
+1.7578710937500 0.0036779382538
+2.1094453125000 0.0036722892104
+2.4610195312500 0.0036671481867
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_minimum.xg b/test/whisky_test_tov_ppm_no_trp/dens_minimum.xg
new file mode 100644
index 0000000..1b543fe
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_minimum.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0000001171782
+0.3515742187500 0.0000001171782
+0.7031484375000 0.0000001171782
+1.0547226562500 0.0000001171782
+1.4062968750000 0.0000001171782
+1.7578710937500 0.0000001171782
+2.1094453125000 0.0000001171782
+2.4610195312500 0.0000001171782
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_norm1.xg b/test/whisky_test_tov_ppm_no_trp/dens_norm1.xg
new file mode 100644
index 0000000..d0f04a2
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_norm1.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0000509784267
+0.3515742187500 0.0000509784267
+0.7031484375000 0.0000509784267
+1.0547226562500 0.0000509784267
+1.4062968750000 0.0000509784267
+1.7578710937500 0.0000509784267
+2.1094453125000 0.0000509784267
+2.4610195312500 0.0000509784267
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_norm2.xg b/test/whisky_test_tov_ppm_no_trp/dens_norm2.xg
new file mode 100644
index 0000000..4f458c2
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_norm2.xg
@@ -0,0 +1,9 @@
+"dens v time
+0.0000000000000 0.0002699839971
+0.3515742187500 0.0002699764664
+0.7031484375000 0.0002699666136
+1.0547226562500 0.0002699544963
+1.4062968750000 0.0002699401615
+1.7578710937500 0.0002699236961
+2.1094453125000 0.0002699053197
+2.4610195312500 0.0002698850531
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/dens_x_[16][16].xg
new file mode 100644
index 0000000..b120283
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4815579870e-07
+-9.3748125000e+00 1.5389780837e-07
+-8.4372812500e+00 1.6116660709e-07
+-7.4997500000e+00 1.2386636971e-04
+-6.5622187500e+00 3.7172156546e-04
+-5.6246875000e+00 7.1289093645e-04
+-4.6871562500e+00 1.1658601330e-03
+-3.7496250000e+00 1.7343421185e-03
+-2.8120937500e+00 2.3861905287e-03
+-1.8745625000e+00 3.0311062063e-03
+-9.3703125000e-01 3.5218078087e-03
+5.0000000000e-04 3.7072030825e-03
+9.3803125000e-01 3.5214246401e-03
+1.8755625000e+00 3.0304710121e-03
+2.8130937500e+00 2.3854770107e-03
+3.7506250000e+00 1.7336810988e-03
+4.6881562500e+00 1.1653138020e-03
+5.6256875000e+00 7.1247004943e-04
+6.5632187500e+00 3.7141126902e-04
+7.5007500000e+00 1.2364422229e-04
+8.4382812500e+00 1.6115782720e-07
+9.3758125000e+00 1.5389096494e-07
+1.0313343750e+01 1.4815031936e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4811131585e-07
+-9.3748125000e+00 1.5421705014e-07
+-8.4372812500e+00 4.2339869211e-07
+-7.4997500000e+00 1.2347224823e-04
+-6.5622187500e+00 3.7140395142e-04
+-5.6246875000e+00 7.1228617468e-04
+-4.6871562500e+00 1.1648487263e-03
+-3.7496250000e+00 1.7327619467e-03
+-2.8120937500e+00 2.3838980929e-03
+-1.8745625000e+00 3.0280818712e-03
+-9.3703125000e-01 3.5191050085e-03
+5.0000000000e-04 3.7014083871e-03
+9.3803125000e-01 3.5187259785e-03
+1.8755625000e+00 3.0274475681e-03
+2.8130937500e+00 2.3831853914e-03
+3.7506250000e+00 1.7321016171e-03
+4.6881562500e+00 1.1643029144e-03
+5.6256875000e+00 7.1186564342e-04
+6.5632187500e+00 3.7109392139e-04
+7.5007500000e+00 1.2325126810e-04
+8.4382812500e+00 4.2237060140e-07
+9.3758125000e+00 1.5420862316e-07
+1.0313343750e+01 1.4810584041e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4797925950e-07
+-9.3748125000e+00 1.5497674873e-07
+-8.4372812500e+00 6.8277435950e-07
+-7.4997500000e+00 1.2309088718e-04
+-6.5622187500e+00 3.7110057799e-04
+-5.6246875000e+00 7.1167687140e-04
+-4.6871562500e+00 1.1638331927e-03
+-3.7496250000e+00 1.7311619217e-03
+-2.8120937500e+00 2.3815626880e-03
+-1.8745625000e+00 3.0250260497e-03
+-9.3703125000e-01 3.5162927119e-03
+5.0000000000e-04 3.6955220619e-03
+9.3803125000e-01 3.5159176144e-03
+1.8755625000e+00 3.0243928991e-03
+2.8130937500e+00 2.3808508586e-03
+3.7506250000e+00 1.7305023008e-03
+4.6881562500e+00 1.1632879102e-03
+5.6256875000e+00 7.1125669140e-04
+6.5632187500e+00 3.7079086418e-04
+7.5007500000e+00 1.2287102343e-04
+8.4382812500e+00 6.8073229368e-07
+9.3758125000e+00 1.5496491645e-07
+1.0313343750e+01 1.4797378963e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4776165282e-07
+-9.3748125000e+00 1.5603204880e-07
+-8.4372812500e+00 9.3926949917e-07
+-7.4997500000e+00 1.2272263660e-04
+-6.5622187500e+00 3.7081308250e-04
+-5.6246875000e+00 7.1106744178e-04
+-4.6871562500e+00 1.1628233583e-03
+-3.7496250000e+00 1.7295599833e-03
+-2.8120937500e+00 2.3792195953e-03
+-1.8745625000e+00 3.0219739665e-03
+-9.3703125000e-01 3.5134163554e-03
+5.0000000000e-04 3.6896333796e-03
+9.3803125000e-01 3.5130449536e-03
+1.8755625000e+00 3.0213421781e-03
+2.8130937500e+00 2.3785087027e-03
+3.7506250000e+00 1.7289010773e-03
+4.6881562500e+00 1.1622786079e-03
+5.6256875000e+00 7.1064760687e-04
+6.5632187500e+00 3.7050372940e-04
+7.5007500000e+00 1.2250383782e-04
+8.4382812500e+00 9.3621911281e-07
+9.3758125000e+00 1.5601563950e-07
+1.0313343750e+01 1.4775617890e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4746048545e-07
+-9.3748125000e+00 1.5734265965e-07
+-8.4372812500e+00 1.1926707324e-06
+-7.4997500000e+00 1.2236800030e-04
+-6.5622187500e+00 3.7054066242e-04
+-5.6246875000e+00 7.1045170665e-04
+-4.6871562500e+00 1.1618069731e-03
+-3.7496250000e+00 1.7279403146e-03
+-2.8120937500e+00 2.3768623747e-03
+-1.8745625000e+00 3.0189203733e-03
+-9.3703125000e-01 3.5104958461e-03
+5.0000000000e-04 3.6837832048e-03
+9.3803125000e-01 3.5101261709e-03
+1.8755625000e+00 3.0182902266e-03
+2.8130937500e+00 2.3761523785e-03
+3.7506250000e+00 1.7272821381e-03
+4.6881562500e+00 1.1612627629e-03
+5.6256875000e+00 7.1003221947e-04
+6.5632187500e+00 3.7023171588e-04
+7.5007500000e+00 1.2215021442e-04
+8.4382812500e+00 1.1886190828e-06
+9.3758125000e+00 1.5732022339e-07
+1.0313343750e+01 1.4745498903e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4707761402e-07
+-9.3748125000e+00 1.5885159971e-07
+-8.4372812500e+00 1.4427553343e-06
+-7.4997500000e+00 1.2202748560e-04
+-6.5622187500e+00 3.7028148429e-04
+-5.6246875000e+00 7.0983230145e-04
+-4.6871562500e+00 1.1607928344e-03
+-3.7496250000e+00 1.7263134786e-03
+-2.8120937500e+00 2.3745104933e-03
+-1.8745625000e+00 3.0158562394e-03
+-9.3703125000e-01 3.5075291748e-03
+5.0000000000e-04 3.6779382538e-03
+9.3803125000e-01 3.5071612021e-03
+1.8755625000e+00 3.0152281066e-03
+2.8130937500e+00 2.3738012236e-03
+3.7506250000e+00 1.7256561040e-03
+4.6881562500e+00 1.1602491664e-03
+5.6256875000e+00 7.0941315971e-04
+6.5632187500e+00 3.6997298302e-04
+7.5007500000e+00 1.2181066096e-04
+8.4382812500e+00 1.4377104825e-06
+9.3758125000e+00 1.5882141335e-07
+1.0313343750e+01 1.4707206768e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4661481067e-07
+-9.3748125000e+00 1.6048685269e-07
+-8.4372812500e+00 1.6893071754e-06
+-7.4997500000e+00 1.2170016648e-04
+-6.5622187500e+00 3.7003898465e-04
+-5.6246875000e+00 7.0921515714e-04
+-4.6871562500e+00 1.1597932030e-03
+-3.7496250000e+00 1.7246982627e-03
+-2.8120937500e+00 2.3722629011e-03
+-1.8745625000e+00 3.0128957903e-03
+-9.3703125000e-01 3.5046489984e-03
+5.0000000000e-04 3.6722892104e-03
+9.3803125000e-01 3.5042871012e-03
+1.8755625000e+00 3.0122691690e-03
+2.8130937500e+00 2.3715538131e-03
+3.7506250000e+00 1.7240418717e-03
+4.6881562500e+00 1.1592500788e-03
+5.6256875000e+00 7.0879635558e-04
+6.5632187500e+00 3.6973107692e-04
+7.5007500000e+00 1.2148425262e-04
+8.4382812500e+00 1.6832781057e-06
+9.3758125000e+00 1.6044778764e-07
+1.0313343750e+01 1.4660917881e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4607389542e-07
+-9.3748125000e+00 1.6227826881e-07
+-8.4372812500e+00 1.9320871657e-06
+-7.4997500000e+00 1.2138656874e-04
+-6.5622187500e+00 3.6982678036e-04
+-5.6246875000e+00 7.0860621371e-04
+-4.6871562500e+00 1.1588571264e-03
+-3.7496250000e+00 1.7232129409e-03
+-2.8120937500e+00 2.3702158820e-03
+-1.8745625000e+00 3.0101898683e-03
+-9.3703125000e-01 3.5019255721e-03
+5.0000000000e-04 3.6671481867e-03
+9.3803125000e-01 3.5015628241e-03
+1.8755625000e+00 3.0095649554e-03
+2.8130937500e+00 2.3695073485e-03
+3.7506250000e+00 1.7225572021e-03
+4.6881562500e+00 1.1583144577e-03
+5.6256875000e+00 7.0818774819e-04
+6.5632187500e+00 3.6951957187e-04
+7.5007500000e+00 1.2117151294e-04
+8.4382812500e+00 1.9250824592e-06
+9.3758125000e+00 1.6223088037e-07
+1.0313343750e+01 1.4606814082e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/dens_y_[16][16].xg
new file mode 100644
index 0000000..b120283
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4815579870e-07
+-9.3748125000e+00 1.5389780837e-07
+-8.4372812500e+00 1.6116660709e-07
+-7.4997500000e+00 1.2386636971e-04
+-6.5622187500e+00 3.7172156546e-04
+-5.6246875000e+00 7.1289093645e-04
+-4.6871562500e+00 1.1658601330e-03
+-3.7496250000e+00 1.7343421185e-03
+-2.8120937500e+00 2.3861905287e-03
+-1.8745625000e+00 3.0311062063e-03
+-9.3703125000e-01 3.5218078087e-03
+5.0000000000e-04 3.7072030825e-03
+9.3803125000e-01 3.5214246401e-03
+1.8755625000e+00 3.0304710121e-03
+2.8130937500e+00 2.3854770107e-03
+3.7506250000e+00 1.7336810988e-03
+4.6881562500e+00 1.1653138020e-03
+5.6256875000e+00 7.1247004943e-04
+6.5632187500e+00 3.7141126902e-04
+7.5007500000e+00 1.2364422229e-04
+8.4382812500e+00 1.6115782720e-07
+9.3758125000e+00 1.5389096494e-07
+1.0313343750e+01 1.4815031936e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4811131585e-07
+-9.3748125000e+00 1.5421705014e-07
+-8.4372812500e+00 4.2339869211e-07
+-7.4997500000e+00 1.2347224823e-04
+-6.5622187500e+00 3.7140395142e-04
+-5.6246875000e+00 7.1228617468e-04
+-4.6871562500e+00 1.1648487263e-03
+-3.7496250000e+00 1.7327619467e-03
+-2.8120937500e+00 2.3838980929e-03
+-1.8745625000e+00 3.0280818712e-03
+-9.3703125000e-01 3.5191050085e-03
+5.0000000000e-04 3.7014083871e-03
+9.3803125000e-01 3.5187259785e-03
+1.8755625000e+00 3.0274475681e-03
+2.8130937500e+00 2.3831853914e-03
+3.7506250000e+00 1.7321016171e-03
+4.6881562500e+00 1.1643029144e-03
+5.6256875000e+00 7.1186564342e-04
+6.5632187500e+00 3.7109392139e-04
+7.5007500000e+00 1.2325126810e-04
+8.4382812500e+00 4.2237060140e-07
+9.3758125000e+00 1.5420862316e-07
+1.0313343750e+01 1.4810584041e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4797925950e-07
+-9.3748125000e+00 1.5497674873e-07
+-8.4372812500e+00 6.8277435950e-07
+-7.4997500000e+00 1.2309088718e-04
+-6.5622187500e+00 3.7110057799e-04
+-5.6246875000e+00 7.1167687140e-04
+-4.6871562500e+00 1.1638331927e-03
+-3.7496250000e+00 1.7311619217e-03
+-2.8120937500e+00 2.3815626880e-03
+-1.8745625000e+00 3.0250260497e-03
+-9.3703125000e-01 3.5162927119e-03
+5.0000000000e-04 3.6955220619e-03
+9.3803125000e-01 3.5159176144e-03
+1.8755625000e+00 3.0243928991e-03
+2.8130937500e+00 2.3808508586e-03
+3.7506250000e+00 1.7305023008e-03
+4.6881562500e+00 1.1632879102e-03
+5.6256875000e+00 7.1125669140e-04
+6.5632187500e+00 3.7079086418e-04
+7.5007500000e+00 1.2287102343e-04
+8.4382812500e+00 6.8073229368e-07
+9.3758125000e+00 1.5496491645e-07
+1.0313343750e+01 1.4797378963e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4776165282e-07
+-9.3748125000e+00 1.5603204880e-07
+-8.4372812500e+00 9.3926949917e-07
+-7.4997500000e+00 1.2272263660e-04
+-6.5622187500e+00 3.7081308250e-04
+-5.6246875000e+00 7.1106744178e-04
+-4.6871562500e+00 1.1628233583e-03
+-3.7496250000e+00 1.7295599833e-03
+-2.8120937500e+00 2.3792195953e-03
+-1.8745625000e+00 3.0219739665e-03
+-9.3703125000e-01 3.5134163554e-03
+5.0000000000e-04 3.6896333796e-03
+9.3803125000e-01 3.5130449536e-03
+1.8755625000e+00 3.0213421781e-03
+2.8130937500e+00 2.3785087027e-03
+3.7506250000e+00 1.7289010773e-03
+4.6881562500e+00 1.1622786079e-03
+5.6256875000e+00 7.1064760687e-04
+6.5632187500e+00 3.7050372940e-04
+7.5007500000e+00 1.2250383782e-04
+8.4382812500e+00 9.3621911281e-07
+9.3758125000e+00 1.5601563950e-07
+1.0313343750e+01 1.4775617890e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4746048545e-07
+-9.3748125000e+00 1.5734265965e-07
+-8.4372812500e+00 1.1926707324e-06
+-7.4997500000e+00 1.2236800030e-04
+-6.5622187500e+00 3.7054066242e-04
+-5.6246875000e+00 7.1045170665e-04
+-4.6871562500e+00 1.1618069731e-03
+-3.7496250000e+00 1.7279403146e-03
+-2.8120937500e+00 2.3768623747e-03
+-1.8745625000e+00 3.0189203733e-03
+-9.3703125000e-01 3.5104958461e-03
+5.0000000000e-04 3.6837832048e-03
+9.3803125000e-01 3.5101261709e-03
+1.8755625000e+00 3.0182902266e-03
+2.8130937500e+00 2.3761523785e-03
+3.7506250000e+00 1.7272821381e-03
+4.6881562500e+00 1.1612627629e-03
+5.6256875000e+00 7.1003221947e-04
+6.5632187500e+00 3.7023171588e-04
+7.5007500000e+00 1.2215021442e-04
+8.4382812500e+00 1.1886190828e-06
+9.3758125000e+00 1.5732022339e-07
+1.0313343750e+01 1.4745498903e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4707761402e-07
+-9.3748125000e+00 1.5885159971e-07
+-8.4372812500e+00 1.4427553343e-06
+-7.4997500000e+00 1.2202748560e-04
+-6.5622187500e+00 3.7028148429e-04
+-5.6246875000e+00 7.0983230145e-04
+-4.6871562500e+00 1.1607928344e-03
+-3.7496250000e+00 1.7263134786e-03
+-2.8120937500e+00 2.3745104933e-03
+-1.8745625000e+00 3.0158562394e-03
+-9.3703125000e-01 3.5075291748e-03
+5.0000000000e-04 3.6779382538e-03
+9.3803125000e-01 3.5071612021e-03
+1.8755625000e+00 3.0152281066e-03
+2.8130937500e+00 2.3738012236e-03
+3.7506250000e+00 1.7256561040e-03
+4.6881562500e+00 1.1602491664e-03
+5.6256875000e+00 7.0941315971e-04
+6.5632187500e+00 3.6997298302e-04
+7.5007500000e+00 1.2181066096e-04
+8.4382812500e+00 1.4377104825e-06
+9.3758125000e+00 1.5882141335e-07
+1.0313343750e+01 1.4707206768e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4661481067e-07
+-9.3748125000e+00 1.6048685269e-07
+-8.4372812500e+00 1.6893071754e-06
+-7.4997500000e+00 1.2170016648e-04
+-6.5622187500e+00 3.7003898465e-04
+-5.6246875000e+00 7.0921515714e-04
+-4.6871562500e+00 1.1597932030e-03
+-3.7496250000e+00 1.7246982627e-03
+-2.8120937500e+00 2.3722629011e-03
+-1.8745625000e+00 3.0128957903e-03
+-9.3703125000e-01 3.5046489984e-03
+5.0000000000e-04 3.6722892104e-03
+9.3803125000e-01 3.5042871012e-03
+1.8755625000e+00 3.0122691690e-03
+2.8130937500e+00 2.3715538131e-03
+3.7506250000e+00 1.7240418717e-03
+4.6881562500e+00 1.1592500788e-03
+5.6256875000e+00 7.0879635558e-04
+6.5632187500e+00 3.6973107692e-04
+7.5007500000e+00 1.2148425262e-04
+8.4382812500e+00 1.6832781057e-06
+9.3758125000e+00 1.6044778764e-07
+1.0313343750e+01 1.4660917881e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4607389542e-07
+-9.3748125000e+00 1.6227826881e-07
+-8.4372812500e+00 1.9320871657e-06
+-7.4997500000e+00 1.2138656874e-04
+-6.5622187500e+00 3.6982678036e-04
+-5.6246875000e+00 7.0860621371e-04
+-4.6871562500e+00 1.1588571264e-03
+-3.7496250000e+00 1.7232129409e-03
+-2.8120937500e+00 2.3702158820e-03
+-1.8745625000e+00 3.0101898683e-03
+-9.3703125000e-01 3.5019255721e-03
+5.0000000000e-04 3.6671481867e-03
+9.3803125000e-01 3.5015628241e-03
+1.8755625000e+00 3.0095649554e-03
+2.8130937500e+00 2.3695073485e-03
+3.7506250000e+00 1.7225572021e-03
+4.6881562500e+00 1.1583144577e-03
+5.6256875000e+00 7.0818774819e-04
+6.5632187500e+00 3.6951957187e-04
+7.5007500000e+00 1.2117151294e-04
+8.4382812500e+00 1.9250824592e-06
+9.3758125000e+00 1.6223088037e-07
+1.0313343750e+01 1.4606814082e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/dens_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/dens_z_[16][16].xg
new file mode 100644
index 0000000..b120283
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/dens_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4815579870e-07
+-9.3748125000e+00 1.5389780837e-07
+-8.4372812500e+00 1.6116660709e-07
+-7.4997500000e+00 1.2386636971e-04
+-6.5622187500e+00 3.7172156546e-04
+-5.6246875000e+00 7.1289093645e-04
+-4.6871562500e+00 1.1658601330e-03
+-3.7496250000e+00 1.7343421185e-03
+-2.8120937500e+00 2.3861905287e-03
+-1.8745625000e+00 3.0311062063e-03
+-9.3703125000e-01 3.5218078087e-03
+5.0000000000e-04 3.7072030825e-03
+9.3803125000e-01 3.5214246401e-03
+1.8755625000e+00 3.0304710121e-03
+2.8130937500e+00 2.3854770107e-03
+3.7506250000e+00 1.7336810988e-03
+4.6881562500e+00 1.1653138020e-03
+5.6256875000e+00 7.1247004943e-04
+6.5632187500e+00 3.7141126902e-04
+7.5007500000e+00 1.2364422229e-04
+8.4382812500e+00 1.6115782720e-07
+9.3758125000e+00 1.5389096494e-07
+1.0313343750e+01 1.4815031936e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4811131585e-07
+-9.3748125000e+00 1.5421705014e-07
+-8.4372812500e+00 4.2339869211e-07
+-7.4997500000e+00 1.2347224823e-04
+-6.5622187500e+00 3.7140395142e-04
+-5.6246875000e+00 7.1228617468e-04
+-4.6871562500e+00 1.1648487263e-03
+-3.7496250000e+00 1.7327619467e-03
+-2.8120937500e+00 2.3838980929e-03
+-1.8745625000e+00 3.0280818712e-03
+-9.3703125000e-01 3.5191050085e-03
+5.0000000000e-04 3.7014083871e-03
+9.3803125000e-01 3.5187259785e-03
+1.8755625000e+00 3.0274475681e-03
+2.8130937500e+00 2.3831853914e-03
+3.7506250000e+00 1.7321016171e-03
+4.6881562500e+00 1.1643029144e-03
+5.6256875000e+00 7.1186564342e-04
+6.5632187500e+00 3.7109392139e-04
+7.5007500000e+00 1.2325126810e-04
+8.4382812500e+00 4.2237060140e-07
+9.3758125000e+00 1.5420862316e-07
+1.0313343750e+01 1.4810584041e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4797925950e-07
+-9.3748125000e+00 1.5497674873e-07
+-8.4372812500e+00 6.8277435950e-07
+-7.4997500000e+00 1.2309088718e-04
+-6.5622187500e+00 3.7110057799e-04
+-5.6246875000e+00 7.1167687140e-04
+-4.6871562500e+00 1.1638331927e-03
+-3.7496250000e+00 1.7311619217e-03
+-2.8120937500e+00 2.3815626880e-03
+-1.8745625000e+00 3.0250260497e-03
+-9.3703125000e-01 3.5162927119e-03
+5.0000000000e-04 3.6955220619e-03
+9.3803125000e-01 3.5159176144e-03
+1.8755625000e+00 3.0243928991e-03
+2.8130937500e+00 2.3808508586e-03
+3.7506250000e+00 1.7305023008e-03
+4.6881562500e+00 1.1632879102e-03
+5.6256875000e+00 7.1125669140e-04
+6.5632187500e+00 3.7079086418e-04
+7.5007500000e+00 1.2287102343e-04
+8.4382812500e+00 6.8073229368e-07
+9.3758125000e+00 1.5496491645e-07
+1.0313343750e+01 1.4797378963e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4776165282e-07
+-9.3748125000e+00 1.5603204880e-07
+-8.4372812500e+00 9.3926949917e-07
+-7.4997500000e+00 1.2272263660e-04
+-6.5622187500e+00 3.7081308250e-04
+-5.6246875000e+00 7.1106744178e-04
+-4.6871562500e+00 1.1628233583e-03
+-3.7496250000e+00 1.7295599833e-03
+-2.8120937500e+00 2.3792195953e-03
+-1.8745625000e+00 3.0219739665e-03
+-9.3703125000e-01 3.5134163554e-03
+5.0000000000e-04 3.6896333796e-03
+9.3803125000e-01 3.5130449536e-03
+1.8755625000e+00 3.0213421781e-03
+2.8130937500e+00 2.3785087027e-03
+3.7506250000e+00 1.7289010773e-03
+4.6881562500e+00 1.1622786079e-03
+5.6256875000e+00 7.1064760687e-04
+6.5632187500e+00 3.7050372940e-04
+7.5007500000e+00 1.2250383782e-04
+8.4382812500e+00 9.3621911281e-07
+9.3758125000e+00 1.5601563950e-07
+1.0313343750e+01 1.4775617890e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4746048545e-07
+-9.3748125000e+00 1.5734265965e-07
+-8.4372812500e+00 1.1926707324e-06
+-7.4997500000e+00 1.2236800030e-04
+-6.5622187500e+00 3.7054066242e-04
+-5.6246875000e+00 7.1045170665e-04
+-4.6871562500e+00 1.1618069731e-03
+-3.7496250000e+00 1.7279403146e-03
+-2.8120937500e+00 2.3768623747e-03
+-1.8745625000e+00 3.0189203733e-03
+-9.3703125000e-01 3.5104958461e-03
+5.0000000000e-04 3.6837832048e-03
+9.3803125000e-01 3.5101261709e-03
+1.8755625000e+00 3.0182902266e-03
+2.8130937500e+00 2.3761523785e-03
+3.7506250000e+00 1.7272821381e-03
+4.6881562500e+00 1.1612627629e-03
+5.6256875000e+00 7.1003221947e-04
+6.5632187500e+00 3.7023171588e-04
+7.5007500000e+00 1.2215021442e-04
+8.4382812500e+00 1.1886190828e-06
+9.3758125000e+00 1.5732022339e-07
+1.0313343750e+01 1.4745498903e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4707761402e-07
+-9.3748125000e+00 1.5885159971e-07
+-8.4372812500e+00 1.4427553343e-06
+-7.4997500000e+00 1.2202748560e-04
+-6.5622187500e+00 3.7028148429e-04
+-5.6246875000e+00 7.0983230145e-04
+-4.6871562500e+00 1.1607928344e-03
+-3.7496250000e+00 1.7263134786e-03
+-2.8120937500e+00 2.3745104933e-03
+-1.8745625000e+00 3.0158562394e-03
+-9.3703125000e-01 3.5075291748e-03
+5.0000000000e-04 3.6779382538e-03
+9.3803125000e-01 3.5071612021e-03
+1.8755625000e+00 3.0152281066e-03
+2.8130937500e+00 2.3738012236e-03
+3.7506250000e+00 1.7256561040e-03
+4.6881562500e+00 1.1602491664e-03
+5.6256875000e+00 7.0941315971e-04
+6.5632187500e+00 3.6997298302e-04
+7.5007500000e+00 1.2181066096e-04
+8.4382812500e+00 1.4377104825e-06
+9.3758125000e+00 1.5882141335e-07
+1.0313343750e+01 1.4707206768e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4661481067e-07
+-9.3748125000e+00 1.6048685269e-07
+-8.4372812500e+00 1.6893071754e-06
+-7.4997500000e+00 1.2170016648e-04
+-6.5622187500e+00 3.7003898465e-04
+-5.6246875000e+00 7.0921515714e-04
+-4.6871562500e+00 1.1597932030e-03
+-3.7496250000e+00 1.7246982627e-03
+-2.8120937500e+00 2.3722629011e-03
+-1.8745625000e+00 3.0128957903e-03
+-9.3703125000e-01 3.5046489984e-03
+5.0000000000e-04 3.6722892104e-03
+9.3803125000e-01 3.5042871012e-03
+1.8755625000e+00 3.0122691690e-03
+2.8130937500e+00 2.3715538131e-03
+3.7506250000e+00 1.7240418717e-03
+4.6881562500e+00 1.1592500788e-03
+5.6256875000e+00 7.0879635558e-04
+6.5632187500e+00 3.6973107692e-04
+7.5007500000e+00 1.2148425262e-04
+8.4382812500e+00 1.6832781057e-06
+9.3758125000e+00 1.6044778764e-07
+1.0313343750e+01 1.4660917881e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.3134970549e-07
+-1.4062468750e+01 1.3371006828e-07
+-1.3124937500e+01 1.3645081582e-07
+-1.2187406250e+01 1.3967125074e-07
+-1.1249875000e+01 1.4350825902e-07
+-1.0312343750e+01 1.4607389542e-07
+-9.3748125000e+00 1.6227826881e-07
+-8.4372812500e+00 1.9320871657e-06
+-7.4997500000e+00 1.2138656874e-04
+-6.5622187500e+00 3.6982678036e-04
+-5.6246875000e+00 7.0860621371e-04
+-4.6871562500e+00 1.1588571264e-03
+-3.7496250000e+00 1.7232129409e-03
+-2.8120937500e+00 2.3702158820e-03
+-1.8745625000e+00 3.0101898683e-03
+-9.3703125000e-01 3.5019255721e-03
+5.0000000000e-04 3.6671481867e-03
+9.3803125000e-01 3.5015628241e-03
+1.8755625000e+00 3.0095649554e-03
+2.8130937500e+00 2.3695073485e-03
+3.7506250000e+00 1.7225572021e-03
+4.6881562500e+00 1.1583144577e-03
+5.6256875000e+00 7.0818774819e-04
+6.5632187500e+00 3.6951957187e-04
+7.5007500000e+00 1.2117151294e-04
+8.4382812500e+00 1.9250824592e-06
+9.3758125000e+00 1.6223088037e-07
+1.0313343750e+01 1.4606814082e-07
+1.1250875000e+01 1.4350377552e-07
+1.2188406250e+01 1.3966751578e-07
+1.3125937500e+01 1.3644765737e-07
+1.4063468750e+01 1.3370736304e-07
+1.5001000000e+01 1.3134736286e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/eps_3D_diagonal.xg
new file mode 100644
index 0000000..73fb9aa
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 7.2219006219e-05
+-6.4945410093e+00 2.1373637815e-02
+-4.8706892506e+00 5.0455351209e-02
+-3.2468374920e+00 8.4649304100e-02
+-1.6229857333e+00 1.1520020591e-01
+8.6602540378e-04 1.2799999584e-01
+1.6247177841e+00 1.1517452780e-01
+3.2485695428e+00 8.4612544773e-02
+4.8724213015e+00 5.0420704352e-02
+6.4962730601e+00 2.1346660210e-02
+8.1201248188e+00 5.3713844673e-05
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 1.1950924101e-04
+-6.4945410093e+00 2.1373294371e-02
+-4.8706892506e+00 5.0455182021e-02
+-3.2468374920e+00 8.4650452027e-02
+-1.6229857333e+00 1.1529068559e-01
+8.6602540378e-04 1.2780104199e-01
+1.6247177841e+00 1.1526534614e-01
+3.2485695428e+00 8.4613702029e-02
+4.8724213015e+00 5.0420535786e-02
+6.4962730601e+00 2.1346316400e-02
+8.1201248188e+00 1.0133699399e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 1.6523242962e-04
+-6.4945410093e+00 2.1372248700e-02
+-4.8706892506e+00 5.0454775616e-02
+-3.2468374920e+00 8.4653595908e-02
+-1.6229857333e+00 1.1537882768e-01
+8.6602540378e-04 1.2760090563e-01
+1.6247177841e+00 1.1535380826e-01
+3.2485695428e+00 8.4616872749e-02
+4.8724213015e+00 5.0420131727e-02
+6.4962730601e+00 2.1345270989e-02
+8.1201248188e+00 1.4742856633e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 2.0932699977e-04
+-6.4945410093e+00 2.1370469148e-02
+-4.8706892506e+00 5.0454334792e-02
+-3.2468374920e+00 8.4658158875e-02
+-1.6229857333e+00 1.1546378388e-01
+8.6602540378e-04 1.2740225734e-01
+1.6247177841e+00 1.1543906450e-01
+3.2485695428e+00 8.4621477858e-02
+4.8724213015e+00 5.0419695867e-02
+6.4962730601e+00 2.1343493498e-02
+8.1201248188e+00 1.9192752059e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 2.5125449198e-04
+-6.4945410093e+00 2.1367891665e-02
+-4.8706892506e+00 5.0454089168e-02
+-3.2468374920e+00 8.4663520435e-02
+-1.6229857333e+00 1.1554577678e-01
+8.6602540378e-04 1.2720614192e-01
+1.6247177841e+00 1.1552117124e-01
+3.2485695428e+00 8.4626903765e-02
+4.8724213015e+00 5.0419453373e-02
+6.4962730601e+00 2.1340920830e-02
+8.1201248188e+00 2.3466431018e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 2.9078292216e-04
+-6.4945410093e+00 2.1364378071e-02
+-4.8706892506e+00 5.0454652917e-02
+-3.2468374920e+00 8.4668897515e-02
+-1.6229857333e+00 1.1562537040e-01
+8.6602540378e-04 1.2701111523e-01
+1.6247177841e+00 1.1560087858e-01
+3.2485695428e+00 8.4632375156e-02
+4.8724213015e+00 5.0420010320e-02
+6.4962730601e+00 2.1337417786e-02
+8.1201248188e+00 2.7501214495e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 3.2802672781e-04
+-6.4945410093e+00 2.1359689569e-02
+-4.8706892506e+00 5.0456602633e-02
+-3.2468374920e+00 8.4673904926e-02
+-1.6229857333e+00 1.1569679078e-01
+8.6602540378e-04 1.2682352636e-01
+1.6247177841e+00 1.1567281588e-01
+3.2485695428e+00 8.4637377910e-02
+4.8724213015e+00 5.0421953505e-02
+6.4962730601e+00 2.1332748273e-02
+8.1201248188e+00 3.1290649862e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e-05
+-2.4356910355e+01 1.0000000000e-05
+-2.2733058596e+01 1.0000000000e-05
+-2.1109206837e+01 1.0000000000e-05
+-1.9485355079e+01 1.0000000000e-05
+-1.7861503320e+01 1.0000000000e-05
+-1.6237651561e+01 1.0000000000e-05
+-1.4613799803e+01 1.0000000000e-05
+-1.2989948044e+01 1.0000000000e-05
+-1.1366096285e+01 1.0000000000e-05
+-9.7422445267e+00 1.0000000000e-05
+-8.1183927680e+00 3.6364365576e-04
+-6.4945410093e+00 2.1353964292e-02
+-4.8706892506e+00 5.0459367773e-02
+-3.2468374920e+00 8.4680335082e-02
+-1.6229857333e+00 1.1575625864e-01
+8.6602540378e-04 1.2665395081e-01
+1.6247177841e+00 1.1573216682e-01
+3.2485695428e+00 8.4643887131e-02
+4.8724213015e+00 5.0424708348e-02
+6.4962730601e+00 2.1327040473e-02
+8.1201248188e+00 3.4878259997e-04
+9.7439765775e+00 1.0000000000e-05
+1.1367828336e+01 1.0000000000e-05
+1.2991680095e+01 1.0000000000e-05
+1.4615531854e+01 1.0000000000e-05
+1.6239383612e+01 1.0000000000e-05
+1.7863235371e+01 1.0000000000e-05
+1.9487087130e+01 1.0000000000e-05
+2.1110938888e+01 1.0000000000e-05
+2.2734790647e+01 1.0000000000e-05
+2.4358642406e+01 1.0000000000e-05
+2.5982494164e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_maximum.xg b/test/whisky_test_tov_ppm_no_trp/eps_maximum.xg
new file mode 100644
index 0000000..cb77c27
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_maximum.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.1279999958351
+0.3515742187500 0.1278010419894
+0.7031484375000 0.1276009056282
+1.0547226562500 0.1274022573393
+1.4062968750000 0.1272061419210
+1.7578710937500 0.1270111152343
+2.1094453125000 0.1268235263578
+2.4610195312500 0.1266539508090
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_minimum.xg b/test/whisky_test_tov_ppm_no_trp/eps_minimum.xg
new file mode 100644
index 0000000..4b1b36c
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_minimum.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.0000100000000
+0.3515742187500 0.0000100000000
+0.7031484375000 0.0000100000000
+1.0547226562500 0.0000100000000
+1.4062968750000 0.0000100000000
+1.7578710937500 0.0000100000000
+2.1094453125000 0.0000100000000
+2.4610195312500 0.0000100000000
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_norm1.xg b/test/whisky_test_tov_ppm_no_trp/eps_norm1.xg
new file mode 100644
index 0000000..ef40822
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_norm1.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.0023465361261
+0.3515742187500 0.0023465644931
+0.7031484375000 0.0023466042797
+1.0547226562500 0.0023466546742
+1.4062968750000 0.0023467150517
+1.7578710937500 0.0023467846500
+2.1094453125000 0.0023468624020
+2.4610195312500 0.0023469474648
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_norm2.xg b/test/whisky_test_tov_ppm_no_trp/eps_norm2.xg
new file mode 100644
index 0000000..93c777b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_norm2.xg
@@ -0,0 +1,9 @@
+"eps v time
+0.0000000000000 0.0114469034947
+0.3515742187500 0.0114465805770
+0.7031484375000 0.0114462445833
+1.0547226562500 0.0114458925650
+1.4062968750000 0.0114455202011
+1.7578710937500 0.0114451222680
+2.1094453125000 0.0114446951391
+2.4610195312500 0.0114442297734
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/eps_x_[16][16].xg
new file mode 100644
index 0000000..bc76070
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0000000000e-05
+-8.4372812500e+00 1.0000000000e-05
+-7.4997500000e+00 7.2529424086e-03
+-6.5622187500e+00 2.0326313159e-02
+-5.6246875000e+00 3.6049890672e-02
+-4.6871562500e+00 5.4161822971e-02
+-3.7496250000e+00 7.3893919065e-02
+-2.8120937500e+00 9.3724408138e-02
+-1.8745625000e+00 1.1126260974e-01
+-9.3703125000e-01 1.2355413765e-01
+5.0000000000e-04 1.2799999584e-01
+9.3803125000e-01 1.2354484331e-01
+1.8755625000e+00 1.1124616148e-01
+2.8130937500e+00 9.3703980883e-02
+3.7506250000e+00 7.3872471271e-02
+4.6881562500e+00 5.4141445771e-02
+5.6256875000e+00 3.6031764555e-02
+6.5632187500e+00 2.0310942344e-02
+7.5007500000e+00 7.2404201366e-03
+8.4382812500e+00 1.0000000000e-05
+9.3758125000e+00 1.0000000000e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0010655644e-05
+-8.4372812500e+00 2.6241155235e-05
+-7.4997500000e+00 7.2298671848e-03
+-6.5622187500e+00 2.0308959760e-02
+-5.6246875000e+00 3.6019340229e-02
+-4.6871562500e+00 5.4114907409e-02
+-3.7496250000e+00 7.3826761295e-02
+-2.8120937500e+00 9.3634734507e-02
+-1.8745625000e+00 1.1115227820e-01
+-9.3703125000e-01 1.2346033836e-01
+5.0000000000e-04 1.2780104199e-01
+9.3803125000e-01 1.2345118579e-01
+1.8755625000e+00 1.1113585542e-01
+2.8130937500e+00 9.3614331742e-02
+3.7506250000e+00 7.3805336636e-02
+4.6881562500e+00 5.4094549924e-02
+5.6256875000e+00 3.6001229398e-02
+6.5632187500e+00 2.0293602135e-02
+7.5007500000e+00 7.2174116966e-03
+8.4382812500e+00 2.6178887118e-05
+9.3758125000e+00 1.0010553775e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0059768001e-05
+-8.4372812500e+00 4.2315251095e-05
+-7.4997500000e+00 7.2075415022e-03
+-6.5622187500e+00 2.0292408507e-02
+-5.6246875000e+00 3.5988614435e-02
+-4.6871562500e+00 5.4067924002e-02
+-3.7496250000e+00 7.3759056206e-02
+-2.8120937500e+00 9.3544037853e-02
+-1.8745625000e+00 1.1104203256e-01
+-9.3703125000e-01 1.2336458225e-01
+5.0000000000e-04 1.2760090563e-01
+9.3803125000e-01 1.2335556376e-01
+1.8755625000e+00 1.1102564413e-01
+2.8130937500e+00 9.3523661114e-02
+3.7506250000e+00 7.3737655121e-02
+4.6881562500e+00 5.4047586572e-02
+5.6256875000e+00 3.5970518597e-02
+6.5632187500e+00 2.0277066824e-02
+7.5007500000e+00 7.1951498503e-03
+8.4382812500e+00 4.2191037023e-05
+9.3758125000e+00 1.0059447272e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0127932421e-05
+-8.4372812500e+00 5.8212363088e-05
+-7.4997500000e+00 7.1859839241e-03
+-6.5622187500e+00 2.0276739840e-02
+-5.6246875000e+00 3.5957923861e-02
+-4.6871562500e+00 5.4021304679e-02
+-3.7496250000e+00 7.3691516621e-02
+-2.8120937500e+00 9.3453597074e-02
+-1.8745625000e+00 1.1093297669e-01
+-9.3703125000e-01 1.2326819384e-01
+5.0000000000e-04 1.2740225734e-01
+9.3803125000e-01 1.2325930096e-01
+1.8755625000e+00 1.1091662980e-01
+2.8130937500e+00 9.3433248448e-02
+3.7506250000e+00 7.3670139135e-02
+4.6881562500e+00 5.4000987355e-02
+5.6256875000e+00 3.5939842665e-02
+6.5632187500e+00 2.0261416565e-02
+7.5007500000e+00 7.1736531668e-03
+8.4382812500e+00 5.8026534923e-05
+9.3758125000e+00 1.0127317628e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0212531899e-05
+-8.4372812500e+00 7.3919312657e-05
+-7.4997500000e+00 7.1652245388e-03
+-6.5622187500e+00 2.0261898608e-02
+-5.6246875000e+00 3.5926945361e-02
+-4.6871562500e+00 5.3974466345e-02
+-3.7496250000e+00 7.3623437215e-02
+-2.8120937500e+00 9.3363078754e-02
+-1.8745625000e+00 1.1082475201e-01
+-9.3703125000e-01 1.2317157206e-01
+5.0000000000e-04 1.2720614192e-01
+9.3803125000e-01 1.2316273570e-01
+1.8755625000e+00 1.1080845661e-01
+2.8130937500e+00 9.3342756272e-02
+3.7506250000e+00 7.3602083681e-02
+4.6881562500e+00 5.3954169391e-02
+5.6256875000e+00 3.5908878869e-02
+6.5632187500e+00 2.0246596277e-02
+7.5007500000e+00 7.1529517069e-03
+8.4382812500e+00 7.3672287497e-05
+9.3758125000e+00 1.0211529635e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0309867525e-05
+-8.4372812500e+00 8.9422084903e-05
+-7.4997500000e+00 7.1452951828e-03
+-6.5622187500e+00 2.0247772467e-02
+-5.6246875000e+00 3.5895801937e-02
+-4.6871562500e+00 5.3927812824e-02
+-3.7496250000e+00 7.3555255309e-02
+-2.8120937500e+00 9.3273195047e-02
+-1.8745625000e+00 1.1071688788e-01
+-9.3703125000e-01 1.2307433917e-01
+5.0000000000e-04 1.2701111523e-01
+9.3803125000e-01 1.2306555852e-01
+1.8755625000e+00 1.1070065753e-01
+2.8130937500e+00 9.3252891807e-02
+3.7506250000e+00 7.3533928608e-02
+4.6881562500e+00 5.3907536252e-02
+5.6256875000e+00 3.5877749959e-02
+6.5632187500e+00 2.0232493221e-02
+7.5007500000e+00 7.1330773052e-03
+8.4382812500e+00 8.9114340863e-05
+9.3758125000e+00 1.0308366419e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0415262870e-05
+-8.4372812500e+00 1.0470686985e-04
+-7.4997500000e+00 7.1261430736e-03
+-6.5622187500e+00 2.0234537703e-02
+-5.6246875000e+00 3.5864780291e-02
+-4.6871562500e+00 5.3881912515e-02
+-3.7496250000e+00 7.3487769083e-02
+-2.8120937500e+00 9.3187798520e-02
+-1.8745625000e+00 1.1061345155e-01
+-9.3703125000e-01 1.2298084462e-01
+5.0000000000e-04 1.2682352636e-01
+9.3803125000e-01 1.2297227331e-01
+1.8755625000e+00 1.1059726819e-01
+2.8130937500e+00 9.3167493291e-02
+3.7506250000e+00 7.3466476843e-02
+4.6881562500e+00 5.3861656356e-02
+5.6256875000e+00 3.5846742480e-02
+6.5632187500e+00 2.0219289664e-02
+7.5007500000e+00 7.1139772078e-03
+8.4382812500e+00 1.0433894214e-04
+9.3758125000e+00 1.0413189842e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0530649371e-05
+-8.4372812500e+00 1.1975830517e-04
+-7.4997500000e+00 7.1077980722e-03
+-6.5622187500e+00 2.0222930402e-02
+-5.6246875000e+00 3.5834160871e-02
+-4.6871562500e+00 5.3839038029e-02
+-3.7496250000e+00 7.3426013046e-02
+-2.8120937500e+00 9.3110638641e-02
+-1.8745625000e+00 1.1051984682e-01
+-9.3703125000e-01 1.2289325786e-01
+5.0000000000e-04 1.2665395081e-01
+9.3803125000e-01 1.2288465336e-01
+1.8755625000e+00 1.1050371846e-01
+2.8130937500e+00 9.3090346634e-02
+3.7506250000e+00 7.3404741542e-02
+4.6881562500e+00 5.3818798333e-02
+5.6256875000e+00 3.5816136913e-02
+6.5632187500e+00 2.0207719400e-02
+7.5007500000e+00 7.0956811262e-03
+8.4382812500e+00 1.1933070518e-04
+9.3758125000e+00 1.0528040773e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/eps_y_[16][16].xg
new file mode 100644
index 0000000..bc76070
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0000000000e-05
+-8.4372812500e+00 1.0000000000e-05
+-7.4997500000e+00 7.2529424086e-03
+-6.5622187500e+00 2.0326313159e-02
+-5.6246875000e+00 3.6049890672e-02
+-4.6871562500e+00 5.4161822971e-02
+-3.7496250000e+00 7.3893919065e-02
+-2.8120937500e+00 9.3724408138e-02
+-1.8745625000e+00 1.1126260974e-01
+-9.3703125000e-01 1.2355413765e-01
+5.0000000000e-04 1.2799999584e-01
+9.3803125000e-01 1.2354484331e-01
+1.8755625000e+00 1.1124616148e-01
+2.8130937500e+00 9.3703980883e-02
+3.7506250000e+00 7.3872471271e-02
+4.6881562500e+00 5.4141445771e-02
+5.6256875000e+00 3.6031764555e-02
+6.5632187500e+00 2.0310942344e-02
+7.5007500000e+00 7.2404201366e-03
+8.4382812500e+00 1.0000000000e-05
+9.3758125000e+00 1.0000000000e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0010655644e-05
+-8.4372812500e+00 2.6241155235e-05
+-7.4997500000e+00 7.2298671848e-03
+-6.5622187500e+00 2.0308959760e-02
+-5.6246875000e+00 3.6019340229e-02
+-4.6871562500e+00 5.4114907409e-02
+-3.7496250000e+00 7.3826761295e-02
+-2.8120937500e+00 9.3634734507e-02
+-1.8745625000e+00 1.1115227820e-01
+-9.3703125000e-01 1.2346033836e-01
+5.0000000000e-04 1.2780104199e-01
+9.3803125000e-01 1.2345118579e-01
+1.8755625000e+00 1.1113585542e-01
+2.8130937500e+00 9.3614331742e-02
+3.7506250000e+00 7.3805336636e-02
+4.6881562500e+00 5.4094549924e-02
+5.6256875000e+00 3.6001229398e-02
+6.5632187500e+00 2.0293602135e-02
+7.5007500000e+00 7.2174116966e-03
+8.4382812500e+00 2.6178887118e-05
+9.3758125000e+00 1.0010553775e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0059768001e-05
+-8.4372812500e+00 4.2315251095e-05
+-7.4997500000e+00 7.2075415022e-03
+-6.5622187500e+00 2.0292408507e-02
+-5.6246875000e+00 3.5988614435e-02
+-4.6871562500e+00 5.4067924002e-02
+-3.7496250000e+00 7.3759056206e-02
+-2.8120937500e+00 9.3544037853e-02
+-1.8745625000e+00 1.1104203256e-01
+-9.3703125000e-01 1.2336458225e-01
+5.0000000000e-04 1.2760090563e-01
+9.3803125000e-01 1.2335556376e-01
+1.8755625000e+00 1.1102564413e-01
+2.8130937500e+00 9.3523661114e-02
+3.7506250000e+00 7.3737655121e-02
+4.6881562500e+00 5.4047586572e-02
+5.6256875000e+00 3.5970518597e-02
+6.5632187500e+00 2.0277066824e-02
+7.5007500000e+00 7.1951498503e-03
+8.4382812500e+00 4.2191037023e-05
+9.3758125000e+00 1.0059447272e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0127932421e-05
+-8.4372812500e+00 5.8212363088e-05
+-7.4997500000e+00 7.1859839241e-03
+-6.5622187500e+00 2.0276739840e-02
+-5.6246875000e+00 3.5957923861e-02
+-4.6871562500e+00 5.4021304679e-02
+-3.7496250000e+00 7.3691516621e-02
+-2.8120937500e+00 9.3453597074e-02
+-1.8745625000e+00 1.1093297669e-01
+-9.3703125000e-01 1.2326819384e-01
+5.0000000000e-04 1.2740225734e-01
+9.3803125000e-01 1.2325930096e-01
+1.8755625000e+00 1.1091662980e-01
+2.8130937500e+00 9.3433248448e-02
+3.7506250000e+00 7.3670139135e-02
+4.6881562500e+00 5.4000987355e-02
+5.6256875000e+00 3.5939842665e-02
+6.5632187500e+00 2.0261416565e-02
+7.5007500000e+00 7.1736531668e-03
+8.4382812500e+00 5.8026534923e-05
+9.3758125000e+00 1.0127317628e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0212531899e-05
+-8.4372812500e+00 7.3919312657e-05
+-7.4997500000e+00 7.1652245388e-03
+-6.5622187500e+00 2.0261898608e-02
+-5.6246875000e+00 3.5926945361e-02
+-4.6871562500e+00 5.3974466345e-02
+-3.7496250000e+00 7.3623437215e-02
+-2.8120937500e+00 9.3363078754e-02
+-1.8745625000e+00 1.1082475201e-01
+-9.3703125000e-01 1.2317157206e-01
+5.0000000000e-04 1.2720614192e-01
+9.3803125000e-01 1.2316273570e-01
+1.8755625000e+00 1.1080845661e-01
+2.8130937500e+00 9.3342756272e-02
+3.7506250000e+00 7.3602083681e-02
+4.6881562500e+00 5.3954169391e-02
+5.6256875000e+00 3.5908878869e-02
+6.5632187500e+00 2.0246596277e-02
+7.5007500000e+00 7.1529517069e-03
+8.4382812500e+00 7.3672287497e-05
+9.3758125000e+00 1.0211529635e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0309867525e-05
+-8.4372812500e+00 8.9422084903e-05
+-7.4997500000e+00 7.1452951828e-03
+-6.5622187500e+00 2.0247772467e-02
+-5.6246875000e+00 3.5895801937e-02
+-4.6871562500e+00 5.3927812824e-02
+-3.7496250000e+00 7.3555255309e-02
+-2.8120937500e+00 9.3273195047e-02
+-1.8745625000e+00 1.1071688788e-01
+-9.3703125000e-01 1.2307433917e-01
+5.0000000000e-04 1.2701111523e-01
+9.3803125000e-01 1.2306555852e-01
+1.8755625000e+00 1.1070065753e-01
+2.8130937500e+00 9.3252891807e-02
+3.7506250000e+00 7.3533928608e-02
+4.6881562500e+00 5.3907536252e-02
+5.6256875000e+00 3.5877749959e-02
+6.5632187500e+00 2.0232493221e-02
+7.5007500000e+00 7.1330773052e-03
+8.4382812500e+00 8.9114340863e-05
+9.3758125000e+00 1.0308366419e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0415262870e-05
+-8.4372812500e+00 1.0470686985e-04
+-7.4997500000e+00 7.1261430736e-03
+-6.5622187500e+00 2.0234537703e-02
+-5.6246875000e+00 3.5864780291e-02
+-4.6871562500e+00 5.3881912515e-02
+-3.7496250000e+00 7.3487769083e-02
+-2.8120937500e+00 9.3187798520e-02
+-1.8745625000e+00 1.1061345155e-01
+-9.3703125000e-01 1.2298084462e-01
+5.0000000000e-04 1.2682352636e-01
+9.3803125000e-01 1.2297227331e-01
+1.8755625000e+00 1.1059726819e-01
+2.8130937500e+00 9.3167493291e-02
+3.7506250000e+00 7.3466476843e-02
+4.6881562500e+00 5.3861656356e-02
+5.6256875000e+00 3.5846742480e-02
+6.5632187500e+00 2.0219289664e-02
+7.5007500000e+00 7.1139772078e-03
+8.4382812500e+00 1.0433894214e-04
+9.3758125000e+00 1.0413189842e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0530649371e-05
+-8.4372812500e+00 1.1975830517e-04
+-7.4997500000e+00 7.1077980722e-03
+-6.5622187500e+00 2.0222930402e-02
+-5.6246875000e+00 3.5834160871e-02
+-4.6871562500e+00 5.3839038029e-02
+-3.7496250000e+00 7.3426013046e-02
+-2.8120937500e+00 9.3110638641e-02
+-1.8745625000e+00 1.1051984682e-01
+-9.3703125000e-01 1.2289325786e-01
+5.0000000000e-04 1.2665395081e-01
+9.3803125000e-01 1.2288465336e-01
+1.8755625000e+00 1.1050371846e-01
+2.8130937500e+00 9.3090346634e-02
+3.7506250000e+00 7.3404741542e-02
+4.6881562500e+00 5.3818798333e-02
+5.6256875000e+00 3.5816136913e-02
+6.5632187500e+00 2.0207719400e-02
+7.5007500000e+00 7.0956811262e-03
+8.4382812500e+00 1.1933070518e-04
+9.3758125000e+00 1.0528040773e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm_no_trp/eps_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/eps_z_[16][16].xg
new file mode 100644
index 0000000..bc76070
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/eps_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0000000000e-05
+-8.4372812500e+00 1.0000000000e-05
+-7.4997500000e+00 7.2529424086e-03
+-6.5622187500e+00 2.0326313159e-02
+-5.6246875000e+00 3.6049890672e-02
+-4.6871562500e+00 5.4161822971e-02
+-3.7496250000e+00 7.3893919065e-02
+-2.8120937500e+00 9.3724408138e-02
+-1.8745625000e+00 1.1126260974e-01
+-9.3703125000e-01 1.2355413765e-01
+5.0000000000e-04 1.2799999584e-01
+9.3803125000e-01 1.2354484331e-01
+1.8755625000e+00 1.1124616148e-01
+2.8130937500e+00 9.3703980883e-02
+3.7506250000e+00 7.3872471271e-02
+4.6881562500e+00 5.4141445771e-02
+5.6256875000e+00 3.6031764555e-02
+6.5632187500e+00 2.0310942344e-02
+7.5007500000e+00 7.2404201366e-03
+8.4382812500e+00 1.0000000000e-05
+9.3758125000e+00 1.0000000000e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0010655644e-05
+-8.4372812500e+00 2.6241155235e-05
+-7.4997500000e+00 7.2298671848e-03
+-6.5622187500e+00 2.0308959760e-02
+-5.6246875000e+00 3.6019340229e-02
+-4.6871562500e+00 5.4114907409e-02
+-3.7496250000e+00 7.3826761295e-02
+-2.8120937500e+00 9.3634734507e-02
+-1.8745625000e+00 1.1115227820e-01
+-9.3703125000e-01 1.2346033836e-01
+5.0000000000e-04 1.2780104199e-01
+9.3803125000e-01 1.2345118579e-01
+1.8755625000e+00 1.1113585542e-01
+2.8130937500e+00 9.3614331742e-02
+3.7506250000e+00 7.3805336636e-02
+4.6881562500e+00 5.4094549924e-02
+5.6256875000e+00 3.6001229398e-02
+6.5632187500e+00 2.0293602135e-02
+7.5007500000e+00 7.2174116966e-03
+8.4382812500e+00 2.6178887118e-05
+9.3758125000e+00 1.0010553775e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0059768001e-05
+-8.4372812500e+00 4.2315251095e-05
+-7.4997500000e+00 7.2075415022e-03
+-6.5622187500e+00 2.0292408507e-02
+-5.6246875000e+00 3.5988614435e-02
+-4.6871562500e+00 5.4067924002e-02
+-3.7496250000e+00 7.3759056206e-02
+-2.8120937500e+00 9.3544037853e-02
+-1.8745625000e+00 1.1104203256e-01
+-9.3703125000e-01 1.2336458225e-01
+5.0000000000e-04 1.2760090563e-01
+9.3803125000e-01 1.2335556376e-01
+1.8755625000e+00 1.1102564413e-01
+2.8130937500e+00 9.3523661114e-02
+3.7506250000e+00 7.3737655121e-02
+4.6881562500e+00 5.4047586572e-02
+5.6256875000e+00 3.5970518597e-02
+6.5632187500e+00 2.0277066824e-02
+7.5007500000e+00 7.1951498503e-03
+8.4382812500e+00 4.2191037023e-05
+9.3758125000e+00 1.0059447272e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0127932421e-05
+-8.4372812500e+00 5.8212363088e-05
+-7.4997500000e+00 7.1859839241e-03
+-6.5622187500e+00 2.0276739840e-02
+-5.6246875000e+00 3.5957923861e-02
+-4.6871562500e+00 5.4021304679e-02
+-3.7496250000e+00 7.3691516621e-02
+-2.8120937500e+00 9.3453597074e-02
+-1.8745625000e+00 1.1093297669e-01
+-9.3703125000e-01 1.2326819384e-01
+5.0000000000e-04 1.2740225734e-01
+9.3803125000e-01 1.2325930096e-01
+1.8755625000e+00 1.1091662980e-01
+2.8130937500e+00 9.3433248448e-02
+3.7506250000e+00 7.3670139135e-02
+4.6881562500e+00 5.4000987355e-02
+5.6256875000e+00 3.5939842665e-02
+6.5632187500e+00 2.0261416565e-02
+7.5007500000e+00 7.1736531668e-03
+8.4382812500e+00 5.8026534923e-05
+9.3758125000e+00 1.0127317628e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0212531899e-05
+-8.4372812500e+00 7.3919312657e-05
+-7.4997500000e+00 7.1652245388e-03
+-6.5622187500e+00 2.0261898608e-02
+-5.6246875000e+00 3.5926945361e-02
+-4.6871562500e+00 5.3974466345e-02
+-3.7496250000e+00 7.3623437215e-02
+-2.8120937500e+00 9.3363078754e-02
+-1.8745625000e+00 1.1082475201e-01
+-9.3703125000e-01 1.2317157206e-01
+5.0000000000e-04 1.2720614192e-01
+9.3803125000e-01 1.2316273570e-01
+1.8755625000e+00 1.1080845661e-01
+2.8130937500e+00 9.3342756272e-02
+3.7506250000e+00 7.3602083681e-02
+4.6881562500e+00 5.3954169391e-02
+5.6256875000e+00 3.5908878869e-02
+6.5632187500e+00 2.0246596277e-02
+7.5007500000e+00 7.1529517069e-03
+8.4382812500e+00 7.3672287497e-05
+9.3758125000e+00 1.0211529635e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0309867525e-05
+-8.4372812500e+00 8.9422084903e-05
+-7.4997500000e+00 7.1452951828e-03
+-6.5622187500e+00 2.0247772467e-02
+-5.6246875000e+00 3.5895801937e-02
+-4.6871562500e+00 5.3927812824e-02
+-3.7496250000e+00 7.3555255309e-02
+-2.8120937500e+00 9.3273195047e-02
+-1.8745625000e+00 1.1071688788e-01
+-9.3703125000e-01 1.2307433917e-01
+5.0000000000e-04 1.2701111523e-01
+9.3803125000e-01 1.2306555852e-01
+1.8755625000e+00 1.1070065753e-01
+2.8130937500e+00 9.3252891807e-02
+3.7506250000e+00 7.3533928608e-02
+4.6881562500e+00 5.3907536252e-02
+5.6256875000e+00 3.5877749959e-02
+6.5632187500e+00 2.0232493221e-02
+7.5007500000e+00 7.1330773052e-03
+8.4382812500e+00 8.9114340863e-05
+9.3758125000e+00 1.0308366419e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0415262870e-05
+-8.4372812500e+00 1.0470686985e-04
+-7.4997500000e+00 7.1261430736e-03
+-6.5622187500e+00 2.0234537703e-02
+-5.6246875000e+00 3.5864780291e-02
+-4.6871562500e+00 5.3881912515e-02
+-3.7496250000e+00 7.3487769083e-02
+-2.8120937500e+00 9.3187798520e-02
+-1.8745625000e+00 1.1061345155e-01
+-9.3703125000e-01 1.2298084462e-01
+5.0000000000e-04 1.2682352636e-01
+9.3803125000e-01 1.2297227331e-01
+1.8755625000e+00 1.1059726819e-01
+2.8130937500e+00 9.3167493291e-02
+3.7506250000e+00 7.3466476843e-02
+4.6881562500e+00 5.3861656356e-02
+5.6256875000e+00 3.5846742480e-02
+6.5632187500e+00 2.0219289664e-02
+7.5007500000e+00 7.1139772078e-03
+8.4382812500e+00 1.0433894214e-04
+9.3758125000e+00 1.0413189842e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-05
+-1.4062468750e+01 1.0000000000e-05
+-1.3124937500e+01 1.0000000000e-05
+-1.2187406250e+01 1.0000000000e-05
+-1.1249875000e+01 1.0000000000e-05
+-1.0312343750e+01 1.0000000000e-05
+-9.3748125000e+00 1.0530649371e-05
+-8.4372812500e+00 1.1975830517e-04
+-7.4997500000e+00 7.1077980722e-03
+-6.5622187500e+00 2.0222930402e-02
+-5.6246875000e+00 3.5834160871e-02
+-4.6871562500e+00 5.3839038029e-02
+-3.7496250000e+00 7.3426013046e-02
+-2.8120937500e+00 9.3110638641e-02
+-1.8745625000e+00 1.1051984682e-01
+-9.3703125000e-01 1.2289325786e-01
+5.0000000000e-04 1.2665395081e-01
+9.3803125000e-01 1.2288465336e-01
+1.8755625000e+00 1.1050371846e-01
+2.8130937500e+00 9.3090346634e-02
+3.7506250000e+00 7.3404741542e-02
+4.6881562500e+00 5.3818798333e-02
+5.6256875000e+00 3.5816136913e-02
+6.5632187500e+00 2.0207719400e-02
+7.5007500000e+00 7.0956811262e-03
+8.4382812500e+00 1.1933070518e-04
+9.3758125000e+00 1.0528040773e-05
+1.0313343750e+01 1.0000000000e-05
+1.1250875000e+01 1.0000000000e-05
+1.2188406250e+01 1.0000000000e-05
+1.3125937500e+01 1.0000000000e-05
+1.4063468750e+01 1.0000000000e-05
+1.5001000000e+01 1.0000000000e-05
diff --git a/test/whisky_test_tov_ppm_no_trp/gxx_maximum.xg b/test/whisky_test_tov_ppm_no_trp/gxx_maximum.xg
new file mode 100644
index 0000000..f8cb6f3
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxx_maximum.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 2.0318467472317
+0.3515742187500 2.0318348574011
+0.7031484375000 2.0318018981571
+1.0547226562500 2.0317521489097
+1.4062968750000 2.0316894325445
+1.7578710937500 2.0316168351709
+2.1094453125000 2.0315368355809
+2.4610195312500 2.0314515963691
diff --git a/test/whisky_test_tov_ppm_no_trp/gxx_minimum.xg b/test/whisky_test_tov_ppm_no_trp/gxx_minimum.xg
new file mode 100644
index 0000000..e449995
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxx_minimum.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 1.1122119022998
+0.3515742187500 1.1122110650347
+0.7031484375000 1.1122108620858
+1.0547226562500 1.1122107758295
+1.4062968750000 1.1122106742026
+1.7578710937500 1.1122105337130
+2.1094453125000 1.1122103499272
+2.4610195312500 1.1122101244792
diff --git a/test/whisky_test_tov_ppm_no_trp/gxx_norm1.xg b/test/whisky_test_tov_ppm_no_trp/gxx_norm1.xg
new file mode 100644
index 0000000..1fc8a53
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxx_norm1.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 1.2317730312624
+0.3515742187500 1.2317724613056
+0.7031484375000 1.2317724088591
+1.0547226562500 1.2317725544875
+1.4062968750000 1.2317728180583
+1.7578710937500 1.2317731757029
+2.1094453125000 1.2317736207563
+2.4610195312500 1.2317741541003
diff --git a/test/whisky_test_tov_ppm_no_trp/gxx_norm2.xg b/test/whisky_test_tov_ppm_no_trp/gxx_norm2.xg
new file mode 100644
index 0000000..3bace3a
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxx_norm2.xg
@@ -0,0 +1,9 @@
+"gxx v time
+0.0000000000000 1.2369502262701
+0.3515742187500 1.2369496724905
+0.7031484375000 1.2369495941438
+1.0547226562500 1.2369496877432
+1.4062968750000 1.2369498781984
+1.7578710937500 1.2369501446103
+2.1094453125000 1.2369504829299
+2.4610195312500 1.2369508966532
diff --git a/test/whisky_test_tov_ppm_no_trp/gxy_maximum.xg b/test/whisky_test_tov_ppm_no_trp/gxy_maximum.xg
new file mode 100644
index 0000000..738b5af
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxy_maximum.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000003878200
+0.7031484375000 0.0000013783129
+1.0547226562500 0.0000046012119
+1.4062968750000 0.0000103317902
+1.7578710937500 0.0000175567325
+2.1094453125000 0.0000253476090
+2.4610195312500 0.0000318400076
diff --git a/test/whisky_test_tov_ppm_no_trp/gxy_minimum.xg b/test/whisky_test_tov_ppm_no_trp/gxy_minimum.xg
new file mode 100644
index 0000000..33b1893
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxy_minimum.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000003877751
+0.7031484375000 -0.0000013781745
+1.0547226562500 -0.0000046125506
+1.4062968750000 -0.0000103549986
+1.7578710937500 -0.0000176017220
+2.1094453125000 -0.0000254055161
+2.4610195312500 -0.0000319005449
diff --git a/test/whisky_test_tov_ppm_no_trp/gxy_norm1.xg b/test/whisky_test_tov_ppm_no_trp/gxy_norm1.xg
new file mode 100644
index 0000000..ba77c3b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxy_norm1.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000085714
+0.7031484375000 0.0000000435813
+1.0547226562500 0.0000001247891
+1.4062968750000 0.0000002646876
+1.7578710937500 0.0000004670885
+2.1094453125000 0.0000007449413
+2.4610195312500 0.0000011518904
diff --git a/test/whisky_test_tov_ppm_no_trp/gxy_norm2.xg b/test/whisky_test_tov_ppm_no_trp/gxy_norm2.xg
new file mode 100644
index 0000000..95f506e
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxy_norm2.xg
@@ -0,0 +1,9 @@
+"gxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000275867
+0.7031484375000 0.0000001306635
+1.0547226562500 0.0000003797611
+1.4062968750000 0.0000007955318
+1.7578710937500 0.0000013574852
+2.1094453125000 0.0000020565139
+2.4610195312500 0.0000029297839
diff --git a/test/whisky_test_tov_ppm_no_trp/gxz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/gxz_maximum.xg
new file mode 100644
index 0000000..e1912ce
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxz_maximum.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000003878200
+0.7031484375000 0.0000013783129
+1.0547226562500 0.0000046012119
+1.4062968750000 0.0000103317902
+1.7578710937500 0.0000175567325
+2.1094453125000 0.0000253476090
+2.4610195312500 0.0000318400076
diff --git a/test/whisky_test_tov_ppm_no_trp/gxz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/gxz_minimum.xg
new file mode 100644
index 0000000..f29c571
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxz_minimum.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000003877751
+0.7031484375000 -0.0000013781745
+1.0547226562500 -0.0000046125506
+1.4062968750000 -0.0000103549986
+1.7578710937500 -0.0000176017220
+2.1094453125000 -0.0000254055161
+2.4610195312500 -0.0000319005449
diff --git a/test/whisky_test_tov_ppm_no_trp/gxz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/gxz_norm1.xg
new file mode 100644
index 0000000..eed1b03
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxz_norm1.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000085714
+0.7031484375000 0.0000000435813
+1.0547226562500 0.0000001247892
+1.4062968750000 0.0000002646878
+1.7578710937500 0.0000004670887
+2.1094453125000 0.0000007449415
+2.4610195312500 0.0000011518906
diff --git a/test/whisky_test_tov_ppm_no_trp/gxz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/gxz_norm2.xg
new file mode 100644
index 0000000..c0f6320
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gxz_norm2.xg
@@ -0,0 +1,9 @@
+"gxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000275867
+0.7031484375000 0.0000001306635
+1.0547226562500 0.0000003797611
+1.4062968750000 0.0000007955318
+1.7578710937500 0.0000013574852
+2.1094453125000 0.0000020565139
+2.4610195312500 0.0000029297839
diff --git a/test/whisky_test_tov_ppm_no_trp/gyy_maximum.xg b/test/whisky_test_tov_ppm_no_trp/gyy_maximum.xg
new file mode 100644
index 0000000..b210107
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyy_maximum.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 2.0318467472317
+0.3515742187500 2.0318348574011
+0.7031484375000 2.0318018981571
+1.0547226562500 2.0317521489097
+1.4062968750000 2.0316894325445
+1.7578710937500 2.0316168351709
+2.1094453125000 2.0315368355809
+2.4610195312500 2.0314515963691
diff --git a/test/whisky_test_tov_ppm_no_trp/gyy_minimum.xg b/test/whisky_test_tov_ppm_no_trp/gyy_minimum.xg
new file mode 100644
index 0000000..15c60b2
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyy_minimum.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 1.1122119022998
+0.3515742187500 1.1122110650752
+0.7031484375000 1.1122108622215
+1.0547226562500 1.1122107758527
+1.4062968750000 1.1122106738893
+1.7578710937500 1.1122105331856
+2.1094453125000 1.1122103495007
+2.4610195312500 1.1122101243958
diff --git a/test/whisky_test_tov_ppm_no_trp/gyy_norm1.xg b/test/whisky_test_tov_ppm_no_trp/gyy_norm1.xg
new file mode 100644
index 0000000..5120936
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyy_norm1.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 1.2317730312624
+0.3515742187500 1.2317724613060
+0.7031484375000 1.2317724088606
+1.0547226562500 1.2317725544888
+1.4062968750000 1.2317728180570
+1.7578710937500 1.2317731756988
+2.1094453125000 1.2317736207513
+2.4610195312500 1.2317741540969
diff --git a/test/whisky_test_tov_ppm_no_trp/gyy_norm2.xg b/test/whisky_test_tov_ppm_no_trp/gyy_norm2.xg
new file mode 100644
index 0000000..41784fc
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyy_norm2.xg
@@ -0,0 +1,9 @@
+"gyy v time
+0.0000000000000 1.2369502262701
+0.3515742187500 1.2369496724909
+0.7031484375000 1.2369495941452
+1.0547226562500 1.2369496877444
+1.4062968750000 1.2369498781972
+1.7578710937500 1.2369501446066
+2.1094453125000 1.2369504829253
+2.4610195312500 1.2369508966501
diff --git a/test/whisky_test_tov_ppm_no_trp/gyz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/gyz_maximum.xg
new file mode 100644
index 0000000..c9194ae
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyz_maximum.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000003878200
+0.7031484375000 0.0000013783129
+1.0547226562500 0.0000046012119
+1.4062968750000 0.0000103317902
+1.7578710937500 0.0000175567325
+2.1094453125000 0.0000253476090
+2.4610195312500 0.0000318400076
diff --git a/test/whisky_test_tov_ppm_no_trp/gyz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/gyz_minimum.xg
new file mode 100644
index 0000000..13755c9
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyz_minimum.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000003877751
+0.7031484375000 -0.0000013781745
+1.0547226562500 -0.0000046125506
+1.4062968750000 -0.0000103549986
+1.7578710937500 -0.0000176017220
+2.1094453125000 -0.0000254055161
+2.4610195312500 -0.0000319005449
diff --git a/test/whisky_test_tov_ppm_no_trp/gyz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/gyz_norm1.xg
new file mode 100644
index 0000000..62e553e
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyz_norm1.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000085714
+0.7031484375000 0.0000000435813
+1.0547226562500 0.0000001247893
+1.4062968750000 0.0000002646879
+1.7578710937500 0.0000004670889
+2.1094453125000 0.0000007449418
+2.4610195312500 0.0000011518909
diff --git a/test/whisky_test_tov_ppm_no_trp/gyz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/gyz_norm2.xg
new file mode 100644
index 0000000..5871e06
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gyz_norm2.xg
@@ -0,0 +1,9 @@
+"gyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000275867
+0.7031484375000 0.0000001306635
+1.0547226562500 0.0000003797611
+1.4062968750000 0.0000007955318
+1.7578710937500 0.0000013574852
+2.1094453125000 0.0000020565139
+2.4610195312500 0.0000029297839
diff --git a/test/whisky_test_tov_ppm_no_trp/gzz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/gzz_maximum.xg
new file mode 100644
index 0000000..17eaa0e
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gzz_maximum.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 2.0318467472317
+0.3515742187500 2.0318348574011
+0.7031484375000 2.0318018981571
+1.0547226562500 2.0317521489097
+1.4062968750000 2.0316894325445
+1.7578710937500 2.0316168351709
+2.1094453125000 2.0315368355809
+2.4610195312500 2.0314515963691
diff --git a/test/whisky_test_tov_ppm_no_trp/gzz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/gzz_minimum.xg
new file mode 100644
index 0000000..df82e5e
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gzz_minimum.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 1.1122119022998
+0.3515742187500 1.1122110651132
+0.7031484375000 1.1122108623503
+1.0547226562500 1.1122107758819
+1.4062968750000 1.1122106736052
+1.7578710937500 1.1122105326934
+2.1094453125000 1.1122103490884
+2.4610195312500 1.1122101242946
diff --git a/test/whisky_test_tov_ppm_no_trp/gzz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/gzz_norm1.xg
new file mode 100644
index 0000000..b94e91f
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gzz_norm1.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 1.2317730312624
+0.3515742187500 1.2317724613064
+0.7031484375000 1.2317724088621
+1.0547226562500 1.2317725544900
+1.4062968750000 1.2317728180557
+1.7578710937500 1.2317731756947
+2.1094453125000 1.2317736207463
+2.4610195312500 1.2317741540935
diff --git a/test/whisky_test_tov_ppm_no_trp/gzz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/gzz_norm2.xg
new file mode 100644
index 0000000..f20874c
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/gzz_norm2.xg
@@ -0,0 +1,9 @@
+"gzz v time
+0.0000000000000 1.2369502262701
+0.3515742187500 1.2369496724912
+0.7031484375000 1.2369495941466
+1.0547226562500 1.2369496877456
+1.4062968750000 1.2369498781960
+1.7578710937500 1.2369501446029
+2.1094453125000 1.2369504829207
+2.4610195312500 1.2369508966470
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/ham_3D_diagonal.xg
new file mode 100644
index 0000000..5e8d4d5
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -3.8646695864e-06
+-2.2733058596e+01 -3.4024767522e-06
+-2.1109206837e+01 -2.7012002542e-06
+-1.9485355079e+01 -1.6034050617e-06
+-1.7861503320e+01 1.7863415752e-07
+-1.6237651561e+01 3.1976861391e-06
+-1.4613799803e+01 8.5802810323e-06
+-1.2989948044e+01 1.8791001314e-05
+-1.1366096285e+01 3.9712084940e-05
+-9.7422445267e+00 8.7006696802e-05
+-8.1183927680e+00 6.1589700896e-04
+-6.4945410093e+00 8.0147961087e-05
+-4.8706892506e+00 -6.5166739023e-05
+-3.2468374920e+00 -4.5843182601e-04
+-1.6229857333e+00 -1.0737542848e-03
+8.6602540378e-04 -1.4208417833e-03
+1.6247177841e+00 -1.0731171951e-03
+3.2485695428e+00 -4.5785403488e-04
+4.8724213015e+00 -6.4902393268e-05
+6.4962730601e+00 8.0217824750e-05
+8.1201248188e+00 6.2047116178e-04
+9.7439765775e+00 8.6930516075e-05
+1.1367828336e+01 3.9680047393e-05
+1.2991680095e+01 1.8775952478e-05
+1.4615531854e+01 8.5726177543e-06
+1.6239383612e+01 3.1934980155e-06
+1.7863235371e+01 1.7620509363e-07
+1.9487087130e+01 -1.6048753838e-06
+2.1110938888e+01 -2.7021205952e-06
+2.2734790647e+01 -3.4030783083e-06
+2.4358642406e+01 -3.8650709308e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.4239099908e-06
+-2.2733058596e+01 -3.4164768424e-06
+-2.1109206837e+01 -2.7010386092e-06
+-1.9485355079e+01 -1.6030757843e-06
+-1.7861503320e+01 1.7927100172e-07
+-1.6237651561e+01 3.1988761852e-06
+-1.4613799803e+01 8.5829727241e-06
+-1.2989948044e+01 1.8797632968e-05
+-1.1366096285e+01 3.9729835493e-05
+-9.7422445267e+00 8.7055667338e-05
+-8.1183927680e+00 6.2616124015e-04
+-6.4945410093e+00 8.1013048011e-05
+-4.8706892506e+00 -6.4347793460e-05
+-3.2468374920e+00 -4.5897528280e-04
+-1.6229857333e+00 -1.1327387623e-03
+8.6602540378e-04 -1.2969377409e-03
+1.6247177841e+00 -1.1323085450e-03
+3.2485695428e+00 -4.5840063117e-04
+4.8724213015e+00 -6.4083557747e-05
+6.4962730601e+00 8.1082902138e-05
+8.1201248188e+00 6.3089288364e-04
+9.7439765775e+00 8.6979335224e-05
+1.1367828336e+01 3.9697818099e-05
+1.2991680095e+01 1.8782540754e-05
+1.4615531854e+01 8.5754213565e-06
+1.6239383612e+01 3.1947819190e-06
+1.7863235371e+01 1.7679235040e-07
+1.9487087130e+01 -1.6045709352e-06
+2.1110938888e+01 -2.7019371101e-06
+2.2734790647e+01 -3.4170856972e-06
+2.4358642406e+01 -2.4248126019e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.3287281395e-06
+-2.2733058596e+01 -3.4692107825e-06
+-2.1109206837e+01 -2.6993171544e-06
+-1.9485355079e+01 -1.6030887247e-06
+-1.7861503320e+01 1.8104160278e-07
+-1.6237651561e+01 3.2024771751e-06
+-1.4613799803e+01 8.5908545071e-06
+-1.2989948044e+01 1.8816523237e-05
+-1.1366096285e+01 3.9779467601e-05
+-9.7422445267e+00 8.6831125390e-05
+-8.1183927680e+00 6.4773397918e-04
+-6.4945410093e+00 8.3155502835e-05
+-4.8706892506e+00 -6.2012747556e-05
+-3.2468374920e+00 -4.5996231523e-04
+-1.6229857333e+00 -1.1981575388e-03
+8.6602540378e-04 -1.1726472508e-03
+1.6247177841e+00 -1.1979286512e-03
+3.2485695428e+00 -4.5939340021e-04
+4.8724213015e+00 -6.1749347816e-05
+6.4962730601e+00 8.3221185976e-05
+8.1201248188e+00 6.5294931870e-04
+9.7439765775e+00 8.6753267048e-05
+1.1367828336e+01 3.9747444211e-05
+1.2991680095e+01 1.8801390499e-05
+1.4615531854e+01 8.5834069794e-06
+1.6239383612e+01 3.1984276091e-06
+1.7863235371e+01 1.7857905566e-07
+1.9487087130e+01 -1.6046085809e-06
+2.1110938888e+01 -2.7002147021e-06
+2.2734790647e+01 -3.4698112745e-06
+2.4358642406e+01 -2.3296746934e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2992441508e-06
+-2.2733058596e+01 -3.5791844800e-06
+-2.1109206837e+01 -2.6908927061e-06
+-1.9485355079e+01 -1.6052811487e-06
+-1.7861503320e+01 1.8335046360e-07
+-1.6237651561e+01 3.2082861440e-06
+-1.4613799803e+01 8.6033821429e-06
+-1.2989948044e+01 1.8845725724e-05
+-1.1366096285e+01 3.9866187222e-05
+-9.7422445267e+00 8.2365599081e-05
+-8.1183927680e+00 6.4922635872e-04
+-6.4945410093e+00 8.2620456300e-05
+-4.8706892506e+00 -5.8386448748e-05
+-3.2468374920e+00 -4.6013082570e-04
+-1.6229857333e+00 -1.2730539065e-03
+8.6602540378e-04 -1.0437262703e-03
+1.6247177841e+00 -1.2730320967e-03
+3.2485695428e+00 -4.5956344334e-04
+4.8724213015e+00 -5.8125298755e-05
+6.4962730601e+00 8.2680359517e-05
+8.1201248188e+00 6.5483498471e-04
+9.7439765775e+00 8.2283663659e-05
+1.1367828336e+01 3.9834031228e-05
+1.2991680095e+01 1.8830579472e-05
+1.4615531854e+01 8.5959277372e-06
+1.6239383612e+01 3.2042028184e-06
+1.7863235371e+01 1.8092056763e-07
+1.9487087130e+01 -1.6067948255e-06
+2.1110938888e+01 -2.6917922082e-06
+2.2734790647e+01 -3.5797551475e-06
+2.4358642406e+01 -2.3002117178e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2734334248e-06
+-2.2733058596e+01 -3.7366202050e-06
+-2.1109206837e+01 -2.6824473160e-06
+-1.9485355079e+01 -1.6070952052e-06
+-1.7861503320e+01 1.8453186798e-07
+-1.6237651561e+01 3.2156648598e-06
+-1.4613799803e+01 8.6195383791e-06
+-1.2989948044e+01 1.8882075914e-05
+-1.1366096285e+01 4.0086602162e-05
+-9.7422445267e+00 7.3814494783e-05
+-8.1183927680e+00 6.4095826576e-04
+-6.4945410093e+00 7.7333379644e-05
+-4.8706892506e+00 -5.3718224305e-05
+-3.2468374920e+00 -4.5828040698e-04
+-1.6229857333e+00 -1.3605406101e-03
+8.6602540378e-04 -9.0564538185e-04
+1.6247177841e+00 -1.3606430485e-03
+3.2485695428e+00 -4.5770863126e-04
+4.8724213015e+00 -5.3459009777e-05
+6.4962730601e+00 7.7371255033e-05
+8.1201248188e+00 6.4641407518e-04
+9.7439765775e+00 7.3708143215e-05
+1.1367828336e+01 4.0053692053e-05
+1.2991680095e+01 1.8866919866e-05
+1.4615531854e+01 8.6120275734e-06
+1.6239383612e+01 3.2115637995e-06
+1.7863235371e+01 1.8207792099e-07
+1.9487087130e+01 -1.6085975438e-06
+2.1110938888e+01 -2.6833337835e-06
+2.2734790647e+01 -3.7371381114e-06
+2.4358642406e+01 -2.2744216696e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2606005218e-06
+-2.2733058596e+01 -3.9128946345e-06
+-2.1109206837e+01 -2.6935091881e-06
+-1.9485355079e+01 -1.6028599571e-06
+-1.7861503320e+01 1.8338890211e-07
+-1.6237651561e+01 3.2231537074e-06
+-1.4613799803e+01 8.6378259345e-06
+-1.2989948044e+01 1.8921513007e-05
+-1.1366096285e+01 4.0515003414e-05
+-9.7422445267e+00 6.9225976962e-05
+-8.1183927680e+00 6.3502937702e-04
+-6.4945410093e+00 7.2781785659e-05
+-4.8706892506e+00 -4.8509953009e-05
+-3.2468374920e+00 -4.5345849549e-04
+-1.6229857333e+00 -1.4629408193e-03
+8.6602540378e-04 -7.5356027463e-04
+1.6247177841e+00 -1.4632084623e-03
+3.2485695428e+00 -4.5287584679e-04
+4.8724213015e+00 -4.8250340319e-05
+6.4962730601e+00 7.2755148866e-05
+8.1201248188e+00 6.3997165529e-04
+9.7439765775e+00 6.9062329996e-05
+1.1367828336e+01 4.0480873551e-05
+1.2991680095e+01 1.8906333078e-05
+1.4615531854e+01 8.6302690899e-06
+1.6239383612e+01 3.2190464076e-06
+1.7863235371e+01 1.8091612147e-07
+1.9487087130e+01 -1.6043619821e-06
+2.1110938888e+01 -2.6943946075e-06
+2.2734790647e+01 -3.9133417494e-06
+2.4358642406e+01 -2.2616048879e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.2707578606e-06
+-2.2733058596e+01 -4.0712405155e-06
+-2.1109206837e+01 -2.7478689840e-06
+-1.9485355079e+01 -1.5901752046e-06
+-1.7861503320e+01 1.8182862086e-07
+-1.6237651561e+01 3.2284904113e-06
+-1.4613799803e+01 8.6560128299e-06
+-1.2989948044e+01 1.8964688217e-05
+-1.1366096285e+01 4.0578907385e-05
+-9.7422445267e+00 7.3773917462e-05
+-8.1183927680e+00 6.2570820331e-04
+-6.4945410093e+00 7.6687598759e-05
+-4.8706892506e+00 -4.3404891090e-05
+-3.2468374920e+00 -4.4559243977e-04
+-1.6229857333e+00 -1.5771239520e-03
+8.6602540378e-04 -5.8935697970e-04
+1.6247177841e+00 -1.5778611291e-03
+3.2485695428e+00 -4.4491280032e-04
+4.8724213015e+00 -4.3149142066e-05
+6.4962730601e+00 7.6571522428e-05
+8.1201248188e+00 6.2999554575e-04
+9.7439765775e+00 7.3551116886e-05
+1.1367828336e+01 4.0546732901e-05
+1.2991680095e+01 1.8949433311e-05
+1.4615531854e+01 8.6484279653e-06
+1.6239383612e+01 3.2243630751e-06
+1.7863235371e+01 1.7936205672e-07
+1.9487087130e+01 -1.5916748903e-06
+2.1110938888e+01 -2.7487515987e-06
+2.2734790647e+01 -4.0716239479e-06
+2.4358642406e+01 -2.2717706836e-06
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.3052277841e-06
+-2.2733058596e+01 -4.1816994551e-06
+-2.1109206837e+01 -2.8596315156e-06
+-1.9485355079e+01 -1.5769921630e-06
+-1.7861503320e+01 1.8533438819e-07
+-1.6237651561e+01 3.2299980913e-06
+-1.4613799803e+01 8.6708087504e-06
+-1.2989948044e+01 1.9038713928e-05
+-1.1366096285e+01 3.9153606165e-05
+-9.7422445267e+00 8.3727238050e-05
+-8.1183927680e+00 6.0535595973e-04
+-6.4945410093e+00 8.9946371446e-05
+-4.8706892506e+00 -3.8492768826e-05
+-3.2468374920e+00 -4.3678986086e-04
+-1.6229857333e+00 -1.6989676399e-03
+8.6602540378e-04 -4.2004319221e-04
+1.6247177841e+00 -1.6998510727e-03
+3.2485695428e+00 -4.3602715637e-04
+4.8724213015e+00 -3.8238550166e-05
+6.4962730601e+00 8.9791166638e-05
+8.1201248188e+00 6.0905507167e-04
+9.7439765775e+00 8.3491584488e-05
+1.1367828336e+01 3.9131003139e-05
+1.2991680095e+01 1.9023188103e-05
+1.4615531854e+01 8.6632066147e-06
+1.6239383612e+01 3.2258572558e-06
+1.7863235371e+01 1.8286688626e-07
+1.9487087130e+01 -1.5784903095e-06
+2.1110938888e+01 -2.8604803095e-06
+2.2734790647e+01 -4.1820445923e-06
+2.4358642406e+01 -2.3062398977e-06
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_maximum.xg b/test/whisky_test_tov_ppm_no_trp/ham_maximum.xg
new file mode 100644
index 0000000..b9f6db2
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_maximum.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 0.0006310542967
+0.3515742187500 0.0006405124260
+0.7031484375000 0.0006792234653
+1.0547226562500 0.0007113485229
+1.4062968750000 0.0007211861513
+1.7578710937500 0.0007101971301
+2.1094453125000 0.0006838395560
+2.4610195312500 0.0006457338284
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_minimum.xg b/test/whisky_test_tov_ppm_no_trp/ham_minimum.xg
new file mode 100644
index 0000000..ffbe145
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_minimum.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 -0.0014208417833
+0.3515742187500 -0.0012969377409
+0.7031484375000 -0.0011981575388
+1.0547226562500 -0.0012730539065
+1.4062968750000 -0.0013606430485
+1.7578710937500 -0.0014632084623
+2.1094453125000 -0.0015778611291
+2.4610195312500 -0.0016998510727
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_norm1.xg b/test/whisky_test_tov_ppm_no_trp/ham_norm1.xg
new file mode 100644
index 0000000..7033a62
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_norm1.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 0.0000260910737
+0.3515742187500 0.0000256407964
+0.7031484375000 0.0000263577028
+1.0547226562500 0.0000272033643
+1.4062968750000 0.0000282751611
+1.7578710937500 0.0000294654471
+2.1094453125000 0.0000305936515
+2.4610195312500 0.0000315619637
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_norm2.xg b/test/whisky_test_tov_ppm_no_trp/ham_norm2.xg
new file mode 100644
index 0000000..77440f9
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_norm2.xg
@@ -0,0 +1,9 @@
+"ham v time
+0.0000000000000 0.0000862273844
+0.3515742187500 0.0000866253710
+0.7031484375000 0.0000887427968
+1.0547226562500 0.0000912818381
+1.4062968750000 0.0000936477232
+1.7578710937500 0.0000957392883
+2.1094453125000 0.0000975363846
+2.4610195312500 0.0000990151601
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/ham_x_[16][16].xg
new file mode 100644
index 0000000..b89af6f
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -3.0931812088e-05
+-1.3124937500e+01 -4.1098919458e-05
+-1.2187406250e+01 -5.6445568419e-05
+-1.1249875000e+01 -8.0323199902e-05
+-1.0312343750e+01 -1.1880169214e-04
+-9.3748125000e+00 -1.8341459761e-04
+-8.4372812500e+00 -1.6907188383e-05
+-7.4997500000e+00 -7.7706104657e-05
+-6.5622187500e+00 -1.2803895307e-04
+-5.6246875000e+00 -1.6922345772e-04
+-4.6871562500e+00 -2.5236219763e-04
+-3.7496250000e+00 -4.0872794040e-04
+-2.8120937500e+00 -6.6238921515e-04
+-1.8745625000e+00 -9.9201229454e-04
+-9.3703125000e-01 -1.2948317759e-03
+5.0000000000e-04 -1.4208417833e-03
+9.3803125000e-01 -1.2945744648e-03
+1.8755625000e+00 -9.9164850690e-04
+2.8130937500e+00 -6.6206374749e-04
+3.7506250000e+00 -4.0851552564e-04
+4.6881562500e+00 -2.5223836802e-04
+5.6256875000e+00 -1.6916368300e-04
+6.5632187500e+00 -1.2800811297e-04
+7.5007500000e+00 -7.7415165646e-05
+8.4382812500e+00 -1.8122568830e-05
+9.3758125000e+00 -1.8332510831e-04
+1.0313343750e+01 -1.1874949996e-04
+1.1250875000e+01 -8.0291382229e-05
+1.2188406250e+01 -5.6425428124e-05
+1.3125937500e+01 -4.1085753717e-05
+1.4063468750e+01 -3.0922960639e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2896058097e-06
+-1.3124937500e+01 -4.1397378319e-05
+-1.2187406250e+01 -5.6446787871e-05
+-1.1249875000e+01 -8.0324505567e-05
+-1.0312343750e+01 -1.1880266650e-04
+-9.3748125000e+00 -1.8699745050e-04
+-8.4372812500e+00 -2.0596000476e-05
+-7.4997500000e+00 -6.6684859367e-05
+-6.5622187500e+00 -1.1964236810e-04
+-5.6246875000e+00 -1.5301144145e-04
+-4.6871562500e+00 -2.2631647798e-04
+-3.7496250000e+00 -3.6998229622e-04
+-2.8120937500e+00 -6.0908587302e-04
+-1.8745625000e+00 -9.2503269276e-04
+-9.3703125000e-01 -1.2381960052e-03
+5.0000000000e-04 -1.2969377409e-03
+9.3803125000e-01 -1.2380283071e-03
+1.8755625000e+00 -9.2468506489e-04
+2.8130937500e+00 -6.0877632113e-04
+3.7506250000e+00 -3.6978469496e-04
+4.6881562500e+00 -2.2620477534e-04
+5.6256875000e+00 -1.5296058827e-04
+6.5632187500e+00 -1.1962141113e-04
+7.5007500000e+00 -6.6412654005e-05
+8.4382812500e+00 -2.1825789452e-05
+9.3758125000e+00 -1.8689045644e-04
+1.0313343750e+01 -1.1875048480e-04
+1.1250875000e+01 -8.0292695930e-05
+1.2188406250e+01 -5.6426642440e-05
+1.3125937500e+01 -4.1384145684e-05
+1.4063468750e+01 1.2901442348e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2235000114e-05
+-1.3124937500e+01 -4.2604547567e-05
+-1.2187406250e+01 -5.6426326297e-05
+-1.1249875000e+01 -8.0479831659e-05
+-1.0312343750e+01 -1.1897763969e-04
+-9.3748125000e+00 -1.9515863726e-04
+-8.4372812500e+00 -2.0108072193e-05
+-7.4997500000e+00 -5.4953267868e-05
+-6.5622187500e+00 -1.1331948546e-04
+-5.6246875000e+00 -1.3658057784e-04
+-4.6871562500e+00 -1.9966028735e-04
+-3.7496250000e+00 -3.2988254839e-04
+-2.8120937500e+00 -5.5426760955e-04
+-1.8745625000e+00 -8.5782969943e-04
+-9.3703125000e-01 -1.1833601394e-03
+5.0000000000e-04 -1.1726472508e-03
+9.3803125000e-01 -1.1832796020e-03
+1.8755625000e+00 -8.5749995758e-04
+2.8130937500e+00 -5.5397442054e-04
+3.7506250000e+00 -3.2970034213e-04
+4.6881562500e+00 -1.9956156293e-04
+5.6256875000e+00 -1.3653803772e-04
+6.5632187500e+00 -1.1331807621e-04
+7.5007500000e+00 -5.4670815834e-05
+8.4382812500e+00 -2.1430959390e-05
+9.3758125000e+00 -1.9500660072e-04
+1.0313343750e+01 -1.1892587396e-04
+1.1250875000e+01 -8.0447362690e-05
+1.2188406250e+01 -5.6406170267e-05
+1.3125937500e+01 -4.2591038628e-05
+1.4063468750e+01 1.2232750603e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.7712577420e-05
+-1.3124937500e+01 -4.5058609407e-05
+-1.2187406250e+01 -5.6392134254e-05
+-1.1249875000e+01 -8.0942690900e-05
+-1.0312343750e+01 -1.1948203457e-04
+-9.3748125000e+00 -2.0436169351e-04
+-8.4372812500e+00 -2.2466973150e-05
+-7.4997500000e+00 -3.8716149405e-05
+-6.5622187500e+00 -1.0935409274e-04
+-5.6246875000e+00 -1.1883241127e-04
+-4.6871562500e+00 -1.7108753143e-04
+-3.7496250000e+00 -2.8676345388e-04
+-2.8120937500e+00 -4.9603577415e-04
+-1.8745625000e+00 -7.8732617526e-04
+-9.3703125000e-01 -1.1286128659e-03
+5.0000000000e-04 -1.0437262703e-03
+9.3803125000e-01 -1.1286214548e-03
+1.8755625000e+00 -7.8701306778e-04
+2.8130937500e+00 -4.9576071906e-04
+3.7506250000e+00 -2.8659755265e-04
+4.6881562500e+00 -1.7100284380e-04
+5.6256875000e+00 -1.1879719103e-04
+6.5632187500e+00 -1.0938529981e-04
+7.5007500000e+00 -3.8403719480e-05
+8.4382812500e+00 -2.3937123125e-05
+9.3758125000e+00 -2.0415175290e-04
+1.0313343750e+01 -1.1943041767e-04
+1.1250875000e+01 -8.0908533564e-05
+1.2188406250e+01 -5.6371771337e-05
+1.3125937500e+01 -4.5044536511e-05
+1.4063468750e+01 1.7708954117e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1758450308e-05
+-1.3124937500e+01 -4.8501328628e-05
+-1.2187406250e+01 -5.6558648154e-05
+-1.1249875000e+01 -8.1673985834e-05
+-1.0312343750e+01 -1.2033136136e-04
+-9.3748125000e+00 -2.1182493961e-04
+-8.4372812500e+00 -3.4201881044e-05
+-7.4997500000e+00 -1.4775464614e-05
+-6.5622187500e+00 -1.0793231823e-04
+-5.6246875000e+00 -9.8606276947e-05
+-4.6871562500e+00 -1.3883820972e-04
+-3.7496250000e+00 -2.3842914202e-04
+-2.8120937500e+00 -4.3190627221e-04
+-1.8745625000e+00 -7.1001013768e-04
+-9.3703125000e-01 -1.0719135775e-03
+5.0000000000e-04 -9.0564538185e-04
+9.3803125000e-01 -1.0719807561e-03
+1.8755625000e+00 -7.0971183300e-04
+2.8130937500e+00 -4.3164960218e-04
+3.7506250000e+00 -2.3828117322e-04
+4.6881562500e+00 -1.3876862737e-04
+5.6256875000e+00 -9.8578907302e-05
+6.5632187500e+00 -1.0801205376e-04
+7.5007500000e+00 -1.4427336807e-05
+8.4382812500e+00 -3.5839124192e-05
+9.3758125000e+00 -2.1156621498e-04
+1.0313343750e+01 -1.2027705656e-04
+1.1250875000e+01 -8.1637707050e-05
+1.2188406250e+01 -5.6537482134e-05
+1.3125937500e+01 -4.8486397084e-05
+1.4063468750e+01 2.1753810113e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5003801952e-05
+-1.3124937500e+01 -5.2239219657e-05
+-1.2187406250e+01 -5.7299235582e-05
+-1.1249875000e+01 -8.2376734307e-05
+-1.0312343750e+01 -1.2150573672e-04
+-9.3748125000e+00 -2.1724873743e-04
+-8.4372812500e+00 -5.8331468287e-05
+-7.4997500000e+00 1.7837569881e-05
+-6.5622187500e+00 -1.0873466721e-04
+-5.6246875000e+00 -7.5785967319e-05
+-4.6871562500e+00 -1.0200173116e-04
+-3.7496250000e+00 -1.8385561337e-04
+-2.8120937500e+00 -3.6060457121e-04
+-1.8745625000e+00 -6.2313989126e-04
+-9.3703125000e-01 -1.0111733859e-03
+5.0000000000e-04 -7.5356027463e-04
+9.3803125000e-01 -1.0113151160e-03
+1.8755625000e+00 -6.2285527390e-04
+2.8130937500e+00 -3.6036424902e-04
+3.7506250000e+00 -1.8372898933e-04
+4.6881562500e+00 -1.0194768767e-04
+5.6256875000e+00 -7.5771894401e-05
+6.5632187500e+00 -1.0887754458e-04
+7.5007500000e+00 1.8213670652e-05
+8.4382812500e+00 -6.0116931835e-05
+9.3758125000e+00 -2.1697593520e-04
+1.0313343750e+01 -1.2144249296e-04
+1.1250875000e+01 -8.2339097558e-05
+1.2188406250e+01 -5.7276439189e-05
+1.3125937500e+01 -5.2223115813e-05
+1.4063468750e+01 2.4998340039e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.7203120425e-05
+-1.3124937500e+01 -5.5404308800e-05
+-1.2187406250e+01 -5.8914370510e-05
+-1.1249875000e+01 -8.2691613566e-05
+-1.0312343750e+01 -1.2337180439e-04
+-9.3748125000e+00 -2.2316953392e-04
+-8.4372812500e+00 -9.2363575648e-05
+-7.4997500000e+00 5.6413160402e-05
+-6.5622187500e+00 -1.1013881460e-04
+-5.6246875000e+00 -5.1764664388e-05
+-4.6871562500e+00 -6.0463995866e-05
+-3.7496250000e+00 -1.2305536878e-04
+-2.8120937500e+00 -2.8366984317e-04
+-1.8745625000e+00 -5.2812490182e-04
+-9.3703125000e-01 -9.4793084038e-04
+5.0000000000e-04 -5.8935697970e-04
+9.3803125000e-01 -9.4826397717e-04
+1.8755625000e+00 -5.2783175143e-04
+2.8130937500e+00 -2.8343540196e-04
+3.7506250000e+00 -1.2295636932e-04
+4.6881562500e+00 -6.0426029365e-05
+5.6256875000e+00 -5.1778599153e-05
+6.5632187500e+00 -1.1034938743e-04
+7.5007500000e+00 5.6794469389e-05
+8.4382812500e+00 -9.4235352668e-05
+9.3758125000e+00 -2.2293942933e-04
+1.0313343750e+01 -1.2329294515e-04
+1.1250875000e+01 -8.2653995385e-05
+1.2188406250e+01 -5.8889475914e-05
+1.3125937500e+01 -5.5386709915e-05
+1.4063468750e+01 2.7197153633e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.8117255191e-05
+-1.3124937500e+01 -5.7272252872e-05
+-1.2187406250e+01 -6.1380177703e-05
+-1.1249875000e+01 -8.2636920848e-05
+-1.0312343750e+01 -1.2713890526e-04
+-9.3748125000e+00 -2.3319406264e-04
+-8.4372812500e+00 -1.2850093985e-04
+-7.4997500000e+00 9.3553016107e-05
+-6.5622187500e+00 -1.0851507516e-04
+-5.6246875000e+00 -2.9184792515e-05
+-4.6871562500e+00 -1.6279991810e-05
+-3.7496250000e+00 -5.9545746509e-05
+-2.8120937500e+00 -2.0386244896e-04
+-1.8745625000e+00 -4.2910919821e-04
+-9.3703125000e-01 -8.8340536699e-04
+5.0000000000e-04 -4.2004319221e-04
+9.3803125000e-01 -8.8380596330e-04
+1.8755625000e+00 -4.2879773024e-04
+2.8130937500e+00 -2.0364499623e-04
+3.7506250000e+00 -5.9468182578e-05
+4.6881562500e+00 -1.6258638725e-05
+5.6256875000e+00 -2.9249161511e-05
+6.5632187500e+00 -1.0876891848e-04
+7.5007500000e+00 9.3893325886e-05
+8.4382812500e+00 -1.3035574826e-04
+9.3758125000e+00 -2.3306734824e-04
+1.0313343750e+01 -1.2704445921e-04
+1.1250875000e+01 -8.2600062870e-05
+1.2188406250e+01 -6.1353723403e-05
+1.3125937500e+01 -5.7252977998e-05
+1.4063468750e+01 2.8111271326e-05
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/ham_y_[16][16].xg
new file mode 100644
index 0000000..6aa0bcf
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -3.0931812088e-05
+-1.3124937500e+01 -4.1098919458e-05
+-1.2187406250e+01 -5.6445568419e-05
+-1.1249875000e+01 -8.0323199902e-05
+-1.0312343750e+01 -1.1880169214e-04
+-9.3748125000e+00 -1.8341459761e-04
+-8.4372812500e+00 -1.6907188383e-05
+-7.4997500000e+00 -7.7706104657e-05
+-6.5622187500e+00 -1.2803895307e-04
+-5.6246875000e+00 -1.6922345772e-04
+-4.6871562500e+00 -2.5236219763e-04
+-3.7496250000e+00 -4.0872794040e-04
+-2.8120937500e+00 -6.6238921515e-04
+-1.8745625000e+00 -9.9201229454e-04
+-9.3703125000e-01 -1.2948317759e-03
+5.0000000000e-04 -1.4208417833e-03
+9.3803125000e-01 -1.2945744648e-03
+1.8755625000e+00 -9.9164850690e-04
+2.8130937500e+00 -6.6206374749e-04
+3.7506250000e+00 -4.0851552564e-04
+4.6881562500e+00 -2.5223836802e-04
+5.6256875000e+00 -1.6916368300e-04
+6.5632187500e+00 -1.2800811297e-04
+7.5007500000e+00 -7.7415165646e-05
+8.4382812500e+00 -1.8122568830e-05
+9.3758125000e+00 -1.8332510831e-04
+1.0313343750e+01 -1.1874949996e-04
+1.1250875000e+01 -8.0291382229e-05
+1.2188406250e+01 -5.6425428124e-05
+1.3125937500e+01 -4.1085753717e-05
+1.4063468750e+01 -3.0922960639e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2896058097e-06
+-1.3124937500e+01 -4.1397378318e-05
+-1.2187406250e+01 -5.6446787874e-05
+-1.1249875000e+01 -8.0324505567e-05
+-1.0312343750e+01 -1.1880266650e-04
+-9.3748125000e+00 -1.8699745050e-04
+-8.4372812500e+00 -2.0596000476e-05
+-7.4997500000e+00 -6.6684859367e-05
+-6.5622187500e+00 -1.1964236810e-04
+-5.6246875000e+00 -1.5301144146e-04
+-4.6871562500e+00 -2.2631647798e-04
+-3.7496250000e+00 -3.6998229622e-04
+-2.8120937500e+00 -6.0908587301e-04
+-1.8745625000e+00 -9.2503269276e-04
+-9.3703125000e-01 -1.2381960052e-03
+5.0000000000e-04 -1.2969377409e-03
+9.3803125000e-01 -1.2380283071e-03
+1.8755625000e+00 -9.2468506489e-04
+2.8130937500e+00 -6.0877632113e-04
+3.7506250000e+00 -3.6978469496e-04
+4.6881562500e+00 -2.2620477534e-04
+5.6256875000e+00 -1.5296058827e-04
+6.5632187500e+00 -1.1962141113e-04
+7.5007500000e+00 -6.6412654005e-05
+8.4382812500e+00 -2.1825789452e-05
+9.3758125000e+00 -1.8689045644e-04
+1.0313343750e+01 -1.1875048480e-04
+1.1250875000e+01 -8.0292695930e-05
+1.2188406250e+01 -5.6426642441e-05
+1.3125937500e+01 -4.1384145683e-05
+1.4063468750e+01 1.2901442348e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2235000114e-05
+-1.3124937500e+01 -4.2604547565e-05
+-1.2187406250e+01 -5.6426326297e-05
+-1.1249875000e+01 -8.0479831659e-05
+-1.0312343750e+01 -1.1897763969e-04
+-9.3748125000e+00 -1.9515863726e-04
+-8.4372812500e+00 -2.0108072193e-05
+-7.4997500000e+00 -5.4953267868e-05
+-6.5622187500e+00 -1.1331948546e-04
+-5.6246875000e+00 -1.3658057784e-04
+-4.6871562500e+00 -1.9966028735e-04
+-3.7496250000e+00 -3.2988254839e-04
+-2.8120937500e+00 -5.5426760955e-04
+-1.8745625000e+00 -8.5782969943e-04
+-9.3703125000e-01 -1.1833601394e-03
+5.0000000000e-04 -1.1726472508e-03
+9.3803125000e-01 -1.1832796020e-03
+1.8755625000e+00 -8.5749995758e-04
+2.8130937500e+00 -5.5397442054e-04
+3.7506250000e+00 -3.2970034213e-04
+4.6881562500e+00 -1.9956156293e-04
+5.6256875000e+00 -1.3653803772e-04
+6.5632187500e+00 -1.1331807622e-04
+7.5007500000e+00 -5.4670815834e-05
+8.4382812500e+00 -2.1430959388e-05
+9.3758125000e+00 -1.9500660072e-04
+1.0313343750e+01 -1.1892587396e-04
+1.1250875000e+01 -8.0447362690e-05
+1.2188406250e+01 -5.6406170267e-05
+1.3125937500e+01 -4.2591038628e-05
+1.4063468750e+01 1.2232750601e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.7712577418e-05
+-1.3124937500e+01 -4.5058609406e-05
+-1.2187406250e+01 -5.6392134254e-05
+-1.1249875000e+01 -8.0942690900e-05
+-1.0312343750e+01 -1.1948203457e-04
+-9.3748125000e+00 -2.0436169351e-04
+-8.4372812500e+00 -2.2466973147e-05
+-7.4997500000e+00 -3.8716149405e-05
+-6.5622187500e+00 -1.0935409275e-04
+-5.6246875000e+00 -1.1883241126e-04
+-4.6871562500e+00 -1.7108753143e-04
+-3.7496250000e+00 -2.8676345388e-04
+-2.8120937500e+00 -4.9603577415e-04
+-1.8745625000e+00 -7.8732617526e-04
+-9.3703125000e-01 -1.1286128659e-03
+5.0000000000e-04 -1.0437262703e-03
+9.3803125000e-01 -1.1286214548e-03
+1.8755625000e+00 -7.8701306778e-04
+2.8130937500e+00 -4.9576071906e-04
+3.7506250000e+00 -2.8659755265e-04
+4.6881562500e+00 -1.7100284380e-04
+5.6256875000e+00 -1.1879719103e-04
+6.5632187500e+00 -1.0938529980e-04
+7.5007500000e+00 -3.8403719480e-05
+8.4382812500e+00 -2.3937123125e-05
+9.3758125000e+00 -2.0415175290e-04
+1.0313343750e+01 -1.1943041767e-04
+1.1250875000e+01 -8.0908533564e-05
+1.2188406250e+01 -5.6371771339e-05
+1.3125937500e+01 -4.5044536512e-05
+1.4063468750e+01 1.7708954120e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1758450309e-05
+-1.3124937500e+01 -4.8501328630e-05
+-1.2187406250e+01 -5.6558648154e-05
+-1.1249875000e+01 -8.1673985834e-05
+-1.0312343750e+01 -1.2033136136e-04
+-9.3748125000e+00 -2.1182493961e-04
+-8.4372812500e+00 -3.4201881044e-05
+-7.4997500000e+00 -1.4775464614e-05
+-6.5622187500e+00 -1.0793231823e-04
+-5.6246875000e+00 -9.8606276947e-05
+-4.6871562500e+00 -1.3883820972e-04
+-3.7496250000e+00 -2.3842914202e-04
+-2.8120937500e+00 -4.3190627221e-04
+-1.8745625000e+00 -7.1001013768e-04
+-9.3703125000e-01 -1.0719135775e-03
+5.0000000000e-04 -9.0564538185e-04
+9.3803125000e-01 -1.0719807561e-03
+1.8755625000e+00 -7.0971183299e-04
+2.8130937500e+00 -4.3164960218e-04
+3.7506250000e+00 -2.3828117322e-04
+4.6881562500e+00 -1.3876862737e-04
+5.6256875000e+00 -9.8578907302e-05
+6.5632187500e+00 -1.0801205376e-04
+7.5007500000e+00 -1.4427336810e-05
+8.4382812500e+00 -3.5839124192e-05
+9.3758125000e+00 -2.1156621498e-04
+1.0313343750e+01 -1.2027705656e-04
+1.1250875000e+01 -8.1637707050e-05
+1.2188406250e+01 -5.6537482134e-05
+1.3125937500e+01 -4.8486397084e-05
+1.4063468750e+01 2.1753810113e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5003801952e-05
+-1.3124937500e+01 -5.2239219657e-05
+-1.2187406250e+01 -5.7299235581e-05
+-1.1249875000e+01 -8.2376734310e-05
+-1.0312343750e+01 -1.2150573672e-04
+-9.3748125000e+00 -2.1724873743e-04
+-8.4372812500e+00 -5.8331468287e-05
+-7.4997500000e+00 1.7837569881e-05
+-6.5622187500e+00 -1.0873466721e-04
+-5.6246875000e+00 -7.5785967319e-05
+-4.6871562500e+00 -1.0200173116e-04
+-3.7496250000e+00 -1.8385561337e-04
+-2.8120937500e+00 -3.6060457121e-04
+-1.8745625000e+00 -6.2313989126e-04
+-9.3703125000e-01 -1.0111733859e-03
+5.0000000000e-04 -7.5356027463e-04
+9.3803125000e-01 -1.0113151160e-03
+1.8755625000e+00 -6.2285527390e-04
+2.8130937500e+00 -3.6036424902e-04
+3.7506250000e+00 -1.8372898933e-04
+4.6881562500e+00 -1.0194768767e-04
+5.6256875000e+00 -7.5771894401e-05
+6.5632187500e+00 -1.0887754458e-04
+7.5007500000e+00 1.8213670652e-05
+8.4382812500e+00 -6.0116931835e-05
+9.3758125000e+00 -2.1697593520e-04
+1.0313343750e+01 -1.2144249296e-04
+1.1250875000e+01 -8.2339097560e-05
+1.2188406250e+01 -5.7276439188e-05
+1.3125937500e+01 -5.2223115813e-05
+1.4063468750e+01 2.4998340039e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.7203120424e-05
+-1.3124937500e+01 -5.5404308799e-05
+-1.2187406250e+01 -5.8914370514e-05
+-1.1249875000e+01 -8.2691613565e-05
+-1.0312343750e+01 -1.2337180439e-04
+-9.3748125000e+00 -2.2316953392e-04
+-8.4372812500e+00 -9.2363575648e-05
+-7.4997500000e+00 5.6413160403e-05
+-6.5622187500e+00 -1.1013881460e-04
+-5.6246875000e+00 -5.1764664387e-05
+-4.6871562500e+00 -6.0463995866e-05
+-3.7496250000e+00 -1.2305536878e-04
+-2.8120937500e+00 -2.8366984317e-04
+-1.8745625000e+00 -5.2812490182e-04
+-9.3703125000e-01 -9.4793084038e-04
+5.0000000000e-04 -5.8935697970e-04
+9.3803125000e-01 -9.4826397717e-04
+1.8755625000e+00 -5.2783175143e-04
+2.8130937500e+00 -2.8343540196e-04
+3.7506250000e+00 -1.2295636932e-04
+4.6881562500e+00 -6.0426029365e-05
+5.6256875000e+00 -5.1778599153e-05
+6.5632187500e+00 -1.1034938744e-04
+7.5007500000e+00 5.6794469388e-05
+8.4382812500e+00 -9.4235352668e-05
+9.3758125000e+00 -2.2293942933e-04
+1.0313343750e+01 -1.2329294515e-04
+1.1250875000e+01 -8.2653995385e-05
+1.2188406250e+01 -5.8889475915e-05
+1.3125937500e+01 -5.5386709916e-05
+1.4063468750e+01 2.7197153635e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.8117255192e-05
+-1.3124937500e+01 -5.7272252873e-05
+-1.2187406250e+01 -6.1380177700e-05
+-1.1249875000e+01 -8.2636920848e-05
+-1.0312343750e+01 -1.2713890526e-04
+-9.3748125000e+00 -2.3319406264e-04
+-8.4372812500e+00 -1.2850093985e-04
+-7.4997500000e+00 9.3553016107e-05
+-6.5622187500e+00 -1.0851507515e-04
+-5.6246875000e+00 -2.9184792515e-05
+-4.6871562500e+00 -1.6279991809e-05
+-3.7496250000e+00 -5.9545746509e-05
+-2.8120937500e+00 -2.0386244896e-04
+-1.8745625000e+00 -4.2910919821e-04
+-9.3703125000e-01 -8.8340536699e-04
+5.0000000000e-04 -4.2004319221e-04
+9.3803125000e-01 -8.8380596330e-04
+1.8755625000e+00 -4.2879773024e-04
+2.8130937500e+00 -2.0364499623e-04
+3.7506250000e+00 -5.9468182578e-05
+4.6881562500e+00 -1.6258638725e-05
+5.6256875000e+00 -2.9249161512e-05
+6.5632187500e+00 -1.0876891848e-04
+7.5007500000e+00 9.3893325886e-05
+8.4382812500e+00 -1.3035574826e-04
+9.3758125000e+00 -2.3306734824e-04
+1.0313343750e+01 -1.2704445921e-04
+1.1250875000e+01 -8.2600062870e-05
+1.2188406250e+01 -6.1353723403e-05
+1.3125937500e+01 -5.7252977997e-05
+1.4063468750e+01 2.8111271325e-05
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/ham_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/ham_z_[16][16].xg
new file mode 100644
index 0000000..f343883
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/ham_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -3.0931812088e-05
+-1.3124937500e+01 -4.1098919458e-05
+-1.2187406250e+01 -5.6445568419e-05
+-1.1249875000e+01 -8.0323199902e-05
+-1.0312343750e+01 -1.1880169214e-04
+-9.3748125000e+00 -1.8341459761e-04
+-8.4372812500e+00 -1.6907188383e-05
+-7.4997500000e+00 -7.7706104657e-05
+-6.5622187500e+00 -1.2803895307e-04
+-5.6246875000e+00 -1.6922345772e-04
+-4.6871562500e+00 -2.5236219763e-04
+-3.7496250000e+00 -4.0872794040e-04
+-2.8120937500e+00 -6.6238921515e-04
+-1.8745625000e+00 -9.9201229454e-04
+-9.3703125000e-01 -1.2948317759e-03
+5.0000000000e-04 -1.4208417833e-03
+9.3803125000e-01 -1.2945744648e-03
+1.8755625000e+00 -9.9164850690e-04
+2.8130937500e+00 -6.6206374749e-04
+3.7506250000e+00 -4.0851552564e-04
+4.6881562500e+00 -2.5223836802e-04
+5.6256875000e+00 -1.6916368300e-04
+6.5632187500e+00 -1.2800811297e-04
+7.5007500000e+00 -7.7415165646e-05
+8.4382812500e+00 -1.8122568830e-05
+9.3758125000e+00 -1.8332510831e-04
+1.0313343750e+01 -1.1874949996e-04
+1.1250875000e+01 -8.0291382229e-05
+1.2188406250e+01 -5.6425428124e-05
+1.3125937500e+01 -4.1085753717e-05
+1.4063468750e+01 -3.0922960639e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2896058097e-06
+-1.3124937500e+01 -4.1397378318e-05
+-1.2187406250e+01 -5.6446787874e-05
+-1.1249875000e+01 -8.0324505567e-05
+-1.0312343750e+01 -1.1880266650e-04
+-9.3748125000e+00 -1.8699745050e-04
+-8.4372812500e+00 -2.0596000476e-05
+-7.4997500000e+00 -6.6684859367e-05
+-6.5622187500e+00 -1.1964236810e-04
+-5.6246875000e+00 -1.5301144146e-04
+-4.6871562500e+00 -2.2631647798e-04
+-3.7496250000e+00 -3.6998229622e-04
+-2.8120937500e+00 -6.0908587301e-04
+-1.8745625000e+00 -9.2503269276e-04
+-9.3703125000e-01 -1.2381960052e-03
+5.0000000000e-04 -1.2969377409e-03
+9.3803125000e-01 -1.2380283071e-03
+1.8755625000e+00 -9.2468506489e-04
+2.8130937500e+00 -6.0877632113e-04
+3.7506250000e+00 -3.6978469496e-04
+4.6881562500e+00 -2.2620477534e-04
+5.6256875000e+00 -1.5296058827e-04
+6.5632187500e+00 -1.1962141113e-04
+7.5007500000e+00 -6.6412654005e-05
+8.4382812500e+00 -2.1825789452e-05
+9.3758125000e+00 -1.8689045644e-04
+1.0313343750e+01 -1.1875048480e-04
+1.1250875000e+01 -8.0292695930e-05
+1.2188406250e+01 -5.6426642441e-05
+1.3125937500e+01 -4.1384145683e-05
+1.4063468750e+01 1.2901442348e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2235000114e-05
+-1.3124937500e+01 -4.2604547565e-05
+-1.2187406250e+01 -5.6426326297e-05
+-1.1249875000e+01 -8.0479831659e-05
+-1.0312343750e+01 -1.1897763969e-04
+-9.3748125000e+00 -1.9515863726e-04
+-8.4372812500e+00 -2.0108072193e-05
+-7.4997500000e+00 -5.4953267868e-05
+-6.5622187500e+00 -1.1331948546e-04
+-5.6246875000e+00 -1.3658057784e-04
+-4.6871562500e+00 -1.9966028735e-04
+-3.7496250000e+00 -3.2988254839e-04
+-2.8120937500e+00 -5.5426760955e-04
+-1.8745625000e+00 -8.5782969943e-04
+-9.3703125000e-01 -1.1833601394e-03
+5.0000000000e-04 -1.1726472508e-03
+9.3803125000e-01 -1.1832796020e-03
+1.8755625000e+00 -8.5749995758e-04
+2.8130937500e+00 -5.5397442054e-04
+3.7506250000e+00 -3.2970034213e-04
+4.6881562500e+00 -1.9956156293e-04
+5.6256875000e+00 -1.3653803772e-04
+6.5632187500e+00 -1.1331807622e-04
+7.5007500000e+00 -5.4670815834e-05
+8.4382812500e+00 -2.1430959388e-05
+9.3758125000e+00 -1.9500660072e-04
+1.0313343750e+01 -1.1892587396e-04
+1.1250875000e+01 -8.0447362690e-05
+1.2188406250e+01 -5.6406170267e-05
+1.3125937500e+01 -4.2591038628e-05
+1.4063468750e+01 1.2232750601e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.7712577418e-05
+-1.3124937500e+01 -4.5058609406e-05
+-1.2187406250e+01 -5.6392134254e-05
+-1.1249875000e+01 -8.0942690900e-05
+-1.0312343750e+01 -1.1948203457e-04
+-9.3748125000e+00 -2.0436169351e-04
+-8.4372812500e+00 -2.2466973147e-05
+-7.4997500000e+00 -3.8716149405e-05
+-6.5622187500e+00 -1.0935409275e-04
+-5.6246875000e+00 -1.1883241126e-04
+-4.6871562500e+00 -1.7108753143e-04
+-3.7496250000e+00 -2.8676345388e-04
+-2.8120937500e+00 -4.9603577415e-04
+-1.8745625000e+00 -7.8732617526e-04
+-9.3703125000e-01 -1.1286128659e-03
+5.0000000000e-04 -1.0437262703e-03
+9.3803125000e-01 -1.1286214548e-03
+1.8755625000e+00 -7.8701306778e-04
+2.8130937500e+00 -4.9576071906e-04
+3.7506250000e+00 -2.8659755265e-04
+4.6881562500e+00 -1.7100284380e-04
+5.6256875000e+00 -1.1879719103e-04
+6.5632187500e+00 -1.0938529981e-04
+7.5007500000e+00 -3.8403719480e-05
+8.4382812500e+00 -2.3937123125e-05
+9.3758125000e+00 -2.0415175290e-04
+1.0313343750e+01 -1.1943041767e-04
+1.1250875000e+01 -8.0908533564e-05
+1.2188406250e+01 -5.6371771339e-05
+1.3125937500e+01 -4.5044536512e-05
+1.4063468750e+01 1.7708954120e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1758450308e-05
+-1.3124937500e+01 -4.8501328629e-05
+-1.2187406250e+01 -5.6558648154e-05
+-1.1249875000e+01 -8.1673985834e-05
+-1.0312343750e+01 -1.2033136136e-04
+-9.3748125000e+00 -2.1182493961e-04
+-8.4372812500e+00 -3.4201881044e-05
+-7.4997500000e+00 -1.4775464615e-05
+-6.5622187500e+00 -1.0793231823e-04
+-5.6246875000e+00 -9.8606276947e-05
+-4.6871562500e+00 -1.3883820972e-04
+-3.7496250000e+00 -2.3842914202e-04
+-2.8120937500e+00 -4.3190627221e-04
+-1.8745625000e+00 -7.1001013768e-04
+-9.3703125000e-01 -1.0719135775e-03
+5.0000000000e-04 -9.0564538185e-04
+9.3803125000e-01 -1.0719807561e-03
+1.8755625000e+00 -7.0971183299e-04
+2.8130937500e+00 -4.3164960218e-04
+3.7506250000e+00 -2.3828117322e-04
+4.6881562500e+00 -1.3876862737e-04
+5.6256875000e+00 -9.8578907302e-05
+6.5632187500e+00 -1.0801205376e-04
+7.5007500000e+00 -1.4427336810e-05
+8.4382812500e+00 -3.5839124192e-05
+9.3758125000e+00 -2.1156621498e-04
+1.0313343750e+01 -1.2027705656e-04
+1.1250875000e+01 -8.1637707050e-05
+1.2188406250e+01 -5.6537482134e-05
+1.3125937500e+01 -4.8486397084e-05
+1.4063468750e+01 2.1753810113e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5003801954e-05
+-1.3124937500e+01 -5.2239219657e-05
+-1.2187406250e+01 -5.7299235581e-05
+-1.1249875000e+01 -8.2376734310e-05
+-1.0312343750e+01 -1.2150573672e-04
+-9.3748125000e+00 -2.1724873743e-04
+-8.4372812500e+00 -5.8331468287e-05
+-7.4997500000e+00 1.7837569881e-05
+-6.5622187500e+00 -1.0873466721e-04
+-5.6246875000e+00 -7.5785967319e-05
+-4.6871562500e+00 -1.0200173116e-04
+-3.7496250000e+00 -1.8385561337e-04
+-2.8120937500e+00 -3.6060457121e-04
+-1.8745625000e+00 -6.2313989126e-04
+-9.3703125000e-01 -1.0111733859e-03
+5.0000000000e-04 -7.5356027463e-04
+9.3803125000e-01 -1.0113151160e-03
+1.8755625000e+00 -6.2285527390e-04
+2.8130937500e+00 -3.6036424902e-04
+3.7506250000e+00 -1.8372898933e-04
+4.6881562500e+00 -1.0194768767e-04
+5.6256875000e+00 -7.5771894401e-05
+6.5632187500e+00 -1.0887754458e-04
+7.5007500000e+00 1.8213670652e-05
+8.4382812500e+00 -6.0116931835e-05
+9.3758125000e+00 -2.1697593520e-04
+1.0313343750e+01 -1.2144249296e-04
+1.1250875000e+01 -8.2339097560e-05
+1.2188406250e+01 -5.7276439188e-05
+1.3125937500e+01 -5.2223115813e-05
+1.4063468750e+01 2.4998340039e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.7203120425e-05
+-1.3124937500e+01 -5.5404308799e-05
+-1.2187406250e+01 -5.8914370514e-05
+-1.1249875000e+01 -8.2691613565e-05
+-1.0312343750e+01 -1.2337180439e-04
+-9.3748125000e+00 -2.2316953392e-04
+-8.4372812500e+00 -9.2363575648e-05
+-7.4997500000e+00 5.6413160403e-05
+-6.5622187500e+00 -1.1013881460e-04
+-5.6246875000e+00 -5.1764664387e-05
+-4.6871562500e+00 -6.0463995866e-05
+-3.7496250000e+00 -1.2305536878e-04
+-2.8120937500e+00 -2.8366984317e-04
+-1.8745625000e+00 -5.2812490182e-04
+-9.3703125000e-01 -9.4793084038e-04
+5.0000000000e-04 -5.8935697970e-04
+9.3803125000e-01 -9.4826397717e-04
+1.8755625000e+00 -5.2783175143e-04
+2.8130937500e+00 -2.8343540196e-04
+3.7506250000e+00 -1.2295636932e-04
+4.6881562500e+00 -6.0426029365e-05
+5.6256875000e+00 -5.1778599153e-05
+6.5632187500e+00 -1.1034938744e-04
+7.5007500000e+00 5.6794469388e-05
+8.4382812500e+00 -9.4235352668e-05
+9.3758125000e+00 -2.2293942933e-04
+1.0313343750e+01 -1.2329294515e-04
+1.1250875000e+01 -8.2653995385e-05
+1.2188406250e+01 -5.8889475915e-05
+1.3125937500e+01 -5.5386709916e-05
+1.4063468750e+01 2.7197153635e-05
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.8117255192e-05
+-1.3124937500e+01 -5.7272252873e-05
+-1.2187406250e+01 -6.1380177700e-05
+-1.1249875000e+01 -8.2636920848e-05
+-1.0312343750e+01 -1.2713890526e-04
+-9.3748125000e+00 -2.3319406264e-04
+-8.4372812500e+00 -1.2850093985e-04
+-7.4997500000e+00 9.3553016107e-05
+-6.5622187500e+00 -1.0851507515e-04
+-5.6246875000e+00 -2.9184792515e-05
+-4.6871562500e+00 -1.6279991809e-05
+-3.7496250000e+00 -5.9545746509e-05
+-2.8120937500e+00 -2.0386244896e-04
+-1.8745625000e+00 -4.2910919821e-04
+-9.3703125000e-01 -8.8340536699e-04
+5.0000000000e-04 -4.2004319221e-04
+9.3803125000e-01 -8.8380596330e-04
+1.8755625000e+00 -4.2879773024e-04
+2.8130937500e+00 -2.0364499623e-04
+3.7506250000e+00 -5.9468182578e-05
+4.6881562500e+00 -1.6258638725e-05
+5.6256875000e+00 -2.9249161512e-05
+6.5632187500e+00 -1.0876891848e-04
+7.5007500000e+00 9.3893325886e-05
+8.4382812500e+00 -1.3035574826e-04
+9.3758125000e+00 -2.3306734824e-04
+1.0313343750e+01 -1.2704445921e-04
+1.1250875000e+01 -8.2600062870e-05
+1.2188406250e+01 -6.1353723403e-05
+1.3125937500e+01 -5.7252977997e-05
+1.4063468750e+01 2.8111271327e-05
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/kxx_maximum.xg b/test/whisky_test_tov_ppm_no_trp/kxx_maximum.xg
new file mode 100644
index 0000000..45849a0
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxx_maximum.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000496886311
+0.7031484375000 0.0000900876246
+1.0547226562500 0.0001228926508
+1.4062968750000 0.0001615545285
+1.7578710937500 0.0001989186828
+2.1094453125000 0.0002333083415
+2.4610195312500 0.0002613531494
diff --git a/test/whisky_test_tov_ppm_no_trp/kxx_minimum.xg b/test/whisky_test_tov_ppm_no_trp/kxx_minimum.xg
new file mode 100644
index 0000000..7bc378b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxx_minimum.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000200396561
+0.7031484375000 -0.0000396848169
+1.0547226562500 -0.0000522362442
+1.4062968750000 -0.0000498160192
+1.7578710937500 -0.0000427804901
+2.1094453125000 -0.0000517954274
+2.4610195312500 -0.0000559731836
diff --git a/test/whisky_test_tov_ppm_no_trp/kxx_norm1.xg b/test/whisky_test_tov_ppm_no_trp/kxx_norm1.xg
new file mode 100644
index 0000000..d78bed9
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxx_norm1.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008593409
+0.7031484375000 0.0000016778745
+1.0547226562500 0.0000024917273
+1.4062968750000 0.0000032502310
+1.7578710937500 0.0000039000114
+2.1094453125000 0.0000044092156
+2.4610195312500 0.0000048705574
diff --git a/test/whisky_test_tov_ppm_no_trp/kxx_norm2.xg b/test/whisky_test_tov_ppm_no_trp/kxx_norm2.xg
new file mode 100644
index 0000000..f278ffc
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxx_norm2.xg
@@ -0,0 +1,9 @@
+"kxx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000027696398
+0.7031484375000 0.0000052403840
+1.0547226562500 0.0000075480918
+1.4062968750000 0.0000095654575
+1.7578710937500 0.0000111894742
+2.1094453125000 0.0000125433057
+2.4610195312500 0.0000137506859
diff --git a/test/whisky_test_tov_ppm_no_trp/kxy_maximum.xg b/test/whisky_test_tov_ppm_no_trp/kxy_maximum.xg
new file mode 100644
index 0000000..eaac757
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxy_maximum.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000014511950
+0.7031484375000 0.0000035890759
+1.0547226562500 0.0000077664976
+1.4062968750000 0.0000116685001
+1.7578710937500 0.0000136909250
+2.1094453125000 0.0000126900972
+2.4610195312500 0.0000150428996
diff --git a/test/whisky_test_tov_ppm_no_trp/kxy_minimum.xg b/test/whisky_test_tov_ppm_no_trp/kxy_minimum.xg
new file mode 100644
index 0000000..e2c80a8
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxy_minimum.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000014513240
+0.7031484375000 -0.0000035799436
+1.0547226562500 -0.0000077488970
+1.4062968750000 -0.0000116387715
+1.7578710937500 -0.0000136624751
+2.1094453125000 -0.0000126750502
+2.4610195312500 -0.0000150251954
diff --git a/test/whisky_test_tov_ppm_no_trp/kxy_norm1.xg b/test/whisky_test_tov_ppm_no_trp/kxy_norm1.xg
new file mode 100644
index 0000000..466b8b8
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxy_norm1.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000348824
+0.7031484375000 0.0000000950085
+1.0547226562500 0.0000001842996
+1.4062968750000 0.0000002920517
+1.7578710937500 0.0000004422341
+2.1094453125000 0.0000006368106
+2.4610195312500 0.0000008802129
diff --git a/test/whisky_test_tov_ppm_no_trp/kxy_norm2.xg b/test/whisky_test_tov_ppm_no_trp/kxy_norm2.xg
new file mode 100644
index 0000000..1b67a6d
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxy_norm2.xg
@@ -0,0 +1,9 @@
+"kxy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000001104126
+0.7031484375000 0.0000002998140
+1.0547226562500 0.0000005762468
+1.4062968750000 0.0000008690883
+1.7578710937500 0.0000011696764
+2.1094453125000 0.0000015418731
+2.4610195312500 0.0000020415003
diff --git a/test/whisky_test_tov_ppm_no_trp/kxz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/kxz_maximum.xg
new file mode 100644
index 0000000..3ccd915
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxz_maximum.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000014511950
+0.7031484375000 0.0000035890759
+1.0547226562500 0.0000077664976
+1.4062968750000 0.0000116685001
+1.7578710937500 0.0000136909250
+2.1094453125000 0.0000126900972
+2.4610195312500 0.0000150428996
diff --git a/test/whisky_test_tov_ppm_no_trp/kxz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/kxz_minimum.xg
new file mode 100644
index 0000000..7022987
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxz_minimum.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000014513240
+0.7031484375000 -0.0000035799436
+1.0547226562500 -0.0000077488970
+1.4062968750000 -0.0000116387715
+1.7578710937500 -0.0000136624751
+2.1094453125000 -0.0000126750502
+2.4610195312500 -0.0000150251954
diff --git a/test/whisky_test_tov_ppm_no_trp/kxz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/kxz_norm1.xg
new file mode 100644
index 0000000..1906848
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxz_norm1.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000348824
+0.7031484375000 0.0000000950086
+1.0547226562500 0.0000001842997
+1.4062968750000 0.0000002920518
+1.7578710937500 0.0000004422342
+2.1094453125000 0.0000006368107
+2.4610195312500 0.0000008802129
diff --git a/test/whisky_test_tov_ppm_no_trp/kxz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/kxz_norm2.xg
new file mode 100644
index 0000000..9a8eeea
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kxz_norm2.xg
@@ -0,0 +1,9 @@
+"kxz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000001104126
+0.7031484375000 0.0000002998140
+1.0547226562500 0.0000005762468
+1.4062968750000 0.0000008690883
+1.7578710937500 0.0000011696764
+2.1094453125000 0.0000015418731
+2.4610195312500 0.0000020415003
diff --git a/test/whisky_test_tov_ppm_no_trp/kyy_maximum.xg b/test/whisky_test_tov_ppm_no_trp/kyy_maximum.xg
new file mode 100644
index 0000000..9e023be
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyy_maximum.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000496886311
+0.7031484375000 0.0000900876246
+1.0547226562500 0.0001228926508
+1.4062968750000 0.0001615545285
+1.7578710937500 0.0001989186828
+2.1094453125000 0.0002333083415
+2.4610195312500 0.0002613531494
diff --git a/test/whisky_test_tov_ppm_no_trp/kyy_minimum.xg b/test/whisky_test_tov_ppm_no_trp/kyy_minimum.xg
new file mode 100644
index 0000000..d5dc3e4
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyy_minimum.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000200396561
+0.7031484375000 -0.0000396848169
+1.0547226562500 -0.0000522362442
+1.4062968750000 -0.0000498160192
+1.7578710937500 -0.0000427804901
+2.1094453125000 -0.0000517954274
+2.4610195312500 -0.0000559731836
diff --git a/test/whisky_test_tov_ppm_no_trp/kyy_norm1.xg b/test/whisky_test_tov_ppm_no_trp/kyy_norm1.xg
new file mode 100644
index 0000000..1dc961d
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyy_norm1.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008593393
+0.7031484375000 0.0000016778733
+1.0547226562500 0.0000024917296
+1.4062968750000 0.0000032502355
+1.7578710937500 0.0000039000146
+2.1094453125000 0.0000044092152
+2.4610195312500 0.0000048705536
diff --git a/test/whisky_test_tov_ppm_no_trp/kyy_norm2.xg b/test/whisky_test_tov_ppm_no_trp/kyy_norm2.xg
new file mode 100644
index 0000000..c207afd
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyy_norm2.xg
@@ -0,0 +1,9 @@
+"kyy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000027696398
+0.7031484375000 0.0000052403839
+1.0547226562500 0.0000075480918
+1.4062968750000 0.0000095654575
+1.7578710937500 0.0000111894743
+2.1094453125000 0.0000125433057
+2.4610195312500 0.0000137506858
diff --git a/test/whisky_test_tov_ppm_no_trp/kyz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/kyz_maximum.xg
new file mode 100644
index 0000000..1d1d351
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyz_maximum.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000014511950
+0.7031484375000 0.0000035890759
+1.0547226562500 0.0000077664976
+1.4062968750000 0.0000116685001
+1.7578710937500 0.0000136909250
+2.1094453125000 0.0000126900972
+2.4610195312500 0.0000150428996
diff --git a/test/whisky_test_tov_ppm_no_trp/kyz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/kyz_minimum.xg
new file mode 100644
index 0000000..c61e84a
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyz_minimum.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000014513240
+0.7031484375000 -0.0000035799436
+1.0547226562500 -0.0000077488970
+1.4062968750000 -0.0000116387715
+1.7578710937500 -0.0000136624751
+2.1094453125000 -0.0000126750502
+2.4610195312500 -0.0000150251954
diff --git a/test/whisky_test_tov_ppm_no_trp/kyz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/kyz_norm1.xg
new file mode 100644
index 0000000..5e5bf88
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyz_norm1.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000348823
+0.7031484375000 0.0000000950086
+1.0547226562500 0.0000001842998
+1.4062968750000 0.0000002920519
+1.7578710937500 0.0000004422343
+2.1094453125000 0.0000006368107
+2.4610195312500 0.0000008802130
diff --git a/test/whisky_test_tov_ppm_no_trp/kyz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/kyz_norm2.xg
new file mode 100644
index 0000000..206834b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kyz_norm2.xg
@@ -0,0 +1,9 @@
+"kyz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000001104126
+0.7031484375000 0.0000002998140
+1.0547226562500 0.0000005762468
+1.4062968750000 0.0000008690883
+1.7578710937500 0.0000011696764
+2.1094453125000 0.0000015418731
+2.4610195312500 0.0000020415003
diff --git a/test/whisky_test_tov_ppm_no_trp/kzz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/kzz_maximum.xg
new file mode 100644
index 0000000..23eeff1
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kzz_maximum.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000496886311
+0.7031484375000 0.0000900876246
+1.0547226562500 0.0001228926508
+1.4062968750000 0.0001615545285
+1.7578710937500 0.0001989186828
+2.1094453125000 0.0002333083415
+2.4610195312500 0.0002613531494
diff --git a/test/whisky_test_tov_ppm_no_trp/kzz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/kzz_minimum.xg
new file mode 100644
index 0000000..bd28135
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kzz_minimum.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000200396561
+0.7031484375000 -0.0000396848169
+1.0547226562500 -0.0000522362442
+1.4062968750000 -0.0000498160192
+1.7578710937500 -0.0000427804901
+2.1094453125000 -0.0000517954274
+2.4610195312500 -0.0000559731836
diff --git a/test/whisky_test_tov_ppm_no_trp/kzz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/kzz_norm1.xg
new file mode 100644
index 0000000..8845971
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kzz_norm1.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008593377
+0.7031484375000 0.0000016778721
+1.0547226562500 0.0000024917319
+1.4062968750000 0.0000032502401
+1.7578710937500 0.0000039000179
+2.1094453125000 0.0000044092149
+2.4610195312500 0.0000048705498
diff --git a/test/whisky_test_tov_ppm_no_trp/kzz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/kzz_norm2.xg
new file mode 100644
index 0000000..4d9d4db
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/kzz_norm2.xg
@@ -0,0 +1,9 @@
+"kzz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000027696397
+0.7031484375000 0.0000052403839
+1.0547226562500 0.0000075480918
+1.4062968750000 0.0000095654576
+1.7578710937500 0.0000111894743
+2.1094453125000 0.0000125433057
+2.4610195312500 0.0000137506857
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/momx_3D_diagonal.xg
new file mode 100644
index 0000000..7494e89
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -1.1500484384e-08
+-2.2733058596e+01 3.5353041608e-09
+-2.1109206837e+01 1.7501122589e-08
+-1.9485355079e+01 2.7803072148e-08
+-1.7861503320e+01 4.5445451619e-08
+-1.6237651561e+01 7.7778848723e-08
+-1.4613799803e+01 1.4058498870e-07
+-1.2989948044e+01 2.7141762577e-07
+-1.1366096285e+01 5.6850028394e-07
+-9.7422445267e+00 1.1692247587e-06
+-8.1183927680e+00 -4.0812885501e-07
+-6.4945410093e+00 -3.3707148859e-07
+-4.8706892506e+00 -2.5394975788e-06
+-3.2468374920e+00 -5.7121429473e-06
+-1.6229857333e+00 -4.2999738208e-07
+8.6602540378e-04 5.2007748698e-08
+1.6247177841e+00 3.9267521417e-07
+3.2485695428e+00 5.7093078491e-06
+4.8724213015e+00 2.5365173699e-06
+6.4962730601e+00 3.3752668460e-07
+8.1201248188e+00 3.9544180611e-07
+9.7439765775e+00 -1.1697003472e-06
+1.1367828336e+01 -5.6803152811e-07
+1.2991680095e+01 -2.7122181287e-07
+1.4615531854e+01 -1.4048844301e-07
+1.6239383612e+01 -7.7735621691e-08
+1.7863235371e+01 -4.5422758536e-08
+1.9487087130e+01 -2.7790612393e-08
+2.1110938888e+01 -1.7494461847e-08
+2.2734790647e+01 -3.5327552254e-09
+2.4358642406e+01 1.1499936211e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.7255653983e-08
+-2.2733058596e+01 6.5077891738e-10
+-2.1109206837e+01 3.5019542890e-08
+-1.9485355079e+01 5.4935381273e-08
+-1.7861503320e+01 9.0863536649e-08
+-1.6237651561e+01 1.5556683131e-07
+-1.4613799803e+01 2.8121563624e-07
+-1.2989948044e+01 5.4307662435e-07
+-1.1366096285e+01 1.1381482561e-06
+-9.7422445267e+00 2.6422158755e-06
+-8.1183927680e+00 3.9784595532e-07
+-6.4945410093e+00 -1.1129791587e-06
+-4.8706892506e+00 -5.0528405566e-06
+-3.2468374920e+00 -1.1544657278e-05
+-1.6229857333e+00 -8.7131693332e-07
+8.6602540378e-04 9.6988555287e-08
+1.6247177841e+00 8.0256385057e-07
+3.2485695428e+00 1.1540025378e-05
+4.8724213015e+00 5.0467563708e-06
+6.4962730601e+00 1.1189235101e-06
+8.1201248188e+00 -4.2223890791e-07
+9.7439765775e+00 -2.6471062474e-06
+1.1367828336e+01 -1.1371885855e-06
+1.2991680095e+01 -5.4267772132e-07
+1.4615531854e+01 -2.8102857222e-07
+1.6239383612e+01 -1.5547108320e-07
+1.7863235371e+01 -9.0809236840e-08
+1.9487087130e+01 -5.4910225539e-08
+2.1110938888e+01 -3.5003989178e-08
+2.2734790647e+01 -6.4743616917e-10
+2.4358642406e+01 2.7250649021e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -4.6085090866e-08
+-2.2733058596e+01 -2.7607336837e-09
+-2.1109206837e+01 5.1810743841e-08
+-1.9485355079e+01 8.1303172793e-08
+-1.7861503320e+01 1.3593188338e-07
+-1.6237651561e+01 2.3334084734e-07
+-1.4613799803e+01 4.2193037673e-07
+-1.2989948044e+01 8.1518121662e-07
+-1.1366096285e+01 1.7080011247e-06
+-9.7422445267e+00 5.9599164986e-06
+-8.1183927680e+00 1.7642275118e-06
+-6.4945410093e+00 -4.2850307320e-06
+-4.8706892506e+00 -7.4961215797e-06
+-3.2468374920e+00 -1.7520545576e-05
+-1.6229857333e+00 -1.1484494113e-06
+8.6602540378e-04 1.3426544683e-07
+1.6247177841e+00 1.0538717199e-06
+3.2485695428e+00 1.7516187370e-05
+4.8724213015e+00 7.4866614608e-06
+6.4962730601e+00 4.3004564621e-06
+8.1201248188e+00 -1.7964368440e-06
+9.7439765775e+00 -5.9704148763e-06
+1.1367828336e+01 -1.7065554532e-06
+1.2991680095e+01 -8.1457177677e-07
+1.4615531854e+01 -4.2165036473e-07
+1.6239383612e+01 -2.3319847888e-07
+1.7863235371e+01 -1.3585267074e-07
+1.9487087130e+01 -8.1260106301e-08
+2.1110938888e+01 -5.1785887469e-08
+2.2734790647e+01 2.7632715382e-09
+2.4358642406e+01 4.6074349407e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.0954140310e-08
+-2.2733058596e+01 -5.2594521140e-09
+-2.1109206837e+01 6.6524610648e-08
+-1.9485355079e+01 1.0737590368e-07
+-1.7861503320e+01 1.8012130147e-07
+-1.6237651561e+01 3.1094167350e-07
+-1.4613799803e+01 5.6273998782e-07
+-1.2989948044e+01 1.0878766616e-06
+-1.1366096285e+01 2.2427486647e-06
+-9.7422445267e+00 9.9974566017e-06
+-8.1183927680e+00 2.8410466709e-06
+-6.4945410093e+00 -9.2461407400e-06
+-4.8706892506e+00 -9.8240675565e-06
+-3.2468374920e+00 -2.3475806257e-05
+-1.6229857333e+00 -1.2720191874e-06
+8.6602540378e-04 1.7609415991e-07
+1.6247177841e+00 1.1257735876e-06
+3.2485695428e+00 2.3487802732e-05
+4.8724213015e+00 9.8109406196e-06
+6.4962730601e+00 9.2701725205e-06
+8.1201248188e+00 -2.8784515830e-06
+9.7439765775e+00 -1.0011384550e-05
+1.1367828336e+01 -2.2410230523e-06
+1.2991680095e+01 -1.0870604213e-06
+1.4615531854e+01 -5.6236536773e-07
+1.6239383612e+01 -3.1075612588e-07
+1.7863235371e+01 -1.8002316150e-07
+1.9487087130e+01 -1.0731812830e-07
+2.1110938888e+01 -6.6492627246e-08
+2.2734790647e+01 5.2622137173e-09
+2.4358642406e+01 6.0939013737e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.8449153494e-08
+-2.2733058596e+01 -6.4576425289e-09
+-2.1109206837e+01 7.7890244149e-08
+-1.9485355079e+01 1.3384897150e-07
+-1.7861503320e+01 2.2312607131e-07
+-1.6237651561e+01 3.8794031632e-07
+-1.4613799803e+01 7.0356956466e-07
+-1.2989948044e+01 1.3612069933e-06
+-1.1366096285e+01 2.7294023394e-06
+-9.7422445267e+00 1.2125329807e-05
+-8.1183927680e+00 3.6225297367e-06
+-6.4945410093e+00 -1.3004176673e-05
+-4.8706892506e+00 -1.2058467897e-05
+-3.2468374920e+00 -2.9195882722e-05
+-1.6229857333e+00 -1.4117895210e-06
+8.6602540378e-04 2.0962649007e-07
+1.6247177841e+00 1.2209345113e-06
+3.2485695428e+00 2.9225692646e-05
+4.8724213015e+00 1.2042031422e-05
+6.4962730601e+00 1.3026144827e-05
+8.1201248188e+00 -3.6592479142e-06
+9.7439765775e+00 -1.2134433354e-05
+1.1367828336e+01 -2.7276751354e-06
+1.2991680095e+01 -1.3601938207e-06
+1.4615531854e+01 -7.0310196563e-07
+1.6239383612e+01 -3.8770843351e-07
+1.7863235371e+01 -2.2300570711e-07
+1.9487087130e+01 -1.3378081549e-07
+2.1110938888e+01 -7.7853583186e-08
+2.2734790647e+01 6.4620638982e-09
+2.4358642406e+01 6.8432414480e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.6644160369e-08
+-2.2733058596e+01 -6.2042128029e-09
+-2.1109206837e+01 8.5351271480e-08
+-1.9485355079e+01 1.6102524695e-07
+-1.7861503320e+01 2.6528612360e-07
+-1.6237651561e+01 4.6370210047e-07
+-1.4613799803e+01 8.4413254042e-07
+-1.2989948044e+01 1.6337184115e-06
+-1.1366096285e+01 3.3707562963e-06
+-9.7422445267e+00 1.1604617467e-05
+-8.1183927680e+00 4.6183820030e-06
+-6.4945410093e+00 -1.3568109410e-05
+-4.8706892506e+00 -1.4419778185e-05
+-3.2468374920e+00 -3.4326846087e-05
+-1.6229857333e+00 -1.5123516745e-06
+8.6602540378e-04 2.1770432294e-07
+1.6247177841e+00 1.2874271234e-06
+3.2485695428e+00 3.4381901825e-05
+4.8724213015e+00 1.4401047093e-05
+6.4962730601e+00 1.3566856457e-05
+8.1201248188e+00 -4.6638659151e-06
+9.7439765775e+00 -1.1595041240e-05
+1.1367828336e+01 -3.3683970150e-06
+1.2991680095e+01 -1.6325164341e-06
+1.4615531854e+01 -8.4357181713e-07
+1.6239383612e+01 -4.6342250841e-07
+1.7863235371e+01 -2.6514046129e-07
+1.9487087130e+01 -1.6094493656e-07
+2.1110938888e+01 -8.5309660516e-08
+2.2734790647e+01 6.2105789695e-09
+2.4358642406e+01 6.6629326828e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -5.6184157390e-08
+-2.2733058596e+01 -4.0102047296e-09
+-2.1109206837e+01 8.9348906556e-08
+-1.9485355079e+01 1.8831030089e-07
+-1.7861503320e+01 3.0767360093e-07
+-1.6237651561e+01 5.3775543422e-07
+-1.4613799803e+01 9.8382044364e-07
+-1.2989948044e+01 1.8960851782e-06
+-1.1366096285e+01 4.4375796479e-06
+-9.7422445267e+00 9.8912842457e-06
+-8.1183927680e+00 5.7228427216e-06
+-6.4945410093e+00 -1.1786636125e-05
+-4.8706892506e+00 -1.7324172937e-05
+-3.2468374920e+00 -3.8386603165e-05
+-1.6229857333e+00 -1.7425565495e-06
+8.6602540378e-04 2.5594891677e-07
+1.6247177841e+00 1.4633587382e-06
+3.2485695428e+00 3.8464162791e-05
+4.8724213015e+00 1.7304108470e-05
+6.4962730601e+00 1.1744900989e-05
+8.1201248188e+00 -5.7898831416e-06
+9.7439765775e+00 -9.8542667538e-06
+1.1367828336e+01 -4.4328638436e-06
+1.2991680095e+01 -1.8947404114e-06
+1.4615531854e+01 -9.8316413305e-07
+1.6239383612e+01 -5.3742962910e-07
+1.7863235371e+01 -3.0750388239e-07
+1.9487087130e+01 -1.8821582379e-07
+2.1110938888e+01 -8.9301419423e-08
+2.2734790647e+01 4.0193540962e-09
+2.4358642406e+01 5.6174814567e-08
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_maximum.xg b/test/whisky_test_tov_ppm_no_trp/momx_maximum.xg
new file mode 100644
index 0000000..c9a7699
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_maximum.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000152413049
+0.7031484375000 0.0000243499614
+1.0547226562500 0.0000299348537
+1.4062968750000 0.0000346939402
+1.7578710937500 0.0000427176095
+2.1094453125000 0.0000503764518
+2.4610195312500 0.0000571873435
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_minimum.xg b/test/whisky_test_tov_ppm_no_trp/momx_minimum.xg
new file mode 100644
index 0000000..a9a5538
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_minimum.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000152829533
+0.7031484375000 -0.0000243860266
+1.0547226562500 -0.0000299946790
+1.4062968750000 -0.0000346635940
+1.7578710937500 -0.0000426592270
+2.1094453125000 -0.0000502766919
+2.4610195312500 -0.0000570552652
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_norm1.xg b/test/whisky_test_tov_ppm_no_trp/momx_norm1.xg
new file mode 100644
index 0000000..723f153
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_norm1.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000004745461
+0.7031484375000 0.0000008822220
+1.0547226562500 0.0000012144995
+1.4062968750000 0.0000014956385
+1.7578710937500 0.0000017051246
+2.1094453125000 0.0000019125793
+2.4610195312500 0.0000021191638
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_norm2.xg b/test/whisky_test_tov_ppm_no_trp/momx_norm2.xg
new file mode 100644
index 0000000..491f867
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_norm2.xg
@@ -0,0 +1,9 @@
+"momx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000015180194
+0.7031484375000 0.0000025320968
+1.0547226562500 0.0000033045447
+1.4062968750000 0.0000039343432
+1.7578710937500 0.0000043900031
+2.1094453125000 0.0000047514807
+2.4610195312500 0.0000051165592
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momx_x_[16][16].xg
new file mode 100644
index 0000000..532339b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -7.3292635321e-07
+-1.3124937500e+01 -1.2545607215e-06
+-1.2187406250e+01 -1.1046038104e-06
+-1.1249875000e+01 -1.6963551235e-06
+-1.0312343750e+01 -2.8329438513e-06
+-9.3748125000e+00 2.5201302078e-06
+-8.4372812500e+00 4.1289601904e-06
+-7.4997500000e+00 -9.0524181481e-07
+-6.5622187500e+00 3.9077880855e-07
+-5.6246875000e+00 5.4484321690e-07
+-4.6871562500e+00 -5.3687218939e-07
+-3.7496250000e+00 -3.1662160286e-06
+-2.8120937500e+00 -6.8848224136e-06
+-1.8745625000e+00 -9.2646632238e-06
+-9.3703125000e-01 -2.4679594891e-07
+5.0000000000e-04 5.2007748698e-08
+9.3803125000e-01 2.0344897667e-07
+1.8755625000e+00 9.2642256105e-06
+2.8130937500e+00 6.8809156382e-06
+3.7506250000e+00 3.1626110293e-06
+4.6881562500e+00 5.3499224405e-07
+5.6256875000e+00 -5.4557276388e-07
+6.5632187500e+00 -3.8499335736e-07
+7.5007500000e+00 8.7826993458e-07
+8.4382812500e+00 -4.1348292136e-06
+9.3758125000e+00 -2.4862187354e-06
+1.0313343750e+01 2.8311738039e-06
+1.1250875000e+01 1.6957175962e-06
+1.2188406250e+01 1.1040857627e-06
+1.3125937500e+01 1.2541128671e-06
+1.4063468750e+01 7.3268724040e-07
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -2.2463104048e-06
+-1.3124937500e+01 -3.0158398519e-06
+-1.2187406250e+01 -2.1754497930e-06
+-1.1249875000e+01 -3.2660564986e-06
+-1.0312343750e+01 -5.4358749064e-06
+-9.3748125000e+00 3.9268581537e-06
+-8.4372812500e+00 8.3306329530e-06
+-7.4997500000e+00 -7.3986988159e-07
+-6.5622187500e+00 9.2958566886e-07
+-5.6246875000e+00 1.3947913676e-06
+-4.6871562500e+00 -7.0571403005e-07
+-3.7496250000e+00 -5.7983120774e-06
+-2.8120937500e+00 -1.3068283224e-05
+-1.8745625000e+00 -1.8001338315e-05
+-9.3703125000e-01 -1.9048037223e-07
+5.0000000000e-04 9.6988555287e-08
+9.3803125000e-01 1.0986179888e-07
+1.8755625000e+00 1.8001161791e-05
+2.8130937500e+00 1.3060242842e-05
+3.7506250000e+00 5.7913119861e-06
+4.6881562500e+00 7.0213047116e-07
+5.6256875000e+00 -1.3967303509e-06
+6.5632187500e+00 -9.1781429144e-07
+7.5007500000e+00 6.8932891922e-07
+8.4382812500e+00 -8.3410124557e-06
+9.3758125000e+00 -3.8644651962e-06
+1.0313343750e+01 5.4322495225e-06
+1.1250875000e+01 3.2653961083e-06
+1.2188406250e+01 2.1744855182e-06
+1.3125937500e+01 3.0148186868e-06
+1.4063468750e+01 2.2456242669e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -4.2989221427e-06
+-1.3124937500e+01 -4.8649709801e-06
+-1.2187406250e+01 -3.2146314676e-06
+-1.1249875000e+01 -4.7517715395e-06
+-1.0312343750e+01 -7.4366554103e-06
+-9.3748125000e+00 3.6801949098e-06
+-8.4372812500e+00 1.2246188811e-05
+-7.4997500000e+00 9.4867959948e-07
+-6.5622187500e+00 1.3364383155e-06
+-5.6246875000e+00 2.3450397451e-06
+-4.6871562500e+00 -8.8157660185e-07
+-3.7496250000e+00 -8.2615965514e-06
+-2.8120937500e+00 -1.8754579920e-05
+-1.8745625000e+00 -2.6411869732e-05
+-9.3703125000e-01 2.4020375996e-08
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 -1.3565563207e-07
+1.8755625000e+00 2.6413988924e-05
+2.8130937500e+00 1.8741971978e-05
+3.7506250000e+00 8.2514506850e-06
+4.6881562500e+00 8.7628520578e-07
+5.6256875000e+00 -2.3483405530e-06
+6.5632187500e+00 -1.3198608590e-06
+7.5007500000e+00 -1.0147177431e-06
+8.4382812500e+00 -1.2260619545e-05
+9.3758125000e+00 -3.5999446511e-06
+1.0313343750e+01 7.4330792170e-06
+1.1250875000e+01 4.7510941076e-06
+1.2188406250e+01 3.2135098342e-06
+1.3125937500e+01 4.8633724821e-06
+1.4063468750e+01 4.2976510648e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -6.3697814457e-06
+-1.3124937500e+01 -6.5907539382e-06
+-1.2187406250e+01 -4.3063924532e-06
+-1.1249875000e+01 -6.2314725701e-06
+-1.0312343750e+01 -8.5098174495e-06
+-9.3748125000e+00 1.8062700418e-06
+-8.4372812500e+00 1.5829956657e-05
+-7.4997500000e+00 4.2042695094e-06
+-6.5622187500e+00 1.0239447485e-06
+-5.6246875000e+00 3.1520789859e-06
+-4.6871562500e+00 -1.4529196229e-06
+-3.7496250000e+00 -1.1009319146e-05
+-2.8120937500e+00 -2.4321364910e-05
+-1.8745625000e+00 -3.4663594046e-05
+-9.3703125000e-01 1.1574821481e-08
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 -1.8301493696e-07
+1.8755625000e+00 3.4693940233e-05
+2.8130937500e+00 2.4303924896e-05
+3.7506250000e+00 1.0996186673e-05
+4.6881562500e+00 1.4456198769e-06
+5.6256875000e+00 -3.1560436165e-06
+6.5632187500e+00 -1.0045834818e-06
+7.5007500000e+00 -4.2724990115e-06
+8.4382812500e+00 -1.5851061127e-05
+9.3758125000e+00 -1.7240846312e-06
+1.0313343750e+01 8.5109805216e-06
+1.1250875000e+01 6.2298065506e-06
+1.2188406250e+01 4.3054255189e-06
+1.3125937500e+01 6.5887004467e-06
+1.4063468750e+01 6.3679171591e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -8.0455441866e-06
+-1.3124937500e+01 -8.0645705129e-06
+-1.2187406250e+01 -5.5946476259e-06
+-1.1249875000e+01 -7.6787688916e-06
+-1.0312343750e+01 -8.5670626093e-06
+-9.3748125000e+00 -7.9354215540e-07
+-8.4372812500e+00 1.9526306440e-05
+-7.4997500000e+00 8.4386350706e-06
+-6.5622187500e+00 -6.3369086575e-07
+-5.6246875000e+00 3.4216807989e-06
+-4.6871562500e+00 -2.6273342026e-06
+-3.7496250000e+00 -1.4377947563e-05
+-2.8120937500e+00 -3.0144747226e-05
+-1.8745625000e+00 -4.2659226962e-05
+-9.3703125000e-01 -8.7019910330e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 6.4849307065e-07
+1.8755625000e+00 4.2717609524e-05
+2.8130937500e+00 3.0122419513e-05
+3.7506250000e+00 1.4361727911e-05
+4.6881562500e+00 2.6175179936e-06
+5.6256875000e+00 -3.4240291645e-06
+6.5632187500e+00 6.5486884051e-07
+7.5007500000e+00 -8.4924386161e-06
+8.4382812500e+00 -1.9560323486e-05
+9.3758125000e+00 8.5836939100e-07
+1.0313343750e+01 8.5790409745e-06
+1.1250875000e+01 7.6749984587e-06
+1.2188406250e+01 5.5937211777e-06
+1.3125937500e+01 8.0623060294e-06
+1.4063468750e+01 8.0431943569e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.0639285725e-06
+-1.3124937500e+01 -9.2195618060e-06
+-1.2187406250e+01 -7.1933024923e-06
+-1.1249875000e+01 -8.9126375093e-06
+-1.0312343750e+01 -7.7460862169e-06
+-9.3748125000e+00 -2.2963752559e-06
+-8.4372812500e+00 2.3621209381e-05
+-7.4997500000e+00 1.2528248733e-05
+-6.5622187500e+00 -3.5796008911e-06
+-5.6246875000e+00 2.4565168624e-06
+-4.6871562500e+00 -4.3595381862e-06
+-3.7496250000e+00 -1.8487200230e-05
+-2.8120937500e+00 -3.6416821894e-05
+-1.8745625000e+00 -5.0276691875e-05
+-9.3703125000e-01 -2.7485707234e-06
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.4908095893e-06
+1.8755625000e+00 5.0376451751e-05
+2.8130937500e+00 3.6390593162e-05
+3.7506250000e+00 1.8466398708e-05
+4.6881562500e+00 4.3470310713e-06
+5.6256875000e+00 -2.4525089569e-06
+6.5632187500e+00 3.6014838181e-06
+7.5007500000e+00 -1.2552441882e-05
+8.4382812500e+00 -2.3672349545e-05
+9.3758125000e+00 2.3230344511e-06
+1.0313343750e+01 7.7726344901e-06
+1.1250875000e+01 8.9070440202e-06
+1.2188406250e+01 7.1915767278e-06
+1.3125937500e+01 9.2173169193e-06
+1.4063468750e+01 9.0613131499e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.3504720478e-06
+-1.3124937500e+01 -1.0042626437e-05
+-1.2187406250e+01 -9.0684356670e-06
+-1.1249875000e+01 -9.6680206237e-06
+-1.0312343750e+01 -6.1618977610e-06
+-9.3748125000e+00 -7.1282673645e-07
+-8.4372812500e+00 2.7282130538e-05
+-7.4997500000e+00 1.5368881893e-05
+-6.5622187500e+00 -6.4239579711e-06
+-5.6246875000e+00 -5.5187076613e-07
+-4.6871562500e+00 -6.4976655116e-06
+-3.7496250000e+00 -2.3021054228e-05
+-2.8120937500e+00 -4.3156791522e-05
+-1.8745625000e+00 -5.7055265199e-05
+-9.3703125000e-01 -5.6505001399e-06
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 5.3339041464e-06
+1.8755625000e+00 5.7187343487e-05
+2.8130937500e+00 4.3126722439e-05
+3.7506250000e+00 2.2996968800e-05
+4.6881562500e+00 6.4833488212e-06
+5.6256875000e+00 5.6794577859e-07
+6.5632187500e+00 6.4412556622e-06
+7.5007500000e+00 -1.5355903165e-05
+8.4382812500e+00 -2.7343780832e-05
+9.3758125000e+00 6.8561603273e-07
+1.0313343750e+01 6.2002261771e-06
+1.1250875000e+01 9.6632273935e-06
+1.2188406250e+01 9.0646306519e-06
+1.3125937500e+01 1.0040364911e-05
+1.4063468750e+01 9.3478965690e-06
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momx_y_[16][16].xg
new file mode 100644
index 0000000..2e8a120
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612765e-11
+-1.3124937500e+01 7.1639694307e-11
+-1.2187406250e+01 1.2758516703e-10
+-1.1249875000e+01 1.9495832611e-10
+-1.0312343750e+01 4.0046632500e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691932e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347887e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037116e-08
+5.0000000000e-04 5.2007748698e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836105e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105821e-10
+1.0313343750e+01 4.0144703128e-10
+1.1250875000e+01 1.9521839907e-10
+1.2188406250e+01 1.2795035042e-10
+1.3125937500e+01 7.1933751993e-11
+1.4063468750e+01 2.5988303484e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663657723e-11
+-1.3124937500e+01 1.4484597673e-10
+-1.2187406250e+01 2.4114862165e-10
+-1.1249875000e+01 4.1636153252e-10
+-1.0312343750e+01 8.9530427289e-10
+-9.3748125000e+00 1.2034105932e-10
+-8.4372812500e+00 -2.0977324575e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030360e-09
+-5.6246875000e+00 1.0788038320e-08
+-4.6871562500e+00 2.0259473897e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855488e-08
+-9.3703125000e-01 9.0796016040e-08
+5.0000000000e-04 9.6988555287e-08
+9.3803125000e-01 9.0767400620e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902104e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946101e-09
+7.5007500000e+00 2.6986276656e-09
+8.4382812500e+00 -2.0777447375e-09
+9.3758125000e+00 1.2572010965e-10
+1.0313343750e+01 8.9463866611e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142071e-10
+1.3125937500e+01 1.4449716124e-10
+1.4063468750e+01 4.4999211207e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053337598e-11
+-1.3124937500e+01 2.0264596551e-10
+-1.2187406250e+01 3.6204669354e-10
+-1.1249875000e+01 6.8287585751e-10
+-1.0312343750e+01 1.2772088077e-09
+-9.3748125000e+00 -5.9276130097e-10
+-8.4372812500e+00 -5.3101135256e-10
+-7.4997500000e+00 2.5975431437e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643287e-08
+-4.6871562500e+00 2.7915123061e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017068e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060943e-08
+6.5632187500e+00 8.2907425206e-09
+7.5007500000e+00 2.6104629434e-09
+8.4382812500e+00 -5.0872020525e-10
+9.3758125000e+00 -5.8368013872e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738084e-10
+1.2188406250e+01 3.6056736457e-10
+1.3125937500e+01 2.0172010166e-10
+1.4063468750e+01 7.7845938959e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192965839e-10
+-1.3124937500e+01 2.4708060785e-10
+-1.2187406250e+01 5.0270188081e-10
+-1.1249875000e+01 9.7120172650e-10
+-1.0312343750e+01 1.2757737087e-09
+-9.3748125000e+00 -9.4205341402e-10
+-8.4372812500e+00 2.1357913910e-09
+-7.4997500000e+00 2.3993000361e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022095e-08
+-4.6871562500e+00 3.6445204777e-08
+-3.7496250000e+00 6.2027955097e-08
+-2.8120937500e+00 9.5915903771e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287856e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204081e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405232e-09
+8.4382812500e+00 2.1578036388e-09
+9.3758125000e+00 -9.2922293888e-10
+1.0313343750e+01 1.2727572019e-09
+1.1250875000e+01 9.6867598019e-10
+1.2188406250e+01 5.0079513184e-10
+1.3125937500e+01 2.4643853776e-10
+1.4063468750e+01 1.2142607018e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729863817e-10
+-1.3124937500e+01 2.9716364522e-10
+-1.2187406250e+01 6.5604436176e-10
+-1.1249875000e+01 1.1824872743e-09
+-1.0312343750e+01 8.5322562623e-10
+-9.3748125000e+00 -1.2987585935e-10
+-8.4372812500e+00 4.8587417858e-09
+-7.4997500000e+00 3.2617665284e-09
+-6.5622187500e+00 1.4333507019e-08
+-5.6246875000e+00 2.3700933098e-08
+-4.6871562500e+00 4.3443742964e-08
+-3.7496250000e+00 7.3878364335e-08
+-2.8120937500e+00 1.1416658978e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436239e-08
+4.6881562500e+00 4.3410737934e-08
+5.6256875000e+00 2.3699373252e-08
+6.5632187500e+00 1.4340974035e-08
+7.5007500000e+00 3.2774431530e-09
+8.4382812500e+00 4.8812118963e-09
+9.3758125000e+00 -1.1450041705e-10
+1.0313343750e+01 8.5393319018e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893421e-10
+1.3125937500e+01 2.9713469607e-10
+1.4063468750e+01 1.6741135489e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149387090e-10
+-1.3124937500e+01 3.6877435259e-10
+-1.2187406250e+01 7.9580281132e-10
+-1.1249875000e+01 1.1867121955e-09
+-1.0312343750e+01 3.6977962574e-10
+-9.3748125000e+00 2.1012668336e-09
+-8.4372812500e+00 6.6325627499e-09
+-7.4997500000e+00 6.1465240956e-09
+-6.5622187500e+00 1.6167036108e-08
+-5.6246875000e+00 2.7912405213e-08
+-4.6871562500e+00 4.9176211918e-08
+-3.7496250000e+00 7.7177238723e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341461e-07
+2.8130937500e+00 1.1818759116e-07
+3.7506250000e+00 7.7134711834e-08
+4.6881562500e+00 4.9128384046e-08
+5.6256875000e+00 2.7895328299e-08
+6.5632187500e+00 1.6178146656e-08
+7.5007500000e+00 6.1538332901e-09
+8.4382812500e+00 6.6561488412e-09
+9.3758125000e+00 2.1176528834e-09
+1.0313343750e+01 3.7672440477e-10
+1.1250875000e+01 1.1861935861e-09
+1.2188406250e+01 7.9719100306e-10
+1.3125937500e+01 3.6918303645e-10
+1.4063468750e+01 2.1223063759e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600474010e-10
+-1.3124937500e+01 4.6217703249e-10
+-1.2187406250e+01 8.7347467555e-10
+-1.1249875000e+01 9.6157087963e-10
+-1.0312343750e+01 4.4257937533e-10
+-9.3748125000e+00 5.0710136306e-09
+-8.4372812500e+00 6.9858019084e-09
+-7.4997500000e+00 1.0958545628e-08
+-6.5622187500e+00 1.6322529474e-08
+-5.6246875000e+00 3.2352903088e-08
+-4.6871562500e+00 4.9794659620e-08
+-3.7496250000e+00 9.0009929077e-08
+-2.8120937500e+00 1.3902175064e-07
+-1.8745625000e+00 1.9323709375e-07
+-9.3703125000e-01 2.4084448920e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050101e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638454e-07
+3.7506250000e+00 8.9989146792e-08
+4.6881562500e+00 4.9739872218e-08
+5.6256875000e+00 3.2324925821e-08
+6.5632187500e+00 1.6342260838e-08
+7.5007500000e+00 1.0964358478e-08
+8.4382812500e+00 7.0082319351e-09
+9.3758125000e+00 5.0877085436e-09
+1.0313343750e+01 4.5463840121e-10
+1.1250875000e+01 9.6305307254e-10
+1.2188406250e+01 8.7628908876e-10
+1.3125937500e+01 4.6294633787e-10
+1.4063468750e+01 2.5650106598e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momx_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momx_z_[16][16].xg
new file mode 100644
index 0000000..69ef1e1
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momx_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612754e-11
+-1.3124937500e+01 7.1639694313e-11
+-1.2187406250e+01 1.2758516705e-10
+-1.1249875000e+01 1.9495832609e-10
+-1.0312343750e+01 4.0046632507e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691931e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347886e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364402e-08
+-9.3703125000e-01 4.8571037115e-08
+5.0000000000e-04 5.2007748698e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836105e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105822e-10
+1.0313343750e+01 4.0144703130e-10
+1.1250875000e+01 1.9521839906e-10
+1.2188406250e+01 1.2795035041e-10
+1.3125937500e+01 7.1933751991e-11
+1.4063468750e+01 2.5988303495e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663675147e-11
+-1.3124937500e+01 1.4484597260e-10
+-1.2187406250e+01 2.4114862170e-10
+-1.1249875000e+01 4.1636153251e-10
+-1.0312343750e+01 8.9530427299e-10
+-9.3748125000e+00 1.2034105931e-10
+-8.4372812500e+00 -2.0977324576e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030361e-09
+-5.6246875000e+00 1.0788038320e-08
+-4.6871562500e+00 2.0259473897e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646318e-08
+-1.8745625000e+00 7.3625855488e-08
+-9.3703125000e-01 9.0796016040e-08
+5.0000000000e-04 9.6988555287e-08
+9.3803125000e-01 9.0767400619e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943279e-08
+6.5632187500e+00 5.5864946098e-09
+7.5007500000e+00 2.6986276658e-09
+8.4382812500e+00 -2.0777447375e-09
+9.3758125000e+00 1.2572010963e-10
+1.0313343750e+01 8.9463866611e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142070e-10
+1.3125937500e+01 1.4449716123e-10
+1.4063468750e+01 4.4999211234e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053368733e-11
+-1.3124937500e+01 2.0264595840e-10
+-1.2187406250e+01 3.6204669361e-10
+-1.1249875000e+01 6.8287585751e-10
+-1.0312343750e+01 1.2772088078e-09
+-9.3748125000e+00 -5.9276130096e-10
+-8.4372812500e+00 -5.3101135263e-10
+-7.4997500000e+00 2.5975431428e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643288e-08
+-4.6871562500e+00 2.7915123062e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017069e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060943e-08
+6.5632187500e+00 8.2907425203e-09
+7.5007500000e+00 2.6104629436e-09
+8.4382812500e+00 -5.0872020527e-10
+9.3758125000e+00 -5.8368013879e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738085e-10
+1.2188406250e+01 3.6056736457e-10
+1.3125937500e+01 2.0172010163e-10
+1.4063468750e+01 7.7845940028e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967899e-10
+-1.3124937500e+01 2.4708060491e-10
+-1.2187406250e+01 5.0270188050e-10
+-1.1249875000e+01 9.7120172648e-10
+-1.0312343750e+01 1.2757737088e-09
+-9.3748125000e+00 -9.4205341397e-10
+-8.4372812500e+00 2.1357913866e-09
+-7.4997500000e+00 2.3993000395e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022096e-08
+-4.6871562500e+00 3.6445204777e-08
+-3.7496250000e+00 6.2027955109e-08
+-2.8120937500e+00 9.5915903765e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287853e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204081e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405233e-09
+8.4382812500e+00 2.1578036387e-09
+9.3758125000e+00 -9.2922293894e-10
+1.0313343750e+01 1.2727572020e-09
+1.1250875000e+01 9.6867598020e-10
+1.2188406250e+01 5.0079513187e-10
+1.3125937500e+01 2.4643853804e-10
+1.4063468750e+01 1.2142607268e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729858587e-10
+-1.3124937500e+01 2.9716363345e-10
+-1.2187406250e+01 6.5604436258e-10
+-1.1249875000e+01 1.1824872743e-09
+-1.0312343750e+01 8.5322562629e-10
+-9.3748125000e+00 -1.2987585933e-10
+-8.4372812500e+00 4.8587417823e-09
+-7.4997500000e+00 3.2617665311e-09
+-6.5622187500e+00 1.4333507019e-08
+-5.6246875000e+00 2.3700933099e-08
+-4.6871562500e+00 4.3443742971e-08
+-3.7496250000e+00 7.3878364346e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436238e-08
+4.6881562500e+00 4.3410737933e-08
+5.6256875000e+00 2.3699373253e-08
+6.5632187500e+00 1.4340974037e-08
+7.5007500000e+00 3.2774431531e-09
+8.4382812500e+00 4.8812118962e-09
+9.3758125000e+00 -1.1450041706e-10
+1.0313343750e+01 8.5393319493e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893434e-10
+1.3125937500e+01 2.9713470264e-10
+1.4063468750e+01 1.6741133217e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149390843e-10
+-1.3124937500e+01 3.6877430740e-10
+-1.2187406250e+01 7.9580282061e-10
+-1.1249875000e+01 1.1867121954e-09
+-1.0312343750e+01 3.6977962580e-10
+-9.3748125000e+00 2.1012668338e-09
+-8.4372812500e+00 6.6325627549e-09
+-7.4997500000e+00 6.1465240771e-09
+-6.5622187500e+00 1.6167036112e-08
+-5.6246875000e+00 2.7912405211e-08
+-4.6871562500e+00 4.9176211954e-08
+-3.7496250000e+00 7.7177238734e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341460e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711834e-08
+4.6881562500e+00 4.9128384045e-08
+5.6256875000e+00 2.7895328299e-08
+6.5632187500e+00 1.6178146651e-08
+7.5007500000e+00 6.1538332902e-09
+8.4382812500e+00 6.6561488412e-09
+9.3758125000e+00 2.1176528834e-09
+1.0313343750e+01 3.7672440044e-10
+1.1250875000e+01 1.1861935861e-09
+1.2188406250e+01 7.9719100339e-10
+1.3125937500e+01 3.6918303160e-10
+1.4063468750e+01 2.1223065504e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600477101e-10
+-1.3124937500e+01 4.6217699672e-10
+-1.2187406250e+01 8.7347469091e-10
+-1.1249875000e+01 9.6157088001e-10
+-1.0312343750e+01 4.4257937539e-10
+-9.3748125000e+00 5.0710136306e-09
+-8.4372812500e+00 6.9858019043e-09
+-7.4997500000e+00 1.0958545619e-08
+-6.5622187500e+00 1.6322529472e-08
+-5.6246875000e+00 3.2352903083e-08
+-4.6871562500e+00 4.9794659647e-08
+-3.7496250000e+00 9.0009929064e-08
+-2.8120937500e+00 1.3902175066e-07
+-1.8745625000e+00 1.9323709372e-07
+-9.3703125000e-01 2.4084448922e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050100e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638452e-07
+3.7506250000e+00 8.9989146797e-08
+4.6881562500e+00 4.9739872217e-08
+5.6256875000e+00 3.2324925826e-08
+6.5632187500e+00 1.6342260829e-08
+7.5007500000e+00 1.0964358473e-08
+8.4382812500e+00 7.0082319644e-09
+9.3758125000e+00 5.0877085178e-09
+1.0313343750e+01 4.5463836818e-10
+1.1250875000e+01 9.6305307280e-10
+1.2188406250e+01 8.7628908902e-10
+1.3125937500e+01 4.6294631537e-10
+1.4063468750e+01 2.5650117003e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/momy_3D_diagonal.xg
new file mode 100644
index 0000000..9c5ca08
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -1.1500484384e-08
+-2.2733058596e+01 3.5353041608e-09
+-2.1109206837e+01 1.7501122589e-08
+-1.9485355079e+01 2.7803072148e-08
+-1.7861503320e+01 4.5445451619e-08
+-1.6237651561e+01 7.7778848723e-08
+-1.4613799803e+01 1.4058498870e-07
+-1.2989948044e+01 2.7141762578e-07
+-1.1366096285e+01 5.6850028394e-07
+-9.7422445267e+00 1.1692247587e-06
+-8.1183927680e+00 -4.0812885501e-07
+-6.4945410093e+00 -3.3707148858e-07
+-4.8706892506e+00 -2.5394975788e-06
+-3.2468374920e+00 -5.7121429473e-06
+-1.6229857333e+00 -4.2999738209e-07
+8.6602540378e-04 5.2007748697e-08
+1.6247177841e+00 3.9267521417e-07
+3.2485695428e+00 5.7093078491e-06
+4.8724213015e+00 2.5365173699e-06
+6.4962730601e+00 3.3752668460e-07
+8.1201248188e+00 3.9544180611e-07
+9.7439765775e+00 -1.1697003472e-06
+1.1367828336e+01 -5.6803152811e-07
+1.2991680095e+01 -2.7122181287e-07
+1.4615531854e+01 -1.4048844301e-07
+1.6239383612e+01 -7.7735621691e-08
+1.7863235371e+01 -4.5422758524e-08
+1.9487087130e+01 -2.7790612393e-08
+2.1110938888e+01 -1.7494461847e-08
+2.2734790647e+01 -3.5327552254e-09
+2.4358642406e+01 1.1499936211e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.7255653983e-08
+-2.2733058596e+01 6.5077891738e-10
+-2.1109206837e+01 3.5019542890e-08
+-1.9485355079e+01 5.4935381273e-08
+-1.7861503320e+01 9.0863536649e-08
+-1.6237651561e+01 1.5556683131e-07
+-1.4613799803e+01 2.8121563624e-07
+-1.2989948044e+01 5.4307662435e-07
+-1.1366096285e+01 1.1381482561e-06
+-9.7422445267e+00 2.6422158755e-06
+-8.1183927680e+00 3.9784595532e-07
+-6.4945410093e+00 -1.1129791587e-06
+-4.8706892506e+00 -5.0528405566e-06
+-3.2468374920e+00 -1.1544657278e-05
+-1.6229857333e+00 -8.7131693332e-07
+8.6602540378e-04 9.6988555286e-08
+1.6247177841e+00 8.0256385057e-07
+3.2485695428e+00 1.1540025378e-05
+4.8724213015e+00 5.0467563708e-06
+6.4962730601e+00 1.1189235101e-06
+8.1201248188e+00 -4.2223890791e-07
+9.7439765775e+00 -2.6471062474e-06
+1.1367828336e+01 -1.1371885855e-06
+1.2991680095e+01 -5.4267772133e-07
+1.4615531854e+01 -2.8102857221e-07
+1.6239383612e+01 -1.5547108321e-07
+1.7863235371e+01 -9.0809236827e-08
+1.9487087130e+01 -5.4910225539e-08
+2.1110938888e+01 -3.5003989178e-08
+2.2734790647e+01 -6.4743616259e-10
+2.4358642406e+01 2.7250649021e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -4.6085090872e-08
+-2.2733058596e+01 -2.7607336903e-09
+-2.1109206837e+01 5.1810743841e-08
+-1.9485355079e+01 8.1303172793e-08
+-1.7861503320e+01 1.3593188338e-07
+-1.6237651561e+01 2.3334084733e-07
+-1.4613799803e+01 4.2193037675e-07
+-1.2989948044e+01 8.1518121662e-07
+-1.1366096285e+01 1.7080011247e-06
+-9.7422445267e+00 5.9599164986e-06
+-8.1183927680e+00 1.7642275118e-06
+-6.4945410093e+00 -4.2850307320e-06
+-4.8706892506e+00 -7.4961215797e-06
+-3.2468374920e+00 -1.7520545576e-05
+-1.6229857333e+00 -1.1484494113e-06
+8.6602540378e-04 1.3426544683e-07
+1.6247177841e+00 1.0538717199e-06
+3.2485695428e+00 1.7516187370e-05
+4.8724213015e+00 7.4866614608e-06
+6.4962730601e+00 4.3004564621e-06
+8.1201248188e+00 -1.7964368440e-06
+9.7439765775e+00 -5.9704148763e-06
+1.1367828336e+01 -1.7065554532e-06
+1.2991680095e+01 -8.1457177678e-07
+1.4615531854e+01 -4.2165036472e-07
+1.6239383612e+01 -2.3319847889e-07
+1.7863235371e+01 -1.3585267073e-07
+1.9487087130e+01 -8.1260106301e-08
+2.1110938888e+01 -5.1785887469e-08
+2.2734790647e+01 2.7632715382e-09
+2.4358642406e+01 4.6074349401e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.0954140308e-08
+-2.2733058596e+01 -5.2594521271e-09
+-2.1109206837e+01 6.6524610648e-08
+-1.9485355079e+01 1.0737590367e-07
+-1.7861503320e+01 1.8012130148e-07
+-1.6237651561e+01 3.1094167349e-07
+-1.4613799803e+01 5.6273998783e-07
+-1.2989948044e+01 1.0878766616e-06
+-1.1366096285e+01 2.2427486647e-06
+-9.7422445267e+00 9.9974566017e-06
+-8.1183927680e+00 2.8410466709e-06
+-6.4945410093e+00 -9.2461407400e-06
+-4.8706892506e+00 -9.8240675566e-06
+-3.2468374920e+00 -2.3475806257e-05
+-1.6229857333e+00 -1.2720191874e-06
+8.6602540378e-04 1.7609415991e-07
+1.6247177841e+00 1.1257735876e-06
+3.2485695428e+00 2.3487802732e-05
+4.8724213015e+00 9.8109406196e-06
+6.4962730601e+00 9.2701725205e-06
+8.1201248188e+00 -2.8784515830e-06
+9.7439765775e+00 -1.0011384550e-05
+1.1367828336e+01 -2.2410230523e-06
+1.2991680095e+01 -1.0870604213e-06
+1.4615531854e+01 -5.6236536776e-07
+1.6239383612e+01 -3.1075612590e-07
+1.7863235371e+01 -1.8002316154e-07
+1.9487087130e+01 -1.0731812831e-07
+2.1110938888e+01 -6.6492627246e-08
+2.2734790647e+01 5.2622136910e-09
+2.4358642406e+01 6.0939013718e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.8449153470e-08
+-2.2733058596e+01 -6.4576425487e-09
+-2.1109206837e+01 7.7890244145e-08
+-1.9485355079e+01 1.3384897148e-07
+-1.7861503320e+01 2.2312607132e-07
+-1.6237651561e+01 3.8794031633e-07
+-1.4613799803e+01 7.0356956463e-07
+-1.2989948044e+01 1.3612069933e-06
+-1.1366096285e+01 2.7294023394e-06
+-9.7422445267e+00 1.2125329807e-05
+-8.1183927680e+00 3.6225297367e-06
+-6.4945410093e+00 -1.3004176673e-05
+-4.8706892506e+00 -1.2058467897e-05
+-3.2468374920e+00 -2.9195882722e-05
+-1.6229857333e+00 -1.4117895210e-06
+8.6602540378e-04 2.0962649007e-07
+1.6247177841e+00 1.2209345113e-06
+3.2485695428e+00 2.9225692646e-05
+4.8724213015e+00 1.2042031422e-05
+6.4962730601e+00 1.3026144827e-05
+8.1201248188e+00 -3.6592479142e-06
+9.7439765775e+00 -1.2134433354e-05
+1.1367828336e+01 -2.7276751354e-06
+1.2991680095e+01 -1.3601938207e-06
+1.4615531854e+01 -7.0310196566e-07
+1.6239383612e+01 -3.8770843352e-07
+1.7863235371e+01 -2.2300570714e-07
+1.9487087130e+01 -1.3378081543e-07
+2.1110938888e+01 -7.7853583173e-08
+2.2734790647e+01 6.4620639707e-09
+2.4358642406e+01 6.8432414456e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.6644160336e-08
+-2.2733058596e+01 -6.2042128095e-09
+-2.1109206837e+01 8.5351271480e-08
+-1.9485355079e+01 1.6102524696e-07
+-1.7861503320e+01 2.6528612360e-07
+-1.6237651561e+01 4.6370210048e-07
+-1.4613799803e+01 8.4413254039e-07
+-1.2989948044e+01 1.6337184115e-06
+-1.1366096285e+01 3.3707562964e-06
+-9.7422445267e+00 1.1604617467e-05
+-8.1183927680e+00 4.6183820030e-06
+-6.4945410093e+00 -1.3568109410e-05
+-4.8706892506e+00 -1.4419778185e-05
+-3.2468374920e+00 -3.4326846087e-05
+-1.6229857333e+00 -1.5123516745e-06
+8.6602540378e-04 2.1770432294e-07
+1.6247177841e+00 1.2874271234e-06
+3.2485695428e+00 3.4381901825e-05
+4.8724213015e+00 1.4401047093e-05
+6.4962730601e+00 1.3566856457e-05
+8.1201248188e+00 -4.6638659151e-06
+9.7439765775e+00 -1.1595041240e-05
+1.1367828336e+01 -3.3683970150e-06
+1.2991680095e+01 -1.6325164342e-06
+1.4615531854e+01 -8.4357181713e-07
+1.6239383612e+01 -4.6342250842e-07
+1.7863235371e+01 -2.6514046124e-07
+1.9487087130e+01 -1.6094493649e-07
+2.1110938888e+01 -8.5309660507e-08
+2.2734790647e+01 6.2105790253e-09
+2.4358642406e+01 6.6629326821e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -5.6184157366e-08
+-2.2733058596e+01 -4.0102047364e-09
+-2.1109206837e+01 8.9348906617e-08
+-1.9485355079e+01 1.8831030094e-07
+-1.7861503320e+01 3.0767360094e-07
+-1.6237651561e+01 5.3775543421e-07
+-1.4613799803e+01 9.8382044368e-07
+-1.2989948044e+01 1.8960851782e-06
+-1.1366096285e+01 4.4375796479e-06
+-9.7422445267e+00 9.8912842457e-06
+-8.1183927680e+00 5.7228427215e-06
+-6.4945410093e+00 -1.1786636125e-05
+-4.8706892506e+00 -1.7324172937e-05
+-3.2468374920e+00 -3.8386603165e-05
+-1.6229857333e+00 -1.7425565495e-06
+8.6602540378e-04 2.5594891677e-07
+1.6247177841e+00 1.4633587382e-06
+3.2485695428e+00 3.8464162791e-05
+4.8724213015e+00 1.7304108470e-05
+6.4962730601e+00 1.1744900989e-05
+8.1201248188e+00 -5.7898831417e-06
+9.7439765775e+00 -9.8542667537e-06
+1.1367828336e+01 -4.4328638436e-06
+1.2991680095e+01 -1.8947404115e-06
+1.4615531854e+01 -9.8316413302e-07
+1.6239383612e+01 -5.3742962911e-07
+1.7863235371e+01 -3.0750388241e-07
+1.9487087130e+01 -1.8821582378e-07
+2.1110938888e+01 -8.9301419465e-08
+2.2734790647e+01 4.0193540860e-09
+2.4358642406e+01 5.6174814556e-08
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_maximum.xg b/test/whisky_test_tov_ppm_no_trp/momy_maximum.xg
new file mode 100644
index 0000000..1a5183b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_maximum.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000152413049
+0.7031484375000 0.0000243499614
+1.0547226562500 0.0000299348537
+1.4062968750000 0.0000346939402
+1.7578710937500 0.0000427176095
+2.1094453125000 0.0000503764518
+2.4610195312500 0.0000571873435
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_minimum.xg b/test/whisky_test_tov_ppm_no_trp/momy_minimum.xg
new file mode 100644
index 0000000..9a79643
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_minimum.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000152829533
+0.7031484375000 -0.0000243860266
+1.0547226562500 -0.0000299946790
+1.4062968750000 -0.0000346635940
+1.7578710937500 -0.0000426592270
+2.1094453125000 -0.0000502766919
+2.4610195312500 -0.0000570552652
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_norm1.xg b/test/whisky_test_tov_ppm_no_trp/momy_norm1.xg
new file mode 100644
index 0000000..65760c0
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_norm1.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000004745461
+0.7031484375000 0.0000008822220
+1.0547226562500 0.0000012144995
+1.4062968750000 0.0000014956385
+1.7578710937500 0.0000017051246
+2.1094453125000 0.0000019125793
+2.4610195312500 0.0000021191638
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_norm2.xg b/test/whisky_test_tov_ppm_no_trp/momy_norm2.xg
new file mode 100644
index 0000000..ebf4635
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_norm2.xg
@@ -0,0 +1,9 @@
+"momy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000015180194
+0.7031484375000 0.0000025320968
+1.0547226562500 0.0000033045447
+1.4062968750000 0.0000039343432
+1.7578710937500 0.0000043900031
+2.1094453125000 0.0000047514807
+2.4610195312500 0.0000051165592
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momy_x_[16][16].xg
new file mode 100644
index 0000000..2233adb
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799609797e-11
+-1.3124937500e+01 7.1639694305e-11
+-1.2187406250e+01 1.2758516697e-10
+-1.1249875000e+01 1.9495832610e-10
+-1.0312343750e+01 4.0046632497e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691931e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347928e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733371e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037116e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827231e-08
+2.8130937500e+00 2.8434087058e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875288e-09
+6.5632187500e+00 2.8346836105e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105806e-10
+1.0313343750e+01 4.0144703122e-10
+1.1250875000e+01 1.9521839915e-10
+1.2188406250e+01 1.2795035040e-10
+1.3125937500e+01 7.1933751946e-11
+1.4063468750e+01 2.5988294714e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663651830e-11
+-1.3124937500e+01 1.4484597678e-10
+-1.2187406250e+01 2.4114862159e-10
+-1.1249875000e+01 4.1636153242e-10
+-1.0312343750e+01 8.9530427288e-10
+-9.3748125000e+00 1.2034105933e-10
+-8.4372812500e+00 -2.0977324575e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030362e-09
+-5.6246875000e+00 1.0788038325e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855487e-08
+-9.3703125000e-01 9.0796016041e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400612e-08
+1.8755625000e+00 7.3644235300e-08
+2.8130937500e+00 5.2978841168e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943279e-08
+6.5632187500e+00 5.5864946102e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447377e-09
+9.3758125000e+00 1.2572010952e-10
+1.0313343750e+01 8.9463866615e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142068e-10
+1.3125937500e+01 1.4449716123e-10
+1.4063468750e+01 4.4999208310e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053349335e-11
+-1.3124937500e+01 2.0264596561e-10
+-1.2187406250e+01 3.6204669910e-10
+-1.1249875000e+01 6.8287585729e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129838e-10
+-8.4372812500e+00 -5.3101135241e-10
+-7.4997500000e+00 2.5975431438e-09
+-6.5622187500e+00 8.2984941862e-09
+-5.6246875000e+00 1.4869643295e-08
+-4.6871562500e+00 2.7915123065e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339695e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017070e-08
+3.7506250000e+00 4.7352315647e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425205e-09
+7.5007500000e+00 2.6104629481e-09
+8.4382812500e+00 -5.0872020528e-10
+9.3758125000e+00 -5.8368013887e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738082e-10
+1.2188406250e+01 3.6056736451e-10
+1.3125937500e+01 2.0172010167e-10
+1.4063468750e+01 7.7845936019e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967310e-10
+-1.3124937500e+01 2.4708061360e-10
+-1.2187406250e+01 5.0270188634e-10
+-1.1249875000e+01 9.7120172640e-10
+-1.0312343750e+01 1.2757737086e-09
+-9.3748125000e+00 -9.4205340922e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000363e-09
+-6.5622187500e+00 1.1456710402e-08
+-5.6246875000e+00 1.9509022114e-08
+-4.6871562500e+00 3.6445204781e-08
+-3.7496250000e+00 6.2027955110e-08
+-2.8120937500e+00 9.5915903764e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763901e-08
+3.7506250000e+00 6.1930287852e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204093e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405277e-09
+8.4382812500e+00 2.1578036437e-09
+9.3758125000e+00 -9.2922293897e-10
+1.0313343750e+01 1.2727572019e-09
+1.1250875000e+01 9.6867598018e-10
+1.2188406250e+01 5.0079513747e-10
+1.3125937500e+01 2.4643853199e-10
+1.4063468750e+01 1.2142609367e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729864997e-10
+-1.3124937500e+01 2.9716359556e-10
+-1.2187406250e+01 6.5604436944e-10
+-1.1249875000e+01 1.1824872745e-09
+-1.0312343750e+01 8.5322562616e-10
+-9.3748125000e+00 -1.2987585258e-10
+-8.4372812500e+00 4.8587417858e-09
+-7.4997500000e+00 3.2617665331e-09
+-6.5622187500e+00 1.4333507006e-08
+-5.6246875000e+00 2.3700933131e-08
+-4.6871562500e+00 4.3443742982e-08
+-3.7496250000e+00 7.3878364347e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736785e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436238e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373229e-08
+6.5632187500e+00 1.4340974041e-08
+7.5007500000e+00 3.2774431528e-09
+8.4382812500e+00 4.8812119013e-09
+9.3758125000e+00 -1.1450041713e-10
+1.0313343750e+01 8.5393319010e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893983e-10
+1.3125937500e+01 2.9713468462e-10
+1.4063468750e+01 1.6741142250e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149390960e-10
+-1.3124937500e+01 3.6877424293e-10
+-1.2187406250e+01 7.9580283263e-10
+-1.1249875000e+01 1.1867121866e-09
+-1.0312343750e+01 3.6977962569e-10
+-9.3748125000e+00 2.1012668412e-09
+-8.4372812500e+00 6.6325627470e-09
+-7.4997500000e+00 6.1465241082e-09
+-6.5622187500e+00 1.6167036087e-08
+-5.6246875000e+00 2.7912405218e-08
+-4.6871562500e+00 4.9176211900e-08
+-3.7496250000e+00 7.7177238735e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617516e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341460e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711838e-08
+4.6881562500e+00 4.9128384011e-08
+5.6256875000e+00 2.7895328260e-08
+6.5632187500e+00 1.6178146655e-08
+7.5007500000e+00 6.1538332649e-09
+8.4382812500e+00 6.6561488535e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440464e-10
+1.1250875000e+01 1.1861935860e-09
+1.2188406250e+01 7.9719100870e-10
+1.3125937500e+01 3.6918304527e-10
+1.4063468750e+01 2.1223063709e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600475078e-10
+-1.3124937500e+01 4.6217702365e-10
+-1.2187406250e+01 8.7347464479e-10
+-1.1249875000e+01 9.6157088758e-10
+-1.0312343750e+01 4.4257940260e-10
+-9.3748125000e+00 5.0710136529e-09
+-8.4372812500e+00 6.9858018566e-09
+-7.4997500000e+00 1.0958545654e-08
+-6.5622187500e+00 1.6322529449e-08
+-5.6246875000e+00 3.2352903093e-08
+-4.6871562500e+00 4.9794659563e-08
+-3.7496250000e+00 9.0009929109e-08
+-2.8120937500e+00 1.3902175064e-07
+-1.8745625000e+00 1.9323709375e-07
+-9.3703125000e-01 2.4084448919e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050100e-07
+1.8755625000e+00 1.9320037841e-07
+2.8130937500e+00 1.3899638452e-07
+3.7506250000e+00 8.9989146804e-08
+4.6881562500e+00 4.9739872187e-08
+5.6256875000e+00 3.2324925759e-08
+6.5632187500e+00 1.6342260831e-08
+7.5007500000e+00 1.0964358455e-08
+8.4382812500e+00 7.0082319497e-09
+9.3758125000e+00 5.0877085486e-09
+1.0313343750e+01 4.5463839577e-10
+1.1250875000e+01 9.6305306706e-10
+1.2188406250e+01 8.7628912727e-10
+1.3125937500e+01 4.6294631828e-10
+1.4063468750e+01 2.5650113670e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momy_y_[16][16].xg
new file mode 100644
index 0000000..e686cc5
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -7.3292635320e-07
+-1.3124937500e+01 -1.2545607215e-06
+-1.2187406250e+01 -1.1046038104e-06
+-1.1249875000e+01 -1.6963551235e-06
+-1.0312343750e+01 -2.8329438513e-06
+-9.3748125000e+00 2.5201302078e-06
+-8.4372812500e+00 4.1289601904e-06
+-7.4997500000e+00 -9.0524181481e-07
+-6.5622187500e+00 3.9077880855e-07
+-5.6246875000e+00 5.4484321690e-07
+-4.6871562500e+00 -5.3687218939e-07
+-3.7496250000e+00 -3.1662160286e-06
+-2.8120937500e+00 -6.8848224136e-06
+-1.8745625000e+00 -9.2646632238e-06
+-9.3703125000e-01 -2.4679594890e-07
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 2.0344897667e-07
+1.8755625000e+00 9.2642256105e-06
+2.8130937500e+00 6.8809156382e-06
+3.7506250000e+00 3.1626110293e-06
+4.6881562500e+00 5.3499224405e-07
+5.6256875000e+00 -5.4557276388e-07
+6.5632187500e+00 -3.8499335736e-07
+7.5007500000e+00 8.7826993458e-07
+8.4382812500e+00 -4.1348292136e-06
+9.3758125000e+00 -2.4862187354e-06
+1.0313343750e+01 2.8311738039e-06
+1.1250875000e+01 1.6957175962e-06
+1.2188406250e+01 1.1040857627e-06
+1.3125937500e+01 1.2541128671e-06
+1.4063468750e+01 7.3268724040e-07
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -2.2463104048e-06
+-1.3124937500e+01 -3.0158398519e-06
+-1.2187406250e+01 -2.1754497930e-06
+-1.1249875000e+01 -3.2660564986e-06
+-1.0312343750e+01 -5.4358749064e-06
+-9.3748125000e+00 3.9268581537e-06
+-8.4372812500e+00 8.3306329530e-06
+-7.4997500000e+00 -7.3986988159e-07
+-6.5622187500e+00 9.2958566885e-07
+-5.6246875000e+00 1.3947913676e-06
+-4.6871562500e+00 -7.0571403005e-07
+-3.7496250000e+00 -5.7983120774e-06
+-2.8120937500e+00 -1.3068283224e-05
+-1.8745625000e+00 -1.8001338315e-05
+-9.3703125000e-01 -1.9048037223e-07
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 1.0986179888e-07
+1.8755625000e+00 1.8001161791e-05
+2.8130937500e+00 1.3060242842e-05
+3.7506250000e+00 5.7913119861e-06
+4.6881562500e+00 7.0213047116e-07
+5.6256875000e+00 -1.3967303509e-06
+6.5632187500e+00 -9.1781429144e-07
+7.5007500000e+00 6.8932891922e-07
+8.4382812500e+00 -8.3410124557e-06
+9.3758125000e+00 -3.8644651962e-06
+1.0313343750e+01 5.4322495225e-06
+1.1250875000e+01 3.2653961083e-06
+1.2188406250e+01 2.1744855182e-06
+1.3125937500e+01 3.0148186868e-06
+1.4063468750e+01 2.2456242669e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -4.2989221427e-06
+-1.3124937500e+01 -4.8649709801e-06
+-1.2187406250e+01 -3.2146314676e-06
+-1.1249875000e+01 -4.7517715395e-06
+-1.0312343750e+01 -7.4366554103e-06
+-9.3748125000e+00 3.6801949098e-06
+-8.4372812500e+00 1.2246188811e-05
+-7.4997500000e+00 9.4867959948e-07
+-6.5622187500e+00 1.3364383155e-06
+-5.6246875000e+00 2.3450397451e-06
+-4.6871562500e+00 -8.8157660187e-07
+-3.7496250000e+00 -8.2615965513e-06
+-2.8120937500e+00 -1.8754579920e-05
+-1.8745625000e+00 -2.6411869732e-05
+-9.3703125000e-01 2.4020375997e-08
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 -1.3565563207e-07
+1.8755625000e+00 2.6413988924e-05
+2.8130937500e+00 1.8741971978e-05
+3.7506250000e+00 8.2514506850e-06
+4.6881562500e+00 8.7628520578e-07
+5.6256875000e+00 -2.3483405530e-06
+6.5632187500e+00 -1.3198608590e-06
+7.5007500000e+00 -1.0147177431e-06
+8.4382812500e+00 -1.2260619545e-05
+9.3758125000e+00 -3.5999446511e-06
+1.0313343750e+01 7.4330792170e-06
+1.1250875000e+01 4.7510941076e-06
+1.2188406250e+01 3.2135098342e-06
+1.3125937500e+01 4.8633724821e-06
+1.4063468750e+01 4.2976510648e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -6.3697814457e-06
+-1.3124937500e+01 -6.5907539382e-06
+-1.2187406250e+01 -4.3063924532e-06
+-1.1249875000e+01 -6.2314725701e-06
+-1.0312343750e+01 -8.5098174495e-06
+-9.3748125000e+00 1.8062700418e-06
+-8.4372812500e+00 1.5829956657e-05
+-7.4997500000e+00 4.2042695094e-06
+-6.5622187500e+00 1.0239447485e-06
+-5.6246875000e+00 3.1520789859e-06
+-4.6871562500e+00 -1.4529196229e-06
+-3.7496250000e+00 -1.1009319145e-05
+-2.8120937500e+00 -2.4321364910e-05
+-1.8745625000e+00 -3.4663594046e-05
+-9.3703125000e-01 1.1574821483e-08
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 -1.8301493696e-07
+1.8755625000e+00 3.4693940233e-05
+2.8130937500e+00 2.4303924896e-05
+3.7506250000e+00 1.0996186673e-05
+4.6881562500e+00 1.4456198769e-06
+5.6256875000e+00 -3.1560436165e-06
+6.5632187500e+00 -1.0045834818e-06
+7.5007500000e+00 -4.2724990115e-06
+8.4382812500e+00 -1.5851061127e-05
+9.3758125000e+00 -1.7240846312e-06
+1.0313343750e+01 8.5109805216e-06
+1.1250875000e+01 6.2298065506e-06
+1.2188406250e+01 4.3054255189e-06
+1.3125937500e+01 6.5887004467e-06
+1.4063468750e+01 6.3679171591e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -8.0455441865e-06
+-1.3124937500e+01 -8.0645705128e-06
+-1.2187406250e+01 -5.5946476260e-06
+-1.1249875000e+01 -7.6787688916e-06
+-1.0312343750e+01 -8.5670626093e-06
+-9.3748125000e+00 -7.9354215541e-07
+-8.4372812500e+00 1.9526306440e-05
+-7.4997500000e+00 8.4386350706e-06
+-6.5622187500e+00 -6.3369086572e-07
+-5.6246875000e+00 3.4216807989e-06
+-4.6871562500e+00 -2.6273342026e-06
+-3.7496250000e+00 -1.4377947563e-05
+-2.8120937500e+00 -3.0144747226e-05
+-1.8745625000e+00 -4.2659226962e-05
+-9.3703125000e-01 -8.7019910330e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 6.4849307065e-07
+1.8755625000e+00 4.2717609524e-05
+2.8130937500e+00 3.0122419513e-05
+3.7506250000e+00 1.4361727911e-05
+4.6881562500e+00 2.6175179936e-06
+5.6256875000e+00 -3.4240291645e-06
+6.5632187500e+00 6.5486884051e-07
+7.5007500000e+00 -8.4924386162e-06
+8.4382812500e+00 -1.9560323486e-05
+9.3758125000e+00 8.5836939100e-07
+1.0313343750e+01 8.5790409745e-06
+1.1250875000e+01 7.6749984587e-06
+1.2188406250e+01 5.5937211777e-06
+1.3125937500e+01 8.0623060294e-06
+1.4063468750e+01 8.0431943569e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.0639285724e-06
+-1.3124937500e+01 -9.2195618059e-06
+-1.2187406250e+01 -7.1933024924e-06
+-1.1249875000e+01 -8.9126375093e-06
+-1.0312343750e+01 -7.7460862169e-06
+-9.3748125000e+00 -2.2963752560e-06
+-8.4372812500e+00 2.3621209381e-05
+-7.4997500000e+00 1.2528248733e-05
+-6.5622187500e+00 -3.5796008911e-06
+-5.6246875000e+00 2.4565168624e-06
+-4.6871562500e+00 -4.3595381862e-06
+-3.7496250000e+00 -1.8487200230e-05
+-2.8120937500e+00 -3.6416821894e-05
+-1.8745625000e+00 -5.0276691875e-05
+-9.3703125000e-01 -2.7485707234e-06
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.4908095893e-06
+1.8755625000e+00 5.0376451751e-05
+2.8130937500e+00 3.6390593162e-05
+3.7506250000e+00 1.8466398708e-05
+4.6881562500e+00 4.3470310713e-06
+5.6256875000e+00 -2.4525089569e-06
+6.5632187500e+00 3.6014838181e-06
+7.5007500000e+00 -1.2552441882e-05
+8.4382812500e+00 -2.3672349545e-05
+9.3758125000e+00 2.3230344511e-06
+1.0313343750e+01 7.7726344901e-06
+1.1250875000e+01 8.9070440202e-06
+1.2188406250e+01 7.1915767278e-06
+1.3125937500e+01 9.2173169192e-06
+1.4063468750e+01 9.0613131499e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.3504720477e-06
+-1.3124937500e+01 -1.0042626437e-05
+-1.2187406250e+01 -9.0684356670e-06
+-1.1249875000e+01 -9.6680206237e-06
+-1.0312343750e+01 -6.1618977610e-06
+-9.3748125000e+00 -7.1282673647e-07
+-8.4372812500e+00 2.7282130538e-05
+-7.4997500000e+00 1.5368881893e-05
+-6.5622187500e+00 -6.4239579711e-06
+-5.6246875000e+00 -5.5187076613e-07
+-4.6871562500e+00 -6.4976655116e-06
+-3.7496250000e+00 -2.3021054228e-05
+-2.8120937500e+00 -4.3156791522e-05
+-1.8745625000e+00 -5.7055265199e-05
+-9.3703125000e-01 -5.6505001399e-06
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 5.3339041464e-06
+1.8755625000e+00 5.7187343487e-05
+2.8130937500e+00 4.3126722439e-05
+3.7506250000e+00 2.2996968800e-05
+4.6881562500e+00 6.4833488212e-06
+5.6256875000e+00 5.6794577860e-07
+6.5632187500e+00 6.4412556622e-06
+7.5007500000e+00 -1.5355903165e-05
+8.4382812500e+00 -2.7343780832e-05
+9.3758125000e+00 6.8561603273e-07
+1.0313343750e+01 6.2002261771e-06
+1.1250875000e+01 9.6632273934e-06
+1.2188406250e+01 9.0646306519e-06
+1.3125937500e+01 1.0040364911e-05
+1.4063468750e+01 9.3478965690e-06
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momy_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momy_z_[16][16].xg
new file mode 100644
index 0000000..d2a244d
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momy_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612785e-11
+-1.3124937500e+01 7.1639694358e-11
+-1.2187406250e+01 1.2758516698e-10
+-1.1249875000e+01 1.9495832609e-10
+-1.0312343750e+01 4.0046632499e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691929e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439256e-09
+-5.6246875000e+00 5.8189347885e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364402e-08
+-9.3703125000e-01 4.8571037115e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253799e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836102e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105796e-10
+1.0313343750e+01 4.0144703133e-10
+1.1250875000e+01 1.9521839911e-10
+1.2188406250e+01 1.2795035042e-10
+1.3125937500e+01 7.1933751962e-11
+1.4063468750e+01 2.5988303500e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663672276e-11
+-1.3124937500e+01 1.4484597271e-10
+-1.2187406250e+01 2.4114862158e-10
+-1.1249875000e+01 4.1636153245e-10
+-1.0312343750e+01 8.9530427291e-10
+-9.3748125000e+00 1.2034105929e-10
+-8.4372812500e+00 -2.0977324574e-09
+-7.4997500000e+00 2.6944374086e-09
+-6.5622187500e+00 5.5908030359e-09
+-5.6246875000e+00 1.0788038316e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855488e-08
+-9.3703125000e-01 9.0796016046e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400618e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946099e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447376e-09
+9.3758125000e+00 1.2572010937e-10
+1.0313343750e+01 8.9463866614e-10
+1.1250875000e+01 4.1698488392e-10
+1.2188406250e+01 2.4061142072e-10
+1.3125937500e+01 1.4449716120e-10
+1.4063468750e+01 4.4999211238e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053383490e-11
+-1.3124937500e+01 2.0264595555e-10
+-1.2187406250e+01 3.6204669350e-10
+-1.1249875000e+01 6.8287585735e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129844e-10
+-8.4372812500e+00 -5.3101135234e-10
+-7.4997500000e+00 2.5975431435e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643287e-08
+-4.6871562500e+00 2.7915123062e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017069e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364135e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425202e-09
+7.5007500000e+00 2.6104629620e-09
+8.4382812500e+00 -5.0872020523e-10
+9.3758125000e+00 -5.8368013901e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738087e-10
+1.2188406250e+01 3.6056736461e-10
+1.3125937500e+01 2.0172010165e-10
+1.4063468750e+01 7.7845949740e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192969374e-10
+-1.3124937500e+01 2.4708060205e-10
+-1.2187406250e+01 5.0270188036e-10
+-1.1249875000e+01 9.7120172646e-10
+-1.0312343750e+01 1.2757737085e-09
+-9.3748125000e+00 -9.4205340919e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000379e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022094e-08
+-4.6871562500e+00 3.6445204778e-08
+-3.7496250000e+00 6.2027955110e-08
+-2.8120937500e+00 9.5915903764e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287853e-08
+4.6881562500e+00 3.6426038713e-08
+5.6256875000e+00 1.9521204091e-08
+6.5632187500e+00 1.1452748378e-08
+7.5007500000e+00 2.4184405417e-09
+8.4382812500e+00 2.1578036413e-09
+9.3758125000e+00 -9.2922293909e-10
+1.0313343750e+01 1.2727572019e-09
+1.1250875000e+01 9.6867598020e-10
+1.2188406250e+01 5.0079513754e-10
+1.3125937500e+01 2.4643853745e-10
+1.4063468750e+01 1.2142608548e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729859177e-10
+-1.3124937500e+01 2.9716362477e-10
+-1.2187406250e+01 6.5604436246e-10
+-1.1249875000e+01 1.1824872745e-09
+-1.0312343750e+01 8.5322561537e-10
+-9.3748125000e+00 -1.2987585350e-10
+-8.4372812500e+00 4.8587417912e-09
+-7.4997500000e+00 3.2617665350e-09
+-6.5622187500e+00 1.4333507018e-08
+-5.6246875000e+00 2.3700933097e-08
+-4.6871562500e+00 4.3443742981e-08
+-3.7496250000e+00 7.3878364345e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116641e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436237e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373227e-08
+6.5632187500e+00 1.4340974037e-08
+7.5007500000e+00 3.2774431760e-09
+8.4382812500e+00 4.8812118988e-09
+9.3758125000e+00 -1.1450041723e-10
+1.0313343750e+01 8.5393319472e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893990e-10
+1.3125937500e+01 2.9713469559e-10
+1.4063468750e+01 1.6741137490e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149392949e-10
+-1.3124937500e+01 3.6877423643e-10
+-1.2187406250e+01 7.9580283928e-10
+-1.1249875000e+01 1.1867121912e-09
+-1.0312343750e+01 3.6977961488e-10
+-9.3748125000e+00 2.1012668405e-09
+-8.4372812500e+00 6.6325627519e-09
+-7.4997500000e+00 6.1465241129e-09
+-6.5622187500e+00 1.6167036095e-08
+-5.6246875000e+00 2.7912405261e-08
+-4.6871562500e+00 4.9176211905e-08
+-3.7496250000e+00 7.7177238769e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721693e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664654e-07
+1.8755625000e+00 1.6423341461e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711843e-08
+4.6881562500e+00 4.9128384011e-08
+5.6256875000e+00 2.7895328255e-08
+6.5632187500e+00 1.6178146662e-08
+7.5007500000e+00 6.1538332810e-09
+8.4382812500e+00 6.6561488463e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440819e-10
+1.1250875000e+01 1.1861935642e-09
+1.2188406250e+01 7.9719100613e-10
+1.3125937500e+01 3.6918304735e-10
+1.4063468750e+01 2.1223056853e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600475835e-10
+-1.3124937500e+01 4.6217700739e-10
+-1.2187406250e+01 8.7347465533e-10
+-1.1249875000e+01 9.6157088656e-10
+-1.0312343750e+01 4.4257939176e-10
+-9.3748125000e+00 5.0710136517e-09
+-8.4372812500e+00 6.9858018648e-09
+-7.4997500000e+00 1.0958545669e-08
+-6.5622187500e+00 1.6322529448e-08
+-5.6246875000e+00 3.2352903129e-08
+-4.6871562500e+00 4.9794659559e-08
+-3.7496250000e+00 9.0009929109e-08
+-2.8120937500e+00 1.3902175065e-07
+-1.8745625000e+00 1.9323709372e-07
+-9.3703125000e-01 2.4084448922e-07
+5.0000000000e-04 2.5594891677e-07
+9.3803125000e-01 2.4083050101e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638453e-07
+3.7506250000e+00 8.9989146787e-08
+4.6881562500e+00 4.9739872191e-08
+5.6256875000e+00 3.2324925762e-08
+6.5632187500e+00 1.6342260837e-08
+7.5007500000e+00 1.0964358467e-08
+8.4382812500e+00 7.0082319378e-09
+9.3758125000e+00 5.0877085279e-09
+1.0313343750e+01 4.5463837583e-10
+1.1250875000e+01 9.6305305645e-10
+1.2188406250e+01 8.7628909583e-10
+1.3125937500e+01 4.6294630739e-10
+1.4063468750e+01 2.5650106113e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/momz_3D_diagonal.xg
new file mode 100644
index 0000000..2878b6f
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -1.1500484384e-08
+-2.2733058596e+01 3.5353041608e-09
+-2.1109206837e+01 1.7501122589e-08
+-1.9485355079e+01 2.7803072148e-08
+-1.7861503320e+01 4.5445451619e-08
+-1.6237651561e+01 7.7778848723e-08
+-1.4613799803e+01 1.4058498870e-07
+-1.2989948044e+01 2.7141762578e-07
+-1.1366096285e+01 5.6850028394e-07
+-9.7422445267e+00 1.1692247587e-06
+-8.1183927680e+00 -4.0812885501e-07
+-6.4945410093e+00 -3.3707148858e-07
+-4.8706892506e+00 -2.5394975788e-06
+-3.2468374920e+00 -5.7121429473e-06
+-1.6229857333e+00 -4.2999738209e-07
+8.6602540378e-04 5.2007748697e-08
+1.6247177841e+00 3.9267521417e-07
+3.2485695428e+00 5.7093078491e-06
+4.8724213015e+00 2.5365173699e-06
+6.4962730601e+00 3.3752668460e-07
+8.1201248188e+00 3.9544180611e-07
+9.7439765775e+00 -1.1697003472e-06
+1.1367828336e+01 -5.6803152811e-07
+1.2991680095e+01 -2.7122181287e-07
+1.4615531854e+01 -1.4048844301e-07
+1.6239383612e+01 -7.7735621691e-08
+1.7863235371e+01 -4.5422758524e-08
+1.9487087130e+01 -2.7790612393e-08
+2.1110938888e+01 -1.7494461847e-08
+2.2734790647e+01 -3.5327552254e-09
+2.4358642406e+01 1.1499936211e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -2.7255653983e-08
+-2.2733058596e+01 6.5077891738e-10
+-2.1109206837e+01 3.5019542890e-08
+-1.9485355079e+01 5.4935381273e-08
+-1.7861503320e+01 9.0863536649e-08
+-1.6237651561e+01 1.5556683131e-07
+-1.4613799803e+01 2.8121563624e-07
+-1.2989948044e+01 5.4307662435e-07
+-1.1366096285e+01 1.1381482561e-06
+-9.7422445267e+00 2.6422158755e-06
+-8.1183927680e+00 3.9784595532e-07
+-6.4945410093e+00 -1.1129791587e-06
+-4.8706892506e+00 -5.0528405566e-06
+-3.2468374920e+00 -1.1544657278e-05
+-1.6229857333e+00 -8.7131693332e-07
+8.6602540378e-04 9.6988555286e-08
+1.6247177841e+00 8.0256385057e-07
+3.2485695428e+00 1.1540025378e-05
+4.8724213015e+00 5.0467563708e-06
+6.4962730601e+00 1.1189235101e-06
+8.1201248188e+00 -4.2223890791e-07
+9.7439765775e+00 -2.6471062474e-06
+1.1367828336e+01 -1.1371885855e-06
+1.2991680095e+01 -5.4267772133e-07
+1.4615531854e+01 -2.8102857221e-07
+1.6239383612e+01 -1.5547108321e-07
+1.7863235371e+01 -9.0809236827e-08
+1.9487087130e+01 -5.4910225539e-08
+2.1110938888e+01 -3.5003989178e-08
+2.2734790647e+01 -6.4743616232e-10
+2.4358642406e+01 2.7250649022e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -4.6085090872e-08
+-2.2733058596e+01 -2.7607336903e-09
+-2.1109206837e+01 5.1810743841e-08
+-1.9485355079e+01 8.1303172793e-08
+-1.7861503320e+01 1.3593188338e-07
+-1.6237651561e+01 2.3334084733e-07
+-1.4613799803e+01 4.2193037675e-07
+-1.2989948044e+01 8.1518121662e-07
+-1.1366096285e+01 1.7080011247e-06
+-9.7422445267e+00 5.9599164986e-06
+-8.1183927680e+00 1.7642275118e-06
+-6.4945410093e+00 -4.2850307320e-06
+-4.8706892506e+00 -7.4961215797e-06
+-3.2468374920e+00 -1.7520545576e-05
+-1.6229857333e+00 -1.1484494113e-06
+8.6602540378e-04 1.3426544683e-07
+1.6247177841e+00 1.0538717199e-06
+3.2485695428e+00 1.7516187370e-05
+4.8724213015e+00 7.4866614608e-06
+6.4962730601e+00 4.3004564621e-06
+8.1201248188e+00 -1.7964368440e-06
+9.7439765775e+00 -5.9704148763e-06
+1.1367828336e+01 -1.7065554532e-06
+1.2991680095e+01 -8.1457177678e-07
+1.4615531854e+01 -4.2165036472e-07
+1.6239383612e+01 -2.3319847889e-07
+1.7863235371e+01 -1.3585267073e-07
+1.9487087130e+01 -8.1260106301e-08
+2.1110938888e+01 -5.1785887546e-08
+2.2734790647e+01 2.7632715271e-09
+2.4358642406e+01 4.6074349403e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.0954140308e-08
+-2.2733058596e+01 -5.2594521271e-09
+-2.1109206837e+01 6.6524610648e-08
+-1.9485355079e+01 1.0737590367e-07
+-1.7861503320e+01 1.8012130148e-07
+-1.6237651561e+01 3.1094167349e-07
+-1.4613799803e+01 5.6273998783e-07
+-1.2989948044e+01 1.0878766616e-06
+-1.1366096285e+01 2.2427486647e-06
+-9.7422445267e+00 9.9974566017e-06
+-8.1183927680e+00 2.8410466709e-06
+-6.4945410093e+00 -9.2461407400e-06
+-4.8706892506e+00 -9.8240675565e-06
+-3.2468374920e+00 -2.3475806257e-05
+-1.6229857333e+00 -1.2720191874e-06
+8.6602540378e-04 1.7609415991e-07
+1.6247177841e+00 1.1257735876e-06
+3.2485695428e+00 2.3487802732e-05
+4.8724213015e+00 9.8109406196e-06
+6.4962730601e+00 9.2701725205e-06
+8.1201248188e+00 -2.8784515830e-06
+9.7439765775e+00 -1.0011384550e-05
+1.1367828336e+01 -2.2410230523e-06
+1.2991680095e+01 -1.0870604213e-06
+1.4615531854e+01 -5.6236536776e-07
+1.6239383612e+01 -3.1075612590e-07
+1.7863235371e+01 -1.8002316153e-07
+1.9487087130e+01 -1.0731812831e-07
+2.1110938888e+01 -6.6492627323e-08
+2.2734790647e+01 5.2622136620e-09
+2.4358642406e+01 6.0939013731e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.8449153470e-08
+-2.2733058596e+01 -6.4576425482e-09
+-2.1109206837e+01 7.7890244145e-08
+-1.9485355079e+01 1.3384897148e-07
+-1.7861503320e+01 2.2312607132e-07
+-1.6237651561e+01 3.8794031632e-07
+-1.4613799803e+01 7.0356956463e-07
+-1.2989948044e+01 1.3612069933e-06
+-1.1366096285e+01 2.7294023394e-06
+-9.7422445267e+00 1.2125329807e-05
+-8.1183927680e+00 3.6225297367e-06
+-6.4945410093e+00 -1.3004176673e-05
+-4.8706892506e+00 -1.2058467897e-05
+-3.2468374920e+00 -2.9195882722e-05
+-1.6229857333e+00 -1.4117895210e-06
+8.6602540378e-04 2.0962649007e-07
+1.6247177841e+00 1.2209345113e-06
+3.2485695428e+00 2.9225692646e-05
+4.8724213015e+00 1.2042031422e-05
+6.4962730601e+00 1.3026144827e-05
+8.1201248188e+00 -3.6592479142e-06
+9.7439765775e+00 -1.2134433354e-05
+1.1367828336e+01 -2.7276751354e-06
+1.2991680095e+01 -1.3601938207e-06
+1.4615531854e+01 -7.0310196566e-07
+1.6239383612e+01 -3.8770843352e-07
+1.7863235371e+01 -2.2300570713e-07
+1.9487087130e+01 -1.3378081543e-07
+2.1110938888e+01 -7.7853583171e-08
+2.2734790647e+01 6.4620640053e-09
+2.4358642406e+01 6.8432414453e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -6.6644160333e-08
+-2.2733058596e+01 -6.2042128037e-09
+-2.1109206837e+01 8.5351271480e-08
+-1.9485355079e+01 1.6102524696e-07
+-1.7861503320e+01 2.6528612360e-07
+-1.6237651561e+01 4.6370210049e-07
+-1.4613799803e+01 8.4413254039e-07
+-1.2989948044e+01 1.6337184115e-06
+-1.1366096285e+01 3.3707562964e-06
+-9.7422445267e+00 1.1604617467e-05
+-8.1183927680e+00 4.6183820030e-06
+-6.4945410093e+00 -1.3568109410e-05
+-4.8706892506e+00 -1.4419778185e-05
+-3.2468374920e+00 -3.4326846087e-05
+-1.6229857333e+00 -1.5123516745e-06
+8.6602540378e-04 2.1770432294e-07
+1.6247177841e+00 1.2874271234e-06
+3.2485695428e+00 3.4381901825e-05
+4.8724213015e+00 1.4401047093e-05
+6.4962730601e+00 1.3566856457e-05
+8.1201248188e+00 -4.6638659151e-06
+9.7439765775e+00 -1.1595041240e-05
+1.1367828336e+01 -3.3683970150e-06
+1.2991680095e+01 -1.6325164342e-06
+1.4615531854e+01 -8.4357181712e-07
+1.6239383612e+01 -4.6342250844e-07
+1.7863235371e+01 -2.6514046124e-07
+1.9487087130e+01 -1.6094493649e-07
+2.1110938888e+01 -8.5309660463e-08
+2.2734790647e+01 6.2105791153e-09
+2.4358642406e+01 6.6629326755e-08
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 -5.6184157357e-08
+-2.2733058596e+01 -4.0102047310e-09
+-2.1109206837e+01 8.9348906631e-08
+-1.9485355079e+01 1.8831030094e-07
+-1.7861503320e+01 3.0767360092e-07
+-1.6237651561e+01 5.3775543420e-07
+-1.4613799803e+01 9.8382044368e-07
+-1.2989948044e+01 1.8960851782e-06
+-1.1366096285e+01 4.4375796479e-06
+-9.7422445267e+00 9.8912842457e-06
+-8.1183927680e+00 5.7228427215e-06
+-6.4945410093e+00 -1.1786636125e-05
+-4.8706892506e+00 -1.7324172937e-05
+-3.2468374920e+00 -3.8386603165e-05
+-1.6229857333e+00 -1.7425565495e-06
+8.6602540378e-04 2.5594891678e-07
+1.6247177841e+00 1.4633587382e-06
+3.2485695428e+00 3.8464162791e-05
+4.8724213015e+00 1.7304108470e-05
+6.4962730601e+00 1.1744900989e-05
+8.1201248188e+00 -5.7898831417e-06
+9.7439765775e+00 -9.8542667537e-06
+1.1367828336e+01 -4.4328638436e-06
+1.2991680095e+01 -1.8947404115e-06
+1.4615531854e+01 -9.8316413300e-07
+1.6239383612e+01 -5.3742962912e-07
+1.7863235371e+01 -3.0750388234e-07
+1.9487087130e+01 -1.8821582377e-07
+2.1110938888e+01 -8.9301419419e-08
+2.2734790647e+01 4.0193539742e-09
+2.4358642406e+01 5.6174814502e-08
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/momz_maximum.xg
new file mode 100644
index 0000000..1fab28a
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_maximum.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000152413049
+0.7031484375000 0.0000243499614
+1.0547226562500 0.0000299348537
+1.4062968750000 0.0000346939402
+1.7578710937500 0.0000427176095
+2.1094453125000 0.0000503764518
+2.4610195312500 0.0000571873435
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/momz_minimum.xg
new file mode 100644
index 0000000..375964f
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_minimum.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000152829533
+0.7031484375000 -0.0000243860266
+1.0547226562500 -0.0000299946790
+1.4062968750000 -0.0000346635940
+1.7578710937500 -0.0000426592270
+2.1094453125000 -0.0000502766919
+2.4610195312500 -0.0000570552652
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/momz_norm1.xg
new file mode 100644
index 0000000..4fb8892
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_norm1.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000004745461
+0.7031484375000 0.0000008822220
+1.0547226562500 0.0000012144995
+1.4062968750000 0.0000014956385
+1.7578710937500 0.0000017051246
+2.1094453125000 0.0000019125793
+2.4610195312500 0.0000021191638
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/momz_norm2.xg
new file mode 100644
index 0000000..c6dc8c3
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_norm2.xg
@@ -0,0 +1,9 @@
+"momz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000015180194
+0.7031484375000 0.0000025320968
+1.0547226562500 0.0000033045447
+1.4062968750000 0.0000039343432
+1.7578710937500 0.0000043900031
+2.1094453125000 0.0000047514807
+2.4610195312500 0.0000051165592
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momz_x_[16][16].xg
new file mode 100644
index 0000000..11d6002
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799609797e-11
+-1.3124937500e+01 7.1639694305e-11
+-1.2187406250e+01 1.2758516697e-10
+-1.1249875000e+01 1.9495832610e-10
+-1.0312343750e+01 4.0046632496e-10
+-9.3748125000e+00 4.0004555065e-10
+-8.4372812500e+00 -1.8480691931e-09
+-7.4997500000e+00 1.8272203691e-09
+-6.5622187500e+00 2.8346439258e-09
+-5.6246875000e+00 5.8189347927e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733371e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037116e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253798e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875289e-09
+6.5632187500e+00 2.8346836104e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105805e-10
+1.0313343750e+01 4.0144703123e-10
+1.1250875000e+01 1.9521839915e-10
+1.2188406250e+01 1.2795035040e-10
+1.3125937500e+01 7.1933751945e-11
+1.4063468750e+01 2.5988294715e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663651829e-11
+-1.3124937500e+01 1.4484597678e-10
+-1.2187406250e+01 2.4114862159e-10
+-1.1249875000e+01 4.1636153242e-10
+-1.0312343750e+01 8.9530427284e-10
+-9.3748125000e+00 1.2034105933e-10
+-8.4372812500e+00 -2.0977324575e-09
+-7.4997500000e+00 2.6944374087e-09
+-6.5622187500e+00 5.5908030362e-09
+-5.6246875000e+00 1.0788038324e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089414e-08
+-2.8120937500e+00 5.3029646317e-08
+-1.8745625000e+00 7.3625855487e-08
+-9.3703125000e-01 9.0796016041e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400612e-08
+1.8755625000e+00 7.3644235299e-08
+2.8130937500e+00 5.2978841168e-08
+3.7506250000e+00 3.4303902105e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946101e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447377e-09
+9.3758125000e+00 1.2572010952e-10
+1.0313343750e+01 8.9463866616e-10
+1.1250875000e+01 4.1698488387e-10
+1.2188406250e+01 2.4061142068e-10
+1.3125937500e+01 1.4449716122e-10
+1.4063468750e+01 4.4999208310e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053349335e-11
+-1.3124937500e+01 2.0264596560e-10
+-1.2187406250e+01 3.6204669910e-10
+-1.1249875000e+01 6.8287585729e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129837e-10
+-8.4372812500e+00 -5.3101135241e-10
+-7.4997500000e+00 2.5975431438e-09
+-6.5622187500e+00 8.2984941862e-09
+-5.6246875000e+00 1.4869643295e-08
+-4.6871562500e+00 2.7915123065e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257470e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339695e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017070e-08
+3.7506250000e+00 4.7352315648e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425205e-09
+7.5007500000e+00 2.6104629481e-09
+8.4382812500e+00 -5.0872020528e-10
+9.3758125000e+00 -5.8368013886e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738082e-10
+1.2188406250e+01 3.6056736451e-10
+1.3125937500e+01 2.0172010166e-10
+1.4063468750e+01 7.7845936019e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967310e-10
+-1.3124937500e+01 2.4708061360e-10
+-1.2187406250e+01 5.0270188635e-10
+-1.1249875000e+01 9.7120172640e-10
+-1.0312343750e+01 1.2757737086e-09
+-9.3748125000e+00 -9.4205340922e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000362e-09
+-6.5622187500e+00 1.1456710402e-08
+-5.6246875000e+00 1.9509022114e-08
+-4.6871562500e+00 3.6445204781e-08
+-3.7496250000e+00 6.2027955110e-08
+-2.8120937500e+00 9.5915903765e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763901e-08
+3.7506250000e+00 6.1930287856e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204093e-08
+6.5632187500e+00 1.1452748383e-08
+7.5007500000e+00 2.4184405277e-09
+8.4382812500e+00 2.1578036437e-09
+9.3758125000e+00 -9.2922293897e-10
+1.0313343750e+01 1.2727572018e-09
+1.1250875000e+01 9.6867598018e-10
+1.2188406250e+01 5.0079513748e-10
+1.3125937500e+01 2.4643853198e-10
+1.4063468750e+01 1.2142609367e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729864997e-10
+-1.3124937500e+01 2.9716359556e-10
+-1.2187406250e+01 6.5604436945e-10
+-1.1249875000e+01 1.1824872745e-09
+-1.0312343750e+01 8.5322562613e-10
+-9.3748125000e+00 -1.2987585257e-10
+-8.4372812500e+00 4.8587417858e-09
+-7.4997500000e+00 3.2617665329e-09
+-6.5622187500e+00 1.4333507006e-08
+-5.6246875000e+00 2.3700933131e-08
+-4.6871562500e+00 4.3443742982e-08
+-3.7496250000e+00 7.3878364348e-08
+-2.8120937500e+00 1.1416658977e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116640e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736785e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436240e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373229e-08
+6.5632187500e+00 1.4340974042e-08
+7.5007500000e+00 3.2774431527e-09
+8.4382812500e+00 4.8812119013e-09
+9.3758125000e+00 -1.1450041713e-10
+1.0313343750e+01 8.5393319008e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507893985e-10
+1.3125937500e+01 2.9713468462e-10
+1.4063468750e+01 1.6741142248e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149390960e-10
+-1.3124937500e+01 3.6877424293e-10
+-1.2187406250e+01 7.9580283264e-10
+-1.1249875000e+01 1.1867121866e-09
+-1.0312343750e+01 3.6977962567e-10
+-9.3748125000e+00 2.1012668412e-09
+-8.4372812500e+00 6.6325627470e-09
+-7.4997500000e+00 6.1465241081e-09
+-6.5622187500e+00 1.6167036087e-08
+-5.6246875000e+00 2.7912405218e-08
+-4.6871562500e+00 4.9176211901e-08
+-3.7496250000e+00 7.7177238736e-08
+-2.8120937500e+00 1.1820874441e-07
+-1.8745625000e+00 1.6426617515e-07
+-9.3703125000e-01 2.0490721691e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664653e-07
+1.8755625000e+00 1.6423341459e-07
+2.8130937500e+00 1.1818759116e-07
+3.7506250000e+00 7.7134711839e-08
+4.6881562500e+00 4.9128384011e-08
+5.6256875000e+00 2.7895328260e-08
+6.5632187500e+00 1.6178146656e-08
+7.5007500000e+00 6.1538332648e-09
+8.4382812500e+00 6.6561488535e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440465e-10
+1.1250875000e+01 1.1861935860e-09
+1.2188406250e+01 7.9719100871e-10
+1.3125937500e+01 3.6918304526e-10
+1.4063468750e+01 2.1223063705e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600475078e-10
+-1.3124937500e+01 4.6217702364e-10
+-1.2187406250e+01 8.7347464480e-10
+-1.1249875000e+01 9.6157088759e-10
+-1.0312343750e+01 4.4257940259e-10
+-9.3748125000e+00 5.0710136529e-09
+-8.4372812500e+00 6.9858018566e-09
+-7.4997500000e+00 1.0958545654e-08
+-6.5622187500e+00 1.6322529450e-08
+-5.6246875000e+00 3.2352903092e-08
+-4.6871562500e+00 4.9794659563e-08
+-3.7496250000e+00 9.0009929110e-08
+-2.8120937500e+00 1.3902175064e-07
+-1.8745625000e+00 1.9323709375e-07
+-9.3703125000e-01 2.4084448920e-07
+5.0000000000e-04 2.5594891678e-07
+9.3803125000e-01 2.4083050100e-07
+1.8755625000e+00 1.9320037841e-07
+2.8130937500e+00 1.3899638453e-07
+3.7506250000e+00 8.9989146797e-08
+4.6881562500e+00 4.9739872187e-08
+5.6256875000e+00 3.2324925759e-08
+6.5632187500e+00 1.6342260832e-08
+7.5007500000e+00 1.0964358455e-08
+8.4382812500e+00 7.0082319497e-09
+9.3758125000e+00 5.0877085486e-09
+1.0313343750e+01 4.5463839578e-10
+1.1250875000e+01 9.6305306706e-10
+1.2188406250e+01 8.7628912729e-10
+1.3125937500e+01 4.6294631828e-10
+1.4063468750e+01 2.5650113663e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momz_y_[16][16].xg
new file mode 100644
index 0000000..fe12bca
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5799612774e-11
+-1.3124937500e+01 7.1639694346e-11
+-1.2187406250e+01 1.2758516702e-10
+-1.1249875000e+01 1.9495832611e-10
+-1.0312343750e+01 4.0046632498e-10
+-9.3748125000e+00 4.0004555064e-10
+-8.4372812500e+00 -1.8480691930e-09
+-7.4997500000e+00 1.8272203690e-09
+-6.5622187500e+00 2.8346439256e-09
+-5.6246875000e+00 5.8189347885e-09
+-4.6871562500e+00 1.0905685093e-08
+-3.7496250000e+00 1.8478506768e-08
+-2.8120937500e+00 2.8468733370e-08
+-1.8745625000e+00 3.9449364401e-08
+-9.3703125000e-01 4.8571037115e-08
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 4.8555253799e-08
+1.8755625000e+00 3.9465827230e-08
+2.8130937500e+00 2.8434087057e-08
+3.7506250000e+00 1.8435836022e-08
+4.6881562500e+00 1.0902286556e-08
+5.6256875000e+00 5.8258875290e-09
+6.5632187500e+00 2.8346836103e-09
+7.5007500000e+00 1.8267675119e-09
+8.4382812500e+00 -1.8359268728e-09
+9.3758125000e+00 4.0256105799e-10
+1.0313343750e+01 4.0144703131e-10
+1.1250875000e+01 1.9521839912e-10
+1.2188406250e+01 1.2795035042e-10
+1.3125937500e+01 7.1933751945e-11
+1.4063468750e+01 2.5988303494e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 4.4663654814e-11
+-1.3124937500e+01 1.4484597682e-10
+-1.2187406250e+01 2.4114862163e-10
+-1.1249875000e+01 4.1636153245e-10
+-1.0312343750e+01 8.9530427289e-10
+-9.3748125000e+00 1.2034105932e-10
+-8.4372812500e+00 -2.0977324574e-09
+-7.4997500000e+00 2.6944374085e-09
+-6.5622187500e+00 5.5908030360e-09
+-5.6246875000e+00 1.0788038317e-08
+-4.6871562500e+00 2.0259473898e-08
+-3.7496250000e+00 3.4382089413e-08
+-2.8120937500e+00 5.3029646316e-08
+-1.8745625000e+00 7.3625855487e-08
+-9.3703125000e-01 9.0796016046e-08
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 9.0767400618e-08
+1.8755625000e+00 7.3644235301e-08
+2.8130937500e+00 5.2978841167e-08
+3.7506250000e+00 3.4303902104e-08
+4.6881562500e+00 2.0253563809e-08
+5.6256875000e+00 1.0802943280e-08
+6.5632187500e+00 5.5864946102e-09
+7.5007500000e+00 2.6986276657e-09
+8.4382812500e+00 -2.0777447377e-09
+9.3758125000e+00 1.2572010944e-10
+1.0313343750e+01 8.9463866612e-10
+1.1250875000e+01 4.1698488392e-10
+1.2188406250e+01 2.4061142071e-10
+1.3125937500e+01 1.4449716119e-10
+1.4063468750e+01 4.4999211220e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 7.8053352337e-11
+-1.3124937500e+01 2.0264596270e-10
+-1.2187406250e+01 3.6204669352e-10
+-1.1249875000e+01 6.8287585737e-10
+-1.0312343750e+01 1.2772088076e-09
+-9.3748125000e+00 -5.9276129837e-10
+-8.4372812500e+00 -5.3101135236e-10
+-7.4997500000e+00 2.5975431436e-09
+-6.5622187500e+00 8.2984941860e-09
+-5.6246875000e+00 1.4869643283e-08
+-4.6871562500e+00 2.7915123062e-08
+-3.7496250000e+00 4.7449945262e-08
+-2.8120937500e+00 7.3278257469e-08
+-1.8745625000e+00 1.0197631709e-07
+-9.3703125000e-01 1.2592142041e-07
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 1.2588339696e-07
+1.8755625000e+00 1.0198212557e-07
+2.8130937500e+00 7.3230017068e-08
+3.7506250000e+00 4.7352315647e-08
+4.6881562500e+00 2.7905364134e-08
+5.6256875000e+00 1.4888060955e-08
+6.5632187500e+00 8.2907425205e-09
+7.5007500000e+00 2.6104629619e-09
+8.4382812500e+00 -5.0872020526e-10
+9.3758125000e+00 -5.8368013900e-10
+1.0313343750e+01 1.2742517367e-09
+1.1250875000e+01 6.8204738088e-10
+1.2188406250e+01 3.6056736462e-10
+1.3125937500e+01 2.0172010163e-10
+1.4063468750e+01 7.7845950738e-11
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.2192967311e-10
+-1.3124937500e+01 2.4708060502e-10
+-1.2187406250e+01 5.0270188074e-10
+-1.1249875000e+01 9.7120172647e-10
+-1.0312343750e+01 1.2757737086e-09
+-9.3748125000e+00 -9.4205340911e-10
+-8.4372812500e+00 2.1357913911e-09
+-7.4997500000e+00 2.3993000361e-09
+-6.5622187500e+00 1.1456710408e-08
+-5.6246875000e+00 1.9509022092e-08
+-4.6871562500e+00 3.6445204778e-08
+-3.7496250000e+00 6.2027955122e-08
+-2.8120937500e+00 9.5915903770e-08
+-1.8745625000e+00 1.3383928719e-07
+-9.3703125000e-01 1.6533246839e-07
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 1.6528790525e-07
+1.8755625000e+00 1.3382448886e-07
+2.8130937500e+00 9.5876763900e-08
+3.7506250000e+00 6.1930287852e-08
+4.6881562500e+00 3.6426038712e-08
+5.6256875000e+00 1.9521204091e-08
+6.5632187500e+00 1.1452748378e-08
+7.5007500000e+00 2.4184405415e-09
+8.4382812500e+00 2.1578036413e-09
+9.3758125000e+00 -9.2922293911e-10
+1.0313343750e+01 1.2727572018e-09
+1.1250875000e+01 9.6867598022e-10
+1.2188406250e+01 5.0079513757e-10
+1.3125937500e+01 2.4643853775e-10
+1.4063468750e+01 1.2142608786e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 1.6729863528e-10
+-1.3124937500e+01 2.9716360486e-10
+-1.2187406250e+01 6.5604436730e-10
+-1.1249875000e+01 1.1824872746e-09
+-1.0312343750e+01 8.5322561540e-10
+-9.3748125000e+00 -1.2987585240e-10
+-8.4372812500e+00 4.8587417908e-09
+-7.4997500000e+00 3.2617665283e-09
+-6.5622187500e+00 1.4333507017e-08
+-5.6246875000e+00 2.3700933094e-08
+-4.6871562500e+00 4.3443742978e-08
+-3.7496250000e+00 7.3878364357e-08
+-2.8120937500e+00 1.1416658978e-07
+-1.8745625000e+00 1.5946441997e-07
+-9.3703125000e-01 1.9682116641e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 1.9677736786e-07
+1.8755625000e+00 1.5943400363e-07
+2.8130937500e+00 1.1413643871e-07
+3.7506250000e+00 7.3800436236e-08
+4.6881562500e+00 4.3410737939e-08
+5.6256875000e+00 2.3699373227e-08
+6.5632187500e+00 1.4340974035e-08
+7.5007500000e+00 3.2774431758e-09
+8.4382812500e+00 4.8812118989e-09
+9.3758125000e+00 -1.1450041723e-10
+1.0313343750e+01 8.5393319010e-10
+1.1250875000e+01 1.1801630718e-09
+1.2188406250e+01 6.5507894000e-10
+1.3125937500e+01 2.9713470185e-10
+1.4063468750e+01 1.6741132248e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.1149389792e-10
+-1.3124937500e+01 3.6877423264e-10
+-1.2187406250e+01 7.9580283849e-10
+-1.1249875000e+01 1.1867121913e-09
+-1.0312343750e+01 3.6977961491e-10
+-9.3748125000e+00 2.1012668414e-09
+-8.4372812500e+00 6.6325627569e-09
+-7.4997500000e+00 6.1465240943e-09
+-6.5622187500e+00 1.6167036095e-08
+-5.6246875000e+00 2.7912405263e-08
+-4.6871562500e+00 4.9176211905e-08
+-3.7496250000e+00 7.7177238748e-08
+-2.8120937500e+00 1.1820874438e-07
+-1.8745625000e+00 1.6426617516e-07
+-9.3703125000e-01 2.0490721692e-07
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.0487664655e-07
+1.8755625000e+00 1.6423341460e-07
+2.8130937500e+00 1.1818759115e-07
+3.7506250000e+00 7.7134711842e-08
+4.6881562500e+00 4.9128384012e-08
+5.6256875000e+00 2.7895328256e-08
+6.5632187500e+00 1.6178146666e-08
+7.5007500000e+00 6.1538332807e-09
+8.4382812500e+00 6.6561488511e-09
+9.3758125000e+00 2.1176528833e-09
+1.0313343750e+01 3.7672440469e-10
+1.1250875000e+01 1.1861935861e-09
+1.2188406250e+01 7.9719100883e-10
+1.3125937500e+01 3.6918303072e-10
+1.4063468750e+01 2.1223061005e-10
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 2.5600474809e-10
+-1.3124937500e+01 4.6217699404e-10
+-1.2187406250e+01 8.7347465405e-10
+-1.1249875000e+01 9.6157088661e-10
+-1.0312343750e+01 4.4257939181e-10
+-9.3748125000e+00 5.0710136531e-09
+-8.4372812500e+00 6.9858018638e-09
+-7.4997500000e+00 1.0958545642e-08
+-6.5622187500e+00 1.6322529448e-08
+-5.6246875000e+00 3.2352903136e-08
+-4.6871562500e+00 4.9794659593e-08
+-3.7496250000e+00 9.0009929093e-08
+-2.8120937500e+00 1.3902175062e-07
+-1.8745625000e+00 1.9323709376e-07
+-9.3703125000e-01 2.4084448921e-07
+5.0000000000e-04 2.5594891678e-07
+9.3803125000e-01 2.4083050101e-07
+1.8755625000e+00 1.9320037842e-07
+2.8130937500e+00 1.3899638453e-07
+3.7506250000e+00 8.9989146790e-08
+4.6881562500e+00 4.9739872191e-08
+5.6256875000e+00 3.2324925758e-08
+6.5632187500e+00 1.6342260842e-08
+7.5007500000e+00 1.0964358466e-08
+8.4382812500e+00 7.0082319475e-09
+9.3758125000e+00 5.0877085461e-09
+1.0313343750e+01 4.5463839052e-10
+1.1250875000e+01 9.6305307804e-10
+1.2188406250e+01 8.7628910207e-10
+1.3125937500e+01 4.6294628870e-10
+1.4063468750e+01 2.5650116860e-10
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/momz_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/momz_z_[16][16].xg
new file mode 100644
index 0000000..6b3b457
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/momz_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -7.3292635320e-07
+-1.3124937500e+01 -1.2545607215e-06
+-1.2187406250e+01 -1.1046038104e-06
+-1.1249875000e+01 -1.6963551235e-06
+-1.0312343750e+01 -2.8329438513e-06
+-9.3748125000e+00 2.5201302078e-06
+-8.4372812500e+00 4.1289601904e-06
+-7.4997500000e+00 -9.0524181481e-07
+-6.5622187500e+00 3.9077880855e-07
+-5.6246875000e+00 5.4484321690e-07
+-4.6871562500e+00 -5.3687218939e-07
+-3.7496250000e+00 -3.1662160286e-06
+-2.8120937500e+00 -6.8848224136e-06
+-1.8745625000e+00 -9.2646632238e-06
+-9.3703125000e-01 -2.4679594890e-07
+5.0000000000e-04 5.2007748697e-08
+9.3803125000e-01 2.0344897667e-07
+1.8755625000e+00 9.2642256105e-06
+2.8130937500e+00 6.8809156382e-06
+3.7506250000e+00 3.1626110293e-06
+4.6881562500e+00 5.3499224405e-07
+5.6256875000e+00 -5.4557276388e-07
+6.5632187500e+00 -3.8499335736e-07
+7.5007500000e+00 8.7826993458e-07
+8.4382812500e+00 -4.1348292136e-06
+9.3758125000e+00 -2.4862187354e-06
+1.0313343750e+01 2.8311738039e-06
+1.1250875000e+01 1.6957175962e-06
+1.2188406250e+01 1.1040857627e-06
+1.3125937500e+01 1.2541128671e-06
+1.4063468750e+01 7.3268724040e-07
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -2.2463104048e-06
+-1.3124937500e+01 -3.0158398519e-06
+-1.2187406250e+01 -2.1754497930e-06
+-1.1249875000e+01 -3.2660564986e-06
+-1.0312343750e+01 -5.4358749064e-06
+-9.3748125000e+00 3.9268581537e-06
+-8.4372812500e+00 8.3306329530e-06
+-7.4997500000e+00 -7.3986988159e-07
+-6.5622187500e+00 9.2958566885e-07
+-5.6246875000e+00 1.3947913676e-06
+-4.6871562500e+00 -7.0571403005e-07
+-3.7496250000e+00 -5.7983120774e-06
+-2.8120937500e+00 -1.3068283224e-05
+-1.8745625000e+00 -1.8001338315e-05
+-9.3703125000e-01 -1.9048037223e-07
+5.0000000000e-04 9.6988555286e-08
+9.3803125000e-01 1.0986179888e-07
+1.8755625000e+00 1.8001161791e-05
+2.8130937500e+00 1.3060242842e-05
+3.7506250000e+00 5.7913119861e-06
+4.6881562500e+00 7.0213047116e-07
+5.6256875000e+00 -1.3967303509e-06
+6.5632187500e+00 -9.1781429144e-07
+7.5007500000e+00 6.8932891922e-07
+8.4382812500e+00 -8.3410124557e-06
+9.3758125000e+00 -3.8644651962e-06
+1.0313343750e+01 5.4322495225e-06
+1.1250875000e+01 3.2653961083e-06
+1.2188406250e+01 2.1744855182e-06
+1.3125937500e+01 3.0148186868e-06
+1.4063468750e+01 2.2456242669e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -4.2989221427e-06
+-1.3124937500e+01 -4.8649709801e-06
+-1.2187406250e+01 -3.2146314676e-06
+-1.1249875000e+01 -4.7517715395e-06
+-1.0312343750e+01 -7.4366554103e-06
+-9.3748125000e+00 3.6801949098e-06
+-8.4372812500e+00 1.2246188811e-05
+-7.4997500000e+00 9.4867959948e-07
+-6.5622187500e+00 1.3364383155e-06
+-5.6246875000e+00 2.3450397451e-06
+-4.6871562500e+00 -8.8157660187e-07
+-3.7496250000e+00 -8.2615965513e-06
+-2.8120937500e+00 -1.8754579920e-05
+-1.8745625000e+00 -2.6411869732e-05
+-9.3703125000e-01 2.4020375996e-08
+5.0000000000e-04 1.3426544683e-07
+9.3803125000e-01 -1.3565563207e-07
+1.8755625000e+00 2.6413988924e-05
+2.8130937500e+00 1.8741971978e-05
+3.7506250000e+00 8.2514506850e-06
+4.6881562500e+00 8.7628520578e-07
+5.6256875000e+00 -2.3483405530e-06
+6.5632187500e+00 -1.3198608590e-06
+7.5007500000e+00 -1.0147177431e-06
+8.4382812500e+00 -1.2260619545e-05
+9.3758125000e+00 -3.5999446511e-06
+1.0313343750e+01 7.4330792170e-06
+1.1250875000e+01 4.7510941076e-06
+1.2188406250e+01 3.2135098342e-06
+1.3125937500e+01 4.8633724821e-06
+1.4063468750e+01 4.2976510648e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -6.3697814457e-06
+-1.3124937500e+01 -6.5907539382e-06
+-1.2187406250e+01 -4.3063924532e-06
+-1.1249875000e+01 -6.2314725701e-06
+-1.0312343750e+01 -8.5098174495e-06
+-9.3748125000e+00 1.8062700418e-06
+-8.4372812500e+00 1.5829956657e-05
+-7.4997500000e+00 4.2042695094e-06
+-6.5622187500e+00 1.0239447485e-06
+-5.6246875000e+00 3.1520789859e-06
+-4.6871562500e+00 -1.4529196229e-06
+-3.7496250000e+00 -1.1009319145e-05
+-2.8120937500e+00 -2.4321364910e-05
+-1.8745625000e+00 -3.4663594046e-05
+-9.3703125000e-01 1.1574821482e-08
+5.0000000000e-04 1.7609415991e-07
+9.3803125000e-01 -1.8301493696e-07
+1.8755625000e+00 3.4693940233e-05
+2.8130937500e+00 2.4303924896e-05
+3.7506250000e+00 1.0996186673e-05
+4.6881562500e+00 1.4456198769e-06
+5.6256875000e+00 -3.1560436165e-06
+6.5632187500e+00 -1.0045834818e-06
+7.5007500000e+00 -4.2724990115e-06
+8.4382812500e+00 -1.5851061127e-05
+9.3758125000e+00 -1.7240846312e-06
+1.0313343750e+01 8.5109805216e-06
+1.1250875000e+01 6.2298065506e-06
+1.2188406250e+01 4.3054255189e-06
+1.3125937500e+01 6.5887004467e-06
+1.4063468750e+01 6.3679171591e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -8.0455441865e-06
+-1.3124937500e+01 -8.0645705128e-06
+-1.2187406250e+01 -5.5946476260e-06
+-1.1249875000e+01 -7.6787688916e-06
+-1.0312343750e+01 -8.5670626093e-06
+-9.3748125000e+00 -7.9354215541e-07
+-8.4372812500e+00 1.9526306440e-05
+-7.4997500000e+00 8.4386350706e-06
+-6.5622187500e+00 -6.3369086573e-07
+-5.6246875000e+00 3.4216807989e-06
+-4.6871562500e+00 -2.6273342026e-06
+-3.7496250000e+00 -1.4377947563e-05
+-2.8120937500e+00 -3.0144747226e-05
+-1.8745625000e+00 -4.2659226962e-05
+-9.3703125000e-01 -8.7019910330e-07
+5.0000000000e-04 2.0962649007e-07
+9.3803125000e-01 6.4849307066e-07
+1.8755625000e+00 4.2717609524e-05
+2.8130937500e+00 3.0122419513e-05
+3.7506250000e+00 1.4361727911e-05
+4.6881562500e+00 2.6175179936e-06
+5.6256875000e+00 -3.4240291645e-06
+6.5632187500e+00 6.5486884051e-07
+7.5007500000e+00 -8.4924386162e-06
+8.4382812500e+00 -1.9560323486e-05
+9.3758125000e+00 8.5836939100e-07
+1.0313343750e+01 8.5790409745e-06
+1.1250875000e+01 7.6749984587e-06
+1.2188406250e+01 5.5937211777e-06
+1.3125937500e+01 8.0623060294e-06
+1.4063468750e+01 8.0431943569e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.0639285724e-06
+-1.3124937500e+01 -9.2195618059e-06
+-1.2187406250e+01 -7.1933024924e-06
+-1.1249875000e+01 -8.9126375093e-06
+-1.0312343750e+01 -7.7460862169e-06
+-9.3748125000e+00 -2.2963752560e-06
+-8.4372812500e+00 2.3621209381e-05
+-7.4997500000e+00 1.2528248733e-05
+-6.5622187500e+00 -3.5796008911e-06
+-5.6246875000e+00 2.4565168624e-06
+-4.6871562500e+00 -4.3595381862e-06
+-3.7496250000e+00 -1.8487200230e-05
+-2.8120937500e+00 -3.6416821894e-05
+-1.8745625000e+00 -5.0276691875e-05
+-9.3703125000e-01 -2.7485707234e-06
+5.0000000000e-04 2.1770432294e-07
+9.3803125000e-01 2.4908095893e-06
+1.8755625000e+00 5.0376451751e-05
+2.8130937500e+00 3.6390593162e-05
+3.7506250000e+00 1.8466398708e-05
+4.6881562500e+00 4.3470310713e-06
+5.6256875000e+00 -2.4525089569e-06
+6.5632187500e+00 3.6014838181e-06
+7.5007500000e+00 -1.2552441882e-05
+8.4382812500e+00 -2.3672349545e-05
+9.3758125000e+00 2.3230344511e-06
+1.0313343750e+01 7.7726344901e-06
+1.1250875000e+01 8.9070440202e-06
+1.2188406250e+01 7.1915767278e-06
+1.3125937500e+01 9.2173169192e-06
+1.4063468750e+01 9.0613131499e-06
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 -9.3504720477e-06
+-1.3124937500e+01 -1.0042626437e-05
+-1.2187406250e+01 -9.0684356670e-06
+-1.1249875000e+01 -9.6680206237e-06
+-1.0312343750e+01 -6.1618977610e-06
+-9.3748125000e+00 -7.1282673647e-07
+-8.4372812500e+00 2.7282130538e-05
+-7.4997500000e+00 1.5368881893e-05
+-6.5622187500e+00 -6.4239579711e-06
+-5.6246875000e+00 -5.5187076613e-07
+-4.6871562500e+00 -6.4976655116e-06
+-3.7496250000e+00 -2.3021054228e-05
+-2.8120937500e+00 -4.3156791522e-05
+-1.8745625000e+00 -5.7055265199e-05
+-9.3703125000e-01 -5.6505001399e-06
+5.0000000000e-04 2.5594891678e-07
+9.3803125000e-01 5.3339041464e-06
+1.8755625000e+00 5.7187343487e-05
+2.8130937500e+00 4.3126722439e-05
+3.7506250000e+00 2.2996968800e-05
+4.6881562500e+00 6.4833488212e-06
+5.6256875000e+00 5.6794577858e-07
+6.5632187500e+00 6.4412556622e-06
+7.5007500000e+00 -1.5355903165e-05
+8.4382812500e+00 -2.7343780832e-05
+9.3758125000e+00 6.8561603274e-07
+1.0313343750e+01 6.2002261771e-06
+1.1250875000e+01 9.6632273934e-06
+1.2188406250e+01 9.0646306519e-06
+1.3125937500e+01 1.0040364911e-05
+1.4063468750e+01 9.3478965690e-06
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/press_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/press_3D_diagonal.xg
new file mode 100644
index 0000000..e148a37
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 5.2155848592e-11
+-6.4945410093e+00 4.5683239346e-06
+-4.8706892506e+00 2.5457424656e-05
+-3.2468374920e+00 7.1655046847e-05
+-1.6229857333e+00 1.3271087441e-04
+8.6602540378e-04 1.6383998934e-04
+1.6247177841e+00 1.3265171853e-04
+3.2485695428e+00 7.1592827329e-05
+4.8724213015e+00 2.5422474273e-05
+6.4962730601e+00 4.5567990214e-06
+8.1201248188e+00 2.8851771095e-11
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 1.4282458686e-10
+-6.4945410093e+00 4.5681771228e-06
+-4.8706892506e+00 2.5457253928e-05
+-3.2468374920e+00 7.1656990283e-05
+-1.6229857333e+00 1.3291942183e-04
+8.6602540378e-04 1.6333106334e-04
+1.6247177841e+00 1.3286100022e-04
+3.2485695428e+00 7.1594785711e-05
+4.8724213015e+00 2.5422304290e-05
+6.4962730601e+00 4.5566522383e-06
+8.1201248188e+00 1.0269186351e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 2.7301755798e-10
+-6.4945410093e+00 4.5677301448e-06
+-4.8706892506e+00 2.5456843825e-05
+-3.2468374920e+00 7.1662313001e-05
+-1.6229857333e+00 1.3312273877e-04
+8.6602540378e-04 1.6281991117e-04
+1.6247177841e+00 1.3306501081e-04
+3.2485695428e+00 7.1600151538e-05
+4.8724213015e+00 2.5421896834e-05
+6.4962730601e+00 4.5562059360e-06
+8.1201248188e+00 2.1735182171e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 4.3817792831e-10
+-6.4945410093e+00 4.5669695162e-06
+-4.8706892506e+00 2.5456398993e-05
+-3.2468374920e+00 7.1670038641e-05
+-1.6229857333e+00 1.3331885388e-04
+8.6602540378e-04 1.6231335175e-04
+1.6247177841e+00 1.3326177612e-04
+3.2485695428e+00 7.1607945149e-05
+4.8724213015e+00 2.5421457313e-05
+6.4962730601e+00 4.5554471468e-06
+8.1201248188e+00 3.6836173159e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 6.3128819738e-10
+-6.4945410093e+00 4.5658679422e-06
+-4.8706892506e+00 2.5456151138e-05
+-3.2468374920e+00 7.1679116925e-05
+-1.6229857333e+00 1.3350826532e-04
+8.6602540378e-04 1.6181402542e-04
+1.6247177841e+00 1.3345141006e-04
+3.2485695428e+00 7.1617128409e-05
+4.8724213015e+00 2.5421212784e-05
+6.4962730601e+00 4.5543490186e-06
+8.1201248188e+00 5.5067338470e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 8.4554707818e-10
+-6.4945410093e+00 4.5643665036e-06
+-4.8706892506e+00 2.5456720010e-05
+-3.2468374920e+00 7.1688222064e-05
+-1.6229857333e+00 1.3369226281e-04
+8.6602540378e-04 1.6131823393e-04
+1.6247177841e+00 1.3363563129e-04
+3.2485695428e+00 7.1626389245e-05
+4.8724213015e+00 2.5421774407e-05
+6.4962730601e+00 4.5528539779e-06
+8.1201248188e+00 7.5631679868e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 1.0760153416e-09
+-6.4945410093e+00 4.5623633849e-06
+-4.8706892506e+00 2.5458687493e-05
+-3.2468374920e+00 7.1696701753e-05
+-1.6229857333e+00 1.3385747397e-04
+8.6602540378e-04 1.6084206838e-04
+1.6247177841e+00 1.3380200334e-04
+3.2485695428e+00 7.1634857395e-05
+4.8724213015e+00 2.5423733952e-05
+6.4962730601e+00 4.5508614889e-06
+8.1201248188e+00 9.7910476880e-10
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e-12
+-2.4356910355e+01 1.0000000000e-12
+-2.2733058596e+01 1.0000000000e-12
+-2.1109206837e+01 1.0000000000e-12
+-1.9485355079e+01 1.0000000000e-12
+-1.7861503320e+01 1.0000000000e-12
+-1.6237651561e+01 1.0000000000e-12
+-1.4613799803e+01 1.0000000000e-12
+-1.2989948044e+01 1.0000000000e-12
+-1.1366096285e+01 1.0000000000e-12
+-9.7422445267e+00 1.0000000000e-12
+-8.1183927680e+00 1.3223670837e-09
+-6.4945410093e+00 4.5599179097e-06
+-4.8706892506e+00 2.5461477961e-05
+-3.2468374920e+00 7.1707591496e-05
+-1.6229857333e+00 1.3399511413e-04
+8.6602540378e-04 1.6041223256e-04
+1.6247177841e+00 1.3393934438e-04
+3.2485695428e+00 7.1645876286e-05
+4.8724213015e+00 2.5426512120e-05
+6.4962730601e+00 4.5484265535e-06
+8.1201248188e+00 1.2164930204e-09
+9.7439765775e+00 1.0000000000e-12
+1.1367828336e+01 1.0000000000e-12
+1.2991680095e+01 1.0000000000e-12
+1.4615531854e+01 1.0000000000e-12
+1.6239383612e+01 1.0000000000e-12
+1.7863235371e+01 1.0000000000e-12
+1.9487087130e+01 1.0000000000e-12
+2.1110938888e+01 1.0000000000e-12
+2.2734790647e+01 1.0000000000e-12
+2.4358642406e+01 1.0000000000e-12
+2.5982494164e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm_no_trp/press_maximum.xg b/test/whisky_test_tov_ppm_no_trp/press_maximum.xg
new file mode 100644
index 0000000..e8669ea
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_maximum.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0001638399893
+0.3515742187500 0.0001633310633
+0.7031484375000 0.0001628199112
+1.0547226562500 0.0001623133518
+1.4062968750000 0.0001618140254
+1.7578710937500 0.0001613182339
+2.1094453125000 0.0001608420684
+2.4610195312500 0.0001604122326
diff --git a/test/whisky_test_tov_ppm_no_trp/press_minimum.xg b/test/whisky_test_tov_ppm_no_trp/press_minimum.xg
new file mode 100644
index 0000000..5860d41
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_minimum.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0000000000010
+0.3515742187500 0.0000000000010
+0.7031484375000 0.0000000000010
+1.0547226562500 0.0000000000010
+1.4062968750000 0.0000000000010
+1.7578710937500 0.0000000000010
+2.1094453125000 0.0000000000010
+2.4610195312500 0.0000000000010
diff --git a/test/whisky_test_tov_ppm_no_trp/press_norm1.xg b/test/whisky_test_tov_ppm_no_trp/press_norm1.xg
new file mode 100644
index 0000000..ddffaca
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_norm1.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0000013103160
+0.3515742187500 0.0000013102421
+0.7031484375000 0.0000013101652
+1.0547226562500 0.0000013100846
+1.4062968750000 0.0000013099993
+1.7578710937500 0.0000013099082
+2.1094453125000 0.0000013098105
+2.4610195312500 0.0000013097040
diff --git a/test/whisky_test_tov_ppm_no_trp/press_norm2.xg b/test/whisky_test_tov_ppm_no_trp/press_norm2.xg
new file mode 100644
index 0000000..9b2d8f1
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_norm2.xg
@@ -0,0 +1,9 @@
+"press v time
+0.0000000000000 0.0000089699871
+0.3515742187500 0.0000089694677
+0.7031484375000 0.0000089688693
+1.0547226562500 0.0000089681938
+1.4062968750000 0.0000089674341
+1.7578710937500 0.0000089665834
+2.1094453125000 0.0000089656470
+2.4610195312500 0.0000089646000
diff --git a/test/whisky_test_tov_ppm_no_trp/press_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/press_x_[16][16].xg
new file mode 100644
index 0000000..1a42135
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0000000000e-12
+-8.4372812500e+00 1.0000000000e-12
+-7.4997500000e+00 5.2605173583e-07
+-6.5622187500e+00 4.1315900663e-06
+-5.6246875000e+00 1.2995946174e-05
+-4.6871562500e+00 2.9335030675e-05
+-3.7496250000e+00 5.4603112748e-05
+-2.8120937500e+00 8.7842646809e-05
+-1.8745625000e+00 1.2379368326e-04
+-9.3703125000e-01 1.5265624931e-04
+5.0000000000e-04 1.6383998934e-04
+9.3803125000e-01 1.5263328310e-04
+1.8755625000e+00 1.2375708443e-04
+2.8130937500e+00 8.7804360334e-05
+3.7506250000e+00 5.4571420118e-05
+4.6881562500e+00 2.9312961502e-05
+5.6256875000e+00 1.2982880569e-05
+6.5632187500e+00 4.1253437891e-06
+7.5007500000e+00 5.2423683754e-07
+8.4382812500e+00 1.0000000000e-12
+9.3758125000e+00 1.0000000000e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0021322643e-12
+-8.4372812500e+00 6.8859822808e-12
+-7.4997500000e+00 5.2270979510e-07
+-6.5622187500e+00 4.1245384654e-06
+-5.6246875000e+00 1.2973928705e-05
+-4.6871562500e+00 2.9284232039e-05
+-3.7496250000e+00 5.4503906833e-05
+-2.8120937500e+00 8.7674635062e-05
+-1.8745625000e+00 1.2354828949e-04
+-9.3703125000e-01 1.5242455147e-04
+5.0000000000e-04 1.6333106334e-04
+9.3803125000e-01 1.5240195273e-04
+1.8755625000e+00 1.2351178360e-04
+2.8130937500e+00 8.7636431075e-05
+3.7506250000e+00 5.4472277159e-05
+4.6881562500e+00 2.9262203314e-05
+5.6256875000e+00 1.2960885182e-05
+6.5632187500e+00 4.1183028762e-06
+7.5007500000e+00 5.2091031598e-07
+8.4382812500e+00 6.8533413073e-12
+9.3758125000e+00 1.0021118688e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0119893223e-12
+-8.4372812500e+00 1.7905804752e-11
+-7.4997500000e+00 5.1948654506e-07
+-6.5622187500e+00 4.1178184303e-06
+-5.6246875000e+00 1.2951803690e-05
+-4.6871562500e+00 2.9233404058e-05
+-3.7496250000e+00 5.4403983724e-05
+-2.8120937500e+00 8.7504870178e-05
+-1.8745625000e+00 1.2330332995e-04
+-9.3703125000e-01 1.5218820155e-04
+5.0000000000e-04 1.6281991117e-04
+9.3803125000e-01 1.5216595111e-04
+1.8755625000e+00 1.2326693654e-04
+2.8130937500e+00 8.7466751881e-05
+3.7506250000e+00 5.4372417828e-05
+4.6881562500e+00 2.9211416143e-05
+5.6256875000e+00 1.2938782082e-05
+6.5632187500e+00 4.1115943898e-06
+7.5007500000e+00 5.1770181368e-07
+8.4382812500e+00 1.7800836051e-11
+9.3758125000e+00 1.0119247941e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0257501512e-12
+-8.4372812500e+00 3.3886792163e-11
+-7.4997500000e+00 5.1638364958e-07
+-6.5622187500e+00 4.1114617856e-06
+-5.6246875000e+00 1.2929722884e-05
+-4.6871562500e+00 2.9183013592e-05
+-3.7496250000e+00 5.4304396219e-05
+-2.8120937500e+00 8.7335748061e-05
+-1.8745625000e+00 1.2306125318e-04
+-9.3703125000e-01 1.5195047613e-04
+5.0000000000e-04 1.6231335175e-04
+9.3803125000e-01 1.5192855273e-04
+1.8755625000e+00 1.2302498766e-04
+2.8130937500e+00 8.7297719155e-05
+3.7506250000e+00 5.4272894001e-05
+4.6881562500e+00 2.9161066353e-05
+5.6256875000e+00 1.2916722908e-05
+6.5632187500e+00 4.1052500120e-06
+7.5007500000e+00 5.1461299758e-07
+8.4382812500e+00 3.3670787552e-11
+9.3758125000e+00 1.0256256234e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0429580779e-12
+-8.4372812500e+00 5.4640647837e-11
+-7.4997500000e+00 5.1340442691e-07
+-6.5622187500e+00 4.1054453518e-06
+-5.6246875000e+00 1.2907454030e-05
+-4.6871562500e+00 2.9132430173e-05
+-3.7496250000e+00 5.4204105073e-05
+-2.8120937500e+00 8.7166644743e-05
+-1.8745625000e+00 1.2282125657e-04
+-9.3703125000e-01 1.5171236163e-04
+5.0000000000e-04 1.6181402542e-04
+9.3803125000e-01 1.5169059466e-04
+1.8755625000e+00 1.2278514057e-04
+2.8130937500e+00 8.7128701485e-05
+3.7506250000e+00 5.4172667222e-05
+4.6881562500e+00 2.9110523947e-05
+5.6256875000e+00 1.2894475816e-05
+6.5632187500e+00 4.0992466079e-06
+7.5007500000e+00 5.1164718122e-07
+8.4382812500e+00 5.4276059450e-11
+9.3758125000e+00 1.0427533749e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0629336839e-12
+-8.4372812500e+00 7.9963092684e-11
+-7.4997500000e+00 5.1055243250e-07
+-6.5622187500e+00 4.0997228989e-06
+-5.6246875000e+00 1.2885085967e-05
+-4.6871562500e+00 2.9082089959e-05
+-3.7496250000e+00 5.4103755836e-05
+-2.8120937500e+00 8.6998889143e-05
+-1.8745625000e+00 1.2258229262e-04
+-9.3703125000e-01 1.5147292962e-04
+5.0000000000e-04 1.6131823393e-04
+9.3803125000e-01 1.5145131694e-04
+1.8755625000e+00 1.2254635579e-04
+2.8130937500e+00 8.6961018304e-05
+3.7506250000e+00 5.4072386565e-05
+4.6881562500e+00 2.9060224647e-05
+5.6256875000e+00 1.2872129421e-05
+6.5632187500e+00 4.0935378193e-06
+7.5007500000e+00 5.0880791843e-07
+8.4382812500e+00 7.9413657475e-11
+9.3758125000e+00 1.0626241823e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0847770065e-12
+-8.4372812500e+00 1.0963528594e-10
+-7.4997500000e+00 5.0781915106e-07
+-6.5622187500e+00 4.0943651607e-06
+-5.6246875000e+00 1.2862824653e-05
+-4.6871562500e+00 2.9032604963e-05
+-3.7496250000e+00 5.4004522048e-05
+-2.8120937500e+00 8.6839657930e-05
+-1.8745625000e+00 1.2235335665e-04
+-9.3703125000e-01 1.5124288144e-04
+5.0000000000e-04 1.6084206838e-04
+9.3803125000e-01 1.5122180003e-04
+1.8755625000e+00 1.2231755730e-04
+2.8130937500e+00 8.6801818062e-05
+3.7506250000e+00 5.3973232197e-05
+4.6881562500e+00 2.9010780254e-05
+5.6256875000e+00 1.2849889465e-05
+6.5632187500e+00 4.0881967454e-06
+7.5007500000e+00 5.0608671712e-07
+8.4382812500e+00 1.0886614846e-10
+9.3758125000e+00 1.0843452269e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.1089457618e-12
+-8.4372812500e+00 1.4342051656e-10
+-7.4997500000e+00 5.0520793435e-07
+-6.5622187500e+00 4.0896691406e-06
+-5.6246875000e+00 1.2840870853e-05
+-4.6871562500e+00 2.8986420158e-05
+-3.7496250000e+00 5.3913793918e-05
+-2.8120937500e+00 8.6695910281e-05
+-1.8745625000e+00 1.2214636542e-04
+-9.3703125000e-01 1.5102752827e-04
+5.0000000000e-04 1.6041223256e-04
+9.3803125000e-01 1.5100638031e-04
+1.8755625000e+00 1.2211071794e-04
+2.8130937500e+00 8.6658126364e-05
+3.7506250000e+00 5.3882560809e-05
+4.6881562500e+00 2.8964630540e-05
+5.6256875000e+00 1.2827956633e-05
+6.5632187500e+00 4.0835192333e-06
+7.5007500000e+00 5.0348690645e-07
+8.4382812500e+00 1.4239817198e-10
+9.3758125000e+00 1.1083964253e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm_no_trp/press_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/press_y_[16][16].xg
new file mode 100644
index 0000000..1a42135
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0000000000e-12
+-8.4372812500e+00 1.0000000000e-12
+-7.4997500000e+00 5.2605173583e-07
+-6.5622187500e+00 4.1315900663e-06
+-5.6246875000e+00 1.2995946174e-05
+-4.6871562500e+00 2.9335030675e-05
+-3.7496250000e+00 5.4603112748e-05
+-2.8120937500e+00 8.7842646809e-05
+-1.8745625000e+00 1.2379368326e-04
+-9.3703125000e-01 1.5265624931e-04
+5.0000000000e-04 1.6383998934e-04
+9.3803125000e-01 1.5263328310e-04
+1.8755625000e+00 1.2375708443e-04
+2.8130937500e+00 8.7804360334e-05
+3.7506250000e+00 5.4571420118e-05
+4.6881562500e+00 2.9312961502e-05
+5.6256875000e+00 1.2982880569e-05
+6.5632187500e+00 4.1253437891e-06
+7.5007500000e+00 5.2423683754e-07
+8.4382812500e+00 1.0000000000e-12
+9.3758125000e+00 1.0000000000e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0021322643e-12
+-8.4372812500e+00 6.8859822808e-12
+-7.4997500000e+00 5.2270979510e-07
+-6.5622187500e+00 4.1245384654e-06
+-5.6246875000e+00 1.2973928705e-05
+-4.6871562500e+00 2.9284232039e-05
+-3.7496250000e+00 5.4503906833e-05
+-2.8120937500e+00 8.7674635062e-05
+-1.8745625000e+00 1.2354828949e-04
+-9.3703125000e-01 1.5242455147e-04
+5.0000000000e-04 1.6333106334e-04
+9.3803125000e-01 1.5240195273e-04
+1.8755625000e+00 1.2351178360e-04
+2.8130937500e+00 8.7636431075e-05
+3.7506250000e+00 5.4472277159e-05
+4.6881562500e+00 2.9262203314e-05
+5.6256875000e+00 1.2960885182e-05
+6.5632187500e+00 4.1183028762e-06
+7.5007500000e+00 5.2091031598e-07
+8.4382812500e+00 6.8533413073e-12
+9.3758125000e+00 1.0021118688e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0119893223e-12
+-8.4372812500e+00 1.7905804752e-11
+-7.4997500000e+00 5.1948654506e-07
+-6.5622187500e+00 4.1178184303e-06
+-5.6246875000e+00 1.2951803690e-05
+-4.6871562500e+00 2.9233404058e-05
+-3.7496250000e+00 5.4403983724e-05
+-2.8120937500e+00 8.7504870178e-05
+-1.8745625000e+00 1.2330332995e-04
+-9.3703125000e-01 1.5218820155e-04
+5.0000000000e-04 1.6281991117e-04
+9.3803125000e-01 1.5216595111e-04
+1.8755625000e+00 1.2326693654e-04
+2.8130937500e+00 8.7466751881e-05
+3.7506250000e+00 5.4372417828e-05
+4.6881562500e+00 2.9211416143e-05
+5.6256875000e+00 1.2938782082e-05
+6.5632187500e+00 4.1115943898e-06
+7.5007500000e+00 5.1770181368e-07
+8.4382812500e+00 1.7800836051e-11
+9.3758125000e+00 1.0119247941e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0257501512e-12
+-8.4372812500e+00 3.3886792163e-11
+-7.4997500000e+00 5.1638364958e-07
+-6.5622187500e+00 4.1114617856e-06
+-5.6246875000e+00 1.2929722884e-05
+-4.6871562500e+00 2.9183013592e-05
+-3.7496250000e+00 5.4304396219e-05
+-2.8120937500e+00 8.7335748061e-05
+-1.8745625000e+00 1.2306125318e-04
+-9.3703125000e-01 1.5195047613e-04
+5.0000000000e-04 1.6231335175e-04
+9.3803125000e-01 1.5192855273e-04
+1.8755625000e+00 1.2302498766e-04
+2.8130937500e+00 8.7297719155e-05
+3.7506250000e+00 5.4272894001e-05
+4.6881562500e+00 2.9161066353e-05
+5.6256875000e+00 1.2916722908e-05
+6.5632187500e+00 4.1052500120e-06
+7.5007500000e+00 5.1461299758e-07
+8.4382812500e+00 3.3670787552e-11
+9.3758125000e+00 1.0256256234e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0429580779e-12
+-8.4372812500e+00 5.4640647837e-11
+-7.4997500000e+00 5.1340442691e-07
+-6.5622187500e+00 4.1054453518e-06
+-5.6246875000e+00 1.2907454030e-05
+-4.6871562500e+00 2.9132430173e-05
+-3.7496250000e+00 5.4204105073e-05
+-2.8120937500e+00 8.7166644743e-05
+-1.8745625000e+00 1.2282125657e-04
+-9.3703125000e-01 1.5171236163e-04
+5.0000000000e-04 1.6181402542e-04
+9.3803125000e-01 1.5169059466e-04
+1.8755625000e+00 1.2278514057e-04
+2.8130937500e+00 8.7128701485e-05
+3.7506250000e+00 5.4172667222e-05
+4.6881562500e+00 2.9110523947e-05
+5.6256875000e+00 1.2894475816e-05
+6.5632187500e+00 4.0992466079e-06
+7.5007500000e+00 5.1164718122e-07
+8.4382812500e+00 5.4276059450e-11
+9.3758125000e+00 1.0427533749e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0629336839e-12
+-8.4372812500e+00 7.9963092684e-11
+-7.4997500000e+00 5.1055243250e-07
+-6.5622187500e+00 4.0997228989e-06
+-5.6246875000e+00 1.2885085967e-05
+-4.6871562500e+00 2.9082089959e-05
+-3.7496250000e+00 5.4103755836e-05
+-2.8120937500e+00 8.6998889143e-05
+-1.8745625000e+00 1.2258229262e-04
+-9.3703125000e-01 1.5147292962e-04
+5.0000000000e-04 1.6131823393e-04
+9.3803125000e-01 1.5145131694e-04
+1.8755625000e+00 1.2254635579e-04
+2.8130937500e+00 8.6961018304e-05
+3.7506250000e+00 5.4072386565e-05
+4.6881562500e+00 2.9060224647e-05
+5.6256875000e+00 1.2872129421e-05
+6.5632187500e+00 4.0935378193e-06
+7.5007500000e+00 5.0880791843e-07
+8.4382812500e+00 7.9413657475e-11
+9.3758125000e+00 1.0626241823e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0847770065e-12
+-8.4372812500e+00 1.0963528594e-10
+-7.4997500000e+00 5.0781915106e-07
+-6.5622187500e+00 4.0943651607e-06
+-5.6246875000e+00 1.2862824653e-05
+-4.6871562500e+00 2.9032604963e-05
+-3.7496250000e+00 5.4004522048e-05
+-2.8120937500e+00 8.6839657930e-05
+-1.8745625000e+00 1.2235335665e-04
+-9.3703125000e-01 1.5124288144e-04
+5.0000000000e-04 1.6084206838e-04
+9.3803125000e-01 1.5122180003e-04
+1.8755625000e+00 1.2231755730e-04
+2.8130937500e+00 8.6801818062e-05
+3.7506250000e+00 5.3973232197e-05
+4.6881562500e+00 2.9010780254e-05
+5.6256875000e+00 1.2849889465e-05
+6.5632187500e+00 4.0881967454e-06
+7.5007500000e+00 5.0608671712e-07
+8.4382812500e+00 1.0886614846e-10
+9.3758125000e+00 1.0843452269e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.1089457618e-12
+-8.4372812500e+00 1.4342051656e-10
+-7.4997500000e+00 5.0520793435e-07
+-6.5622187500e+00 4.0896691406e-06
+-5.6246875000e+00 1.2840870853e-05
+-4.6871562500e+00 2.8986420158e-05
+-3.7496250000e+00 5.3913793918e-05
+-2.8120937500e+00 8.6695910281e-05
+-1.8745625000e+00 1.2214636542e-04
+-9.3703125000e-01 1.5102752827e-04
+5.0000000000e-04 1.6041223256e-04
+9.3803125000e-01 1.5100638031e-04
+1.8755625000e+00 1.2211071794e-04
+2.8130937500e+00 8.6658126364e-05
+3.7506250000e+00 5.3882560809e-05
+4.6881562500e+00 2.8964630540e-05
+5.6256875000e+00 1.2827956633e-05
+6.5632187500e+00 4.0835192333e-06
+7.5007500000e+00 5.0348690645e-07
+8.4382812500e+00 1.4239817198e-10
+9.3758125000e+00 1.1083964253e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm_no_trp/press_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/press_z_[16][16].xg
new file mode 100644
index 0000000..1a42135
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/press_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0000000000e-12
+-8.4372812500e+00 1.0000000000e-12
+-7.4997500000e+00 5.2605173583e-07
+-6.5622187500e+00 4.1315900663e-06
+-5.6246875000e+00 1.2995946174e-05
+-4.6871562500e+00 2.9335030675e-05
+-3.7496250000e+00 5.4603112748e-05
+-2.8120937500e+00 8.7842646809e-05
+-1.8745625000e+00 1.2379368326e-04
+-9.3703125000e-01 1.5265624931e-04
+5.0000000000e-04 1.6383998934e-04
+9.3803125000e-01 1.5263328310e-04
+1.8755625000e+00 1.2375708443e-04
+2.8130937500e+00 8.7804360334e-05
+3.7506250000e+00 5.4571420118e-05
+4.6881562500e+00 2.9312961502e-05
+5.6256875000e+00 1.2982880569e-05
+6.5632187500e+00 4.1253437891e-06
+7.5007500000e+00 5.2423683754e-07
+8.4382812500e+00 1.0000000000e-12
+9.3758125000e+00 1.0000000000e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0021322643e-12
+-8.4372812500e+00 6.8859822808e-12
+-7.4997500000e+00 5.2270979510e-07
+-6.5622187500e+00 4.1245384654e-06
+-5.6246875000e+00 1.2973928705e-05
+-4.6871562500e+00 2.9284232039e-05
+-3.7496250000e+00 5.4503906833e-05
+-2.8120937500e+00 8.7674635062e-05
+-1.8745625000e+00 1.2354828949e-04
+-9.3703125000e-01 1.5242455147e-04
+5.0000000000e-04 1.6333106334e-04
+9.3803125000e-01 1.5240195273e-04
+1.8755625000e+00 1.2351178360e-04
+2.8130937500e+00 8.7636431075e-05
+3.7506250000e+00 5.4472277159e-05
+4.6881562500e+00 2.9262203314e-05
+5.6256875000e+00 1.2960885182e-05
+6.5632187500e+00 4.1183028762e-06
+7.5007500000e+00 5.2091031598e-07
+8.4382812500e+00 6.8533413073e-12
+9.3758125000e+00 1.0021118688e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0119893223e-12
+-8.4372812500e+00 1.7905804752e-11
+-7.4997500000e+00 5.1948654506e-07
+-6.5622187500e+00 4.1178184303e-06
+-5.6246875000e+00 1.2951803690e-05
+-4.6871562500e+00 2.9233404058e-05
+-3.7496250000e+00 5.4403983724e-05
+-2.8120937500e+00 8.7504870178e-05
+-1.8745625000e+00 1.2330332995e-04
+-9.3703125000e-01 1.5218820155e-04
+5.0000000000e-04 1.6281991117e-04
+9.3803125000e-01 1.5216595111e-04
+1.8755625000e+00 1.2326693654e-04
+2.8130937500e+00 8.7466751881e-05
+3.7506250000e+00 5.4372417828e-05
+4.6881562500e+00 2.9211416143e-05
+5.6256875000e+00 1.2938782082e-05
+6.5632187500e+00 4.1115943898e-06
+7.5007500000e+00 5.1770181368e-07
+8.4382812500e+00 1.7800836051e-11
+9.3758125000e+00 1.0119247941e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0257501512e-12
+-8.4372812500e+00 3.3886792163e-11
+-7.4997500000e+00 5.1638364958e-07
+-6.5622187500e+00 4.1114617856e-06
+-5.6246875000e+00 1.2929722884e-05
+-4.6871562500e+00 2.9183013592e-05
+-3.7496250000e+00 5.4304396219e-05
+-2.8120937500e+00 8.7335748061e-05
+-1.8745625000e+00 1.2306125318e-04
+-9.3703125000e-01 1.5195047613e-04
+5.0000000000e-04 1.6231335175e-04
+9.3803125000e-01 1.5192855273e-04
+1.8755625000e+00 1.2302498766e-04
+2.8130937500e+00 8.7297719155e-05
+3.7506250000e+00 5.4272894001e-05
+4.6881562500e+00 2.9161066353e-05
+5.6256875000e+00 1.2916722908e-05
+6.5632187500e+00 4.1052500120e-06
+7.5007500000e+00 5.1461299758e-07
+8.4382812500e+00 3.3670787552e-11
+9.3758125000e+00 1.0256256234e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0429580779e-12
+-8.4372812500e+00 5.4640647837e-11
+-7.4997500000e+00 5.1340442691e-07
+-6.5622187500e+00 4.1054453518e-06
+-5.6246875000e+00 1.2907454030e-05
+-4.6871562500e+00 2.9132430173e-05
+-3.7496250000e+00 5.4204105073e-05
+-2.8120937500e+00 8.7166644743e-05
+-1.8745625000e+00 1.2282125657e-04
+-9.3703125000e-01 1.5171236163e-04
+5.0000000000e-04 1.6181402542e-04
+9.3803125000e-01 1.5169059466e-04
+1.8755625000e+00 1.2278514057e-04
+2.8130937500e+00 8.7128701485e-05
+3.7506250000e+00 5.4172667222e-05
+4.6881562500e+00 2.9110523947e-05
+5.6256875000e+00 1.2894475816e-05
+6.5632187500e+00 4.0992466079e-06
+7.5007500000e+00 5.1164718122e-07
+8.4382812500e+00 5.4276059450e-11
+9.3758125000e+00 1.0427533749e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0629336839e-12
+-8.4372812500e+00 7.9963092684e-11
+-7.4997500000e+00 5.1055243250e-07
+-6.5622187500e+00 4.0997228989e-06
+-5.6246875000e+00 1.2885085967e-05
+-4.6871562500e+00 2.9082089959e-05
+-3.7496250000e+00 5.4103755836e-05
+-2.8120937500e+00 8.6998889143e-05
+-1.8745625000e+00 1.2258229262e-04
+-9.3703125000e-01 1.5147292962e-04
+5.0000000000e-04 1.6131823393e-04
+9.3803125000e-01 1.5145131694e-04
+1.8755625000e+00 1.2254635579e-04
+2.8130937500e+00 8.6961018304e-05
+3.7506250000e+00 5.4072386565e-05
+4.6881562500e+00 2.9060224647e-05
+5.6256875000e+00 1.2872129421e-05
+6.5632187500e+00 4.0935378193e-06
+7.5007500000e+00 5.0880791843e-07
+8.4382812500e+00 7.9413657475e-11
+9.3758125000e+00 1.0626241823e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.0847770065e-12
+-8.4372812500e+00 1.0963528594e-10
+-7.4997500000e+00 5.0781915106e-07
+-6.5622187500e+00 4.0943651607e-06
+-5.6246875000e+00 1.2862824653e-05
+-4.6871562500e+00 2.9032604963e-05
+-3.7496250000e+00 5.4004522048e-05
+-2.8120937500e+00 8.6839657930e-05
+-1.8745625000e+00 1.2235335665e-04
+-9.3703125000e-01 1.5124288144e-04
+5.0000000000e-04 1.6084206838e-04
+9.3803125000e-01 1.5122180003e-04
+1.8755625000e+00 1.2231755730e-04
+2.8130937500e+00 8.6801818062e-05
+3.7506250000e+00 5.3973232197e-05
+4.6881562500e+00 2.9010780254e-05
+5.6256875000e+00 1.2849889465e-05
+6.5632187500e+00 4.0881967454e-06
+7.5007500000e+00 5.0608671712e-07
+8.4382812500e+00 1.0886614846e-10
+9.3758125000e+00 1.0843452269e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-12
+-1.4062468750e+01 1.0000000000e-12
+-1.3124937500e+01 1.0000000000e-12
+-1.2187406250e+01 1.0000000000e-12
+-1.1249875000e+01 1.0000000000e-12
+-1.0312343750e+01 1.0000000000e-12
+-9.3748125000e+00 1.1089457618e-12
+-8.4372812500e+00 1.4342051656e-10
+-7.4997500000e+00 5.0520793435e-07
+-6.5622187500e+00 4.0896691406e-06
+-5.6246875000e+00 1.2840870853e-05
+-4.6871562500e+00 2.8986420158e-05
+-3.7496250000e+00 5.3913793918e-05
+-2.8120937500e+00 8.6695910281e-05
+-1.8745625000e+00 1.2214636542e-04
+-9.3703125000e-01 1.5102752827e-04
+5.0000000000e-04 1.6041223256e-04
+9.3803125000e-01 1.5100638031e-04
+1.8755625000e+00 1.2211071794e-04
+2.8130937500e+00 8.6658126364e-05
+3.7506250000e+00 5.3882560809e-05
+4.6881562500e+00 2.8964630540e-05
+5.6256875000e+00 1.2827956633e-05
+6.5632187500e+00 4.0835192333e-06
+7.5007500000e+00 5.0348690645e-07
+8.4382812500e+00 1.4239817198e-10
+9.3758125000e+00 1.1083964253e-12
+1.0313343750e+01 1.0000000000e-12
+1.1250875000e+01 1.0000000000e-12
+1.2188406250e+01 1.0000000000e-12
+1.3125937500e+01 1.0000000000e-12
+1.4063468750e+01 1.0000000000e-12
+1.5001000000e+01 1.0000000000e-12
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/rho_3D_diagonal.xg
new file mode 100644
index 0000000..cd67607
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 7.2219006219e-07
+-6.4945410093e+00 2.1373637815e-04
+-4.8706892506e+00 5.0455351209e-04
+-3.2468374920e+00 8.4649304100e-04
+-1.6229857333e+00 1.1520020591e-03
+8.6602540378e-04 1.2799999584e-03
+1.6247177841e+00 1.1517452780e-03
+3.2485695428e+00 8.4612544773e-04
+4.8724213015e+00 5.0420704352e-04
+6.4962730601e+00 2.1346660210e-04
+8.1201248188e+00 5.3713844673e-07
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 1.1950924101e-06
+-6.4945410093e+00 2.1373294371e-04
+-4.8706892506e+00 5.0455182021e-04
+-3.2468374920e+00 8.4650452027e-04
+-1.6229857333e+00 1.1529068559e-03
+8.6602540378e-04 1.2780104199e-03
+1.6247177841e+00 1.1526534614e-03
+3.2485695428e+00 8.4613702029e-04
+4.8724213015e+00 5.0420535786e-04
+6.4962730601e+00 2.1346316400e-04
+8.1201248188e+00 1.0133699399e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 1.6523242962e-06
+-6.4945410093e+00 2.1372248700e-04
+-4.8706892506e+00 5.0454775616e-04
+-3.2468374920e+00 8.4653595908e-04
+-1.6229857333e+00 1.1537882768e-03
+8.6602540378e-04 1.2760090563e-03
+1.6247177841e+00 1.1535380826e-03
+3.2485695428e+00 8.4616872749e-04
+4.8724213015e+00 5.0420131727e-04
+6.4962730601e+00 2.1345270989e-04
+8.1201248188e+00 1.4742856633e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 2.0932699977e-06
+-6.4945410093e+00 2.1370469148e-04
+-4.8706892506e+00 5.0454334792e-04
+-3.2468374920e+00 8.4658158875e-04
+-1.6229857333e+00 1.1546378388e-03
+8.6602540378e-04 1.2740225734e-03
+1.6247177841e+00 1.1543906450e-03
+3.2485695428e+00 8.4621477858e-04
+4.8724213015e+00 5.0419695867e-04
+6.4962730601e+00 2.1343493498e-04
+8.1201248188e+00 1.9192752059e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 2.5125449198e-06
+-6.4945410093e+00 2.1367891665e-04
+-4.8706892506e+00 5.0454089168e-04
+-3.2468374920e+00 8.4663520435e-04
+-1.6229857333e+00 1.1554577678e-03
+8.6602540378e-04 1.2720614192e-03
+1.6247177841e+00 1.1552117124e-03
+3.2485695428e+00 8.4626903765e-04
+4.8724213015e+00 5.0419453373e-04
+6.4962730601e+00 2.1340920830e-04
+8.1201248188e+00 2.3466431018e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 2.9078292216e-06
+-6.4945410093e+00 2.1364378071e-04
+-4.8706892506e+00 5.0454652917e-04
+-3.2468374920e+00 8.4668897515e-04
+-1.6229857333e+00 1.1562537040e-03
+8.6602540378e-04 1.2701111523e-03
+1.6247177841e+00 1.1560087858e-03
+3.2485695428e+00 8.4632375156e-04
+4.8724213015e+00 5.0420010320e-04
+6.4962730601e+00 2.1337417786e-04
+8.1201248188e+00 2.7501214495e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 3.2802672781e-06
+-6.4945410093e+00 2.1359689569e-04
+-4.8706892506e+00 5.0456602633e-04
+-3.2468374920e+00 8.4673904926e-04
+-1.6229857333e+00 1.1569679078e-03
+8.6602540378e-04 1.2682352636e-03
+1.6247177841e+00 1.1567281588e-03
+3.2485695428e+00 8.4637377910e-04
+4.8724213015e+00 5.0421953505e-04
+6.4962730601e+00 2.1332748273e-04
+8.1201248188e+00 3.1290649862e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e-07
+-2.4356910355e+01 1.0000000000e-07
+-2.2733058596e+01 1.0000000000e-07
+-2.1109206837e+01 1.0000000000e-07
+-1.9485355079e+01 1.0000000000e-07
+-1.7861503320e+01 1.0000000000e-07
+-1.6237651561e+01 1.0000000000e-07
+-1.4613799803e+01 1.0000000000e-07
+-1.2989948044e+01 1.0000000000e-07
+-1.1366096285e+01 1.0000000000e-07
+-9.7422445267e+00 1.0000000000e-07
+-8.1183927680e+00 3.6364365576e-06
+-6.4945410093e+00 2.1353964292e-04
+-4.8706892506e+00 5.0459367773e-04
+-3.2468374920e+00 8.4680335082e-04
+-1.6229857333e+00 1.1575625864e-03
+8.6602540378e-04 1.2665395081e-03
+1.6247177841e+00 1.1573216682e-03
+3.2485695428e+00 8.4643887131e-04
+4.8724213015e+00 5.0424708348e-04
+6.4962730601e+00 2.1327040473e-04
+8.1201248188e+00 3.4878259997e-06
+9.7439765775e+00 1.0000000000e-07
+1.1367828336e+01 1.0000000000e-07
+1.2991680095e+01 1.0000000000e-07
+1.4615531854e+01 1.0000000000e-07
+1.6239383612e+01 1.0000000000e-07
+1.7863235371e+01 1.0000000000e-07
+1.9487087130e+01 1.0000000000e-07
+2.1110938888e+01 1.0000000000e-07
+2.2734790647e+01 1.0000000000e-07
+2.4358642406e+01 1.0000000000e-07
+2.5982494164e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_maximum.xg b/test/whisky_test_tov_ppm_no_trp/rho_maximum.xg
new file mode 100644
index 0000000..ab6be3b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_maximum.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0012799999584
+0.3515742187500 0.0012780104199
+0.7031484375000 0.0012760090563
+1.0547226562500 0.0012740225734
+1.4062968750000 0.0012720614192
+1.7578710937500 0.0012701111523
+2.1094453125000 0.0012682352636
+2.4610195312500 0.0012665395081
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_minimum.xg b/test/whisky_test_tov_ppm_no_trp/rho_minimum.xg
new file mode 100644
index 0000000..d5fa141
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_minimum.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0000001000000
+0.3515742187500 0.0000001000000
+0.7031484375000 0.0000001000000
+1.0547226562500 0.0000001000000
+1.4062968750000 0.0000001000000
+1.7578710937500 0.0000001000000
+2.1094453125000 0.0000001000000
+2.4610195312500 0.0000001000000
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_norm1.xg b/test/whisky_test_tov_ppm_no_trp/rho_norm1.xg
new file mode 100644
index 0000000..951cd9d
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_norm1.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0000234653613
+0.3515742187500 0.0000234656449
+0.7031484375000 0.0000234660428
+1.0547226562500 0.0000234665467
+1.4062968750000 0.0000234671505
+1.7578710937500 0.0000234678465
+2.1094453125000 0.0000234686240
+2.4610195312500 0.0000234694746
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_norm2.xg b/test/whisky_test_tov_ppm_no_trp/rho_norm2.xg
new file mode 100644
index 0000000..66a6297
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_norm2.xg
@@ -0,0 +1,9 @@
+"rho v time
+0.0000000000000 0.0001144690349
+0.3515742187500 0.0001144658058
+0.7031484375000 0.0001144624458
+1.0547226562500 0.0001144589256
+1.4062968750000 0.0001144552020
+1.7578710937500 0.0001144512227
+2.1094453125000 0.0001144469514
+2.4610195312500 0.0001144422977
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/rho_x_[16][16].xg
new file mode 100644
index 0000000..01d84be
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0000000000e-07
+-8.4372812500e+00 1.0000000000e-07
+-7.4997500000e+00 7.2529424086e-05
+-6.5622187500e+00 2.0326313159e-04
+-5.6246875000e+00 3.6049890672e-04
+-4.6871562500e+00 5.4161822971e-04
+-3.7496250000e+00 7.3893919065e-04
+-2.8120937500e+00 9.3724408138e-04
+-1.8745625000e+00 1.1126260974e-03
+-9.3703125000e-01 1.2355413765e-03
+5.0000000000e-04 1.2799999584e-03
+9.3803125000e-01 1.2354484331e-03
+1.8755625000e+00 1.1124616148e-03
+2.8130937500e+00 9.3703980883e-04
+3.7506250000e+00 7.3872471271e-04
+4.6881562500e+00 5.4141445771e-04
+5.6256875000e+00 3.6031764555e-04
+6.5632187500e+00 2.0310942344e-04
+7.5007500000e+00 7.2404201366e-05
+8.4382812500e+00 1.0000000000e-07
+9.3758125000e+00 1.0000000000e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0010655644e-07
+-8.4372812500e+00 2.6241155235e-07
+-7.4997500000e+00 7.2298671848e-05
+-6.5622187500e+00 2.0308959760e-04
+-5.6246875000e+00 3.6019340229e-04
+-4.6871562500e+00 5.4114907409e-04
+-3.7496250000e+00 7.3826761295e-04
+-2.8120937500e+00 9.3634734507e-04
+-1.8745625000e+00 1.1115227820e-03
+-9.3703125000e-01 1.2346033836e-03
+5.0000000000e-04 1.2780104199e-03
+9.3803125000e-01 1.2345118579e-03
+1.8755625000e+00 1.1113585542e-03
+2.8130937500e+00 9.3614331742e-04
+3.7506250000e+00 7.3805336636e-04
+4.6881562500e+00 5.4094549924e-04
+5.6256875000e+00 3.6001229398e-04
+6.5632187500e+00 2.0293602135e-04
+7.5007500000e+00 7.2174116966e-05
+8.4382812500e+00 2.6178887118e-07
+9.3758125000e+00 1.0010553775e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0059768001e-07
+-8.4372812500e+00 4.2315251095e-07
+-7.4997500000e+00 7.2075415022e-05
+-6.5622187500e+00 2.0292408507e-04
+-5.6246875000e+00 3.5988614435e-04
+-4.6871562500e+00 5.4067924002e-04
+-3.7496250000e+00 7.3759056206e-04
+-2.8120937500e+00 9.3544037853e-04
+-1.8745625000e+00 1.1104203256e-03
+-9.3703125000e-01 1.2336458225e-03
+5.0000000000e-04 1.2760090563e-03
+9.3803125000e-01 1.2335556376e-03
+1.8755625000e+00 1.1102564413e-03
+2.8130937500e+00 9.3523661114e-04
+3.7506250000e+00 7.3737655121e-04
+4.6881562500e+00 5.4047586572e-04
+5.6256875000e+00 3.5970518597e-04
+6.5632187500e+00 2.0277066824e-04
+7.5007500000e+00 7.1951498503e-05
+8.4382812500e+00 4.2191037023e-07
+9.3758125000e+00 1.0059447272e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0127932421e-07
+-8.4372812500e+00 5.8212363088e-07
+-7.4997500000e+00 7.1859839241e-05
+-6.5622187500e+00 2.0276739840e-04
+-5.6246875000e+00 3.5957923861e-04
+-4.6871562500e+00 5.4021304679e-04
+-3.7496250000e+00 7.3691516621e-04
+-2.8120937500e+00 9.3453597074e-04
+-1.8745625000e+00 1.1093297669e-03
+-9.3703125000e-01 1.2326819384e-03
+5.0000000000e-04 1.2740225734e-03
+9.3803125000e-01 1.2325930096e-03
+1.8755625000e+00 1.1091662980e-03
+2.8130937500e+00 9.3433248448e-04
+3.7506250000e+00 7.3670139135e-04
+4.6881562500e+00 5.4000987355e-04
+5.6256875000e+00 3.5939842665e-04
+6.5632187500e+00 2.0261416565e-04
+7.5007500000e+00 7.1736531668e-05
+8.4382812500e+00 5.8026534923e-07
+9.3758125000e+00 1.0127317628e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0212531899e-07
+-8.4372812500e+00 7.3919312657e-07
+-7.4997500000e+00 7.1652245388e-05
+-6.5622187500e+00 2.0261898608e-04
+-5.6246875000e+00 3.5926945361e-04
+-4.6871562500e+00 5.3974466345e-04
+-3.7496250000e+00 7.3623437215e-04
+-2.8120937500e+00 9.3363078754e-04
+-1.8745625000e+00 1.1082475201e-03
+-9.3703125000e-01 1.2317157206e-03
+5.0000000000e-04 1.2720614192e-03
+9.3803125000e-01 1.2316273570e-03
+1.8755625000e+00 1.1080845661e-03
+2.8130937500e+00 9.3342756272e-04
+3.7506250000e+00 7.3602083681e-04
+4.6881562500e+00 5.3954169391e-04
+5.6256875000e+00 3.5908878869e-04
+6.5632187500e+00 2.0246596277e-04
+7.5007500000e+00 7.1529517069e-05
+8.4382812500e+00 7.3672287497e-07
+9.3758125000e+00 1.0211529635e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0309867525e-07
+-8.4372812500e+00 8.9422084903e-07
+-7.4997500000e+00 7.1452951828e-05
+-6.5622187500e+00 2.0247772467e-04
+-5.6246875000e+00 3.5895801937e-04
+-4.6871562500e+00 5.3927812824e-04
+-3.7496250000e+00 7.3555255309e-04
+-2.8120937500e+00 9.3273195047e-04
+-1.8745625000e+00 1.1071688788e-03
+-9.3703125000e-01 1.2307433917e-03
+5.0000000000e-04 1.2701111523e-03
+9.3803125000e-01 1.2306555852e-03
+1.8755625000e+00 1.1070065753e-03
+2.8130937500e+00 9.3252891807e-04
+3.7506250000e+00 7.3533928608e-04
+4.6881562500e+00 5.3907536252e-04
+5.6256875000e+00 3.5877749959e-04
+6.5632187500e+00 2.0232493221e-04
+7.5007500000e+00 7.1330773052e-05
+8.4382812500e+00 8.9114340863e-07
+9.3758125000e+00 1.0308366419e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0415262870e-07
+-8.4372812500e+00 1.0470686985e-06
+-7.4997500000e+00 7.1261430736e-05
+-6.5622187500e+00 2.0234537703e-04
+-5.6246875000e+00 3.5864780291e-04
+-4.6871562500e+00 5.3881912515e-04
+-3.7496250000e+00 7.3487769083e-04
+-2.8120937500e+00 9.3187798520e-04
+-1.8745625000e+00 1.1061345155e-03
+-9.3703125000e-01 1.2298084462e-03
+5.0000000000e-04 1.2682352636e-03
+9.3803125000e-01 1.2297227331e-03
+1.8755625000e+00 1.1059726819e-03
+2.8130937500e+00 9.3167493291e-04
+3.7506250000e+00 7.3466476843e-04
+4.6881562500e+00 5.3861656356e-04
+5.6256875000e+00 3.5846742480e-04
+6.5632187500e+00 2.0219289664e-04
+7.5007500000e+00 7.1139772078e-05
+8.4382812500e+00 1.0433894214e-06
+9.3758125000e+00 1.0413189842e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0530649371e-07
+-8.4372812500e+00 1.1975830517e-06
+-7.4997500000e+00 7.1077980722e-05
+-6.5622187500e+00 2.0222930402e-04
+-5.6246875000e+00 3.5834160871e-04
+-4.6871562500e+00 5.3839038029e-04
+-3.7496250000e+00 7.3426013046e-04
+-2.8120937500e+00 9.3110638641e-04
+-1.8745625000e+00 1.1051984682e-03
+-9.3703125000e-01 1.2289325786e-03
+5.0000000000e-04 1.2665395081e-03
+9.3803125000e-01 1.2288465336e-03
+1.8755625000e+00 1.1050371846e-03
+2.8130937500e+00 9.3090346634e-04
+3.7506250000e+00 7.3404741542e-04
+4.6881562500e+00 5.3818798333e-04
+5.6256875000e+00 3.5816136913e-04
+6.5632187500e+00 2.0207719400e-04
+7.5007500000e+00 7.0956811262e-05
+8.4382812500e+00 1.1933070518e-06
+9.3758125000e+00 1.0528040773e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/rho_y_[16][16].xg
new file mode 100644
index 0000000..01d84be
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0000000000e-07
+-8.4372812500e+00 1.0000000000e-07
+-7.4997500000e+00 7.2529424086e-05
+-6.5622187500e+00 2.0326313159e-04
+-5.6246875000e+00 3.6049890672e-04
+-4.6871562500e+00 5.4161822971e-04
+-3.7496250000e+00 7.3893919065e-04
+-2.8120937500e+00 9.3724408138e-04
+-1.8745625000e+00 1.1126260974e-03
+-9.3703125000e-01 1.2355413765e-03
+5.0000000000e-04 1.2799999584e-03
+9.3803125000e-01 1.2354484331e-03
+1.8755625000e+00 1.1124616148e-03
+2.8130937500e+00 9.3703980883e-04
+3.7506250000e+00 7.3872471271e-04
+4.6881562500e+00 5.4141445771e-04
+5.6256875000e+00 3.6031764555e-04
+6.5632187500e+00 2.0310942344e-04
+7.5007500000e+00 7.2404201366e-05
+8.4382812500e+00 1.0000000000e-07
+9.3758125000e+00 1.0000000000e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0010655644e-07
+-8.4372812500e+00 2.6241155235e-07
+-7.4997500000e+00 7.2298671848e-05
+-6.5622187500e+00 2.0308959760e-04
+-5.6246875000e+00 3.6019340229e-04
+-4.6871562500e+00 5.4114907409e-04
+-3.7496250000e+00 7.3826761295e-04
+-2.8120937500e+00 9.3634734507e-04
+-1.8745625000e+00 1.1115227820e-03
+-9.3703125000e-01 1.2346033836e-03
+5.0000000000e-04 1.2780104199e-03
+9.3803125000e-01 1.2345118579e-03
+1.8755625000e+00 1.1113585542e-03
+2.8130937500e+00 9.3614331742e-04
+3.7506250000e+00 7.3805336636e-04
+4.6881562500e+00 5.4094549924e-04
+5.6256875000e+00 3.6001229398e-04
+6.5632187500e+00 2.0293602135e-04
+7.5007500000e+00 7.2174116966e-05
+8.4382812500e+00 2.6178887118e-07
+9.3758125000e+00 1.0010553775e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0059768001e-07
+-8.4372812500e+00 4.2315251095e-07
+-7.4997500000e+00 7.2075415022e-05
+-6.5622187500e+00 2.0292408507e-04
+-5.6246875000e+00 3.5988614435e-04
+-4.6871562500e+00 5.4067924002e-04
+-3.7496250000e+00 7.3759056206e-04
+-2.8120937500e+00 9.3544037853e-04
+-1.8745625000e+00 1.1104203256e-03
+-9.3703125000e-01 1.2336458225e-03
+5.0000000000e-04 1.2760090563e-03
+9.3803125000e-01 1.2335556376e-03
+1.8755625000e+00 1.1102564413e-03
+2.8130937500e+00 9.3523661114e-04
+3.7506250000e+00 7.3737655121e-04
+4.6881562500e+00 5.4047586572e-04
+5.6256875000e+00 3.5970518597e-04
+6.5632187500e+00 2.0277066824e-04
+7.5007500000e+00 7.1951498503e-05
+8.4382812500e+00 4.2191037023e-07
+9.3758125000e+00 1.0059447272e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0127932421e-07
+-8.4372812500e+00 5.8212363088e-07
+-7.4997500000e+00 7.1859839241e-05
+-6.5622187500e+00 2.0276739840e-04
+-5.6246875000e+00 3.5957923861e-04
+-4.6871562500e+00 5.4021304679e-04
+-3.7496250000e+00 7.3691516621e-04
+-2.8120937500e+00 9.3453597074e-04
+-1.8745625000e+00 1.1093297669e-03
+-9.3703125000e-01 1.2326819384e-03
+5.0000000000e-04 1.2740225734e-03
+9.3803125000e-01 1.2325930096e-03
+1.8755625000e+00 1.1091662980e-03
+2.8130937500e+00 9.3433248448e-04
+3.7506250000e+00 7.3670139135e-04
+4.6881562500e+00 5.4000987355e-04
+5.6256875000e+00 3.5939842665e-04
+6.5632187500e+00 2.0261416565e-04
+7.5007500000e+00 7.1736531668e-05
+8.4382812500e+00 5.8026534923e-07
+9.3758125000e+00 1.0127317628e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0212531899e-07
+-8.4372812500e+00 7.3919312657e-07
+-7.4997500000e+00 7.1652245388e-05
+-6.5622187500e+00 2.0261898608e-04
+-5.6246875000e+00 3.5926945361e-04
+-4.6871562500e+00 5.3974466345e-04
+-3.7496250000e+00 7.3623437215e-04
+-2.8120937500e+00 9.3363078754e-04
+-1.8745625000e+00 1.1082475201e-03
+-9.3703125000e-01 1.2317157206e-03
+5.0000000000e-04 1.2720614192e-03
+9.3803125000e-01 1.2316273570e-03
+1.8755625000e+00 1.1080845661e-03
+2.8130937500e+00 9.3342756272e-04
+3.7506250000e+00 7.3602083681e-04
+4.6881562500e+00 5.3954169391e-04
+5.6256875000e+00 3.5908878869e-04
+6.5632187500e+00 2.0246596277e-04
+7.5007500000e+00 7.1529517069e-05
+8.4382812500e+00 7.3672287497e-07
+9.3758125000e+00 1.0211529635e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0309867525e-07
+-8.4372812500e+00 8.9422084903e-07
+-7.4997500000e+00 7.1452951828e-05
+-6.5622187500e+00 2.0247772467e-04
+-5.6246875000e+00 3.5895801937e-04
+-4.6871562500e+00 5.3927812824e-04
+-3.7496250000e+00 7.3555255309e-04
+-2.8120937500e+00 9.3273195047e-04
+-1.8745625000e+00 1.1071688788e-03
+-9.3703125000e-01 1.2307433917e-03
+5.0000000000e-04 1.2701111523e-03
+9.3803125000e-01 1.2306555852e-03
+1.8755625000e+00 1.1070065753e-03
+2.8130937500e+00 9.3252891807e-04
+3.7506250000e+00 7.3533928608e-04
+4.6881562500e+00 5.3907536252e-04
+5.6256875000e+00 3.5877749959e-04
+6.5632187500e+00 2.0232493221e-04
+7.5007500000e+00 7.1330773052e-05
+8.4382812500e+00 8.9114340863e-07
+9.3758125000e+00 1.0308366419e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0415262870e-07
+-8.4372812500e+00 1.0470686985e-06
+-7.4997500000e+00 7.1261430736e-05
+-6.5622187500e+00 2.0234537703e-04
+-5.6246875000e+00 3.5864780291e-04
+-4.6871562500e+00 5.3881912515e-04
+-3.7496250000e+00 7.3487769083e-04
+-2.8120937500e+00 9.3187798520e-04
+-1.8745625000e+00 1.1061345155e-03
+-9.3703125000e-01 1.2298084462e-03
+5.0000000000e-04 1.2682352636e-03
+9.3803125000e-01 1.2297227331e-03
+1.8755625000e+00 1.1059726819e-03
+2.8130937500e+00 9.3167493291e-04
+3.7506250000e+00 7.3466476843e-04
+4.6881562500e+00 5.3861656356e-04
+5.6256875000e+00 3.5846742480e-04
+6.5632187500e+00 2.0219289664e-04
+7.5007500000e+00 7.1139772078e-05
+8.4382812500e+00 1.0433894214e-06
+9.3758125000e+00 1.0413189842e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0530649371e-07
+-8.4372812500e+00 1.1975830517e-06
+-7.4997500000e+00 7.1077980722e-05
+-6.5622187500e+00 2.0222930402e-04
+-5.6246875000e+00 3.5834160871e-04
+-4.6871562500e+00 5.3839038029e-04
+-3.7496250000e+00 7.3426013046e-04
+-2.8120937500e+00 9.3110638641e-04
+-1.8745625000e+00 1.1051984682e-03
+-9.3703125000e-01 1.2289325786e-03
+5.0000000000e-04 1.2665395081e-03
+9.3803125000e-01 1.2288465336e-03
+1.8755625000e+00 1.1050371846e-03
+2.8130937500e+00 9.3090346634e-04
+3.7506250000e+00 7.3404741542e-04
+4.6881562500e+00 5.3818798333e-04
+5.6256875000e+00 3.5816136913e-04
+6.5632187500e+00 2.0207719400e-04
+7.5007500000e+00 7.0956811262e-05
+8.4382812500e+00 1.1933070518e-06
+9.3758125000e+00 1.0528040773e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/rho_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/rho_z_[16][16].xg
new file mode 100644
index 0000000..01d84be
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/rho_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0000000000e-07
+-8.4372812500e+00 1.0000000000e-07
+-7.4997500000e+00 7.2529424086e-05
+-6.5622187500e+00 2.0326313159e-04
+-5.6246875000e+00 3.6049890672e-04
+-4.6871562500e+00 5.4161822971e-04
+-3.7496250000e+00 7.3893919065e-04
+-2.8120937500e+00 9.3724408138e-04
+-1.8745625000e+00 1.1126260974e-03
+-9.3703125000e-01 1.2355413765e-03
+5.0000000000e-04 1.2799999584e-03
+9.3803125000e-01 1.2354484331e-03
+1.8755625000e+00 1.1124616148e-03
+2.8130937500e+00 9.3703980883e-04
+3.7506250000e+00 7.3872471271e-04
+4.6881562500e+00 5.4141445771e-04
+5.6256875000e+00 3.6031764555e-04
+6.5632187500e+00 2.0310942344e-04
+7.5007500000e+00 7.2404201366e-05
+8.4382812500e+00 1.0000000000e-07
+9.3758125000e+00 1.0000000000e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0010655644e-07
+-8.4372812500e+00 2.6241155235e-07
+-7.4997500000e+00 7.2298671848e-05
+-6.5622187500e+00 2.0308959760e-04
+-5.6246875000e+00 3.6019340229e-04
+-4.6871562500e+00 5.4114907409e-04
+-3.7496250000e+00 7.3826761295e-04
+-2.8120937500e+00 9.3634734507e-04
+-1.8745625000e+00 1.1115227820e-03
+-9.3703125000e-01 1.2346033836e-03
+5.0000000000e-04 1.2780104199e-03
+9.3803125000e-01 1.2345118579e-03
+1.8755625000e+00 1.1113585542e-03
+2.8130937500e+00 9.3614331742e-04
+3.7506250000e+00 7.3805336636e-04
+4.6881562500e+00 5.4094549924e-04
+5.6256875000e+00 3.6001229398e-04
+6.5632187500e+00 2.0293602135e-04
+7.5007500000e+00 7.2174116966e-05
+8.4382812500e+00 2.6178887118e-07
+9.3758125000e+00 1.0010553775e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0059768001e-07
+-8.4372812500e+00 4.2315251095e-07
+-7.4997500000e+00 7.2075415022e-05
+-6.5622187500e+00 2.0292408507e-04
+-5.6246875000e+00 3.5988614435e-04
+-4.6871562500e+00 5.4067924002e-04
+-3.7496250000e+00 7.3759056206e-04
+-2.8120937500e+00 9.3544037853e-04
+-1.8745625000e+00 1.1104203256e-03
+-9.3703125000e-01 1.2336458225e-03
+5.0000000000e-04 1.2760090563e-03
+9.3803125000e-01 1.2335556376e-03
+1.8755625000e+00 1.1102564413e-03
+2.8130937500e+00 9.3523661114e-04
+3.7506250000e+00 7.3737655121e-04
+4.6881562500e+00 5.4047586572e-04
+5.6256875000e+00 3.5970518597e-04
+6.5632187500e+00 2.0277066824e-04
+7.5007500000e+00 7.1951498503e-05
+8.4382812500e+00 4.2191037023e-07
+9.3758125000e+00 1.0059447272e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0127932421e-07
+-8.4372812500e+00 5.8212363088e-07
+-7.4997500000e+00 7.1859839241e-05
+-6.5622187500e+00 2.0276739840e-04
+-5.6246875000e+00 3.5957923861e-04
+-4.6871562500e+00 5.4021304679e-04
+-3.7496250000e+00 7.3691516621e-04
+-2.8120937500e+00 9.3453597074e-04
+-1.8745625000e+00 1.1093297669e-03
+-9.3703125000e-01 1.2326819384e-03
+5.0000000000e-04 1.2740225734e-03
+9.3803125000e-01 1.2325930096e-03
+1.8755625000e+00 1.1091662980e-03
+2.8130937500e+00 9.3433248448e-04
+3.7506250000e+00 7.3670139135e-04
+4.6881562500e+00 5.4000987355e-04
+5.6256875000e+00 3.5939842665e-04
+6.5632187500e+00 2.0261416565e-04
+7.5007500000e+00 7.1736531668e-05
+8.4382812500e+00 5.8026534923e-07
+9.3758125000e+00 1.0127317628e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0212531899e-07
+-8.4372812500e+00 7.3919312657e-07
+-7.4997500000e+00 7.1652245388e-05
+-6.5622187500e+00 2.0261898608e-04
+-5.6246875000e+00 3.5926945361e-04
+-4.6871562500e+00 5.3974466345e-04
+-3.7496250000e+00 7.3623437215e-04
+-2.8120937500e+00 9.3363078754e-04
+-1.8745625000e+00 1.1082475201e-03
+-9.3703125000e-01 1.2317157206e-03
+5.0000000000e-04 1.2720614192e-03
+9.3803125000e-01 1.2316273570e-03
+1.8755625000e+00 1.1080845661e-03
+2.8130937500e+00 9.3342756272e-04
+3.7506250000e+00 7.3602083681e-04
+4.6881562500e+00 5.3954169391e-04
+5.6256875000e+00 3.5908878869e-04
+6.5632187500e+00 2.0246596277e-04
+7.5007500000e+00 7.1529517069e-05
+8.4382812500e+00 7.3672287497e-07
+9.3758125000e+00 1.0211529635e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0309867525e-07
+-8.4372812500e+00 8.9422084903e-07
+-7.4997500000e+00 7.1452951828e-05
+-6.5622187500e+00 2.0247772467e-04
+-5.6246875000e+00 3.5895801937e-04
+-4.6871562500e+00 5.3927812824e-04
+-3.7496250000e+00 7.3555255309e-04
+-2.8120937500e+00 9.3273195047e-04
+-1.8745625000e+00 1.1071688788e-03
+-9.3703125000e-01 1.2307433917e-03
+5.0000000000e-04 1.2701111523e-03
+9.3803125000e-01 1.2306555852e-03
+1.8755625000e+00 1.1070065753e-03
+2.8130937500e+00 9.3252891807e-04
+3.7506250000e+00 7.3533928608e-04
+4.6881562500e+00 5.3907536252e-04
+5.6256875000e+00 3.5877749959e-04
+6.5632187500e+00 2.0232493221e-04
+7.5007500000e+00 7.1330773052e-05
+8.4382812500e+00 8.9114340863e-07
+9.3758125000e+00 1.0308366419e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0415262870e-07
+-8.4372812500e+00 1.0470686985e-06
+-7.4997500000e+00 7.1261430736e-05
+-6.5622187500e+00 2.0234537703e-04
+-5.6246875000e+00 3.5864780291e-04
+-4.6871562500e+00 5.3881912515e-04
+-3.7496250000e+00 7.3487769083e-04
+-2.8120937500e+00 9.3187798520e-04
+-1.8745625000e+00 1.1061345155e-03
+-9.3703125000e-01 1.2298084462e-03
+5.0000000000e-04 1.2682352636e-03
+9.3803125000e-01 1.2297227331e-03
+1.8755625000e+00 1.1059726819e-03
+2.8130937500e+00 9.3167493291e-04
+3.7506250000e+00 7.3466476843e-04
+4.6881562500e+00 5.3861656356e-04
+5.6256875000e+00 3.5846742480e-04
+6.5632187500e+00 2.0219289664e-04
+7.5007500000e+00 7.1139772078e-05
+8.4382812500e+00 1.0433894214e-06
+9.3758125000e+00 1.0413189842e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e-07
+-1.4062468750e+01 1.0000000000e-07
+-1.3124937500e+01 1.0000000000e-07
+-1.2187406250e+01 1.0000000000e-07
+-1.1249875000e+01 1.0000000000e-07
+-1.0312343750e+01 1.0000000000e-07
+-9.3748125000e+00 1.0530649371e-07
+-8.4372812500e+00 1.1975830517e-06
+-7.4997500000e+00 7.1077980722e-05
+-6.5622187500e+00 2.0222930402e-04
+-5.6246875000e+00 3.5834160871e-04
+-4.6871562500e+00 5.3839038029e-04
+-3.7496250000e+00 7.3426013046e-04
+-2.8120937500e+00 9.3110638641e-04
+-1.8745625000e+00 1.1051984682e-03
+-9.3703125000e-01 1.2289325786e-03
+5.0000000000e-04 1.2665395081e-03
+9.3803125000e-01 1.2288465336e-03
+1.8755625000e+00 1.1050371846e-03
+2.8130937500e+00 9.3090346634e-04
+3.7506250000e+00 7.3404741542e-04
+4.6881562500e+00 5.3818798333e-04
+5.6256875000e+00 3.5816136913e-04
+6.5632187500e+00 2.0207719400e-04
+7.5007500000e+00 7.0956811262e-05
+8.4382812500e+00 1.1933070518e-06
+9.3758125000e+00 1.0528040773e-07
+1.0313343750e+01 1.0000000000e-07
+1.1250875000e+01 1.0000000000e-07
+1.2188406250e+01 1.0000000000e-07
+1.3125937500e+01 1.0000000000e-07
+1.4063468750e+01 1.0000000000e-07
+1.5001000000e+01 1.0000000000e-07
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_3D_diagonal.xg
new file mode 100644
index 0000000..ef1e4cc
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -5.6624165661e-09
+-6.4945410093e+00 -2.7186708967e-08
+-4.8706892506e+00 -8.6913277683e-08
+-3.2468374920e+00 -1.8438194948e-07
+-1.6229857333e+00 -7.3801864270e-07
+8.6602540378e-04 -5.5939768942e-09
+1.6247177841e+00 7.4259103356e-07
+3.2485695428e+00 1.8439227832e-07
+4.8724213015e+00 8.6827896417e-08
+6.4962730601e+00 2.7148752801e-08
+8.1201248188e+00 6.4028789867e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.3237285688e-09
+-6.4945410093e+00 -5.5177730614e-08
+-4.8706892506e+00 -1.7182286565e-07
+-3.2468374920e+00 -3.9463580593e-07
+-1.6229857333e+00 -1.3471754194e-06
+8.6602540378e-04 -1.0869907231e-08
+1.6247177841e+00 1.3558702558e-06
+3.2485695428e+00 3.9480264389e-07
+4.8724213015e+00 1.7165493135e-07
+6.4962730601e+00 5.5109151944e-08
+8.1201248188e+00 1.0705952745e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1228181779e-08
+-6.4945410093e+00 -8.3809599932e-08
+-4.8706892506e+00 -2.5402111006e-07
+-3.2468374920e+00 -6.2145709645e-07
+-1.6229857333e+00 -1.8282754607e-06
+8.6602540378e-04 -1.5854397701e-08
+1.6247177841e+00 1.8406736986e-06
+3.2485695428e+00 6.2191047426e-07
+4.8724213015e+00 2.5377772922e-07
+6.4962730601e+00 8.3713406114e-08
+8.1201248188e+00 1.3161030834e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1222132749e-08
+-6.4945410093e+00 -1.1274375292e-07
+-4.8706892506e+00 -3.3280596085e-07
+-3.2468374920e+00 -8.6966217126e-07
+-1.6229857333e+00 -2.1620416561e-06
+8.6602540378e-04 -2.1934903813e-08
+1.6247177841e+00 2.1811055359e-06
+3.2485695428e+00 8.6917340638e-07
+4.8724213015e+00 3.3249461999e-07
+6.4962730601e+00 1.1261836200e-07
+8.1201248188e+00 1.3908533761e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.4206136489e-09
+-6.4945410093e+00 -1.4160429751e-07
+-4.8706892506e+00 -4.0769595999e-07
+-3.2468374920e+00 -1.1384451088e-06
+-1.6229857333e+00 -2.3208823605e-06
+8.6602540378e-04 -2.7585648058e-08
+1.6247177841e+00 2.3459377189e-06
+3.2485695428e+00 1.1372305334e-06
+4.8724213015e+00 4.0731894569e-07
+6.4962730601e+00 1.4144875462e-07
+8.1201248188e+00 1.2722750311e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -6.0803225550e-09
+-6.4945410093e+00 -1.7003162652e-07
+-4.8706892506e+00 -4.7871994429e-07
+-3.2468374920e+00 -1.4242947073e-06
+-1.6229857333e+00 -2.3226819993e-06
+8.6602540378e-04 -3.0962514128e-08
+1.6247177841e+00 2.3526671925e-06
+3.2485695428e+00 1.4220705193e-06
+4.8724213015e+00 4.7826917634e-07
+6.4962730601e+00 1.6984417380e-07
+8.1201248188e+00 9.8528751884e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4969399710e-09
+-6.4945410093e+00 -1.9845448638e-07
+-4.8706892506e+00 -5.4541346316e-07
+-3.2468374920e+00 -1.7199709992e-06
+-1.6229857333e+00 -2.1848441575e-06
+8.6602540378e-04 -3.8277323210e-08
+1.6247177841e+00 2.2220057420e-06
+3.2485695428e+00 1.7173124514e-06
+4.8724213015e+00 5.4487757112e-07
+6.4962730601e+00 1.9821887382e-07
+8.1201248188e+00 5.6612717158e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_maximum.xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_maximum.xg
new file mode 100644
index 0000000..de44f32
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_maximum.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008709074
+0.7031484375000 0.0000015581997
+1.0547226562500 0.0000020679601
+1.4062968750000 0.0000023967579
+1.7578710937500 0.0000025068360
+2.1094453125000 0.0000024331558
+2.4610195312500 0.0000029204686
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_minimum.xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_minimum.xg
new file mode 100644
index 0000000..67f8732
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_minimum.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000008652054
+0.7031484375000 -0.0000015474855
+1.0547226562500 -0.0000020528826
+1.4062968750000 -0.0000023739536
+1.7578710937500 -0.0000024772359
+2.1094453125000 -0.0000024355511
+2.4610195312500 -0.0000029234258
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_norm1.xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_norm1.xg
new file mode 100644
index 0000000..8bff847
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_norm1.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000057543
+0.7031484375000 0.0000000112343
+1.0547226562500 0.0000000163899
+1.4062968750000 0.0000000211509
+1.7578710937500 0.0000000254695
+2.1094453125000 0.0000000293402
+2.4610195312500 0.0000000327934
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_norm2.xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_norm2.xg
new file mode 100644
index 0000000..bfb92f1
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_norm2.xg
@@ -0,0 +1,9 @@
+"sx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000370871
+0.7031484375000 0.0000000705675
+1.0547226562500 0.0000001005489
+1.4062968750000 0.0000001267456
+1.7578710937500 0.0000001492286
+2.1094453125000 0.0000001689804
+2.4610195312500 0.0000001869886
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_x_[16][16].xg
new file mode 100644
index 0000000..e7cef56
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.4394114344e-10
+-8.4372812500e+00 -8.0471293488e-09
+-7.4997500000e+00 -6.5837627581e-09
+-6.5622187500e+00 -1.1476470878e-07
+-5.6246875000e+00 -1.3958258312e-07
+-4.6871562500e+00 -2.2909035772e-07
+-3.7496250000e+00 -3.2779870171e-07
+-2.8120937500e+00 -3.7920561345e-07
+-1.8745625000e+00 -3.6344946357e-07
+-9.3703125000e-01 -8.6520544763e-07
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 8.7090737324e-07
+1.8755625000e+00 3.6373466106e-07
+2.8130937500e+00 3.7919356956e-07
+3.7506250000e+00 3.2770481284e-07
+4.6881562500e+00 2.2898325156e-07
+5.6256875000e+00 1.3950276523e-07
+6.5632187500e+00 1.1477692600e-07
+7.5007500000e+00 6.3504101066e-09
+8.4382812500e+00 7.9996136636e-09
+9.3758125000e+00 -7.4382425025e-10
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.4750548293e-09
+-8.4372812500e+00 -1.4512926137e-08
+-7.4997500000e+00 -1.3890818835e-08
+-6.5622187500e+00 -2.2578749039e-07
+-5.6246875000e+00 -2.7410775148e-07
+-4.6871562500e+00 -4.4533108323e-07
+-3.7496250000e+00 -6.3233826067e-07
+-2.8120937500e+00 -7.2086224535e-07
+-1.8745625000e+00 -7.4796568628e-07
+-9.3703125000e-01 -1.5474855303e-06
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 1.5581996581e-06
+1.8755625000e+00 7.4884201963e-07
+2.8130937500e+00 7.2084729264e-07
+3.7506250000e+00 6.3216230408e-07
+4.6881562500e+00 4.4512606546e-07
+5.6256875000e+00 2.7395675128e-07
+6.5632187500e+00 2.2579468018e-07
+7.5007500000e+00 1.3435924470e-08
+8.4382812500e+00 1.4423620774e-08
+9.3758125000e+00 -1.4749137053e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.2007511325e-09
+-8.4372812500e+00 -1.9449150813e-08
+-7.4997500000e+00 -2.1939453790e-08
+-6.5622187500e+00 -3.3296705848e-07
+-5.6246875000e+00 -4.0348510540e-07
+-4.6871562500e+00 -6.4862303633e-07
+-3.7496250000e+00 -9.1172397007e-07
+-2.8120937500e+00 -1.0222434896e-06
+-1.8745625000e+00 -1.1347867126e-06
+-9.3703125000e-01 -2.0528826278e-06
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 2.0679601137e-06
+1.8755625000e+00 1.1365026528e-06
+2.8130937500e+00 1.0222499097e-06
+3.7506250000e+00 9.1148069564e-07
+4.6881562500e+00 6.4833023778e-07
+5.6256875000e+00 4.0326999134e-07
+6.5632187500e+00 3.3295394121e-07
+7.5007500000e+00 2.1274775226e-08
+8.4382812500e+00 1.9323563944e-08
+9.3758125000e+00 -2.2006066528e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.9248137635e-09
+-8.4372812500e+00 -2.2905835827e-08
+-7.4997500000e+00 -3.0801972885e-08
+-6.5622187500e+00 -4.3622644244e-07
+-5.6246875000e+00 -5.2750932426e-07
+-4.6871562500e+00 -8.3875368960e-07
+-3.7496250000e+00 -1.1644310727e-06
+-2.8120937500e+00 -1.2812350579e-06
+-1.8745625000e+00 -1.5201748634e-06
+-9.3703125000e-01 -2.3739535793e-06
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 2.3967578571e-06
+1.8755625000e+00 1.5203772178e-06
+2.8130937500e+00 1.2812812860e-06
+3.7506250000e+00 1.1641381714e-06
+4.6881562500e+00 8.3838388388e-07
+5.6256875000e+00 5.2723590386e-07
+6.5632187500e+00 4.3617995352e-07
+7.5007500000e+00 2.9938468057e-08
+8.4382812500e+00 2.2749336344e-08
+9.3758125000e+00 -2.9246804273e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6498802053e-09
+-8.4372812500e+00 -2.4935801676e-08
+-7.4997500000e+00 -4.0541549476e-08
+-6.5622187500e+00 -5.3554886860e-07
+-5.6246875000e+00 -6.4583101796e-07
+-4.6871562500e+00 -1.0154160223e-06
+-3.7496250000e+00 -1.3887899701e-06
+-2.8120937500e+00 -1.4964136731e-06
+-1.8745625000e+00 -1.9197463033e-06
+-9.3703125000e-01 -2.4772359353e-06
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 2.5068359586e-06
+1.8755625000e+00 1.9188483604e-06
+2.8130937500e+00 1.4965063998e-06
+3.7506250000e+00 1.3884841926e-06
+4.6881562500e+00 1.0149815948e-06
+5.6256875000e+00 6.4550381298e-07
+6.5632187500e+00 5.3545776081e-07
+7.5007500000e+00 3.9488954491e-08
+8.4382812500e+00 2.4753587910e-08
+9.3758125000e+00 -3.6497458750e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 4.3768573235e-09
+-8.4372812500e+00 -2.5594286429e-08
+-7.4997500000e+00 -5.1173399981e-08
+-6.5622187500e+00 -6.3100453105e-07
+-5.6246875000e+00 -7.5803030644e-07
+-4.6871562500e+00 -1.1780015586e-06
+-3.7496250000e+00 -1.5791457121e-06
+-2.8120937500e+00 -1.6724944943e-06
+-1.8745625000e+00 -2.3264476810e-06
+-9.3703125000e-01 -2.3832470060e-06
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 2.4181487269e-06
+1.8755625000e+00 2.3235803898e-06
+2.8130937500e+00 1.6725489324e-06
+3.7506250000e+00 1.5789447977e-06
+4.6881562500e+00 1.1775199906e-06
+5.6256875000e+00 7.5765170135e-07
+6.5632187500e+00 6.3085792089e-07
+7.5007500000e+00 4.9941111462e-08
+8.4382812500e+00 2.5391374444e-08
+9.3758125000e+00 -4.3767000718e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 5.1060282609e-09
+-8.4372812500e+00 -2.4936515064e-08
+-7.4997500000e+00 -6.2683695344e-08
+-6.5622187500e+00 -7.2271092955e-07
+-5.6246875000e+00 -8.6368947717e-07
+-4.6871562500e+00 -1.3267736496e-06
+-3.7496250000e+00 -1.7414414874e-06
+-2.8120937500e+00 -1.8106838222e-06
+-1.8745625000e+00 -2.7343069827e-06
+-9.3703125000e-01 -2.1245375534e-06
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 2.1673913575e-06
+1.8755625000e+00 2.7308415888e-06
+2.8130937500e+00 1.8107272460e-06
+3.7506250000e+00 1.7412063109e-06
+4.6881562500e+00 1.3262591958e-06
+5.6256875000e+00 8.6325878921e-07
+6.5632187500e+00 7.2249746184e-07
+7.5007500000e+00 6.1280955270e-08
+8.4382812500e+00 2.4717665713e-08
+9.3758125000e+00 -5.1057646914e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_y_[16][16].xg
new file mode 100644
index 0000000..a2a3c86
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471306e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629770e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459790e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913711e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508909e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313167e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820564e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075883e-09
+-3.7496250000e+00 -7.9915600481e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292629e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727608e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895154e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[0]_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[0]_z_[16][16].xg
new file mode 100644
index 0000000..651a5c2
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[0]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831374e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471307e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629769e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903350e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913712e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508909e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600480e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694712e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292629e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727608e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895153e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_3D_diagonal.xg
new file mode 100644
index 0000000..ef1e4cc
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -5.6624165661e-09
+-6.4945410093e+00 -2.7186708967e-08
+-4.8706892506e+00 -8.6913277683e-08
+-3.2468374920e+00 -1.8438194948e-07
+-1.6229857333e+00 -7.3801864270e-07
+8.6602540378e-04 -5.5939768942e-09
+1.6247177841e+00 7.4259103356e-07
+3.2485695428e+00 1.8439227832e-07
+4.8724213015e+00 8.6827896417e-08
+6.4962730601e+00 2.7148752801e-08
+8.1201248188e+00 6.4028789867e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.3237285688e-09
+-6.4945410093e+00 -5.5177730614e-08
+-4.8706892506e+00 -1.7182286565e-07
+-3.2468374920e+00 -3.9463580593e-07
+-1.6229857333e+00 -1.3471754194e-06
+8.6602540378e-04 -1.0869907231e-08
+1.6247177841e+00 1.3558702558e-06
+3.2485695428e+00 3.9480264389e-07
+4.8724213015e+00 1.7165493135e-07
+6.4962730601e+00 5.5109151944e-08
+8.1201248188e+00 1.0705952745e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1228181779e-08
+-6.4945410093e+00 -8.3809599932e-08
+-4.8706892506e+00 -2.5402111006e-07
+-3.2468374920e+00 -6.2145709645e-07
+-1.6229857333e+00 -1.8282754607e-06
+8.6602540378e-04 -1.5854397701e-08
+1.6247177841e+00 1.8406736986e-06
+3.2485695428e+00 6.2191047426e-07
+4.8724213015e+00 2.5377772922e-07
+6.4962730601e+00 8.3713406114e-08
+8.1201248188e+00 1.3161030834e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1222132749e-08
+-6.4945410093e+00 -1.1274375292e-07
+-4.8706892506e+00 -3.3280596085e-07
+-3.2468374920e+00 -8.6966217126e-07
+-1.6229857333e+00 -2.1620416561e-06
+8.6602540378e-04 -2.1934903813e-08
+1.6247177841e+00 2.1811055359e-06
+3.2485695428e+00 8.6917340638e-07
+4.8724213015e+00 3.3249461999e-07
+6.4962730601e+00 1.1261836200e-07
+8.1201248188e+00 1.3908533761e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.4206136489e-09
+-6.4945410093e+00 -1.4160429751e-07
+-4.8706892506e+00 -4.0769595999e-07
+-3.2468374920e+00 -1.1384451088e-06
+-1.6229857333e+00 -2.3208823605e-06
+8.6602540378e-04 -2.7585648058e-08
+1.6247177841e+00 2.3459377189e-06
+3.2485695428e+00 1.1372305334e-06
+4.8724213015e+00 4.0731894569e-07
+6.4962730601e+00 1.4144875462e-07
+8.1201248188e+00 1.2722750311e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -6.0803225550e-09
+-6.4945410093e+00 -1.7003162652e-07
+-4.8706892506e+00 -4.7871994429e-07
+-3.2468374920e+00 -1.4242947073e-06
+-1.6229857333e+00 -2.3226819993e-06
+8.6602540378e-04 -3.0962514128e-08
+1.6247177841e+00 2.3526671925e-06
+3.2485695428e+00 1.4220705193e-06
+4.8724213015e+00 4.7826917634e-07
+6.4962730601e+00 1.6984417380e-07
+8.1201248188e+00 9.8528751884e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4969399710e-09
+-6.4945410093e+00 -1.9845448638e-07
+-4.8706892506e+00 -5.4541346316e-07
+-3.2468374920e+00 -1.7199709992e-06
+-1.6229857333e+00 -2.1848441575e-06
+8.6602540378e-04 -3.8277323210e-08
+1.6247177841e+00 2.2220057420e-06
+3.2485695428e+00 1.7173124514e-06
+4.8724213015e+00 5.4487757112e-07
+6.4962730601e+00 1.9821887382e-07
+8.1201248188e+00 5.6612717158e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_maximum.xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_maximum.xg
new file mode 100644
index 0000000..40d7afd
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_maximum.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008709074
+0.7031484375000 0.0000015581997
+1.0547226562500 0.0000020679601
+1.4062968750000 0.0000023967579
+1.7578710937500 0.0000025068360
+2.1094453125000 0.0000024331558
+2.4610195312500 0.0000029204686
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_minimum.xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_minimum.xg
new file mode 100644
index 0000000..de8b906
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_minimum.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000008652054
+0.7031484375000 -0.0000015474855
+1.0547226562500 -0.0000020528826
+1.4062968750000 -0.0000023739536
+1.7578710937500 -0.0000024772359
+2.1094453125000 -0.0000024355511
+2.4610195312500 -0.0000029234258
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_norm1.xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_norm1.xg
new file mode 100644
index 0000000..eb511a4
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_norm1.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000057543
+0.7031484375000 0.0000000112343
+1.0547226562500 0.0000000163899
+1.4062968750000 0.0000000211509
+1.7578710937500 0.0000000254695
+2.1094453125000 0.0000000293402
+2.4610195312500 0.0000000327934
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_norm2.xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_norm2.xg
new file mode 100644
index 0000000..ec906d4
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_norm2.xg
@@ -0,0 +1,9 @@
+"sy v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000370871
+0.7031484375000 0.0000000705675
+1.0547226562500 0.0000001005489
+1.4062968750000 0.0000001267456
+1.7578710937500 0.0000001492286
+2.1094453125000 0.0000001689804
+2.4610195312500 0.0000001869886
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_x_[16][16].xg
new file mode 100644
index 0000000..d4f7981
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471306e-09
+-9.3703125000e-01 -5.1380143446e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629769e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387220e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939280e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913712e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508909e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600480e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292628e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895153e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_y_[16][16].xg
new file mode 100644
index 0000000..e7cef56
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.4394114344e-10
+-8.4372812500e+00 -8.0471293488e-09
+-7.4997500000e+00 -6.5837627581e-09
+-6.5622187500e+00 -1.1476470878e-07
+-5.6246875000e+00 -1.3958258312e-07
+-4.6871562500e+00 -2.2909035772e-07
+-3.7496250000e+00 -3.2779870171e-07
+-2.8120937500e+00 -3.7920561345e-07
+-1.8745625000e+00 -3.6344946357e-07
+-9.3703125000e-01 -8.6520544763e-07
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 8.7090737324e-07
+1.8755625000e+00 3.6373466106e-07
+2.8130937500e+00 3.7919356956e-07
+3.7506250000e+00 3.2770481284e-07
+4.6881562500e+00 2.2898325156e-07
+5.6256875000e+00 1.3950276523e-07
+6.5632187500e+00 1.1477692600e-07
+7.5007500000e+00 6.3504101066e-09
+8.4382812500e+00 7.9996136636e-09
+9.3758125000e+00 -7.4382425025e-10
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.4750548293e-09
+-8.4372812500e+00 -1.4512926137e-08
+-7.4997500000e+00 -1.3890818835e-08
+-6.5622187500e+00 -2.2578749039e-07
+-5.6246875000e+00 -2.7410775148e-07
+-4.6871562500e+00 -4.4533108323e-07
+-3.7496250000e+00 -6.3233826067e-07
+-2.8120937500e+00 -7.2086224535e-07
+-1.8745625000e+00 -7.4796568628e-07
+-9.3703125000e-01 -1.5474855303e-06
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 1.5581996581e-06
+1.8755625000e+00 7.4884201963e-07
+2.8130937500e+00 7.2084729264e-07
+3.7506250000e+00 6.3216230408e-07
+4.6881562500e+00 4.4512606546e-07
+5.6256875000e+00 2.7395675128e-07
+6.5632187500e+00 2.2579468018e-07
+7.5007500000e+00 1.3435924470e-08
+8.4382812500e+00 1.4423620774e-08
+9.3758125000e+00 -1.4749137053e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.2007511325e-09
+-8.4372812500e+00 -1.9449150813e-08
+-7.4997500000e+00 -2.1939453790e-08
+-6.5622187500e+00 -3.3296705848e-07
+-5.6246875000e+00 -4.0348510540e-07
+-4.6871562500e+00 -6.4862303633e-07
+-3.7496250000e+00 -9.1172397007e-07
+-2.8120937500e+00 -1.0222434896e-06
+-1.8745625000e+00 -1.1347867126e-06
+-9.3703125000e-01 -2.0528826278e-06
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 2.0679601137e-06
+1.8755625000e+00 1.1365026528e-06
+2.8130937500e+00 1.0222499097e-06
+3.7506250000e+00 9.1148069564e-07
+4.6881562500e+00 6.4833023778e-07
+5.6256875000e+00 4.0326999134e-07
+6.5632187500e+00 3.3295394121e-07
+7.5007500000e+00 2.1274775226e-08
+8.4382812500e+00 1.9323563944e-08
+9.3758125000e+00 -2.2006066528e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.9248137635e-09
+-8.4372812500e+00 -2.2905835827e-08
+-7.4997500000e+00 -3.0801972885e-08
+-6.5622187500e+00 -4.3622644244e-07
+-5.6246875000e+00 -5.2750932426e-07
+-4.6871562500e+00 -8.3875368960e-07
+-3.7496250000e+00 -1.1644310727e-06
+-2.8120937500e+00 -1.2812350579e-06
+-1.8745625000e+00 -1.5201748634e-06
+-9.3703125000e-01 -2.3739535793e-06
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 2.3967578571e-06
+1.8755625000e+00 1.5203772178e-06
+2.8130937500e+00 1.2812812860e-06
+3.7506250000e+00 1.1641381714e-06
+4.6881562500e+00 8.3838388388e-07
+5.6256875000e+00 5.2723590386e-07
+6.5632187500e+00 4.3617995352e-07
+7.5007500000e+00 2.9938468057e-08
+8.4382812500e+00 2.2749336344e-08
+9.3758125000e+00 -2.9246804273e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6498802053e-09
+-8.4372812500e+00 -2.4935801676e-08
+-7.4997500000e+00 -4.0541549476e-08
+-6.5622187500e+00 -5.3554886860e-07
+-5.6246875000e+00 -6.4583101796e-07
+-4.6871562500e+00 -1.0154160223e-06
+-3.7496250000e+00 -1.3887899701e-06
+-2.8120937500e+00 -1.4964136731e-06
+-1.8745625000e+00 -1.9197463033e-06
+-9.3703125000e-01 -2.4772359353e-06
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 2.5068359586e-06
+1.8755625000e+00 1.9188483604e-06
+2.8130937500e+00 1.4965063998e-06
+3.7506250000e+00 1.3884841926e-06
+4.6881562500e+00 1.0149815948e-06
+5.6256875000e+00 6.4550381298e-07
+6.5632187500e+00 5.3545776081e-07
+7.5007500000e+00 3.9488954491e-08
+8.4382812500e+00 2.4753587910e-08
+9.3758125000e+00 -3.6497458750e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 4.3768573235e-09
+-8.4372812500e+00 -2.5594286429e-08
+-7.4997500000e+00 -5.1173399981e-08
+-6.5622187500e+00 -6.3100453105e-07
+-5.6246875000e+00 -7.5803030644e-07
+-4.6871562500e+00 -1.1780015586e-06
+-3.7496250000e+00 -1.5791457121e-06
+-2.8120937500e+00 -1.6724944943e-06
+-1.8745625000e+00 -2.3264476810e-06
+-9.3703125000e-01 -2.3832470060e-06
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 2.4181487269e-06
+1.8755625000e+00 2.3235803898e-06
+2.8130937500e+00 1.6725489324e-06
+3.7506250000e+00 1.5789447977e-06
+4.6881562500e+00 1.1775199906e-06
+5.6256875000e+00 7.5765170135e-07
+6.5632187500e+00 6.3085792089e-07
+7.5007500000e+00 4.9941111462e-08
+8.4382812500e+00 2.5391374444e-08
+9.3758125000e+00 -4.3767000718e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 5.1060282609e-09
+-8.4372812500e+00 -2.4936515064e-08
+-7.4997500000e+00 -6.2683695344e-08
+-6.5622187500e+00 -7.2271092955e-07
+-5.6246875000e+00 -8.6368947717e-07
+-4.6871562500e+00 -1.3267736496e-06
+-3.7496250000e+00 -1.7414414874e-06
+-2.8120937500e+00 -1.8106838222e-06
+-1.8745625000e+00 -2.7343069827e-06
+-9.3703125000e-01 -2.1245375534e-06
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 2.1673913575e-06
+1.8755625000e+00 2.7308415888e-06
+2.8130937500e+00 1.8107272460e-06
+3.7506250000e+00 1.7412063109e-06
+4.6881562500e+00 1.3262591958e-06
+5.6256875000e+00 8.6325878921e-07
+6.5632187500e+00 7.2249746184e-07
+7.5007500000e+00 6.1280955270e-08
+8.4382812500e+00 2.4717665713e-08
+9.3758125000e+00 -5.1057646914e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[1]_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[1]_z_[16][16].xg
new file mode 100644
index 0000000..6999486
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[1]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483491e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831374e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471307e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629770e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903350e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913712e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508910e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313167e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655736e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600480e-09
+-2.8120937500e+00 -1.3370370502e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887732e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694712e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292628e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636963e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895154e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_3D_diagonal.xg
new file mode 100644
index 0000000..ef1e4cc
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -5.6624165661e-09
+-6.4945410093e+00 -2.7186708967e-08
+-4.8706892506e+00 -8.6913277683e-08
+-3.2468374920e+00 -1.8438194948e-07
+-1.6229857333e+00 -7.3801864270e-07
+8.6602540378e-04 -5.5939768942e-09
+1.6247177841e+00 7.4259103356e-07
+3.2485695428e+00 1.8439227832e-07
+4.8724213015e+00 8.6827896417e-08
+6.4962730601e+00 2.7148752801e-08
+8.1201248188e+00 6.4028789867e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.3237285688e-09
+-6.4945410093e+00 -5.5177730614e-08
+-4.8706892506e+00 -1.7182286565e-07
+-3.2468374920e+00 -3.9463580593e-07
+-1.6229857333e+00 -1.3471754194e-06
+8.6602540378e-04 -1.0869907231e-08
+1.6247177841e+00 1.3558702558e-06
+3.2485695428e+00 3.9480264389e-07
+4.8724213015e+00 1.7165493135e-07
+6.4962730601e+00 5.5109151944e-08
+8.1201248188e+00 1.0705952745e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1228181779e-08
+-6.4945410093e+00 -8.3809599932e-08
+-4.8706892506e+00 -2.5402111006e-07
+-3.2468374920e+00 -6.2145709645e-07
+-1.6229857333e+00 -1.8282754607e-06
+8.6602540378e-04 -1.5854397701e-08
+1.6247177841e+00 1.8406736986e-06
+3.2485695428e+00 6.2191047426e-07
+4.8724213015e+00 2.5377772922e-07
+6.4962730601e+00 8.3713406114e-08
+8.1201248188e+00 1.3161030834e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.1222132749e-08
+-6.4945410093e+00 -1.1274375292e-07
+-4.8706892506e+00 -3.3280596085e-07
+-3.2468374920e+00 -8.6966217126e-07
+-1.6229857333e+00 -2.1620416561e-06
+8.6602540378e-04 -2.1934903813e-08
+1.6247177841e+00 2.1811055359e-06
+3.2485695428e+00 8.6917340638e-07
+4.8724213015e+00 3.3249461999e-07
+6.4962730601e+00 1.1261836200e-07
+8.1201248188e+00 1.3908533761e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -9.4206136489e-09
+-6.4945410093e+00 -1.4160429751e-07
+-4.8706892506e+00 -4.0769595999e-07
+-3.2468374920e+00 -1.1384451088e-06
+-1.6229857333e+00 -2.3208823605e-06
+8.6602540378e-04 -2.7585648058e-08
+1.6247177841e+00 2.3459377189e-06
+3.2485695428e+00 1.1372305334e-06
+4.8724213015e+00 4.0731894569e-07
+6.4962730601e+00 1.4144875462e-07
+8.1201248188e+00 1.2722750311e-08
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -6.0803225550e-09
+-6.4945410093e+00 -1.7003162652e-07
+-4.8706892506e+00 -4.7871994429e-07
+-3.2468374920e+00 -1.4242947073e-06
+-1.6229857333e+00 -2.3226819993e-06
+8.6602540378e-04 -3.0962514128e-08
+1.6247177841e+00 2.3526671925e-06
+3.2485695428e+00 1.4220705193e-06
+4.8724213015e+00 4.7826917634e-07
+6.4962730601e+00 1.6984417380e-07
+8.1201248188e+00 9.8528751884e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4969399710e-09
+-6.4945410093e+00 -1.9845448638e-07
+-4.8706892506e+00 -5.4541346316e-07
+-3.2468374920e+00 -1.7199709992e-06
+-1.6229857333e+00 -2.1848441575e-06
+8.6602540378e-04 -3.8277323210e-08
+1.6247177841e+00 2.2220057420e-06
+3.2485695428e+00 1.7173124514e-06
+4.8724213015e+00 5.4487757112e-07
+6.4962730601e+00 1.9821887382e-07
+8.1201248188e+00 5.6612717158e-09
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_maximum.xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_maximum.xg
new file mode 100644
index 0000000..54fda0c
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_maximum.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000008709074
+0.7031484375000 0.0000015581997
+1.0547226562500 0.0000020679601
+1.4062968750000 0.0000023967579
+1.7578710937500 0.0000025068360
+2.1094453125000 0.0000024331558
+2.4610195312500 0.0000029204686
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_minimum.xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_minimum.xg
new file mode 100644
index 0000000..64a223a
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_minimum.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0000008652054
+0.7031484375000 -0.0000015474855
+1.0547226562500 -0.0000020528826
+1.4062968750000 -0.0000023739536
+1.7578710937500 -0.0000024772359
+2.1094453125000 -0.0000024355511
+2.4610195312500 -0.0000029234258
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_norm1.xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_norm1.xg
new file mode 100644
index 0000000..c714e58
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_norm1.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000057543
+0.7031484375000 0.0000000112343
+1.0547226562500 0.0000000163899
+1.4062968750000 0.0000000211509
+1.7578710937500 0.0000000254695
+2.1094453125000 0.0000000293402
+2.4610195312500 0.0000000327934
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_norm2.xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_norm2.xg
new file mode 100644
index 0000000..b35b3d8
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_norm2.xg
@@ -0,0 +1,9 @@
+"sz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000000370871
+0.7031484375000 0.0000000705675
+1.0547226562500 0.0000001005489
+1.4062968750000 0.0000001267456
+1.7578710937500 0.0000001492286
+2.1094453125000 0.0000001689804
+2.4610195312500 0.0000001869886
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_x_[16][16].xg
new file mode 100644
index 0000000..0bbd038
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483490e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735253e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471306e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821218e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629770e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387219e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312724e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459790e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913711e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508910e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655737e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600481e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072698e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292629e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636963e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895154e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_y_[16][16].xg
new file mode 100644
index 0000000..bd50f14
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.9316759706e-14
+-8.4372812500e+00 -1.4034269045e-13
+-7.4997500000e+00 -3.9370483491e-11
+-6.5622187500e+00 -1.5771830430e-10
+-5.6246875000e+00 -4.0138831375e-10
+-4.6871562500e+00 -8.5181735252e-10
+-3.7496250000e+00 -1.6018040156e-09
+-2.8120937500e+00 -2.6933557578e-09
+-1.8745625000e+00 -3.9997471307e-09
+-9.3703125000e-01 -5.1380143447e-09
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 -5.1370821219e-09
+1.8755625000e+00 -3.9983260303e-09
+2.8130937500e+00 -2.6920430716e-09
+3.7506250000e+00 -1.6008550980e-09
+4.6881562500e+00 -8.5117629769e-10
+5.6256875000e+00 -4.0103159531e-10
+6.5632187500e+00 -1.5753661742e-10
+7.5007500000e+00 -3.9287293462e-11
+8.4382812500e+00 -1.3996370320e-13
+9.3758125000e+00 -3.9302442240e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.9116429080e-14
+-8.4372812500e+00 -4.4940595930e-13
+-7.4997500000e+00 -7.8894228370e-11
+-6.5622187500e+00 -3.1030176202e-10
+-5.6246875000e+00 -7.8669387220e-10
+-4.6871562500e+00 -1.6645351907e-09
+-3.7496250000e+00 -3.1232939281e-09
+-2.8120937500e+00 -5.2440194690e-09
+-1.8745625000e+00 -7.7809312725e-09
+-9.3703125000e-01 -9.9936211103e-09
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 -9.9918200697e-09
+1.8755625000e+00 -7.7781903351e-09
+2.8130937500e+00 -5.2414591367e-09
+3.7506250000e+00 -3.1214459791e-09
+4.6881562500e+00 -1.6632857310e-09
+5.6256875000e+00 -7.8599680660e-10
+6.5632187500e+00 -3.0994593419e-10
+7.5007500000e+00 -7.8727913711e-11
+8.4382812500e+00 -4.4793683047e-13
+9.3758125000e+00 -7.9085725180e-14
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1956511970e-13
+-8.4372812500e+00 -9.2435993352e-13
+-7.4997500000e+00 -1.1857463205e-10
+-6.5622187500e+00 -4.5799299988e-10
+-5.6246875000e+00 -1.1568851945e-09
+-4.6871562500e+00 -2.4407586782e-09
+-3.7496250000e+00 -4.5702057866e-09
+-2.8120937500e+00 -7.6627782045e-09
+-1.8745625000e+00 -1.1360792153e-08
+-9.3703125000e-01 -1.4589508910e-08
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 -1.4586896402e-08
+1.8755625000e+00 -1.1356826039e-08
+2.8130937500e+00 -7.6590313166e-09
+3.7506250000e+00 -4.5675026542e-09
+4.6881562500e+00 -2.4389310514e-09
+5.6256875000e+00 -1.1558628013e-09
+6.5632187500e+00 -4.5743759384e-10
+7.5007500000e+00 -1.1832529419e-10
+8.4382812500e+00 -9.2110000195e-13
+9.3758125000e+00 -1.1951460122e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.6082635694e-13
+-8.4372812500e+00 -1.5627351612e-12
+-7.4997500000e+00 -1.5851259753e-10
+-6.5622187500e+00 -6.3996312142e-10
+-5.6246875000e+00 -1.6108958520e-09
+-4.6871562500e+00 -3.3899820565e-09
+-3.7496250000e+00 -6.3370655737e-09
+-2.8120937500e+00 -1.0615531882e-08
+-1.8745625000e+00 -1.5728945825e-08
+-9.3703125000e-01 -2.0205270273e-08
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 -2.0201668010e-08
+1.8755625000e+00 -1.5723479420e-08
+2.8130937500e+00 -1.0610334948e-08
+3.7506250000e+00 -6.3332909352e-09
+4.6881562500e+00 -3.3874650035e-09
+5.6256875000e+00 -1.6094793206e-09
+6.5632187500e+00 -6.3916100794e-10
+7.5007500000e+00 -1.5818035775e-10
+8.4382812500e+00 -1.5569929186e-12
+9.3758125000e+00 -1.6075191012e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.0332981330e-13
+-8.4372812500e+00 -2.3652517665e-12
+-7.4997500000e+00 -2.0003760388e-10
+-6.5622187500e+00 -8.1478415853e-10
+-5.6246875000e+00 -2.0418933591e-09
+-4.6871562500e+00 -4.2839075884e-09
+-3.7496250000e+00 -7.9915600481e-09
+-2.8120937500e+00 -1.3370370501e-08
+-1.8745625000e+00 -1.9799479771e-08
+-9.3703125000e-01 -2.5434713540e-08
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 -2.5430199979e-08
+1.8755625000e+00 -1.9792637429e-08
+2.8130937500e+00 -1.3363833231e-08
+3.7506250000e+00 -7.9867893497e-09
+4.6881562500e+00 -4.2807472152e-09
+5.6256875000e+00 -2.0401072697e-09
+6.5632187500e+00 -8.1378887733e-10
+7.5007500000e+00 -1.9954449303e-10
+8.4382812500e+00 -2.3562485001e-12
+9.3758125000e+00 -2.0322248836e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.4681583222e-13
+-8.4372812500e+00 -3.3393633724e-12
+-7.4997500000e+00 -2.4981314481e-10
+-6.5622187500e+00 -9.6504694713e-10
+-5.6246875000e+00 -2.4510626676e-09
+-4.6871562500e+00 -5.1269897462e-09
+-3.7496250000e+00 -8.9883691452e-09
+-2.8120937500e+00 -1.5018280498e-08
+-1.8745625000e+00 -2.2092271859e-08
+-9.3703125000e-01 -2.8649520939e-08
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 -2.8644496572e-08
+1.8755625000e+00 -2.2084709916e-08
+2.8130937500e+00 -1.5010970033e-08
+3.7506250000e+00 -8.9827599973e-09
+4.6881562500e+00 -5.1232292628e-09
+5.6256875000e+00 -2.4489324147e-09
+6.5632187500e+00 -9.6393514476e-10
+7.5007500000e+00 -2.4921130818e-10
+8.4382812500e+00 -3.3262961444e-12
+9.3758125000e+00 -2.4666944368e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -2.9127939698e-13
+-8.4372812500e+00 -4.4914727609e-12
+-7.4997500000e+00 -2.9932344497e-10
+-6.5622187500e+00 -1.0905553103e-09
+-5.6246875000e+00 -2.8393372652e-09
+-4.6871562500e+00 -5.5960786001e-09
+-3.7496250000e+00 -1.1087022911e-08
+-2.8120937500e+00 -1.8547032806e-08
+-1.8745625000e+00 -2.7351351463e-08
+-9.3703125000e-01 -3.5423636962e-08
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 -3.5417412489e-08
+1.8755625000e+00 -2.7341967030e-08
+2.8130937500e+00 -1.8537989611e-08
+3.7506250000e+00 -1.1080127669e-08
+4.6881562500e+00 -5.5921895153e-09
+5.6256875000e+00 -2.8368870996e-09
+6.5632187500e+00 -1.0893631412e-09
+7.5007500000e+00 -2.9862383859e-10
+8.4382812500e+00 -4.4735716791e-12
+9.3758125000e+00 -2.9109205926e-13
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/scon[2]_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/scon[2]_z_[16][16].xg
new file mode 100644
index 0000000..e7cef56
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/scon[2]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.4394114344e-10
+-8.4372812500e+00 -8.0471293488e-09
+-7.4997500000e+00 -6.5837627581e-09
+-6.5622187500e+00 -1.1476470878e-07
+-5.6246875000e+00 -1.3958258312e-07
+-4.6871562500e+00 -2.2909035772e-07
+-3.7496250000e+00 -3.2779870171e-07
+-2.8120937500e+00 -3.7920561345e-07
+-1.8745625000e+00 -3.6344946357e-07
+-9.3703125000e-01 -8.6520544763e-07
+5.0000000000e-04 -5.5939768942e-09
+9.3803125000e-01 8.7090737324e-07
+1.8755625000e+00 3.6373466106e-07
+2.8130937500e+00 3.7919356956e-07
+3.7506250000e+00 3.2770481284e-07
+4.6881562500e+00 2.2898325156e-07
+5.6256875000e+00 1.3950276523e-07
+6.5632187500e+00 1.1477692600e-07
+7.5007500000e+00 6.3504101066e-09
+8.4382812500e+00 7.9996136636e-09
+9.3758125000e+00 -7.4382425025e-10
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.4750548293e-09
+-8.4372812500e+00 -1.4512926137e-08
+-7.4997500000e+00 -1.3890818835e-08
+-6.5622187500e+00 -2.2578749039e-07
+-5.6246875000e+00 -2.7410775148e-07
+-4.6871562500e+00 -4.4533108323e-07
+-3.7496250000e+00 -6.3233826067e-07
+-2.8120937500e+00 -7.2086224535e-07
+-1.8745625000e+00 -7.4796568628e-07
+-9.3703125000e-01 -1.5474855303e-06
+5.0000000000e-04 -1.0869907231e-08
+9.3803125000e-01 1.5581996581e-06
+1.8755625000e+00 7.4884201963e-07
+2.8130937500e+00 7.2084729264e-07
+3.7506250000e+00 6.3216230408e-07
+4.6881562500e+00 4.4512606546e-07
+5.6256875000e+00 2.7395675128e-07
+6.5632187500e+00 2.2579468018e-07
+7.5007500000e+00 1.3435924470e-08
+8.4382812500e+00 1.4423620774e-08
+9.3758125000e+00 -1.4749137053e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.2007511325e-09
+-8.4372812500e+00 -1.9449150813e-08
+-7.4997500000e+00 -2.1939453790e-08
+-6.5622187500e+00 -3.3296705848e-07
+-5.6246875000e+00 -4.0348510540e-07
+-4.6871562500e+00 -6.4862303633e-07
+-3.7496250000e+00 -9.1172397007e-07
+-2.8120937500e+00 -1.0222434896e-06
+-1.8745625000e+00 -1.1347867126e-06
+-9.3703125000e-01 -2.0528826278e-06
+5.0000000000e-04 -1.5854397701e-08
+9.3803125000e-01 2.0679601137e-06
+1.8755625000e+00 1.1365026528e-06
+2.8130937500e+00 1.0222499097e-06
+3.7506250000e+00 9.1148069564e-07
+4.6881562500e+00 6.4833023778e-07
+5.6256875000e+00 4.0326999134e-07
+6.5632187500e+00 3.3295394121e-07
+7.5007500000e+00 2.1274775226e-08
+8.4382812500e+00 1.9323563944e-08
+9.3758125000e+00 -2.2006066528e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.9248137635e-09
+-8.4372812500e+00 -2.2905835827e-08
+-7.4997500000e+00 -3.0801972885e-08
+-6.5622187500e+00 -4.3622644244e-07
+-5.6246875000e+00 -5.2750932426e-07
+-4.6871562500e+00 -8.3875368960e-07
+-3.7496250000e+00 -1.1644310727e-06
+-2.8120937500e+00 -1.2812350579e-06
+-1.8745625000e+00 -1.5201748634e-06
+-9.3703125000e-01 -2.3739535793e-06
+5.0000000000e-04 -2.1934903813e-08
+9.3803125000e-01 2.3967578571e-06
+1.8755625000e+00 1.5203772178e-06
+2.8130937500e+00 1.2812812860e-06
+3.7506250000e+00 1.1641381714e-06
+4.6881562500e+00 8.3838388388e-07
+5.6256875000e+00 5.2723590386e-07
+6.5632187500e+00 4.3617995352e-07
+7.5007500000e+00 2.9938468057e-08
+8.4382812500e+00 2.2749336344e-08
+9.3758125000e+00 -2.9246804273e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6498802053e-09
+-8.4372812500e+00 -2.4935801676e-08
+-7.4997500000e+00 -4.0541549476e-08
+-6.5622187500e+00 -5.3554886860e-07
+-5.6246875000e+00 -6.4583101796e-07
+-4.6871562500e+00 -1.0154160223e-06
+-3.7496250000e+00 -1.3887899701e-06
+-2.8120937500e+00 -1.4964136731e-06
+-1.8745625000e+00 -1.9197463033e-06
+-9.3703125000e-01 -2.4772359353e-06
+5.0000000000e-04 -2.7585648058e-08
+9.3803125000e-01 2.5068359586e-06
+1.8755625000e+00 1.9188483604e-06
+2.8130937500e+00 1.4965063998e-06
+3.7506250000e+00 1.3884841926e-06
+4.6881562500e+00 1.0149815948e-06
+5.6256875000e+00 6.4550381298e-07
+6.5632187500e+00 5.3545776081e-07
+7.5007500000e+00 3.9488954491e-08
+8.4382812500e+00 2.4753587910e-08
+9.3758125000e+00 -3.6497458750e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 4.3768573235e-09
+-8.4372812500e+00 -2.5594286429e-08
+-7.4997500000e+00 -5.1173399981e-08
+-6.5622187500e+00 -6.3100453105e-07
+-5.6246875000e+00 -7.5803030644e-07
+-4.6871562500e+00 -1.1780015586e-06
+-3.7496250000e+00 -1.5791457121e-06
+-2.8120937500e+00 -1.6724944943e-06
+-1.8745625000e+00 -2.3264476810e-06
+-9.3703125000e-01 -2.3832470060e-06
+5.0000000000e-04 -3.0962514128e-08
+9.3803125000e-01 2.4181487269e-06
+1.8755625000e+00 2.3235803898e-06
+2.8130937500e+00 1.6725489324e-06
+3.7506250000e+00 1.5789447977e-06
+4.6881562500e+00 1.1775199906e-06
+5.6256875000e+00 7.5765170135e-07
+6.5632187500e+00 6.3085792089e-07
+7.5007500000e+00 4.9941111462e-08
+8.4382812500e+00 2.5391374444e-08
+9.3758125000e+00 -4.3767000718e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 5.1060282609e-09
+-8.4372812500e+00 -2.4936515064e-08
+-7.4997500000e+00 -6.2683695344e-08
+-6.5622187500e+00 -7.2271092955e-07
+-5.6246875000e+00 -8.6368947717e-07
+-4.6871562500e+00 -1.3267736496e-06
+-3.7496250000e+00 -1.7414414874e-06
+-2.8120937500e+00 -1.8106838222e-06
+-1.8745625000e+00 -2.7343069827e-06
+-9.3703125000e-01 -2.1245375534e-06
+5.0000000000e-04 -3.8277323210e-08
+9.3803125000e-01 2.1673913575e-06
+1.8755625000e+00 2.7308415888e-06
+2.8130937500e+00 1.8107272460e-06
+3.7506250000e+00 1.7412063109e-06
+4.6881562500e+00 1.3262591958e-06
+5.6256875000e+00 8.6325878921e-07
+6.5632187500e+00 7.2249746184e-07
+7.5007500000e+00 6.1280955270e-08
+8.4382812500e+00 2.4717665713e-08
+9.3758125000e+00 -5.1057646914e-09
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/tau_3D_diagonal.xg
new file mode 100644
index 0000000..ab754c7
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.1846968650e-10
+-2.4356910355e+01 1.1971859412e-10
+-2.2733058596e+01 1.2115933962e-10
+-2.1109206837e+01 1.2283967308e-10
+-1.9485355079e+01 1.2482457570e-10
+-1.7861503320e+01 1.2720477609e-10
+-1.6237651561e+01 1.3011085177e-10
+-1.4613799803e+01 1.3373769488e-10
+-1.2989948044e+01 1.3838942039e-10
+-1.1366096285e+01 1.4456772804e-10
+-9.7422445267e+00 1.5316174310e-10
+-8.1183927680e+00 8.5672786440e-11
+-6.4945410093e+00 8.3992008728e-06
+-4.8706892506e+00 5.3879035310e-05
+-3.2468374920e+00 1.7588135325e-04
+-1.6229857333e+00 3.6689128665e-04
+8.6602540378e-04 4.7452197913e-04
+1.6247177841e+00 3.6669283379e-04
+3.2485695428e+00 1.7570221661e-04
+4.8724213015e+00 5.3796500439e-05
+6.4962730601e+00 8.3768598762e-06
+8.1201248188e+00 4.7387983507e-11
+9.7439765775e+00 1.5315079186e-10
+1.1367828336e+01 1.4456006019e-10
+1.2991680095e+01 1.3838375949e-10
+1.4615531854e+01 1.3373334770e-10
+1.6239383612e+01 1.3010741030e-10
+1.7863235371e+01 1.2720198494e-10
+1.9487087130e+01 1.2482226698e-10
+2.1110938888e+01 1.2283773199e-10
+2.2734790647e+01 1.2115768502e-10
+2.4358642406e+01 1.1971716708e-10
+2.5982494164e+01 1.1846844317e-10
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.1833719802e-10
+-2.4356910355e+01 1.1971439056e-10
+-2.2733058596e+01 1.2115384865e-10
+-2.1109206837e+01 1.2283535872e-10
+-1.9485355079e+01 1.2482213470e-10
+-1.7861503320e+01 1.2720542605e-10
+-1.6237651561e+01 1.3011682671e-10
+-1.4613799803e+01 1.3375333938e-10
+-1.2989948044e+01 1.3842379135e-10
+-1.1366096285e+01 1.4464141752e-10
+-9.7422445267e+00 1.5332708863e-10
+-8.1183927680e+00 2.5220706387e-10
+-6.4945410093e+00 8.3989440697e-06
+-4.8706892506e+00 5.3878695288e-05
+-3.2468374920e+00 1.7588566846e-04
+-1.6229857333e+00 3.6746524330e-04
+8.6602540378e-04 4.7304384870e-04
+1.6247177841e+00 3.6726876957e-04
+3.2485695428e+00 1.7570656901e-04
+4.8724213015e+00 5.3796162129e-05
+6.4962730601e+00 8.3766031341e-06
+8.1201248188e+00 1.9520868254e-10
+9.7439765775e+00 1.5331598418e-10
+1.1367828336e+01 1.4463368916e-10
+1.2991680095e+01 1.3841810216e-10
+1.4615531854e+01 1.3374897994e-10
+1.6239383612e+01 1.3011337884e-10
+1.7863235371e+01 1.2720263041e-10
+1.9487087130e+01 1.2481982319e-10
+2.1110938888e+01 1.2283341632e-10
+2.2734790647e+01 1.2115219287e-10
+2.4358642406e+01 1.1971296214e-10
+2.5982494164e+01 1.1833599935e-10
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.1830510359e-10
+-2.4356910355e+01 1.1970310601e-10
+-2.2733058596e+01 1.2113783873e-10
+-2.1109206837e+01 1.2282241009e-10
+-1.9485355079e+01 1.2481480048e-10
+-1.7861503320e+01 1.2720735417e-10
+-1.6237651561e+01 1.3013470945e-10
+-1.4613799803e+01 1.3380017697e-10
+-1.2989948044e+01 1.3852666422e-10
+-1.1366096285e+01 1.4486182900e-10
+-9.7422445267e+00 1.5382104579e-10
+-8.1183927680e+00 4.8298392825e-10
+-6.4945410093e+00 8.3981608035e-06
+-4.8706892506e+00 5.3877883697e-05
+-3.2468374920e+00 1.7589737712e-04
+-1.6229857333e+00 3.6801946037e-04
+8.6602540378e-04 4.7155196188e-04
+1.6247177841e+00 3.6782486159e-04
+3.2485695428e+00 1.7571838514e-04
+4.8724213015e+00 5.3795356521e-05
+6.4962730601e+00 8.3758211430e-06
+8.1201248188e+00 4.0799993702e-10
+9.7439765775e+00 1.5380949047e-10
+1.1367828336e+01 1.4485391859e-10
+1.2991680095e+01 1.3852089140e-10
+1.4615531854e+01 1.3379577709e-10
+1.6239383612e+01 1.3013123964e-10
+1.7863235371e+01 1.2720454617e-10
+1.9487087130e+01 1.2481248131e-10
+2.1110938888e+01 1.2282046320e-10
+2.2734790647e+01 1.2113617960e-10
+2.4358642406e+01 1.1970167322e-10
+2.5982494164e+01 1.1830390894e-10
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.1829144901e-10
+-2.4356910355e+01 1.1968499481e-10
+-2.2733058596e+01 1.2111302774e-10
+-2.1109206837e+01 1.2280096605e-10
+-1.9485355079e+01 1.2480255308e-10
+-1.7861503320e+01 1.2721051848e-10
+-1.6237651561e+01 1.3016441229e-10
+-1.4613799803e+01 1.3387801159e-10
+-1.2989948044e+01 1.3869755578e-10
+-1.1366096285e+01 1.4522763755e-10
+-9.7422445267e+00 1.5465205481e-10
+-8.1183927680e+00 7.5929117397e-10
+-6.4945410093e+00 8.3968255380e-06
+-4.8706892506e+00 5.3877018754e-05
+-3.2468374920e+00 1.7591408302e-04
+-1.6229857333e+00 3.6854852288e-04
+8.6602540378e-04 4.7006762136e-04
+1.6247177841e+00 3.6835568475e-04
+3.2485695428e+00 1.7573526086e-04
+4.8724213015e+00 5.3794503388e-05
+6.4962730601e+00 8.3744893274e-06
+8.1201248188e+00 6.6424376863e-10
+9.7439765775e+00 1.5463971749e-10
+1.1367828336e+01 1.4521942448e-10
+1.2991680095e+01 1.3869164456e-10
+1.4615531854e+01 1.3387354164e-10
+1.6239383612e+01 1.3016090477e-10
+1.7863235371e+01 1.2720768966e-10
+1.9487087130e+01 1.2480022162e-10
+2.1110938888e+01 1.2279901138e-10
+2.2734790647e+01 1.2111136268e-10
+2.4358642406e+01 1.1968355468e-10
+2.5982494164e+01 1.1829024662e-10
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.1827533184e-10
+-2.4356910355e+01 1.1966000872e-10
+-2.2733058596e+01 1.2108121287e-10
+-2.1109206837e+01 1.2277163800e-10
+-1.9485355079e+01 1.2478540796e-10
+-1.7861503320e+01 1.2721484938e-10
+-1.6237651561e+01 1.3020578662e-10
+-1.4613799803e+01 1.3398651063e-10
+-1.2989948044e+01 1.3893565124e-10
+-1.1366096285e+01 1.4573660609e-10
+-9.7422445267e+00 1.5589719857e-10
+-8.1183927680e+00 1.0698978985e-09
+-6.4945410093e+00 8.3948906641e-06
+-4.8706892506e+00 5.3876567255e-05
+-3.2468374920e+00 1.7593321394e-04
+-1.6229857333e+00 3.6905432154e-04
+8.6602540378e-04 4.6859984924e-04
+1.6247177841e+00 3.6886206838e-04
+3.2485695428e+00 1.7575465288e-04
+4.8724213015e+00 5.3794059620e-05
+6.4962730601e+00 8.3725608850e-06
+8.1201248188e+00 9.5858107192e-10
+9.7439765775e+00 1.5588347219e-10
+1.1367828336e+01 1.4572797283e-10
+1.2991680095e+01 1.3892954716e-10
+1.4615531854e+01 1.3398194277e-10
+1.6239383612e+01 1.3020222704e-10
+1.7863235371e+01 1.2721199082e-10
+1.9487087130e+01 1.2478305909e-10
+2.1110938888e+01 1.2276967207e-10
+2.2734790647e+01 1.2107953876e-10
+2.4358642406e+01 1.1965855843e-10
+2.5982494164e+01 1.1827411788e-10
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.1825308768e-10
+-2.4356910355e+01 1.1962847144e-10
+-2.2733058596e+01 1.2104390471e-10
+-2.1109206837e+01 1.2273566802e-10
+-1.9485355079e+01 1.2476357742e-10
+-1.7861503320e+01 1.2722026754e-10
+-1.6237651561e+01 1.3025862307e-10
+-1.4613799803e+01 1.3412520176e-10
+-1.2989948044e+01 1.3923979161e-10
+-1.1366096285e+01 1.4638573252e-10
+-9.7422445267e+00 1.5762694030e-10
+-8.1183927680e+00 1.4090269755e-09
+-6.4945410093e+00 8.3922527180e-06
+-4.8706892506e+00 5.3877810428e-05
+-3.2468374920e+00 1.7595154108e-04
+-1.6229857333e+00 3.6954135979e-04
+8.6602540378e-04 4.6713903951e-04
+1.6247177841e+00 3.6934969694e-04
+3.2485695428e+00 1.7577336649e-04
+4.8724213015e+00 5.3795288076e-05
+6.4962730601e+00 8.3699348176e-06
+8.1201248188e+00 1.2809113933e-09
+9.7439765775e+00 1.5761094823e-10
+1.1367828336e+01 1.4637656543e-10
+1.2991680095e+01 1.3923344132e-10
+1.4615531854e+01 1.3412051018e-10
+1.6239383612e+01 1.3025499739e-10
+1.7863235371e+01 1.2721737118e-10
+1.9487087130e+01 1.2476120571e-10
+2.1110938888e+01 1.2273368676e-10
+2.2734790647e+01 1.2104221797e-10
+2.4358642406e+01 1.1962700822e-10
+2.5982494164e+01 1.1825185976e-10
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.1822404491e-10
+-2.4356910355e+01 1.1959094772e-10
+-2.2733058596e+01 1.2100210551e-10
+-2.1109206837e+01 1.2269479864e-10
+-1.9485355079e+01 1.2473770516e-10
+-1.7861503320e+01 1.2722676429e-10
+-1.6237651561e+01 1.3032265740e-10
+-1.4613799803e+01 1.3429346760e-10
+-1.2989948044e+01 1.3960845569e-10
+-1.1366096285e+01 1.4717496356e-10
+-9.7422445267e+00 1.5973367737e-10
+-8.1183927680e+00 1.7750278919e-09
+-6.4945410093e+00 8.3887232914e-06
+-4.8706892506e+00 5.3881947385e-05
+-3.2468374920e+00 1.7596753134e-04
+-1.6229857333e+00 3.6997396883e-04
+8.6602540378e-04 4.6573266764e-04
+1.6247177841e+00 3.6978548908e-04
+3.2485695428e+00 1.7578933290e-04
+4.8724213015e+00 5.3799408611e-05
+6.4962730601e+00 8.3664251073e-06
+8.1201248188e+00 1.6286228447e-09
+9.7439765775e+00 1.5971474804e-10
+1.1367828336e+01 1.4716513272e-10
+1.2991680095e+01 1.3960180794e-10
+1.4615531854e+01 1.3428862712e-10
+1.6239383612e+01 1.3031895127e-10
+1.7863235371e+01 1.2722382220e-10
+1.9487087130e+01 1.2473530528e-10
+2.1110938888e+01 1.2269279772e-10
+2.2734790647e+01 1.2100040217e-10
+2.4358642406e+01 1.1958946873e-10
+2.5982494164e+01 1.1822280086e-10
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.1818845142e-10
+-2.4356910355e+01 1.1954806443e-10
+-2.2733058596e+01 1.2095641417e-10
+-2.1109206837e+01 1.2265092629e-10
+-1.9485355079e+01 1.2470905336e-10
+-1.7861503320e+01 1.2723457510e-10
+-1.6237651561e+01 1.3039760805e-10
+-1.4613799803e+01 1.3449054064e-10
+-1.2989948044e+01 1.4003973910e-10
+-1.1366096285e+01 1.4811953072e-10
+-9.7422445267e+00 1.6195815768e-10
+-8.1183927680e+00 2.1727729002e-09
+-6.4945410093e+00 8.3843994451e-06
+-4.8706892506e+00 5.3887733993e-05
+-3.2468374920e+00 1.7598875950e-04
+-1.6229857333e+00 3.7032931235e-04
+8.6602540378e-04 4.6445880630e-04
+1.6247177841e+00 3.7013998586e-04
+3.2485695428e+00 1.7581088202e-04
+4.8724213015e+00 5.3805169515e-05
+6.4962730601e+00 8.3621208949e-06
+8.1201248188e+00 2.0042645443e-09
+9.7439765775e+00 1.6193621319e-10
+1.1367828336e+01 1.4810880904e-10
+1.2991680095e+01 1.4003274515e-10
+1.4615531854e+01 1.3448552588e-10
+1.6239383612e+01 1.3039380724e-10
+1.7863235371e+01 1.2723157877e-10
+1.9487087130e+01 1.2470661970e-10
+2.1110938888e+01 1.2264890113e-10
+2.2734790647e+01 1.2095469016e-10
+2.4358642406e+01 1.1954656674e-10
+2.5982494164e+01 1.1818718901e-10
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_maximum.xg b/test/whisky_test_tov_ppm_no_trp/tau_maximum.xg
new file mode 100644
index 0000000..9d0efd5
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_maximum.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0004745219791
+0.3515742187500 0.0004730438487
+0.7031484375000 0.0004715519619
+1.0547226562500 0.0004700676214
+1.4062968750000 0.0004685998492
+1.7578710937500 0.0004671390395
+2.1094453125000 0.0004657326676
+2.4610195312500 0.0004644588063
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_minimum.xg b/test/whisky_test_tov_ppm_no_trp/tau_minimum.xg
new file mode 100644
index 0000000..141a6de
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_minimum.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0000000000474
+0.3515742187500 0.0000000000028
+0.7031484375000 0.0000000000029
+1.0547226562500 0.0000000000028
+1.4062968750000 0.0000000000066
+1.7578710937500 0.0000000000128
+2.1094453125000 0.0000000000215
+2.4610195312500 0.0000000000208
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_norm1.xg b/test/whisky_test_tov_ppm_no_trp/tau_norm1.xg
new file mode 100644
index 0000000..e2d8305
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_norm1.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0000030683255
+0.3515742187500 0.0000030681567
+0.7031484375000 0.0000030679692
+1.0547226562500 0.0000030677568
+1.4062968750000 0.0000030675186
+1.7578710937500 0.0000030672538
+2.1094453125000 0.0000030669635
+2.4610195312500 0.0000030666451
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_norm2.xg b/test/whisky_test_tov_ppm_no_trp/tau_norm2.xg
new file mode 100644
index 0000000..3176ed1
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_norm2.xg
@@ -0,0 +1,9 @@
+"tau v time
+0.0000000000000 0.0000227707704
+0.3515742187500 0.0000227688544
+0.7031484375000 0.0000227665085
+1.0547226562500 0.0000227637560
+1.4062968750000 0.0000227605996
+1.7578710937500 0.0000227570469
+2.1094453125000 0.0000227531556
+2.4610195312500 0.0000227488936
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/tau_x_[16][16].xg
new file mode 100644
index 0000000..1aed78b
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3279599854e-10
+-1.4062468750e+01 1.3518235131e-10
+-1.3124937500e+01 1.3795327726e-10
+-1.2187406250e+01 1.4120917242e-10
+-1.1249875000e+01 1.4508843005e-10
+-1.0312343750e+01 1.4978714384e-10
+-9.3748125000e+00 1.5559237884e-10
+-8.4372812500e+00 1.6294121438e-10
+-7.4997500000e+00 8.9839564585e-07
+-6.5622187500e+00 7.5557289473e-06
+-5.6246875000e+00 2.5699640320e-05
+-4.6871562500e+00 6.3145110135e-05
+-3.7496250000e+00 1.2815733614e-04
+-2.8120937500e+00 2.2364429501e-04
+-1.8745625000e+00 3.3724878691e-04
+-9.3703125000e-01 4.3513392679e-04
+5.0000000000e-04 4.7452197913e-04
+9.3803125000e-01 4.3505385541e-04
+1.8755625000e+00 3.3712826756e-04
+2.8130937500e+00 2.2352869221e-04
+3.7506250000e+00 1.2807130716e-04
+4.6881562500e+00 6.3091774019e-05
+5.6256875000e+00 2.5671553073e-05
+6.5632187500e+00 7.5437128711e-06
+7.5007500000e+00 8.9523611683e-07
+8.4382812500e+00 1.6293233781e-10
+9.3758125000e+00 1.5558546005e-10
+1.0313343750e+01 1.4978160416e-10
+1.1250875000e+01 1.4508389717e-10
+1.2188406250e+01 1.4120539633e-10
+1.3125937500e+01 1.3795008403e-10
+1.4063468750e+01 1.3517961629e-10
+1.5001000000e+01 1.3279363012e-10
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.2942493273e-10
+-1.4062468750e+01 1.3516773023e-10
+-1.3124937500e+01 1.3788588778e-10
+-1.2187406250e+01 1.4111630620e-10
+-1.1249875000e+01 1.4495569085e-10
+-1.0312343750e+01 1.9407253582e-10
+-9.3748125000e+00 2.8890473236e-12
+-8.4372812500e+00 6.6699533528e-11
+-7.4997500000e+00 8.9268807768e-07
+-6.5622187500e+00 7.5428395207e-06
+-5.6246875000e+00 2.5656086436e-05
+-4.6871562500e+00 6.3035693756e-05
+-3.7496250000e+00 1.2792421890e-04
+-2.8120937500e+00 2.2321567972e-04
+-1.8745625000e+00 3.3657820854e-04
+-9.3703125000e-01 4.3446994170e-04
+5.0000000000e-04 4.7304384870e-04
+9.3803125000e-01 4.3439094177e-04
+1.8755625000e+00 3.3645798522e-04
+2.8130937500e+00 2.2310032254e-04
+3.7506250000e+00 1.2783835922e-04
+4.6881562500e+00 6.2982454915e-05
+5.6256875000e+00 2.5628046695e-05
+6.5632187500e+00 7.5308440248e-06
+7.5007500000e+00 8.8955525773e-07
+8.4382812500e+00 6.6127467354e-11
+9.3758125000e+00 2.8886379037e-12
+1.0313343750e+01 1.9406317930e-10
+1.1250875000e+01 1.4495121118e-10
+1.2188406250e+01 1.4111256367e-10
+1.3125937500e+01 1.3788271636e-10
+1.4063468750e+01 1.3516500009e-10
+1.5001000000e+01 1.2942354081e-10
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.2842202401e-10
+-1.4062468750e+01 1.3514640225e-10
+-1.3124937500e+01 1.3769152090e-10
+-1.2187406250e+01 1.4083823193e-10
+-1.1249875000e+01 1.4455839913e-10
+-1.0312343750e+01 3.2554021079e-10
+-9.3748125000e+00 6.8216014899e-12
+-8.4372812500e+00 1.4100984300e-10
+-7.4997500000e+00 8.8718322255e-07
+-6.5622187500e+00 7.5305695264e-06
+-5.6246875000e+00 2.5612296833e-05
+-4.6871562500e+00 6.2926092984e-05
+-3.7496250000e+00 1.2768893014e-04
+-2.8120937500e+00 2.2278104342e-04
+-1.8745625000e+00 3.3590508344e-04
+-9.3703125000e-01 4.3378613081e-04
+5.0000000000e-04 4.7155196188e-04
+9.3803125000e-01 4.3370815087e-04
+1.8755625000e+00 3.3578521215e-04
+2.8130937500e+00 2.2266594206e-04
+3.7506250000e+00 1.2760324249e-04
+4.6881562500e+00 6.2872952391e-05
+5.6256875000e+00 2.5584304337e-05
+6.5632187500e+00 7.5185961748e-06
+7.5007500000e+00 8.8407593636e-07
+8.4382812500e+00 1.3979959684e-10
+9.3758125000e+00 6.8209836019e-12
+1.0313343750e+01 3.2552554497e-10
+1.1250875000e+01 1.4455407873e-10
+1.2188406250e+01 1.4083458962e-10
+1.3125937500e+01 1.3768841289e-10
+1.4063468750e+01 1.3514368079e-10
+1.5001000000e+01 1.2842092103e-10
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.2817928626e-10
+-1.4062468750e+01 1.3512139728e-10
+-1.3124937500e+01 1.3739861207e-10
+-1.2187406250e+01 1.4037813741e-10
+-1.1249875000e+01 1.4389904608e-10
+-1.0312343750e+01 5.4219409110e-10
+-9.3748125000e+00 1.3215324393e-11
+-8.4372812500e+00 2.0104626407e-10
+-7.4997500000e+00 8.8188425656e-07
+-6.5622187500e+00 7.5189783442e-06
+-5.6246875000e+00 2.5568578993e-05
+-4.6871562500e+00 6.2817337636e-05
+-3.7496250000e+00 1.2745402447e-04
+-2.8120937500e+00 2.2234673647e-04
+-1.8745625000e+00 3.3523666513e-04
+-9.3703125000e-01 4.3309275137e-04
+5.0000000000e-04 4.7006762136e-04
+9.3803125000e-01 4.3301573216e-04
+1.8755625000e+00 3.3511718972e-04
+2.8130937500e+00 2.2223190166e-04
+3.7506250000e+00 1.2736850912e-04
+4.6881562500e+00 6.2764295080e-05
+5.6256875000e+00 2.5540633215e-05
+6.5632187500e+00 7.5070284220e-06
+7.5007500000e+00 8.7880132794e-07
+8.4382812500e+00 1.9928668020e-10
+9.3758125000e+00 1.3215103427e-11
+1.0313343750e+01 5.4218376980e-10
+1.1250875000e+01 1.4389498717e-10
+1.2188406250e+01 1.4037466093e-10
+1.3125937500e+01 1.3739560167e-10
+1.4063468750e+01 1.3511868763e-10
+1.5001000000e+01 1.2817825540e-10
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.2820084374e-10
+-1.4062468750e+01 1.3506911945e-10
+-1.3124937500e+01 1.3703595591e-10
+-1.2187406250e+01 1.3974674479e-10
+-1.1249875000e+01 1.4298739186e-10
+-1.0312343750e+01 8.4210878856e-10
+-9.3748125000e+00 2.1985637132e-11
+-8.4372812500e+00 2.4804701320e-10
+-7.4997500000e+00 8.7679689253e-07
+-6.5622187500e+00 7.5080255654e-06
+-5.6246875000e+00 2.5524479507e-05
+-4.6871562500e+00 6.2708083278e-05
+-3.7496250000e+00 1.2721711134e-04
+-2.8120937500e+00 2.2191135744e-04
+-1.8745625000e+00 3.3457127693e-04
+-9.3703125000e-01 4.3239364416e-04
+5.0000000000e-04 4.6859984924e-04
+9.3803125000e-01 4.3231710081e-04
+1.8755625000e+00 3.3445225694e-04
+2.8130937500e+00 2.2179678078e-04
+3.7506250000e+00 1.2713177054e-04
+4.6881562500e+00 6.2655139667e-05
+5.6256875000e+00 2.5496580778e-05
+6.5632187500e+00 7.4961004297e-06
+7.5007500000e+00 8.7373713454e-07
+8.4382812500e+00 2.4582002741e-10
+9.3758125000e+00 2.1986903508e-11
+1.0313343750e+01 8.4212106325e-10
+1.1250875000e+01 1.4298366613e-10
+1.2188406250e+01 1.3974349593e-10
+1.3125937500e+01 1.3703306959e-10
+1.4063468750e+01 1.3506643165e-10
+1.5001000000e+01 1.2819981084e-10
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.2829711607e-10
+-1.4062468750e+01 1.3496986832e-10
+-1.3124937500e+01 1.3662216396e-10
+-1.2187406250e+01 1.3896516083e-10
+-1.1249875000e+01 1.4184978829e-10
+-1.0312343750e+01 1.2235161855e-09
+-9.3748125000e+00 3.3070215340e-11
+-8.4372812500e+00 2.8565009979e-10
+-7.4997500000e+00 8.7192708527e-07
+-6.5622187500e+00 7.4976289875e-06
+-5.6246875000e+00 2.5480179526e-05
+-4.6871562500e+00 6.2599270886e-05
+-3.7496250000e+00 1.2697972211e-04
+-2.8120937500e+00 2.2147841032e-04
+-1.8745625000e+00 3.3390649690e-04
+-9.3703125000e-01 4.3168721911e-04
+5.0000000000e-04 4.6713903951e-04
+9.3803125000e-01 4.3161114523e-04
+1.8755625000e+00 3.3378801361e-04
+2.8130937500e+00 2.2136405873e-04
+3.7506250000e+00 1.2689456621e-04
+4.6881562500e+00 6.2546426106e-05
+5.6256875000e+00 2.5452327724e-05
+6.5632187500e+00 7.4857297581e-06
+7.5007500000e+00 8.6888930976e-07
+8.4382812500e+00 2.8302306967e-10
+9.3758125000e+00 3.3074259730e-11
+1.0313343750e+01 1.2235779862e-09
+1.1250875000e+01 1.4184637769e-10
+1.2188406250e+01 1.3896218828e-10
+1.3125937500e+01 1.3661942267e-10
+1.4063468750e+01 1.3496721852e-10
+1.5001000000e+01 1.2829606030e-10
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.2838072484e-10
+-1.4062468750e+01 1.3481463278e-10
+-1.3124937500e+01 1.3616076243e-10
+-1.2187406250e+01 1.3806433878e-10
+-1.1249875000e+01 1.4053586627e-10
+-1.0312343750e+01 1.6847380654e-09
+-9.3748125000e+00 4.6409920806e-11
+-8.4372812500e+00 3.1781529473e-10
+-7.4997500000e+00 8.6726027553e-07
+-6.5622187500e+00 7.4879202829e-06
+-5.6246875000e+00 2.5436093749e-05
+-4.6871562500e+00 6.2492215623e-05
+-3.7496250000e+00 1.2674460747e-04
+-2.8120937500e+00 2.2106624480e-04
+-1.8745625000e+00 3.3326721388e-04
+-9.3703125000e-01 4.3100504953e-04
+5.0000000000e-04 4.6573266764e-04
+9.3803125000e-01 4.3093051729e-04
+1.8755625000e+00 3.3314915157e-04
+2.8130937500e+00 2.2095201163e-04
+3.7506250000e+00 1.2665966212e-04
+4.6881562500e+00 6.2439469004e-05
+5.6256875000e+00 2.5408288307e-05
+6.5632187500e+00 7.4760523922e-06
+7.5007500000e+00 8.6424333866e-07
+8.4382812500e+00 3.1484085504e-10
+9.3758125000e+00 4.6418187201e-11
+1.0313343750e+01 1.6848844817e-09
+1.1250875000e+01 1.4053260602e-10
+1.2188406250e+01 1.3806165648e-10
+1.3125937500e+01 1.3615818359e-10
+1.4063468750e+01 1.3481204011e-10
+1.5001000000e+01 1.2837964965e-10
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.2841427977e-10
+-1.4062468750e+01 1.3460154333e-10
+-1.3124937500e+01 1.3564403227e-10
+-1.2187406250e+01 1.3708186252e-10
+-1.1249875000e+01 1.3911879201e-10
+-1.0312343750e+01 2.2240566264e-09
+-9.3748125000e+00 6.1920604664e-11
+-8.4372812500e+00 3.4835443388e-10
+-7.4997500000e+00 8.6280246764e-07
+-6.5622187500e+00 7.4794439133e-06
+-5.6246875000e+00 2.5392631246e-05
+-4.6871562500e+00 6.2392184217e-05
+-3.7496250000e+00 1.2652911820e-04
+-2.8120937500e+00 2.2069265185e-04
+-1.8745625000e+00 3.3268629196e-04
+-9.3703125000e-01 4.3036332523e-04
+5.0000000000e-04 4.6445880630e-04
+9.3803125000e-01 4.3028862832e-04
+1.8755625000e+00 3.3256868605e-04
+2.8130937500e+00 2.2057859792e-04
+3.7506250000e+00 1.2644432863e-04
+4.6881562500e+00 6.2339523432e-05
+5.6256875000e+00 2.5364871433e-05
+6.5632187500e+00 7.4676106366e-06
+7.5007500000e+00 8.5980518775e-07
+8.4382812500e+00 3.4507070715e-10
+9.3758125000e+00 6.1932837768e-11
+1.0313343750e+01 2.2243247713e-09
+1.1250875000e+01 1.3911538861e-10
+1.2188406250e+01 1.3707941829e-10
+1.3125937500e+01 1.3564162672e-10
+1.4063468750e+01 1.3459902682e-10
+1.5001000000e+01 1.2841319870e-10
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/tau_y_[16][16].xg
new file mode 100644
index 0000000..31256ce
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3279599854e-10
+-1.4062468750e+01 1.3518235131e-10
+-1.3124937500e+01 1.3795327726e-10
+-1.2187406250e+01 1.4120917242e-10
+-1.1249875000e+01 1.4508843005e-10
+-1.0312343750e+01 1.4978714384e-10
+-9.3748125000e+00 1.5559237884e-10
+-8.4372812500e+00 1.6294121438e-10
+-7.4997500000e+00 8.9839564585e-07
+-6.5622187500e+00 7.5557289473e-06
+-5.6246875000e+00 2.5699640320e-05
+-4.6871562500e+00 6.3145110135e-05
+-3.7496250000e+00 1.2815733614e-04
+-2.8120937500e+00 2.2364429501e-04
+-1.8745625000e+00 3.3724878691e-04
+-9.3703125000e-01 4.3513392679e-04
+5.0000000000e-04 4.7452197913e-04
+9.3803125000e-01 4.3505385541e-04
+1.8755625000e+00 3.3712826756e-04
+2.8130937500e+00 2.2352869221e-04
+3.7506250000e+00 1.2807130716e-04
+4.6881562500e+00 6.3091774019e-05
+5.6256875000e+00 2.5671553073e-05
+6.5632187500e+00 7.5437128711e-06
+7.5007500000e+00 8.9523611683e-07
+8.4382812500e+00 1.6293233781e-10
+9.3758125000e+00 1.5558546005e-10
+1.0313343750e+01 1.4978160416e-10
+1.1250875000e+01 1.4508389717e-10
+1.2188406250e+01 1.4120539633e-10
+1.3125937500e+01 1.3795008403e-10
+1.4063468750e+01 1.3517961629e-10
+1.5001000000e+01 1.3279363012e-10
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.2942493273e-10
+-1.4062468750e+01 1.3516773023e-10
+-1.3124937500e+01 1.3788588778e-10
+-1.2187406250e+01 1.4111630620e-10
+-1.1249875000e+01 1.4495569085e-10
+-1.0312343750e+01 1.9407253582e-10
+-9.3748125000e+00 2.8890473236e-12
+-8.4372812500e+00 6.6699533528e-11
+-7.4997500000e+00 8.9268807768e-07
+-6.5622187500e+00 7.5428395207e-06
+-5.6246875000e+00 2.5656086436e-05
+-4.6871562500e+00 6.3035693756e-05
+-3.7496250000e+00 1.2792421890e-04
+-2.8120937500e+00 2.2321567972e-04
+-1.8745625000e+00 3.3657820854e-04
+-9.3703125000e-01 4.3446994170e-04
+5.0000000000e-04 4.7304384870e-04
+9.3803125000e-01 4.3439094177e-04
+1.8755625000e+00 3.3645798522e-04
+2.8130937500e+00 2.2310032254e-04
+3.7506250000e+00 1.2783835922e-04
+4.6881562500e+00 6.2982454915e-05
+5.6256875000e+00 2.5628046695e-05
+6.5632187500e+00 7.5308440248e-06
+7.5007500000e+00 8.8955525773e-07
+8.4382812500e+00 6.6127467354e-11
+9.3758125000e+00 2.8886379037e-12
+1.0313343750e+01 1.9406317930e-10
+1.1250875000e+01 1.4495121118e-10
+1.2188406250e+01 1.4111256367e-10
+1.3125937500e+01 1.3788271636e-10
+1.4063468750e+01 1.3516500009e-10
+1.5001000000e+01 1.2942354081e-10
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.2842202401e-10
+-1.4062468750e+01 1.3514640225e-10
+-1.3124937500e+01 1.3769152090e-10
+-1.2187406250e+01 1.4083823193e-10
+-1.1249875000e+01 1.4455839913e-10
+-1.0312343750e+01 3.2554021079e-10
+-9.3748125000e+00 6.8216014899e-12
+-8.4372812500e+00 1.4100984300e-10
+-7.4997500000e+00 8.8718322255e-07
+-6.5622187500e+00 7.5305695264e-06
+-5.6246875000e+00 2.5612296833e-05
+-4.6871562500e+00 6.2926092984e-05
+-3.7496250000e+00 1.2768893014e-04
+-2.8120937500e+00 2.2278104342e-04
+-1.8745625000e+00 3.3590508344e-04
+-9.3703125000e-01 4.3378613081e-04
+5.0000000000e-04 4.7155196188e-04
+9.3803125000e-01 4.3370815087e-04
+1.8755625000e+00 3.3578521215e-04
+2.8130937500e+00 2.2266594206e-04
+3.7506250000e+00 1.2760324249e-04
+4.6881562500e+00 6.2872952391e-05
+5.6256875000e+00 2.5584304337e-05
+6.5632187500e+00 7.5185961748e-06
+7.5007500000e+00 8.8407593636e-07
+8.4382812500e+00 1.3979959684e-10
+9.3758125000e+00 6.8209836019e-12
+1.0313343750e+01 3.2552554497e-10
+1.1250875000e+01 1.4455407873e-10
+1.2188406250e+01 1.4083458962e-10
+1.3125937500e+01 1.3768841289e-10
+1.4063468750e+01 1.3514368079e-10
+1.5001000000e+01 1.2842092103e-10
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.2817928626e-10
+-1.4062468750e+01 1.3512139728e-10
+-1.3124937500e+01 1.3739861207e-10
+-1.2187406250e+01 1.4037813741e-10
+-1.1249875000e+01 1.4389904608e-10
+-1.0312343750e+01 5.4219409110e-10
+-9.3748125000e+00 1.3215324393e-11
+-8.4372812500e+00 2.0104626407e-10
+-7.4997500000e+00 8.8188425656e-07
+-6.5622187500e+00 7.5189783442e-06
+-5.6246875000e+00 2.5568578993e-05
+-4.6871562500e+00 6.2817337636e-05
+-3.7496250000e+00 1.2745402447e-04
+-2.8120937500e+00 2.2234673647e-04
+-1.8745625000e+00 3.3523666513e-04
+-9.3703125000e-01 4.3309275137e-04
+5.0000000000e-04 4.7006762136e-04
+9.3803125000e-01 4.3301573216e-04
+1.8755625000e+00 3.3511718972e-04
+2.8130937500e+00 2.2223190166e-04
+3.7506250000e+00 1.2736850912e-04
+4.6881562500e+00 6.2764295080e-05
+5.6256875000e+00 2.5540633215e-05
+6.5632187500e+00 7.5070284220e-06
+7.5007500000e+00 8.7880132794e-07
+8.4382812500e+00 1.9928668019e-10
+9.3758125000e+00 1.3215103427e-11
+1.0313343750e+01 5.4218376980e-10
+1.1250875000e+01 1.4389498717e-10
+1.2188406250e+01 1.4037466093e-10
+1.3125937500e+01 1.3739560167e-10
+1.4063468750e+01 1.3511868763e-10
+1.5001000000e+01 1.2817825540e-10
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.2820084373e-10
+-1.4062468750e+01 1.3506911945e-10
+-1.3124937500e+01 1.3703595591e-10
+-1.2187406250e+01 1.3974674479e-10
+-1.1249875000e+01 1.4298739186e-10
+-1.0312343750e+01 8.4210878856e-10
+-9.3748125000e+00 2.1985637132e-11
+-8.4372812500e+00 2.4804701320e-10
+-7.4997500000e+00 8.7679689253e-07
+-6.5622187500e+00 7.5080255654e-06
+-5.6246875000e+00 2.5524479507e-05
+-4.6871562500e+00 6.2708083278e-05
+-3.7496250000e+00 1.2721711134e-04
+-2.8120937500e+00 2.2191135744e-04
+-1.8745625000e+00 3.3457127693e-04
+-9.3703125000e-01 4.3239364416e-04
+5.0000000000e-04 4.6859984924e-04
+9.3803125000e-01 4.3231710081e-04
+1.8755625000e+00 3.3445225694e-04
+2.8130937500e+00 2.2179678078e-04
+3.7506250000e+00 1.2713177054e-04
+4.6881562500e+00 6.2655139667e-05
+5.6256875000e+00 2.5496580778e-05
+6.5632187500e+00 7.4961004297e-06
+7.5007500000e+00 8.7373713454e-07
+8.4382812500e+00 2.4582002741e-10
+9.3758125000e+00 2.1986903508e-11
+1.0313343750e+01 8.4212106325e-10
+1.1250875000e+01 1.4298366613e-10
+1.2188406250e+01 1.3974349593e-10
+1.3125937500e+01 1.3703306959e-10
+1.4063468750e+01 1.3506643165e-10
+1.5001000000e+01 1.2819981084e-10
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.2829711607e-10
+-1.4062468750e+01 1.3496986832e-10
+-1.3124937500e+01 1.3662216396e-10
+-1.2187406250e+01 1.3896516083e-10
+-1.1249875000e+01 1.4184978829e-10
+-1.0312343750e+01 1.2235161855e-09
+-9.3748125000e+00 3.3070215340e-11
+-8.4372812500e+00 2.8565009979e-10
+-7.4997500000e+00 8.7192708527e-07
+-6.5622187500e+00 7.4976289875e-06
+-5.6246875000e+00 2.5480179526e-05
+-4.6871562500e+00 6.2599270886e-05
+-3.7496250000e+00 1.2697972211e-04
+-2.8120937500e+00 2.2147841032e-04
+-1.8745625000e+00 3.3390649690e-04
+-9.3703125000e-01 4.3168721911e-04
+5.0000000000e-04 4.6713903951e-04
+9.3803125000e-01 4.3161114523e-04
+1.8755625000e+00 3.3378801361e-04
+2.8130937500e+00 2.2136405873e-04
+3.7506250000e+00 1.2689456621e-04
+4.6881562500e+00 6.2546426106e-05
+5.6256875000e+00 2.5452327724e-05
+6.5632187500e+00 7.4857297581e-06
+7.5007500000e+00 8.6888930976e-07
+8.4382812500e+00 2.8302306967e-10
+9.3758125000e+00 3.3074259730e-11
+1.0313343750e+01 1.2235779862e-09
+1.1250875000e+01 1.4184637769e-10
+1.2188406250e+01 1.3896218828e-10
+1.3125937500e+01 1.3661942267e-10
+1.4063468750e+01 1.3496721852e-10
+1.5001000000e+01 1.2829606030e-10
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.2838072484e-10
+-1.4062468750e+01 1.3481463278e-10
+-1.3124937500e+01 1.3616076243e-10
+-1.2187406250e+01 1.3806433878e-10
+-1.1249875000e+01 1.4053586627e-10
+-1.0312343750e+01 1.6847380654e-09
+-9.3748125000e+00 4.6409920806e-11
+-8.4372812500e+00 3.1781529473e-10
+-7.4997500000e+00 8.6726027553e-07
+-6.5622187500e+00 7.4879202829e-06
+-5.6246875000e+00 2.5436093749e-05
+-4.6871562500e+00 6.2492215623e-05
+-3.7496250000e+00 1.2674460747e-04
+-2.8120937500e+00 2.2106624480e-04
+-1.8745625000e+00 3.3326721388e-04
+-9.3703125000e-01 4.3100504953e-04
+5.0000000000e-04 4.6573266764e-04
+9.3803125000e-01 4.3093051729e-04
+1.8755625000e+00 3.3314915157e-04
+2.8130937500e+00 2.2095201163e-04
+3.7506250000e+00 1.2665966212e-04
+4.6881562500e+00 6.2439469004e-05
+5.6256875000e+00 2.5408288307e-05
+6.5632187500e+00 7.4760523922e-06
+7.5007500000e+00 8.6424333866e-07
+8.4382812500e+00 3.1484085504e-10
+9.3758125000e+00 4.6418187201e-11
+1.0313343750e+01 1.6848844817e-09
+1.1250875000e+01 1.4053260602e-10
+1.2188406250e+01 1.3806165648e-10
+1.3125937500e+01 1.3615818359e-10
+1.4063468750e+01 1.3481204011e-10
+1.5001000000e+01 1.2837964965e-10
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.2841427977e-10
+-1.4062468750e+01 1.3460154333e-10
+-1.3124937500e+01 1.3564403227e-10
+-1.2187406250e+01 1.3708186252e-10
+-1.1249875000e+01 1.3911879201e-10
+-1.0312343750e+01 2.2240566264e-09
+-9.3748125000e+00 6.1920604664e-11
+-8.4372812500e+00 3.4835443388e-10
+-7.4997500000e+00 8.6280246764e-07
+-6.5622187500e+00 7.4794439133e-06
+-5.6246875000e+00 2.5392631246e-05
+-4.6871562500e+00 6.2392184217e-05
+-3.7496250000e+00 1.2652911820e-04
+-2.8120937500e+00 2.2069265185e-04
+-1.8745625000e+00 3.3268629196e-04
+-9.3703125000e-01 4.3036332523e-04
+5.0000000000e-04 4.6445880630e-04
+9.3803125000e-01 4.3028862832e-04
+1.8755625000e+00 3.3256868605e-04
+2.8130937500e+00 2.2057859792e-04
+3.7506250000e+00 1.2644432863e-04
+4.6881562500e+00 6.2339523432e-05
+5.6256875000e+00 2.5364871433e-05
+6.5632187500e+00 7.4676106366e-06
+7.5007500000e+00 8.5980518775e-07
+8.4382812500e+00 3.4507070715e-10
+9.3758125000e+00 6.1932837768e-11
+1.0313343750e+01 2.2243247713e-09
+1.1250875000e+01 1.3911538861e-10
+1.2188406250e+01 1.3707941829e-10
+1.3125937500e+01 1.3564162672e-10
+1.4063468750e+01 1.3459902682e-10
+1.5001000000e+01 1.2841319870e-10
diff --git a/test/whisky_test_tov_ppm_no_trp/tau_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/tau_z_[16][16].xg
new file mode 100644
index 0000000..1820cfa
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/tau_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.3279599854e-10
+-1.4062468750e+01 1.3518235131e-10
+-1.3124937500e+01 1.3795327726e-10
+-1.2187406250e+01 1.4120917242e-10
+-1.1249875000e+01 1.4508843005e-10
+-1.0312343750e+01 1.4978714384e-10
+-9.3748125000e+00 1.5559237884e-10
+-8.4372812500e+00 1.6294121438e-10
+-7.4997500000e+00 8.9839564585e-07
+-6.5622187500e+00 7.5557289473e-06
+-5.6246875000e+00 2.5699640320e-05
+-4.6871562500e+00 6.3145110135e-05
+-3.7496250000e+00 1.2815733614e-04
+-2.8120937500e+00 2.2364429501e-04
+-1.8745625000e+00 3.3724878691e-04
+-9.3703125000e-01 4.3513392679e-04
+5.0000000000e-04 4.7452197913e-04
+9.3803125000e-01 4.3505385541e-04
+1.8755625000e+00 3.3712826756e-04
+2.8130937500e+00 2.2352869221e-04
+3.7506250000e+00 1.2807130716e-04
+4.6881562500e+00 6.3091774019e-05
+5.6256875000e+00 2.5671553073e-05
+6.5632187500e+00 7.5437128711e-06
+7.5007500000e+00 8.9523611683e-07
+8.4382812500e+00 1.6293233781e-10
+9.3758125000e+00 1.5558546005e-10
+1.0313343750e+01 1.4978160416e-10
+1.1250875000e+01 1.4508389717e-10
+1.2188406250e+01 1.4120539633e-10
+1.3125937500e+01 1.3795008403e-10
+1.4063468750e+01 1.3517961629e-10
+1.5001000000e+01 1.3279363012e-10
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.2942493273e-10
+-1.4062468750e+01 1.3516773023e-10
+-1.3124937500e+01 1.3788588778e-10
+-1.2187406250e+01 1.4111630620e-10
+-1.1249875000e+01 1.4495569085e-10
+-1.0312343750e+01 1.9407253582e-10
+-9.3748125000e+00 2.8890473236e-12
+-8.4372812500e+00 6.6699533528e-11
+-7.4997500000e+00 8.9268807768e-07
+-6.5622187500e+00 7.5428395207e-06
+-5.6246875000e+00 2.5656086436e-05
+-4.6871562500e+00 6.3035693756e-05
+-3.7496250000e+00 1.2792421890e-04
+-2.8120937500e+00 2.2321567972e-04
+-1.8745625000e+00 3.3657820854e-04
+-9.3703125000e-01 4.3446994170e-04
+5.0000000000e-04 4.7304384870e-04
+9.3803125000e-01 4.3439094177e-04
+1.8755625000e+00 3.3645798522e-04
+2.8130937500e+00 2.2310032254e-04
+3.7506250000e+00 1.2783835922e-04
+4.6881562500e+00 6.2982454915e-05
+5.6256875000e+00 2.5628046695e-05
+6.5632187500e+00 7.5308440248e-06
+7.5007500000e+00 8.8955525773e-07
+8.4382812500e+00 6.6127467354e-11
+9.3758125000e+00 2.8886379037e-12
+1.0313343750e+01 1.9406317930e-10
+1.1250875000e+01 1.4495121118e-10
+1.2188406250e+01 1.4111256367e-10
+1.3125937500e+01 1.3788271636e-10
+1.4063468750e+01 1.3516500009e-10
+1.5001000000e+01 1.2942354081e-10
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.2842202401e-10
+-1.4062468750e+01 1.3514640225e-10
+-1.3124937500e+01 1.3769152090e-10
+-1.2187406250e+01 1.4083823193e-10
+-1.1249875000e+01 1.4455839913e-10
+-1.0312343750e+01 3.2554021079e-10
+-9.3748125000e+00 6.8216014899e-12
+-8.4372812500e+00 1.4100984300e-10
+-7.4997500000e+00 8.8718322255e-07
+-6.5622187500e+00 7.5305695264e-06
+-5.6246875000e+00 2.5612296833e-05
+-4.6871562500e+00 6.2926092984e-05
+-3.7496250000e+00 1.2768893014e-04
+-2.8120937500e+00 2.2278104342e-04
+-1.8745625000e+00 3.3590508344e-04
+-9.3703125000e-01 4.3378613081e-04
+5.0000000000e-04 4.7155196188e-04
+9.3803125000e-01 4.3370815087e-04
+1.8755625000e+00 3.3578521215e-04
+2.8130937500e+00 2.2266594206e-04
+3.7506250000e+00 1.2760324249e-04
+4.6881562500e+00 6.2872952391e-05
+5.6256875000e+00 2.5584304337e-05
+6.5632187500e+00 7.5185961748e-06
+7.5007500000e+00 8.8407593636e-07
+8.4382812500e+00 1.3979959684e-10
+9.3758125000e+00 6.8209836019e-12
+1.0313343750e+01 3.2552554497e-10
+1.1250875000e+01 1.4455407873e-10
+1.2188406250e+01 1.4083458962e-10
+1.3125937500e+01 1.3768841289e-10
+1.4063468750e+01 1.3514368079e-10
+1.5001000000e+01 1.2842092103e-10
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.2817928626e-10
+-1.4062468750e+01 1.3512139728e-10
+-1.3124937500e+01 1.3739861207e-10
+-1.2187406250e+01 1.4037813741e-10
+-1.1249875000e+01 1.4389904608e-10
+-1.0312343750e+01 5.4219409110e-10
+-9.3748125000e+00 1.3215324393e-11
+-8.4372812500e+00 2.0104626407e-10
+-7.4997500000e+00 8.8188425656e-07
+-6.5622187500e+00 7.5189783442e-06
+-5.6246875000e+00 2.5568578993e-05
+-4.6871562500e+00 6.2817337636e-05
+-3.7496250000e+00 1.2745402447e-04
+-2.8120937500e+00 2.2234673647e-04
+-1.8745625000e+00 3.3523666513e-04
+-9.3703125000e-01 4.3309275137e-04
+5.0000000000e-04 4.7006762136e-04
+9.3803125000e-01 4.3301573216e-04
+1.8755625000e+00 3.3511718972e-04
+2.8130937500e+00 2.2223190166e-04
+3.7506250000e+00 1.2736850912e-04
+4.6881562500e+00 6.2764295080e-05
+5.6256875000e+00 2.5540633215e-05
+6.5632187500e+00 7.5070284220e-06
+7.5007500000e+00 8.7880132794e-07
+8.4382812500e+00 1.9928668020e-10
+9.3758125000e+00 1.3215103427e-11
+1.0313343750e+01 5.4218376980e-10
+1.1250875000e+01 1.4389498717e-10
+1.2188406250e+01 1.4037466093e-10
+1.3125937500e+01 1.3739560167e-10
+1.4063468750e+01 1.3511868763e-10
+1.5001000000e+01 1.2817825540e-10
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.2820084373e-10
+-1.4062468750e+01 1.3506911945e-10
+-1.3124937500e+01 1.3703595591e-10
+-1.2187406250e+01 1.3974674479e-10
+-1.1249875000e+01 1.4298739186e-10
+-1.0312343750e+01 8.4210878856e-10
+-9.3748125000e+00 2.1985637132e-11
+-8.4372812500e+00 2.4804701320e-10
+-7.4997500000e+00 8.7679689253e-07
+-6.5622187500e+00 7.5080255654e-06
+-5.6246875000e+00 2.5524479507e-05
+-4.6871562500e+00 6.2708083278e-05
+-3.7496250000e+00 1.2721711134e-04
+-2.8120937500e+00 2.2191135744e-04
+-1.8745625000e+00 3.3457127693e-04
+-9.3703125000e-01 4.3239364416e-04
+5.0000000000e-04 4.6859984924e-04
+9.3803125000e-01 4.3231710081e-04
+1.8755625000e+00 3.3445225694e-04
+2.8130937500e+00 2.2179678078e-04
+3.7506250000e+00 1.2713177054e-04
+4.6881562500e+00 6.2655139667e-05
+5.6256875000e+00 2.5496580778e-05
+6.5632187500e+00 7.4961004297e-06
+7.5007500000e+00 8.7373713454e-07
+8.4382812500e+00 2.4582002741e-10
+9.3758125000e+00 2.1986903508e-11
+1.0313343750e+01 8.4212106325e-10
+1.1250875000e+01 1.4298366613e-10
+1.2188406250e+01 1.3974349593e-10
+1.3125937500e+01 1.3703306959e-10
+1.4063468750e+01 1.3506643165e-10
+1.5001000000e+01 1.2819981084e-10
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.2829711607e-10
+-1.4062468750e+01 1.3496986832e-10
+-1.3124937500e+01 1.3662216396e-10
+-1.2187406250e+01 1.3896516083e-10
+-1.1249875000e+01 1.4184978829e-10
+-1.0312343750e+01 1.2235161855e-09
+-9.3748125000e+00 3.3070215340e-11
+-8.4372812500e+00 2.8565009979e-10
+-7.4997500000e+00 8.7192708527e-07
+-6.5622187500e+00 7.4976289875e-06
+-5.6246875000e+00 2.5480179526e-05
+-4.6871562500e+00 6.2599270886e-05
+-3.7496250000e+00 1.2697972211e-04
+-2.8120937500e+00 2.2147841032e-04
+-1.8745625000e+00 3.3390649690e-04
+-9.3703125000e-01 4.3168721911e-04
+5.0000000000e-04 4.6713903951e-04
+9.3803125000e-01 4.3161114523e-04
+1.8755625000e+00 3.3378801361e-04
+2.8130937500e+00 2.2136405873e-04
+3.7506250000e+00 1.2689456621e-04
+4.6881562500e+00 6.2546426106e-05
+5.6256875000e+00 2.5452327724e-05
+6.5632187500e+00 7.4857297581e-06
+7.5007500000e+00 8.6888930976e-07
+8.4382812500e+00 2.8302306967e-10
+9.3758125000e+00 3.3074259730e-11
+1.0313343750e+01 1.2235779862e-09
+1.1250875000e+01 1.4184637769e-10
+1.2188406250e+01 1.3896218828e-10
+1.3125937500e+01 1.3661942267e-10
+1.4063468750e+01 1.3496721852e-10
+1.5001000000e+01 1.2829606030e-10
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.2838072484e-10
+-1.4062468750e+01 1.3481463278e-10
+-1.3124937500e+01 1.3616076243e-10
+-1.2187406250e+01 1.3806433878e-10
+-1.1249875000e+01 1.4053586627e-10
+-1.0312343750e+01 1.6847380654e-09
+-9.3748125000e+00 4.6409920806e-11
+-8.4372812500e+00 3.1781529473e-10
+-7.4997500000e+00 8.6726027553e-07
+-6.5622187500e+00 7.4879202829e-06
+-5.6246875000e+00 2.5436093749e-05
+-4.6871562500e+00 6.2492215623e-05
+-3.7496250000e+00 1.2674460747e-04
+-2.8120937500e+00 2.2106624480e-04
+-1.8745625000e+00 3.3326721388e-04
+-9.3703125000e-01 4.3100504953e-04
+5.0000000000e-04 4.6573266764e-04
+9.3803125000e-01 4.3093051729e-04
+1.8755625000e+00 3.3314915157e-04
+2.8130937500e+00 2.2095201163e-04
+3.7506250000e+00 1.2665966212e-04
+4.6881562500e+00 6.2439469004e-05
+5.6256875000e+00 2.5408288307e-05
+6.5632187500e+00 7.4760523922e-06
+7.5007500000e+00 8.6424333866e-07
+8.4382812500e+00 3.1484085504e-10
+9.3758125000e+00 4.6418187201e-11
+1.0313343750e+01 1.6848844817e-09
+1.1250875000e+01 1.4053260602e-10
+1.2188406250e+01 1.3806165648e-10
+1.3125937500e+01 1.3615818359e-10
+1.4063468750e+01 1.3481204011e-10
+1.5001000000e+01 1.2837964965e-10
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.2841427977e-10
+-1.4062468750e+01 1.3460154333e-10
+-1.3124937500e+01 1.3564403227e-10
+-1.2187406250e+01 1.3708186252e-10
+-1.1249875000e+01 1.3911879201e-10
+-1.0312343750e+01 2.2240566264e-09
+-9.3748125000e+00 6.1920604664e-11
+-8.4372812500e+00 3.4835443388e-10
+-7.4997500000e+00 8.6280246764e-07
+-6.5622187500e+00 7.4794439133e-06
+-5.6246875000e+00 2.5392631246e-05
+-4.6871562500e+00 6.2392184217e-05
+-3.7496250000e+00 1.2652911820e-04
+-2.8120937500e+00 2.2069265185e-04
+-1.8745625000e+00 3.3268629196e-04
+-9.3703125000e-01 4.3036332523e-04
+5.0000000000e-04 4.6445880630e-04
+9.3803125000e-01 4.3028862832e-04
+1.8755625000e+00 3.3256868605e-04
+2.8130937500e+00 2.2057859792e-04
+3.7506250000e+00 1.2644432863e-04
+4.6881562500e+00 6.2339523432e-05
+5.6256875000e+00 2.5364871433e-05
+6.5632187500e+00 7.4676106366e-06
+7.5007500000e+00 8.5980518775e-07
+8.4382812500e+00 3.4507070715e-10
+9.3758125000e+00 6.1932837768e-11
+1.0313343750e+01 2.2243247713e-09
+1.1250875000e+01 1.3911538861e-10
+1.2188406250e+01 1.3707941829e-10
+1.3125937500e+01 1.3564162672e-10
+1.4063468750e+01 1.3459902682e-10
+1.5001000000e+01 1.2841319870e-10
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_3D_diagonal.xg
new file mode 100644
index 0000000..007198c
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.0713364412e-03
+-6.4945410093e+00 -4.4208277970e-05
+-4.8706892506e+00 -4.4848974129e-05
+-3.2468374920e+00 -4.1707061722e-05
+-1.6229857333e+00 -9.5524891401e-05
+8.6602540378e-04 -5.9239751627e-07
+1.6247177841e+00 9.6157059873e-05
+3.2485695428e+00 4.1740593194e-05
+4.8724213015e+00 4.4850423276e-05
+6.4962730601e+00 4.4214766948e-05
+8.1201248188e+00 2.7627451218e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.4665644010e-03
+-6.4945410093e+00 -8.9728415542e-05
+-4.8706892506e+00 -8.8664627377e-05
+-3.2468374920e+00 -8.9263645260e-05
+-1.6229857333e+00 -1.7421882391e-04
+8.6602540378e-04 -1.1533340643e-06
+1.6247177841e+00 1.7541624218e-04
+3.2485695428e+00 8.9368136884e-05
+4.8724213015e+00 8.8667931597e-05
+6.4962730601e+00 8.9755363379e-05
+8.1201248188e+00 3.1748518759e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.3444218024e-03
+-6.4945410093e+00 -1.3629901227e-04
+-4.8706892506e+00 -1.3108181164e-04
+-3.2468374920e+00 -1.4056321003e-04
+-1.6229857333e+00 -2.3624306962e-04
+8.6602540378e-04 -1.6854649791e-06
+1.6247177841e+00 2.3794335293e-04
+3.2485695428e+00 1.4077081835e-04
+4.8724213015e+00 1.3108920797e-04
+6.4962730601e+00 1.3635292899e-04
+8.1201248188e+00 2.9976879197e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.9519596476e-03
+-6.4945410093e+00 -1.8337441732e-04
+-4.8706892506e+00 -1.7173758240e-04
+-3.2468374920e+00 -1.9669476220e-04
+-1.6229857333e+00 -2.7915838053e-04
+8.6602540378e-04 -2.3363830717e-06
+1.6247177841e+00 2.8173579964e-04
+3.2485695428e+00 1.9673085932e-04
+4.8724213015e+00 1.7175114503e-04
+6.4962730601e+00 1.8345347657e-04
+8.1201248188e+00 2.5907538679e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4157258481e-03
+-6.4945410093e+00 -2.3034940284e-04
+-4.8706892506e+00 -2.1038051998e-04
+-3.2468374920e+00 -2.5747800556e-04
+-1.6229857333e+00 -2.9945189640e-04
+8.6602540378e-04 -2.9439587382e-06
+1.6247177841e+00 3.0280886479e-04
+3.2485695428e+00 2.5739482658e-04
+4.8724213015e+00 2.1039942405e-04
+6.4962730601e+00 2.3045181483e-04
+8.1201248188e+00 2.0220011305e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -8.0992808259e-04
+-6.4945410093e+00 -2.7664790132e-04
+-4.8706892506e+00 -2.4702104430e-04
+-3.2468374920e+00 -3.2212184277e-04
+-1.6229857333e+00 -2.9949696008e-04
+8.6602540378e-04 -3.3105439342e-06
+1.6247177841e+00 3.0348621184e-04
+3.2485695428e+00 3.2185829936e-04
+4.8724213015e+00 2.4703909080e-04
+6.4962730601e+00 2.7676960432e-04
+8.1201248188e+00 1.3761376471e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.7985289548e-04
+-6.4945410093e+00 -3.2297361296e-04
+-4.8706892506e+00 -2.8142061707e-04
+-3.2468374920e+00 -3.8898194677e-04
+-1.6229857333e+00 -2.8158358068e-04
+8.6602540378e-04 -4.0996694620e-06
+1.6247177841e+00 2.8648924604e-04
+3.2485695428e+00 3.8866945957e-04
+4.8724213015e+00 2.8142968830e-04
+6.4962730601e+00 3.2308810756e-04
+8.1201248188e+00 7.0930633007e-04
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_maximum.xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_maximum.xg
new file mode 100644
index 0000000..dd16ad8
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_maximum.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0186339668428
+0.7031484375000 0.0198228512520
+1.0547226562500 0.0193074470171
+1.4062968750000 0.0182982834106
+1.7578710937500 0.0179521707066
+2.1094453125000 0.0214311452117
+2.4610195312500 0.0248288599608
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_minimum.xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_minimum.xg
new file mode 100644
index 0000000..122d005
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_minimum.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0186476888251
+0.7031484375000 -0.0198308666323
+1.0547226562500 -0.0193137473286
+1.4062968750000 -0.0183045101015
+1.7578710937500 -0.0179500536457
+2.1094453125000 -0.0214257288464
+2.4610195312500 -0.0248200207643
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_norm1.xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_norm1.xg
new file mode 100644
index 0000000..04e4282
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_norm1.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000942238021
+0.7031484375000 0.0001459859661
+1.0547226562500 0.0001914373581
+1.4062968750000 0.0002348872910
+1.7578710937500 0.0002788537696
+2.1094453125000 0.0003227525640
+2.4610195312500 0.0003619777554
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_norm2.xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_norm2.xg
new file mode 100644
index 0000000..b980732
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_norm2.xg
@@ -0,0 +1,9 @@
+"velx v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0007457193290
+0.7031484375000 0.0009581139532
+1.0547226562500 0.0011585622839
+1.4062968750000 0.0013835141079
+1.7578710937500 0.0016297774553
+2.1094453125000 0.0018900857982
+2.4610195312500 0.0021416592943
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_x_[16][16].xg
new file mode 100644
index 0000000..eb17615
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6164532945e-03
+-8.4372812500e+00 -1.3814604815e-02
+-7.4997500000e+00 -3.6788374629e-05
+-6.5622187500e+00 -1.9856282889e-04
+-5.6246875000e+00 -1.1602558384e-04
+-4.6871562500e+00 -1.0644839100e-04
+-3.7496250000e+00 -9.3334221661e-05
+-2.8120937500e+00 -7.1857276254e-05
+-1.8745625000e+00 -5.0342051475e-05
+-9.3703125000e-01 -9.8079530306e-05
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 9.8740193764e-05
+1.8755625000e+00 5.0395538735e-05
+2.8130937500e+00 7.1882838767e-05
+3.7506250000e+00 9.3352203344e-05
+4.6881562500e+00 1.0645897171e-04
+5.6256875000e+00 1.1603843864e-04
+6.5632187500e+00 1.9876615711e-04
+7.5007500000e+00 3.5550542913e-05
+8.4382812500e+00 1.3766975924e-02
+9.3758125000e+00 -3.6161898553e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.1352317704e-03
+-8.4372812500e+00 -1.5448866478e-02
+-7.4997500000e+00 -7.7862244606e-05
+-6.5622187500e+00 -3.9098367876e-04
+-5.6246875000e+00 -2.2805583107e-04
+-4.6871562500e+00 -2.0712484745e-04
+-3.7496250000e+00 -1.8023445421e-04
+-2.8120937500e+00 -1.3675522480e-04
+-1.8745625000e+00 -1.0372674564e-04
+-9.3703125000e-01 -1.7559273306e-04
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 1.7683384095e-04
+1.8755625000e+00 1.0387707530e-04
+2.8130937500e+00 1.3680536565e-04
+3.7506250000e+00 1.8027063180e-04
+4.6881562500e+00 2.0714690152e-04
+5.6256875000e+00 2.2808587647e-04
+6.5632187500e+00 3.9135476829e-04
+7.5007500000e+00 7.5452403229e-05
+8.4382812500e+00 1.5400439616e-02
+9.3758125000e+00 -7.1353054491e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.0573199784e-02
+-8.4372812500e+00 -1.5049422966e-02
+-7.4997500000e+00 -1.2335161343e-04
+-6.5622187500e+00 -5.7704572372e-04
+-5.6246875000e+00 -3.3600484826e-04
+-4.6871562500e+00 -3.0196540039e-04
+-3.7496250000e+00 -2.6014080430e-04
+-2.8120937500e+00 -1.9415357974e-04
+-1.8745625000e+00 -1.5756061274e-04
+-9.3703125000e-01 -2.3317238846e-04
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 2.3491837391e-04
+1.8755625000e+00 1.5784257946e-04
+2.8130937500e+00 1.9422998556e-04
+3.7506250000e+00 2.6019597060e-04
+4.6881562500e+00 3.0200023260e-04
+5.6256875000e+00 3.3605507786e-04
+6.5632187500e+00 5.7755205130e-04
+7.5007500000e+00 1.1983645904e-04
+8.4382812500e+00 1.5001528886e-02
+9.3758125000e+00 -1.0573931317e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.3934044457e-02
+-8.4372812500e+00 -1.3958284295e-02
+-7.4997500000e+00 -1.7368938526e-04
+-6.5622187500e+00 -7.5657660314e-04
+-5.6246875000e+00 -4.3969467717e-04
+-4.6871562500e+00 -3.9085769268e-04
+-3.7496250000e+00 -3.3259996233e-04
+-2.8120937500e+00 -2.4362633421e-04
+-1.8745625000e+00 -2.1132653867e-04
+-9.3703125000e-01 -2.6991475188e-04
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 2.7254622251e-04
+1.8755625000e+00 2.1141313345e-04
+2.8130937500e+00 2.4372944133e-04
+3.7506250000e+00 3.3267554601e-04
+4.6881562500e+00 3.9090685537e-04
+5.6256875000e+00 4.3976692399e-04
+6.5632187500e+00 7.5718918764e-04
+7.5007500000e+00 1.6913282258e-04
+8.4382812500e+00 1.3910696282e-02
+9.3758125000e+00 -1.3935809943e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.7221958726e-02
+-8.4372812500e+00 -1.2561329190e-02
+-7.4997500000e+00 -2.2925846614e-04
+-6.5622187500e+00 -9.2951383310e-04
+-5.6246875000e+00 -5.3882300061e-04
+-4.6871562500e+00 -4.7363951811e-04
+-3.7496250000e+00 -3.9711099718e-04
+-2.8120937500e+00 -2.8487360952e-04
+-1.8745625000e+00 -2.6719931755e-04
+-9.3703125000e-01 -2.8194904316e-04
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 2.8535833404e-04
+1.8755625000e+00 2.6714806757e-04
+2.8130937500e+00 2.8500153754e-04
+3.7506250000e+00 3.9721364086e-04
+4.6881562500e+00 4.7370524016e-04
+5.6256875000e+00 5.3891783285e-04
+6.5632187500e+00 9.3020669475e-04
+7.5007500000e+00 2.2371904892e-04
+8.4382812500e+00 1.2513766139e-02
+9.3758125000e+00 -1.7225109209e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.0440103410e-02
+-8.4372812500e+00 -1.1011254181e-02
+-7.4997500000e+00 -2.9017369248e-04
+-6.5622187500e+00 -1.0959355690e-03
+-5.6246875000e+00 -6.3302255365e-04
+-4.6871562500e+00 -5.5000282626e-04
+-3.7496250000e+00 -4.5202549013e-04
+-2.8120937500e+00 -3.1874999416e-04
+-1.8745625000e+00 -3.2419023004e-04
+-9.3703125000e-01 -2.7152370739e-04
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 2.7553845938e-04
+1.8755625000e+00 3.2387994551e-04
+2.8130937500e+00 3.1888382172e-04
+3.7506250000e+00 4.5218423676e-04
+4.6881562500e+00 5.5008955963e-04
+5.6256875000e+00 6.3313851511e-04
+6.5632187500e+00 1.0966830008e-03
+7.5007500000e+00 2.8370896549e-04
+8.4382812500e+00 1.0963496361e-02
+9.3758125000e+00 -2.0444951342e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.3579935705e-02
+-8.4372812500e+00 -9.3800918337e-03
+-7.4997500000e+00 -3.5638002494e-04
+-6.5622187500e+00 -1.2559639511e-03
+-5.6246875000e+00 -7.2192316088e-04
+-4.6871562500e+00 -6.2002117608e-04
+-3.7496250000e+00 -4.9897644010e-04
+-2.8120937500e+00 -3.4543990478e-04
+-1.8745625000e+00 -3.8144065546e-04
+-9.3703125000e-01 -2.4227786399e-04
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 2.4719935092e-04
+1.8755625000e+00 3.8106209201e-04
+2.8130937500e+00 3.4558197938e-04
+3.7506250000e+00 4.9914772820e-04
+4.6881562500e+00 6.2013198059e-04
+5.6256875000e+00 7.2205598109e-04
+6.5632187500e+00 1.2567394396e-03
+7.5007500000e+00 3.4904729558e-04
+8.4382812500e+00 9.3319523477e-03
+9.3758125000e+00 -2.3586302894e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_y_[16][16].xg
new file mode 100644
index 0000000..d15ddae
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214982e-07
+-9.3703125000e-01 -5.8244430802e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294653e-07
+1.8755625000e+00 -5.5396902892e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646249e-07
+-2.8120937500e+00 -9.9484437006e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655433e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036191e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082572e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038471e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901457e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[0]_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[0]_z_[16][16].xg
new file mode 100644
index 0000000..09d4943
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[0]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701292e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294652e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437005e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602222e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423483e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655434e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082571e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038470e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_3D_diagonal.xg
new file mode 100644
index 0000000..007198c
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.0713364412e-03
+-6.4945410093e+00 -4.4208277970e-05
+-4.8706892506e+00 -4.4848974129e-05
+-3.2468374920e+00 -4.1707061722e-05
+-1.6229857333e+00 -9.5524891401e-05
+8.6602540378e-04 -5.9239751627e-07
+1.6247177841e+00 9.6157059873e-05
+3.2485695428e+00 4.1740593194e-05
+4.8724213015e+00 4.4850423276e-05
+6.4962730601e+00 4.4214766948e-05
+8.1201248188e+00 2.7627451218e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.4665644010e-03
+-6.4945410093e+00 -8.9728415542e-05
+-4.8706892506e+00 -8.8664627377e-05
+-3.2468374920e+00 -8.9263645260e-05
+-1.6229857333e+00 -1.7421882391e-04
+8.6602540378e-04 -1.1533340643e-06
+1.6247177841e+00 1.7541624218e-04
+3.2485695428e+00 8.9368136884e-05
+4.8724213015e+00 8.8667931597e-05
+6.4962730601e+00 8.9755363379e-05
+8.1201248188e+00 3.1748518759e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.3444218024e-03
+-6.4945410093e+00 -1.3629901227e-04
+-4.8706892506e+00 -1.3108181164e-04
+-3.2468374920e+00 -1.4056321003e-04
+-1.6229857333e+00 -2.3624306962e-04
+8.6602540378e-04 -1.6854649791e-06
+1.6247177841e+00 2.3794335293e-04
+3.2485695428e+00 1.4077081835e-04
+4.8724213015e+00 1.3108920797e-04
+6.4962730601e+00 1.3635292899e-04
+8.1201248188e+00 2.9976879197e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.9519596476e-03
+-6.4945410093e+00 -1.8337441732e-04
+-4.8706892506e+00 -1.7173758240e-04
+-3.2468374920e+00 -1.9669476220e-04
+-1.6229857333e+00 -2.7915838053e-04
+8.6602540378e-04 -2.3363830717e-06
+1.6247177841e+00 2.8173579964e-04
+3.2485695428e+00 1.9673085932e-04
+4.8724213015e+00 1.7175114503e-04
+6.4962730601e+00 1.8345347657e-04
+8.1201248188e+00 2.5907538679e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4157258481e-03
+-6.4945410093e+00 -2.3034940284e-04
+-4.8706892506e+00 -2.1038051998e-04
+-3.2468374920e+00 -2.5747800556e-04
+-1.6229857333e+00 -2.9945189640e-04
+8.6602540378e-04 -2.9439587382e-06
+1.6247177841e+00 3.0280886479e-04
+3.2485695428e+00 2.5739482658e-04
+4.8724213015e+00 2.1039942405e-04
+6.4962730601e+00 2.3045181483e-04
+8.1201248188e+00 2.0220011305e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -8.0992808259e-04
+-6.4945410093e+00 -2.7664790132e-04
+-4.8706892506e+00 -2.4702104430e-04
+-3.2468374920e+00 -3.2212184277e-04
+-1.6229857333e+00 -2.9949696008e-04
+8.6602540378e-04 -3.3105439342e-06
+1.6247177841e+00 3.0348621184e-04
+3.2485695428e+00 3.2185829936e-04
+4.8724213015e+00 2.4703909080e-04
+6.4962730601e+00 2.7676960432e-04
+8.1201248188e+00 1.3761376471e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.7985289548e-04
+-6.4945410093e+00 -3.2297361296e-04
+-4.8706892506e+00 -2.8142061707e-04
+-3.2468374920e+00 -3.8898194677e-04
+-1.6229857333e+00 -2.8158358068e-04
+8.6602540378e-04 -4.0996694620e-06
+1.6247177841e+00 2.8648924604e-04
+3.2485695428e+00 3.8866945957e-04
+4.8724213015e+00 2.8142968830e-04
+6.4962730601e+00 3.2308810756e-04
+8.1201248188e+00 7.0930633007e-04
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_maximum.xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_maximum.xg
new file mode 100644
index 0000000..c6312ca
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_maximum.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0186339668428
+0.7031484375000 0.0198228512520
+1.0547226562500 0.0193074470171
+1.4062968750000 0.0182982834106
+1.7578710937500 0.0179521707066
+2.1094453125000 0.0214311452117
+2.4610195312500 0.0248288599608
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_minimum.xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_minimum.xg
new file mode 100644
index 0000000..084f474
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_minimum.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0186476888251
+0.7031484375000 -0.0198308666323
+1.0547226562500 -0.0193137473286
+1.4062968750000 -0.0183045101015
+1.7578710937500 -0.0179500536457
+2.1094453125000 -0.0214257288464
+2.4610195312500 -0.0248200207643
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_norm1.xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_norm1.xg
new file mode 100644
index 0000000..a8e9c0a
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_norm1.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000942238021
+0.7031484375000 0.0001459859661
+1.0547226562500 0.0001914373581
+1.4062968750000 0.0002348872910
+1.7578710937500 0.0002788537696
+2.1094453125000 0.0003227525640
+2.4610195312500 0.0003619777554
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_norm2.xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_norm2.xg
new file mode 100644
index 0000000..3679133
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_norm2.xg
@@ -0,0 +1,9 @@
+"vely v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0007457193290
+0.7031484375000 0.0009581139532
+1.0547226562500 0.0011585622839
+1.4062968750000 0.0013835141079
+1.7578710937500 0.0016297774553
+2.1094453125000 0.0018900857982
+2.4610195312500 0.0021416592943
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_x_[16][16].xg
new file mode 100644
index 0000000..2435cce
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430802e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294653e-07
+1.8755625000e+00 -5.5396902892e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910062e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388704e-07
+-4.6871562500e+00 -7.7417963142e-07
+-3.7496250000e+00 -8.9022646249e-07
+-2.8120937500e+00 -9.9484437006e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655434e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082571e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038470e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_y_[16][16].xg
new file mode 100644
index 0000000..eb17615
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6164532945e-03
+-8.4372812500e+00 -1.3814604815e-02
+-7.4997500000e+00 -3.6788374629e-05
+-6.5622187500e+00 -1.9856282889e-04
+-5.6246875000e+00 -1.1602558384e-04
+-4.6871562500e+00 -1.0644839100e-04
+-3.7496250000e+00 -9.3334221661e-05
+-2.8120937500e+00 -7.1857276254e-05
+-1.8745625000e+00 -5.0342051475e-05
+-9.3703125000e-01 -9.8079530306e-05
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 9.8740193764e-05
+1.8755625000e+00 5.0395538735e-05
+2.8130937500e+00 7.1882838767e-05
+3.7506250000e+00 9.3352203344e-05
+4.6881562500e+00 1.0645897171e-04
+5.6256875000e+00 1.1603843864e-04
+6.5632187500e+00 1.9876615711e-04
+7.5007500000e+00 3.5550542913e-05
+8.4382812500e+00 1.3766975924e-02
+9.3758125000e+00 -3.6161898553e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.1352317704e-03
+-8.4372812500e+00 -1.5448866478e-02
+-7.4997500000e+00 -7.7862244606e-05
+-6.5622187500e+00 -3.9098367876e-04
+-5.6246875000e+00 -2.2805583107e-04
+-4.6871562500e+00 -2.0712484745e-04
+-3.7496250000e+00 -1.8023445421e-04
+-2.8120937500e+00 -1.3675522480e-04
+-1.8745625000e+00 -1.0372674564e-04
+-9.3703125000e-01 -1.7559273306e-04
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 1.7683384095e-04
+1.8755625000e+00 1.0387707530e-04
+2.8130937500e+00 1.3680536565e-04
+3.7506250000e+00 1.8027063180e-04
+4.6881562500e+00 2.0714690152e-04
+5.6256875000e+00 2.2808587647e-04
+6.5632187500e+00 3.9135476829e-04
+7.5007500000e+00 7.5452403229e-05
+8.4382812500e+00 1.5400439616e-02
+9.3758125000e+00 -7.1353054491e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.0573199784e-02
+-8.4372812500e+00 -1.5049422966e-02
+-7.4997500000e+00 -1.2335161343e-04
+-6.5622187500e+00 -5.7704572372e-04
+-5.6246875000e+00 -3.3600484826e-04
+-4.6871562500e+00 -3.0196540039e-04
+-3.7496250000e+00 -2.6014080430e-04
+-2.8120937500e+00 -1.9415357974e-04
+-1.8745625000e+00 -1.5756061274e-04
+-9.3703125000e-01 -2.3317238846e-04
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 2.3491837391e-04
+1.8755625000e+00 1.5784257946e-04
+2.8130937500e+00 1.9422998556e-04
+3.7506250000e+00 2.6019597060e-04
+4.6881562500e+00 3.0200023260e-04
+5.6256875000e+00 3.3605507786e-04
+6.5632187500e+00 5.7755205130e-04
+7.5007500000e+00 1.1983645904e-04
+8.4382812500e+00 1.5001528886e-02
+9.3758125000e+00 -1.0573931317e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.3934044457e-02
+-8.4372812500e+00 -1.3958284295e-02
+-7.4997500000e+00 -1.7368938526e-04
+-6.5622187500e+00 -7.5657660314e-04
+-5.6246875000e+00 -4.3969467717e-04
+-4.6871562500e+00 -3.9085769268e-04
+-3.7496250000e+00 -3.3259996233e-04
+-2.8120937500e+00 -2.4362633421e-04
+-1.8745625000e+00 -2.1132653867e-04
+-9.3703125000e-01 -2.6991475188e-04
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 2.7254622251e-04
+1.8755625000e+00 2.1141313345e-04
+2.8130937500e+00 2.4372944133e-04
+3.7506250000e+00 3.3267554601e-04
+4.6881562500e+00 3.9090685537e-04
+5.6256875000e+00 4.3976692399e-04
+6.5632187500e+00 7.5718918764e-04
+7.5007500000e+00 1.6913282258e-04
+8.4382812500e+00 1.3910696282e-02
+9.3758125000e+00 -1.3935809943e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.7221958726e-02
+-8.4372812500e+00 -1.2561329190e-02
+-7.4997500000e+00 -2.2925846614e-04
+-6.5622187500e+00 -9.2951383310e-04
+-5.6246875000e+00 -5.3882300061e-04
+-4.6871562500e+00 -4.7363951811e-04
+-3.7496250000e+00 -3.9711099718e-04
+-2.8120937500e+00 -2.8487360952e-04
+-1.8745625000e+00 -2.6719931755e-04
+-9.3703125000e-01 -2.8194904316e-04
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 2.8535833404e-04
+1.8755625000e+00 2.6714806757e-04
+2.8130937500e+00 2.8500153754e-04
+3.7506250000e+00 3.9721364086e-04
+4.6881562500e+00 4.7370524016e-04
+5.6256875000e+00 5.3891783285e-04
+6.5632187500e+00 9.3020669475e-04
+7.5007500000e+00 2.2371904892e-04
+8.4382812500e+00 1.2513766139e-02
+9.3758125000e+00 -1.7225109209e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.0440103410e-02
+-8.4372812500e+00 -1.1011254181e-02
+-7.4997500000e+00 -2.9017369248e-04
+-6.5622187500e+00 -1.0959355690e-03
+-5.6246875000e+00 -6.3302255365e-04
+-4.6871562500e+00 -5.5000282626e-04
+-3.7496250000e+00 -4.5202549013e-04
+-2.8120937500e+00 -3.1874999416e-04
+-1.8745625000e+00 -3.2419023004e-04
+-9.3703125000e-01 -2.7152370739e-04
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 2.7553845938e-04
+1.8755625000e+00 3.2387994551e-04
+2.8130937500e+00 3.1888382172e-04
+3.7506250000e+00 4.5218423676e-04
+4.6881562500e+00 5.5008955963e-04
+5.6256875000e+00 6.3313851511e-04
+6.5632187500e+00 1.0966830008e-03
+7.5007500000e+00 2.8370896549e-04
+8.4382812500e+00 1.0963496361e-02
+9.3758125000e+00 -2.0444951342e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.3579935705e-02
+-8.4372812500e+00 -9.3800918337e-03
+-7.4997500000e+00 -3.5638002494e-04
+-6.5622187500e+00 -1.2559639511e-03
+-5.6246875000e+00 -7.2192316088e-04
+-4.6871562500e+00 -6.2002117608e-04
+-3.7496250000e+00 -4.9897644010e-04
+-2.8120937500e+00 -3.4543990478e-04
+-1.8745625000e+00 -3.8144065546e-04
+-9.3703125000e-01 -2.4227786399e-04
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 2.4719935092e-04
+1.8755625000e+00 3.8106209201e-04
+2.8130937500e+00 3.4558197938e-04
+3.7506250000e+00 4.9914772820e-04
+4.6881562500e+00 6.2013198059e-04
+5.6256875000e+00 7.2205598109e-04
+6.5632187500e+00 1.2567394396e-03
+7.5007500000e+00 3.4904729558e-04
+8.4382812500e+00 9.3319523477e-03
+9.3758125000e+00 -2.3586302894e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[1]_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[1]_z_[16][16].xg
new file mode 100644
index 0000000..8ba9afa
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[1]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701292e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294652e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572604e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437006e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602222e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057617e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423483e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275034e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764702e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876073e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655434e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082572e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038470e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923662e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901457e-06
+-9.3703125000e-01 -4.0398384893e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_3D_diagonal.xg
new file mode 100644
index 0000000..007198c
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 0.0000000000e+00
+-6.4945410093e+00 0.0000000000e+00
+-4.8706892506e+00 0.0000000000e+00
+-3.2468374920e+00 0.0000000000e+00
+-1.6229857333e+00 0.0000000000e+00
+8.6602540378e-04 0.0000000000e+00
+1.6247177841e+00 0.0000000000e+00
+3.2485695428e+00 0.0000000000e+00
+4.8724213015e+00 0.0000000000e+00
+6.4962730601e+00 0.0000000000e+00
+8.1201248188e+00 0.0000000000e+00
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.0713364412e-03
+-6.4945410093e+00 -4.4208277970e-05
+-4.8706892506e+00 -4.4848974129e-05
+-3.2468374920e+00 -4.1707061722e-05
+-1.6229857333e+00 -9.5524891401e-05
+8.6602540378e-04 -5.9239751627e-07
+1.6247177841e+00 9.6157059873e-05
+3.2485695428e+00 4.1740593194e-05
+4.8724213015e+00 4.4850423276e-05
+6.4962730601e+00 4.4214766948e-05
+8.1201248188e+00 2.7627451218e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.4665644010e-03
+-6.4945410093e+00 -8.9728415542e-05
+-4.8706892506e+00 -8.8664627377e-05
+-3.2468374920e+00 -8.9263645260e-05
+-1.6229857333e+00 -1.7421882391e-04
+8.6602540378e-04 -1.1533340643e-06
+1.6247177841e+00 1.7541624218e-04
+3.2485695428e+00 8.9368136884e-05
+4.8724213015e+00 8.8667931597e-05
+6.4962730601e+00 8.9755363379e-05
+8.1201248188e+00 3.1748518759e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -2.3444218024e-03
+-6.4945410093e+00 -1.3629901227e-04
+-4.8706892506e+00 -1.3108181164e-04
+-3.2468374920e+00 -1.4056321003e-04
+-1.6229857333e+00 -2.3624306962e-04
+8.6602540378e-04 -1.6854649791e-06
+1.6247177841e+00 2.3794335293e-04
+3.2485695428e+00 1.4077081835e-04
+4.8724213015e+00 1.3108920797e-04
+6.4962730601e+00 1.3635292899e-04
+8.1201248188e+00 2.9976879197e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.9519596476e-03
+-6.4945410093e+00 -1.8337441732e-04
+-4.8706892506e+00 -1.7173758240e-04
+-3.2468374920e+00 -1.9669476220e-04
+-1.6229857333e+00 -2.7915838053e-04
+8.6602540378e-04 -2.3363830717e-06
+1.6247177841e+00 2.8173579964e-04
+3.2485695428e+00 1.9673085932e-04
+4.8724213015e+00 1.7175114503e-04
+6.4962730601e+00 1.8345347657e-04
+8.1201248188e+00 2.5907538679e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.4157258481e-03
+-6.4945410093e+00 -2.3034940284e-04
+-4.8706892506e+00 -2.1038051998e-04
+-3.2468374920e+00 -2.5747800556e-04
+-1.6229857333e+00 -2.9945189640e-04
+8.6602540378e-04 -2.9439587382e-06
+1.6247177841e+00 3.0280886479e-04
+3.2485695428e+00 2.5739482658e-04
+4.8724213015e+00 2.1039942405e-04
+6.4962730601e+00 2.3045181483e-04
+8.1201248188e+00 2.0220011305e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -8.0992808259e-04
+-6.4945410093e+00 -2.7664790132e-04
+-4.8706892506e+00 -2.4702104430e-04
+-3.2468374920e+00 -3.2212184277e-04
+-1.6229857333e+00 -2.9949696008e-04
+8.6602540378e-04 -3.3105439342e-06
+1.6247177841e+00 3.0348621184e-04
+3.2485695428e+00 3.2185829936e-04
+4.8724213015e+00 2.4703909080e-04
+6.4962730601e+00 2.7676960432e-04
+8.1201248188e+00 1.3761376471e-03
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 0.0000000000e+00
+-2.4356910355e+01 0.0000000000e+00
+-2.2733058596e+01 0.0000000000e+00
+-2.1109206837e+01 0.0000000000e+00
+-1.9485355079e+01 0.0000000000e+00
+-1.7861503320e+01 0.0000000000e+00
+-1.6237651561e+01 0.0000000000e+00
+-1.4613799803e+01 0.0000000000e+00
+-1.2989948044e+01 0.0000000000e+00
+-1.1366096285e+01 0.0000000000e+00
+-9.7422445267e+00 0.0000000000e+00
+-8.1183927680e+00 -1.7985289548e-04
+-6.4945410093e+00 -3.2297361296e-04
+-4.8706892506e+00 -2.8142061707e-04
+-3.2468374920e+00 -3.8898194677e-04
+-1.6229857333e+00 -2.8158358068e-04
+8.6602540378e-04 -4.0996694620e-06
+1.6247177841e+00 2.8648924604e-04
+3.2485695428e+00 3.8866945957e-04
+4.8724213015e+00 2.8142968830e-04
+6.4962730601e+00 3.2308810756e-04
+8.1201248188e+00 7.0930633007e-04
+9.7439765775e+00 0.0000000000e+00
+1.1367828336e+01 0.0000000000e+00
+1.2991680095e+01 0.0000000000e+00
+1.4615531854e+01 0.0000000000e+00
+1.6239383612e+01 0.0000000000e+00
+1.7863235371e+01 0.0000000000e+00
+1.9487087130e+01 0.0000000000e+00
+2.1110938888e+01 0.0000000000e+00
+2.2734790647e+01 0.0000000000e+00
+2.4358642406e+01 0.0000000000e+00
+2.5982494164e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_maximum.xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_maximum.xg
new file mode 100644
index 0000000..f684776
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_maximum.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0186339668428
+0.7031484375000 0.0198228512520
+1.0547226562500 0.0193074470171
+1.4062968750000 0.0182982834106
+1.7578710937500 0.0179521707066
+2.1094453125000 0.0214311452117
+2.4610195312500 0.0248288599608
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_minimum.xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_minimum.xg
new file mode 100644
index 0000000..ce3012f
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_minimum.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 -0.0186476888251
+0.7031484375000 -0.0198308666323
+1.0547226562500 -0.0193137473286
+1.4062968750000 -0.0183045101015
+1.7578710937500 -0.0179500536457
+2.1094453125000 -0.0214257288464
+2.4610195312500 -0.0248200207643
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_norm1.xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_norm1.xg
new file mode 100644
index 0000000..b050490
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_norm1.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0000942238021
+0.7031484375000 0.0001459859661
+1.0547226562500 0.0001914373581
+1.4062968750000 0.0002348872910
+1.7578710937500 0.0002788537696
+2.1094453125000 0.0003227525640
+2.4610195312500 0.0003619777554
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_norm2.xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_norm2.xg
new file mode 100644
index 0000000..066c9ef
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_norm2.xg
@@ -0,0 +1,9 @@
+"velz v time
+0.0000000000000 0.0000000000000
+0.3515742187500 0.0007457193290
+0.7031484375000 0.0009581139532
+1.0547226562500 0.0011585622839
+1.4062968750000 0.0013835141079
+1.7578710937500 0.0016297774553
+2.1094453125000 0.0018900857982
+2.4610195312500 0.0021416592943
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_x_[16][16].xg
new file mode 100644
index 0000000..1edd99f
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264386e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214982e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294652e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388703e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437005e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876073e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655433e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082572e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038471e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257605e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384893e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_y_[16][16].xg
new file mode 100644
index 0000000..7b37693
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.9112703073e-07
+-8.4372812500e+00 -2.4092823517e-07
+-7.4997500000e+00 -2.1999217952e-07
+-6.5622187500e+00 -2.7288001134e-07
+-5.6246875000e+00 -3.3364701293e-07
+-4.6871562500e+00 -3.9580264385e-07
+-3.7496250000e+00 -4.5608197818e-07
+-2.8120937500e+00 -5.1037518085e-07
+-1.8745625000e+00 -5.5401214983e-07
+-9.3703125000e-01 -5.8244430803e-07
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 -5.8242294653e-07
+1.8755625000e+00 -5.5396902891e-07
+2.8130937500e+00 -5.1032411487e-07
+3.7506250000e+00 -4.5603022653e-07
+4.6881562500e+00 -3.9572910063e-07
+5.6256875000e+00 -3.3357818046e-07
+6.5632187500e+00 -2.7281572603e-07
+7.5007500000e+00 -2.1993616219e-07
+8.4382812500e+00 -2.4087147779e-07
+9.3758125000e+00 -1.9107353548e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -3.8270746514e-07
+-8.4372812500e+00 -4.7838899186e-07
+-7.4997500000e+00 -4.4222627322e-07
+-6.5622187500e+00 -5.3733255573e-07
+-5.6246875000e+00 -6.5452388704e-07
+-4.6871562500e+00 -7.7417963141e-07
+-3.7496250000e+00 -8.9022646250e-07
+-2.8120937500e+00 -9.9484437005e-07
+-1.8745625000e+00 -1.0790461958e-06
+-9.3703125000e-01 -1.1339729128e-06
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 -1.1339312913e-06
+1.8755625000e+00 -1.0789652405e-06
+2.8130937500e+00 -9.9474385818e-07
+3.7506250000e+00 -8.9012602221e-07
+4.6881562500e+00 -7.7403722388e-07
+5.6256875000e+00 -6.5439057616e-07
+6.5632187500e+00 -5.3720868911e-07
+7.5007500000e+00 -4.4211423482e-07
+8.4382812500e+00 -4.7827348934e-07
+9.3758125000e+00 -3.8259949557e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -5.7443461519e-07
+-8.4372812500e+00 -7.1525508313e-07
+-7.4997500000e+00 -6.6667004957e-07
+-6.5622187500e+00 -7.9372181703e-07
+-5.6246875000e+00 -9.6340275035e-07
+-4.6871562500e+00 -1.1362882287e-06
+-3.7496250000e+00 -1.3040044124e-06
+-2.8120937500e+00 -1.4553764701e-06
+-1.8745625000e+00 -1.5773950398e-06
+-9.3703125000e-01 -1.6571191803e-06
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 -1.6570583379e-06
+1.8755625000e+00 -1.5772811883e-06
+2.8130937500e+00 -1.4552281418e-06
+3.7506250000e+00 -1.3038574170e-06
+4.6881562500e+00 -1.1360812136e-06
+5.6256875000e+00 -9.6320876072e-07
+6.5632187500e+00 -7.9348614269e-07
+7.5007500000e+00 -6.6650237217e-07
+8.4382812500e+00 -7.1508180364e-07
+9.3758125000e+00 -5.7426933127e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -7.6619155824e-07
+-8.4372812500e+00 -9.5229558087e-07
+-7.4997500000e+00 -8.9383494392e-07
+-6.5622187500e+00 -1.1099339468e-06
+-5.6246875000e+00 -1.3427265644e-06
+-4.6871562500e+00 -1.5797168378e-06
+-3.7496250000e+00 -1.8100604527e-06
+-2.8120937500e+00 -2.0185219608e-06
+-1.8745625000e+00 -2.1865385942e-06
+-9.3703125000e-01 -2.2973142126e-06
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 -2.2972305452e-06
+1.8755625000e+00 -2.1863832790e-06
+2.8130937500e+00 -2.0183147900e-06
+3.7506250000e+00 -1.8098486569e-06
+4.6881562500e+00 -1.5794388514e-06
+5.6256875000e+00 -1.3424621036e-06
+6.5632187500e+00 -1.1095586079e-06
+7.5007500000e+00 -8.9361332824e-07
+8.4382812500e+00 -9.5206655433e-07
+9.3758125000e+00 -7.6596884324e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -9.5941867240e-07
+-8.4372812500e+00 -1.1914908961e-06
+-7.4997500000e+00 -1.1311794666e-06
+-6.5622187500e+00 -1.4141702076e-06
+-5.6246875000e+00 -1.7035642620e-06
+-4.6871562500e+00 -1.9982036192e-06
+-3.7496250000e+00 -2.2850772512e-06
+-2.8120937500e+00 -2.5452939150e-06
+-1.8745625000e+00 -2.7557549373e-06
+-9.3703125000e-01 -2.8949082571e-06
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 -2.8948038471e-06
+1.8755625000e+00 -2.7555630048e-06
+2.8130937500e+00 -2.5450341381e-06
+3.7506250000e+00 -2.2848064992e-06
+4.6881562500e+00 -1.9978613359e-06
+5.6256875000e+00 -1.7032366150e-06
+6.5632187500e+00 -1.4137361261e-06
+7.5007500000e+00 -1.1304772595e-06
+8.4382812500e+00 -1.1911655992e-06
+9.3758125000e+00 -9.5912300983e-07
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.1526633319e-06
+-8.4372812500e+00 -1.4366818314e-06
+-7.4997500000e+00 -1.4164982022e-06
+-6.5622187500e+00 -1.6761163491e-06
+-5.6246875000e+00 -2.0468410736e-06
+-4.6871562500e+00 -2.3937258268e-06
+-3.7496250000e+00 -2.5728364148e-06
+-2.8120937500e+00 -2.8621777067e-06
+-1.8745625000e+00 -3.0785096776e-06
+-9.3703125000e-01 -3.2641287210e-06
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 -3.2640113846e-06
+1.8755625000e+00 -3.0783042145e-06
+2.8130937500e+00 -2.8618923661e-06
+3.7506250000e+00 -2.5724611551e-06
+4.6881562500e+00 -2.3933257604e-06
+5.6256875000e+00 -2.0464589116e-06
+6.5632187500e+00 -1.6757165036e-06
+7.5007500000e+00 -1.4156942431e-06
+8.4382812500e+00 -1.4362400991e-06
+9.3758125000e+00 -1.1522944397e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 -1.3452082107e-06
+-8.4372812500e+00 -1.6895324425e-06
+-7.4997500000e+00 -1.7016668402e-06
+-6.5622187500e+00 -1.8952326295e-06
+-5.6246875000e+00 -2.3732624894e-06
+-4.6871562500e+00 -2.6150640799e-06
+-3.7496250000e+00 -3.1766677793e-06
+-2.8120937500e+00 -3.5382710350e-06
+-1.8745625000e+00 -3.8154901456e-06
+-9.3703125000e-01 -4.0398384892e-06
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 -4.0396935266e-06
+1.8755625000e+00 -3.8152305203e-06
+2.8130937500e+00 -3.5379153992e-06
+3.7506250000e+00 -3.1762109073e-06
+4.6881562500e+00 -2.6147276436e-06
+5.6256875000e+00 -2.3728340774e-06
+6.5632187500e+00 -1.8948893952e-06
+7.5007500000e+00 -1.7008190728e-06
+8.4382812500e+00 -1.6889858323e-06
+9.3758125000e+00 -1.3447758271e-06
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/vel[2]_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/vel[2]_z_[16][16].xg
new file mode 100644
index 0000000..eb17615
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/vel[2]_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 0.0000000000e+00
+-8.4372812500e+00 0.0000000000e+00
+-7.4997500000e+00 0.0000000000e+00
+-6.5622187500e+00 0.0000000000e+00
+-5.6246875000e+00 0.0000000000e+00
+-4.6871562500e+00 0.0000000000e+00
+-3.7496250000e+00 0.0000000000e+00
+-2.8120937500e+00 0.0000000000e+00
+-1.8745625000e+00 0.0000000000e+00
+-9.3703125000e-01 0.0000000000e+00
+5.0000000000e-04 0.0000000000e+00
+9.3803125000e-01 0.0000000000e+00
+1.8755625000e+00 0.0000000000e+00
+2.8130937500e+00 0.0000000000e+00
+3.7506250000e+00 0.0000000000e+00
+4.6881562500e+00 0.0000000000e+00
+5.6256875000e+00 0.0000000000e+00
+6.5632187500e+00 0.0000000000e+00
+7.5007500000e+00 0.0000000000e+00
+8.4382812500e+00 0.0000000000e+00
+9.3758125000e+00 0.0000000000e+00
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 3.6164532945e-03
+-8.4372812500e+00 -1.3814604815e-02
+-7.4997500000e+00 -3.6788374629e-05
+-6.5622187500e+00 -1.9856282889e-04
+-5.6246875000e+00 -1.1602558384e-04
+-4.6871562500e+00 -1.0644839100e-04
+-3.7496250000e+00 -9.3334221661e-05
+-2.8120937500e+00 -7.1857276254e-05
+-1.8745625000e+00 -5.0342051475e-05
+-9.3703125000e-01 -9.8079530306e-05
+5.0000000000e-04 -5.9239751627e-07
+9.3803125000e-01 9.8740193764e-05
+1.8755625000e+00 5.0395538735e-05
+2.8130937500e+00 7.1882838767e-05
+3.7506250000e+00 9.3352203344e-05
+4.6881562500e+00 1.0645897171e-04
+5.6256875000e+00 1.1603843864e-04
+6.5632187500e+00 1.9876615711e-04
+7.5007500000e+00 3.5550542913e-05
+8.4382812500e+00 1.3766975924e-02
+9.3758125000e+00 -3.6161898553e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 7.1352317704e-03
+-8.4372812500e+00 -1.5448866478e-02
+-7.4997500000e+00 -7.7862244606e-05
+-6.5622187500e+00 -3.9098367876e-04
+-5.6246875000e+00 -2.2805583107e-04
+-4.6871562500e+00 -2.0712484745e-04
+-3.7496250000e+00 -1.8023445421e-04
+-2.8120937500e+00 -1.3675522480e-04
+-1.8745625000e+00 -1.0372674564e-04
+-9.3703125000e-01 -1.7559273306e-04
+5.0000000000e-04 -1.1533340643e-06
+9.3803125000e-01 1.7683384095e-04
+1.8755625000e+00 1.0387707530e-04
+2.8130937500e+00 1.3680536565e-04
+3.7506250000e+00 1.8027063180e-04
+4.6881562500e+00 2.0714690152e-04
+5.6256875000e+00 2.2808587647e-04
+6.5632187500e+00 3.9135476829e-04
+7.5007500000e+00 7.5452403229e-05
+8.4382812500e+00 1.5400439616e-02
+9.3758125000e+00 -7.1353054491e-03
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.0573199784e-02
+-8.4372812500e+00 -1.5049422966e-02
+-7.4997500000e+00 -1.2335161343e-04
+-6.5622187500e+00 -5.7704572372e-04
+-5.6246875000e+00 -3.3600484826e-04
+-4.6871562500e+00 -3.0196540039e-04
+-3.7496250000e+00 -2.6014080430e-04
+-2.8120937500e+00 -1.9415357974e-04
+-1.8745625000e+00 -1.5756061274e-04
+-9.3703125000e-01 -2.3317238846e-04
+5.0000000000e-04 -1.6854649791e-06
+9.3803125000e-01 2.3491837391e-04
+1.8755625000e+00 1.5784257946e-04
+2.8130937500e+00 1.9422998556e-04
+3.7506250000e+00 2.6019597060e-04
+4.6881562500e+00 3.0200023260e-04
+5.6256875000e+00 3.3605507786e-04
+6.5632187500e+00 5.7755205130e-04
+7.5007500000e+00 1.1983645904e-04
+8.4382812500e+00 1.5001528886e-02
+9.3758125000e+00 -1.0573931317e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.3934044457e-02
+-8.4372812500e+00 -1.3958284295e-02
+-7.4997500000e+00 -1.7368938526e-04
+-6.5622187500e+00 -7.5657660314e-04
+-5.6246875000e+00 -4.3969467717e-04
+-4.6871562500e+00 -3.9085769268e-04
+-3.7496250000e+00 -3.3259996233e-04
+-2.8120937500e+00 -2.4362633421e-04
+-1.8745625000e+00 -2.1132653867e-04
+-9.3703125000e-01 -2.6991475188e-04
+5.0000000000e-04 -2.3363830717e-06
+9.3803125000e-01 2.7254622251e-04
+1.8755625000e+00 2.1141313345e-04
+2.8130937500e+00 2.4372944133e-04
+3.7506250000e+00 3.3267554601e-04
+4.6881562500e+00 3.9090685537e-04
+5.6256875000e+00 4.3976692399e-04
+6.5632187500e+00 7.5718918764e-04
+7.5007500000e+00 1.6913282258e-04
+8.4382812500e+00 1.3910696282e-02
+9.3758125000e+00 -1.3935809943e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 1.7221958726e-02
+-8.4372812500e+00 -1.2561329190e-02
+-7.4997500000e+00 -2.2925846614e-04
+-6.5622187500e+00 -9.2951383310e-04
+-5.6246875000e+00 -5.3882300061e-04
+-4.6871562500e+00 -4.7363951811e-04
+-3.7496250000e+00 -3.9711099718e-04
+-2.8120937500e+00 -2.8487360952e-04
+-1.8745625000e+00 -2.6719931755e-04
+-9.3703125000e-01 -2.8194904316e-04
+5.0000000000e-04 -2.9439587382e-06
+9.3803125000e-01 2.8535833404e-04
+1.8755625000e+00 2.6714806757e-04
+2.8130937500e+00 2.8500153754e-04
+3.7506250000e+00 3.9721364086e-04
+4.6881562500e+00 4.7370524016e-04
+5.6256875000e+00 5.3891783285e-04
+6.5632187500e+00 9.3020669475e-04
+7.5007500000e+00 2.2371904892e-04
+8.4382812500e+00 1.2513766139e-02
+9.3758125000e+00 -1.7225109209e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.0440103410e-02
+-8.4372812500e+00 -1.1011254181e-02
+-7.4997500000e+00 -2.9017369248e-04
+-6.5622187500e+00 -1.0959355690e-03
+-5.6246875000e+00 -6.3302255365e-04
+-4.6871562500e+00 -5.5000282626e-04
+-3.7496250000e+00 -4.5202549013e-04
+-2.8120937500e+00 -3.1874999416e-04
+-1.8745625000e+00 -3.2419023004e-04
+-9.3703125000e-01 -2.7152370739e-04
+5.0000000000e-04 -3.3105439342e-06
+9.3803125000e-01 2.7553845938e-04
+1.8755625000e+00 3.2387994551e-04
+2.8130937500e+00 3.1888382172e-04
+3.7506250000e+00 4.5218423676e-04
+4.6881562500e+00 5.5008955963e-04
+5.6256875000e+00 6.3313851511e-04
+6.5632187500e+00 1.0966830008e-03
+7.5007500000e+00 2.8370896549e-04
+8.4382812500e+00 1.0963496361e-02
+9.3758125000e+00 -2.0444951342e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 0.0000000000e+00
+-1.4062468750e+01 0.0000000000e+00
+-1.3124937500e+01 0.0000000000e+00
+-1.2187406250e+01 0.0000000000e+00
+-1.1249875000e+01 0.0000000000e+00
+-1.0312343750e+01 0.0000000000e+00
+-9.3748125000e+00 2.3579935705e-02
+-8.4372812500e+00 -9.3800918337e-03
+-7.4997500000e+00 -3.5638002494e-04
+-6.5622187500e+00 -1.2559639511e-03
+-5.6246875000e+00 -7.2192316088e-04
+-4.6871562500e+00 -6.2002117608e-04
+-3.7496250000e+00 -4.9897644010e-04
+-2.8120937500e+00 -3.4543990478e-04
+-1.8745625000e+00 -3.8144065546e-04
+-9.3703125000e-01 -2.4227786399e-04
+5.0000000000e-04 -4.0996694620e-06
+9.3803125000e-01 2.4719935092e-04
+1.8755625000e+00 3.8106209201e-04
+2.8130937500e+00 3.4558197938e-04
+3.7506250000e+00 4.9914772820e-04
+4.6881562500e+00 6.2013198059e-04
+5.6256875000e+00 7.2205598109e-04
+6.5632187500e+00 1.2567394396e-03
+7.5007500000e+00 3.4904729558e-04
+8.4382812500e+00 9.3319523477e-03
+9.3758125000e+00 -2.3586302894e-02
+1.0313343750e+01 0.0000000000e+00
+1.1250875000e+01 0.0000000000e+00
+1.2188406250e+01 0.0000000000e+00
+1.3125937500e+01 0.0000000000e+00
+1.4063468750e+01 0.0000000000e+00
+1.5001000000e+01 0.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_3D_diagonal.xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_3D_diagonal.xg
new file mode 100644
index 0000000..ada0204
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_3D_diagonal.xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000000000e+00
+-6.4945410093e+00 1.0000000000e+00
+-4.8706892506e+00 1.0000000000e+00
+-3.2468374920e+00 1.0000000000e+00
+-1.6229857333e+00 1.0000000000e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000000000e+00
+3.2485695428e+00 1.0000000000e+00
+4.8724213015e+00 1.0000000000e+00
+6.4962730601e+00 1.0000000000e+00
+8.1201248188e+00 1.0000000000e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000089597e+00
+-6.4945410093e+00 1.0000000044e+00
+-4.8706892506e+00 1.0000000050e+00
+-3.2468374920e+00 1.0000000047e+00
+-1.6229857333e+00 1.0000000270e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000000273e+00
+3.2485695428e+00 1.0000000048e+00
+4.8724213015e+00 1.0000000050e+00
+6.4962730601e+00 1.0000000044e+00
+8.1201248188e+00 1.0000159386e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000127053e+00
+-6.4945410093e+00 1.0000000181e+00
+-4.8706892506e+00 1.0000000194e+00
+-3.2468374920e+00 1.0000000217e+00
+-1.6229857333e+00 1.0000000897e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000000909e+00
+3.2485695428e+00 1.0000000218e+00
+4.8724213015e+00 1.0000000194e+00
+6.4962730601e+00 1.0000000181e+00
+8.1201248188e+00 1.0000210485e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000114782e+00
+-6.4945410093e+00 1.0000000418e+00
+-4.8706892506e+00 1.0000000425e+00
+-3.2468374920e+00 1.0000000539e+00
+-1.6229857333e+00 1.0000001649e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000001673e+00
+3.2485695428e+00 1.0000000541e+00
+4.8724213015e+00 1.0000000425e+00
+6.4962730601e+00 1.0000000419e+00
+8.1201248188e+00 1.0000187650e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000079569e+00
+-6.4945410093e+00 1.0000000757e+00
+-4.8706892506e+00 1.0000000729e+00
+-3.2468374920e+00 1.0000001056e+00
+-1.6229857333e+00 1.0000002302e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000002345e+00
+3.2485695428e+00 1.0000001056e+00
+4.8724213015e+00 1.0000000729e+00
+6.4962730601e+00 1.0000000758e+00
+8.1201248188e+00 1.0000140161e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000041856e+00
+-6.4945410093e+00 1.0000001195e+00
+-4.8706892506e+00 1.0000001094e+00
+-3.2468374920e+00 1.0000001809e+00
+-1.6229857333e+00 1.0000002649e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000002709e+00
+3.2485695428e+00 1.0000001808e+00
+4.8724213015e+00 1.0000001094e+00
+6.4962730601e+00 1.0000001195e+00
+8.1201248188e+00 1.0000085376e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000013699e+00
+-6.4945410093e+00 1.0000001723e+00
+-4.8706892506e+00 1.0000001509e+00
+-3.2468374920e+00 1.0000002832e+00
+-1.6229857333e+00 1.0000002650e+00
+8.6602540378e-04 1.0000000000e+00
+1.6247177841e+00 1.0000002721e+00
+3.2485695428e+00 1.0000002827e+00
+4.8724213015e+00 1.0000001509e+00
+6.4962730601e+00 1.0000001724e+00
+8.1201248188e+00 1.0000039546e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-2.5980762114e+01 1.0000000000e+00
+-2.4356910355e+01 1.0000000000e+00
+-2.2733058596e+01 1.0000000000e+00
+-2.1109206837e+01 1.0000000000e+00
+-1.9485355079e+01 1.0000000000e+00
+-1.7861503320e+01 1.0000000000e+00
+-1.6237651561e+01 1.0000000000e+00
+-1.4613799803e+01 1.0000000000e+00
+-1.2989948044e+01 1.0000000000e+00
+-1.1366096285e+01 1.0000000000e+00
+-9.7422445267e+00 1.0000000000e+00
+-8.1183927680e+00 1.0000000676e+00
+-6.4945410093e+00 1.0000002348e+00
+-4.8706892506e+00 1.0000001958e+00
+-3.2468374920e+00 1.0000004129e+00
+-1.6229857333e+00 1.0000002342e+00
+8.6602540378e-04 1.0000000001e+00
+1.6247177841e+00 1.0000002424e+00
+3.2485695428e+00 1.0000004122e+00
+4.8724213015e+00 1.0000001958e+00
+6.4962730601e+00 1.0000002350e+00
+8.1201248188e+00 1.0000010506e+00
+9.7439765775e+00 1.0000000000e+00
+1.1367828336e+01 1.0000000000e+00
+1.2991680095e+01 1.0000000000e+00
+1.4615531854e+01 1.0000000000e+00
+1.6239383612e+01 1.0000000000e+00
+1.7863235371e+01 1.0000000000e+00
+1.9487087130e+01 1.0000000000e+00
+2.1110938888e+01 1.0000000000e+00
+2.2734790647e+01 1.0000000000e+00
+2.4358642406e+01 1.0000000000e+00
+2.5982494164e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_maximum.xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_maximum.xg
new file mode 100644
index 0000000..aa6c578
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_maximum.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0002413300135
+0.7031484375000 1.0002733528576
+1.0547226562500 1.0002604562518
+1.4062968750000 1.0002359863452
+1.7578710937500 1.0002518646796
+2.1094453125000 1.0003593675089
+2.4610195312500 1.0004831364645
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_minimum.xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_minimum.xg
new file mode 100644
index 0000000..6874066
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_minimum.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0000000000000
+0.7031484375000 1.0000000000000
+1.0547226562500 1.0000000000000
+1.4062968750000 1.0000000000000
+1.7578710937500 1.0000000000000
+2.1094453125000 1.0000000000000
+2.4610195312500 1.0000000000000
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_norm1.xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_norm1.xg
new file mode 100644
index 0000000..ecffc59
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_norm1.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0000011495530
+0.7031484375000 1.0000018879833
+1.0547226562500 1.0000027478813
+1.4062968750000 1.0000039059241
+1.7578710937500 1.0000054096223
+2.1094453125000 1.0000072678472
+2.4610195312500 1.0000093291974
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_norm2.xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_norm2.xg
new file mode 100644
index 0000000..5a34bba
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_norm2.xg
@@ -0,0 +1,9 @@
+"w_lorentz v time
+0.0000000000000 1.0000000000000
+0.3515742187500 1.0000011496168
+0.7031484375000 1.0000018880800
+1.0547226562500 1.0000027480188
+1.4062968750000 1.0000039061774
+1.7578710937500 1.0000054101311
+2.1094453125000 1.0000072688192
+2.4610195312500 1.0000093308958
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_x_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_x_[16][16].xg
new file mode 100644
index 0000000..7773e50
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_x_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000000000e+00
+-8.4372812500e+00 1.0000000000e+00
+-7.4997500000e+00 1.0000000000e+00
+-6.5622187500e+00 1.0000000000e+00
+-5.6246875000e+00 1.0000000000e+00
+-4.6871562500e+00 1.0000000000e+00
+-3.7496250000e+00 1.0000000000e+00
+-2.8120937500e+00 1.0000000000e+00
+-1.8745625000e+00 1.0000000000e+00
+-9.3703125000e-01 1.0000000000e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000000e+00
+1.8755625000e+00 1.0000000000e+00
+2.8130937500e+00 1.0000000000e+00
+3.7506250000e+00 1.0000000000e+00
+4.6881562500e+00 1.0000000000e+00
+5.6256875000e+00 1.0000000000e+00
+6.5632187500e+00 1.0000000000e+00
+7.5007500000e+00 1.0000000000e+00
+8.4382812500e+00 1.0000000000e+00
+9.3758125000e+00 1.0000000000e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000087227e+00
+-8.4372812500e+00 1.0001312821e+00
+-7.4997500000e+00 1.0000000010e+00
+-6.5622187500e+00 1.0000000295e+00
+-5.6246875000e+00 1.0000000106e+00
+-4.6871562500e+00 1.0000000094e+00
+-3.7496250000e+00 1.0000000077e+00
+-2.8120937500e+00 1.0000000048e+00
+-1.8745625000e+00 1.0000000025e+00
+-9.3703125000e-01 1.0000000097e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000098e+00
+1.8755625000e+00 1.0000000025e+00
+2.8130937500e+00 1.0000000048e+00
+3.7506250000e+00 1.0000000077e+00
+4.6881562500e+00 1.0000000094e+00
+5.6256875000e+00 1.0000000106e+00
+6.5632187500e+00 1.0000000295e+00
+7.5007500000e+00 1.0000000009e+00
+8.4382812500e+00 1.0001303735e+00
+9.3758125000e+00 1.0000087212e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000339561e+00
+-8.4372812500e+00 1.0001641887e+00
+-7.4997500000e+00 1.0000000043e+00
+-6.5622187500e+00 1.0000001143e+00
+-5.6246875000e+00 1.0000000410e+00
+-4.6871562500e+00 1.0000000358e+00
+-3.7496250000e+00 1.0000000287e+00
+-2.8120937500e+00 1.0000000174e+00
+-1.8745625000e+00 1.0000000105e+00
+-9.3703125000e-01 1.0000000310e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000314e+00
+1.8755625000e+00 1.0000000105e+00
+2.8130937500e+00 1.0000000174e+00
+3.7506250000e+00 1.0000000287e+00
+4.6881562500e+00 1.0000000358e+00
+5.6256875000e+00 1.0000000410e+00
+6.5632187500e+00 1.0000001145e+00
+7.5007500000e+00 1.0000000041e+00
+8.4382812500e+00 1.0001631548e+00
+9.3758125000e+00 1.0000339558e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000745660e+00
+-8.4372812500e+00 1.0001558058e+00
+-7.4997500000e+00 1.0000000109e+00
+-6.5622187500e+00 1.0000002490e+00
+-5.6246875000e+00 1.0000000889e+00
+-4.6871562500e+00 1.0000000760e+00
+-3.7496250000e+00 1.0000000598e+00
+-2.8120937500e+00 1.0000000351e+00
+-1.8745625000e+00 1.0000000242e+00
+-9.3703125000e-01 1.0000000547e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000555e+00
+1.8755625000e+00 1.0000000243e+00
+2.8130937500e+00 1.0000000352e+00
+3.7506250000e+00 1.0000000598e+00
+4.6881562500e+00 1.0000000760e+00
+5.6256875000e+00 1.0000000890e+00
+6.5632187500e+00 1.0000002494e+00
+7.5007500000e+00 1.0000000103e+00
+8.4382812500e+00 1.0001548098e+00
+9.3758125000e+00 1.0000745741e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001295144e+00
+-8.4372812500e+00 1.0001340271e+00
+-7.4997500000e+00 1.0000000216e+00
+-6.5622187500e+00 1.0000004280e+00
+-5.6246875000e+00 1.0000001523e+00
+-4.6871562500e+00 1.0000001273e+00
+-3.7496250000e+00 1.0000000977e+00
+-2.8120937500e+00 1.0000000553e+00
+-1.8745625000e+00 1.0000000436e+00
+-9.3703125000e-01 1.0000000732e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000747e+00
+1.8755625000e+00 1.0000000436e+00
+2.8130937500e+00 1.0000000554e+00
+3.7506250000e+00 1.0000000977e+00
+4.6881562500e+00 1.0000001274e+00
+5.6256875000e+00 1.0000001523e+00
+6.5632187500e+00 1.0000004287e+00
+7.5007500000e+00 1.0000000204e+00
+8.4382812500e+00 1.0001331097e+00
+9.3758125000e+00 1.0001295434e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001978671e+00
+-8.4372812500e+00 1.0001085381e+00
+-7.4997500000e+00 1.0000000375e+00
+-6.5622187500e+00 1.0000006460e+00
+-5.6246875000e+00 1.0000002287e+00
+-4.6871562500e+00 1.0000001870e+00
+-3.7496250000e+00 1.0000001393e+00
+-2.8120937500e+00 1.0000000757e+00
+-1.8745625000e+00 1.0000000696e+00
+-9.3703125000e-01 1.0000000799e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000819e+00
+1.8755625000e+00 1.0000000696e+00
+2.8130937500e+00 1.0000000757e+00
+3.7506250000e+00 1.0000001393e+00
+4.6881562500e+00 1.0000001870e+00
+5.6256875000e+00 1.0000002288e+00
+6.5632187500e+00 1.0000006470e+00
+7.5007500000e+00 1.0000000358e+00
+8.4382812500e+00 1.0001077137e+00
+9.3758125000e+00 1.0001979336e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0002787581e+00
+-8.4372812500e+00 1.0000834004e+00
+-7.4997500000e+00 1.0000000602e+00
+-6.5622187500e+00 1.0000008981e+00
+-5.6246875000e+00 1.0000003157e+00
+-4.6871562500e+00 1.0000002522e+00
+-3.7496250000e+00 1.0000001804e+00
+-2.8120937500e+00 1.0000000947e+00
+-1.8745625000e+00 1.0000001025e+00
+-9.3703125000e-01 1.0000000741e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000763e+00
+1.8755625000e+00 1.0000001023e+00
+2.8130937500e+00 1.0000000948e+00
+3.7506250000e+00 1.0000001805e+00
+4.6881562500e+00 1.0000002522e+00
+5.6256875000e+00 1.0000003158e+00
+6.5632187500e+00 1.0000008993e+00
+7.5007500000e+00 1.0000000575e+00
+8.4382812500e+00 1.0000826755e+00
+9.3758125000e+00 1.0002788821e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0003710282e+00
+-8.4372812500e+00 1.0000605195e+00
+-7.4997500000e+00 1.0000000907e+00
+-6.5622187500e+00 1.0000011795e+00
+-5.6246875000e+00 1.0000004105e+00
+-4.6871562500e+00 1.0000003204e+00
+-3.7496250000e+00 1.0000002199e+00
+-2.8120937500e+00 1.0000001113e+00
+-1.8745625000e+00 1.0000001419e+00
+-9.3703125000e-01 1.0000000590e+00
+5.0000000000e-04 1.0000000001e+00
+9.3803125000e-01 1.0000000614e+00
+1.8755625000e+00 1.0000001416e+00
+2.8130937500e+00 1.0000001113e+00
+3.7506250000e+00 1.0000002200e+00
+4.6881562500e+00 1.0000003205e+00
+5.6256875000e+00 1.0000004107e+00
+6.5632187500e+00 1.0000011809e+00
+7.5007500000e+00 1.0000000870e+00
+8.4382812500e+00 1.0000598977e+00
+9.3758125000e+00 1.0003712176e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_y_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_y_[16][16].xg
new file mode 100644
index 0000000..7773e50
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_y_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000000000e+00
+-8.4372812500e+00 1.0000000000e+00
+-7.4997500000e+00 1.0000000000e+00
+-6.5622187500e+00 1.0000000000e+00
+-5.6246875000e+00 1.0000000000e+00
+-4.6871562500e+00 1.0000000000e+00
+-3.7496250000e+00 1.0000000000e+00
+-2.8120937500e+00 1.0000000000e+00
+-1.8745625000e+00 1.0000000000e+00
+-9.3703125000e-01 1.0000000000e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000000e+00
+1.8755625000e+00 1.0000000000e+00
+2.8130937500e+00 1.0000000000e+00
+3.7506250000e+00 1.0000000000e+00
+4.6881562500e+00 1.0000000000e+00
+5.6256875000e+00 1.0000000000e+00
+6.5632187500e+00 1.0000000000e+00
+7.5007500000e+00 1.0000000000e+00
+8.4382812500e+00 1.0000000000e+00
+9.3758125000e+00 1.0000000000e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000087227e+00
+-8.4372812500e+00 1.0001312821e+00
+-7.4997500000e+00 1.0000000010e+00
+-6.5622187500e+00 1.0000000295e+00
+-5.6246875000e+00 1.0000000106e+00
+-4.6871562500e+00 1.0000000094e+00
+-3.7496250000e+00 1.0000000077e+00
+-2.8120937500e+00 1.0000000048e+00
+-1.8745625000e+00 1.0000000025e+00
+-9.3703125000e-01 1.0000000097e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000098e+00
+1.8755625000e+00 1.0000000025e+00
+2.8130937500e+00 1.0000000048e+00
+3.7506250000e+00 1.0000000077e+00
+4.6881562500e+00 1.0000000094e+00
+5.6256875000e+00 1.0000000106e+00
+6.5632187500e+00 1.0000000295e+00
+7.5007500000e+00 1.0000000009e+00
+8.4382812500e+00 1.0001303735e+00
+9.3758125000e+00 1.0000087212e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000339561e+00
+-8.4372812500e+00 1.0001641887e+00
+-7.4997500000e+00 1.0000000043e+00
+-6.5622187500e+00 1.0000001143e+00
+-5.6246875000e+00 1.0000000410e+00
+-4.6871562500e+00 1.0000000358e+00
+-3.7496250000e+00 1.0000000287e+00
+-2.8120937500e+00 1.0000000174e+00
+-1.8745625000e+00 1.0000000105e+00
+-9.3703125000e-01 1.0000000310e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000314e+00
+1.8755625000e+00 1.0000000105e+00
+2.8130937500e+00 1.0000000174e+00
+3.7506250000e+00 1.0000000287e+00
+4.6881562500e+00 1.0000000358e+00
+5.6256875000e+00 1.0000000410e+00
+6.5632187500e+00 1.0000001145e+00
+7.5007500000e+00 1.0000000041e+00
+8.4382812500e+00 1.0001631548e+00
+9.3758125000e+00 1.0000339558e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000745660e+00
+-8.4372812500e+00 1.0001558058e+00
+-7.4997500000e+00 1.0000000109e+00
+-6.5622187500e+00 1.0000002490e+00
+-5.6246875000e+00 1.0000000889e+00
+-4.6871562500e+00 1.0000000760e+00
+-3.7496250000e+00 1.0000000598e+00
+-2.8120937500e+00 1.0000000351e+00
+-1.8745625000e+00 1.0000000242e+00
+-9.3703125000e-01 1.0000000547e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000555e+00
+1.8755625000e+00 1.0000000243e+00
+2.8130937500e+00 1.0000000352e+00
+3.7506250000e+00 1.0000000598e+00
+4.6881562500e+00 1.0000000760e+00
+5.6256875000e+00 1.0000000890e+00
+6.5632187500e+00 1.0000002494e+00
+7.5007500000e+00 1.0000000103e+00
+8.4382812500e+00 1.0001548098e+00
+9.3758125000e+00 1.0000745741e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001295144e+00
+-8.4372812500e+00 1.0001340271e+00
+-7.4997500000e+00 1.0000000216e+00
+-6.5622187500e+00 1.0000004280e+00
+-5.6246875000e+00 1.0000001523e+00
+-4.6871562500e+00 1.0000001273e+00
+-3.7496250000e+00 1.0000000977e+00
+-2.8120937500e+00 1.0000000553e+00
+-1.8745625000e+00 1.0000000436e+00
+-9.3703125000e-01 1.0000000732e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000747e+00
+1.8755625000e+00 1.0000000436e+00
+2.8130937500e+00 1.0000000554e+00
+3.7506250000e+00 1.0000000977e+00
+4.6881562500e+00 1.0000001274e+00
+5.6256875000e+00 1.0000001523e+00
+6.5632187500e+00 1.0000004287e+00
+7.5007500000e+00 1.0000000204e+00
+8.4382812500e+00 1.0001331097e+00
+9.3758125000e+00 1.0001295434e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001978671e+00
+-8.4372812500e+00 1.0001085381e+00
+-7.4997500000e+00 1.0000000375e+00
+-6.5622187500e+00 1.0000006460e+00
+-5.6246875000e+00 1.0000002287e+00
+-4.6871562500e+00 1.0000001870e+00
+-3.7496250000e+00 1.0000001393e+00
+-2.8120937500e+00 1.0000000757e+00
+-1.8745625000e+00 1.0000000696e+00
+-9.3703125000e-01 1.0000000799e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000819e+00
+1.8755625000e+00 1.0000000696e+00
+2.8130937500e+00 1.0000000757e+00
+3.7506250000e+00 1.0000001393e+00
+4.6881562500e+00 1.0000001870e+00
+5.6256875000e+00 1.0000002288e+00
+6.5632187500e+00 1.0000006470e+00
+7.5007500000e+00 1.0000000358e+00
+8.4382812500e+00 1.0001077137e+00
+9.3758125000e+00 1.0001979336e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0002787581e+00
+-8.4372812500e+00 1.0000834004e+00
+-7.4997500000e+00 1.0000000602e+00
+-6.5622187500e+00 1.0000008981e+00
+-5.6246875000e+00 1.0000003157e+00
+-4.6871562500e+00 1.0000002522e+00
+-3.7496250000e+00 1.0000001804e+00
+-2.8120937500e+00 1.0000000947e+00
+-1.8745625000e+00 1.0000001025e+00
+-9.3703125000e-01 1.0000000741e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000763e+00
+1.8755625000e+00 1.0000001023e+00
+2.8130937500e+00 1.0000000948e+00
+3.7506250000e+00 1.0000001805e+00
+4.6881562500e+00 1.0000002522e+00
+5.6256875000e+00 1.0000003158e+00
+6.5632187500e+00 1.0000008993e+00
+7.5007500000e+00 1.0000000575e+00
+8.4382812500e+00 1.0000826755e+00
+9.3758125000e+00 1.0002788821e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0003710282e+00
+-8.4372812500e+00 1.0000605195e+00
+-7.4997500000e+00 1.0000000907e+00
+-6.5622187500e+00 1.0000011795e+00
+-5.6246875000e+00 1.0000004105e+00
+-4.6871562500e+00 1.0000003204e+00
+-3.7496250000e+00 1.0000002199e+00
+-2.8120937500e+00 1.0000001113e+00
+-1.8745625000e+00 1.0000001419e+00
+-9.3703125000e-01 1.0000000590e+00
+5.0000000000e-04 1.0000000001e+00
+9.3803125000e-01 1.0000000614e+00
+1.8755625000e+00 1.0000001416e+00
+2.8130937500e+00 1.0000001113e+00
+3.7506250000e+00 1.0000002200e+00
+4.6881562500e+00 1.0000003205e+00
+5.6256875000e+00 1.0000004107e+00
+6.5632187500e+00 1.0000011809e+00
+7.5007500000e+00 1.0000000870e+00
+8.4382812500e+00 1.0000598977e+00
+9.3758125000e+00 1.0003712176e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/w_lorentz_z_[16][16].xg b/test/whisky_test_tov_ppm_no_trp/w_lorentz_z_[16][16].xg
new file mode 100644
index 0000000..7773e50
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/w_lorentz_z_[16][16].xg
@@ -0,0 +1,288 @@
+
+
+"Time = 0.0000000000e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000000000e+00
+-8.4372812500e+00 1.0000000000e+00
+-7.4997500000e+00 1.0000000000e+00
+-6.5622187500e+00 1.0000000000e+00
+-5.6246875000e+00 1.0000000000e+00
+-4.6871562500e+00 1.0000000000e+00
+-3.7496250000e+00 1.0000000000e+00
+-2.8120937500e+00 1.0000000000e+00
+-1.8745625000e+00 1.0000000000e+00
+-9.3703125000e-01 1.0000000000e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000000e+00
+1.8755625000e+00 1.0000000000e+00
+2.8130937500e+00 1.0000000000e+00
+3.7506250000e+00 1.0000000000e+00
+4.6881562500e+00 1.0000000000e+00
+5.6256875000e+00 1.0000000000e+00
+6.5632187500e+00 1.0000000000e+00
+7.5007500000e+00 1.0000000000e+00
+8.4382812500e+00 1.0000000000e+00
+9.3758125000e+00 1.0000000000e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 3.5157421875e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000087227e+00
+-8.4372812500e+00 1.0001312821e+00
+-7.4997500000e+00 1.0000000010e+00
+-6.5622187500e+00 1.0000000295e+00
+-5.6246875000e+00 1.0000000106e+00
+-4.6871562500e+00 1.0000000094e+00
+-3.7496250000e+00 1.0000000077e+00
+-2.8120937500e+00 1.0000000048e+00
+-1.8745625000e+00 1.0000000025e+00
+-9.3703125000e-01 1.0000000097e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000098e+00
+1.8755625000e+00 1.0000000025e+00
+2.8130937500e+00 1.0000000048e+00
+3.7506250000e+00 1.0000000077e+00
+4.6881562500e+00 1.0000000094e+00
+5.6256875000e+00 1.0000000106e+00
+6.5632187500e+00 1.0000000295e+00
+7.5007500000e+00 1.0000000009e+00
+8.4382812500e+00 1.0001303735e+00
+9.3758125000e+00 1.0000087212e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 7.0314843750e-01
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000339561e+00
+-8.4372812500e+00 1.0001641887e+00
+-7.4997500000e+00 1.0000000043e+00
+-6.5622187500e+00 1.0000001143e+00
+-5.6246875000e+00 1.0000000410e+00
+-4.6871562500e+00 1.0000000358e+00
+-3.7496250000e+00 1.0000000287e+00
+-2.8120937500e+00 1.0000000174e+00
+-1.8745625000e+00 1.0000000105e+00
+-9.3703125000e-01 1.0000000310e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000314e+00
+1.8755625000e+00 1.0000000105e+00
+2.8130937500e+00 1.0000000174e+00
+3.7506250000e+00 1.0000000287e+00
+4.6881562500e+00 1.0000000358e+00
+5.6256875000e+00 1.0000000410e+00
+6.5632187500e+00 1.0000001145e+00
+7.5007500000e+00 1.0000000041e+00
+8.4382812500e+00 1.0001631548e+00
+9.3758125000e+00 1.0000339558e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.0547226562e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0000745660e+00
+-8.4372812500e+00 1.0001558058e+00
+-7.4997500000e+00 1.0000000109e+00
+-6.5622187500e+00 1.0000002490e+00
+-5.6246875000e+00 1.0000000889e+00
+-4.6871562500e+00 1.0000000760e+00
+-3.7496250000e+00 1.0000000598e+00
+-2.8120937500e+00 1.0000000351e+00
+-1.8745625000e+00 1.0000000242e+00
+-9.3703125000e-01 1.0000000547e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000555e+00
+1.8755625000e+00 1.0000000243e+00
+2.8130937500e+00 1.0000000352e+00
+3.7506250000e+00 1.0000000598e+00
+4.6881562500e+00 1.0000000760e+00
+5.6256875000e+00 1.0000000890e+00
+6.5632187500e+00 1.0000002494e+00
+7.5007500000e+00 1.0000000103e+00
+8.4382812500e+00 1.0001548098e+00
+9.3758125000e+00 1.0000745741e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.4062968750e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001295144e+00
+-8.4372812500e+00 1.0001340271e+00
+-7.4997500000e+00 1.0000000216e+00
+-6.5622187500e+00 1.0000004280e+00
+-5.6246875000e+00 1.0000001523e+00
+-4.6871562500e+00 1.0000001273e+00
+-3.7496250000e+00 1.0000000977e+00
+-2.8120937500e+00 1.0000000553e+00
+-1.8745625000e+00 1.0000000436e+00
+-9.3703125000e-01 1.0000000732e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000747e+00
+1.8755625000e+00 1.0000000436e+00
+2.8130937500e+00 1.0000000554e+00
+3.7506250000e+00 1.0000000977e+00
+4.6881562500e+00 1.0000001274e+00
+5.6256875000e+00 1.0000001523e+00
+6.5632187500e+00 1.0000004287e+00
+7.5007500000e+00 1.0000000204e+00
+8.4382812500e+00 1.0001331097e+00
+9.3758125000e+00 1.0001295434e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 1.7578710937e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0001978671e+00
+-8.4372812500e+00 1.0001085381e+00
+-7.4997500000e+00 1.0000000375e+00
+-6.5622187500e+00 1.0000006460e+00
+-5.6246875000e+00 1.0000002287e+00
+-4.6871562500e+00 1.0000001870e+00
+-3.7496250000e+00 1.0000001393e+00
+-2.8120937500e+00 1.0000000757e+00
+-1.8745625000e+00 1.0000000696e+00
+-9.3703125000e-01 1.0000000799e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000819e+00
+1.8755625000e+00 1.0000000696e+00
+2.8130937500e+00 1.0000000757e+00
+3.7506250000e+00 1.0000001393e+00
+4.6881562500e+00 1.0000001870e+00
+5.6256875000e+00 1.0000002288e+00
+6.5632187500e+00 1.0000006470e+00
+7.5007500000e+00 1.0000000358e+00
+8.4382812500e+00 1.0001077137e+00
+9.3758125000e+00 1.0001979336e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.1094453125e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0002787581e+00
+-8.4372812500e+00 1.0000834004e+00
+-7.4997500000e+00 1.0000000602e+00
+-6.5622187500e+00 1.0000008981e+00
+-5.6246875000e+00 1.0000003157e+00
+-4.6871562500e+00 1.0000002522e+00
+-3.7496250000e+00 1.0000001804e+00
+-2.8120937500e+00 1.0000000947e+00
+-1.8745625000e+00 1.0000001025e+00
+-9.3703125000e-01 1.0000000741e+00
+5.0000000000e-04 1.0000000000e+00
+9.3803125000e-01 1.0000000763e+00
+1.8755625000e+00 1.0000001023e+00
+2.8130937500e+00 1.0000000948e+00
+3.7506250000e+00 1.0000001805e+00
+4.6881562500e+00 1.0000002522e+00
+5.6256875000e+00 1.0000003158e+00
+6.5632187500e+00 1.0000008993e+00
+7.5007500000e+00 1.0000000575e+00
+8.4382812500e+00 1.0000826755e+00
+9.3758125000e+00 1.0002788821e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
+
+
+"Time = 2.4610195312e+00
+-1.5000000000e+01 1.0000000000e+00
+-1.4062468750e+01 1.0000000000e+00
+-1.3124937500e+01 1.0000000000e+00
+-1.2187406250e+01 1.0000000000e+00
+-1.1249875000e+01 1.0000000000e+00
+-1.0312343750e+01 1.0000000000e+00
+-9.3748125000e+00 1.0003710282e+00
+-8.4372812500e+00 1.0000605195e+00
+-7.4997500000e+00 1.0000000907e+00
+-6.5622187500e+00 1.0000011795e+00
+-5.6246875000e+00 1.0000004105e+00
+-4.6871562500e+00 1.0000003204e+00
+-3.7496250000e+00 1.0000002199e+00
+-2.8120937500e+00 1.0000001113e+00
+-1.8745625000e+00 1.0000001419e+00
+-9.3703125000e-01 1.0000000590e+00
+5.0000000000e-04 1.0000000001e+00
+9.3803125000e-01 1.0000000614e+00
+1.8755625000e+00 1.0000001416e+00
+2.8130937500e+00 1.0000001113e+00
+3.7506250000e+00 1.0000002200e+00
+4.6881562500e+00 1.0000003205e+00
+5.6256875000e+00 1.0000004107e+00
+6.5632187500e+00 1.0000011809e+00
+7.5007500000e+00 1.0000000870e+00
+8.4382812500e+00 1.0000598977e+00
+9.3758125000e+00 1.0003712176e+00
+1.0313343750e+01 1.0000000000e+00
+1.1250875000e+01 1.0000000000e+00
+1.2188406250e+01 1.0000000000e+00
+1.3125937500e+01 1.0000000000e+00
+1.4063468750e+01 1.0000000000e+00
+1.5001000000e+01 1.0000000000e+00
diff --git a/test/whisky_test_tov_ppm_no_trp/whisky_test_tov_ppm_no_trp.par b/test/whisky_test_tov_ppm_no_trp/whisky_test_tov_ppm_no_trp.par
new file mode 100644
index 0000000..bb338cf
--- /dev/null
+++ b/test/whisky_test_tov_ppm_no_trp/whisky_test_tov_ppm_no_trp.par
@@ -0,0 +1,81 @@
+!DESC "TOV from TOVSolverC, ICN, Marquina, PPM, Polytrope"
+
+ActiveThorns = "time MoL pugh pughreduce pughslab coordbase symbase cartgrid3d ioutil ioascii iobasic boundary admbase staticconformal spacemask admcoupling coordgauge admmacros hydrobase whisky whisky_init_data whisky_tovsolverc nanchecker eos_base eos_ideal_fluid eos_polytrope bssn_mol admconstraints Constants localreduce Tmunubase"
+
+TmunuBase::stress_energy_storage = yes
+TmunuBase::stress_energy_at_RHS = yes
+TmunuBase::timelevels = 1
+TmunuBase::prolongation_type = none
+
+time::dtfac = 0.375
+
+hydrobase::timelevels = 2
+hydrobase::evolution_method = "whisky"
+
+admbase::evolution_method = "adm_bssn"
+admbase::lapse_evolution_method = "1+log"
+admbase::shift_evolution_method = "gamma0"
+
+adm_bssn::bound = "radiative"
+adm_bssn::harmonic_f = 2.0
+
+admconstraints::bound = "static"
+ADMConstraints::constraints_persist = yes
+
+boundary::radpower = 2
+
+SpaceMask::use_mask = "yes"
+
+grid::type = "byrange"
+grid::domain = "full"
+grid::xyzmin = -15.0
+grid::xyzmax = 15.001
+driver::ghost_size = 3
+driver::global_nsize = 33
+
+cactus::cctk_itlast = 7
+
+methodoflines::ode_method = "icn"
+
+whisky::riemann_solver = "Marquina"
+whisky::whisky_eos_type = "Polytype"
+whisky::whisky_eos_table = "2D_Polytrope"
+whisky::recon_method = "ppm"
+whisky::check_for_trivial_rp = "no"
+whisky::whisky_stencil = 3
+whisky::bound = "none"
+whisky::rho_abs_min = 1.e-7
+whisky::initial_atmosphere_factor = 0.999
+
+whisky::ppm_detect = "no"
+whisky::ppm_epsilon = 0.0
+whisky::ppm_omega1 = 0.52
+whisky::ppm_omega2 = 0.0
+whisky::ppm_epsilon_shock = 0.1
+whisky::ppm_eta1 = 5.0
+whisky::ppm_k0 = 0.2
+
+ADMBase::initial_data = "tov"
+ADMBase::initial_lapse = "tov"
+ADMBase::initial_shift = "tov"
+
+whiskytovsolver::TOV_Rho_Central[0] = 1.28e-3
+whiskytovsolver::TOV_Gamma[0] = 2.0
+whiskytovsolver::TOV_K[0] = 100.0
+whiskytovsolver::TOV_Combine_Method = "maximum"
+
+EOS_Polytrope::eos_gamma = 2.0
+EOS_Polytrope::eos_k = 100.0
+
+IOBasic::outInfo_every = 1
+IOBasic::outInfo_vars = "HydroBase::rho"
+
+IO::out_dir = "whisky_test_tov_ppm_no_trp"
+IO::out_fileinfo="none"
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admbase::lapse admbase::metric admbase::curv admconstraints::ham admconstraints::momentum"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_vars = "whisky::w_lorentz hydrobase::rho hydrobase::press hydrobase::eps HydroBase::vel whisky::dens whisky::tau whisky::scon admconstraints::ham admconstraints::momentum"
+IOASCII::out_format = ".10e"