SURFEX v8.1
General documentation of Surfex
read_lecoclimap.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 read_lecoclimap (HPROGRAM,OECOCLIMAP,OECOSG,HDIR)
7 ! #######################
8 !
10 !
11 !
12 USE yomhook ,ONLY : lhook, dr_hook
13 USE parkind1 ,ONLY : jprb
14 !
15 IMPLICIT NONE
16 !
17 !* dummy arguments
18 ! ---------------
19 !
20  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling surf. schemes
21 LOGICAL, INTENT(OUT) :: OECOCLIMAP! flag for ecoclimap
22 LOGICAL, INTENT(OUT) :: OECOSG ! flag for ecoclimap
23  CHARACTER(LEN=1), INTENT(IN), OPTIONAL :: HDIR
24 !
25 !
26 !* local variables
27 ! ---------------
28 !
29  CHARACTER(LEN=1) :: YDIR
30  CHARACTER(LEN=12) :: YRECFM ! Name of the article to be read
31 INTEGER :: IRESP ! reading return code
32 !
33 INTEGER :: IVERSION ! surface version
34 INTEGER :: IBUGFIX ! surface bugfix
35 REAL(KIND=JPRB) :: ZHOOK_HANDLE
36 !
37 !
38 !------------------------------------------------------------------------------
39 !
40 IF (lhook) CALL dr_hook('READ_LECOCLIMAP',0,zhook_handle)
41 !
42 ydir = 'H'
43 IF (PRESENT(hdir)) then
44 ydir = hdir
45 endif
46 !
47 yrecfm='VERSION'
48  CALL read_surf(hprogram,yrecfm,iversion,iresp,hdir=ydir)
49 yrecfm='BUG'
50  CALL read_surf(hprogram,yrecfm,ibugfix,iresp,hdir=ydir)
51 !
52 IF (iversion<1 .OR. (iversion==1 .AND. ibugfix==0)) THEN
53  oecoclimap = .true.
54 ELSE
55  yrecfm='ECOCLIMAP'
56  CALL read_surf(hprogram,yrecfm,oecoclimap,iresp,hdir=ydir)
57 END IF
58 !
59 IF (iversion<8 .OR. (iversion==8 .AND. ibugfix==0)) THEN
60  oecosg = .false.
61 ELSE
62  yrecfm='ECOSG'
63  CALL read_surf(hprogram,yrecfm,oecosg,iresp,hdir=ydir)
64 END IF
65 !
66 IF (lhook) CALL dr_hook('READ_LECOCLIMAP',1,zhook_handle)
67 !
68 !------------------------------------------------------------------------------
69 !
70 END SUBROUTINE read_lecoclimap
subroutine read_lecoclimap(HPROGRAM, OECOCLIMAP, OECOSG, HDIR)
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15