/[lmdze]/trunk/libf/phylmd/calbeta.f
ViewVC logotype

Annotation of /trunk/libf/phylmd/calbeta.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 3 months ago) by guez
File size: 2018 byte(s)
Initial import
1 guez 3 SUBROUTINE calbeta(dtime,indice,knon,snow,qsol,
2     . vbeta,vcal,vdif)
3     use dimens_m
4     use indicesol
5     use dimphy
6     use iniprint
7     use YOMCST
8     IMPLICIT none
9     c======================================================================
10     c Auteur(s): Z.X. Li (LMD/CNRS) (adaptation du GCM du LMD)
11     c date: 19940414
12     c======================================================================
13     c
14     c Calculer quelques parametres pour appliquer la couche limite
15     c ------------------------------------------------------------
16     REAL tau_gl ! temps de relaxation pour la glace de mer
17     ccc PARAMETER (tau_gl=86400.0*30.0)
18     PARAMETER (tau_gl=86400.0*5.0)
19     REAL mx_eau_sol
20     PARAMETER (mx_eau_sol=150.0)
21     c
22     REAL calsol, calsno, calice ! epaisseur du sol: 0.15 m
23     PARAMETER (calsol=1.0/(2.5578E+06*0.15))
24     PARAMETER (calsno=1.0/(2.3867E+06*0.15))
25     PARAMETER (calice=1.0/(5.1444E+06*0.15))
26     C
27     INTEGER i
28     c
29     REAL dtime
30     REAL snow(klon), qsol(klon)
31     INTEGER indice, knon
32     C
33     REAL vbeta(klon)
34     REAL vcal(klon)
35     REAL vdif(klon)
36     C
37    
38     IF (indice.EQ.is_oce) THEN
39     DO i = 1, knon
40     vcal(i) = 0.0
41     vbeta(i) = 1.0
42     vdif(i) = 0.0
43     ENDDO
44     ENDIF
45     c
46     IF (indice.EQ.is_sic) THEN
47     DO i = 1, knon
48     vcal(i) = calice
49     IF (snow(i) .GT. 0.0) vcal(i) = calsno
50     vbeta(i) = 1.0
51     vdif(i) = 1.0/tau_gl
52     ccc vdif(i) = calice/tau_gl ! c'etait une erreur
53     ENDDO
54     ENDIF
55     c
56     IF (indice.EQ.is_ter) THEN
57     DO i = 1, knon
58     vcal(i) = calsol
59     IF (snow(i) .GT. 0.0) vcal(i) = calsno
60     vbeta(i) = MIN(2.0*qsol(i)/mx_eau_sol, 1.0)
61     vdif(i) = 0.0
62     ENDDO
63     ENDIF
64     c
65     IF (indice.EQ.is_lic) THEN
66     DO i = 1, knon
67     vcal(i) = calice
68     IF (snow(i) .GT. 0.0) vcal(i) = calsno
69     vbeta(i) = 1.0
70     vdif(i) = 0.0
71     ENDDO
72     ENDIF
73     c
74     RETURN
75     END

  ViewVC Help
Powered by ViewVC 1.1.21