Ignore:
Timestamp:
10/31/14 14:52:01 (10 years ago)
Author:
ymipsl
Message:

Merging OpenMP parallisme mode : by subdomain and on vertical level.
This feature is actually experimental but may be retro-compatible with the last method based only on subdomain

YM

File:
1 edited

Legend:

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

    r294 r295  
    166166    USE vector 
    167167    USE transfert_mod 
     168    USE omp_para 
    168169 
    169170    IMPLICIT NONE 
     
    186187     
    187188    DO ind=1,ndomain 
    188       IF (.NOT. assigned_domain(ind)) CYCLE 
     189      IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    189190      CALL swap_dimensions(ind) 
    190191      CALL swap_geometry(ind) 
     
    212213  USE vector 
    213214  USE getin_mod 
     215  USE omp_para 
    214216  IMPLICIT NONE 
    215217    INTEGER :: nb_it=0 
     
    226228     
    227229    DO ind=1,ndomain 
    228       IF (.NOT. assigned_domain(ind)) CYCLE 
     230      IF (.NOT. assigned_domain(ind)  .OR. .NOT. is_omp_level_master) CYCLE 
    229231      d=>domain(ind) 
    230232      CALL swap_dimensions(ind) 
     
    241243 
    242244    DO ind=1,ndomain 
    243       IF (.NOT. assigned_domain(ind)) CYCLE 
     245      IF (.NOT. assigned_domain(ind)  .OR. .NOT. is_omp_level_master ) CYCLE 
    244246      d=>domain(ind) 
    245247      CALL swap_dimensions(ind) 
     
    271273      sum=0 
    272274      DO ind=1,ndomain 
    273       IF (.NOT. assigned_domain(ind)) CYCLE 
     275      IF (.NOT. assigned_domain(ind)  .OR. .NOT. is_omp_level_master ) CYCLE 
    274276        CALL swap_dimensions(ind) 
    275277        CALL swap_geometry(ind) 
     
    311313  USE transfert_mod 
    312314  USE getin_mod 
     315  USE omp_para 
    313316  IMPLICIT NONE 
    314317 
     
    330333  
    331334    DO ind=1,ndomain 
    332       IF (.NOT. assigned_domain(ind)) CYCLE 
     335      IF (.NOT. assigned_domain(ind)  .OR. .NOT. is_omp_level_master ) CYCLE 
    333336      d=>domain(ind) 
    334337      CALL swap_dimensions(ind) 
     
    559562    CALL transfert_request(geom%centroid,req_i1) 
    560563 
    561     CALL surf_triangle(d%xyz(:,ii_begin,jj_begin),d%xyz(:,ii_begin,jj_end),d%xyz(:,ii_end,jj_begin),S) 
     564!    CALL surf_triangle(d%xyz(:,ii_begin,jj_begin),d%xyz(:,ii_begin,jj_end),d%xyz(:,ii_end,jj_begin),S) 
    562565  
    563566  END SUBROUTINE set_geometry 
Note: See TracChangeset for help on using the changeset viewer.