Changeset 624 for codes/icosagcm/devel/src/dynamics/caldyn_kernels_base.F90
- Timestamp:
- 12/08/17 15:08:49 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/dynamics/caldyn_kernels_base.F90
r612 r624 180 180 REAL(rstd),INTENT(INOUT) :: dtheta_rhodz(iim*jjm,llm,nqdyn) 181 181 REAL(rstd),INTENT(OUT) :: dps(iim*jjm) 182 INTEGER, PARAMETER :: caldyn_vert_cons=1, caldyn_vert_variant=caldyn_vert_cons 182 183 183 184 ! temporary variable 184 185 INTEGER :: i,j,ij,l,iq 185 REAL(rstd) :: p_ik, exner_ik 186 REAL(rstd) :: p_ik, exner_ik, dF_deta, dFu_deta 186 187 INTEGER :: ij_omp_begin, ij_omp_end 187 188 … … 190 191 CALL distrib_level(ij_begin,ij_end, ij_omp_begin,ij_omp_end) 191 192 192 ! REAL(rstd) :: wwuu(iim*3*jjm,llm+1) ! tmp var, don't know why but gain 30% on the whole code in opemp 193 ! need to be understood 194 195 ! wwuu=wwuu_out 196 CALL trace_start("compute_caldyn_vert") 193 IF(dysl_caldyn_vert) THEN 194 #define mass_bl(ij,l) bp(ij) 195 #define dmass_col(ij) dps(ij) 196 #include "../kernels_hex/caldyn_wflux.k90" 197 #include "../kernels_hex/caldyn_vert.k90" 198 #undef mass_bl 199 #undef dmass_col 200 ELSE 197 201 198 202 !$OMP BARRIER 199 203 !!! cumulate mass flux convergence from top to bottom 200 ! IF (is_omp_level_master) THEN201 204 DO l = llm-1, 1, -1 202 ! IF (caldyn_conserv==energy) CALL test_message(req_qu)203 204 !!$OMP DO SCHEDULE(STATIC)205 205 !DIR$ SIMD 206 206 DO ij=ij_omp_begin,ij_omp_end … … 212 212 !$OMP BARRIER 213 213 ! FLUSH on convm 214 !!!!!!!!!!!!!!!!!!!!!!!!! 215 216 ! compute dps 214 ! compute dmass_col 217 215 IF (is_omp_first_level) THEN 218 216 !DIR$ SIMD … … 277 275 ENDDO 278 276 279 ! DO l=ll_beginp1,ll_end 280 !!DIR$ SIMD 281 ! DO ij=ij_begin,ij_end 282 ! wwuu_out(ij+u_right,l) = wwuu(ij+u_right,l) 283 ! wwuu_out(ij+u_lup,l) = wwuu(ij+u_lup,l) 284 ! wwuu_out(ij+u_ldown,l) = wwuu(ij+u_ldown,l) 285 ! ENDDO 286 ! ENDDO 277 END IF ! dysl 287 278 288 279 CALL trace_end("compute_caldyn_vert")
Note: See TracChangeset
for help on using the changeset viewer.