SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
read_ideal_confn.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_ideal_conf_n (DGL, &
7  hprogram)
8 ! #######################################################
9 !
10 !!**** *READ_IDEAL_CONF* - routine to read the configuration for IDEAL
11 !! (MESONH universe)
12 !!
13 !! PURPOSE
14 !! -------
15 !!
16 !!** METHOD
17 !! ------
18 !!
19 !! EXTERNAL
20 !! --------
21 !!
22 !!
23 !! IMPLICIT ARGUMENTS
24 !! ------------------
25 !!
26 !! REFERENCE
27 !! ---------
28 !!
29 !!
30 !! AUTHOR
31 !! ------
32 !! V. Masson *Meteo France*
33 !!
34 !! MODIFICATIONS
35 !! -------------
36 !! Original 01/2003
37 !-------------------------------------------------------------------------------
38 !
39 !* 0. DECLARATIONS
40 ! ------------
41 !
42 !
43 !
45 !
47 !
48 USE mode_pos_surf
49 USE modi_get_luout
50 USE modi_open_namelist
51 USE modi_close_namelist
52 !
53 USE modn_ideal_n
54 !
55 USE modd_read_namelist, ONLY : lnam_read
56 USE modd_surf_par, ONLY : xundef
57 !
58 !
59 USE yomhook ,ONLY : lhook, dr_hook
60 USE parkind1 ,ONLY : jprb
61 !
62 IMPLICIT NONE
63 !
64 !* 0.1 Declarations of arguments
65 ! -------------------------
66 !
67 !
68 TYPE(diag_ideal_t), INTENT(INOUT) :: dgl
69 !
70  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! program calling ISBA
71 
72 !
73 !* 0.2 Declarations of local variables
74 ! -------------------------------
75 !
76 !
77 LOGICAL :: gfound ! Return code when searching namelist
78 INTEGER :: iluout ! logical unit of output file
79 INTEGER :: inam ! logical unit of namelist file
80 INTEGER :: imi
81 REAL(KIND=JPRB) :: zhook_handle
82 !-------------------------------------------------------------------------------
83 !
84 !* get output listing file logical unit
85 !
86 IF (lhook) CALL dr_hook('READ_IDEAL_CONF_N',0,zhook_handle)
87  CALL get_luout(hprogram,iluout)
88 !
90 !
91 IF (imi.NE.-1 .AND. lnam_read) CALL init_nam_diag_surfn(dgl)
92 !
93 IF (lnam_read) THEN
94  !
95  !* open namelist file
96  !
97  CALL open_namelist(hprogram,inam)
98  !
99  !* reading of namelist
100  ! -------------------
101  !
102  CALL posnam(inam,'NAM_DIAG_SURFN',gfound,iluout)
103  IF (gfound) READ(unit=inam,nml=nam_diag_surfn)
104  !
105  !* close namelist file
106  !
107  CALL close_namelist(hprogram,inam)
108 !
109 ENDIF
110 !
111 IF (imi.NE.-1) CALL update_nam_diag_surfn(dgl)
112 IF (lhook) CALL dr_hook('READ_IDEAL_CONF_N',1,zhook_handle)
113 !
114 !-------------------------------------------------------------------------------
115 !
116 !* surface time-step forced by the atmosphere
117 !
118 !
119 !-------------------------------------------------------------------------------
120 !
121 END SUBROUTINE read_ideal_conf_n
subroutine read_ideal_conf_n(DGL, HPROGRAM)
subroutine init_nam_diag_surfn(DGF)
subroutine update_nam_diag_surfn(DGF)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine get_luout(HPROGRAM, KLUOUT)
Definition: get_luout.F90:6
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)
integer function get_current_model_index_surfex()