Changeset 202 for codes/icosagcm/trunk
- Timestamp:
- 07/09/14 00:25:57 (10 years ago)
- Location:
- codes/icosagcm/trunk/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/caldyn_gcm.f90
r195 r202 55 55 56 56 DO ind=1,ndomain 57 IF (.NOT. assigned_domain(ind)) CYCLE 57 58 CALL swap_dimensions(ind) 58 59 CALL swap_geometry(ind) -
codes/icosagcm/trunk/src/icosa_gcm.f90
r186 r202 12 12 USE xios_mod 13 13 USE write_field 14 USE getin_mod14 ! USE getin_mod 15 15 IMPLICIT NONE 16 16 17 TYPE(t_field),POINTER,SAVE :: sum_ne(:)18 TYPE(t_field),POINTER,SAVE :: sum_ne_glo(:)19 REAL(rstd),POINTER :: pt_sum_ne(:)20 21 INTEGER :: ind,i,j,k,n22 REAL(rstd) :: tot_sum=023 REAL(rstd) :: vect(3,6)24 REAL(rstd) :: centr(3),dist25 26 17 CALL init_mpipara 27 18 CALL trace_off … … 38 29 !$OMP PARALLEL 39 30 CALL compute_geometry 31 CALL check_total_area 40 32 41 33 CALL init_disvert 42 34 CALL init_vertical_interp 43 35 44 CALL allocate_field(sum_ne,field_T,type_real)45 46 !$OMP BARRIER47 !$OMP MASTER48 DO ind=1,ndomain49 50 pt_sum_ne=sum_ne(ind)51 52 CALL swap_dimensions(ind)53 CALL swap_geometry(ind)54 55 DO j=jj_begin,jj_end56 DO i=ii_begin,ii_end57 n=(j-1)*iim+i58 pt_sum_ne(n)=059 DO k=1,660 pt_sum_ne(n)=pt_sum_ne(n)+ne(n,k)61 ENDDO62 IF (domain(ind)%own(i,j)) tot_sum=tot_sum+Ai(n)63 ENDDO64 ENDDO65 ENDDO66 67 IF (is_mpi_root) PRINT *," Diff surf",1-tot_sum/(4*Pi*radius*radius)68 !$OMP END MASTER69 70 71 36 CALL WriteField("Ai",geom%Ai) 72 37 … … 76 41 CALL output_field_init 77 42 CALL init_timeloop 78 79 43 80 44 CALL timeloop 81 45 … … 86 50 CALL close_time_counter 87 51 CALL finalize_mpipara 52 53 CONTAINS 88 54 89 END PROGRAM ICOSA_gcm 55 SUBROUTINE check_total_area 56 IMPLICIT NONE 57 TYPE(t_field),POINTER,SAVE :: sum_ne(:) 58 TYPE(t_field),POINTER,SAVE :: sum_ne_glo(:) 59 REAL(rstd),POINTER :: pt_sum_ne(:) 60 61 INTEGER :: ind,i,j,k,n 62 REAL(rstd) :: vect(3,6) 63 REAL(rstd) :: centr(3),dist 64 REAL(rstd) :: tot_sum=0 65 CALL allocate_field(sum_ne,field_T,type_real) 66 67 !$OMP BARRIER 68 !$OMP MASTER 69 DO ind=1,ndomain 70 71 pt_sum_ne=sum_ne(ind) 72 73 CALL swap_dimensions(ind) 74 CALL swap_geometry(ind) 75 76 DO j=jj_begin,jj_end 77 DO i=ii_begin,ii_end 78 n=(j-1)*iim+i 79 pt_sum_ne(n)=0 80 DO k=1,6 81 pt_sum_ne(n)=pt_sum_ne(n)+ne(n,k) 82 ENDDO 83 IF (domain(ind)%own(i,j)) tot_sum=tot_sum+Ai(n) 84 ENDDO 85 ENDDO 86 ENDDO 87 88 IF (is_mpi_root) PRINT *," Diff surf",1-tot_sum/(4*Pi*radius*radius) 89 !$OMP END MASTER 90 91 END SUBROUTINE check_total_area 92 END PROGRAM ICOSA_gcm -
codes/icosagcm/trunk/src/timeloop_gcm.f90
r200 r202 232 232 !!$OMP BARRIER 233 233 DO ind=1,ndomain 234 IF (.NOT. assigned_domain(ind)) CYCLE 234 235 CALL swap_dimensions(ind) 235 236 CALL swap_geometry(ind)
Note: See TracChangeset
for help on using the changeset viewer.