
























































































































 


































































































































































 



























































































































































































































 



















































 










 








































































































































































































































 










                                
                                

                                
                                

                                
                                

                                




















































































subroutine LeanBSSN_symmetries( cctk_dim,cctk_gsh,cctk_lsh,cctk_lbnd,cctk_ubnd,cctk_tile_min,cctk_tile_max,cctk_ash,cctk_alignment,&
  &cctk_alignment_offset,cctk_from,cctk_to,cctk_bbox,cctk_delta_time,cctk_time,cctk_delta_space,cctk_origin_space,cctk_levfac,cctk_&
  &levoff,cctk_levoffdenom,cctk_timefac,cctk_convlevel,cctk_convfac,cctk_nghostzones,cctk_iteration,cctkGH,cctk_ash1,cctk_ash2,cctk&
  &_ash3, active_slicing_handle,alp,alp_p,alp_p_p,axx,axx_p,axx_p_p,axy,axy_p,axy_p_p,axz,axz_p,axz_p_p,ayy,ayy_p,ayy_p_p,ayz,ayz_p&
  &,ayz_p_p,azz,azz_p,azz_p_p,betax,betax_p,betax_p_p,betay,betay_p,betay_p_p,betaz,betaz_p,betaz_p_p,coarse_dx,coarse_dy,coarse_dz&
  &,conf_fac,conf_fac_p,conf_fac_p_p,conformal_state,dtalp,dtalp_p,dtalp_p_p,dtbetax,dtbetax_p,dtbetax_p_p,dtbetay,dtbetay_p,dtbeta&
  &y_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,e&
  &Ttz,eTtz_p,eTtz_p_p,eTxx,eTxx_p,eTxx_p_p,eTxy,eTxy_p,eTxy_p_p,eTxz,eTxz_p,eTxz_p_p,eTyy,eTyy_p,eTyy_p_p,eTyz,eTyz_p,eTyz_p_p,eTz&
  &z,eTzz_p,eTzz_p_p,gammatx,gammatx_p,gammatx_p_p,gammaty,gammaty_p,gammaty_p_p,gammatz,gammatz_p,gammatz_p_p,gxx,gxx_p,gxx_p_p,gx&
  &y,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,hc,hc_p,hc_p_p,hxx,hxx_p,hxx_p_p,hxy,hxy&
  &_p,hxy_p_p,hxz,hxz_p,hxz_p_p,hyy,hyy_p,hyy_p_p,hyz,hyz_p,hyz_p_p,hzz,hzz_p,hzz_p_p,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,mcx,mcx_p,mcx_p_p,mcy,mcy_p,mcy_p_p,mcz,mcz_p,mcz_p_p,psi,psix,ps&
  &ixx,psixy,psixz,psiy,psiyy,psiyz,psiz,psizz,r,rhs_alp,rhs_axx,rhs_axy,rhs_axz,rhs_ayy,rhs_ayz,rhs_azz,rhs_betax,rhs_betay,rhs_be&
  &taz,rhs_conf_fac,rhs_gammatx,rhs_gammatx_p,rhs_gammatx_p_p,rhs_gammaty,rhs_gammaty_p,rhs_gammaty_p_p,rhs_gammatz,rhs_gammatz_p,r&
  &hs_gammatz_p_p,rhs_hxx,rhs_hxy,rhs_hxz,rhs_hyy,rhs_hyz,rhs_hzz,rhs_tracek,shift_state,stress_energy_state,tracek,tracek_p,tracek&
  &_p_p,x,y,z )

  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 active_slicing_handle
  integer, parameter :: cctki_use_active_slicing_handle = kind(active_slicing_handle)
  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)
  REAL*8 axx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axx = kind(axx)
  REAL*8 axx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axx_p = kind(axx_p)
  REAL*8 axx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axx_p_p = kind(axx_p_p)
  REAL*8 axy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axy = kind(axy)
  REAL*8 axy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axy_p = kind(axy_p)
  REAL*8 axy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axy_p_p = kind(axy_p_p)
  REAL*8 axz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axz = kind(axz)
  REAL*8 axz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axz_p = kind(axz_p)
  REAL*8 axz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_axz_p_p = kind(axz_p_p)
  REAL*8 ayy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_ayy = kind(ayy)
  REAL*8 ayy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_ayy_p = kind(ayy_p)
  REAL*8 ayy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_ayy_p_p = kind(ayy_p_p)
  REAL*8 ayz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_ayz = kind(ayz)
  REAL*8 ayz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_ayz_p = kind(ayz_p)
  REAL*8 ayz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_ayz_p_p = kind(ayz_p_p)
  REAL*8 azz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_azz = kind(azz)
  REAL*8 azz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_azz_p = kind(azz_p)
  REAL*8 azz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_azz_p_p = kind(azz_p_p)
  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)
  REAL*8 conf_fac (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_conf_fac = kind(conf_fac)
  REAL*8 conf_fac_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_conf_fac_p = kind(conf_fac_p)
  REAL*8 conf_fac_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_conf_fac_p_p = kind(conf_fac_p_p)
  INTEGER*4 conformal_state
  integer, parameter :: cctki_use_conformal_state = kind(conformal_state)
  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 gammatx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammatx = kind(gammatx)
  REAL*8 gammatx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammatx_p = kind(gammatx_p)
  REAL*8 gammatx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammatx_p_p = kind(gammatx_p_p)
  REAL*8 gammaty (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammaty = kind(gammaty)
  REAL*8 gammaty_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammaty_p = kind(gammaty_p)
  REAL*8 gammaty_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammaty_p_p = kind(gammaty_p_p)
  REAL*8 gammatz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammatz = kind(gammatz)
  REAL*8 gammatz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammatz_p = kind(gammatz_p)
  REAL*8 gammatz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_gammatz_p_p = kind(gammatz_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)
  REAL*8 hc (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hc = kind(hc)
  REAL*8 hc_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hc_p = kind(hc_p)
  REAL*8 hc_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hc_p_p = kind(hc_p_p)
  REAL*8 hxx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxx = kind(hxx)
  REAL*8 hxx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxx_p = kind(hxx_p)
  REAL*8 hxx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxx_p_p = kind(hxx_p_p)
  REAL*8 hxy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxy = kind(hxy)
  REAL*8 hxy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxy_p = kind(hxy_p)
  REAL*8 hxy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxy_p_p = kind(hxy_p_p)
  REAL*8 hxz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxz = kind(hxz)
  REAL*8 hxz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxz_p = kind(hxz_p)
  REAL*8 hxz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hxz_p_p = kind(hxz_p_p)
  REAL*8 hyy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hyy = kind(hyy)
  REAL*8 hyy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hyy_p = kind(hyy_p)
  REAL*8 hyy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hyy_p_p = kind(hyy_p_p)
  REAL*8 hyz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hyz = kind(hyz)
  REAL*8 hyz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hyz_p = kind(hyz_p)
  REAL*8 hyz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hyz_p_p = kind(hyz_p_p)
  REAL*8 hzz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hzz = kind(hzz)
  REAL*8 hzz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hzz_p = kind(hzz_p)
  REAL*8 hzz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_hzz_p_p = kind(hzz_p_p)
  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 mcx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcx = kind(mcx)
  REAL*8 mcx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcx_p = kind(mcx_p)
  REAL*8 mcx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcx_p_p = kind(mcx_p_p)
  REAL*8 mcy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcy = kind(mcy)
  REAL*8 mcy_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcy_p = kind(mcy_p)
  REAL*8 mcy_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcy_p_p = kind(mcy_p_p)
  REAL*8 mcz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcz = kind(mcz)
  REAL*8 mcz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcz_p = kind(mcz_p)
  REAL*8 mcz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_mcz_p_p = kind(mcz_p_p)
  REAL*8 psi (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_psi = kind(psi)
  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 rhs_alp (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_alp = kind(rhs_alp)
  REAL*8 rhs_axx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_axx = kind(rhs_axx)
  REAL*8 rhs_axy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_axy = kind(rhs_axy)
  REAL*8 rhs_axz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_axz = kind(rhs_axz)
  REAL*8 rhs_ayy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_ayy = kind(rhs_ayy)
  REAL*8 rhs_ayz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_ayz = kind(rhs_ayz)
  REAL*8 rhs_azz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_azz = kind(rhs_azz)
  REAL*8 rhs_betax (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_betax = kind(rhs_betax)
  REAL*8 rhs_betay (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_betay = kind(rhs_betay)
  REAL*8 rhs_betaz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_betaz = kind(rhs_betaz)
  REAL*8 rhs_conf_fac (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_conf_fac = kind(rhs_conf_fac)
  REAL*8 rhs_gammatx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammatx = kind(rhs_gammatx)
  REAL*8 rhs_gammatx_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammatx_p = kind(rhs_gammatx_p)
  REAL*8 rhs_gammatx_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammatx_p_p = kind(rhs_gammatx_p_p)
  REAL*8 rhs_gammaty (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammaty = kind(rhs_gammaty)
  REAL*8 rhs_gammaty_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammaty_p = kind(rhs_gammaty_p)
  REAL*8 rhs_gammaty_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammaty_p_p = kind(rhs_gammaty_p_p)
  REAL*8 rhs_gammatz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammatz = kind(rhs_gammatz)
  REAL*8 rhs_gammatz_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammatz_p = kind(rhs_gammatz_p)
  REAL*8 rhs_gammatz_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_gammatz_p_p = kind(rhs_gammatz_p_p)
  REAL*8 rhs_hxx (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_hxx = kind(rhs_hxx)
  REAL*8 rhs_hxy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_hxy = kind(rhs_hxy)
  REAL*8 rhs_hxz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_hxz = kind(rhs_hxz)
  REAL*8 rhs_hyy (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_hyy = kind(rhs_hyy)
  REAL*8 rhs_hyz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_hyz = kind(rhs_hyz)
  REAL*8 rhs_hzz (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_hzz = kind(rhs_hzz)
  REAL*8 rhs_tracek (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_rhs_tracek = kind(rhs_tracek)
  INTEGER*4 shift_state
  integer, parameter :: cctki_use_shift_state = kind(shift_state)
  INTEGER*4 stress_energy_state
  integer, parameter :: cctki_use_stress_energy_state = kind(stress_energy_state)
  REAL*8 tracek (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tracek = kind(tracek)
  REAL*8 tracek_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tracek_p = kind(tracek_p)
  REAL*8 tracek_p_p (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_tracek_p_p = kind(tracek_p_p)
  REAL*8 x (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_x = kind(x)
  REAL*8 y (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_y = kind(y)
  REAL*8 z (cctk_ash1,cctk_ash2,cctk_ash3)
  integer, parameter :: cctki_use_z = kind(z)
  interface
  integer*8 function CCTK_PointerTo (var)
  implicit none
  type(*),dimension(..),TARGET :: var
  end function CCTK_PointerTo
  end interface
  interface
  integer function CCTK_Equals (arg1, arg2)
  implicit none
  integer*8 arg1
  character(*) arg2
  end function CCTK_Equals
  integer function CCTK_MyProc (cctkGH)
  implicit none
  integer*8 cctkGH
  end function CCTK_MyProc
  integer function CCTK_nProcs (cctkGH)
  implicit none
  integer*8 cctkGH
  end function CCTK_nProcs
  integer function CCTK_IsThornActive (name)
  implicit none
  character(*) name
  end function CCTK_IsThornActive
  integer*8 function CCTK_NullPointer ()
  implicit none
  end function CCTK_NullPointer
  end interface
  interface
  INTEGER*4 function Boundary_SelectGroupForBC (GH, faces, boundary_width, table_handle, group_name, bc_name)
  implicit none
  integer*8 GH
  INTEGER*4 faces
  INTEGER*4 boundary_width
  INTEGER*4 table_handle
  character(*) group_name
  character(*) bc_name
  end function Boundary_SelectGroupForBC
  end interface
  interface
  INTEGER*4 function ExtrapolateGammas (cctkGH, var)
  implicit none
  integer*8 cctkGH
  REAL*8 var(*)
  end function ExtrapolateGammas
  end interface
  interface
  INTEGER*4 function GetRefinementLevel (cctkGH)
  implicit none
  integer*8 cctkGH
  end function GetRefinementLevel
  end interface
  interface
  INTEGER*4 function MoLRegisterConstrainedGroup (ConstrainedIndex)
  implicit none
  INTEGER*4 ConstrainedIndex
  end function MoLRegisterConstrainedGroup
  end interface
  interface
  INTEGER*4 function MoLRegisterEvolved (EvolvedIndex, RHSIndex)
  implicit none
  INTEGER*4 EvolvedIndex
  INTEGER*4 RHSIndex
  end function MoLRegisterEvolved
  end interface
  interface
  INTEGER*4 function MoLRegisterEvolvedGroup (EvolvedIndex, RHSIndex)
  implicit none
  INTEGER*4 EvolvedIndex
  INTEGER*4 RHSIndex
  end function MoLRegisterEvolvedGroup
  end interface
  interface
  INTEGER*4 function MoLRegisterSaveAndRestoreGroup (SandRIndex)
  implicit none
  INTEGER*4 SandRIndex
  end function MoLRegisterSaveAndRestoreGroup
  end interface
  interface
  INTEGER*4 function MultiPatch_GetMap (cctkGH)
  implicit none
  integer*8 cctkGH
  end function MultiPatch_GetMap
  end interface
  interface
  INTEGER*4 function NewRad_Apply (cctkGH, var, rhs, var0, v0, radpower)
  implicit none
  integer*8 cctkGH
  REAL*8 var(*)
  REAL*8 rhs(*)
  REAL*8 var0
  REAL*8 v0
  INTEGER*4 radpower
  end function NewRad_Apply
  end interface
  INTEGER*4 LeanBSSN_MaxNumConstrainedVars
  integer, parameter :: cctki_use_LeanBSSN_MaxNumConstrainedVars = kind(LeanBSSN_MaxNumConstrainedVars)
  INTEGER*4 LeanBSSN_MaxNumEvolvedVars
  integer, parameter :: cctki_use_LeanBSSN_MaxNumEvolvedVars = kind(LeanBSSN_MaxNumEvolvedVars)
  INTEGER*4 LeanBSSN_MaxNumSandRVars
  integer, parameter :: cctki_use_LeanBSSN_MaxNumSandRVars = kind(LeanBSSN_MaxNumSandRVars)
  COMMON /LeanBSSNMoLrest/LeanBSSN_MaxNumConstrainedVars, LeanBSSN_MaxNumEvolvedVars, LeanBSSN_MaxNumSandRVars
  REAL*8 beta_Alp
  integer, parameter :: cctki_use_beta_Alp = kind(beta_Alp)
  REAL*8 beta_Gamma
  integer, parameter :: cctki_use_beta_Gamma = kind(beta_Gamma)
  REAL*8 beta_f_delta1
  integer, parameter :: cctki_use_beta_f_delta1 = kind(beta_f_delta1)
  REAL*8 beta_f_delta2
  integer, parameter :: cctki_use_beta_f_delta2 = kind(beta_f_delta2)
  REAL*8 chi_gamma
  integer, parameter :: cctki_use_chi_gamma = kind(chi_gamma)
  REAL*8 conf_fac_floor
  integer, parameter :: cctki_use_conf_fac_floor = kind(conf_fac_floor)
  REAL*8 eps_r
  integer, parameter :: cctki_use_eps_r = kind(eps_r)
  REAL*8 eta_beta
  integer, parameter :: cctki_use_eta_beta = kind(eta_beta)
  REAL*8 eta_transition_r
  integer, parameter :: cctki_use_eta_transition_r = kind(eta_transition_r)
  REAL*8 zeta_alpha
  integer, parameter :: cctki_use_zeta_alpha = kind(zeta_alpha)
  REAL*8 zeta_beta
  integer, parameter :: cctki_use_zeta_beta = kind(zeta_beta)
  INTEGER*4 calculate_constraints
  integer, parameter :: cctki_use_calculate_constraints = kind(calculate_constraints)
  INTEGER*4 calculate_constraints_every
  integer, parameter :: cctki_use_calculate_constraints_every = kind(calculate_constraints_every)
  INTEGER*4 compute_rhs_at_initial
  integer, parameter :: cctki_use_compute_rhs_at_initial = kind(compute_rhs_at_initial)
  INTEGER*4 derivs_order
  integer, parameter :: cctki_use_derivs_order = kind(derivs_order)
  INTEGER*4 eta_beta_dynamic
  integer, parameter :: cctki_use_eta_beta_dynamic = kind(eta_beta_dynamic)
  INTEGER*4 eta_transition
  integer, parameter :: cctki_use_eta_transition = kind(eta_transition)
  INTEGER*4 impose_conf_fac_floor_at_initial
  integer, parameter :: cctki_use_impose_conf_fac_floor_at_initial = kind(impose_conf_fac_floor_at_initial)
  INTEGER*4 make_aa_tracefree
  integer, parameter :: cctki_use_make_aa_tracefree = kind(make_aa_tracefree)
  INTEGER*4 moving_eta_transition
  integer, parameter :: cctki_use_moving_eta_transition = kind(moving_eta_transition)
  INTEGER*4 n_aij
  integer, parameter :: cctki_use_n_aij = kind(n_aij)
  INTEGER*4 n_alpha
  integer, parameter :: cctki_use_n_alpha = kind(n_alpha)
  INTEGER*4 n_beta
  integer, parameter :: cctki_use_n_beta = kind(n_beta)
  INTEGER*4 n_conf_fac
  integer, parameter :: cctki_use_n_conf_fac = kind(n_conf_fac)
  INTEGER*4 n_gammat
  integer, parameter :: cctki_use_n_gammat = kind(n_gammat)
  INTEGER*4 n_hij
  integer, parameter :: cctki_use_n_hij = kind(n_hij)
  INTEGER*4 n_trk
  integer, parameter :: cctki_use_n_trk = kind(n_trk)
  INTEGER*4 precollapsed_lapse
  integer, parameter :: cctki_use_precollapsed_lapse = kind(precollapsed_lapse)
  INTEGER*4 rescale_shift_initial
  integer, parameter :: cctki_use_rescale_shift_initial = kind(rescale_shift_initial)
  INTEGER*4 reset_dethh
  integer, parameter :: cctki_use_reset_dethh = kind(reset_dethh)
  INTEGER*4 use_advection_stencils
  integer, parameter :: cctki_use_use_advection_stencils = kind(use_advection_stencils)
  INTEGER*4 z_is_radial
  integer, parameter :: cctki_use_z_is_radial = kind(z_is_radial)
  COMMON /LeanBSSNMoLpriv/beta_Alp, beta_Gamma, beta_f_delta1, beta_f_delta2, chi_gamma, conf_fac_floor, eps_r, eta_beta, eta_trans&
  &ition_r, zeta_alpha, zeta_beta, calculate_constraints, calculate_constraints_every, compute_rhs_at_initial, derivs_order, eta_be&
  &ta_dynamic, eta_transition, impose_conf_fac_floor_at_initial, make_aa_tracefree, moving_eta_transition, n_aij, n_alpha, n_beta, &
  &n_conf_fac, n_gammat, n_hij, n_trk, precollapsed_lapse, rescale_shift_initial, reset_dethh, use_advection_stencils, z_is_radial
  integer*8 CCTKH0
  integer, parameter :: cctki_use_CCTKH0 = kind(CCTKH0)
  integer*8 dtlapse_evolution_method
  integer, parameter :: cctki_use_dtlapse_evolution_method = kind(dtlapse_evolution_method)
  integer*8 dtshift_evolution_method
  integer, parameter :: cctki_use_dtshift_evolution_method = kind(dtshift_evolution_method)
  integer*8 evolution_method
  integer, parameter :: cctki_use_evolution_method = kind(evolution_method)
  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 CCTKH4
  integer, parameter :: cctki_use_CCTKH4 = kind(CCTKH4)
  integer*8 CCTKH5
  integer, parameter :: cctki_use_CCTKH5 = kind(CCTKH5)
  integer*8 lapse_evolution_method
  integer, parameter :: cctki_use_lapse_evolution_method = kind(lapse_evolution_method)
  integer*8 CCTKH6
  integer, parameter :: cctki_use_CCTKH6 = kind(CCTKH6)
  integer*8 CCTKH8
  integer, parameter :: cctki_use_CCTKH8 = kind(CCTKH8)
  integer*8 CCTKH10
  integer, parameter :: cctki_use_CCTKH10 = kind(CCTKH10)
  integer*8 shift_evolution_method
  integer, parameter :: cctki_use_shift_evolution_method = kind(shift_evolution_method)
  integer*8 CCTKH11
  integer, parameter :: cctki_use_CCTKH11 = kind(CCTKH11)
  INTEGER*4 CCTKH7
  integer, parameter :: cctki_use_CCTKH7 = kind(CCTKH7)
  INTEGER*4 CCTKH9
  integer, parameter :: cctki_use_CCTKH9 = kind(CCTKH9)
  INTEGER*4 CCTKH12
  integer, parameter :: cctki_use_CCTKH12 = kind(CCTKH12)
  COMMON /ADMBASErest/CCTKH0, dtlapse_evolution_method, dtshift_evolution_method, evolution_method, CCTKH1, CCTKH2, CCTKH3, CCTKH4,&
  & CCTKH5, lapse_evolution_method, CCTKH6, CCTKH8, CCTKH10, shift_evolution_method, CCTKH11, CCTKH7, CCTKH9, CCTKH12
  INTEGER*4 CCTKH13
  integer, parameter :: cctki_use_CCTKH13 = kind(CCTKH13)
  INTEGER*4 CCTKH14
  integer, parameter :: cctki_use_CCTKH14 = kind(CCTKH14)
  INTEGER*4 CCTKH15
  integer, parameter :: cctki_use_CCTKH15 = kind(CCTKH15)
  INTEGER*4 CCTKH16
  integer, parameter :: cctki_use_CCTKH16 = kind(CCTKH16)
  INTEGER*4 MoL_Num_Constrained_Vars
  integer, parameter :: cctki_use_MoL_Num_Constrained_Vars = kind(MoL_Num_Constrained_Vars)
  INTEGER*4 MoL_Num_Evolved_Vars
  integer, parameter :: cctki_use_MoL_Num_Evolved_Vars = kind(MoL_Num_Evolved_Vars)
  INTEGER*4 CCTKH17
  integer, parameter :: cctki_use_CCTKH17 = kind(CCTKH17)
  INTEGER*4 MoL_Num_SaveAndRestore_Vars
  integer, parameter :: cctki_use_MoL_Num_SaveAndRestore_Vars = kind(MoL_Num_SaveAndRestore_Vars)
  INTEGER*4 CCTKH18
  integer, parameter :: cctki_use_CCTKH18 = kind(CCTKH18)
  COMMON /METHODOFLINESrest/CCTKH13, CCTKH14, CCTKH15, CCTKH16, MoL_Num_Constrained_Vars, MoL_Num_Evolved_Vars, CCTKH17, MoL_Num_Sa&
  &veAndRestore_Vars, CCTKH18

  INTEGER*4 ierr

  if ((CCTK_Equals(lapse_evolution_method, "LeanBSSNMoL") .ne. 0)) then
     call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_alp" )
  end if

  if ((CCTK_Equals(shift_evolution_method, "LeanBSSNMoL") .ne. 0)) then
     call SetCartSymVN( ierr, cctkGH, (/-1, 1, 1/), "LeanBSSNMoL::rhs_betax" )
     call SetCartSymVN( ierr, cctkGH, (/ 1,-1, 1/), "LeanBSSNMoL::rhs_betay" )
     call SetCartSymVN( ierr, cctkGH, (/ 1, 1,-1/), "LeanBSSNMoL::rhs_betaz" )
  end if

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::conf_fac" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_conf_fac" )

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::hxx" )
  call SetCartSymVN( ierr, cctkGH, (/-1,-1, 1/), "LeanBSSNMoL::hxy" )
  call SetCartSymVN( ierr, cctkGH, (/-1, 1,-1/), "LeanBSSNMoL::hxz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::hyy" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1,-1/), "LeanBSSNMoL::hyz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::hzz" )

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_hxx" )
  call SetCartSymVN( ierr, cctkGH, (/-1,-1, 1/), "LeanBSSNMoL::rhs_hxy" )
  call SetCartSymVN( ierr, cctkGH, (/-1, 1,-1/), "LeanBSSNMoL::rhs_hxz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_hyy" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1,-1/), "LeanBSSNMoL::rhs_hyz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_hzz" )

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::axx" )
  call SetCartSymVN( ierr, cctkGH, (/-1,-1, 1/), "LeanBSSNMoL::axy" )
  call SetCartSymVN( ierr, cctkGH, (/-1, 1,-1/), "LeanBSSNMoL::axz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::ayy" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1,-1/), "LeanBSSNMoL::ayz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::azz" )

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_axx" )
  call SetCartSymVN( ierr, cctkGH, (/-1,-1, 1/), "LeanBSSNMoL::rhs_axy" )
  call SetCartSymVN( ierr, cctkGH, (/-1, 1,-1/), "LeanBSSNMoL::rhs_axz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_ayy" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1,-1/), "LeanBSSNMoL::rhs_ayz" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_azz" )

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::tracek" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::rhs_tracek" )

  call SetCartSymVN( ierr, cctkGH, (/-1, 1, 1/), "LeanBSSNMoL::gammatx" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1, 1/), "LeanBSSNMoL::gammaty" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1,-1/), "LeanBSSNMoL::gammatz" )

  call SetCartSymVN( ierr, cctkGH, (/-1, 1, 1/), "LeanBSSNMoL::rhs_gammatx" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1, 1/), "LeanBSSNMoL::rhs_gammaty" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1,-1/), "LeanBSSNMoL::rhs_gammatz" )

  call SetCartSymVN( ierr, cctkGH, (/ 1, 1, 1/), "LeanBSSNMoL::hc" )
  call SetCartSymVN( ierr, cctkGH, (/-1, 1, 1/), "LeanBSSNMoL::mcx" )
  call SetCartSymVN( ierr, cctkGH, (/ 1,-1, 1/), "LeanBSSNMoL::mcy" )
  call SetCartSymVN( ierr, cctkGH, (/ 1, 1,-1/), "LeanBSSNMoL::mcz" )

end subroutine LeanBSSN_symmetries
