SURFEX v8.1
General documentation of Surfex
Surfex_Git2
src
SURFEX
modd_flaken.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
modd_flake_n
7
! ####################
8
!
9
!!**** *MODD_FLAKE_n - declaration of surface parameters for the FLake model
10
!! for inland water surfaces
11
!!
12
!! PURPOSE
13
!! -------
14
! Declaration of surface parameters
15
!
16
!!
17
!!** IMPLICIT ARGUMENTS
18
!! ------------------
19
!! None
20
!!
21
!! REFERENCE
22
!! ---------
23
!!
24
!! AUTHOR
25
!! ------
26
!! V. Masson *Meteo France*
27
!!
28
!! MODIFICATIONS
29
!! -------------
30
!! Original 01/2004
31
!
32
!* 0. DECLARATIONS
33
! ------------
34
!
35
USE
modd_type_date_surf
36
!
37
USE
yomhook
,ONLY
:
lhook
,
dr_hook
38
USE
parkind1
,ONLY
:
jprb
39
!
40
IMPLICIT NONE
41
!
42
TYPE
flake_t
43
!
44
!-------------------------------------------------------------------------------------
45
! General surface:
46
!-------------------------------------------------------------------------------------
47
!
48
REAL
,
POINTER
,
DIMENSION(:)
:: xzs
! orography (m)
49
REAL
,
POINTER
,
DIMENSION(:)
:: xz0
! roughness length (m)
50
REAL
,
POINTER
,
DIMENSION(:)
:: xustar
! air friction velocity (m/s)
51
REAL
,
POINTER
,
DIMENSION(:)
:: xemis
! water surface emissivity (NOT USED BY FLAKE)
52
!
53
REAL
,
POINTER
,
DIMENSION(:,:)
:: xcover
! fraction of each ecosystem (-)
54
! ! F: no atmospheric layers below forcing level
55
!
56
LOGICAL
,
POINTER
,
DIMENSION(:)
:: lcover
! GCOVER(i)=T --> ith cover field is not 0.
57
LOGICAL
:: lsbl
! T: SBL scheme within the Surface Boundary Layer
58
!
59
!-------------------------------------------------------------------------------------
60
! Date and time:
61
!-------------------------------------------------------------------------------------
62
!
63
type(
date_time
) :: ttime
! current date and time
64
!
65
REAL
:: xtstep
! time step
66
!
67
REAL
:: xout_tstep
! output writing time step
68
!
69
!-------------------------------------------------------------------------------------
70
! FLake switches
71
!-------------------------------------------------------------------------------------
72
!
73
LOGICAL
:: lsediments
! flag to use or not the bottom sediments
74
LOGICAL
:: lskintemp
! flag to use or not the skin temperature computation
75
CHARACTER(LEN=3)
:: csnow_flk
! FLake snow scheme
76
CHARACTER(LEN=5)
:: cflk_flux
! Type of flux computation
77
CHARACTER(LEN=4)
:: cflk_alb
! Type of albedo
78
!
79
!-------------------------------------------------------------------------------------
80
! FLake parameters and variables
81
!-------------------------------------------------------------------------------------
82
!
83
REAL
,
POINTER
,
DIMENSION(:)
:: xwater_depth
! Lake depth (m)
84
REAL
,
POINTER
,
DIMENSION(:)
:: xwater_fetch
! Lake fetch (m)
85
REAL
,
POINTER
,
DIMENSION(:)
:: xt_bs
! Temperature at the outer edge of the thermally
86
! active layer of the bottom sediments [K]
87
REAL
,
POINTER
,
DIMENSION(:)
:: xdepth_bs
! Depth of the thermally active layer of the
88
! bottom sediments [m]
89
REAL
,
POINTER
,
DIMENSION(:)
:: xcorio
! The Coriolis parameter [s^{-1}]
90
REAL
,
POINTER
,
DIMENSION(:)
:: xdir_alb
! Water surface direct albedo
91
REAL
,
POINTER
,
DIMENSION(:)
:: xsca_alb
! Water surface diffuse albedo
92
REAL
,
POINTER
,
DIMENSION(:)
:: xice_alb
! Ice surface albedo (for ESM coupling)
93
REAL
,
POINTER
,
DIMENSION(:)
:: xsnow_alb
! Snow surface albedo
94
REAL
,
POINTER
,
DIMENSION(:)
:: xextcoef_water
! Extinction coefficient for the water [m^{-1}]
95
REAL
,
POINTER
,
DIMENSION(:)
:: xextcoef_ice
! Extinction coefficient for the ice [m^{-1}]
96
REAL
,
POINTER
,
DIMENSION(:)
:: xextcoef_snow
! Extinction coefficient for the snow [m^{-1}]
97
REAL
,
POINTER
,
DIMENSION(:)
:: xt_snow
! Temperature at the air-snow interface [K]
98
REAL
,
POINTER
,
DIMENSION(:)
:: xt_ice
! Temperature at the snow-ice or air-ice
99
! interface [K]
100
REAL
,
POINTER
,
DIMENSION(:)
:: xt_mnw
! Mean temperature of the water column [K]
101
REAL
,
POINTER
,
DIMENSION(:)
:: xt_wml
! Mixed-layer temperature [K]
102
REAL
,
POINTER
,
DIMENSION(:)
:: xt_bot
! Temperature at the water-bottom sediment
103
! interface [K]
104
REAL
,
POINTER
,
DIMENSION(:)
:: xt_b1
! Temperature at the bottom of the upper
105
! layer of the sediments [K]
106
REAL
,
POINTER
,
DIMENSION(:)
:: xct
! Shape factor (thermocline)
107
REAL
,
POINTER
,
DIMENSION(:)
:: xh_snow
! Snow thickness [m]
108
REAL
,
POINTER
,
DIMENSION(:)
:: xh_ice
! Ice thickness [m]
109
REAL
,
POINTER
,
DIMENSION(:)
:: xh_ml
! Thickness of the mixed-layer [m]
110
REAL
,
POINTER
,
DIMENSION(:)
:: xh_b1
! Thickness of the upper layer of bottom sediments [m]
111
!
112
REAL
,
POINTER
,
DIMENSION(:)
:: xts
! surface temperature (K)
113
! (water or ice or snow)
114
!
115
!-------------------------------------------------------------------------------------
116
! Coupling field for Earth system model
117
!-------------------------------------------------------------------------------------
118
!
119
REAL
,
POINTER
,
DIMENSION(:)
:: xcpl_flake_evap
! Evaporation for ESM coupling
120
REAL
,
POINTER
,
DIMENSION(:)
:: xcpl_flake_rain
! Rainfall for ESM coupling
121
REAL
,
POINTER
,
DIMENSION(:)
:: xcpl_flake_snow
! Snowfall for ESM coupling
122
!
123
END TYPE
flake_t
124
!
125
!-------------------------------------------------------------------------------------
126
!
127
128
129
CONTAINS
130
!
131
!-------------------------------------------------------------------------------------
132
!
133
!
134
!
135
136
137
!
138
!
139
!-------------------------------------------------------------------------------------
140
!
141
SUBROUTINE
flake_init
(YFLAKE)
142
TYPE
(
flake_t
),
INTENT(INOUT)
:: YFLAKE
143
REAL(KIND=JPRB)
:: ZHOOK_HANDLE
144
IF
(
lhook
)
CALL
dr_hook
(
"MODD_FLAKE_N:FLAKE_INIT"
,0,zhook_handle)
145
NULLIFY
(yflake%XZS)
146
NULLIFY
(yflake%XZ0)
147
NULLIFY
(yflake%XUSTAR)
148
NULLIFY
(yflake%XCOVER)
149
NULLIFY
(yflake%LCOVER)
150
NULLIFY
(yflake%XEMIS)
151
NULLIFY
(yflake%XWATER_DEPTH)
152
NULLIFY
(yflake%XWATER_FETCH)
153
NULLIFY
(yflake%XT_BS)
154
NULLIFY
(yflake%XDEPTH_BS)
155
NULLIFY
(yflake%XCORIO)
156
NULLIFY
(yflake%XDIR_ALB)
157
NULLIFY
(yflake%XSCA_ALB)
158
NULLIFY
(yflake%XICE_ALB)
159
NULLIFY
(yflake%XSNOW_ALB)
160
NULLIFY
(yflake%XEXTCOEF_WATER)
161
NULLIFY
(yflake%XEXTCOEF_ICE)
162
NULLIFY
(yflake%XEXTCOEF_SNOW)
163
NULLIFY
(yflake%XT_SNOW)
164
NULLIFY
(yflake%XT_ICE)
165
NULLIFY
(yflake%XT_MNW)
166
NULLIFY
(yflake%XT_WML)
167
NULLIFY
(yflake%XT_BOT)
168
NULLIFY
(yflake%XT_B1)
169
NULLIFY
(yflake%XCT)
170
NULLIFY
(yflake%XH_SNOW)
171
NULLIFY
(yflake%XH_ICE)
172
NULLIFY
(yflake%XH_ML)
173
NULLIFY
(yflake%XH_B1)
174
NULLIFY
(yflake%XTS)
175
NULLIFY
(yflake%XCPL_FLAKE_EVAP)
176
NULLIFY
(yflake%XCPL_FLAKE_RAIN)
177
NULLIFY
(yflake%XCPL_FLAKE_SNOW)
178
yflake%LSBL=.false.
179
yflake%XTSTEP=0.
180
yflake%XOUT_TSTEP=0.
181
yflake%LSEDIMENTS=.false.
182
yflake%LSKINTEMP=.false.
183
yflake%CSNOW_FLK=
' '
184
yflake%CFLK_ALB=
' '
185
yflake%CFLK_FLUX=
' '
186
IF
(
lhook
)
CALL
dr_hook
(
"MODD_FLAKE_N:FLAKE_INIT"
,1,zhook_handle)
187
END SUBROUTINE
flake_init
188
!
189
!-------------------------------------------------------------------------------------
190
!
191
!
192
!-------------------------------------------------------------------------------------
193
!
194
END MODULE
modd_flake_n
yomhook::dr_hook
Definition:
yomhook.F90:20
modd_flake_n::flake_t
Definition:
modd_flaken.F90:42
modd_flake_n::flake_init
subroutine flake_init(YFLAKE)
Definition:
modd_flaken.F90:142
modd_flake_n
Definition:
modd_flaken.F90:6
parkind1::jprb
integer, parameter jprb
Definition:
parkind1.F90:32
modd_type_date_surf::date_time
Definition:
modd_type_date_surf.F90:46
yomhook::lhook
logical lhook
Definition:
yomhook.F90:15
parkind1
Definition:
parkind1.F90:1
modd_type_date_surf
Definition:
modd_type_date_surf.F90:6
yomhook
Definition:
yomhook.F90:1
Generated on Tue Jan 16 2018 16:23:29 for SURFEX v8.1 by
1.8.13