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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 225 - (hide annotations)
Mon Oct 16 12:35:41 2017 UTC (6 years, 8 months ago) by guez
File size: 1441 byte(s)
LMDZE is now in Fortran 2003 (use of allocatable arguments).

gradsdef was not used.

Change names: [uv]10m to [uv]10m_srf in clmain, y[uv]1 to
[uv]1lay. Remove useless complication: zx_alf[12]. Do not modify
[uv]1lay after initial definition from [uv].

Add [uv]10m_srf to output.

Change names in physiq: [uv]10m to [uv]10m_srf, z[uv]10m to [uv]10m,
corresponding to NetCDF output names.

Remove unused complication couchelimite and useless variable inirnpb
in phytrac.

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

  ViewVC Help
Powered by ViewVC 1.1.21