/[lmdze]/trunk/Sources/phylmd/Interface_surf/calbeta.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/Interface_surf/calbeta.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 134 - (show annotations)
Wed Apr 29 15:47:56 2015 UTC (9 years ago) by guez
File size: 1374 byte(s)
Sources inside, compilation outside.
1 module calbeta_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE calbeta(indice, snow, qsol, vbeta, vcal, vdif)
8
9 ! Author: Z. X. Li (LMD/CNRS)
10 ! Date: April 14th, 1994
11
12 ! Calcul de quelques paramètres pour appliquer la couche limite.
13
14 USE indicesol, ONLY: is_lic, is_oce, is_sic, is_ter
15
16 INTEGER, intent(in):: indice
17 REAL, intent(in):: snow(:), qsol(:) ! (knon)
18 REAL, intent(out):: vbeta(:), vcal(:), vdif(:) ! (knon)
19
20 ! Local:
21
22 REAL, PARAMETER:: tau_gl = 86400. * 5.
23 ! temps de relaxation pour la glace de mer
24
25 REAL, PARAMETER:: max_eau_sol = 150. ! in kg m-2
26
27 ! Pour une épaisseur du sol de 15 cm :
28 REAL, PARAMETER:: calsol = 1. / (2.5578E6 * 0.15)
29 REAL, PARAMETER:: calsno = 1. / (2.3867E6 * 0.15)
30 REAL, PARAMETER:: calice = 1. / (5.1444E6 * 0.15)
31
32 !------------------------------------------------------------
33
34 select case (indice)
35 case(is_oce)
36 vbeta = 1.
37 vcal = 0.
38 vdif = 0.
39
40 case (is_sic)
41 vbeta = 1.
42 vcal = merge(calsno, calice, snow > 0.)
43 vdif = 1. / tau_gl
44
45 case (is_ter)
46 vbeta = min(2. * qsol / max_eau_sol, 1.)
47 vcal = merge(calsno, calsol, snow > 0.)
48 vdif = 0.
49
50 case (is_lic)
51 vbeta = 1.
52 vcal = merge(calsno, calice, snow > 0.)
53 vdif = 0.
54 END select
55
56 END SUBROUTINE calbeta
57
58 end module calbeta_m

  ViewVC Help
Powered by ViewVC 1.1.21