Changeset 537 for codes/icosagcm/devel
- Timestamp:
- 05/30/17 21:33:09 (7 years ago)
- Location:
- codes/icosagcm/devel/src/dynamics
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/dynamics/caldyn_kernels_base.F90
r536 r537 35 35 36 36 INTEGER :: i,j,ij,l 37 REAL(rstd) :: Rd, p_ik, exner_ik, temp_ik, qv, chi, Rmix 37 REAL(rstd) :: Rd, p_ik, exner_ik, temp_ik, qv, chi, Rmix, gv 38 38 INTEGER :: ij_omp_begin_ext, ij_omp_end_ext 39 39 … … 47 47 48 48 Rd = kappa*cpp 49 50 #ifdef CPP_DYSL 51 #include "../kernels/compute_geopot.k90" 52 #else 49 53 50 54 ! Pressure is computed first top-down (temporarily stored in pk) … … 158 162 END IF 159 163 164 #endif 165 160 166 !ym flush geopot 161 167 !$OMP BARRIER -
codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90
r536 r537 638 638 REAL(rstd),INTENT(INOUT) :: du(3*iim*jjm,llm) 639 639 640 REAL(rstd) :: berni(iim*jjm ) ! Bernoulli function641 REAL(rstd) :: uu_right, uu_lup, uu_ldown 640 REAL(rstd) :: berni(iim*jjm,llm) ! Bernoulli function 641 REAL(rstd) :: uu_right, uu_lup, uu_ldown, ke, uu 642 642 INTEGER :: ij,l 643 643 644 644 CALL trace_start("compute_caldyn_slow_hydro") 645 646 #ifdef CPP_DYSL 647 #define BERNI(ij,l) berni(ij,l) 648 #include "../kernels/caldyn_slow_hydro.k90" 649 #else 650 #define BERNI(ij) berni(ij,1) 645 651 646 652 DO l = ll_begin, ll_end … … 662 668 !DIR$ SIMD 663 669 DO ij=ij_begin,ij_end 664 berni(ij) = &670 BERNI(ij) = & 665 671 1/(4*Ai(ij))*(le_de(ij+u_right)*u(ij+u_right,l)**2 + & 666 672 le_de(ij+u_rup)*u(ij+u_rup,l)**2 + & … … 674 680 !DIR$ SIMD 675 681 DO ij=ij_begin,ij_end 676 du(ij+u_right,l) = ne_right*( berni(ij)-berni(ij+t_right))677 du(ij+u_lup,l) = ne_lup*( berni(ij)-berni(ij+t_lup))678 du(ij+u_ldown,l) = ne_ldown*( berni(ij)-berni(ij+t_ldown))682 du(ij+u_right,l) = ne_right*(BERNI(ij)-BERNI(ij+t_right)) 683 du(ij+u_lup,l) = ne_lup*(BERNI(ij)-BERNI(ij+t_lup)) 684 du(ij+u_ldown,l) = ne_ldown*(BERNI(ij)-BERNI(ij+t_ldown)) 679 685 END DO 680 686 ELSE … … 682 688 DO ij=ij_begin,ij_end 683 689 du(ij+u_right,l) = du(ij+u_right,l) + & 684 ne_right*( berni(ij)-berni(ij+t_right))690 ne_right*(BERNI(ij)-BERNI(ij+t_right)) 685 691 du(ij+u_lup,l) = du(ij+u_lup,l) + & 686 ne_lup*( berni(ij)-berni(ij+t_lup))692 ne_lup*(BERNI(ij)-BERNI(ij+t_lup)) 687 693 du(ij+u_ldown,l) = du(ij+u_ldown,l) + & 688 ne_ldown*( berni(ij)-berni(ij+t_ldown))694 ne_ldown*(BERNI(ij)-BERNI(ij+t_ldown)) 689 695 END DO 690 696 END IF 691 697 END DO 698 #endif 699 #undef BERNI 692 700 CALL trace_end("compute_caldyn_slow_hydro") 693 701 END SUBROUTINE compute_caldyn_slow_hydro
Note: See TracChangeset
for help on using the changeset viewer.