Ignore:
Timestamp:
Jan 7, 2020, 6:27:58 PM (5 years ago)
Author:
dubos
Message:

simple_physics : reworked comgeomfi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dynamico_lmdz/simple_physics/phyparam/param/comgeomfi.F90

    r4212 r4216  
    33  SAVE
    44
    5   REAL, allocatable :: long(:), lati(:), area(:), &
    6        sinlon(:), coslon(:), sinlat(:), coslat(:)
    7   REAL :: totarea
    8   INTEGER :: ngridmax,nlayermx,nsoilmx
    9 !$OMP THREADPRIVATE(long,lati,area,sinlon,coslon,sinlat,coslat,totarea)
     5  REAL, ALLOCATABLE :: long(:), lati(:), sinlon(:), coslon(:), sinlat(:), coslat(:)
     6  INTEGER :: ngridmax, nlayermx, nsoilmx
     7!$OMP THREADPRIVATE(long,lati,sinlon,coslon,sinlat,coslat,totarea)
    108!$OMP THREADPRIVATE(ngridmax,nlayermx,nsoilmx)
    119
    1210CONTAINS
    1311   
    14   SUBROUTINE InitComgeomfi
    15     USE mod_phys_lmdz_para
    16     USE dimphy, ONLY : klon,klev
    17     USE geometry_mod, ONLY : latitude_deg,longitude_deg
    18    
    19     print*,'Dans initcomgeomfi '
    20     ngridmax=klon_omp
     12  SUBROUTINE init_comgeomfi(klon, klev, longitude, latitude)
     13    INTEGER, INTENT(IN) :: klon, klev
     14    REAL, INTENT(IN) :: longitude(klon), latitude(klon) ! in radians
     15    ngridmax=klon
    2116    nlayermx=klev
    2217    nsoilmx=10
    23     print*,'ngridmax,nlayermx',ngridmax,nlayermx
    24  
    25     allocate(long(klon_omp))
    26     allocate(lati(klon_omp))
    27     long=longitude_deg
    28     lati=latitude_deg
    29     allocate(area(klon_omp))
    30     allocate(sinlon(klon_omp))
    31     allocate(coslon(klon_omp))
    32     allocate(sinlat(klon_omp))
    33     allocate(coslat(klon_omp))
    34 
    35   END SUBROUTINE InitComgeomfi
     18    allocate(long(klon))
     19    allocate(lati(klon))
     20    allocate(sinlon(klon))
     21    allocate(coslon(klon))
     22    allocate(sinlat(klon))
     23    allocate(coslat(klon))
     24    long(:) = longitude(:)
     25    lati(:) = latitude(:)
     26    sinlat(:)=sin(lati(:))
     27    coslat(:)=cos(lati(:))
     28    sinlon(:)=sin(long(:))
     29    coslon(:)=cos(long(:))
     30  END SUBROUTINE init_comgeomfi
    3631 
    3732END MODULE comgeomfi
Note: See TracChangeset for help on using the changeset viewer.