source: codes/icosagcm/trunk/src/icosa_sw.f90 @ 78

Last change on this file since 78 was 26, checked in by ymipsl, 12 years ago

Implementation of parallelism
implementation of iterative laplacian for dissipation

File size: 930 bytes
Line 
1PROGRAM ICOSA_SW
2  USE icosa
3  USE timeloop_sw_mod
4  USE dissip_sw_mod
5  USE disvert_mod
6  IMPLICIT NONE
7 
8
9  TYPE(t_field),POINTER :: sum_ne(:)
10  REAL(rstd),POINTER :: pt_sum_ne(:)
11 
12  INTEGER :: ind,i,j,k,n
13  REAL(rstd) :: tot_sum=0
14 
15  CALL compute_metric
16  CALL compute_domain
17  CALL compute_geometry
18  CALL init_transfert
19 
20  CALL allocate_field(sum_ne,field_T,type_real)
21 
22
23  DO ind=1,ndomain
24     
25    pt_sum_ne=sum_ne(ind)
26     
27    CALL swap_dimensions(ind)
28    CALL swap_geometry(ind)
29   
30    DO j=jj_begin,jj_end
31      DO i=ii_begin,ii_end
32        n=(j-1)*iim+i
33        pt_sum_ne(n)=0
34        DO k=1,6
35          pt_sum_ne(n)=pt_sum_ne(n)+ne(n,k)
36        ENDDO
37        IF (domain(ind)%own(i,j)) tot_sum=tot_sum+Ai(n)
38      ENDDO
39    ENDDO
40  ENDDO
41
42  PRINT *," Diff surf",1-tot_sum/(4*Pi*radius*radius)
43
44 
45!  CALL WriteField("Ai",geom%Ai)
46!  CALL WriteField("sum_ne",sum_ne)
47 CALL timeloop
48 
49END PROGRAM ICOSA_SW 
Note: See TracBrowser for help on using the repository browser.