source: LMDZ5/trunk/tools/Max_diff_nc_with_lib/NR_util/outerdiff.f90 @ 1765

Last change on this file since 1765 was 1765, checked in by lguez, 11 years ago

A tool to compare NetCDF files.

File size: 989 bytes
Line 
1MODULE outerdiff_m
2
3  IMPLICIT NONE
4
5  INTERFACE outerdiff
6     MODULE PROCEDURE outerdiff_r,outerdiff_d,outerdiff_i
7  END INTERFACE
8
9  private outerdiff_r,outerdiff_d,outerdiff_i
10
11CONTAINS
12
13  FUNCTION outerdiff_r(a,b)
14    REAL, DIMENSION(:), INTENT(IN) :: a,b
15    REAL, DIMENSION(size(a),size(b)) :: outerdiff_r
16    outerdiff_r = spread(a,dim=2,ncopies=size(b)) - &
17         spread(b,dim=1,ncopies=size(a))
18  END FUNCTION outerdiff_r
19  !BL
20  FUNCTION outerdiff_d(a,b)
21    DOUBLE PRECISION, DIMENSION(:), INTENT(IN) :: a,b
22    DOUBLE PRECISION, DIMENSION(size(a),size(b)) :: outerdiff_d
23    outerdiff_d = spread(a,dim=2,ncopies=size(b)) - &
24         spread(b,dim=1,ncopies=size(a))
25  END FUNCTION outerdiff_d
26  !BL
27  FUNCTION outerdiff_i(a,b)
28    INTEGER, DIMENSION(:), INTENT(IN) :: a,b
29    INTEGER, DIMENSION(size(a),size(b)) :: outerdiff_i
30    outerdiff_i = spread(a,dim=2,ncopies=size(b)) - &
31         spread(b,dim=1,ncopies=size(a))
32  END FUNCTION outerdiff_i
33
34END MODULE outerdiff_m
Note: See TracBrowser for help on using the repository browser.