source: trunk/LMDZ.GENERIC/libf/phystd/planete_mod.F90 @ 1834

Last change on this file since 1834 was 1520, checked in by emillour, 9 years ago

Generic GCM:

  • Some fixes/adjustments to run using OpenMP (in the physics, best practice is to always have "save" variables, this of course includes all module variables, as "threadprivate").

EM

File size: 1.6 KB
Line 
1MODULE planete_mod
2  IMPLICIT NONE
3 
4  REAL,SAVE :: apoastr ! maximum star-planet distance (AU)
5  REAL,SAVE :: periastr ! minimum star-planet distance (AU)
6  REAL,SAVE :: year_day ! length of year (sols)
7  REAL,SAVE :: peri_day ! date of periastron (sols since N. spring)
8  REAL,SAVE :: obliquit ! Obliquity of the planet (deg)
9!$OMP THREADPRIVATE(apoastr,periastr,year_day,peri_day,obliquit)
10  REAL,SAVE :: nres ! tidal resonance ratio
11  REAL,SAVE :: z0 ! surface roughness (m)
12  REAL,SAVE :: lmixmin ! mixing length
13  REAL,SAVE :: emin_turb ! minimal energy
14!$OMP THREADPRIVATE(nres,z0,lmixmin,emin_turb)
15  REAL,SAVE :: coefvis
16  REAL,SAVE :: coefir
17  REAL,SAVE :: timeperi
18  REAL,SAVE :: e_elips
19  REAL,SAVE :: p_elips
20!$OMP THREADPRIVATE(coefvis,coefir,timeperi,e_elips,p_elips)
21 
22  REAL,SAVE :: preff ! reference surface pressure (Pa)  !read by master
23  REAL,SAVE,ALLOCATABLE :: ap(:) ! hybrid coordinate at layer interface !read by master
24  REAL,SAVE,ALLOCATABLE :: bp(:) ! hybrid coordinate at layer interface         !read by master
25!$OMP THREADPRIVATE(preff,ap,bp)
26
27  CONTAINS
28 
29  subroutine ini_planete_mod(nlayer,preff_dyn,ap_dyn,bp_dyn)
30 
31  implicit none
32  integer,intent(in) :: nlayer ! number of atmospheric layers
33  real,intent(in) :: preff_dyn ! reference surface pressure (Pa)
34  real,intent(in) :: ap_dyn(nlayer+1) ! hybrid coordinate at interfaces
35  real,intent(in) :: bp_dyn(nlayer+1) ! hybrid coordinate at interfaces
36 
37  allocate(ap(nlayer+1))
38  allocate(bp(nlayer+1))
39 
40  preff=preff_dyn
41  ap(:)=ap_dyn(:)
42  bp(:)=bp_dyn(:)
43 
44  end subroutine ini_planete_mod
45 
46END MODULE planete_mod
Note: See TracBrowser for help on using the repository browser.