The box structure with pointers

type box_type
  integer                               :: m1, m2, m3, n1, n2, n3
  integer                               :: nghost1, nghost2, nghost3
  integer                               :: itime
  integer                               :: ngrav, nquc, nBc, nBb
  real                                  :: time
  real, pointer, dimension(:)           :: xc1, xc2, xc3
  real, pointer, dimension(:)           :: xb1, xb2, xb3
  real, pointer, dimension(:,:,:)       :: rho, ei, v1, v2, v3
# if (rhd_box_grav01 == 1)
  real, pointer, dimension(:,:,:)       :: phic_grav
# endif /* rhd_box_grav01 */
  real, pointer, dimension(:,:,:,:)     :: quc
  real, pointer, dimension(:,:,:)       :: Bc1, Bc2, Bc3, Bb1, Bb2, Bb3, & 
                                           flux_B12, flux_B13, flux_B21, &
                                           flux_B23, flux_B31, flux_B32
  logical, pointer, dimension(:,:,:)    :: entropy_switch
end type box_type