Changeset 186 for codes/icosagcm/trunk/src/check_conserve.f90
- Timestamp:
- 01/09/14 09:56:11 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/check_conserve.f90
r172 r186 10 10 PUBLIC init_check_conserve, check_conserve 11 11 REAL(rstd),SAVE:: mtot0,ztot0,etot0,ang0,stot0,rmsv0 12 !$OMP THREADPRIVATE(mtot0,ztot0,etot0,ang0,stot0,rmsv0) 12 13 REAL(rstd),SAVE:: etot,ang,stot,rmsv 14 !$OMP THREADPRIVATE(etot,ang,stot,rmsv) 13 15 REAL(rstd),SAVE:: ztot 14 16 !$OMP THREADPRIVATE(ztot) 15 17 16 18 CONTAINS … … 53 55 54 56 DO ind=1,ndomain 57 IF (.NOT. assigned_domain(ind)) CYCLE 55 58 CALL swap_dimensions(ind) 56 59 CALL swap_geometry(ind) … … 67 70 68 71 IF (is_mpi_root) THEN 69 72 !$OMP MASTER 70 73 IF ( it == 0 ) Then 71 74 ztot0 = ztot … … 87 90 WRITE(*,4000)mtot,rmsdpdt,etot,ztot,stot,rmsv,ang 88 91 89 4000 FORMAT(10x,'masse', 4x,'rmsdpdt',7x,'energie',2x,'enstrophie' &90 , 2x,'entropie',3x,'rmsv',4x,'mt.ang',/,'GLOB ' &92 4000 FORMAT(10x,'masse',5x,'rmsdpdt',5x,'energie',5x,'enstrophie' & 93 ,5x,'entropie',5x,'rmsv',5x,'mt.ang',/,'GLOB ' & 91 94 ,e10.3,e13.6,5e10.3/) 92 close(134) 95 close(134) 96 !$OMP END MASTER 93 97 END IF 94 98 END SUBROUTINE check_conserve … … 99 103 USE mpi_mod 100 104 USE mpipara 105 USE transfert_omp_mod 101 106 USE icosa 102 107 IMPLICIT NONE … … 108 113 INTEGER :: ind,i,j,ij 109 114 REAL :: mloc, rmsloc 115 REAL :: mloc_mpi, rmsloc_mpi 110 116 111 117 mloc=0.0; rmsloc=0.0 112 118 DO ind=1,ndomain 119 IF (.NOT. assigned_domain(ind)) CYCLE 113 120 CALL swap_dimensions(ind) 114 121 CALL swap_geometry(ind) … … 127 134 128 135 IF (using_mpi) THEN 129 CALL MPI_REDUCE(mloc, mtot, 1, MPI_REAL8, MPI_SUM, 0, comm_icosa, ierr) 130 CALL MPI_REDUCE(rmsloc, rmsdpdt, 1, MPI_REAL8, MPI_SUM, 0, comm_icosa, ierr) 136 CALL reduce_sum_omp(mloc, mloc_mpi) 137 CALL reduce_sum_omp(rmsloc, rmsloc_mpi) 138 !$OMP MASTER 139 CALL MPI_REDUCE(mloc_mpi, mtot, 1, MPI_REAL8, MPI_SUM, 0, comm_icosa, ierr) 140 CALL MPI_REDUCE(rmsloc_mpi, rmsdpdt, 1, MPI_REAL8, MPI_SUM, 0, comm_icosa, ierr) 141 !$OMP END MASTER 142 ELSE 143 131 144 ENDIF 132 145 … … 153 166 154 167 DO ind=1,ndomain 168 IF (.NOT. assigned_domain(ind)) CYCLE 155 169 CALL swap_dimensions(ind) 156 170 CALL swap_geometry(ind) … … 260 274 261 275 DO ind=1,ndomain 276 IF (.NOT. assigned_domain(ind)) CYCLE 262 277 CALL swap_dimensions(ind) 263 278 CALL swap_geometry(ind)
Note: See TracChangeset
for help on using the changeset viewer.