newunit Function

public function newunit(unit)

Arguments

TypeIntentOptionalAttributesName
integer, intent(out), optional :: unit

Return Value integer


Contents

Source Code


Source Code

  integer function newunit(unit)
    !  https://fortranwiki.org/fortran/show/newunit
    integer,intent(out),optional :: unit
! local
    integer,parameter :: LUN_MIN = 10,LUN_MAX = 1000
    logical :: opened
    integer :: lun
! begin
    newunit = -1
    do lun = LUN_MIN,LUN_MAX
      inquire(unit=lun,opened=opened)
      if(.not. opened) then
        newunit = lun
        exit
      endif
    enddo
    if(present(unit)) unit = newunit
  endfunction newunit