Changeset 831
- Timestamp:
- 05/02/19 12:19:02 (5 years ago)
- Location:
- codes/icosagcm/devel/src/dynamics
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90
r827 r831 5 5 USE caldyn_kernels_hevi_mod 6 6 USE caldyn_kernels_base_mod 7 USE compute_theta_mod, ONLY : compute_theta 7 8 IMPLICIT NONE 8 9 PRIVATE -
codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90
r827 r831 13 13 LOGICAL, SAVE :: debug_hevi_solver = .FALSE. 14 14 15 PUBLIC :: compute_ theta, compute_caldyn_Kv, compute_caldyn_Coriolis, &15 PUBLIC :: compute_caldyn_Kv, compute_caldyn_Coriolis, & 16 16 compute_caldyn_slow_hydro, compute_caldyn_slow_NH, & 17 17 compute_caldyn_solver, compute_caldyn_fast 18 18 19 19 CONTAINS 20 21 SUBROUTINE compute_theta(ps,theta_rhodz, rhodz,theta)22 REAL(rstd),INTENT(IN) :: ps(iim*jjm)23 REAL(rstd),INTENT(IN) :: theta_rhodz(iim*jjm,llm,nqdyn)24 REAL(rstd),INTENT(INOUT) :: rhodz(iim*jjm,llm)25 REAL(rstd),INTENT(OUT) :: theta(iim*jjm,llm,nqdyn)26 INTEGER :: ij,l,iq27 REAL(rstd) :: m28 CALL trace_start("compute_theta")29 30 IF(caldyn_eta==eta_mass) THEN ! Compute mass31 DO l = ll_begin,ll_end32 !DIR$ SIMD33 DO ij=ij_begin_ext,ij_end_ext34 m = mass_dak(l)+(ps(ij)*g+ptop)*mass_dbk(l) ! ps is actually Ms35 rhodz(ij,l) = m/g36 END DO37 END DO38 END IF39 40 DO l = ll_begin,ll_end41 DO iq=1,nqdyn42 !DIR$ SIMD43 DO ij=ij_begin_ext,ij_end_ext44 theta(ij,l,iq) = theta_rhodz(ij,l,iq)/rhodz(ij,l)45 END DO46 END DO47 END DO48 49 CALL trace_end("compute_theta")50 END SUBROUTINE compute_theta51 20 52 21 SUBROUTINE compute_caldyn_kv(ue, Kv)
Note: See TracChangeset
for help on using the changeset viewer.