1 |
|
|
! |
2 |
|
|
! $Header: /home/cvsroot/LMDZ4/libf/phylmd/calbeta.F90,v 1.2 2007/06/22 12:49:51 |
3 |
|
|
! fairhead Exp $ |
4 |
|
|
! |
5 |
|
|
|
6 |
|
|
SUBROUTINE calbeta_clim(klon,time,lat_radian,beta) |
7 |
|
|
|
8 |
|
|
!====================================================================== |
9 |
|
|
! Auteur(s): A.K. TRAORE |
10 |
|
|
!====================================================================== |
11 |
|
|
|
12 |
|
|
!USE phys_local_var_mod, ONLY : ideal_beta !pour faire la variable dans le |
13 |
|
|
! physiq.f pour des sorties directes de beta |
14 |
|
|
|
15 |
|
|
USE phys_cal_mod, only: year_len |
16 |
|
|
USE print_control_mod, ONLY: prt_level |
17 |
|
|
|
18 |
|
|
implicit none |
19 |
|
|
integer klon,nt,j,it |
20 |
|
|
real logbeta(klon),pi |
21 |
|
|
real lat(klon),lat_radian(klon) |
22 |
|
|
integer time |
23 |
|
|
real time_radian |
24 |
|
|
real lat_sahel,beta(klon) |
25 |
|
|
real lat_nord,lat_sud |
26 |
|
|
|
27 |
|
|
!============================================== |
28 |
|
|
|
29 |
|
|
pi=2.*asin(1.) |
30 |
|
|
beta=0. |
31 |
|
|
|
32 |
|
|
!calcul des cordonnees |
33 |
|
|
|
34 |
|
|
! print*,'LATITUDES BETA ',lat_radian |
35 |
|
|
time_radian=(time+15.)*2.*pi / year_len |
36 |
|
|
|
37 |
|
|
if (prt_level >= 1) print *, 'time_radian time', time_radian, time |
38 |
|
|
|
39 |
|
|
lat(:)=180.*lat_radian(:)/pi !lat(:)=lat_radian(:) |
40 |
|
|
|
41 |
|
|
lat_sahel=-5*sin(time_radian)+13 |
42 |
|
|
lat_nord=lat_sahel+25. |
43 |
|
|
lat_sud=lat_sahel-25. |
44 |
|
|
do j=1,klon |
45 |
|
|
!=========== |
46 |
|
|
if (lat(j) < 5. ) then |
47 |
|
|
|
48 |
|
|
logbeta(j)=0.2*(lat(j)-lat_sud)-1.6 |
49 |
|
|
beta(j)=10**(logbeta(j)) |
50 |
|
|
beta(j)=max(beta(j),0.03) |
51 |
|
|
beta(j)=min(beta(j),0.22) |
52 |
|
|
! print*,'j,lat,lat_radian,beta',j,lat(j),lat_radian(j),beta(j) |
53 |
|
|
!=========== |
54 |
|
|
elseif (lat(j) < 22.) then !lat(j)<22. |
55 |
|
|
|
56 |
|
|
logbeta(j)=-0.25*(lat(j)-lat_sahel)-1.6 |
57 |
|
|
beta(j)=10**(logbeta(j)) |
58 |
|
|
beta(j)=max(beta(j),1.e-2) |
59 |
|
|
beta(j)=min(beta(j),0.22) |
60 |
|
|
! print*,'j,lat,lat_radian,beta',j,lat(j),lat_radian(j),beta(j) |
61 |
|
|
!=========== |
62 |
|
|
else |
63 |
|
|
logbeta(j)=0.25*(lat(j)-lat_nord)-1. |
64 |
|
|
beta(j)=10**(logbeta(j)) |
65 |
|
|
beta(j)=max(beta(j),1.e-2) |
66 |
|
|
beta(j)=min(beta(j),0.25) |
67 |
|
|
! print*,'j,lat,lat_radian,beta',j,lat(j),lat_radian(j),beta(j) |
68 |
|
|
endif |
69 |
|
|
!=========== |
70 |
|
|
enddo |
71 |
|
|
|
72 |
|
|
end SUBROUTINE calbeta_clim |