source: LMDZ5/branches/IPSLCM5A2.1/libf/phylmd/calbeta.F90 @ 5425

Last change on this file since 5425 was 1907, checked in by lguez, 11 years ago

Added a copyright property to every file of the distribution, except
for the fcm files (which have their own copyright). Use svn propget on
a file to see the copyright. For instance:

$ svn propget copyright libf/phylmd/physiq.F90
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory

Also added the files defining the CeCILL version 2 license, in French
and English, at the top of the LMDZ tree.

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1!
2! $Header$
3!
4SUBROUTINE calbeta(dtime,indice,knon,snow,qsol, &
5     vbeta,vcal,vdif)
6
7  USE dimphy
8  USE indice_sol_mod
9  IMPLICIT none
10!======================================================================
11! Auteur(s): Z.X. Li (LMD/CNRS) (adaptation du GCM au LMD)
12! date: 19940414
13!======================================================================
14!
15! Calculer quelques parametres pour appliquer la couche limite
16! ------------------------------------------------------------
17! Variables d'entrees
18!****************************************************************************************
19  REAL, INTENT(IN)                   :: dtime
20  INTEGER, INTENT(IN)                :: indice
21  INTEGER, INTENT(IN)                :: knon
22  REAL, DIMENSION(klon), INTENT(IN)  :: snow
23  REAL, DIMENSION(klon), INTENT(IN)  :: qsol
24
25 
26! Variables de sorties
27!****************************************************************************************
28  REAL, DIMENSION(klon), INTENT(OUT) :: vbeta
29  REAL, DIMENSION(klon), INTENT(OUT) :: vcal
30  REAL, DIMENSION(klon), INTENT(OUT) :: vdif
31
32! Variables locales
33!****************************************************************************************
34  REAL, PARAMETER :: tau_gl=86400.0*5.0 ! temps de relaxation pour la glace de mer
35!cc      PARAMETER (tau_gl=86400.0*30.0)
36  REAL, PARAMETER :: mx_eau_sol=150.0
37  REAL, PARAMETER :: calsol=1.0/(2.5578E+06*0.15)
38  REAL, PARAMETER :: calsno=1.0/(2.3867E+06*0.15)
39  REAL, PARAMETER :: calice=1.0/(5.1444E+06*0.15)
40 
41  INTEGER         :: i
42
43!**************************************************************************************** 
44   
45  vbeta(:) = 0.0
46  vcal(:) = 0.0
47  vdif(:) = 0.0
48 
49  IF (indice.EQ.is_oce) THEN
50     DO i = 1, knon
51        vcal(i)   = 0.0
52        vbeta(i)  = 1.0
53        vdif(i) = 0.0
54     ENDDO
55  ENDIF
56 
57  IF (indice.EQ.is_sic) THEN
58     DO i = 1, knon
59        vcal(i) = calice
60        IF (snow(i) .GT. 0.0) vcal(i) = calsno
61        vbeta(i)  = 1.0
62        vdif(i) = 1.0/tau_gl
63!          vdif(i) = calice/tau_gl ! c'etait une erreur
64     ENDDO
65  ENDIF
66 
67  IF (indice.EQ.is_ter) THEN
68     DO i = 1, knon
69        vcal(i) = calsol
70        IF (snow(i) .GT. 0.0) vcal(i) = calsno
71        vbeta(i)  = MIN(2.0*qsol(i)/mx_eau_sol, 1.0)
72        vdif(i) = 0.0
73     ENDDO
74  ENDIF
75 
76  IF (indice.EQ.is_lic) THEN
77     DO i = 1, knon
78        vcal(i) = calice
79        IF (snow(i) .GT. 0.0) vcal(i) = calsno
80        vbeta(i)  = 1.0
81        vdif(i) = 0.0
82     ENDDO
83  ENDIF
84 
85END SUBROUTINE calbeta
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Note: See TracBrowser for help on using the repository browser.