














































 











































































 


































































































































































 






















































































































































































































































 






























































 










 








































































































































































































































 










                                
                                

                                
                                

                                
                                

                                

















































 

subroutine GRHydro_reconstruction_test(cctk_dim,cctk_gsh,cctk_lsh,cctk_lbnd,cctk_ubnd,cctk_tile_min,cctk_tile_max,cctk_ash,cctk_ali&
  &gnment,cctk_alignment_offset,cctk_from,cctk_to,cctk_bbox,cctk_delta_time,cctk_time,cctk_delta_space,cctk_origin_space,cctk_levfa&
  &c,cctk_levoff,cctk_levoffdenom,cctk_timefac,cctk_convlevel,cctk_convfac,cctk_nghostzones,cctk_iteration,cctkGH,cctk_ash1,cctk_as&
  &h2,cctk_ash3, GRHydro_init_data_reflevel, c_s,simple_eps,simple_eps_0,simple_rho,simple_rho_0,simple_tmp, Avec_length,Avecrhs_le&
  &ngth,Bcons_length,Bconsrhs_length,Bvec_length,Evec_length,GRHydro_cons_tracers_length,GRHydro_tracers_length,bcom_length,lBvec_l&
  &ength,lvel_length,scon_length,srhs_length,vel_length,Abar,Abar_p,Abar_p_p,Aphi,Aphi_p,Aphi_p_p,Aphiflux,Aphirhs,Avec,Avec_p,Avec&
  &_p_p,Avecrhs,Avecxflux,Avecyflux,Aveczflux,Bcons,Bcons_p,Bcons_p_p,Bconsrhs,Bconsxflux,Bconsyflux,Bconszflux,Bvec,Bvec_p,Bvec_p_&
  &p,Evec,GRHydro_C2P_failed,GRHydro_eos_handle,GRHydro_polytrope_handle,GRHydro_reflevel,GRHydro_rho_min,GRHydro_tau_min,Y_e,Y_e_p&
  &,Y_e_p_p,Y_e_con,Y_e_con_p,Y_e_con_p_p,Y_e_con_flux,Y_e_con_rhs,alp,alp_p,alp_p_p,atmosphere_atmosp_descriptor,atmosphere_field_&
  &descriptor,atmosphere_mask,atmosphere_mask_real,atmosphere_normal_descriptor,bcom,bcom_p,bcom_p_p,bcom0,bcom0_p,bcom0_p_p,bcom_s&
  &q,bcom_sq_p,bcom_sq_p_p,betaa,betab,betac,betax,betax_p,betax_p_p,betay,betay_p,betay_p_p,betaz,betaz_p,betaz_p_p,coarse_dx,coar&
  &se_dy,coarse_dz,conformal_state,cons_tracer,cons_tracer_p,cons_tracer_p_p,cs2minus,cs2plus,dens,dens_p,dens_p_p,densflux,densrhs&
  &,divB,dtalp,dtalp_p,dtalp_p_p,dtbetax,dtbetax_p,dtbetax_p_p,dtbetay,dtbetay_p,dtbetay_p_p,dtbetaz,dtbetaz_p,dtbetaz_p_p,dtlapse_&
  &state,dtshift_state,eTtt,eTtt_p,eTtt_p_p,eTtx,eTtx_p,eTtx_p_p,eTty,eTty_p,eTty_p_p,eTtz,eTtz_p,eTtz_p_p,eTxx,eTxx_p,eTxx_p_p,eTx&
  &y,eTxy_p,eTxy_p_p,eTxz,eTxz_p,eTxz_p_p,eTyy,eTyy_p,eTyy_p_p,eTyz,eTyz_p,eTyz_p_p,eTzz,eTzz_p,eTzz_p_p,emask,entropy,entropy_p,en&
  &tropy_p_p,entropycons,entropycons_p,entropycons_p_p,entropyflux,entropyrhs,eps,eps_p,eps_p_p,epsminus,epsplus,evolve_Lorenz_gge,&
  &evolve_MHD,evolve_Y_e,evolve_entropy,evolve_temper,flux_direction,gaa,gaa_p,gaa_p_p,gab,gab_p,gab_p_p,gac,gac_p,gac_p_p,gbb,gbb_&
  &p,gbb_p_p,gbc,gbc_p,gbc_p_p,gcc,gcc_p,gcc_p_p,gxx,gxx_p,gxx_p_p,gxy,gxy_p,gxy_p_p,gxz,gxz_p,gxz_p_p,gyy,gyy_p,gyy_p_p,gyz,gyz_p,&
  &gyz_p_p,gzz,gzz_p,gzz_p_p,hydro_excision_mask,kaa,kab,kac,kbb,kbc,kcc,kxx,kxx_p,kxx_p_p,kxy,kxy_p,kxy_p_p,kxz,kxz_p,kxz_p_p,kyy,&
  &kyy_p,kyy_p_p,kyz,kyz_p,kyz_p_p,kzz,kzz_p,kzz_p_p,lBvec,lBvec_p,lBvec_p_p,lvel,lvel_p,lvel_p_p,maxima_x,maxima_y,maxima_z,maximu&
  &m_density,maxrho_global,press,press_p,press_p_p,pressminus,pressplus,psi,psidc,psidc_p,psidc_p_p,psidcflux,psidcrhs,psix,psixx,p&
  &sixy,psixz,psiy,psiyy,psiyz,psiz,psizz,r,rho,rho_p,rho_p_p,rhominus,rhoplus,scon,scon_p,scon_p_p,sdetg,shift_state,space_mask,sr&
  &hs,stress_energy_state,sxflux,syflux,szflux,tau,tau_p,tau_p_p,tauflux,taurhs,temperature,temperature_p,temperature_p_p,tracer,tr&
  &acer_p,tracer_p_p,vel,vel_p,vel_p_p,velxminus,velxplus,velyminus,velyplus,velzminus,velzplus,w_lorentz,w_lorentz_p,w_lorentz_p_p&
  &,w_lorentzminus,w_lorentzplus,x,xoffset,y,yoffset,z,zoffset)

  implicit none
  

  INTEGER cctk_dim
  integer, parameter :: cctki_use_cctk_dim = kind(cctk_dim)
  INTEGER cctk_gsh (cctk_dim)
  integer, parameter :: cctki_use_cctk_gsh = kind(cctk_gsh)
  INTEGER cctk_lsh (cctk_dim)
  integer, parameter :: cctki_use_cctk_lsh = kind(cctk_lsh)
  INTEGER cctk_lbnd (cctk_dim)
  integer, parameter :: cctki_use_cctk_lbnd = kind(cctk_lbnd)
  INTEGER cctk_ubnd (cctk_dim)
  integer, parameter :: cctki_use_cctk_ubnd = kind(cctk_ubnd)
  INTEGER cctk_tile_min (cctk_dim)
  integer, parameter :: cctki_use_cctk_tile_min = kind(cctk_tile_min)
  INTEGER cctk_tile_max (cctk_dim)
  integer, parameter :: cctki_use_cctk_tile_max = kind(cctk_tile_max)
  INTEGER cctk_ash (cctk_dim)
  integer, parameter :: cctki_use_cctk_ash = kind(cctk_ash)
  INTEGER cctk_alignment
  integer, parameter :: cctki_use_cctk_alignment = kind(cctk_alignment)
  INTEGER cctk_alignment_offset
  integer, parameter :: cctki_use_cctk_alignment_offset = kind(cctk_alignment_offset)
  INTEGER cctk_from (cctk_dim)
  integer, parameter :: cctki_use_cctk_from = kind(cctk_from)
  INTEGER cctk_to (cctk_dim)
  integer, parameter :: cctki_use_cctk_to = kind(cctk_to)
  INTEGER cctk_bbox (2*cctk_dim)
  integer, parameter :: cctki_use_cctk_bbox = kind(cctk_bbox)
  REAL*8 cctk_delta_time
  integer, parameter :: cctki_use_cctk_delta_time = kind(cctk_delta_time)
  REAL*8 cctk_time
  integer, parameter :: cctki_use_cctk_time = kind(cctk_time)
  REAL*8 cctk_delta_space (cctk_dim)
  integer, parameter :: cctki_use_cctk_delta_space = kind(cctk_delta_space)
  REAL*8 cctk_origin_space (cctk_dim)
  integer, parameter :: cctki_use_cctk_origin_space = kind(cctk_origin_space)
  INTEGER cctk_levfac (cctk_dim)
  integer, parameter :: cctki_use_cctk_levfac = kind(cctk_levfac)
  INTEGER cctk_levoff (cctk_dim)
  integer, parameter :: cctki_use_cctk_levoff = kind(cctk_levoff)
  INTEGER cctk_levoffdenom (cctk_dim)
  integer, parameter :: cctki_use_cctk_levoffdenom = kind(cctk_levoffdenom)
  INTEGER cctk_timefac
  integer, parameter :: cctki_use_cctk_timefac = kind(cctk_timefac)
  INTEGER cctk_convlevel
  integer, parameter :: cctki_use_cctk_convlevel = kind(cctk_convlevel)
  INTEGER cctk_convfac
  integer, parameter :: cctki_use_cctk_convfac = kind(cctk_convfac)
  INTEGER cctk_nghostzones (cctk_dim)
  integer, parameter :: cctki_use_cctk_nghostzones = kind(cctk_nghostzones)
  INTEGER cctk_iteration
  integer, parameter :: cctki_use_cctk_iteration = kind(cctk_iteration)
  integer*8 cctkGH
  integer, parameter :: cctki_use_cctkGH = kind(cctkGH)
  INTEGER cctk_ash1
  integer, parameter :: cctki_use_cctk_ash1 = kind(cctk_ash1)
  INTEGER cctk_ash2
  integer, parameter :: cctki_use_cctk_ash2 = kind(cctk_ash2)
  INTEGER cctk_ash3
  integer, parameter :: cctki_use_cctk_ash3 = kind(cctk_ash3)
  INTEGER*4 GRHydro_init_data_reflevel
  integer, parameter :: cctki_use_GRHydro_init_data_reflevel = kind(GRHydro_init_data_reflevel)
  REAL*8 c_s (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_c_s = kind(c_s)
  REAL*8 simple_eps (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_simple_eps = kind(simple_eps)
  REAL*8 simple_eps_0
  integer, parameter :: cctki_use_simple_eps_0 = kind(simple_eps_0)
  REAL*8 simple_rho (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_simple_rho = kind(simple_rho)
  REAL*8 simple_rho_0
  integer, parameter :: cctki_use_simple_rho_0 = kind(simple_rho_0)
  REAL*8 simple_tmp (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_simple_tmp = kind(simple_tmp)
  INTEGER Avec_length
  INTEGER Avecrhs_length
  INTEGER Bcons_length
  INTEGER Bconsrhs_length
  INTEGER Bvec_length
  INTEGER Evec_length
  INTEGER GRHydro_cons_tracers_length
  INTEGER GRHydro_tracers_length
  INTEGER bcom_length
  INTEGER lBvec_length
  INTEGER lvel_length
  INTEGER scon_length
  INTEGER srhs_length
  INTEGER vel_length
  REAL*8 Abar (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Abar = kind(Abar)
  REAL*8 Abar_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Abar_p = kind(Abar_p)
  REAL*8 Abar_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Abar_p_p = kind(Abar_p_p)
  REAL*8 Aphi (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Aphi = kind(Aphi)
  REAL*8 Aphi_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Aphi_p = kind(Aphi_p)
  REAL*8 Aphi_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Aphi_p_p = kind(Aphi_p_p)
  REAL*8 Aphiflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Aphiflux = kind(Aphiflux)
  REAL*8 Aphirhs (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Aphirhs = kind(Aphirhs)
  REAL*8 Avec (cctk_ash1,cctk_ash2,cctk_ash3,Avec_length)
  integer, parameter :: cctki_use_Avec = kind(Avec)
  REAL*8 Avec_p (cctk_ash1,cctk_ash2,cctk_ash3,Avec_length)
  integer, parameter :: cctki_use_Avec_p = kind(Avec_p)
  REAL*8 Avec_p_p (cctk_ash1,cctk_ash2,cctk_ash3,Avec_length)
  integer, parameter :: cctki_use_Avec_p_p = kind(Avec_p_p)
  REAL*8 Avecrhs (cctk_ash1,cctk_ash2,cctk_ash3,Avecrhs_length)
  integer, parameter :: cctki_use_Avecrhs = kind(Avecrhs)
  REAL*8 Avecxflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Avecxflux = kind(Avecxflux)
  REAL*8 Avecyflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Avecyflux = kind(Avecyflux)
  REAL*8 Aveczflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Aveczflux = kind(Aveczflux)
  REAL*8 Bcons (cctk_ash1,cctk_ash2,cctk_ash3,Bcons_length)
  integer, parameter :: cctki_use_Bcons = kind(Bcons)
  REAL*8 Bcons_p (cctk_ash1,cctk_ash2,cctk_ash3,Bcons_length)
  integer, parameter :: cctki_use_Bcons_p = kind(Bcons_p)
  REAL*8 Bcons_p_p (cctk_ash1,cctk_ash2,cctk_ash3,Bcons_length)
  integer, parameter :: cctki_use_Bcons_p_p = kind(Bcons_p_p)
  REAL*8 Bconsrhs (cctk_ash1,cctk_ash2,cctk_ash3,Bconsrhs_length)
  integer, parameter :: cctki_use_Bconsrhs = kind(Bconsrhs)
  REAL*8 Bconsxflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Bconsxflux = kind(Bconsxflux)
  REAL*8 Bconsyflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Bconsyflux = kind(Bconsyflux)
  REAL*8 Bconszflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Bconszflux = kind(Bconszflux)
  REAL*8 Bvec (cctk_ash1,cctk_ash2,cctk_ash3,Bvec_length)
  integer, parameter :: cctki_use_Bvec = kind(Bvec)
  REAL*8 Bvec_p (cctk_ash1,cctk_ash2,cctk_ash3,Bvec_length)
  integer, parameter :: cctki_use_Bvec_p = kind(Bvec_p)
  REAL*8 Bvec_p_p (cctk_ash1,cctk_ash2,cctk_ash3,Bvec_length)
  integer, parameter :: cctki_use_Bvec_p_p = kind(Bvec_p_p)
  REAL*8 Evec (cctk_ash1,cctk_ash2,cctk_ash3,Evec_length)
  integer, parameter :: cctki_use_Evec = kind(Evec)
  REAL*8 GRHydro_C2P_failed (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_GRHydro_C2P_failed = kind(GRHydro_C2P_failed)
  INTEGER*4 GRHydro_eos_handle
  integer, parameter :: cctki_use_GRHydro_eos_handle = kind(GRHydro_eos_handle)
  INTEGER*4 GRHydro_polytrope_handle
  integer, parameter :: cctki_use_GRHydro_polytrope_handle = kind(GRHydro_polytrope_handle)
  INTEGER*4 GRHydro_reflevel
  integer, parameter :: cctki_use_GRHydro_reflevel = kind(GRHydro_reflevel)
  REAL*8 GRHydro_rho_min
  integer, parameter :: cctki_use_GRHydro_rho_min = kind(GRHydro_rho_min)
  REAL*8 GRHydro_tau_min
  integer, parameter :: cctki_use_GRHydro_tau_min = kind(GRHydro_tau_min)
  REAL*8 Y_e (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e = kind(Y_e)
  REAL*8 Y_e_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_p = kind(Y_e_p)
  REAL*8 Y_e_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_p_p = kind(Y_e_p_p)
  REAL*8 Y_e_con (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_con = kind(Y_e_con)
  REAL*8 Y_e_con_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_con_p = kind(Y_e_con_p)
  REAL*8 Y_e_con_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_con_p_p = kind(Y_e_con_p_p)
  REAL*8 Y_e_con_flux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_con_flux = kind(Y_e_con_flux)
  REAL*8 Y_e_con_rhs (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_Y_e_con_rhs = kind(Y_e_con_rhs)
  REAL*8 alp (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_alp = kind(alp)
  REAL*8 alp_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_alp_p = kind(alp_p)
  REAL*8 alp_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_alp_p_p = kind(alp_p_p)
  INTEGER*4 atmosphere_atmosp_descriptor
  integer, parameter :: cctki_use_atmosphere_atmosp_descriptor = kind(atmosphere_atmosp_descriptor)
  INTEGER*4 atmosphere_field_descriptor
  integer, parameter :: cctki_use_atmosphere_field_descriptor = kind(atmosphere_field_descriptor)
  INTEGER*4 atmosphere_mask (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_atmosphere_mask = kind(atmosphere_mask)
  REAL*8 atmosphere_mask_real (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_atmosphere_mask_real = kind(atmosphere_mask_real)
  INTEGER*4 atmosphere_normal_descriptor
  integer, parameter :: cctki_use_atmosphere_normal_descriptor = kind(atmosphere_normal_descriptor)
  REAL*8 bcom (cctk_ash1,cctk_ash2,cctk_ash3,bcom_length)
  integer, parameter :: cctki_use_bcom = kind(bcom)
  REAL*8 bcom_p (cctk_ash1,cctk_ash2,cctk_ash3,bcom_length)
  integer, parameter :: cctki_use_bcom_p = kind(bcom_p)
  REAL*8 bcom_p_p (cctk_ash1,cctk_ash2,cctk_ash3,bcom_length)
  integer, parameter :: cctki_use_bcom_p_p = kind(bcom_p_p)
  REAL*8 bcom0 (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_bcom0 = kind(bcom0)
  REAL*8 bcom0_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_bcom0_p = kind(bcom0_p)
  REAL*8 bcom0_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_bcom0_p_p = kind(bcom0_p_p)
  REAL*8 bcom_sq (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_bcom_sq = kind(bcom_sq)
  REAL*8 bcom_sq_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_bcom_sq_p = kind(bcom_sq_p)
  REAL*8 bcom_sq_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_bcom_sq_p_p = kind(bcom_sq_p_p)
  REAL*8 betaa (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betaa = kind(betaa)
  REAL*8 betab (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betab = kind(betab)
  REAL*8 betac (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betac = kind(betac)
  REAL*8 betax (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betax = kind(betax)
  REAL*8 betax_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betax_p = kind(betax_p)
  REAL*8 betax_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betax_p_p = kind(betax_p_p)
  REAL*8 betay (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betay = kind(betay)
  REAL*8 betay_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betay_p = kind(betay_p)
  REAL*8 betay_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betay_p_p = kind(betay_p_p)
  REAL*8 betaz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betaz = kind(betaz)
  REAL*8 betaz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betaz_p = kind(betaz_p)
  REAL*8 betaz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_betaz_p_p = kind(betaz_p_p)
  REAL*8 coarse_dx
  integer, parameter :: cctki_use_coarse_dx = kind(coarse_dx)
  REAL*8 coarse_dy
  integer, parameter :: cctki_use_coarse_dy = kind(coarse_dy)
  REAL*8 coarse_dz
  integer, parameter :: cctki_use_coarse_dz = kind(coarse_dz)
  INTEGER*4 conformal_state
  integer, parameter :: cctki_use_conformal_state = kind(conformal_state)
  REAL*8 cons_tracer (cctk_ash1,cctk_ash2,cctk_ash3,GRHydro_cons_tracers_length)
  integer, parameter :: cctki_use_cons_tracer = kind(cons_tracer)
  REAL*8 cons_tracer_p (cctk_ash1,cctk_ash2,cctk_ash3,GRHydro_cons_tracers_length)
  integer, parameter :: cctki_use_cons_tracer_p = kind(cons_tracer_p)
  REAL*8 cons_tracer_p_p (cctk_ash1,cctk_ash2,cctk_ash3,GRHydro_cons_tracers_length)
  integer, parameter :: cctki_use_cons_tracer_p_p = kind(cons_tracer_p_p)
  REAL*8 cs2minus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_cs2minus = kind(cs2minus)
  REAL*8 cs2plus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_cs2plus = kind(cs2plus)
  REAL*8 dens (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dens = kind(dens)
  REAL*8 dens_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dens_p = kind(dens_p)
  REAL*8 dens_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dens_p_p = kind(dens_p_p)
  REAL*8 densflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_densflux = kind(densflux)
  REAL*8 densrhs (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_densrhs = kind(densrhs)
  REAL*8 divB (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_divB = kind(divB)
  REAL*8 dtalp (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtalp = kind(dtalp)
  REAL*8 dtalp_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtalp_p = kind(dtalp_p)
  REAL*8 dtalp_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtalp_p_p = kind(dtalp_p_p)
  REAL*8 dtbetax (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetax = kind(dtbetax)
  REAL*8 dtbetax_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetax_p = kind(dtbetax_p)
  REAL*8 dtbetax_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetax_p_p = kind(dtbetax_p_p)
  REAL*8 dtbetay (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetay = kind(dtbetay)
  REAL*8 dtbetay_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetay_p = kind(dtbetay_p)
  REAL*8 dtbetay_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetay_p_p = kind(dtbetay_p_p)
  REAL*8 dtbetaz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetaz = kind(dtbetaz)
  REAL*8 dtbetaz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetaz_p = kind(dtbetaz_p)
  REAL*8 dtbetaz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_dtbetaz_p_p = kind(dtbetaz_p_p)
  INTEGER*4 dtlapse_state
  integer, parameter :: cctki_use_dtlapse_state = kind(dtlapse_state)
  INTEGER*4 dtshift_state
  integer, parameter :: cctki_use_dtshift_state = kind(dtshift_state)
  REAL*8 eTtt (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtt = kind(eTtt)
  REAL*8 eTtt_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtt_p = kind(eTtt_p)
  REAL*8 eTtt_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtt_p_p = kind(eTtt_p_p)
  REAL*8 eTtx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtx = kind(eTtx)
  REAL*8 eTtx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtx_p = kind(eTtx_p)
  REAL*8 eTtx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtx_p_p = kind(eTtx_p_p)
  REAL*8 eTty (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTty = kind(eTty)
  REAL*8 eTty_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTty_p = kind(eTty_p)
  REAL*8 eTty_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTty_p_p = kind(eTty_p_p)
  REAL*8 eTtz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtz = kind(eTtz)
  REAL*8 eTtz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtz_p = kind(eTtz_p)
  REAL*8 eTtz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTtz_p_p = kind(eTtz_p_p)
  REAL*8 eTxx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxx = kind(eTxx)
  REAL*8 eTxx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxx_p = kind(eTxx_p)
  REAL*8 eTxx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxx_p_p = kind(eTxx_p_p)
  REAL*8 eTxy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxy = kind(eTxy)
  REAL*8 eTxy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxy_p = kind(eTxy_p)
  REAL*8 eTxy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxy_p_p = kind(eTxy_p_p)
  REAL*8 eTxz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxz = kind(eTxz)
  REAL*8 eTxz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxz_p = kind(eTxz_p)
  REAL*8 eTxz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTxz_p_p = kind(eTxz_p_p)
  REAL*8 eTyy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTyy = kind(eTyy)
  REAL*8 eTyy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTyy_p = kind(eTyy_p)
  REAL*8 eTyy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTyy_p_p = kind(eTyy_p_p)
  REAL*8 eTyz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTyz = kind(eTyz)
  REAL*8 eTyz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTyz_p = kind(eTyz_p)
  REAL*8 eTyz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTyz_p_p = kind(eTyz_p_p)
  REAL*8 eTzz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTzz = kind(eTzz)
  REAL*8 eTzz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTzz_p = kind(eTzz_p)
  REAL*8 eTzz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eTzz_p_p = kind(eTzz_p_p)
  REAL*8 emask (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_emask = kind(emask)
  REAL*8 entropy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropy = kind(entropy)
  REAL*8 entropy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropy_p = kind(entropy_p)
  REAL*8 entropy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropy_p_p = kind(entropy_p_p)
  REAL*8 entropycons (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropycons = kind(entropycons)
  REAL*8 entropycons_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropycons_p = kind(entropycons_p)
  REAL*8 entropycons_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropycons_p_p = kind(entropycons_p_p)
  REAL*8 entropyflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropyflux = kind(entropyflux)
  REAL*8 entropyrhs (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_entropyrhs = kind(entropyrhs)
  REAL*8 eps (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eps = kind(eps)
  REAL*8 eps_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eps_p = kind(eps_p)
  REAL*8 eps_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_eps_p_p = kind(eps_p_p)
  REAL*8 epsminus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_epsminus = kind(epsminus)
  REAL*8 epsplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_epsplus = kind(epsplus)
  INTEGER*4 evolve_Lorenz_gge
  integer, parameter :: cctki_use_evolve_Lorenz_gge = kind(evolve_Lorenz_gge)
  INTEGER*4 evolve_MHD
  integer, parameter :: cctki_use_evolve_MHD = kind(evolve_MHD)
  INTEGER*4 evolve_Y_e
  integer, parameter :: cctki_use_evolve_Y_e = kind(evolve_Y_e)
  INTEGER*4 evolve_entropy
  integer, parameter :: cctki_use_evolve_entropy = kind(evolve_entropy)
  INTEGER*4 evolve_temper
  integer, parameter :: cctki_use_evolve_temper = kind(evolve_temper)
  INTEGER*4 flux_direction
  integer, parameter :: cctki_use_flux_direction = kind(flux_direction)
  REAL*8 gaa (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gaa = kind(gaa)
  REAL*8 gaa_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gaa_p = kind(gaa_p)
  REAL*8 gaa_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gaa_p_p = kind(gaa_p_p)
  REAL*8 gab (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gab = kind(gab)
  REAL*8 gab_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gab_p = kind(gab_p)
  REAL*8 gab_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gab_p_p = kind(gab_p_p)
  REAL*8 gac (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gac = kind(gac)
  REAL*8 gac_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gac_p = kind(gac_p)
  REAL*8 gac_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gac_p_p = kind(gac_p_p)
  REAL*8 gbb (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gbb = kind(gbb)
  REAL*8 gbb_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gbb_p = kind(gbb_p)
  REAL*8 gbb_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gbb_p_p = kind(gbb_p_p)
  REAL*8 gbc (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gbc = kind(gbc)
  REAL*8 gbc_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gbc_p = kind(gbc_p)
  REAL*8 gbc_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gbc_p_p = kind(gbc_p_p)
  REAL*8 gcc (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gcc = kind(gcc)
  REAL*8 gcc_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gcc_p = kind(gcc_p)
  REAL*8 gcc_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gcc_p_p = kind(gcc_p_p)
  REAL*8 gxx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxx = kind(gxx)
  REAL*8 gxx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxx_p = kind(gxx_p)
  REAL*8 gxx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxx_p_p = kind(gxx_p_p)
  REAL*8 gxy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxy = kind(gxy)
  REAL*8 gxy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxy_p = kind(gxy_p)
  REAL*8 gxy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxy_p_p = kind(gxy_p_p)
  REAL*8 gxz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxz = kind(gxz)
  REAL*8 gxz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxz_p = kind(gxz_p)
  REAL*8 gxz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gxz_p_p = kind(gxz_p_p)
  REAL*8 gyy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gyy = kind(gyy)
  REAL*8 gyy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gyy_p = kind(gyy_p)
  REAL*8 gyy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gyy_p_p = kind(gyy_p_p)
  REAL*8 gyz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gyz = kind(gyz)
  REAL*8 gyz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gyz_p = kind(gyz_p)
  REAL*8 gyz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gyz_p_p = kind(gyz_p_p)
  REAL*8 gzz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gzz = kind(gzz)
  REAL*8 gzz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gzz_p = kind(gzz_p)
  REAL*8 gzz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gzz_p_p = kind(gzz_p_p)
  INTEGER*4 hydro_excision_mask (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hydro_excision_mask = kind(hydro_excision_mask)
  REAL*8 kaa (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kaa = kind(kaa)
  REAL*8 kab (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kab = kind(kab)
  REAL*8 kac (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kac = kind(kac)
  REAL*8 kbb (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kbb = kind(kbb)
  REAL*8 kbc (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kbc = kind(kbc)
  REAL*8 kcc (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kcc = kind(kcc)
  REAL*8 kxx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxx = kind(kxx)
  REAL*8 kxx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxx_p = kind(kxx_p)
  REAL*8 kxx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxx_p_p = kind(kxx_p_p)
  REAL*8 kxy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxy = kind(kxy)
  REAL*8 kxy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxy_p = kind(kxy_p)
  REAL*8 kxy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxy_p_p = kind(kxy_p_p)
  REAL*8 kxz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxz = kind(kxz)
  REAL*8 kxz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxz_p = kind(kxz_p)
  REAL*8 kxz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kxz_p_p = kind(kxz_p_p)
  REAL*8 kyy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kyy = kind(kyy)
  REAL*8 kyy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kyy_p = kind(kyy_p)
  REAL*8 kyy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kyy_p_p = kind(kyy_p_p)
  REAL*8 kyz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kyz = kind(kyz)
  REAL*8 kyz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kyz_p = kind(kyz_p)
  REAL*8 kyz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kyz_p_p = kind(kyz_p_p)
  REAL*8 kzz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kzz = kind(kzz)
  REAL*8 kzz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kzz_p = kind(kzz_p)
  REAL*8 kzz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_kzz_p_p = kind(kzz_p_p)
  REAL*8 lBvec (cctk_ash1,cctk_ash2,cctk_ash3,lBvec_length)
  integer, parameter :: cctki_use_lBvec = kind(lBvec)
  REAL*8 lBvec_p (cctk_ash1,cctk_ash2,cctk_ash3,lBvec_length)
  integer, parameter :: cctki_use_lBvec_p = kind(lBvec_p)
  REAL*8 lBvec_p_p (cctk_ash1,cctk_ash2,cctk_ash3,lBvec_length)
  integer, parameter :: cctki_use_lBvec_p_p = kind(lBvec_p_p)
  REAL*8 lvel (cctk_ash1,cctk_ash2,cctk_ash3,lvel_length)
  integer, parameter :: cctki_use_lvel = kind(lvel)
  REAL*8 lvel_p (cctk_ash1,cctk_ash2,cctk_ash3,lvel_length)
  integer, parameter :: cctki_use_lvel_p = kind(lvel_p)
  REAL*8 lvel_p_p (cctk_ash1,cctk_ash2,cctk_ash3,lvel_length)
  integer, parameter :: cctki_use_lvel_p_p = kind(lvel_p_p)
  REAL*8 maxima_x
  integer, parameter :: cctki_use_maxima_x = kind(maxima_x)
  REAL*8 maxima_y
  integer, parameter :: cctki_use_maxima_y = kind(maxima_y)
  REAL*8 maxima_z
  integer, parameter :: cctki_use_maxima_z = kind(maxima_z)
  REAL*8 maximum_density
  integer, parameter :: cctki_use_maximum_density = kind(maximum_density)
  REAL*8 maxrho_global
  integer, parameter :: cctki_use_maxrho_global = kind(maxrho_global)
  REAL*8 press (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_press = kind(press)
  REAL*8 press_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_press_p = kind(press_p)
  REAL*8 press_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_press_p_p = kind(press_p_p)
  REAL*8 pressminus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_pressminus = kind(pressminus)
  REAL*8 pressplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_pressplus = kind(pressplus)
  REAL*8 psi (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psi = kind(psi)
  REAL*8 psidc (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psidc = kind(psidc)
  REAL*8 psidc_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psidc_p = kind(psidc_p)
  REAL*8 psidc_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psidc_p_p = kind(psidc_p_p)
  REAL*8 psidcflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psidcflux = kind(psidcflux)
  REAL*8 psidcrhs (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psidcrhs = kind(psidcrhs)
  REAL*8 psix (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psix = kind(psix)
  REAL*8 psixx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psixx = kind(psixx)
  REAL*8 psixy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psixy = kind(psixy)
  REAL*8 psixz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psixz = kind(psixz)
  REAL*8 psiy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psiy = kind(psiy)
  REAL*8 psiyy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psiyy = kind(psiyy)
  REAL*8 psiyz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psiyz = kind(psiyz)
  REAL*8 psiz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psiz = kind(psiz)
  REAL*8 psizz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psizz = kind(psizz)
  REAL*8 r (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_r = kind(r)
  REAL*8 rho (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rho = kind(rho)
  REAL*8 rho_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rho_p = kind(rho_p)
  REAL*8 rho_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rho_p_p = kind(rho_p_p)
  REAL*8 rhominus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhominus = kind(rhominus)
  REAL*8 rhoplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhoplus = kind(rhoplus)
  REAL*8 scon (cctk_ash1,cctk_ash2,cctk_ash3,scon_length)
  integer, parameter :: cctki_use_scon = kind(scon)
  REAL*8 scon_p (cctk_ash1,cctk_ash2,cctk_ash3,scon_length)
  integer, parameter :: cctki_use_scon_p = kind(scon_p)
  REAL*8 scon_p_p (cctk_ash1,cctk_ash2,cctk_ash3,scon_length)
  integer, parameter :: cctki_use_scon_p_p = kind(scon_p_p)
  REAL*8 sdetg (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_sdetg = kind(sdetg)
  INTEGER*4 shift_state
  integer, parameter :: cctki_use_shift_state = kind(shift_state)
  INTEGER*4 space_mask (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_space_mask = kind(space_mask)
  REAL*8 srhs (cctk_ash1,cctk_ash2,cctk_ash3,srhs_length)
  integer, parameter :: cctki_use_srhs = kind(srhs)
  INTEGER*4 stress_energy_state
  integer, parameter :: cctki_use_stress_energy_state = kind(stress_energy_state)
  REAL*8 sxflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_sxflux = kind(sxflux)
  REAL*8 syflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_syflux = kind(syflux)
  REAL*8 szflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_szflux = kind(szflux)
  REAL*8 tau (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tau = kind(tau)
  REAL*8 tau_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tau_p = kind(tau_p)
  REAL*8 tau_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tau_p_p = kind(tau_p_p)
  REAL*8 tauflux (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tauflux = kind(tauflux)
  REAL*8 taurhs (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_taurhs = kind(taurhs)
  REAL*8 temperature (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_temperature = kind(temperature)
  REAL*8 temperature_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_temperature_p = kind(temperature_p)
  REAL*8 temperature_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_temperature_p_p = kind(temperature_p_p)
  REAL*8 tracer (cctk_ash1,cctk_ash2,cctk_ash3,GRHydro_tracers_length)
  integer, parameter :: cctki_use_tracer = kind(tracer)
  REAL*8 tracer_p (cctk_ash1,cctk_ash2,cctk_ash3,GRHydro_tracers_length)
  integer, parameter :: cctki_use_tracer_p = kind(tracer_p)
  REAL*8 tracer_p_p (cctk_ash1,cctk_ash2,cctk_ash3,GRHydro_tracers_length)
  integer, parameter :: cctki_use_tracer_p_p = kind(tracer_p_p)
  REAL*8 vel (cctk_ash1,cctk_ash2,cctk_ash3,vel_length)
  integer, parameter :: cctki_use_vel = kind(vel)
  REAL*8 vel_p (cctk_ash1,cctk_ash2,cctk_ash3,vel_length)
  integer, parameter :: cctki_use_vel_p = kind(vel_p)
  REAL*8 vel_p_p (cctk_ash1,cctk_ash2,cctk_ash3,vel_length)
  integer, parameter :: cctki_use_vel_p_p = kind(vel_p_p)
  REAL*8 velxminus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_velxminus = kind(velxminus)
  REAL*8 velxplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_velxplus = kind(velxplus)
  REAL*8 velyminus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_velyminus = kind(velyminus)
  REAL*8 velyplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_velyplus = kind(velyplus)
  REAL*8 velzminus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_velzminus = kind(velzminus)
  REAL*8 velzplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_velzplus = kind(velzplus)
  REAL*8 w_lorentz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_w_lorentz = kind(w_lorentz)
  REAL*8 w_lorentz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_w_lorentz_p = kind(w_lorentz_p)
  REAL*8 w_lorentz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_w_lorentz_p_p = kind(w_lorentz_p_p)
  REAL*8 w_lorentzminus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_w_lorentzminus = kind(w_lorentzminus)
  REAL*8 w_lorentzplus (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_w_lorentzplus = kind(w_lorentzplus)
  REAL*8 x (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_x = kind(x)
  INTEGER*4 xoffset
  integer, parameter :: cctki_use_xoffset = kind(xoffset)
  REAL*8 y (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_y = kind(y)
  INTEGER*4 yoffset
  integer, parameter :: cctki_use_yoffset = kind(yoffset)
  REAL*8 z (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_z = kind(z)
  INTEGER*4 zoffset
  integer, parameter :: cctki_use_zoffset = kind(zoffset)
  REAL*8 Bx_init
  integer, parameter :: cctki_use_Bx_init = kind(Bx_init)
  REAL*8 By_init
  integer, parameter :: cctki_use_By_init = kind(By_init)
  REAL*8 Bz_init
  integer, parameter :: cctki_use_Bz_init = kind(Bz_init)
  REAL*8 Monopole_point_Bx
  integer, parameter :: cctki_use_Monopole_point_Bx = kind(Monopole_point_Bx)
  REAL*8 R_Gauss
  integer, parameter :: cctki_use_R_Gauss = kind(R_Gauss)
  REAL*8 alfvenwave_pressure
  integer, parameter :: cctki_use_alfvenwave_pressure = kind(alfvenwave_pressure)
  REAL*8 atmosphere_vel (3)
  integer, parameter :: cctki_use_atmosphere_vel = kind(atmosphere_vel)
  REAL*8 bh_bondi_pos_x (100)
  integer, parameter :: cctki_use_bh_bondi_pos_x = kind(bh_bondi_pos_x)
  REAL*8 bh_bondi_pos_y (100)
  integer, parameter :: cctki_use_bh_bondi_pos_y = kind(bh_bondi_pos_y)
  REAL*8 bh_bondi_pos_z (100)
  integer, parameter :: cctki_use_bh_bondi_pos_z = kind(bh_bondi_pos_z)
  REAL*8 bondi_beta_sonicpt
  integer, parameter :: cctki_use_bondi_beta_sonicpt = kind(bondi_beta_sonicpt)
  REAL*8 bondi_bmag
  integer, parameter :: cctki_use_bondi_bmag = kind(bondi_bmag)
  REAL*8 bondi_central_mass (100)
  integer, parameter :: cctki_use_bondi_central_mass = kind(bondi_central_mass)
  REAL*8 bondi_central_spin (100)
  integer, parameter :: cctki_use_bondi_central_spin = kind(bondi_central_spin)
  REAL*8 bondi_freeze_inner_radius
  integer, parameter :: cctki_use_bondi_freeze_inner_radius = kind(bondi_freeze_inner_radius)
  REAL*8 bondi_freeze_outer_radius
  integer, parameter :: cctki_use_bondi_freeze_outer_radius = kind(bondi_freeze_outer_radius)
  REAL*8 bondi_radial_offset
  integer, parameter :: cctki_use_bondi_radial_offset = kind(bondi_radial_offset)
  REAL*8 bondi_rmax (100)
  integer, parameter :: cctki_use_bondi_rmax = kind(bondi_rmax)
  REAL*8 bondi_rmin (100)
  integer, parameter :: cctki_use_bondi_rmin = kind(bondi_rmin)
  REAL*8 cyl_press_inner
  integer, parameter :: cctki_use_cyl_press_inner = kind(cyl_press_inner)
  REAL*8 cyl_press_outer
  integer, parameter :: cctki_use_cyl_press_outer = kind(cyl_press_outer)
  REAL*8 cyl_r_inner
  integer, parameter :: cctki_use_cyl_r_inner = kind(cyl_r_inner)
  REAL*8 cyl_r_outer
  integer, parameter :: cctki_use_cyl_r_outer = kind(cyl_r_outer)
  REAL*8 cyl_rho_inner
  integer, parameter :: cctki_use_cyl_rho_inner = kind(cyl_rho_inner)
  REAL*8 cyl_rho_outer
  integer, parameter :: cctki_use_cyl_rho_outer = kind(cyl_rho_outer)
  REAL*8 dens_init
  integer, parameter :: cctki_use_dens_init = kind(dens_init)
  REAL*8 eps_init
  integer, parameter :: cctki_use_eps_init = kind(eps_init)
  REAL*8 gxx_init
  integer, parameter :: cctki_use_gxx_init = kind(gxx_init)
  REAL*8 gxy_init
  integer, parameter :: cctki_use_gxy_init = kind(gxy_init)
  REAL*8 gxz_init
  integer, parameter :: cctki_use_gxz_init = kind(gxz_init)
  REAL*8 gyy_init
  integer, parameter :: cctki_use_gyy_init = kind(gyy_init)
  REAL*8 gyz_init
  integer, parameter :: cctki_use_gyz_init = kind(gyz_init)
  REAL*8 gzz_init
  integer, parameter :: cctki_use_gzz_init = kind(gzz_init)
  REAL*8 mdot_sonicpt_bondi
  integer, parameter :: cctki_use_mdot_sonicpt_bondi = kind(mdot_sonicpt_bondi)
  REAL*8 n_bondi_pts (100)
  integer, parameter :: cctki_use_n_bondi_pts = kind(n_bondi_pts)
  REAL*8 poloidal_A_b
  integer, parameter :: cctki_use_poloidal_A_b = kind(poloidal_A_b)
  REAL*8 poloidal_P_cut
  integer, parameter :: cctki_use_poloidal_P_cut = kind(poloidal_P_cut)
  REAL*8 poloidal_rho_max
  integer, parameter :: cctki_use_poloidal_rho_max = kind(poloidal_rho_max)
  REAL*8 press_init
  integer, parameter :: cctki_use_press_init = kind(press_init)
  REAL*8 r_sonicpt_bondi
  integer, parameter :: cctki_use_r_sonicpt_bondi = kind(r_sonicpt_bondi)
  REAL*8 rho_init
  integer, parameter :: cctki_use_rho_init = kind(rho_init)
  REAL*8 rotor_bvcxl
  integer, parameter :: cctki_use_rotor_bvcxl = kind(rotor_bvcxl)
  REAL*8 rotor_bvcyl
  integer, parameter :: cctki_use_rotor_bvcyl = kind(rotor_bvcyl)
  REAL*8 rotor_bvczl
  integer, parameter :: cctki_use_rotor_bvczl = kind(rotor_bvczl)
  REAL*8 rotor_pressin
  integer, parameter :: cctki_use_rotor_pressin = kind(rotor_pressin)
  REAL*8 rotor_pressout
  integer, parameter :: cctki_use_rotor_pressout = kind(rotor_pressout)
  REAL*8 rotor_r_rot
  integer, parameter :: cctki_use_rotor_r_rot = kind(rotor_r_rot)
  REAL*8 rotor_rhoin
  integer, parameter :: cctki_use_rotor_rhoin = kind(rotor_rhoin)
  REAL*8 rotor_rhoout
  integer, parameter :: cctki_use_rotor_rhoout = kind(rotor_rhoout)
  REAL*8 rotor_rsmooth_rel
  integer, parameter :: cctki_use_rotor_rsmooth_rel = kind(rotor_rsmooth_rel)
  REAL*8 rotor_v_max
  integer, parameter :: cctki_use_rotor_v_max = kind(rotor_v_max)
  REAL*8 rotor_xc
  integer, parameter :: cctki_use_rotor_xc = kind(rotor_xc)
  REAL*8 rotor_yc
  integer, parameter :: cctki_use_rotor_yc = kind(rotor_yc)
  REAL*8 shock_radius
  integer, parameter :: cctki_use_shock_radius = kind(shock_radius)
  REAL*8 shock_xpos
  integer, parameter :: cctki_use_shock_xpos = kind(shock_xpos)
  REAL*8 shock_ypos
  integer, parameter :: cctki_use_shock_ypos = kind(shock_ypos)
  REAL*8 shock_zpos
  integer, parameter :: cctki_use_shock_zpos = kind(shock_zpos)
  REAL*8 simple_wave_constant_c_0
  integer, parameter :: cctki_use_simple_wave_constant_c_0 = kind(simple_wave_constant_c_0)
  REAL*8 simple_wave_v_max
  integer, parameter :: cctki_use_simple_wave_v_max = kind(simple_wave_v_max)
  REAL*8 sx_init
  integer, parameter :: cctki_use_sx_init = kind(sx_init)
  REAL*8 sy_init
  integer, parameter :: cctki_use_sy_init = kind(sy_init)
  REAL*8 sz_init
  integer, parameter :: cctki_use_sz_init = kind(sz_init)
  REAL*8 tau_init
  integer, parameter :: cctki_use_tau_init = kind(tau_init)
  REAL*8 velx_init
  integer, parameter :: cctki_use_velx_init = kind(velx_init)
  REAL*8 vely_init
  integer, parameter :: cctki_use_vely_init = kind(vely_init)
  REAL*8 velz_init
  integer, parameter :: cctki_use_velz_init = kind(velz_init)
  integer*8 advectedloop_case
  integer, parameter :: cctki_use_advectedloop_case = kind(advectedloop_case)
  integer*8 advectedloop_delA
  integer, parameter :: cctki_use_advectedloop_delA = kind(advectedloop_delA)
  integer*8 advectedloop_type
  integer, parameter :: cctki_use_advectedloop_type = kind(advectedloop_type)
  integer*8 alfvenwave_type
  integer, parameter :: cctki_use_alfvenwave_type = kind(alfvenwave_type)
  integer*8 bondi_Bvec_method
  integer, parameter :: cctki_use_bondi_Bvec_method = kind(bondi_Bvec_method)
  integer*8 bondi_coordinates
  integer, parameter :: cctki_use_bondi_coordinates = kind(bondi_coordinates)
  integer*8 monopole_type
  integer, parameter :: cctki_use_monopole_type = kind(monopole_type)
  integer*8 shock_case
  integer, parameter :: cctki_use_shock_case = kind(shock_case)
  integer*8 shocktube_type
  integer, parameter :: cctki_use_shocktube_type = kind(shocktube_type)
  INTEGER*4 attenuate_atmosphere
  integer, parameter :: cctki_use_attenuate_atmosphere = kind(attenuate_atmosphere)
  INTEGER*4 bondi_evolve_only_annulus
  integer, parameter :: cctki_use_bondi_evolve_only_annulus = kind(bondi_evolve_only_annulus)
  INTEGER*4 bondi_overwrite_boundary
  integer, parameter :: cctki_use_bondi_overwrite_boundary = kind(bondi_overwrite_boundary)
  INTEGER*4 change_shock_direction
  integer, parameter :: cctki_use_change_shock_direction = kind(change_shock_direction)
  INTEGER*4 num_bondi_sols
  integer, parameter :: cctki_use_num_bondi_sols = kind(num_bondi_sols)
  INTEGER*4 poloidal_P_p
  integer, parameter :: cctki_use_poloidal_P_p = kind(poloidal_P_p)
  INTEGER*4 poloidal_n_p
  integer, parameter :: cctki_use_poloidal_n_p = kind(poloidal_n_p)
  INTEGER*4 rotor_use_smoothing
  integer, parameter :: cctki_use_rotor_use_smoothing = kind(rotor_use_smoothing)
  INTEGER*4 set_bondi_beta_sonicpt
  integer, parameter :: cctki_use_set_bondi_beta_sonicpt = kind(set_bondi_beta_sonicpt)
  INTEGER*4 use_c2p_with_entropy_eqn
  integer, parameter :: cctki_use_use_c2p_with_entropy_eqn = kind(use_c2p_with_entropy_eqn)
  COMMON /GRHydro_InitDatapriv/Bx_init, By_init, Bz_init, Monopole_point_Bx, R_Gauss, alfvenwave_pressure, atmosphere_vel, bh_bondi&
  &_pos_x, bh_bondi_pos_y, bh_bondi_pos_z, bondi_beta_sonicpt, bondi_bmag, bondi_central_mass, bondi_central_spin, bondi_freeze_inn&
  &er_radius, bondi_freeze_outer_radius, bondi_radial_offset, bondi_rmax, bondi_rmin, cyl_press_inner, cyl_press_outer, cyl_r_inner&
  &, cyl_r_outer, cyl_rho_inner, cyl_rho_outer, dens_init, eps_init, gxx_init, gxy_init, gxz_init, gyy_init, gyz_init, gzz_init, md&
  &ot_sonicpt_bondi, n_bondi_pts, poloidal_A_b, poloidal_P_cut, poloidal_rho_max, press_init, r_sonicpt_bondi, rho_init, rotor_bvcx&
  &l, rotor_bvcyl, rotor_bvczl, rotor_pressin, rotor_pressout, rotor_r_rot, rotor_rhoin, rotor_rhoout, rotor_rsmooth_rel, rotor_v_m&
  &ax, rotor_xc, rotor_yc, shock_radius, shock_xpos, shock_ypos, shock_zpos, simple_wave_constant_c_0, simple_wave_v_max, sx_init, &
  &sy_init, sz_init, tau_init, velx_init, vely_init, velz_init, advectedloop_case, advectedloop_delA, advectedloop_type, alfvenwave&
  &_type, bondi_Bvec_method, bondi_coordinates, monopole_type, shock_case, shocktube_type, attenuate_atmosphere, bondi_evolve_only_&
  &annulus, bondi_overwrite_boundary, change_shock_direction, num_bondi_sols, poloidal_P_p, poloidal_n_p, rotor_use_smoothing, set_&
  &bondi_beta_sonicpt, use_c2p_with_entropy_eqn
  integer*8 CCTKH0
  integer, parameter :: cctki_use_CCTKH0 = kind(CCTKH0)
  integer*8 CCTKH1
  integer, parameter :: cctki_use_CCTKH1 = kind(CCTKH1)
  integer*8 CCTKH2
  integer, parameter :: cctki_use_CCTKH2 = kind(CCTKH2)
  integer*8 CCTKH3
  integer, parameter :: cctki_use_CCTKH3 = kind(CCTKH3)
  integer*8 initial_data
  integer, parameter :: cctki_use_initial_data = kind(initial_data)
  integer*8 CCTKH4
  integer, parameter :: cctki_use_CCTKH4 = kind(CCTKH4)
  integer*8 CCTKH5
  integer, parameter :: cctki_use_CCTKH5 = kind(CCTKH5)
  integer*8 CCTKH6
  integer, parameter :: cctki_use_CCTKH6 = kind(CCTKH6)
  integer*8 CCTKH7
  integer, parameter :: cctki_use_CCTKH7 = kind(CCTKH7)
  integer*8 CCTKH8
  integer, parameter :: cctki_use_CCTKH8 = kind(CCTKH8)
  integer*8 CCTKH9
  integer, parameter :: cctki_use_CCTKH9 = kind(CCTKH9)
  integer*8 CCTKH11
  integer, parameter :: cctki_use_CCTKH11 = kind(CCTKH11)
  integer*8 CCTKH13
  integer, parameter :: cctki_use_CCTKH13 = kind(CCTKH13)
  integer*8 CCTKH14
  integer, parameter :: cctki_use_CCTKH14 = kind(CCTKH14)
  integer*8 CCTKH15
  integer, parameter :: cctki_use_CCTKH15 = kind(CCTKH15)
  INTEGER*4 CCTKH10
  integer, parameter :: cctki_use_CCTKH10 = kind(CCTKH10)
  INTEGER*4 CCTKH12
  integer, parameter :: cctki_use_CCTKH12 = kind(CCTKH12)
  INTEGER*4 CCTKH16
  integer, parameter :: cctki_use_CCTKH16 = kind(CCTKH16)
  COMMON /ADMBASErest/CCTKH0, CCTKH1, CCTKH2, CCTKH3, initial_data, CCTKH4, CCTKH5, CCTKH6, CCTKH7, CCTKH8, CCTKH9, CCTKH11, CCTKH1&
  &3, CCTKH14, CCTKH15, CCTKH10, CCTKH12, CCTKH16
  REAL*8 CCTKH17
  integer, parameter :: cctki_use_CCTKH17 = kind(CCTKH17)
  REAL*8 gl_gamma
  integer, parameter :: cctki_use_gl_gamma = kind(gl_gamma)
  REAL*8 CCTKH27
  integer, parameter :: cctki_use_CCTKH27 = kind(CCTKH27)
  REAL*8 CCTKH28 (10)
  integer, parameter :: cctki_use_CCTKH28 = kind(CCTKH28)
  REAL*8 CCTKH29
  integer, parameter :: cctki_use_CCTKH29 = kind(CCTKH29)
  REAL*8 CCTKH30
  integer, parameter :: cctki_use_CCTKH30 = kind(CCTKH30)
  REAL*8 CCTKH31
  integer, parameter :: cctki_use_CCTKH31 = kind(CCTKH31)
  REAL*8 CCTKH32
  integer, parameter :: cctki_use_CCTKH32 = kind(CCTKH32)
  REAL*8 CCTKH33
  integer, parameter :: cctki_use_CCTKH33 = kind(CCTKH33)
  REAL*8 CCTKH34 (9)
  integer, parameter :: cctki_use_CCTKH34 = kind(CCTKH34)
  REAL*8 CCTKH35
  integer, parameter :: cctki_use_CCTKH35 = kind(CCTKH35)
  REAL*8 CCTKH38
  integer, parameter :: cctki_use_CCTKH38 = kind(CCTKH38)
  REAL*8 CCTKH39
  integer, parameter :: cctki_use_CCTKH39 = kind(CCTKH39)
  REAL*8 CCTKH40
  integer, parameter :: cctki_use_CCTKH40 = kind(CCTKH40)
  integer*8 CCTKH19
  integer, parameter :: cctki_use_CCTKH19 = kind(CCTKH19)
  integer*8 CCTKH22
  integer, parameter :: cctki_use_CCTKH22 = kind(CCTKH22)
  integer*8 CCTKH26
  integer, parameter :: cctki_use_CCTKH26 = kind(CCTKH26)
  integer*8 CCTKH37
  integer, parameter :: cctki_use_CCTKH37 = kind(CCTKH37)
  INTEGER*4 CCTKH18
  integer, parameter :: cctki_use_CCTKH18 = kind(CCTKH18)
  INTEGER*4 CCTKH20
  integer, parameter :: cctki_use_CCTKH20 = kind(CCTKH20)
  INTEGER*4 CCTKH21
  integer, parameter :: cctki_use_CCTKH21 = kind(CCTKH21)
  INTEGER*4 CCTKH23
  integer, parameter :: cctki_use_CCTKH23 = kind(CCTKH23)
  INTEGER*4 CCTKH24
  integer, parameter :: cctki_use_CCTKH24 = kind(CCTKH24)
  INTEGER*4 CCTKH25
  integer, parameter :: cctki_use_CCTKH25 = kind(CCTKH25)
  INTEGER*4 CCTKH36
  integer, parameter :: cctki_use_CCTKH36 = kind(CCTKH36)
  INTEGER*4 nuceos_read_table
  integer, parameter :: cctki_use_nuceos_read_table = kind(nuceos_read_table)
  INTEGER*4 CCTKH41
  integer, parameter :: cctki_use_CCTKH41 = kind(CCTKH41)
  INTEGER*4 CCTKH42
  integer, parameter :: cctki_use_CCTKH42 = kind(CCTKH42)
  COMMON /EOS_OMNIrest/CCTKH17, gl_gamma, CCTKH27, CCTKH28, CCTKH29, CCTKH30, CCTKH31, CCTKH32, CCTKH33, CCTKH34, CCTKH35, CCTKH38,&
  & CCTKH39, CCTKH40, CCTKH19, CCTKH22, CCTKH26, CCTKH37, CCTKH18, CCTKH20, CCTKH21, CCTKH23, CCTKH24, CCTKH25, CCTKH36, nuceos_rea&
  &d_table, CCTKH41, CCTKH42
  REAL*8 CCTKH52
  integer, parameter :: cctki_use_CCTKH52 = kind(CCTKH52)
  REAL*8 CCTKH53
  integer, parameter :: cctki_use_CCTKH53 = kind(CCTKH53)
  REAL*8 CCTKH54
  integer, parameter :: cctki_use_CCTKH54 = kind(CCTKH54)
  REAL*8 GRHydro_del_ptol
  integer, parameter :: cctki_use_GRHydro_del_ptol = kind(GRHydro_del_ptol)
  REAL*8 GRHydro_eos_rf_prec
  integer, parameter :: cctki_use_GRHydro_eos_rf_prec = kind(GRHydro_eos_rf_prec)
  REAL*8 GRHydro_eps_min
  integer, parameter :: cctki_use_GRHydro_eps_min = kind(GRHydro_eps_min)
  REAL*8 CCTKH64
  integer, parameter :: cctki_use_CCTKH64 = kind(CCTKH64)
  REAL*8 CCTKH65
  integer, parameter :: cctki_use_CCTKH65 = kind(CCTKH65)
  REAL*8 CCTKH67
  integer, parameter :: cctki_use_CCTKH67 = kind(CCTKH67)
  REAL*8 CCTKH68
  integer, parameter :: cctki_use_CCTKH68 = kind(CCTKH68)
  REAL*8 GRHydro_perc_ptol
  integer, parameter :: cctki_use_GRHydro_perc_ptol = kind(GRHydro_perc_ptol)
  REAL*8 GRHydro_rho_central
  integer, parameter :: cctki_use_GRHydro_rho_central = kind(GRHydro_rho_central)
  REAL*8 CCTKH72
  integer, parameter :: cctki_use_CCTKH72 = kind(CCTKH72)
  REAL*8 CCTKH73
  integer, parameter :: cctki_use_CCTKH73 = kind(CCTKH73)
  REAL*8 CCTKH76
  integer, parameter :: cctki_use_CCTKH76 = kind(CCTKH76)
  REAL*8 CCTKH77
  integer, parameter :: cctki_use_CCTKH77 = kind(CCTKH77)
  REAL*8 CCTKH78
  integer, parameter :: cctki_use_CCTKH78 = kind(CCTKH78)
  REAL*8 CCTKH79
  integer, parameter :: cctki_use_CCTKH79 = kind(CCTKH79)
  REAL*8 CCTKH82
  integer, parameter :: cctki_use_CCTKH82 = kind(CCTKH82)
  REAL*8 CCTKH87
  integer, parameter :: cctki_use_CCTKH87 = kind(CCTKH87)
  REAL*8 CCTKH88
  integer, parameter :: cctki_use_CCTKH88 = kind(CCTKH88)
  REAL*8 CCTKH89
  integer, parameter :: cctki_use_CCTKH89 = kind(CCTKH89)
  REAL*8 CCTKH93
  integer, parameter :: cctki_use_CCTKH93 = kind(CCTKH93)
  REAL*8 CCTKH94
  integer, parameter :: cctki_use_CCTKH94 = kind(CCTKH94)
  REAL*8 CCTKH98
  integer, parameter :: cctki_use_CCTKH98 = kind(CCTKH98)
  REAL*8 initial_atmosphere_factor
  integer, parameter :: cctki_use_initial_atmosphere_factor = kind(initial_atmosphere_factor)
  REAL*8 CCTKH99
  integer, parameter :: cctki_use_CCTKH99 = kind(CCTKH99)
  REAL*8 initial_rho_abs_min
  integer, parameter :: cctki_use_initial_rho_abs_min = kind(initial_rho_abs_min)
  REAL*8 initial_rho_rel_min
  integer, parameter :: cctki_use_initial_rho_rel_min = kind(initial_rho_rel_min)
  REAL*8 CCTKH100
  integer, parameter :: cctki_use_CCTKH100 = kind(CCTKH100)
  REAL*8 CCTKH102
  integer, parameter :: cctki_use_CCTKH102 = kind(CCTKH102)
  REAL*8 CCTKH104
  integer, parameter :: cctki_use_CCTKH104 = kind(CCTKH104)
  REAL*8 CCTKH106
  integer, parameter :: cctki_use_CCTKH106 = kind(CCTKH106)
  REAL*8 CCTKH107
  integer, parameter :: cctki_use_CCTKH107 = kind(CCTKH107)
  REAL*8 CCTKH108
  integer, parameter :: cctki_use_CCTKH108 = kind(CCTKH108)
  REAL*8 CCTKH116
  integer, parameter :: cctki_use_CCTKH116 = kind(CCTKH116)
  REAL*8 CCTKH117
  integer, parameter :: cctki_use_CCTKH117 = kind(CCTKH117)
  REAL*8 CCTKH118
  integer, parameter :: cctki_use_CCTKH118 = kind(CCTKH118)
  REAL*8 CCTKH119
  integer, parameter :: cctki_use_CCTKH119 = kind(CCTKH119)
  REAL*8 CCTKH121
  integer, parameter :: cctki_use_CCTKH121 = kind(CCTKH121)
  REAL*8 CCTKH124
  integer, parameter :: cctki_use_CCTKH124 = kind(CCTKH124)
  REAL*8 CCTKH125
  integer, parameter :: cctki_use_CCTKH125 = kind(CCTKH125)
  REAL*8 CCTKH126
  integer, parameter :: cctki_use_CCTKH126 = kind(CCTKH126)
  REAL*8 CCTKH127
  integer, parameter :: cctki_use_CCTKH127 = kind(CCTKH127)
  REAL*8 rho_abs_min
  integer, parameter :: cctki_use_rho_abs_min = kind(rho_abs_min)
  REAL*8 CCTKH133
  integer, parameter :: cctki_use_CCTKH133 = kind(CCTKH133)
  REAL*8 rho_rel_min
  integer, parameter :: cctki_use_rho_rel_min = kind(rho_rel_min)
  REAL*8 CCTKH136
  integer, parameter :: cctki_use_CCTKH136 = kind(CCTKH136)
  REAL*8 CCTKH137
  integer, parameter :: cctki_use_CCTKH137 = kind(CCTKH137)
  REAL*8 CCTKH139
  integer, parameter :: cctki_use_CCTKH139 = kind(CCTKH139)
  REAL*8 CCTKH141
  integer, parameter :: cctki_use_CCTKH141 = kind(CCTKH141)
  REAL*8 CCTKH152
  integer, parameter :: cctki_use_CCTKH152 = kind(CCTKH152)
  integer*8 CCTKH43
  integer, parameter :: cctki_use_CCTKH43 = kind(CCTKH43)
  integer*8 CCTKH46
  integer, parameter :: cctki_use_CCTKH46 = kind(CCTKH46)
  integer*8 CCTKH55
  integer, parameter :: cctki_use_CCTKH55 = kind(CCTKH55)
  integer*8 GRHydro_eos_table
  integer, parameter :: cctki_use_GRHydro_eos_table = kind(GRHydro_eos_table)
  integer*8 GRHydro_eos_type
  integer, parameter :: cctki_use_GRHydro_eos_type = kind(GRHydro_eos_type)
  integer*8 CCTKH71
  integer, parameter :: cctki_use_CCTKH71 = kind(CCTKH71)
  integer*8 CCTKH80
  integer, parameter :: cctki_use_CCTKH80 = kind(CCTKH80)
  integer*8 CCTKH86
  integer, parameter :: cctki_use_CCTKH86 = kind(CCTKH86)
  integer*8 CCTKH90
  integer, parameter :: cctki_use_CCTKH90 = kind(CCTKH90)
  integer*8 CCTKH97
  integer, parameter :: cctki_use_CCTKH97 = kind(CCTKH97)
  integer*8 CCTKH101
  integer, parameter :: cctki_use_CCTKH101 = kind(CCTKH101)
  integer*8 CCTKH103
  integer, parameter :: cctki_use_CCTKH103 = kind(CCTKH103)
  integer*8 CCTKH112
  integer, parameter :: cctki_use_CCTKH112 = kind(CCTKH112)
  integer*8 CCTKH114
  integer, parameter :: cctki_use_CCTKH114 = kind(CCTKH114)
  integer*8 CCTKH120
  integer, parameter :: cctki_use_CCTKH120 = kind(CCTKH120)
  integer*8 CCTKH128
  integer, parameter :: cctki_use_CCTKH128 = kind(CCTKH128)
  integer*8 CCTKH129
  integer, parameter :: cctki_use_CCTKH129 = kind(CCTKH129)
  integer*8 CCTKH130
  integer, parameter :: cctki_use_CCTKH130 = kind(CCTKH130)
  integer*8 CCTKH134
  integer, parameter :: cctki_use_CCTKH134 = kind(CCTKH134)
  integer*8 CCTKH144
  integer, parameter :: cctki_use_CCTKH144 = kind(CCTKH144)
  integer*8 CCTKH147
  integer, parameter :: cctki_use_CCTKH147 = kind(CCTKH147)
  INTEGER*4 CCTKH44
  integer, parameter :: cctki_use_CCTKH44 = kind(CCTKH44)
  INTEGER*4 CCTKH45
  integer, parameter :: cctki_use_CCTKH45 = kind(CCTKH45)
  INTEGER*4 CCTKH47
  integer, parameter :: cctki_use_CCTKH47 = kind(CCTKH47)
  INTEGER*4 CCTKH48
  integer, parameter :: cctki_use_CCTKH48 = kind(CCTKH48)
  INTEGER*4 CCTKH49
  integer, parameter :: cctki_use_CCTKH49 = kind(CCTKH49)
  INTEGER*4 CCTKH50
  integer, parameter :: cctki_use_CCTKH50 = kind(CCTKH50)
  INTEGER*4 CCTKH51
  integer, parameter :: cctki_use_CCTKH51 = kind(CCTKH51)
  INTEGER*4 CCTKH56
  integer, parameter :: cctki_use_CCTKH56 = kind(CCTKH56)
  INTEGER*4 CCTKH57
  integer, parameter :: cctki_use_CCTKH57 = kind(CCTKH57)
  INTEGER*4 CCTKH58
  integer, parameter :: cctki_use_CCTKH58 = kind(CCTKH58)
  INTEGER*4 CCTKH59
  integer, parameter :: cctki_use_CCTKH59 = kind(CCTKH59)
  INTEGER*4 CCTKH60
  integer, parameter :: cctki_use_CCTKH60 = kind(CCTKH60)
  INTEGER*4 CCTKH61
  integer, parameter :: cctki_use_CCTKH61 = kind(CCTKH61)
  INTEGER*4 CCTKH62
  integer, parameter :: cctki_use_CCTKH62 = kind(CCTKH62)
  INTEGER*4 CCTKH63
  integer, parameter :: cctki_use_CCTKH63 = kind(CCTKH63)
  INTEGER*4 CCTKH66
  integer, parameter :: cctki_use_CCTKH66 = kind(CCTKH66)
  INTEGER*4 CCTKH69
  integer, parameter :: cctki_use_CCTKH69 = kind(CCTKH69)
  INTEGER*4 CCTKH70
  integer, parameter :: cctki_use_CCTKH70 = kind(CCTKH70)
  INTEGER*4 GRHydro_stencil
  integer, parameter :: cctki_use_GRHydro_stencil = kind(GRHydro_stencil)
  INTEGER*4 CCTKH74
  integer, parameter :: cctki_use_CCTKH74 = kind(CCTKH74)
  INTEGER*4 CCTKH75
  integer, parameter :: cctki_use_CCTKH75 = kind(CCTKH75)
  INTEGER*4 CCTKH81
  integer, parameter :: cctki_use_CCTKH81 = kind(CCTKH81)
  INTEGER*4 CCTKH83
  integer, parameter :: cctki_use_CCTKH83 = kind(CCTKH83)
  INTEGER*4 CCTKH84
  integer, parameter :: cctki_use_CCTKH84 = kind(CCTKH84)
  INTEGER*4 CCTKH85
  integer, parameter :: cctki_use_CCTKH85 = kind(CCTKH85)
  INTEGER*4 clean_divergence
  integer, parameter :: cctki_use_clean_divergence = kind(clean_divergence)
  INTEGER*4 CCTKH91
  integer, parameter :: cctki_use_CCTKH91 = kind(CCTKH91)
  INTEGER*4 CCTKH92
  integer, parameter :: cctki_use_CCTKH92 = kind(CCTKH92)
  INTEGER*4 CCTKH95
  integer, parameter :: cctki_use_CCTKH95 = kind(CCTKH95)
  INTEGER*4 CCTKH96
  integer, parameter :: cctki_use_CCTKH96 = kind(CCTKH96)
  INTEGER*4 CCTKH105
  integer, parameter :: cctki_use_CCTKH105 = kind(CCTKH105)
  INTEGER*4 CCTKH109
  integer, parameter :: cctki_use_CCTKH109 = kind(CCTKH109)
  INTEGER*4 CCTKH110
  integer, parameter :: cctki_use_CCTKH110 = kind(CCTKH110)
  INTEGER*4 CCTKH111
  integer, parameter :: cctki_use_CCTKH111 = kind(CCTKH111)
  INTEGER*4 CCTKH113
  integer, parameter :: cctki_use_CCTKH113 = kind(CCTKH113)
  INTEGER*4 CCTKH115
  integer, parameter :: cctki_use_CCTKH115 = kind(CCTKH115)
  INTEGER*4 CCTKH122
  integer, parameter :: cctki_use_CCTKH122 = kind(CCTKH122)
  INTEGER*4 CCTKH123
  integer, parameter :: cctki_use_CCTKH123 = kind(CCTKH123)
  INTEGER*4 CCTKH131
  integer, parameter :: cctki_use_CCTKH131 = kind(CCTKH131)
  INTEGER*4 CCTKH132
  integer, parameter :: cctki_use_CCTKH132 = kind(CCTKH132)
  INTEGER*4 CCTKH135
  integer, parameter :: cctki_use_CCTKH135 = kind(CCTKH135)
  INTEGER*4 CCTKH138
  integer, parameter :: cctki_use_CCTKH138 = kind(CCTKH138)
  INTEGER*4 CCTKH140
  integer, parameter :: cctki_use_CCTKH140 = kind(CCTKH140)
  INTEGER*4 CCTKH142
  integer, parameter :: cctki_use_CCTKH142 = kind(CCTKH142)
  INTEGER*4 CCTKH143
  integer, parameter :: cctki_use_CCTKH143 = kind(CCTKH143)
  INTEGER*4 CCTKH145
  integer, parameter :: cctki_use_CCTKH145 = kind(CCTKH145)
  INTEGER*4 CCTKH146
  integer, parameter :: cctki_use_CCTKH146 = kind(CCTKH146)
  INTEGER*4 CCTKH148
  integer, parameter :: cctki_use_CCTKH148 = kind(CCTKH148)
  INTEGER*4 CCTKH149
  integer, parameter :: cctki_use_CCTKH149 = kind(CCTKH149)
  INTEGER*4 CCTKH150
  integer, parameter :: cctki_use_CCTKH150 = kind(CCTKH150)
  INTEGER*4 CCTKH151
  integer, parameter :: cctki_use_CCTKH151 = kind(CCTKH151)
  INTEGER*4 CCTKH153
  integer, parameter :: cctki_use_CCTKH153 = kind(CCTKH153)
  COMMON /GRHYDROrest/CCTKH52, CCTKH53, CCTKH54, GRHydro_del_ptol, GRHydro_eos_rf_prec, GRHydro_eps_min, CCTKH64, CCTKH65, CCTKH67,&
  & CCTKH68, GRHydro_perc_ptol, GRHydro_rho_central, CCTKH72, CCTKH73, CCTKH76, CCTKH77, CCTKH78, CCTKH79, CCTKH82, CCTKH87, CCTKH8&
  &8, CCTKH89, CCTKH93, CCTKH94, CCTKH98, initial_atmosphere_factor, CCTKH99, initial_rho_abs_min, initial_rho_rel_min, CCTKH100, C&
  &CTKH102, CCTKH104, CCTKH106, CCTKH107, CCTKH108, CCTKH116, CCTKH117, CCTKH118, CCTKH119, CCTKH121, CCTKH124, CCTKH125, CCTKH126,&
  & CCTKH127, rho_abs_min, CCTKH133, rho_rel_min, CCTKH136, CCTKH137, CCTKH139, CCTKH141, CCTKH152, CCTKH43, CCTKH46, CCTKH55, GRHy&
  &dro_eos_table, GRHydro_eos_type, CCTKH71, CCTKH80, CCTKH86, CCTKH90, CCTKH97, CCTKH101, CCTKH103, CCTKH112, CCTKH114, CCTKH120, &
  &CCTKH128, CCTKH129, CCTKH130, CCTKH134, CCTKH144, CCTKH147, CCTKH44, CCTKH45, CCTKH47, CCTKH48, CCTKH49, CCTKH50, CCTKH51, CCTKH&
  &56, CCTKH57, CCTKH58, CCTKH59, CCTKH60, CCTKH61, CCTKH62, CCTKH63, CCTKH66, CCTKH69, CCTKH70, GRHydro_stencil, CCTKH74, CCTKH75,&
  & CCTKH81, CCTKH83, CCTKH84, CCTKH85, clean_divergence, CCTKH91, CCTKH92, CCTKH95, CCTKH96, CCTKH105, CCTKH109, CCTKH110, CCTKH11&
  &1, CCTKH113, CCTKH115, CCTKH122, CCTKH123, CCTKH131, CCTKH132, CCTKH135, CCTKH138, CCTKH140, CCTKH142, CCTKH143, CCTKH145, CCTKH&
  &146, CCTKH148, CCTKH149, CCTKH150, CCTKH151, CCTKH153
  integer*8 CCTKH154
  integer, parameter :: cctki_use_CCTKH154 = kind(CCTKH154)
  integer*8 Bvec_evolution_method
  integer, parameter :: cctki_use_Bvec_evolution_method = kind(Bvec_evolution_method)
  integer*8 Y_e_evolution_method
  integer, parameter :: cctki_use_Y_e_evolution_method = kind(Y_e_evolution_method)
  integer*8 entropy_evolution_method
  integer, parameter :: cctki_use_entropy_evolution_method = kind(entropy_evolution_method)
  integer*8 CCTKH155
  integer, parameter :: cctki_use_CCTKH155 = kind(CCTKH155)
  integer*8 CCTKH157
  integer, parameter :: cctki_use_CCTKH157 = kind(CCTKH157)
  integer*8 CCTKH158
  integer, parameter :: cctki_use_CCTKH158 = kind(CCTKH158)
  integer*8 initial_Avec
  integer, parameter :: cctki_use_initial_Avec = kind(initial_Avec)
  integer*8 initial_Bvec
  integer, parameter :: cctki_use_initial_Bvec = kind(initial_Bvec)
  integer*8 CCTKH159
  integer, parameter :: cctki_use_CCTKH159 = kind(CCTKH159)
  integer*8 initial_entropy
  integer, parameter :: cctki_use_initial_entropy = kind(initial_entropy)
  integer*8 initial_hydro
  integer, parameter :: cctki_use_initial_hydro = kind(initial_hydro)
  integer*8 CCTKH160
  integer, parameter :: cctki_use_CCTKH160 = kind(CCTKH160)
  integer*8 CCTKH161
  integer, parameter :: cctki_use_CCTKH161 = kind(CCTKH161)
  integer*8 temperature_evolution_method
  integer, parameter :: cctki_use_temperature_evolution_method = kind(temperature_evolution_method)
  INTEGER*4 CCTKH156
  integer, parameter :: cctki_use_CCTKH156 = kind(CCTKH156)
  INTEGER*4 timelevels
  integer, parameter :: cctki_use_timelevels = kind(timelevels)
  COMMON /HYDROBASErest/CCTKH154, Bvec_evolution_method, Y_e_evolution_method, entropy_evolution_method, CCTKH155, CCTKH157, CCTKH1&
  &58, initial_Avec, initial_Bvec, CCTKH159, initial_entropy, initial_hydro, CCTKH160, CCTKH161, temperature_evolution_method, CCTK&
  &H156, timelevels
  
  integer i, j, k, nx, ny, nz, ierr

  logical, dimension(:,:,:), allocatable :: trivial_rp

  allocate(trivial_rp(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)),STAT=ierr)
  if (ierr .ne. 0) then
    call CCTK_Warn(0,43,"GRHydro_ReconstructTest.F90","GRHydro_InitData", "Allocation problems with trivial_rp")
  end if
  trivial_rp = .false.

  nx = cctk_lsh(1)
  ny = cctk_lsh(2)
  nz = cctk_lsh(3)
  
  xoffset = 1
  yoffset = 0
  zoffset = 0
  
  do k=1, cctk_lsh(3)
    do j=1, cctk_lsh(2)
      do i=1, cctk_lsh(1)
        if (i < 8) then 
          rho(i,j,k) = 5+sin(real(i+j+k)/2.)
        else 
          rho(i,j,k) = 1+sin(real(i+j+k)/2.)
        end if
      end do
    end do
  end do
  
  call tvdreconstruct(nx, ny, nz, xoffset, yoffset, zoffset, &
       rho, rhoplus, rhominus, trivial_rp, hydro_excision_mask)
  deallocate(trivial_rp)
  
  open(unit=11,file='original.dat',status='unknown')
  do  i=1, CCTK_LSH(1)
    write(11,*) i, rho(i,4,7)
    write(*,*) i, rho(i,4,7)
  end do
  close(11)
  
  open(unit=12,file='extensions.dat',status='unknown')
  do  i=2, CCTK_LSH(1)-1
    write(12,*) i-0.5, rhominus(i,4,7)
    write(12,*) i+0.5, rhoplus(i,4,7)
  end do
  close(12)
  
  
  write(*,*) 'test_reconstruction: done tvdreconstruct.'
  write(*,*) 'data written in files original.dat and extension.dat'
    
  stop
  
  return
  
end subroutine GRHydro_reconstruction_test
