Changeset 198 for codes/icosagcm/trunk


Ignore:
Timestamp:
07/07/14 14:54:04 (10 years ago)
Author:
ymipsl
Message:

For intel compiler, bad inlining when using multithreading and high optimization level, causing crash.
Call has been replaced (temporarily) by corresponding code.

YM

File:
1 edited

Legend:

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

    r186 r198  
    200200    REAL(rstd)::masse(iim*jjm,llm)   
    201201    REAL(rstd)::rad,radomeg,lat,lon 
     202    REAL(rstd) ::xyz(3) 
    202203    INTEGER :: i,j,ij,l,ij2 
    203204 
     
    255256          ij=(j-1)*iim+i 
    256257          IF (domain(ind)%own(i,j)) THEN 
    257             CALL xyz2lonlat(xyz_i(ij,:),lon,lat)  
     258!            CALL xyz2lonlat(xyz_i(ij,:),lon,lat)  
     259! very bad inlining with intel compiler (>14 ?) 
     260             xyz(:)=xyz_i(ij,:) 
     261             xyz(:)=xyz(:)/sqrt(sum(xyz(:)**2)) 
     262             lat=asin(xyz(3)) 
     263             lon=atan2(xyz(2),xyz(1)) 
     264   
    258265            ang=ang+rad*cos(lat)*masse(ij,l)*(ulon(ij,l)+ radomeg*cos(lat)) 
    259266          END IF  
Note: See TracChangeset for help on using the changeset viewer.