SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
open_file_ol.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE open_file_ol(KUNIT,HFILE,HFORM,HACTION,HACCESS,KRECL)
7 ! #######################################################
8 !
9 !!**** *OPEN_FILE_OL* - routine to open a file
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !!** METHOD
15 !! ------
16 !!
17 !! EXTERNAL
18 !! --------
19 !!
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !! REFERENCE
25 !! ---------
26 !!
27 !!
28 !! AUTHOR
29 !! ------
30 !! V. Masson *Meteo France*
31 !!
32 !! MODIFICATIONS
33 !! -------------
34 !! Original 01/2003
35 ! 10/2014 : add 'status='old' E. Martin
36 !-------------------------------------------------------------------------------
37 !
38 !* 0. DECLARATIONS
39 ! ------------
40 !
41 !
42 !
43 USE yomhook ,ONLY : lhook, dr_hook
44 USE parkind1 ,ONLY : jprb
45 !
46 USE modi_abor1_sfx
47 !
48 IMPLICIT NONE
49 !
50 !* 0.1 Declarations of arguments
51 ! -------------------------
52 !
53 INTEGER, INTENT(OUT):: kunit ! logical unit
54  CHARACTER(LEN=28), INTENT(IN) :: hfile ! file to open
55  CHARACTER(LEN=11), INTENT(IN) :: hform ! type of file
56  CHARACTER(LEN=9), INTENT(IN) :: haction ! action
57  CHARACTER(LEN=6), INTENT(IN) :: haccess ! access type
58 INTEGER, INTENT(IN) :: krecl ! record length
59 REAL(KIND=JPRB) :: zhook_handle
60 !
61 !* 0.2 Declarations of local variables
62 ! -------------------------------
63 !
64 !-------------------------------------------------------------------------------
65 !
66 IF (lhook) CALL dr_hook('OPEN_FILE_OL',0,zhook_handle)
67 kunit = 20
68 !
69 IF (hform=='FORMATTED') THEN
70  OPEN(unit=kunit,file=hfile,action=haction, &
71  form=hform, status='OLD', err=100 )
72 ELSE
73  IF (haccess=='DIRECT') THEN
74  OPEN(unit=kunit,file=hfile,action=haction, &
75  form=hform,access=haccess,recl=krecl, status='OLD',err=100 )
76  ELSE
77  OPEN(unit=kunit,file=hfile,action=haction, &
78  form=hform, status='OLD', err=100 )
79  END IF
80 END IF
81 !
82 IF (lhook) CALL dr_hook('OPEN_FILE_OL',1,zhook_handle)
83 RETURN
84 100 CONTINUE
85  CALL abor1_sfx('OPEN_FILE_OL: ERROR WHEN OPENING FILE '//hfile)
86 IF (lhook) CALL dr_hook('OPEN_FILE_OL',1,zhook_handle)
87 !-------------------------------------------------------------------------------
88 !
89 END SUBROUTINE open_file_ol
subroutine abor1_sfx(YTEXT)
Definition: abor1_sfx.F90:6
subroutine open_file_ol(KUNIT, HFILE, HFORM, HACTION, HACCESS, KRECL)
Definition: open_file_ol.F90:6