Changeset 2037 for palm/trunk/SOURCE/surface_layer_fluxes_mod.f90
- Timestamp:
- Oct 26, 2016 11:15:40 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/surface_layer_fluxes_mod.f90
r2012 r2037 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Anelastic approximation implemented 23 23 ! 24 24 ! Former revisions: … … 158 158 ONLY: e, kh, nr, nrs, nrsws, ol, pt, q, ql, qr, qrs, qrsws, qs, qsws, & 159 159 s, shf, ss, ssws, ts, u, us, usws, v, vpt, vsws, zu, zw, z0, & 160 z0h, z0q 160 z0h, z0q, drho_air_zw, rho_air_zw 161 161 162 162 USE cloud_parameters, & … … 540 540 rib(j,i) = - g * z_mo * ( ( 1.0_wp + 0.61_wp & 541 541 * q(k+1,j,i) ) * shf(j,i) + 0.61_wp & 542 * pt(k+1,j,i) * qsws(j,i) ) &542 * pt(k+1,j,i) * qsws(j,i) ) * drho_air_zw(k) & 543 543 / ( uv_total(j,i)**3 * vpt(k+1,j,i) * kappa**2& 544 544 + 1.0E-20_wp) 545 545 ELSE 546 rib(j,i) = - g * z_mo * shf(j,i) 546 rib(j,i) = - g * z_mo * shf(j,i) * drho_air_zw(k) & 547 547 / ( uv_total(j,i)**3 * pt(k+1,j,i) * kappa**2 & 548 548 + 1.0E-20_wp ) … … 828 828 !-- For a given heat flux in the surface layer: 829 829 !$OMP PARALLEL DO 830 !$acc kernels loop private( j )830 !$acc kernels loop private( j, k ) 831 831 DO i = nxlg, nxrg 832 832 DO j = nysg, nyng 833 ts(j,i) = -shf(j,i) / ( us(j,i) + 1E-30_wp ) 833 k = nzb_s_inner(j,i) 834 ts(j,i) = -shf(j,i) * drho_air_zw(k) / ( us(j,i) + 1E-30_wp ) 834 835 ! 835 836 !-- ts must be limited, because otherwise overflow may occur in case … … 888 889 DO i = nxlg, nxrg 889 890 DO j = nysg, nyng 890 qs(j,i) = -qsws(j,i) / ( us(j,i) + 1E-30_wp ) 891 k = nzb_s_inner(j,i) 892 qs(j,i) = -qsws(j,i) * drho_air_zw(k) / ( us(j,i) + 1E-30_wp ) 891 893 ENDDO 892 894 ENDDO … … 1025 1027 + psi_m( z0(j,i) / ol_mid ) ) 1026 1028 1027 usws(j,i) = -usws(j,i) * 0.5_wp * ( us(j,i-1) + us(j,i) ) 1029 usws(j,i) = -usws(j,i) * 0.5_wp * ( us(j,i-1) + us(j,i) ) & 1030 * rho_air_zw(k) 1028 1031 ENDDO 1029 1032 ENDDO … … 1052 1055 + psi_m( z0(j,i) / ol_mid ) ) 1053 1056 1054 vsws(j,i) = -vsws(j,i) * 0.5_wp * ( us(j,i-1) + us(j,i) ) 1057 vsws(j,i) = -vsws(j,i) * 0.5_wp * ( us(j,i-1) + us(j,i) ) & 1058 * rho_air_zw(k) 1055 1059 1056 1060 ENDDO … … 1074 1078 !$acc loop independent 1075 1079 DO j = nysg, nyng 1076 shf(j,i) = -ts(j,i) * us(j,i) 1080 k = nzb_s_inner(j,i) 1081 shf(j,i) = -ts(j,i) * us(j,i) * rho_air_zw(k) 1077 1082 ENDDO 1078 1083 ENDDO … … 1090 1095 !$acc loop independent 1091 1096 DO j = nysg, nyng 1092 qsws(j,i) = -qs(j,i) * us(j,i) 1097 k = nzb_s_inner(j,i) 1098 qsws(j,i) = -qs(j,i) * us(j,i) * rho_air_zw(k) 1093 1099 ENDDO 1094 1100 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.