source: codes/icosagcm/trunk/src/icosa_gcm.f90 @ 20

Last change on this file since 20 was 19, checked in by ymipsl, 12 years ago

Simplify the management of the module.

YM

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