| Line |
Branch |
Exec |
Source |
| 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 |
| 73 |
|
|
|