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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 38 - (show annotations)
Thu Jan 6 17:52:19 2011 UTC (13 years, 4 months ago) by guez
File size: 2020 byte(s)
Extracted ASCII art from "inigeom" into a separate text file in the
documentation.

"test_disvert" now creates a separate file for layer thicknesses.

Moved variables from module "yomcst" to module "suphec_m" because this
is where those variables are defined. Kept in "yomcst" only parameters
of Earth orbit. Gave the attribute "parameter" to some variables of
module "suphec_m".

Variables of module "yoethf" were defined in procedure "suphec". Moved
these definitions to a new procedure "yoethf" in module "yoethf_m".

1 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 SUPHEC_M
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