        subroutine glun(nunit,ier)
c
c  Return an unused fortran file unit
c  a. tento 4/02 v.1.0
c  a. tento 4/03 v.1.1
c
c  ARGOMENTI :
c  nunit : numero unita' logica correntemente non in uso [i]
c
c  COSTANTI INTERNE :
c  numax : massima unita' logica usabile 
c  numin : minima unita' logica usabile
c  Il numero dell'unita' logica e' un intero fra 1 e 99 inclusi,
c  le unita' 5, 6 e 7 sono "unita' logiche preconnese" per :
c  standard input, standard output e standard error output.
c
c  ROUTINE CHIAMATE :
c
c
c .............. ARGOMENTI
        integer  nunit, ier
c
c ............ VARIABILI INTERNE
        logical free
        integer  numax, numin, i
        parameter (numax=50, numin=31)
c
c
        ier = 0
        do 1 i = numin, numax
        nunit = i
        inquire(unit=nunit,err=55,opened=free)
        if(.not.free)goto 99
1       continue
c
c
        ier = 1
c routine GLUN : non ci sono unita'' logiche disponibili. STOP
        return
c
55      ier = 3
c routine GLUN : errore INQUIRE. STOP
        return
c
c
99      return
c
        end
