output_individual Subroutine

public subroutine output_individual()

Uses

  • proc~~output_individual~~UsesGraph proc~output_individual output_individual module~mod_global_parameters mod_global_parameters proc~output_individual->module~mod_global_parameters module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Arguments

None

Calls

proc~~output_individual~~CallsGraph proc~output_individual output_individual proc~output_particle output_particle proc~output_individual->proc~output_particle proc~partcoord_to_cartesian partcoord_to_cartesian proc~output_particle->proc~partcoord_to_cartesian

Called by

proc~~output_individual~~CalledByGraph proc~output_individual output_individual proc~write_particle_output write_particle_output proc~write_particle_output->proc~output_individual proc~handle_particles handle_particles proc~handle_particles->proc~write_particle_output proc~advance advance proc~advance->proc~handle_particles proc~main main proc~main->proc~handle_particles proc~timeintegration timeintegration proc~main->proc~timeintegration proc~timeintegration->proc~advance program~agile agile program~agile->proc~main

Source Code

  subroutine output_individual()
    use mod_global_parameters
    character(len=std_len) :: filename
    integer                :: ipart,iipart,ipe
    logical                :: file_exists

    do iipart=1,nparticles_on_mype
      ipart=particles_on_mype(iipart)

      ! should the particle be dumped?
      if (particle(ipart)%self%follow) then
        write(filename,"(a,a,i6.6,a)") trim(base_filename), '_particle_',&
            particle(ipart)%self%index, '.csv'
        inquire(file=filename, exist=file_exists)

        ! Create empty file and write header on first iteration, or when the
        ! file does not exist yet
        if (it_particles == 0 .or. .not. file_exists) then
          open(unit=unitparticles, file=filename)
          write(unitparticles,"(a)") trim(csv_header)
        else
          open(unit=unitparticles, file=filename, access='sequential',&
              position='append')
        end if

        call output_particle(particle(ipart)%self,&
           particle(ipart)%payload(1:npayload),mype,unitparticles)

        close(unitparticles)
      end if
    end do

  end subroutine output_individual