SURFEX v8.1
General documentation of Surfex
modn_idealn.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  MODULE modn_ideal_n
7 ! ##################
8 !
9 !!**** *MODN_IDEAL_n* - declaration of namelist NAM_IDEALn
10 !!
11 !! PURPOSE
12 !! -------
13 ! The purpose of this module is to specify the namelist NAM_IDEALn
14 !
15 !!
16 !!** IMPLICIT ARGUMENTS
17 !! ------------------
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !!
23 !! AUTHOR
24 !! ------
25 !! P. Le Moigne *Meteo France*
26 !!
27 !! MODIFICATIONS
28 !! -------------
29 !! Original 04/2009
30 !! Modified 08/2009 by B. Decharme : LSURF_BUDGETC for all tiles
31 !-------------------------------------------------------------------------------
32 !
33 !* 0. DECLARATIONS
34 ! ------------
35 !
36 !
37 !
38 USE yomhook ,ONLY : lhook, dr_hook
39 USE parkind1 ,ONLY : jprb
40 !
41 IMPLICIT NONE
42 !
43 REAL :: xdiag_tstep
44 INTEGER :: n2m
45 LOGICAL :: l2m_min_zs
46 LOGICAL :: lsurf_budget
47 LOGICAL :: lrad_budget
48 LOGICAL :: lsurf_budgetc
49 LOGICAL :: lreset_budgetc
50 LOGICAL :: lcoef
51 LOGICAL :: lsurf_vars
52 !
53 NAMELIST/nam_diag_surfn/n2m,l2m_min_zs,lsurf_budget,lrad_budget, &
55 !
56 CONTAINS
57 !
58 SUBROUTINE init_nam_diag_surfn (DGO)
59 !
60  USE modd_diag_n, ONLY : diag_options_t
61 !
62  IMPLICIT NONE
63 
64 !
65  TYPE(diag_options_t), INTENT(INOUT) :: DGO
66  REAL(KIND=JPRB) :: ZHOOK_HANDLE
67 
68  IF (lhook) CALL dr_hook('MODN_IDEAL_N:INIT_NAM_DIAG_SURFN',0,zhook_handle)
69  xdiag_tstep = dgo%XDIAG_TSTEP
70  n2m = dgo%N2M
71  l2m_min_zs = dgo%L2M_MIN_ZS
72  lsurf_budget = dgo%LSURF_BUDGET
73  lrad_budget = dgo%LRAD_BUDGET
74  lsurf_budgetc = dgo%LSURF_BUDGETC
75  lreset_budgetc = dgo%LRESET_BUDGETC
76  lcoef = dgo%LCOEF
77  lsurf_vars = dgo%LSURF_VARS
78 IF (lhook) CALL dr_hook('MODN_IDEAL_N:INIT_NAM_DIAG_SURFN',1,zhook_handle)
79 END SUBROUTINE init_nam_diag_surfn
80 
81 SUBROUTINE update_nam_diag_surfn (DGO)
82 !
83  USE modd_diag_n, ONLY : diag_options_t
84 !
85  IMPLICIT NONE
86 
87 !
88  TYPE(diag_options_t), INTENT(INOUT) :: DGO
89  REAL(KIND=JPRB) :: ZHOOK_HANDLE
90 
91  IF (lhook) CALL dr_hook('MODN_IDEAL_N:UPDATE_NAM_DIAG_SURFN',0,zhook_handle)
92  dgo%XDIAG_TSTEP = xdiag_tstep
93  dgo%N2M = n2m
94  dgo%L2M_MIN_ZS = l2m_min_zs
95  dgo%LSURF_BUDGET = lsurf_budget
96  dgo%LRAD_BUDGET = lrad_budget
97  dgo%LSURF_BUDGETC = lsurf_budgetc
98  dgo%LRESET_BUDGETC = lreset_budgetc
99  dgo%LCOEF = lcoef
100  dgo%LSURF_VARS = lsurf_vars
101 IF (lhook) CALL dr_hook('MODN_IDEAL_N:UPDATE_NAM_DIAG_SURFN',1,zhook_handle)
102 END SUBROUTINE update_nam_diag_surfn
103 !
104 END MODULE modn_ideal_n
logical lreset_budgetc
Definition: modn_idealn.F90:49
logical lrad_budget
Definition: modn_idealn.F90:47
logical l2m_min_zs
Definition: modn_idealn.F90:45
subroutine init_nam_diag_surfn(DGO)
Definition: modn_idealn.F90:59
logical lsurf_budget
Definition: modn_idealn.F90:46
integer, parameter jprb
Definition: parkind1.F90:32
logical lsurf_budgetc
Definition: modn_idealn.F90:48
logical lsurf_vars
Definition: modn_idealn.F90:51
logical lcoef
Definition: modn_idealn.F90:50
logical lhook
Definition: yomhook.F90:15
subroutine update_nam_diag_surfn(DGO)
Definition: modn_idealn.F90:82