subroutine init_cf_info(self, nigrids)
class(nbinfo_cf_t) :: self
integer, intent(in) :: nigrids
integer, pointer, dimension(:) :: igrid, inc1, inc2, inc3, ibuf_start, isize, i1, i2, i3
if (associated(self%igrid)) then
allocate(igrid(nigrids), inc1(nigrids), inc2(nigrids), &
inc3(nigrids), ibuf_start(nigrids), isize(nigrids), &
i1(nigrids), i2(nigrids), i3(nigrids))
igrid(:size(self%igrid)) = self%igrid
inc1(:size(self%inc1)) = self%inc1
inc2(:size(self%inc2)) = self%inc2
inc3(:size(self%inc3)) = self%inc3
ibuf_start(:size(self%ibuf_start)) = self%ibuf_start
isize(:size(self%isize)) = self%isize
i1(:size(self%i1)) = self%i1
i2(:size(self%i2)) = self%i2
i3(:size(self%i3)) = self%i3
deallocate(self%igrid, self%inc1, self%inc2, self%inc3, self%ibuf_start, self%isize, self%i1, self%i2, self%i3)
allocate(self%igrid(nigrids), self%inc1(nigrids), self%inc2(nigrids), &
self%inc3(nigrids), self%ibuf_start(nigrids), self%isize(nigrids), &
self%i1(nigrids), self%i2(nigrids), self%i3(nigrids))
self%igrid = igrid
self%inc1 = inc1
self%inc2 = inc2
self%inc3 = inc3
self%ibuf_start = ibuf_start
self%isize = isize
self%i1 = i1
self%i2 = i2
self%i3 = i3
deallocate(igrid, inc1, inc2, &
inc3, ibuf_start, isize, &
i1, i2, i3)
else
allocate(self%igrid(nigrids), self%inc1(nigrids), self%inc2(nigrids), &
self%inc3(nigrids), self%ibuf_start(nigrids), self%isize(nigrids), &
self%i1(nigrids), self%i2(nigrids), self%i3(nigrids))
end if
end subroutine init_cf_info