SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
read_all_namelists.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_all_namelists (YSC, &
7  hprogram,hinit,onam_read)
8 !
9 !
10 !
11 USE modd_surfex_n, ONLY : surfex_t
12 !
13 USE modd_read_namelist, ONLY : lnam_read
14 !
15 USE modi_init_read_data_cover
16 !
17 USE modi_read_namelists_surf_n
18 USE modi_read_namelists_surf
19 USE modi_read_namelists_flake_n
20 USE modi_read_namelists_watflux_n
21 USE modi_read_namelists_seaflux_n
22 USE modi_read_namelists_isba_n
23 USE modi_read_namelists_isba
24 USE modi_read_namelists_teb_n
25 USE modi_read_namelists_ideal_n
26 USE modi_read_namelists_ideal
27 USE modi_read_namelists_slt
28 USE modi_read_namelists_dst
29 USE modi_read_namelists_assim
30 USE modi_read_namelists_topd
31 !
32 USE modi_read_nam_prep_flake_n
33 USE modi_read_nam_prep_garden_n
34 USE modi_read_nam_prep_greenroof_n
35 USE modi_read_nam_prep_isba_n
36 USE modi_read_nam_prep_seaflux_n
37 USE modi_read_nam_prep_surf_n
38 USE modi_read_nam_prep_teb_n
39 USE modi_read_nam_prep_watflux_n
40 !
41 !--------------------------------------------------
42 !
43 !
44 USE yomhook ,ONLY : lhook, dr_hook
45 USE parkind1 ,ONLY : jprb
46 !
47 IMPLICIT NONE
48 !
49 !
50 TYPE(surfex_t), INTENT(INOUT) :: ysc
51 !
52  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! program calling surf. schemes
53  CHARACTER(LEN=3), INTENT(IN) :: hinit ! choice of fields to initialize
54 LOGICAL,INTENT(IN) :: onam_read
55 !
56 REAL(KIND=JPRB) :: zhook_handle
57 !
58 !----------------------------------------
59 !namelists always read here
60 !
61 IF (lhook) CALL dr_hook('READ_ALL_NAMELISTS',0,zhook_handle)
62 lnam_read=.true.
63 !
64  CALL init_read_data_cover(hprogram)
65 !
66  CALL read_namelists_surf(hprogram)
67  CALL read_namelists_isba(hprogram)
68  CALL read_namelists_slt(hprogram)
69  CALL read_namelists_dst(hprogram)
70  CALL read_namelists_ideal(hprogram)
71  CALL read_namelists_assim(hprogram)
72  CALL read_namelists_topd(hprogram)
73 !
74 IF (hprogram=='AROME ') THEN
75 #ifdef SFX_ARO
76  CALL read_namelists_io(hprogram)
77 #endif
78 ENDIF
79 !
80 lnam_read = onam_read
81 !
82 !namelists that can be reread in surfex code
83 !
84 IF (.NOT.lnam_read) THEN
85 !
86  lnam_read=.true.
87  !
88  CALL read_namelists_surf_n(ysc%CHU, ysc%DGU, ysc%USS, &
89  hprogram,hinit)
90  !
91  CALL read_namelists_flake_n(ysc%FM, &
92  hprogram,hinit)
93  CALL read_namelists_watflux_n(ysc%WM, &
94  hprogram,hinit)
95  CALL read_namelists_seaflux_n(ysc%SM, &
96  hprogram,hinit)
97  CALL read_namelists_isba_n(ysc%IM, &
98  hprogram,hinit)
99  CALL read_namelists_teb_n(ysc%TM, ysc%GRM%TGRO, ysc%GDM%TVG, &
100  hprogram,hinit)
101  CALL read_namelists_ideal_n(ysc%DGL, &
102  hprogram)
103  !
104  lnam_read=.false.
105  !
106  !prep namelists, to be read even if reread in surfex code,
107  !because only partially reread
108  !
109 ELSEIF (hinit=='PRE') THEN
110  !
111  CALL read_nam_prep_surf_n(hprogram)
112  CALL read_nam_prep_flake_n(hprogram)
113  CALL read_nam_prep_watflux_n(hprogram)
114  CALL read_nam_prep_seaflux_n(hprogram)
115  CALL read_nam_prep_isba_n(hprogram)
116  CALL read_nam_prep_garden_n(hprogram)
117  CALL read_nam_prep_greenroof_n(hprogram)
118  CALL read_nam_prep_teb_n(hprogram)
119  !
120 ENDIF
121 !
122 IF (lhook) CALL dr_hook('READ_ALL_NAMELISTS',1,zhook_handle)
123 !-------------------------------------------
124 END SUBROUTINE read_all_namelists
subroutine read_namelists_flake_n(FM, HPROGRAM, HINIT)
subroutine read_namelists_isba_n(IM, HPROGRAM, HINIT)
subroutine init_read_data_cover(HPROGRAM)
subroutine read_namelists_ideal_n(DGL, HPROGRAM)
subroutine read_namelists_seaflux_n(SM, HPROGRAM, HINIT)
subroutine read_nam_prep_greenroof_n(HPROGRAM)
subroutine read_nam_prep_garden_n(HPROGRAM)
subroutine read_nam_prep_flake_n(HPROGRAM)
subroutine read_nam_prep_seaflux_n(HPROGRAM)
subroutine read_nam_prep_isba_n(HPROGRAM)
subroutine read_namelists_teb_n(TM, TGRO, TVG, HPROGRAM, HINIT)
subroutine read_namelists_watflux_n(WM, HPROGRAM, HINIT)
subroutine read_nam_prep_watflux_n(HPROGRAM)
subroutine read_namelists_assim(HPROGRAM)
subroutine read_namelists_surf(HPROGRAM)
subroutine read_namelists_slt(HPROGRAM)
subroutine read_all_namelists(YSC, HPROGRAM, HINIT, ONAM_READ)
subroutine read_namelists_ideal(HPROGRAM)
subroutine read_namelists_dst(HPROGRAM)
subroutine read_namelists_surf_n(CHU, DGU, USS, HPROGRAM, HINIT)
subroutine read_namelists_topd(HPROGRAM)
subroutine read_nam_prep_teb_n(HPROGRAM)
subroutine read_nam_prep_surf_n(HPROGRAM)
subroutine read_namelists_isba(HPROGRAM)