Changeset 2292 for palm/trunk/SOURCE/surface_layer_fluxes_mod.f90
- Timestamp:
- Jun 20, 2017 9:51:42 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/surface_layer_fluxes_mod.f90
r2281 r2292 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Implementation of new microphysic scheme: cloud_scheme = 'morrison' 28 ! includes two more prognostic equations for cloud drop concentration (nc) 29 ! and cloud water content (qc). 30 ! 31 ! 2281 2017-06-13 11:34:50Z suehring 27 32 ! Clean-up unnecessary index access to surface type 28 33 ! … … 178 183 179 184 USE arrays_3d, & 180 ONLY: e, kh, n r, pt, q, ql, qr, s, u, v, vpt, w, zu, zw, drho_air_zw,&181 rho_air_zw185 ONLY: e, kh, nc, nr, pt, q, ql, qc, qr, s, u, v, vpt, w, zu, zw, & 186 drho_air_zw, rho_air_zw 182 187 183 188 USE cloud_parameters, & … … 195 200 intermediate_timestep_count, intermediate_timestep_count_max, & 196 201 land_surface, large_scale_forcing, lsf_surf, & 197 message_string, microphysics_ seifert, most_method, neutral,&198 passive_scalar, pt_surface, q_surface, run_coupled,&199 surface_pressure, simulated_time, terminate_run,&202 message_string, microphysics_morrison, microphysics_seifert, & 203 most_method, neutral, passive_scalar, pt_surface, q_surface, & 204 run_coupled, surface_pressure, simulated_time, terminate_run, & 200 205 urban_surface, zeta_max, zeta_min 201 206 … … 1526 1531 1527 1532 ! 1528 !-- Calculate the other MOST scaling parameters theta*, q*, (q r*, nr*)1533 !-- Calculate the other MOST scaling parameters theta*, q*, (qc*, qr*, nc*, nr*) 1529 1534 SUBROUTINE calc_scaling_parameters 1530 1535 … … 1749 1754 ENDIF 1750 1755 1756 ! 1757 !-- If required compute qc* and nc* 1758 IF ( cloud_physics .AND. microphysics_morrison .AND. & 1759 .NOT. surf_vertical ) THEN 1760 !$OMP PARALLEL DO PRIVATE( i, j, k, z_mo ) 1761 DO m = 1, surf%ns 1762 1763 i = surf%i(m) 1764 j = surf%j(m) 1765 k = surf%k(m) 1766 1767 z_mo = surf%z_mo(m) 1768 1769 surf%qcs(m) = kappa * ( qc(k,j,i) - qc(k-1,j,i) ) & 1770 / ( LOG( z_mo / surf%z0q(m) ) & 1771 - psi_h( z_mo / surf%ol(m) ) & 1772 + psi_h( surf%z0q(m) / surf%ol(m) ) ) 1773 1774 surf%ncs(m) = kappa * ( nc(k,j,i) - nc(k-1,j,i) ) & 1775 / ( LOG( z_mo / surf%z0q(m) ) & 1776 - psi_h( z_mo / surf%ol(m) ) & 1777 + psi_h( surf%z0q(m) / surf%ol(m) ) ) 1778 ENDDO 1779 1780 ENDIF 1751 1781 1752 1782 ! … … 1781 1811 1782 1812 ! 1783 !-- Calculate surface fluxes usws, vsws, shf, qsws, (q rsws, nrsws)1813 !-- Calculate surface fluxes usws, vsws, shf, qsws, (qcsws, qrsws, ncsws, nrsws) 1784 1814 SUBROUTINE calc_surface_fluxes 1785 1815 … … 1927 1957 1928 1958 ENDDO 1929 ENDIF 1959 ENDIF 1960 ! 1961 !-- Compute (turbulent) fluxes of cloud water content and cloud drop conc. 1962 IF ( cloud_physics .AND. microphysics_morrison .AND. & 1963 .NOT. downward) THEN 1964 !$OMP PARALLEL DO PRIVATE( i, j ) 1965 DO m = 1, surf%ns 1966 1967 i = surf%i(m) 1968 j = surf%j(m) 1969 1970 surf%qcsws(m) = -surf%qcs(m) * surf%us(m) 1971 surf%ncsws(m) = -surf%ncs(m) * surf%us(m) 1972 ENDDO 1973 ENDIF 1930 1974 ! 1931 1975 !-- Compute (turbulent) fluxes of rain water content and rain drop conc. 1932 IF ( cloud_physics .AND. microphysics_seifert .AND. &1976 IF ( cloud_physics .AND. microphysics_seifert .AND. & 1933 1977 .NOT. downward) THEN 1934 1978 !$OMP PARALLEL DO PRIVATE( i, j )
Note: See TracChangeset
for help on using the changeset viewer.