Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | n |
function free_units(n) result(unit) integer :: n integer :: unit(n) integer :: i,unit_,ios logical :: is_it_opened unit_=100 do i=1,n search: do unit_=unit_+1 inquire(unit=unit_,OPENED=is_it_opened,iostat=ios) if(.not.is_it_opened.AND.ios==0)exit search if(unit_>900) stop "ERROR free_unit: no unit free smaller than 900. Possible BUG" enddo search unit(i)=unit_ enddo end function free_units