timetosave Function

function timetosave(ifile)

Uses

  • proc~~timetosave~~UsesGraph proc~timetosave timetosave module~mod_global_parameters mod_global_parameters proc~timetosave->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

Save times are defined by either tsave(isavet(ifile),ifile) or itsave(isaveit(ifile),ifile) or dtsave(ifile) or ditsave(ifile) tsavestart(ifile) determines first start time. This only affects read out times determined by dtsave(ifiles). Other conditions may be included.

Arguments

Type IntentOptional Attributes Name
integer :: ifile

Return Value logical


Called by

proc~~timetosave~~CalledByGraph proc~timetosave timetosave proc~timeintegration timeintegration proc~timeintegration->proc~timetosave proc~main main proc~main->proc~timeintegration program~agile agile program~agile->proc~main

Source Code

  logical function timetosave(ifile)
    use mod_global_parameters

    integer:: ifile
    logical:: oksave

    oksave=.false.
    if (it==itsave(isaveit(ifile),ifile)) then
       oksave=.true.
       isaveit(ifile)=isaveit(ifile)+1
    end if
    if (it==itsavelast(ifile)+ditsave(ifile)) oksave=.true.

    if (global_time>=tsave(isavet(ifile),&
       ifile).and.global_time-dt<tsave(isavet(ifile),ifile)) then
       oksave=.true.
       isavet(ifile)=isavet(ifile)+1
    end if

    if(global_time>=tsavestart(ifile)-smalldouble)then
      if (global_time>=tsavelast(ifile)+dtsave(ifile)-smalldouble)then
         oksave=.true.
         n_saves(ifile) = n_saves(ifile) + 1
      endif
    endif

    if (oksave) then
       tsavelast(ifile) =global_time
       itsavelast(ifile)=it
    end if
    timetosave=oksave

    return
  end function timetosave