diff --git a/src/symba/symba_io.f90 b/src/symba/symba_io.f90 index 1a9aae0c4..e95a4f042 100644 --- a/src/symba/symba_io.f90 +++ b/src/symba/symba_io.f90 @@ -167,9 +167,9 @@ module subroutine symba_io_encounter_write_frame(self, nciu, param) call check( nf90_put_var(nciu%id, nciu%rot_varid, pl%rot(:,i), start=[1,idslot, tslot], count=[NDIM,1,1]), "symba_io_encounter_write_frame_base nf90_put_var body rotx_varid" ) end if charstring = trim(adjustl(pl%info(i)%name)) - call check( nf90_put_var(nciu%id, nciu%ptype_varid, charstring, start=[1, idslot], count=[NAMELEN, 1]), "symba_io_encounter_write_frame nf90_put_var particle_type_varid" ) - charstring = trim(adjustl(pl%info(i)%particle_type)) call check( nf90_put_var(nciu%id, nciu%name_varid, charstring, start=[1, idslot], count=[NAMELEN, 1]), "symba_io_encounter_write_frame nf90_put_var name_varid" ) + charstring = trim(adjustl(pl%info(i)%particle_type)) + call check( nf90_put_var(nciu%id, nciu%ptype_varid, charstring, start=[1, idslot], count=[NAMELEN, 1]), "symba_io_encounter_write_frame nf90_put_var particle_type_varid" ) end do end select diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index 6a0b337b2..cfdf416b6 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -1320,11 +1320,13 @@ module subroutine symba_util_take_encounter_snapshot(self, param, t) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: t !! current time ! Arguments - type(symba_encounter_snapshot) :: snapshot + type(symba_encounter_snapshot), allocatable :: snapshot integer(I4B) :: i, npl_snap, ntp_snap associate(npl => self%pl%nbody, ntp => self%tp%nbody) + allocate(symba_encounter_snapshot :: snapshot) + if (npl > 0) allocate(symba_pl :: snapshot%pl) if (ntp > 0) allocate(symba_tp :: snapshot%tp) if (npl + ntp == 0) return