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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 57 - (hide annotations)
Mon Jan 30 12:54:02 2012 UTC (12 years, 3 months ago) by guez
File size: 2022 byte(s)
Write used namelists to file "" instead of standard output.

Avoid aliasing in "inidissip" in calls to "divgrad2", "divgrad",
"gradiv2", "gradiv", "nxgraro2" and "nxgrarot". Add a degenerate
dimension to arrays so they have rank 3, like the dummy arguments in
"divgrad2", "divgrad", "gradiv2", "gradiv", "nxgraro2" and "nxgrarot".

Extract the initialization part from "bilan_dyn" and make a separate
procedure, "init_dynzon", from it.

Move variables from modules "iniprint" and "logic" to module
"conf_gcm_m".

Promote internal procedures of "fxy" to private procedures of module
"fxy_m".

Extracted documentation from "inigeom". Removed useless "save"
attributes. Removed useless intermediate variables. Extracted
processing of poles from loop on latitudes. Write coordinates to file
"longitude_latitude.txt" instead of standard output.

Do not use ozone tracer for radiative transfer.

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 guez 57 use conf_gcm_m
7 guez 38 use SUPHEC_M
8 guez 3 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