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

Contents of /trunk/phylmd/alboc_cd.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 117 - (show annotations)
Thu Dec 4 16:48:53 2014 UTC (9 years, 4 months ago) by guez
File size: 1594 byte(s)
Split "albedo.f" into "alboc.f" and "alboc_cd.f".

1 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