SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modn_watfluxn.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 ! ##################
7 ! ##################
8 !
9 !!**** *MODN_WATFLUX_n* - declaration of namelist NAM_WATFLUXn
10 !!
11 !! PURPOSE
12 !! -------
13 ! The purpose of this module is to specify the namelist NAM_WATFLUXn
14 !
15 !!
16 !!** IMPLICIT ARGUMENTS
17 !! ------------------
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !!
23 !! AUTHOR
24 !! ------
25 !! V. Masson *Meteo France*
26 !!
27 !! MODIFICATIONS
28 !! -------------
29 !! Original 01/2004
30 !! Modified 08/2009 by B. Decharme : LSURF_BUDGETC for all tiles
31 !-------------------------------------------------------------------------------
32 !
33 !* 0. DECLARATIONS
34 ! ------------
35 !
36 !
37 
38 !
39 !
40 USE yomhook ,ONLY : lhook, dr_hook
41 USE parkind1 ,ONLY : jprb
42 !
43 IMPLICIT NONE
44 !
45  CHARACTER(LEN=4) :: CWAT_ALB
46 REAL :: XTSTEP
47 REAL :: XOUT_TSTEP
48 REAL :: XDIAG_TSTEP
49 INTEGER :: N2M
50 LOGICAL :: L2M_MIN_ZS
51 LOGICAL :: LSURF_BUDGET
52 LOGICAL :: LRAD_BUDGET
53 LOGICAL :: LSURF_BUDGETC
54 LOGICAL :: LRESET_BUDGETC
55 LOGICAL :: LCOEF
56 LOGICAL :: LSURF_VARS
57  CHARACTER(LEN=6) :: CCH_DRY_DEP
58  CHARACTER(LEN=6) :: CINTERPOL_TS
59 !
60 namelist/nam_watfluxn/cwat_alb,cinterpol_ts
61 namelist/nam_diag_surfn/n2m,l2m_min_zs,lsurf_budget,lrad_budget, &
62  lsurf_budgetc,lreset_budgetc,lcoef,lsurf_vars
63 namelist/nam_ch_watfluxn/cch_dry_dep
64 !
65  CONTAINS
66 !
67 SUBROUTINE init_nam_watfluxn (W)
68 !
69  USE modd_watflux_n, ONLY : watflux_t
70 !
71  IMPLICIT NONE
72 
73 !
74  TYPE(watflux_t), INTENT(INOUT) :: w
75  REAL(KIND=JPRB) :: zhook_handle
76 
77  IF (lhook) CALL dr_hook('MODN_WATFLUX_N:INIT_NAM_WATFLUXN',0,zhook_handle)
78  xtstep = w%XTSTEP
79  xout_tstep = w%XOUT_TSTEP
80  cwat_alb = w%CWAT_ALB
81  cinterpol_ts = w%CINTERPOL_TS
82 IF (lhook) CALL dr_hook('MODN_WATFLUX_N:INIT_NAM_WATFLUXN',1,zhook_handle)
83 END SUBROUTINE init_nam_watfluxn
84 !
85 SUBROUTINE update_nam_watfluxn (W)
86 !
87  USE modd_watflux_n, ONLY : watflux_t
88 !
89  IMPLICIT NONE
90 
91 !
92  TYPE(watflux_t), INTENT(INOUT) :: w
93  REAL(KIND=JPRB) :: zhook_handle
94 
95  IF (lhook) CALL dr_hook('MODN_WATFLUX_N:UPDATE_NAM_WATFLUXN',0,zhook_handle)
96  w%XTSTEP = xtstep
97  w%XOUT_TSTEP = xout_tstep
98  w%CWAT_ALB = cwat_alb
99  w%CINTERPOL_TS = cinterpol_ts
100 IF (lhook) CALL dr_hook('MODN_WATFLUX_N:UPDATE_NAM_WATFLUXN',1,zhook_handle)
101 END SUBROUTINE update_nam_watfluxn
102 !
103 SUBROUTINE init_nam_diag_surfn (DGW)
104 !
106 !
107  IMPLICIT NONE
108 
109 !
110  TYPE(diag_watflux_t), INTENT(INOUT) :: dgw
111  REAL(KIND=JPRB) :: zhook_handle
112 
113  IF (lhook) CALL dr_hook('MODN_WATFLUX_N:INIT_NAM_DIAG_SURFN',0,zhook_handle)
114  xdiag_tstep = dgw%XDIAG_TSTEP
115  n2m = dgw%N2M
116  l2m_min_zs = dgw%L2M_MIN_ZS
117  lsurf_budget = dgw%LSURF_BUDGET
118  lrad_budget = dgw%LRAD_BUDGET
119  lsurf_budgetc = dgw%LSURF_BUDGETC
120  lreset_budgetc = dgw%LRESET_BUDGETC
121  lcoef = dgw%LCOEF
122  lsurf_vars = dgw%LSURF_VARS
123 IF (lhook) CALL dr_hook('MODN_WATFLUX_N:INIT_NAM_DIAG_SURFN',1,zhook_handle)
124 END SUBROUTINE init_nam_diag_surfn
125 
126 SUBROUTINE update_nam_diag_surfn (DGW)
127 !
129 !
130  IMPLICIT NONE
131 
132 !
133  TYPE(diag_watflux_t), INTENT(INOUT) :: dgw
134  REAL(KIND=JPRB) :: zhook_handle
135 
136  IF (lhook) CALL dr_hook('MODN_WATFLUX_N:UPDATE_NAM_DIAG_SURFN',0,zhook_handle)
137  dgw%XDIAG_TSTEP = xdiag_tstep
138  dgw%N2M = n2m
139  dgw%L2M_MIN_ZS = l2m_min_zs
140  dgw%LSURF_BUDGET = lsurf_budget
141  dgw%LRAD_BUDGET = lrad_budget
142  dgw%LSURF_BUDGETC = lsurf_budgetc
143  dgw%LRESET_BUDGETC = lreset_budgetc
144  dgw%LCOEF = lcoef
145  dgw%LSURF_VARS = lsurf_vars
146 IF (lhook) CALL dr_hook('MODN_WATFLUX_N:UPDATE_NAM_DIAG_SURFN',1,zhook_handle)
147 END SUBROUTINE update_nam_diag_surfn
148 
149 SUBROUTINE init_nam_ch_watfluxn (CHW)
150 !
151  USE modd_ch_watflux_n, ONLY : ch_watflux_t
152 !
153  IMPLICIT NONE
154 
155 !
156  TYPE(ch_watflux_t), INTENT(INOUT) :: chw
157  REAL(KIND=JPRB) :: zhook_handle
158 
159  IF (lhook) CALL dr_hook('MODN_WATFLUX_N:INIT_NAM_CH_WATFLUXN',0,zhook_handle)
160  cch_dry_dep = chw%CCH_DRY_DEP
161 IF (lhook) CALL dr_hook('MODN_WATFLUX_N:INIT_NAM_CH_WATFLUXN',1,zhook_handle)
162 END SUBROUTINE init_nam_ch_watfluxn
163 
164 SUBROUTINE update_nam_ch_watfluxn (CHW)
165 !
166  USE modd_ch_watflux_n, ONLY : ch_watflux_t
167 !
168  IMPLICIT NONE
169 
170 !
171  TYPE(ch_watflux_t), INTENT(INOUT) :: chw
172  REAL(KIND=JPRB) :: zhook_handle
173 
174  IF (lhook) CALL dr_hook('MODN_WATFLUX_N:UPDATE_NAM_CH_WATFLUXN',0,zhook_handle)
175  chw%CCH_DRY_DEP = cch_dry_dep
176 IF (lhook) CALL dr_hook('MODN_WATFLUX_N:UPDATE_NAM_CH_WATFLUXN',1,zhook_handle)
177 END SUBROUTINE update_nam_ch_watfluxn
178 
179 
180 END MODULE modn_watflux_n
subroutine init_nam_watfluxn(W)
subroutine init_nam_ch_watfluxn(CHW)
subroutine init_nam_diag_surfn(DGF)
subroutine update_nam_diag_surfn(DGF)
subroutine update_nam_watfluxn(W)
subroutine update_nam_ch_watfluxn(CHW)