Changeset 724 for codes/icosagcm/devel/src/kernels_hex/compute_geopot.k90
- Timestamp:
- 08/09/18 13:55:51 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/kernels_hex/compute_geopot.k90
r563 r724 4 4 CASE(thermo_boussinesq) 5 5 ! use hydrostatic balance with theta*rhodz to find pk (=Lagrange multiplier=pressure) 6 !DIR$ SIMD 6 7 DO ij=ij_omp_begin_ext,ij_omp_end_ext 7 8 pk(ij,llm) = ptop + .5*g* theta(ij,llm,1)*rhodz(ij,llm) 8 9 END DO 9 10 DO l = llm-1,1,-1 11 !DIR$ SIMD 10 12 DO ij=ij_omp_begin_ext,ij_omp_end_ext 11 13 pk(ij,l) = pk(ij,l+1) + (.5*g)*( theta(ij,l,1)*rhodz(ij,l) + theta(ij,l+1,1)*rhodz(ij,l+1) ) … … 13 15 END DO 14 16 IF(caldyn_eta == eta_lag) THEN 17 !DIR$ SIMD 15 18 DO ij=ij_omp_begin_ext,ij_omp_end_ext 16 19 ps(ij) = pk(ij,1) + .5*g* theta(ij,1,1)*rhodz(ij,1) … … 20 23 ! specific volume 1 = dphi/g/rhodz 21 24 DO l = 1,llm 25 !DIR$ SIMD 22 26 DO ij=ij_omp_begin_ext,ij_omp_end_ext 23 27 geopot(ij,l+1) = geopot(ij,l) + g*rhodz(ij,l) … … 25 29 END DO 26 30 CASE(thermo_theta) 31 !DIR$ SIMD 27 32 DO ij=ij_omp_begin_ext,ij_omp_end_ext 28 33 pk(ij,llm) = ptop + .5*g* rhodz(ij,llm) 29 34 END DO 30 35 DO l = llm-1,1,-1 36 !DIR$ SIMD 31 37 DO ij=ij_omp_begin_ext,ij_omp_end_ext 32 38 pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l) + rhodz(ij,l+1) ) … … 34 40 END DO 35 41 IF(caldyn_eta == eta_lag) THEN 42 !DIR$ SIMD 36 43 DO ij=ij_omp_begin_ext,ij_omp_end_ext 37 44 ps(ij) = pk(ij,1) + .5*g* rhodz(ij,1) … … 39 46 END IF 40 47 DO l = 1,llm 48 !DIR$ SIMD 41 49 DO ij=ij_omp_begin_ext,ij_omp_end_ext 42 50 p_ik = pk(ij,l) … … 48 56 END DO 49 57 CASE(thermo_entropy) 58 !DIR$ SIMD 50 59 DO ij=ij_omp_begin_ext,ij_omp_end_ext 51 60 pk(ij,llm) = ptop + .5*g* rhodz(ij,llm) 52 61 END DO 53 62 DO l = llm-1,1,-1 63 !DIR$ SIMD 54 64 DO ij=ij_omp_begin_ext,ij_omp_end_ext 55 65 pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l) + rhodz(ij,l+1) ) … … 57 67 END DO 58 68 IF(caldyn_eta == eta_lag) THEN 69 !DIR$ SIMD 59 70 DO ij=ij_omp_begin_ext,ij_omp_end_ext 60 71 ps(ij) = pk(ij,1) + .5*g* rhodz(ij,1) … … 62 73 END IF 63 74 DO l = 1,llm 75 !DIR$ SIMD 64 76 DO ij=ij_omp_begin_ext,ij_omp_end_ext 65 77 p_ik = pk(ij,l) … … 71 83 END DO 72 84 CASE(thermo_moist) 85 !DIR$ SIMD 73 86 DO ij=ij_omp_begin_ext,ij_omp_end_ext 74 87 pk(ij,llm) = ptop + .5*g* rhodz(ij,llm)*(1.+theta(ij,llm,2)) 75 88 END DO 76 89 DO l = llm-1,1,-1 90 !DIR$ SIMD 77 91 DO ij=ij_omp_begin_ext,ij_omp_end_ext 78 92 pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l)*(1.+theta(ij,l,2)) + rhodz(ij,l+1)*(1.+theta(ij,l+1,2)) ) … … 80 94 END DO 81 95 IF(caldyn_eta == eta_lag) THEN 96 !DIR$ SIMD 82 97 DO ij=ij_omp_begin_ext,ij_omp_end_ext 83 98 ps(ij) = pk(ij,1) + .5*g* rhodz(ij,1)*(1.+theta(ij,1,2)) … … 85 100 END IF 86 101 DO l = 1,llm 102 !DIR$ SIMD 87 103 DO ij=ij_omp_begin_ext,ij_omp_end_ext 88 104 p_ik = pk(ij,l)
Note: See TracChangeset
for help on using the changeset viewer.