source: LMDZ6/branches/Optimisation_LMDZ/libf/phylmd/calbeta_clim.F90

Last change on this file was 2311, checked in by Ehouarn Millour, 9 years ago

Further modifications to enforce physics/dynamics separation:

  • moved iniprint.h and misc_mod back to dyn3d_common, as these should only be used by dynamics.
  • created print_control_mod in the physics to store flags prt_level, lunout, debug to be local to physics (should be used rather than iniprint.h)
  • created abort_physic.F90 , which does the same job as abort_gcm() did, but should be used instead when in physics.
  • reactivated inifis (turned it into a module, inifis_mod.F90) to initialize physical constants and print_control_mod flags.

EM

  • 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
File size: 1.9 KB
Line 
1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/calbeta.F90,v 1.2 2007/06/22 12:49:51
3! fairhead Exp $
4!
5
6SUBROUTINE 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
72end SUBROUTINE calbeta_clim
Note: See TracBrowser for help on using the repository browser.