Changeset 558 for codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90
- Timestamp:
- 09/21/17 18:18:47 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90
r539 r558 125 125 126 126 #ifdef CPP_DYSL 127 !#if 0128 127 #include "../kernels/compute_NH_geopot.k90" 129 128 #else 130 131 129 ! FIXME : vertical OpenMP parallelism will not work 132 130 … … 266 264 END SUBROUTINE compute_NH_geopot 267 265 268 SUBROUTINE compute_caldyn_solver(tau,rhodz,theta,pk, geopot,W, dPhi,dW,du)266 SUBROUTINE compute_caldyn_solver(tau,rhodz,theta,pk, geopot,W, m_il,pres, dPhi,dW,du) 269 267 REAL(rstd),INTENT(IN) :: tau ! "solve" Phi-tau*dPhi/dt = Phi_rhs 270 268 REAL(rstd),INTENT(IN) :: rhodz(iim*jjm,llm) … … 273 271 REAL(rstd),INTENT(INOUT) :: geopot(iim*jjm,llm+1) 274 272 REAL(rstd),INTENT(INOUT) :: W(iim*jjm,llm+1) ! OUT if tau>0 273 REAL(rstd),INTENT(OUT) :: m_il(iim*jjm,llm+1) ! rhodz averaged to interfaces 274 REAL(rstd),INTENT(OUT) :: pres(iim*jjm,llm) ! pressure 275 275 REAL(rstd),INTENT(OUT) :: dW(iim*jjm,llm+1) 276 276 REAL(rstd),INTENT(OUT) :: dPhi(iim*jjm,llm+1) 277 277 REAL(rstd),INTENT(OUT) :: du(3*iim*jjm,llm) 278 278 279 REAL(rstd) :: m_il(iim*jjm,llm+1) ! rhodz averaged to interfaces 280 REAL(rstd) :: pres(iim*jjm,llm) ! pressure 281 REAL(rstd) :: berni(iim*jjm,llm) ! (W/m_il)^2 279 REAL(rstd) :: berni(iim*jjm,llm) ! (W/m_il)^2 282 280 REAL(rstd) :: gamma, rho_ij, T_ij, X_ij, Y_ij, vreff, Rd, Cvd 283 281 INTEGER :: ij, l … … 288 286 289 287 #ifdef CPP_DYSL 290 ! #if 0288 !$OMP BARRIER 291 289 #include "../kernels/caldyn_solver.k90" 290 !$OMP BARRIER 292 291 #else 293 292 #define BERNI(ij) berni(ij,1) … … 517 516 518 517 #ifdef CPP_DYSL 519 !#if 0520 518 #include "../kernels/coriolis.k90" 521 519 #else … … 675 673 676 674 #ifdef CPP_DYSL 677 !#if 0678 675 #define BERNI(ij,l) berni(ij,l) 679 676 #include "../kernels/caldyn_slow_hydro.k90" … … 733 730 END SUBROUTINE compute_caldyn_slow_hydro 734 731 735 SUBROUTINE compute_caldyn_slow_NH(u,rhodz,Phi,W, hflux,du,dPhi,dW)732 SUBROUTINE compute_caldyn_slow_NH(u,rhodz,Phi,W, F_el,gradPhi2,w_il, hflux,du,dPhi,dW) 736 733 REAL(rstd),INTENT(IN) :: u(3*iim*jjm,llm) ! prognostic "velocity" 737 734 REAL(rstd),INTENT(IN) :: rhodz(iim*jjm,llm) ! rho*dz … … 744 741 REAL(rstd),INTENT(OUT) :: dPhi(iim*jjm,llm+1) 745 742 746 REAL(rstd) :: w_il( 3*iim*jjm,llm+1) ! Wil/mil743 REAL(rstd) :: w_il(iim*jjm,llm+1) ! Wil/mil 747 744 REAL(rstd) :: F_el(3*iim*jjm,llm+1) ! NH mass flux 748 REAL(rstd) :: GradPhi2(3*iim*jjm,llm+1) ! grad_Phi**2745 REAL(rstd) :: gradPhi2(iim*jjm,llm+1) ! grad_Phi**2 749 746 REAL(rstd) :: DePhil(3*iim*jjm,llm+1) ! grad(Phi) 750 747 … … 765 762 766 763 #ifdef CPP_DYSL 764 !$OMP BARRIER 767 765 #include "../kernels/caldyn_slow_NH.k90" 766 !$OMP BARRIER 768 767 #else 769 768 DO l=ll_begin, ll_endp1 ! compute on l levels (interfaces)
Note: See TracChangeset
for help on using the changeset viewer.