ae6c33f039c3b5b309ac0d8c3b956099e5808e52
[MNH-git_open_source-lfs.git] / src / SURFEX / read_nam_prep_surfn.F90
1 !SURFEX_LIC Copyright 1994-2014 Meteo-France 
2 !SURFEX_LIC This is part of the SURFEX software governed by the CeCILL-C  licence
3 !SURFEX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SURFEX_LIC for details. version 1.
5 !!    -------------
6 !!    MODIFICATIONS
7 !!    -------------
8 !!                       04/2016   add ABORT if CINIFILEPGD is not specified (G.Delautier)
9 !     #########
10 SUBROUTINE READ_NAM_PREP_SURF_n(HPROGRAM)
11 !     #######################################################
12 !
13 !---------------------------------------
14 !
15 USE MODD_SURF_PAR, ONLY : XUNDEF, NUNDEF
16 USE MODN_PREP_SURF_ATM
17 !
18 USE MODI_TEST_NAM_VAR_SURF
19 USE MODI_GET_LUOUT
20 USE MODI_OPEN_NAMELIST
21 USE MODI_CLOSE_NAMELIST
22 USE MODI_ABOR1_SFX
23 USE MODE_POS_SURF
24 !
25 !
26 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
27 USE PARKIND1  ,ONLY : JPRB
28 !
29 IMPLICIT NONE
30 !
31  CHARACTER(LEN=6),   INTENT(IN)  :: HPROGRAM  ! program calling surf. schemes
32 !
33 INTEGER :: ILUNAM         ! logical unit of namelist file
34 INTEGER :: ILUOUT
35 LOGICAL :: GFOUND         ! Return code when searching namelist
36 REAL(KIND=JPRB) :: ZHOOK_HANDLE
37 !
38 !---------------------------------------
39 !
40 IF (LHOOK) CALL DR_HOOK('READ_NAM_PREP_SURF_N',0,ZHOOK_HANDLE)
41 NYEAR=NUNDEF
42 NMONTH=NUNDEF
43 NDAY=NUNDEF
44 XTIME=XUNDEF
45 CFILE     = '                         '
46 CFILETYPE = '      '
47 CFILEPGD     = '                         '
48 CFILEPGDTYPE = '      '
49 !
50  CALL GET_LUOUT(HPROGRAM,ILUOUT)
51 !
52 !
53  CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
54  CALL POSNAM(ILUNAM,'NAM_PREP_SURF_ATM',GFOUND,ILUOUT)
55 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_PREP_SURF_ATM)
56  CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
57 !
58  CALL TEST_NAM_VAR_SURF(ILUOUT,'CFILETYPE',   CFILETYPE,   '      ','GRIB  ','MESONH','ASCII ','LFI   ')
59  CALL TEST_NAM_VAR_SURF(ILUOUT,'CFILEPGDTYPE',   CFILEPGDTYPE,   '      ','GRIB  ','MESONH','ASCII ','LFI   ')
60  IF (LEN_TRIM(CFILEPGD)==0) THEN
61    CALL ABOR1_SFX('Namelist NAM_PREP_SURF_ATM : you need to specify CFILEPGD ')   
62  ENDIF
63 IF (LHOOK) CALL DR_HOOK('READ_NAM_PREP_SURF_N',1,ZHOOK_HANDLE)
64 !
65 END SUBROUTINE READ_NAM_PREP_SURF_n