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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 134 - (hide annotations)
Wed Apr 29 15:47:56 2015 UTC (9 years, 1 month ago) by guez
File size: 1594 byte(s)
Sources inside, compilation outside.
1 guez 117 SUBROUTINE alboc_cd(rmu0, albedo)
2     ! From LMDZ4/libf/phylmd/albedo.F,v 1.2 2005/02/07 15:00:52
3     USE dimens_m
4     USE dimphy
5     IMPLICIT NONE
6     ! ======================================================================
7     ! Auteur(s): Z.X. Li (LMD/CNRS)
8     ! date: 19940624
9     ! Calculer l'albedo sur l'ocean en fonction de l'angle zenithal moyen
10     ! Formule due a Larson and Barkstrom (1977) Proc. of the symposium
11     ! on radiation in the atmosphere, 19-28 August 1976, science Press,
12     ! 1977 pp 451-453, ou These de 3eme cycle de Sylvie Joussaume.
13    
14     ! Arguments
15     ! rmu0 (in): cosinus de l'angle solaire zenithal
16     ! albedo (out): albedo de surface de l'ocean
17     ! ======================================================================
18     REAL rmu0(klon), albedo(klon)
19    
20     REAL fmagic ! un facteur magique pour regler l'albedo
21     ! cc PARAMETER (fmagic=0.7)
22     ! ccIM => a remplacer
23     ! PARAMETER (fmagic=1.32)
24     PARAMETER (fmagic=1.0)
25     ! PARAMETER (fmagic=0.7)
26    
27     REAL fauxo
28     INTEGER i
29     ! ccIM
30     LOGICAL ancien_albedo
31     PARAMETER (ancien_albedo=.FALSE.)
32     ! SAVE albedo
33    
34     IF (ancien_albedo) THEN
35    
36     DO i = 1, klon
37    
38     rmu0(i) = max(rmu0(i), 0.0)
39    
40     fauxo = (1.47-acos(rmu0(i)))/0.15
41     albedo(i) = fmagic*(.03+.630/(1.+fauxo*fauxo))
42     albedo(i) = max(min(albedo(i),0.60), 0.04)
43     END DO
44    
45     ! nouvel albedo
46    
47     ELSE
48    
49     DO i = 1, klon
50     rmu0(i) = max(rmu0(i), 0.0)
51     ! IM:orig albedo(i) = 0.058/(rmu0(i) + 0.30)
52     albedo(i) = fmagic*0.058/(rmu0(i)+0.30)
53     albedo(i) = max(min(albedo(i),0.60), 0.04)
54     END DO
55    
56     END IF
57    
58     RETURN
59     END SUBROUTINE alboc_cd

  ViewVC Help
Powered by ViewVC 1.1.21