SURFEX
V8_0
Surfex V8_0 release
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
src
SURFEX
prep_seaflux_sbl.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
prep_seaflux_sbl
(SG, SSB)
7
! #################################################################################
8
!
9
!!**** *PREP_SEAFLUX_SBL* - prepares SEAFLUX SBL fields
10
!!
11
!! PURPOSE
12
!! -------
13
!
14
!!** METHOD
15
!! ------
16
!!
17
!! REFERENCE
18
!! ---------
19
!!
20
!!
21
!! AUTHOR
22
!! ------
23
!! V. Masson
24
!!
25
!! MODIFICATIONS
26
!! -------------
27
!! Original 07/2006
28
!! S. Riette 06/2009 XT, XU, XQ, XTKE are set to XUNDEF
29
!! No more argument needed
30
!! E. Martin 01/2012 XUNDEF fields are no more written in PREP file
31
!!------------------------------------------------------------------
32
!
33
!
34
!
35
USE
modd_seaflux_grid_n
, ONLY
:
seaflux_grid_t
36
USE
modd_seaflux_sbl_n
, ONLY
:
seaflux_sbl_t
37
!
38
USE
yomhook
,ONLY
: lhook, dr_hook
39
USE
parkind1
,ONLY
: jprb
40
!
41
IMPLICIT NONE
42
!
43
!* 0.1 declarations of arguments
44
!
45
!
46
!* 0.2 declarations of local variables
47
!
48
!
49
TYPE(
seaflux_grid_t
)
,
INTENT(INOUT)
:: sg
50
TYPE(
seaflux_sbl_t
)
,
INTENT(INOUT)
:: ssb
51
!
52
INTEGER
:: jlayer
53
!
54
REAL
,
DIMENSION(:,:)
,
ALLOCATABLE
:: zzf
! altitudes at half levels
55
REAL(KIND=JPRB)
:: zhook_handle
56
!
57
!-------------------------------------------------------------------------------------
58
!
59
!* 1. number of levels (MUST be at least equal to 2)
60
! ----------------
61
!
62
IF
(lhook) CALL dr_hook(
'PREP_SEAFLUX_SBL'
,0,zhook_handle)
63
ssb%NLVL = 6
64
!
65
!* 2. height of half levels (where turbulent fluxes will be)
66
! ---------------------
67
!
68
!* Warning : ZZF(:,1) MUST BE ZERO
69
ALLOCATE
(zzf(sg%NDIM,ssb%NLVL))
70
zzf(:,1) = 0.
71
zzf(:,2) = 1
72
zzf(:,3) = 3.
73
zzf(:,4) = 5.
74
zzf(:,5) = 8.
75
zzf(:,6) = 12.
76
77
ALLOCATE
(ssb%XZ(sg%NDIM,ssb%NLVL))
78
DO
jlayer=1,ssb%NLVL-1
79
ssb%XZ(:,jlayer) = 0.5 * (zzf(:,jlayer)+zzf(:,jlayer+1))
80
END DO
81
ssb%XZ(:,ssb%NLVL) = 1.5 * zzf(:,ssb%NLVL) - 0.5 * zzf(:,ssb%NLVL-1)
82
!
83
DEALLOCATE
(zzf)
84
!
85
IF
(lhook) CALL dr_hook(
'PREP_SEAFLUX_SBL'
,1,zhook_handle)
86
!
87
!-------------------------------------------------------------------------------------
88
!
89
END SUBROUTINE
prep_seaflux_sbl
modd_seaflux_grid_n::seaflux_grid_t
Definition:
modd_seaflux_gridn.F90:39
modd_seaflux_sbl_n
Definition:
modd_seaflux_sbln.F90:6
modd_seaflux_sbl_n::seaflux_sbl_t
Definition:
modd_seaflux_sbln.F90:40
prep_seaflux_sbl
subroutine prep_seaflux_sbl(SG, SSB)
Definition:
prep_seaflux_sbl.F90:6
modd_seaflux_grid_n
Definition:
modd_seaflux_gridn.F90:6
Generated on Fri May 13 2016 09:31:05 for SURFEX by
1.8.5