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

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

write file apbp.nc parameters for vertical discretisation

YM

File size: 1.7 KB
RevLine 
[12]1PROGRAM ICOSA_GCM
[19]2  USE icosa
[12]3  USE timeloop_gcm_mod
4  USE disvert_mod
5  USE etat0_mod
[15]6  USE wind_mod
[26]7  USE mpipara
[12]8  IMPLICIT NONE
9 
10  TYPE(t_field),POINTER :: sum_ne(:)
[26]11  TYPE(t_field),POINTER :: sum_ne_glo(:)
[12]12  REAL(rstd),POINTER :: pt_sum_ne(:)
13 
14  INTEGER :: ind,i,j,k,n
15  REAL(rstd) :: tot_sum=0
[15]16  REAL(rstd) :: vect(3,6)
17  REAL(rstd) :: centr(3),dist
[12]18 
[26]19  CALL init_mpipara
[32]20  CALL init_earth_const 
[15]21  CALL init_grid_param
[12]22  CALL compute_metric
23  CALL compute_domain
[15]24  CALL init_transfert
[26]25!  CALL allocate_field(sum_ne,field_T,type_real)
26!  CALL allocate_field_glo(sum_ne_glo,field_T,type_real)
27
28! DO ind=1,ndomain
29!   CALL swap_dimensions(ind)
30!   pt_sum_ne=sum_ne(ind)
31!   DO j=jj_begin,jj_end
32!     DO i=ii_begin,ii_end   
33!       n=(j-1)*iim+i
34!       pt_sum_ne(n)=domloc_glo_ind(ind)
35!     ENDDO
36!   ENDDO
37! ENDDO
38
39! CALL WriteField("domain",sum_ne)
40! CALL WriteField_mpi("domain",sum_ne)
41! CALL transfert_request(sum_ne,req_i1)
42! CALL WriteField_mpi("domain",sum_ne)
43! CALL close_files
44! CALL finalize_mpipara
45! STOP
46 
[12]47  CALL compute_geometry
48  CALL init_disvert 
49 
50  CALL allocate_field(sum_ne,field_T,type_real)
51 
52
53  DO ind=1,ndomain
54     
55    pt_sum_ne=sum_ne(ind)
56     
57    CALL swap_dimensions(ind)
58    CALL swap_geometry(ind)
59   
60    DO j=jj_begin,jj_end
61      DO i=ii_begin,ii_end
62        n=(j-1)*iim+i
63        pt_sum_ne(n)=0
64        DO k=1,6
65          pt_sum_ne(n)=pt_sum_ne(n)+ne(n,k)
66        ENDDO
67        IF (domain(ind)%own(i,j)) tot_sum=tot_sum+Ai(n)
68      ENDDO
69    ENDDO
70  ENDDO
71
72
73 
74  PRINT *," Diff surf",1-tot_sum/(4*Pi*radius*radius)
75
76 
[15]77  CALL WriteField("Ai",geom%Ai)
[12]78!  CALL WriteField("sum_ne",sum_ne)
[75]79  CALL write_apbp
[12]80  CALL timeloop
[26]81
82  CALL close_files
83  CALL finalize_mpipara
[12]84 
85END PROGRAM ICOSA_gcm 
Note: See TracBrowser for help on using the repository browser.