210    if (this%u%n .gt. 0) 
call add2(this%u%x, fld_data_add%u%x, this%u%n)
 
  211    if (this%v%n .gt. 0) 
call add2(this%v%x, fld_data_add%v%x, this%v%n)
 
  212    if (this%w%n .gt. 0) 
call add2(this%w%x, fld_data_add%w%x, this%w%n)
 
  213    if (this%p%n .gt. 0) 
call add2(this%p%x, fld_data_add%p%x, this%p%n)
 
  214    if (this%t%n .gt. 0) 
call add2(this%t%x, fld_data_add%t%x, this%t%n)
 
  216    do i = 1, this%n_scalars
 
  217       if (this%s(i)%n .gt. 0) 
call add2(this%s(i)%x, fld_data_add%s(i)%x, &
 
 
  259       to_msh, tolerance) 
result(global_interp)
 
  261    type(
dofmap_t), 
intent(in), 
target :: to_dof
 
  262    type(
mesh_t), 
intent(in), 
target :: to_msh
 
  263    real(kind=
rp), 
intent(in) :: tolerance
 
  269    real(kind=
rp), 
allocatable :: x_coords(:,:,:,:), y_coords(:,:,:,:), &
 
  271    real(kind=
rp) :: center_x,  center_y, center_z
 
  275    type(
space_t), 
pointer :: to_xh
 
  279    if (.not. 
allocated(this%x%x) .or. &
 
  280         .not. 
allocated(this%y%x) .or. &
 
  281         .not. 
allocated(this%z%x)) 
call neko_error(
"Unable to retrieve & 
  282&mesh information from fld data.")
 
  285    call fld_xh%init(
gll, this%lx,  this%ly, this%lz)
 
  289    allocate(x_coords(to_xh%lx,  to_xh%ly, to_xh%lz, to_msh%nelv))
 
  290    allocate(y_coords(to_xh%lx,  to_xh%ly, to_xh%lz, to_msh%nelv))
 
  291    allocate(z_coords(to_xh%lx,  to_xh%ly, to_xh%lz, to_msh%nelv))
 
  297    do e = 1, to_msh%nelv
 
  302          center_x = center_x + to_dof%x(i, 1, 1, e)
 
  303          center_y = center_y + to_dof%y(i, 1, 1, e)
 
  304          center_z = center_z + to_dof%z(i, 1, 1, e)
 
  306       center_x = center_x / to_xh%lxyz
 
  307       center_y = center_y / to_xh%lxyz
 
  308       center_z = center_z / to_xh%lxyz
 
  310          x_coords(i, 1, 1, e) = to_dof%x(i, 1, 1, e) - &
 
  311               tolerance * (to_dof%x(i, 1, 1, e) - center_x)
 
  312          y_coords(i, 1, 1, e) = to_dof%y(i, 1, 1, e) - &
 
  313               tolerance * (to_dof%y(i, 1, 1, e) - center_y)
 
  314          z_coords(i, 1, 1, e) = to_dof%z(i, 1, 1, e) - &
 
  315               tolerance * (to_dof%z(i, 1, 1, e) - center_z)
 
  321    call global_interp%init(this%x%x, this%y%x, this%z%x, this%gdim, &
 
  322         this%nelv, fld_xh, tol = tolerance)
 
  323    call global_interp%find_points(x_coords, y_coords, z_coords, &