


















































































































 


































































































































































 











































































































































































































 



















































 










 








































































































































































































































 










                                
                                

                                
                                

                                
                                

                                




















































































subroutine NullSHRE_SchPreCalc(cctk_dim,cctk_gsh,cctk_lsh,cctk_lbnd,cctk_ubnd,cctk_tile_min,cctk_tile_max,cctk_ash,cctk_alignment,c&
  &ctk_alignment_offset,cctk_from,cctk_to,cctk_bbox,cctk_delta_time,cctk_time,cctk_delta_space,cctk_origin_space,cctk_levfac,cctk_l&
  &evoff,cctk_levoffdenom,cctk_timefac,cctk_convlevel,cctk_convfac,cctk_nghostzones,cctk_iteration,cctkGH,cctk_ash1,cctk_ash2,cctk_&
  &ash3, N1Ylm_length,NT1Ylm_length,NTYlm_length,NYlm_length,S1Ylm_length,ST1Ylm_length,STYlm_length,SYlm_length,TClm_length,TCrlm_&
  &length,TCtlm_length,WT_3vectors_length,WT_4vectors_length,WT_affine_metric_length,WT_d4vectors_length,WT_deta0_vect_length,WT_dj&
  &0_vect_length,WT_dsigma_vect_length,WT_g1_vect_length,WT_gup_vect_length,WT_jac_length,WT_r1_length,WT_scalars_length,X0Clm,X0N1&
  &Ylm,X0NT1Ylm,X0NTYlm,X0NYlm,X0S1Ylm,X0ST1Ylm,X0STYlm,X0SYlm,X0TClm,X0TCrlm,X0TCtlm,X0WT_3vectors,X0WT_4vectors,X0WT_CmpxCoord,X0&
  &WT_affine_metric,X0WT_d4vectors,X0WT_deta0_vect,X0WT_dj0_vect,X0WT_dsigma_vect,X0WT_g1_vect,X0WT_gup_vect,X0WT_jac,X0WT_r1,X0WT_&
  &scalars,X0drClm,X0dtClm,X1N1Ylm,X1NT1Ylm,X1NTYlm,X1NYlm,X1S1Ylm,X1ST1Ylm,X1STYlm,X1SYlm,X1WT_3vectors,X1WT_4vectors,X1WT_CmpxCoo&
  &rd,X1WT_affine_metric,X1WT_d4vectors,X1WT_deta0_vect,X1WT_dj0_vect,X1WT_dsigma_vect,X1WT_g1_vect,X1WT_gup_vect,X1WT_jac,X1WT_r1,&
  &X1WT_scalars,IC,ICr,ICt,ITC,ITCr,ITCt,RC,RCr,RCt,RTC,RTCr,RTCt,WT_DNnorm_vect,WT_DSnorm_vect,WT_delld_vect,WT_deta0_vect,WT_detg&
  &,WT_dj0_vect,WT_dr0_vect,WT_dr1_vect,WT_dsigma_vect,WT_ell_vect,WT_elld,WT_eta0_vect,WT_eta1_vect,WT_etaup0_vect,WT_etaup1_vect,&
  &WT_g1_vect,WT_gup_vect,WT_j0_vect,WT_j0inv_vect,WT_j1_vect,WT_na_vect,WT_r1,WT_r1_p,WT_r1_p_p,WT_sa_vect,WT_sigma2,WT_sigma_vect&
  &,WT_temp,im1TYN,im1TYS,im1YN,im1YS,imTYN,imTYS,imYN,imYS,qa_2,qa_3,re1TYN,re1TYS,re1YN,re1YS,reTYN,reTYS,reYN,reYS, SHRE_alpha_e&
  &_length,SHRE_beta_e_length,SHRE_dalpha_e_length,SHRE_dbeta_e_length,SHRE_dgij_e_length,SHRE_dgit_e_length,SHRE_gij_e_length,SHRE&
  &_git_e_length,WT_r0_length,X0SHRE_alpha_e,X0SHRE_beta_e,X0SHRE_dalpha_e,X0SHRE_dbeta_e,X0SHRE_dgij_e,X0SHRE_dgit_e,X0SHRE_gij_e,&
  &X0SHRE_git_e,X0WT_r0,X0beta_l,X0beta_wt,X0j_l,X0j_wt,X0q_wt,X0u_l,X0u_wt,X0u_x_wt,X0w_l,X0w_wt,X0x_wt,X1SHRE_alpha_e,X1SHRE_beta&
  &_e,X1SHRE_dalpha_e,X1SHRE_dbeta_e,X1SHRE_dgij_e,X1SHRE_dgit_e,X1SHRE_gij_e,X1SHRE_git_e,X1WT_r0,X1beta_l,X1beta_wt,X1j_l,X1j_wt,&
  &X1q_wt,X1u_l,X1u_wt,X1u_x_wt,X1w_l,X1w_wt,X1x_wt,beta_l_length,beta_wt_length,j_l_length,j_wt_length,q_wt_length,u_l_length,u_wt&
  &_length,u_x_wt_length,w_l_length,w_wt_length,x_wt_length,SHRE_alpha_e,SHRE_beta_e,SHRE_dpalpha_e,SHRE_dpbeta_e,SHRE_dpgij_e,SHRE&
  &_dpgit_e,SHRE_dqalpha_e,SHRE_dqbeta_e,SHRE_dqgij_e,SHRE_dqgit_e,SHRE_dralpha_e,SHRE_drbeta_e,SHRE_drgij_e,SHRE_drgit_e,SHRE_dtal&
  &pha_e,SHRE_dtbeta_e,SHRE_dtgij_e,SHRE_dtgit_e,SHRE_gij_e,SHRE_git_e,WT_r0,beta_l,beta_wt,beta_wt_p,j_l,j_wt,j_wt_p,q_wt,q_wt_p,u&
  &_l,u_wt,u_wt_p,u_x_wt,w_l,w_wt,w_wt_p,x_wt,x_wt_p, SHRE_alpha_length,SHRE_beta_length,SHRE_dalpha_length,SHRE_dbeta_length,SHRE_&
  &dgij_length,SHRE_dgit_length,SHRE_gij_length,SHRE_git_length,X0EG_mask,X0EQ_mask,X0EV_mask,X0NullGrParArrI,X0NullGrParArrR,X0Rad&
  &Crd,X0SHRE_alpha,X0SHRE_beta,X0SHRE_dalpha,X0SHRE_dbeta,X0SHRE_dgij,X0SHRE_dgit,X0SHRE_gij,X0SHRE_git,X0StCmCrd,X0StCrd,X0cmplxc&
  &harfuncs_aux,X0cmplxcharfuncs_basic,X0guard_mask,X0null_mask,X0realcharfuncs,X0tmp_cgf,X0tmp_cgf3,X0tmp_rgf,X1EG_mask,X1EQ_mask,&
  &X1EV_mask,X1SHRE_alpha,X1SHRE_beta,X1SHRE_dalpha,X1SHRE_dbeta,X1SHRE_dgij,X1SHRE_dgit,X1SHRE_gij,X1SHRE_git,X1StCmCrd,X1StCrd,X1&
  &cmplxcharfuncs_aux,X1cmplxcharfuncs_basic,X1guard_mask,X1null_mask,X1realcharfuncs,X1tmp_cgf,X1tmp_cgf3,X1tmp_rgf,cmplxcharfuncs&
  &_aux_length,cmplxcharfuncs_basic_length,realcharfuncs_length,EG_mask,EQ_mask,EV_mask,SHRE_alpha,SHRE_alpha_p,SHRE_alpha_p_p,SHRE&
  &_beta,SHRE_beta_p,SHRE_beta_p_p,SHRE_dpalpha,SHRE_dpalpha_p,SHRE_dpalpha_p_p,SHRE_dpbeta,SHRE_dpbeta_p,SHRE_dpbeta_p_p,SHRE_dpgi&
  &j,SHRE_dpgij_p,SHRE_dpgij_p_p,SHRE_dpgit,SHRE_dpgit_p,SHRE_dpgit_p_p,SHRE_dqalpha,SHRE_dqalpha_p,SHRE_dqalpha_p_p,SHRE_dqbeta,SH&
  &RE_dqbeta_p,SHRE_dqbeta_p_p,SHRE_dqgij,SHRE_dqgij_p,SHRE_dqgij_p_p,SHRE_dqgit,SHRE_dqgit_p,SHRE_dqgit_p_p,SHRE_dralpha,SHRE_dral&
  &pha_p,SHRE_dralpha_p_p,SHRE_drbeta,SHRE_drbeta_p,SHRE_drbeta_p_p,SHRE_drgij,SHRE_drgij_p,SHRE_drgij_p_p,SHRE_drgit,SHRE_drgit_p,&
  &SHRE_drgit_p_p,SHRE_dtalpha,SHRE_dtalpha_p,SHRE_dtalpha_p_p,SHRE_dtbeta,SHRE_dtbeta_p,SHRE_dtbeta_p_p,SHRE_dtgij,SHRE_dtgij_p,SH&
  &RE_dtgij_p_p,SHRE_dtgit,SHRE_dtgit_p,SHRE_dtgit_p_p,SHRE_gij,SHRE_gij_p,SHRE_gij_p_p,SHRE_git,SHRE_git_p,SHRE_git_p_p,bcn,bcn_p,&
  &bcs,bcs_p,boundary_maskn,boundary_masks,cbcn,cbcn_p,cbcs,cbcs_p,ckcn,ckcn_p,ckcs,ckcs_p,dxjcn,dxjcn_p,dxjcs,dxjcs_p,eth2jcn,eth2&
  &jcn_p,eth2jcs,eth2jcs_p,evolution_maskn,evolution_masks,evolution_radius,guard_mask,jcn,jcn_p,jcs,jcs_p,nucn,nucn_p,nucs,nucs_p,&
  &null_delta,null_dx,null_gsh,null_lbnd,null_lsh,null_rb,null_rbh,null_ubnd,null_xb,null_xbh,qcn,qcn_p,qcs,qcs_p,qsize,stereo_p,st&
  &ereo_pp,stereo_q,tmp_cgfn,tmp_cgfn1,tmp_cgfn2,tmp_cgfn3,tmp_cgfs,tmp_cgfs1,tmp_cgfs2,tmp_cgfs3,tmp_rgfn,tmp_rgfs,ucn,ucn_p,ucs,u&
  &cs_p,wcn,wcn_p,wcs,wcs_p,zeta)

  use cctk
  use NullGrid_Vars
  use NullSHRE_modSchYlm 
  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 N1Ylm_length
  INTEGER NT1Ylm_length
  INTEGER NTYlm_length
  INTEGER NYlm_length
  INTEGER S1Ylm_length
  INTEGER ST1Ylm_length
  INTEGER STYlm_length
  INTEGER SYlm_length
  INTEGER TClm_length
  INTEGER TCrlm_length
  INTEGER TCtlm_length
  INTEGER WT_3vectors_length
  INTEGER WT_4vectors_length
  INTEGER WT_affine_metric_length
  INTEGER WT_d4vectors_length
  INTEGER WT_deta0_vect_length
  INTEGER WT_dj0_vect_length
  INTEGER WT_dsigma_vect_length
  INTEGER WT_g1_vect_length
  INTEGER WT_gup_vect_length
  INTEGER WT_jac_length
  INTEGER WT_r1_length
  INTEGER WT_scalars_length
  INTEGER X0Clm
  INTEGER X0N1Ylm
  INTEGER X0NT1Ylm
  INTEGER X0NTYlm
  INTEGER X0NYlm
  INTEGER X0S1Ylm
  INTEGER X0ST1Ylm
  INTEGER X0STYlm
  INTEGER X0SYlm
  INTEGER X0TClm
  INTEGER X0TCrlm
  INTEGER X0TCtlm
  INTEGER X0WT_3vectors
  INTEGER X0WT_4vectors
  INTEGER X0WT_CmpxCoord
  INTEGER X0WT_affine_metric
  INTEGER X0WT_d4vectors
  INTEGER X0WT_deta0_vect
  INTEGER X0WT_dj0_vect
  INTEGER X0WT_dsigma_vect
  INTEGER X0WT_g1_vect
  INTEGER X0WT_gup_vect
  INTEGER X0WT_jac
  INTEGER X0WT_r1
  INTEGER X0WT_scalars
  INTEGER X0drClm
  INTEGER X0dtClm
  INTEGER X1N1Ylm
  INTEGER X1NT1Ylm
  INTEGER X1NTYlm
  INTEGER X1NYlm
  INTEGER X1S1Ylm
  INTEGER X1ST1Ylm
  INTEGER X1STYlm
  INTEGER X1SYlm
  INTEGER X1WT_3vectors
  INTEGER X1WT_4vectors
  INTEGER X1WT_CmpxCoord
  INTEGER X1WT_affine_metric
  INTEGER X1WT_d4vectors
  INTEGER X1WT_deta0_vect
  INTEGER X1WT_dj0_vect
  INTEGER X1WT_dsigma_vect
  INTEGER X1WT_g1_vect
  INTEGER X1WT_gup_vect
  INTEGER X1WT_jac
  INTEGER X1WT_r1
  INTEGER X1WT_scalars
  REAL*8 IC (X0Clm)
  integer, parameter :: cctki_use_IC = kind(IC)
  REAL*8 ICr (X0drClm)
  integer, parameter :: cctki_use_ICr = kind(ICr)
  REAL*8 ICt (X0dtClm)
  integer, parameter :: cctki_use_ICt = kind(ICt)
  REAL*8 ITC (X0TClm,TClm_length)
  integer, parameter :: cctki_use_ITC = kind(ITC)
  REAL*8 ITCr (X0TCrlm,TCrlm_length)
  integer, parameter :: cctki_use_ITCr = kind(ITCr)
  REAL*8 ITCt (X0TCtlm,TCtlm_length)
  integer, parameter :: cctki_use_ITCt = kind(ITCt)
  REAL*8 RC (X0Clm)
  integer, parameter :: cctki_use_RC = kind(RC)
  REAL*8 RCr (X0drClm)
  integer, parameter :: cctki_use_RCr = kind(RCr)
  REAL*8 RCt (X0dtClm)
  integer, parameter :: cctki_use_RCt = kind(RCt)
  REAL*8 RTC (X0TClm,TClm_length)
  integer, parameter :: cctki_use_RTC = kind(RTC)
  REAL*8 RTCr (X0TCrlm,TCrlm_length)
  integer, parameter :: cctki_use_RTCr = kind(RTCr)
  REAL*8 RTCt (X0TCtlm,TCtlm_length)
  integer, parameter :: cctki_use_RTCt = kind(RTCt)
  REAL*8 WT_DNnorm_vect (X0WT_d4vectors,X1WT_d4vectors,WT_d4vectors_length)
  integer, parameter :: cctki_use_WT_DNnorm_vect = kind(WT_DNnorm_vect)
  REAL*8 WT_DSnorm_vect (X0WT_d4vectors,X1WT_d4vectors,WT_d4vectors_length)
  integer, parameter :: cctki_use_WT_DSnorm_vect = kind(WT_DSnorm_vect)
  REAL*8 WT_delld_vect (X0WT_4vectors,X1WT_4vectors,WT_4vectors_length)
  integer, parameter :: cctki_use_WT_delld_vect = kind(WT_delld_vect)
  REAL*8 WT_deta0_vect (X0WT_deta0_vect,X1WT_deta0_vect,WT_deta0_vect_length)
  integer, parameter :: cctki_use_WT_deta0_vect = kind(WT_deta0_vect)
  REAL*8 WT_detg (X0WT_scalars,X1WT_scalars,WT_scalars_length)
  integer, parameter :: cctki_use_WT_detg = kind(WT_detg)
  REAL*8 WT_dj0_vect (X0WT_dj0_vect,X1WT_dj0_vect,WT_dj0_vect_length)
  integer, parameter :: cctki_use_WT_dj0_vect = kind(WT_dj0_vect)
  REAL*8 WT_dr0_vect (X0WT_3vectors,X1WT_3vectors,WT_3vectors_length)
  integer, parameter :: cctki_use_WT_dr0_vect = kind(WT_dr0_vect)
  REAL*8 WT_dr1_vect (X0WT_4vectors,X1WT_4vectors,WT_4vectors_length)
  integer, parameter :: cctki_use_WT_dr1_vect = kind(WT_dr1_vect)
  REAL*8 WT_dsigma_vect (X0WT_dsigma_vect,X1WT_dsigma_vect,WT_dsigma_vect_length)
  integer, parameter :: cctki_use_WT_dsigma_vect = kind(WT_dsigma_vect)
  REAL*8 WT_ell_vect (X0WT_4vectors,X1WT_4vectors,WT_4vectors_length)
  integer, parameter :: cctki_use_WT_ell_vect = kind(WT_ell_vect)
  REAL*8 WT_elld (X0WT_scalars,X1WT_scalars,WT_scalars_length)
  integer, parameter :: cctki_use_WT_elld = kind(WT_elld)
  REAL*8 WT_eta0_vect (X0WT_affine_metric,X1WT_affine_metric,WT_affine_metric_length)
  integer, parameter :: cctki_use_WT_eta0_vect = kind(WT_eta0_vect)
  REAL*8 WT_eta1_vect (X0WT_affine_metric,X1WT_affine_metric,WT_affine_metric_length)
  integer, parameter :: cctki_use_WT_eta1_vect = kind(WT_eta1_vect)
  REAL*8 WT_etaup0_vect (X0WT_affine_metric,X1WT_affine_metric,WT_affine_metric_length)
  integer, parameter :: cctki_use_WT_etaup0_vect = kind(WT_etaup0_vect)
  REAL*8 WT_etaup1_vect (X0WT_affine_metric,X1WT_affine_metric,WT_affine_metric_length)
  integer, parameter :: cctki_use_WT_etaup1_vect = kind(WT_etaup1_vect)
  REAL*8 WT_g1_vect (X0WT_g1_vect,X1WT_g1_vect,WT_g1_vect_length)
  integer, parameter :: cctki_use_WT_g1_vect = kind(WT_g1_vect)
  REAL*8 WT_gup_vect (X0WT_gup_vect,X1WT_gup_vect,WT_gup_vect_length)
  integer, parameter :: cctki_use_WT_gup_vect = kind(WT_gup_vect)
  REAL*8 WT_j0_vect (X0WT_jac,X1WT_jac,WT_jac_length)
  integer, parameter :: cctki_use_WT_j0_vect = kind(WT_j0_vect)
  REAL*8 WT_j0inv_vect (X0WT_jac,X1WT_jac,WT_jac_length)
  integer, parameter :: cctki_use_WT_j0inv_vect = kind(WT_j0inv_vect)
  REAL*8 WT_j1_vect (X0WT_jac,X1WT_jac,WT_jac_length)
  integer, parameter :: cctki_use_WT_j1_vect = kind(WT_j1_vect)
  REAL*8 WT_na_vect (X0WT_4vectors,X1WT_4vectors,WT_4vectors_length)
  integer, parameter :: cctki_use_WT_na_vect = kind(WT_na_vect)
  REAL*8 WT_r1 (X0WT_r1,X1WT_r1,WT_r1_length)
  integer, parameter :: cctki_use_WT_r1 = kind(WT_r1)
  REAL*8 WT_r1_p (X0WT_r1,X1WT_r1,WT_r1_length)
  integer, parameter :: cctki_use_WT_r1_p = kind(WT_r1_p)
  REAL*8 WT_r1_p_p (X0WT_r1,X1WT_r1,WT_r1_length)
  integer, parameter :: cctki_use_WT_r1_p_p = kind(WT_r1_p_p)
  REAL*8 WT_sa_vect (X0WT_4vectors,X1WT_4vectors,WT_4vectors_length)
  integer, parameter :: cctki_use_WT_sa_vect = kind(WT_sa_vect)
  REAL*8 WT_sigma2 (X0WT_scalars,X1WT_scalars,WT_scalars_length)
  integer, parameter :: cctki_use_WT_sigma2 = kind(WT_sigma2)
  REAL*8 WT_sigma_vect (X0WT_3vectors,X1WT_3vectors,WT_3vectors_length)
  integer, parameter :: cctki_use_WT_sigma_vect = kind(WT_sigma_vect)
  REAL*8 WT_temp (X0WT_scalars,X1WT_scalars,WT_scalars_length)
  integer, parameter :: cctki_use_WT_temp = kind(WT_temp)
  REAL*8 im1TYN (X0NT1Ylm,X1NT1Ylm,NT1Ylm_length)
  integer, parameter :: cctki_use_im1TYN = kind(im1TYN)
  REAL*8 im1TYS (X0ST1Ylm,X1ST1Ylm,ST1Ylm_length)
  integer, parameter :: cctki_use_im1TYS = kind(im1TYS)
  REAL*8 im1YN (X0N1Ylm,X1N1Ylm,N1Ylm_length)
  integer, parameter :: cctki_use_im1YN = kind(im1YN)
  REAL*8 im1YS (X0S1Ylm,X1S1Ylm,S1Ylm_length)
  integer, parameter :: cctki_use_im1YS = kind(im1YS)
  REAL*8 imTYN (X0NTYlm,X1NTYlm,NTYlm_length)
  integer, parameter :: cctki_use_imTYN = kind(imTYN)
  REAL*8 imTYS (X0STYlm,X1STYlm,STYlm_length)
  integer, parameter :: cctki_use_imTYS = kind(imTYS)
  REAL*8 imYN (X0NYlm,X1NYlm,NYlm_length)
  integer, parameter :: cctki_use_imYN = kind(imYN)
  REAL*8 imYS (X0SYlm,X1SYlm,SYlm_length)
  integer, parameter :: cctki_use_imYS = kind(imYS)
  COMPLEX*16 qa_2 (X0WT_CmpxCoord,X1WT_CmpxCoord)
  integer, parameter :: cctki_use_qa_2 = kind(qa_2)
  COMPLEX*16 qa_3 (X0WT_CmpxCoord,X1WT_CmpxCoord)
  integer, parameter :: cctki_use_qa_3 = kind(qa_3)
  REAL*8 re1TYN (X0NT1Ylm,X1NT1Ylm,NT1Ylm_length)
  integer, parameter :: cctki_use_re1TYN = kind(re1TYN)
  REAL*8 re1TYS (X0ST1Ylm,X1ST1Ylm,ST1Ylm_length)
  integer, parameter :: cctki_use_re1TYS = kind(re1TYS)
  REAL*8 re1YN (X0N1Ylm,X1N1Ylm,N1Ylm_length)
  integer, parameter :: cctki_use_re1YN = kind(re1YN)
  REAL*8 re1YS (X0S1Ylm,X1S1Ylm,S1Ylm_length)
  integer, parameter :: cctki_use_re1YS = kind(re1YS)
  REAL*8 reTYN (X0NTYlm,X1NTYlm,NTYlm_length)
  integer, parameter :: cctki_use_reTYN = kind(reTYN)
  REAL*8 reTYS (X0STYlm,X1STYlm,STYlm_length)
  integer, parameter :: cctki_use_reTYS = kind(reTYS)
  REAL*8 reYN (X0NYlm,X1NYlm,NYlm_length)
  integer, parameter :: cctki_use_reYN = kind(reYN)
  REAL*8 reYS (X0SYlm,X1SYlm,SYlm_length)
  integer, parameter :: cctki_use_reYS = kind(reYS)
  INTEGER SHRE_alpha_e_length
  INTEGER SHRE_beta_e_length
  INTEGER SHRE_dalpha_e_length
  INTEGER SHRE_dbeta_e_length
  INTEGER SHRE_dgij_e_length
  INTEGER SHRE_dgit_e_length
  INTEGER SHRE_gij_e_length
  INTEGER SHRE_git_e_length
  INTEGER WT_r0_length
  INTEGER X0SHRE_alpha_e
  INTEGER X0SHRE_beta_e
  INTEGER X0SHRE_dalpha_e
  INTEGER X0SHRE_dbeta_e
  INTEGER X0SHRE_dgij_e
  INTEGER X0SHRE_dgit_e
  INTEGER X0SHRE_gij_e
  INTEGER X0SHRE_git_e
  INTEGER X0WT_r0
  INTEGER X0beta_l
  INTEGER X0beta_wt
  INTEGER X0j_l
  INTEGER X0j_wt
  INTEGER X0q_wt
  INTEGER X0u_l
  INTEGER X0u_wt
  INTEGER X0u_x_wt
  INTEGER X0w_l
  INTEGER X0w_wt
  INTEGER X0x_wt
  INTEGER X1SHRE_alpha_e
  INTEGER X1SHRE_beta_e
  INTEGER X1SHRE_dalpha_e
  INTEGER X1SHRE_dbeta_e
  INTEGER X1SHRE_dgij_e
  INTEGER X1SHRE_dgit_e
  INTEGER X1SHRE_gij_e
  INTEGER X1SHRE_git_e
  INTEGER X1WT_r0
  INTEGER X1beta_l
  INTEGER X1beta_wt
  INTEGER X1j_l
  INTEGER X1j_wt
  INTEGER X1q_wt
  INTEGER X1u_l
  INTEGER X1u_wt
  INTEGER X1u_x_wt
  INTEGER X1w_l
  INTEGER X1w_wt
  INTEGER X1x_wt
  INTEGER beta_l_length
  INTEGER beta_wt_length
  INTEGER j_l_length
  INTEGER j_wt_length
  INTEGER q_wt_length
  INTEGER u_l_length
  INTEGER u_wt_length
  INTEGER u_x_wt_length
  INTEGER w_l_length
  INTEGER w_wt_length
  INTEGER x_wt_length
  REAL*8 SHRE_alpha_e (X0SHRE_alpha_e,X1SHRE_alpha_e,SHRE_alpha_e_length)
  integer, parameter :: cctki_use_SHRE_alpha_e = kind(SHRE_alpha_e)
  REAL*8 SHRE_beta_e (X0SHRE_beta_e,X1SHRE_beta_e,SHRE_beta_e_length)
  integer, parameter :: cctki_use_SHRE_beta_e = kind(SHRE_beta_e)
  REAL*8 SHRE_dpalpha_e (X0SHRE_dalpha_e,X1SHRE_dalpha_e,SHRE_dalpha_e_length)
  integer, parameter :: cctki_use_SHRE_dpalpha_e = kind(SHRE_dpalpha_e)
  REAL*8 SHRE_dpbeta_e (X0SHRE_dbeta_e,X1SHRE_dbeta_e,SHRE_dbeta_e_length)
  integer, parameter :: cctki_use_SHRE_dpbeta_e = kind(SHRE_dpbeta_e)
  REAL*8 SHRE_dpgij_e (X0SHRE_dgij_e,X1SHRE_dgij_e,SHRE_dgij_e_length)
  integer, parameter :: cctki_use_SHRE_dpgij_e = kind(SHRE_dpgij_e)
  REAL*8 SHRE_dpgit_e (X0SHRE_dgit_e,X1SHRE_dgit_e,SHRE_dgit_e_length)
  integer, parameter :: cctki_use_SHRE_dpgit_e = kind(SHRE_dpgit_e)
  REAL*8 SHRE_dqalpha_e (X0SHRE_dalpha_e,X1SHRE_dalpha_e,SHRE_dalpha_e_length)
  integer, parameter :: cctki_use_SHRE_dqalpha_e = kind(SHRE_dqalpha_e)
  REAL*8 SHRE_dqbeta_e (X0SHRE_dbeta_e,X1SHRE_dbeta_e,SHRE_dbeta_e_length)
  integer, parameter :: cctki_use_SHRE_dqbeta_e = kind(SHRE_dqbeta_e)
  REAL*8 SHRE_dqgij_e (X0SHRE_dgij_e,X1SHRE_dgij_e,SHRE_dgij_e_length)
  integer, parameter :: cctki_use_SHRE_dqgij_e = kind(SHRE_dqgij_e)
  REAL*8 SHRE_dqgit_e (X0SHRE_dgit_e,X1SHRE_dgit_e,SHRE_dgit_e_length)
  integer, parameter :: cctki_use_SHRE_dqgit_e = kind(SHRE_dqgit_e)
  REAL*8 SHRE_dralpha_e (X0SHRE_dalpha_e,X1SHRE_dalpha_e,SHRE_dalpha_e_length)
  integer, parameter :: cctki_use_SHRE_dralpha_e = kind(SHRE_dralpha_e)
  REAL*8 SHRE_drbeta_e (X0SHRE_dbeta_e,X1SHRE_dbeta_e,SHRE_dbeta_e_length)
  integer, parameter :: cctki_use_SHRE_drbeta_e = kind(SHRE_drbeta_e)
  REAL*8 SHRE_drgij_e (X0SHRE_dgij_e,X1SHRE_dgij_e,SHRE_dgij_e_length)
  integer, parameter :: cctki_use_SHRE_drgij_e = kind(SHRE_drgij_e)
  REAL*8 SHRE_drgit_e (X0SHRE_dgit_e,X1SHRE_dgit_e,SHRE_dgit_e_length)
  integer, parameter :: cctki_use_SHRE_drgit_e = kind(SHRE_drgit_e)
  REAL*8 SHRE_dtalpha_e (X0SHRE_dalpha_e,X1SHRE_dalpha_e,SHRE_dalpha_e_length)
  integer, parameter :: cctki_use_SHRE_dtalpha_e = kind(SHRE_dtalpha_e)
  REAL*8 SHRE_dtbeta_e (X0SHRE_dbeta_e,X1SHRE_dbeta_e,SHRE_dbeta_e_length)
  integer, parameter :: cctki_use_SHRE_dtbeta_e = kind(SHRE_dtbeta_e)
  REAL*8 SHRE_dtgij_e (X0SHRE_dgij_e,X1SHRE_dgij_e,SHRE_dgij_e_length)
  integer, parameter :: cctki_use_SHRE_dtgij_e = kind(SHRE_dtgij_e)
  REAL*8 SHRE_dtgit_e (X0SHRE_dgit_e,X1SHRE_dgit_e,SHRE_dgit_e_length)
  integer, parameter :: cctki_use_SHRE_dtgit_e = kind(SHRE_dtgit_e)
  REAL*8 SHRE_gij_e (X0SHRE_gij_e,X1SHRE_gij_e,SHRE_gij_e_length)
  integer, parameter :: cctki_use_SHRE_gij_e = kind(SHRE_gij_e)
  REAL*8 SHRE_git_e (X0SHRE_git_e,X1SHRE_git_e,SHRE_git_e_length)
  integer, parameter :: cctki_use_SHRE_git_e = kind(SHRE_git_e)
  REAL*8 WT_r0 (X0WT_r0,X1WT_r0,WT_r0_length)
  integer, parameter :: cctki_use_WT_r0 = kind(WT_r0)
  REAL*8 beta_l (X0beta_l,X1beta_l,beta_l_length)
  integer, parameter :: cctki_use_beta_l = kind(beta_l)
  REAL*8 beta_wt (X0beta_wt,X1beta_wt,beta_wt_length)
  integer, parameter :: cctki_use_beta_wt = kind(beta_wt)
  REAL*8 beta_wt_p (X0beta_wt,X1beta_wt,beta_wt_length)
  integer, parameter :: cctki_use_beta_wt_p = kind(beta_wt_p)
  COMPLEX*16 j_l (X0j_l,X1j_l,j_l_length)
  integer, parameter :: cctki_use_j_l = kind(j_l)
  COMPLEX*16 j_wt (X0j_wt,X1j_wt,j_wt_length)
  integer, parameter :: cctki_use_j_wt = kind(j_wt)
  COMPLEX*16 j_wt_p (X0j_wt,X1j_wt,j_wt_length)
  integer, parameter :: cctki_use_j_wt_p = kind(j_wt_p)
  COMPLEX*16 q_wt (X0q_wt,X1q_wt,q_wt_length)
  integer, parameter :: cctki_use_q_wt = kind(q_wt)
  COMPLEX*16 q_wt_p (X0q_wt,X1q_wt,q_wt_length)
  integer, parameter :: cctki_use_q_wt_p = kind(q_wt_p)
  COMPLEX*16 u_l (X0u_l,X1u_l,u_l_length)
  integer, parameter :: cctki_use_u_l = kind(u_l)
  COMPLEX*16 u_wt (X0u_wt,X1u_wt,u_wt_length)
  integer, parameter :: cctki_use_u_wt = kind(u_wt)
  COMPLEX*16 u_wt_p (X0u_wt,X1u_wt,u_wt_length)
  integer, parameter :: cctki_use_u_wt_p = kind(u_wt_p)
  COMPLEX*16 u_x_wt (X0u_x_wt,X1u_x_wt,u_x_wt_length)
  integer, parameter :: cctki_use_u_x_wt = kind(u_x_wt)
  REAL*8 w_l (X0w_l,X1w_l,w_l_length)
  integer, parameter :: cctki_use_w_l = kind(w_l)
  REAL*8 w_wt (X0w_wt,X1w_wt,w_wt_length)
  integer, parameter :: cctki_use_w_wt = kind(w_wt)
  REAL*8 w_wt_p (X0w_wt,X1w_wt,w_wt_length)
  integer, parameter :: cctki_use_w_wt_p = kind(w_wt_p)
  REAL*8 x_wt (X0x_wt,X1x_wt,x_wt_length)
  integer, parameter :: cctki_use_x_wt = kind(x_wt)
  REAL*8 x_wt_p (X0x_wt,X1x_wt,x_wt_length)
  integer, parameter :: cctki_use_x_wt_p = kind(x_wt_p)
  INTEGER SHRE_alpha_length
  INTEGER SHRE_beta_length
  INTEGER SHRE_dalpha_length
  INTEGER SHRE_dbeta_length
  INTEGER SHRE_dgij_length
  INTEGER SHRE_dgit_length
  INTEGER SHRE_gij_length
  INTEGER SHRE_git_length
  INTEGER X0EG_mask
  INTEGER X0EQ_mask
  INTEGER X0EV_mask
  INTEGER X0NullGrParArrI
  INTEGER X0NullGrParArrR
  INTEGER X0RadCrd
  INTEGER X0SHRE_alpha
  INTEGER X0SHRE_beta
  INTEGER X0SHRE_dalpha
  INTEGER X0SHRE_dbeta
  INTEGER X0SHRE_dgij
  INTEGER X0SHRE_dgit
  INTEGER X0SHRE_gij
  INTEGER X0SHRE_git
  INTEGER X0StCmCrd
  INTEGER X0StCrd
  INTEGER X0cmplxcharfuncs_aux
  INTEGER X0cmplxcharfuncs_basic
  INTEGER X0guard_mask
  INTEGER X0null_mask
  INTEGER X0realcharfuncs
  INTEGER X0tmp_cgf
  INTEGER X0tmp_cgf3
  INTEGER X0tmp_rgf
  INTEGER X1EG_mask
  INTEGER X1EQ_mask
  INTEGER X1EV_mask
  INTEGER X1SHRE_alpha
  INTEGER X1SHRE_beta
  INTEGER X1SHRE_dalpha
  INTEGER X1SHRE_dbeta
  INTEGER X1SHRE_dgij
  INTEGER X1SHRE_dgit
  INTEGER X1SHRE_gij
  INTEGER X1SHRE_git
  INTEGER X1StCmCrd
  INTEGER X1StCrd
  INTEGER X1cmplxcharfuncs_aux
  INTEGER X1cmplxcharfuncs_basic
  INTEGER X1guard_mask
  INTEGER X1null_mask
  INTEGER X1realcharfuncs
  INTEGER X1tmp_cgf
  INTEGER X1tmp_cgf3
  INTEGER X1tmp_rgf
  INTEGER cmplxcharfuncs_aux_length
  INTEGER cmplxcharfuncs_basic_length
  INTEGER realcharfuncs_length
  INTEGER*4 EG_mask (X0EG_mask,X1EG_mask)
  integer, parameter :: cctki_use_EG_mask = kind(EG_mask)
  INTEGER*4 EQ_mask (X0EQ_mask,X1EQ_mask)
  integer, parameter :: cctki_use_EQ_mask = kind(EQ_mask)
  INTEGER*4 EV_mask (X0EV_mask,X1EV_mask)
  integer, parameter :: cctki_use_EV_mask = kind(EV_mask)
  REAL*8 SHRE_alpha (X0SHRE_alpha,X1SHRE_alpha,SHRE_alpha_length)
  integer, parameter :: cctki_use_SHRE_alpha = kind(SHRE_alpha)
  REAL*8 SHRE_alpha_p (X0SHRE_alpha,X1SHRE_alpha,SHRE_alpha_length)
  integer, parameter :: cctki_use_SHRE_alpha_p = kind(SHRE_alpha_p)
  REAL*8 SHRE_alpha_p_p (X0SHRE_alpha,X1SHRE_alpha,SHRE_alpha_length)
  integer, parameter :: cctki_use_SHRE_alpha_p_p = kind(SHRE_alpha_p_p)
  REAL*8 SHRE_beta (X0SHRE_beta,X1SHRE_beta,SHRE_beta_length)
  integer, parameter :: cctki_use_SHRE_beta = kind(SHRE_beta)
  REAL*8 SHRE_beta_p (X0SHRE_beta,X1SHRE_beta,SHRE_beta_length)
  integer, parameter :: cctki_use_SHRE_beta_p = kind(SHRE_beta_p)
  REAL*8 SHRE_beta_p_p (X0SHRE_beta,X1SHRE_beta,SHRE_beta_length)
  integer, parameter :: cctki_use_SHRE_beta_p_p = kind(SHRE_beta_p_p)
  REAL*8 SHRE_dpalpha (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dpalpha = kind(SHRE_dpalpha)
  REAL*8 SHRE_dpalpha_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dpalpha_p = kind(SHRE_dpalpha_p)
  REAL*8 SHRE_dpalpha_p_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dpalpha_p_p = kind(SHRE_dpalpha_p_p)
  REAL*8 SHRE_dpbeta (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dpbeta = kind(SHRE_dpbeta)
  REAL*8 SHRE_dpbeta_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dpbeta_p = kind(SHRE_dpbeta_p)
  REAL*8 SHRE_dpbeta_p_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dpbeta_p_p = kind(SHRE_dpbeta_p_p)
  REAL*8 SHRE_dpgij (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dpgij = kind(SHRE_dpgij)
  REAL*8 SHRE_dpgij_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dpgij_p = kind(SHRE_dpgij_p)
  REAL*8 SHRE_dpgij_p_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dpgij_p_p = kind(SHRE_dpgij_p_p)
  REAL*8 SHRE_dpgit (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dpgit = kind(SHRE_dpgit)
  REAL*8 SHRE_dpgit_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dpgit_p = kind(SHRE_dpgit_p)
  REAL*8 SHRE_dpgit_p_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dpgit_p_p = kind(SHRE_dpgit_p_p)
  REAL*8 SHRE_dqalpha (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dqalpha = kind(SHRE_dqalpha)
  REAL*8 SHRE_dqalpha_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dqalpha_p = kind(SHRE_dqalpha_p)
  REAL*8 SHRE_dqalpha_p_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dqalpha_p_p = kind(SHRE_dqalpha_p_p)
  REAL*8 SHRE_dqbeta (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dqbeta = kind(SHRE_dqbeta)
  REAL*8 SHRE_dqbeta_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dqbeta_p = kind(SHRE_dqbeta_p)
  REAL*8 SHRE_dqbeta_p_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dqbeta_p_p = kind(SHRE_dqbeta_p_p)
  REAL*8 SHRE_dqgij (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dqgij = kind(SHRE_dqgij)
  REAL*8 SHRE_dqgij_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dqgij_p = kind(SHRE_dqgij_p)
  REAL*8 SHRE_dqgij_p_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dqgij_p_p = kind(SHRE_dqgij_p_p)
  REAL*8 SHRE_dqgit (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dqgit = kind(SHRE_dqgit)
  REAL*8 SHRE_dqgit_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dqgit_p = kind(SHRE_dqgit_p)
  REAL*8 SHRE_dqgit_p_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dqgit_p_p = kind(SHRE_dqgit_p_p)
  REAL*8 SHRE_dralpha (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dralpha = kind(SHRE_dralpha)
  REAL*8 SHRE_dralpha_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dralpha_p = kind(SHRE_dralpha_p)
  REAL*8 SHRE_dralpha_p_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dralpha_p_p = kind(SHRE_dralpha_p_p)
  REAL*8 SHRE_drbeta (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_drbeta = kind(SHRE_drbeta)
  REAL*8 SHRE_drbeta_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_drbeta_p = kind(SHRE_drbeta_p)
  REAL*8 SHRE_drbeta_p_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_drbeta_p_p = kind(SHRE_drbeta_p_p)
  REAL*8 SHRE_drgij (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_drgij = kind(SHRE_drgij)
  REAL*8 SHRE_drgij_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_drgij_p = kind(SHRE_drgij_p)
  REAL*8 SHRE_drgij_p_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_drgij_p_p = kind(SHRE_drgij_p_p)
  REAL*8 SHRE_drgit (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_drgit = kind(SHRE_drgit)
  REAL*8 SHRE_drgit_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_drgit_p = kind(SHRE_drgit_p)
  REAL*8 SHRE_drgit_p_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_drgit_p_p = kind(SHRE_drgit_p_p)
  REAL*8 SHRE_dtalpha (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dtalpha = kind(SHRE_dtalpha)
  REAL*8 SHRE_dtalpha_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dtalpha_p = kind(SHRE_dtalpha_p)
  REAL*8 SHRE_dtalpha_p_p (X0SHRE_dalpha,X1SHRE_dalpha,SHRE_dalpha_length)
  integer, parameter :: cctki_use_SHRE_dtalpha_p_p = kind(SHRE_dtalpha_p_p)
  REAL*8 SHRE_dtbeta (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dtbeta = kind(SHRE_dtbeta)
  REAL*8 SHRE_dtbeta_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dtbeta_p = kind(SHRE_dtbeta_p)
  REAL*8 SHRE_dtbeta_p_p (X0SHRE_dbeta,X1SHRE_dbeta,SHRE_dbeta_length)
  integer, parameter :: cctki_use_SHRE_dtbeta_p_p = kind(SHRE_dtbeta_p_p)
  REAL*8 SHRE_dtgij (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dtgij = kind(SHRE_dtgij)
  REAL*8 SHRE_dtgij_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dtgij_p = kind(SHRE_dtgij_p)
  REAL*8 SHRE_dtgij_p_p (X0SHRE_dgij,X1SHRE_dgij,SHRE_dgij_length)
  integer, parameter :: cctki_use_SHRE_dtgij_p_p = kind(SHRE_dtgij_p_p)
  REAL*8 SHRE_dtgit (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dtgit = kind(SHRE_dtgit)
  REAL*8 SHRE_dtgit_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dtgit_p = kind(SHRE_dtgit_p)
  REAL*8 SHRE_dtgit_p_p (X0SHRE_dgit,X1SHRE_dgit,SHRE_dgit_length)
  integer, parameter :: cctki_use_SHRE_dtgit_p_p = kind(SHRE_dtgit_p_p)
  REAL*8 SHRE_gij (X0SHRE_gij,X1SHRE_gij,SHRE_gij_length)
  integer, parameter :: cctki_use_SHRE_gij = kind(SHRE_gij)
  REAL*8 SHRE_gij_p (X0SHRE_gij,X1SHRE_gij,SHRE_gij_length)
  integer, parameter :: cctki_use_SHRE_gij_p = kind(SHRE_gij_p)
  REAL*8 SHRE_gij_p_p (X0SHRE_gij,X1SHRE_gij,SHRE_gij_length)
  integer, parameter :: cctki_use_SHRE_gij_p_p = kind(SHRE_gij_p_p)
  REAL*8 SHRE_git (X0SHRE_git,X1SHRE_git,SHRE_git_length)
  integer, parameter :: cctki_use_SHRE_git = kind(SHRE_git)
  REAL*8 SHRE_git_p (X0SHRE_git,X1SHRE_git,SHRE_git_length)
  integer, parameter :: cctki_use_SHRE_git_p = kind(SHRE_git_p)
  REAL*8 SHRE_git_p_p (X0SHRE_git,X1SHRE_git,SHRE_git_length)
  integer, parameter :: cctki_use_SHRE_git_p_p = kind(SHRE_git_p_p)
  REAL*8 bcn (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_bcn = kind(bcn)
  REAL*8 bcn_p (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_bcn_p = kind(bcn_p)
  REAL*8 bcs (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_bcs = kind(bcs)
  REAL*8 bcs_p (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_bcs_p = kind(bcs_p)
  INTEGER*4 boundary_maskn (X0null_mask,X1null_mask)
  integer, parameter :: cctki_use_boundary_maskn = kind(boundary_maskn)
  INTEGER*4 boundary_masks (X0null_mask,X1null_mask)
  integer, parameter :: cctki_use_boundary_masks = kind(boundary_masks)
  COMPLEX*16 cbcn (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_cbcn = kind(cbcn)
  COMPLEX*16 cbcn_p (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_cbcn_p = kind(cbcn_p)
  COMPLEX*16 cbcs (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_cbcs = kind(cbcs)
  COMPLEX*16 cbcs_p (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_cbcs_p = kind(cbcs_p)
  COMPLEX*16 ckcn (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_ckcn = kind(ckcn)
  COMPLEX*16 ckcn_p (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_ckcn_p = kind(ckcn_p)
  COMPLEX*16 ckcs (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_ckcs = kind(ckcs)
  COMPLEX*16 ckcs_p (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_ckcs_p = kind(ckcs_p)
  COMPLEX*16 dxjcn (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_dxjcn = kind(dxjcn)
  COMPLEX*16 dxjcn_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_dxjcn_p = kind(dxjcn_p)
  COMPLEX*16 dxjcs (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_dxjcs = kind(dxjcs)
  COMPLEX*16 dxjcs_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_dxjcs_p = kind(dxjcs_p)
  COMPLEX*16 eth2jcn (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_eth2jcn = kind(eth2jcn)
  COMPLEX*16 eth2jcn_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_eth2jcn_p = kind(eth2jcn_p)
  COMPLEX*16 eth2jcs (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_eth2jcs = kind(eth2jcs)
  COMPLEX*16 eth2jcs_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_eth2jcs_p = kind(eth2jcs_p)
  INTEGER*4 evolution_maskn (X0null_mask,X1null_mask)
  integer, parameter :: cctki_use_evolution_maskn = kind(evolution_maskn)
  INTEGER*4 evolution_masks (X0null_mask,X1null_mask)
  integer, parameter :: cctki_use_evolution_masks = kind(evolution_masks)
  REAL*8 evolution_radius
  integer, parameter :: cctki_use_evolution_radius = kind(evolution_radius)
  INTEGER*4 guard_mask (X0guard_mask,X1guard_mask)
  integer, parameter :: cctki_use_guard_mask = kind(guard_mask)
  COMPLEX*16 jcn (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_jcn = kind(jcn)
  COMPLEX*16 jcn_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_jcn_p = kind(jcn_p)
  COMPLEX*16 jcs (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_jcs = kind(jcs)
  COMPLEX*16 jcs_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_jcs_p = kind(jcs_p)
  COMPLEX*16 nucn (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_nucn = kind(nucn)
  COMPLEX*16 nucn_p (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_nucn_p = kind(nucn_p)
  COMPLEX*16 nucs (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_nucs = kind(nucs)
  COMPLEX*16 nucs_p (X0cmplxcharfuncs_aux,X1cmplxcharfuncs_aux,cmplxcharfuncs_aux_length)
  integer, parameter :: cctki_use_nucs_p = kind(nucs_p)
  REAL*8 null_delta (X0NullGrParArrR)
  integer, parameter :: cctki_use_null_delta = kind(null_delta)
  REAL*8 null_dx
  integer, parameter :: cctki_use_null_dx = kind(null_dx)
  INTEGER*4 null_gsh (X0NullGrParArrI)
  integer, parameter :: cctki_use_null_gsh = kind(null_gsh)
  INTEGER*4 null_lbnd (X0NullGrParArrI)
  integer, parameter :: cctki_use_null_lbnd = kind(null_lbnd)
  INTEGER*4 null_lsh (X0NullGrParArrI)
  integer, parameter :: cctki_use_null_lsh = kind(null_lsh)
  REAL*8 null_rb (X0RadCrd)
  integer, parameter :: cctki_use_null_rb = kind(null_rb)
  REAL*8 null_rbh (X0RadCrd)
  integer, parameter :: cctki_use_null_rbh = kind(null_rbh)
  INTEGER*4 null_ubnd (X0NullGrParArrI)
  integer, parameter :: cctki_use_null_ubnd = kind(null_ubnd)
  REAL*8 null_xb (X0RadCrd)
  integer, parameter :: cctki_use_null_xb = kind(null_xb)
  REAL*8 null_xbh (X0RadCrd)
  integer, parameter :: cctki_use_null_xbh = kind(null_xbh)
  COMPLEX*16 qcn (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_qcn = kind(qcn)
  COMPLEX*16 qcn_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_qcn_p = kind(qcn_p)
  COMPLEX*16 qcs (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_qcs = kind(qcs)
  COMPLEX*16 qcs_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_qcs_p = kind(qcs_p)
  REAL*8 qsize
  integer, parameter :: cctki_use_qsize = kind(qsize)
  REAL*8 stereo_p (X0StCrd,X1StCrd)
  integer, parameter :: cctki_use_stereo_p = kind(stereo_p)
  REAL*8 stereo_pp (X0StCrd,X1StCrd)
  integer, parameter :: cctki_use_stereo_pp = kind(stereo_pp)
  REAL*8 stereo_q (X0StCrd,X1StCrd)
  integer, parameter :: cctki_use_stereo_q = kind(stereo_q)
  COMPLEX*16 tmp_cgfn (X0tmp_cgf,X1tmp_cgf)
  integer, parameter :: cctki_use_tmp_cgfn = kind(tmp_cgfn)
  COMPLEX*16 tmp_cgfn1 (X0tmp_cgf3,X1tmp_cgf3)
  integer, parameter :: cctki_use_tmp_cgfn1 = kind(tmp_cgfn1)
  COMPLEX*16 tmp_cgfn2 (X0tmp_cgf3,X1tmp_cgf3)
  integer, parameter :: cctki_use_tmp_cgfn2 = kind(tmp_cgfn2)
  COMPLEX*16 tmp_cgfn3 (X0tmp_cgf3,X1tmp_cgf3)
  integer, parameter :: cctki_use_tmp_cgfn3 = kind(tmp_cgfn3)
  COMPLEX*16 tmp_cgfs (X0tmp_cgf,X1tmp_cgf)
  integer, parameter :: cctki_use_tmp_cgfs = kind(tmp_cgfs)
  COMPLEX*16 tmp_cgfs1 (X0tmp_cgf3,X1tmp_cgf3)
  integer, parameter :: cctki_use_tmp_cgfs1 = kind(tmp_cgfs1)
  COMPLEX*16 tmp_cgfs2 (X0tmp_cgf3,X1tmp_cgf3)
  integer, parameter :: cctki_use_tmp_cgfs2 = kind(tmp_cgfs2)
  COMPLEX*16 tmp_cgfs3 (X0tmp_cgf3,X1tmp_cgf3)
  integer, parameter :: cctki_use_tmp_cgfs3 = kind(tmp_cgfs3)
  REAL*8 tmp_rgfn (X0tmp_rgf,X1tmp_rgf)
  integer, parameter :: cctki_use_tmp_rgfn = kind(tmp_rgfn)
  REAL*8 tmp_rgfs (X0tmp_rgf,X1tmp_rgf)
  integer, parameter :: cctki_use_tmp_rgfs = kind(tmp_rgfs)
  COMPLEX*16 ucn (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_ucn = kind(ucn)
  COMPLEX*16 ucn_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_ucn_p = kind(ucn_p)
  COMPLEX*16 ucs (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_ucs = kind(ucs)
  COMPLEX*16 ucs_p (X0cmplxcharfuncs_basic,X1cmplxcharfuncs_basic,cmplxcharfuncs_basic_length)
  integer, parameter :: cctki_use_ucs_p = kind(ucs_p)
  REAL*8 wcn (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_wcn = kind(wcn)
  REAL*8 wcn_p (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_wcn_p = kind(wcn_p)
  REAL*8 wcs (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_wcs = kind(wcs)
  REAL*8 wcs_p (X0realcharfuncs,X1realcharfuncs,realcharfuncs_length)
  integer, parameter :: cctki_use_wcs_p = kind(wcs_p)
  COMPLEX*16 zeta (X0StCmCrd,X1StCmCrd)
  integer, parameter :: cctki_use_zeta = kind(zeta)
    REAL*8 MinimumDistanceTo2Bp1
  integer, parameter :: cctki_use_MinimumDistanceTo2Bp1 = kind(MinimumDistanceTo2Bp1)
  REAL*8 cr
  integer, parameter :: cctki_use_cr = kind(cr)
  REAL*8 mass
  integer, parameter :: cctki_use_mass = kind(mass)
  INTEGER*4 l_max
  integer, parameter :: cctki_use_l_max = kind(l_max)
  COMMON /NullSHRExtractrest/MinimumDistanceTo2Bp1, cr, mass, l_max
  REAL*8 Afact
  integer, parameter :: cctki_use_Afact = kind(Afact)
  REAL*8 elld_min_coef
  integer, parameter :: cctki_use_elld_min_coef = kind(elld_min_coef)
  REAL*8 fcoef
  integer, parameter :: cctki_use_fcoef = kind(fcoef)
  REAL*8 rl_min_coef
  integer, parameter :: cctki_use_rl_min_coef = kind(rl_min_coef)
  integer*8 SchIEF_time
  integer, parameter :: cctki_use_SchIEF_time = kind(SchIEF_time)
  integer*8 WT_metric
  integer, parameter :: cctki_use_WT_metric = kind(WT_metric)
  INTEGER*4 WT_spherical_harmonics
  integer, parameter :: cctki_use_WT_spherical_harmonics = kind(WT_spherical_harmonics)
  INTEGER*4 WT_spherical_harmonics_on_nullgrid
  integer, parameter :: cctki_use_WT_spherical_harmonics_on_nullgrid = kind(WT_spherical_harmonics_on_nullgrid)
  INTEGER*4 ana_metric
  integer, parameter :: cctki_use_ana_metric = kind(ana_metric)
  INTEGER*4 debug_switch_on
  integer, parameter :: cctki_use_debug_switch_on = kind(debug_switch_on)
  INTEGER*4 elld_min_pow
  integer, parameter :: cctki_use_elld_min_pow = kind(elld_min_pow)
  INTEGER*4 halt_on_negative_elld
  integer, parameter :: cctki_use_halt_on_negative_elld = kind(halt_on_negative_elld)
  INTEGER*4 halt_on_negative_rl
  integer, parameter :: cctki_use_halt_on_negative_rl = kind(halt_on_negative_rl)
  INTEGER*4 rl_min_pow
  integer, parameter :: cctki_use_rl_min_pow = kind(rl_min_pow)
  COMMON /NullSHRExtractpriv/Afact, elld_min_coef, fcoef, rl_min_coef, SchIEF_time, WT_metric, WT_spherical_harmonics, WT_spherical&
  &_harmonics_on_nullgrid, ana_metric, debug_switch_on, elld_min_pow, halt_on_negative_elld, halt_on_negative_rl, rl_min_pow
  REAL*8 CCTKH0
  integer, parameter :: cctki_use_CCTKH0 = kind(CCTKH0)
  REAL*8 CCTKH1
  integer, parameter :: cctki_use_CCTKH1 = kind(CCTKH1)
  REAL*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*4 cctk_itlast
  integer, parameter :: cctki_use_cctk_itlast = kind(cctk_itlast)
  INTEGER*4 CCTKH5
  integer, parameter :: cctki_use_CCTKH5 = kind(CCTKH5)
  COMMON /CACTUSrest/CCTKH0, CCTKH1, CCTKH2, CCTKH3, CCTKH4, cctk_itlast, CCTKH5
  REAL*8 CCTKH15
  integer, parameter :: cctki_use_CCTKH15 = kind(CCTKH15)
  integer*8 boundary_data
  integer, parameter :: cctki_use_boundary_data = kind(boundary_data)
  integer*8 CCTKH17
  integer, parameter :: cctki_use_CCTKH17 = kind(CCTKH17)
  INTEGER*4 CCTKH6
  integer, parameter :: cctki_use_CCTKH6 = kind(CCTKH6)
  INTEGER*4 CCTKH7
  integer, parameter :: cctki_use_CCTKH7 = kind(CCTKH7)
  INTEGER*4 CCTKH8
  integer, parameter :: cctki_use_CCTKH8 = kind(CCTKH8)
  INTEGER*4 CCTKH9
  integer, parameter :: cctki_use_CCTKH9 = kind(CCTKH9)
  INTEGER*4 CCTKH10
  integer, parameter :: cctki_use_CCTKH10 = kind(CCTKH10)
  INTEGER*4 CCTKH11
  integer, parameter :: cctki_use_CCTKH11 = kind(CCTKH11)
  INTEGER*4 CCTKH12
  integer, parameter :: cctki_use_CCTKH12 = kind(CCTKH12)
  INTEGER*4 CCTKH13
  integer, parameter :: cctki_use_CCTKH13 = kind(CCTKH13)
  INTEGER*4 CCTKH14
  integer, parameter :: cctki_use_CCTKH14 = kind(CCTKH14)
  INTEGER*4 CCTKH16
  integer, parameter :: cctki_use_CCTKH16 = kind(CCTKH16)
  INTEGER*4 first_order_scheme
  integer, parameter :: cctki_use_first_order_scheme = kind(first_order_scheme)
  INTEGER*4 CCTKH18
  integer, parameter :: cctki_use_CCTKH18 = kind(CCTKH18)
  COMMON /NULLEVOLVErest/CCTKH15, boundary_data, CCTKH17, CCTKH6, CCTKH7, CCTKH8, CCTKH9, CCTKH10, CCTKH11, CCTKH12, CCTKH13, CCTKH&
  &14, CCTKH16, first_order_scheme, CCTKH18
  REAL*8 null_rwt
  integer, parameter :: cctki_use_null_rwt = kind(null_rwt)
  REAL*8 null_xin
  integer, parameter :: cctki_use_null_xin = kind(null_xin)
  INTEGER*4 N_ang_ev_outside_eq
  integer, parameter :: cctki_use_N_ang_ev_outside_eq = kind(N_ang_ev_outside_eq)
  INTEGER*4 N_ang_ghost_pts
  integer, parameter :: cctki_use_N_ang_ghost_pts = kind(N_ang_ghost_pts)
  INTEGER*4 N_ang_pts_inside_eq
  integer, parameter :: cctki_use_N_ang_pts_inside_eq = kind(N_ang_pts_inside_eq)
  INTEGER*4 N_ang_stencil_size
  integer, parameter :: cctki_use_N_ang_stencil_size = kind(N_ang_stencil_size)
  INTEGER*4 N_radial_pts
  integer, parameter :: cctki_use_N_radial_pts = kind(N_radial_pts)
  INTEGER*4 CCTKH19
  integer, parameter :: cctki_use_CCTKH19 = kind(CCTKH19)
  COMMON /NULLGRIDrest/null_rwt, null_xin, N_ang_ev_outside_eq, N_ang_ghost_pts, N_ang_pts_inside_eq, N_ang_stencil_size, N_radial_&
  &pts, CCTKH19
    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 GetCurrentExtractionCoefs (l, m, RC, IC, RCr, ICr, RCt, ICt)
  implicit none
  INTEGER*4 l
  INTEGER*4 m
  REAL*8 RC(*)
  REAL*8 IC(*)
  REAL*8 RCr(*)
  REAL*8 ICr(*)
  REAL*8 RCt(*)
  REAL*8 ICt(*)
  end function GetCurrentExtractionCoefs
  end interface
  interface
  INTEGER*4 function GetExtractionParameters (l_max, r_inner, r_outer)
  implicit none
  INTEGER*4 l_max
  REAL*8 r_inner
  REAL*8 r_outer
  end function GetExtractionParameters
  end interface
  interface
  INTEGER*4 function IO_TruncateOutputFiles (GH)
  implicit none
  integer*8 GH
  end function IO_TruncateOutputFiles
  end interface
    INTEGER*4 :: n, l, m

    COMPLEX*16, dimension(lsh(1), lsh(2), 2) :: SchY
    COMPLEX*16, dimension(lsh(1), lsh(2), 2) :: Sch1Y



 
    do l = 0, l_max
      do m = -l, l

         n = l*l + l + m + 1

         call SchYlm (l, m, lsh(1), lsh(2), qs, ps, pp, SchY)
         call Sch1Ylm (l, m, lsh(1), lsh(2), qs, ps, pp, Sch1Y)
               
              reTYN(:,:,n) = dble(SchY(:,:,ip_n))
              imTYN(:,:,n) = dimag(SchY(:,:,ip_n))
              reTYS(:,:,n) = dble(SchY(:,:,ip_s))
              imTYS(:,:,n) = dimag(SchY(:,:,ip_s))
 
              re1TYN(:,:,n) = dble(Sch1Y(:,:,ip_n))
              im1TYN(:,:,n) = dimag(Sch1Y(:,:,ip_n))
              re1TYS(:,:,n) = dble(Sch1Y(:,:,ip_s))
              im1TYS(:,:,n) = dimag(Sch1Y(:,:,ip_s))
 
      end do
    end do
 
 end subroutine NullSHRE_SchPreCalc

