- Timestamp:
- Jan 7, 2020, 6:27:58 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
dynamico_lmdz/simple_physics/phyparam/param/comgeomfi.F90
r4212 r4216 3 3 SAVE 4 4 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) 10 8 !$OMP THREADPRIVATE(ngridmax,nlayermx,nsoilmx) 11 9 12 10 CONTAINS 13 11 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 21 16 nlayermx=klev 22 17 nsoilmx=10 23 print*,'ngridmax,nlayermx',ngridmax,nlayermx24 25 allocate( long(klon_omp))26 allocate( lati(klon_omp))27 long=longitude_deg28 lati=latitude_deg29 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 InitComgeomfi18 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 36 31 37 32 END MODULE comgeomfi
Note: See TracChangeset
for help on using the changeset viewer.