Ignore:
Timestamp:
01/09/14 09:56:11 (10 years ago)
Author:
ymipsl
Message:

Add new openMP parallelism based on distribution of domains on threads. There is no more limitation of number of threads by MPI process.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/etat0_dcmip4.f90

    r138 r186  
    1212  REAL(rstd),PARAMETER :: up0=1 
    1313  REAL(rstd) :: latw=2*Pi/9 
     14!$OMP THREADPRIVATE(latw) 
    1415  REAL(rstd) :: pw=34000 
     16!$OMP THREADPRIVATE(pw) 
    1517  REAL(rstd) :: q0=0.021 
     18!$OMP THREADPRIVATE(q0) 
    1619  REAL(rstd) :: lonc 
     20!$OMP THREADPRIVATE(lonc) 
    1721  REAL(rstd) :: latc 
     22!$OMP THREADPRIVATE(latc) 
     23 
     24  INTEGER,SAVE :: testcase 
     25!$OMP THREADPRIVATE(testcase)   
     26 
    1827  PUBLIC  etat0 
    1928CONTAINS 
     
    3645    REAL(rstd),POINTER :: q(:,:,:) 
    3746    INTEGER :: ind 
     47 
     48    testcase=1 
     49    CALL getin("dcmip4_testcase",testcase) 
    3850     
    3951    DO ind=1,ndomain 
     52      IF (.NOT. assigned_domain(ind)) CYCLE 
    4053      CALL swap_dimensions(ind) 
    4154      CALL swap_geometry(ind) 
     
    8194  REAL(rstd) :: lonx,latx 
    8295  REAL(rstd) :: dthetaodeta_ave, dthetaodeta, dthetaodlat, duodeta, K, r 
    83   INTEGER :: testcase 
    8496   
    8597    lonc=Pi/9 
    8698    latc=2*Pi/9  
    87    
    88     testcase=1 
    89     CALL getin("dcmip4_testcase",testcase) 
    90    
    9199   
    92100    DO l=1,llm 
Note: See TracChangeset for help on using the changeset viewer.