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/field.f90

    r266 r295  
    4848  SUBROUTINE allocate_field(field,field_type,data_type,dim1,dim2,name) 
    4949  USE domain_mod 
     50  USE omp_para 
    5051  IMPLICIT NONE 
    5152    TYPE(t_field),POINTER :: field(:) 
     
    6465 
    6566    DO ind=1,ndomain 
    66       IF (.NOT. assigned_domain(ind)) CYCLE 
     67      IF (.NOT. assigned_domain(ind)  .OR. .NOT. is_omp_level_master) CYCLE 
    6768 
    6869      IF(PRESENT(name)) THEN 
     
    181182  SUBROUTINE deallocate_field(field) 
    182183  USE domain_mod 
     184  USE omp_para 
    183185  IMPLICIT NONE 
    184186    TYPE(t_field),POINTER :: field(:) 
     
    188190!$OMP BARRIER 
    189191    DO ind=1,ndomain 
    190       IF (.NOT. assigned_domain(ind)) CYCLE 
     192      IF (.NOT. assigned_domain(ind)  .OR. .NOT. is_omp_level_master) CYCLE 
    191193 
    192194      data_type=field(ind)%data_type 
Note: See TracChangeset for help on using the changeset viewer.