SURFEX v8.1
General documentation of Surfex
faauto.F90
Go to the documentation of this file.
1 ! Jan-2011 P. Marguinaud Thread-safe FA
2 SUBROUTINE faauto_fort (FA, KNUMER, LDLFI)
3 USE fa_mod, ONLY : fa_com, jpniil
4 USE parkind1, ONLY : jprb
5 USE yomhook , ONLY : lhook, dr_hook
7 USE sdl_mod, ONLY : sdl_srlabort
8 IMPLICIT NONE
9 !****
10 ! Sous-programme de recherche d'une unite libre.
11 !
12 !**
13 ! ARGUMENTS :
14 ! KNUMER (Sortie) ==> Unite logique libre
15 !
16 !
17 TYPE(fa_com) :: FA
18 INTEGER (KIND=JPLIKB) KNUMER
19 LOGICAL LDLFI
20 INTEGER (KIND=JPLIKB) IRANGF
21 LOGICAL LLOPEN
22 
23 REAL(KIND=JPRB) :: ZHOOK_HANDLE
24 IF (lhook) CALL dr_hook('FAAUTO_MT',0,zhook_handle)
25 
26 IF (all(fa%FICHIER%NULOGI.NE.jpniil)) THEN
27  CALL sdl_srlabort
28 ENDIF
29 
30 knumer=-1000
31 
32 DO
33 
34  CALL fanumu_fort (fa, knumer, irangf)
35 
36  IF (ASSOCIATED (fa%LFI) .AND. ldlfi) THEN
37  CALL lfipro_mt64 (fa%LFI, knumer, llopen)
38  ELSE
39  llopen = .false.
40  ENDIF
41 
42  IF ((.NOT. llopen) .AND. (irangf == 0)) EXIT
43 
44  knumer=knumer-1
45 
46 ENDDO
47 
48 IF (lhook) CALL dr_hook('FAAUTO_MT',1,zhook_handle)
49 
50 END SUBROUTINE
subroutine faauto_fort(FA, KNUMER, LDLFI)
Definition: faauto.F90:3
Definition: fa_mod.F90:1
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
subroutine fanumu_fort(FA, KNUMER, KRANG)
Definition: fanumu.F90:5
subroutine sdl_srlabort
Definition: sdl_srlabort.F90:2
integer(kind=jplikb), parameter jpniil
Definition: fa_mod.F90:31