Changeset 745


Ignore:
Timestamp:
10/03/18 23:12:28 (6 years ago)
Author:
dubos
Message:

devel : fix accuracy issue with cross_product2 => -xHost now conserves mass on Irene

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/sphere/vector.f90

    r533 r745  
    2828     REAL(rstd),INTENT(IN) :: V1(3) 
    2929     REAL(rstd),INTENT(IN) :: V2(3) 
    30      
     30     cross_product(1)=V1(2)*V2(3)-V1(3)*V2(2) 
     31     cross_product(2)=V1(3)*V2(1)-V1(1)*V2(3) 
     32     cross_product(3)=V1(1)*V2(2)-V1(2)*V2(1)      
     33   END FUNCTION cross_product 
     34 
     35   SUBROUTINE cross_product2(Va,Vb,cross_product) 
     36   IMPLICIT NONE 
     37     REAL(rstd),INTENT(OUT):: cross_product(3) 
     38     REAL(rstd),INTENT(IN) :: Va(3), Vb(3) 
     39     REAL(rstd) :: V1(3),V2(3) 
     40     V1=.5*(Va+Vb) 
     41     V2=Va-Vb 
    3142     cross_product(1)=V1(2)*V2(3)-V1(3)*V2(2) 
    3243     cross_product(2)=V1(3)*V2(1)-V1(1)*V2(3) 
    3344     cross_product(3)=V1(1)*V2(2)-V1(2)*V2(1) 
    34       
    35     END FUNCTION cross_product 
    36  
    37  
    38    SUBROUTINE cross_product2(V1,V2,cross_product) 
    39    IMPLICIT NONE 
    40      REAL(rstd),INTENT(OUT):: cross_product(3) 
    41      REAL(rstd),INTENT(IN) :: V1(3) 
    42      REAL(rstd),INTENT(IN) :: V2(3) 
    43      
    44      cross_product(1)=V1(2)*V2(3)-V1(3)*V2(2) 
    45      cross_product(2)=V1(3)*V2(1)-V1(1)*V2(3) 
    46      cross_product(3)=V1(1)*V2(2)-V1(2)*V2(1) 
    47       
    48     END SUBROUTINE cross_product2 
     45   END SUBROUTINE cross_product2 
    4946 
    5047    FUNCTION arc(lon,lat, lonc,latc) 
Note: See TracChangeset for help on using the changeset viewer.