Hi Hongzhe,
best you look into hydro.f90. For slices, which contain simply f-array variables,
you do something like
case ('uu'); call assign_slices_vec(slices,f,iuu)
you have to declare slice buffers as for divu in hydro (divu_xy etc.), you have to allocate them like
if (ivid_divu/=0) call alloc_slice_buffers(divu_xy,divu_xz,divu_yz,divu_xy2,divu_xy3,divu_xy4,divu_xz2,divu_r)
to fill them in calc_diagnostics_special like
if (ivid_divu/=0) call store_slices(p%divu,divu_xy,divu_xz,divu_yz,divu_xy2,divu_xy3,divu_xy4,divu_xz2,divu_r)
call assign_slices_scal(slices,divu_xy,divu_xz,divu_yz,divu_xy2,divu_xy3,divu_xy4,divu_xz2,divu_r)
.Best,
Matthias