Changeset 4109 for palm/trunk/SOURCE/bulk_cloud_model_mod.f90
- Timestamp:
- Jul 22, 2019 5:00:34 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/bulk_cloud_model_mod.f90
r4027 r4109 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Pass integer flag array as well as boundary flags to WS scalar advection 23 ! routine 23 24 ! 24 25 ! Former revisions: … … 249 250 250 251 USE control_parameters, & 251 ONLY: debug_output, & 252 ONLY: bc_dirichlet_l, & 253 bc_dirichlet_n, & 254 bc_dirichlet_r, & 255 bc_dirichlet_s, & 256 bc_radiation_l, & 257 bc_radiation_n, & 258 bc_radiation_r, & 259 bc_radiation_s, & 260 debug_output, & 252 261 dt_3d, dt_do2d_xy, intermediate_timestep_count, & 253 262 intermediate_timestep_count_max, large_scale_forcing, & … … 266 275 267 276 USE indices, & 268 ONLY: nbgp, nxl, nxlg, nxr, nxrg, nys, nysg, nyn, nyng, nzb, nzt, & 277 ONLY: advc_flags_s, & 278 nbgp, nxl, nxlg, nxr, nxrg, nys, nysg, nyn, nyng, nzb, nzt, & 269 279 wall_flags_0 270 280 … … 1483 1493 IF ( timestep_scheme(1:5) == 'runge' ) THEN 1484 1494 IF ( ws_scheme_sca ) THEN 1485 CALL advec_s_ws( qc, 'qc' ) 1495 CALL advec_s_ws( advc_flags_s, qc, 'qc', & 1496 bc_dirichlet_l .OR. bc_radiation_l, & 1497 bc_dirichlet_n .OR. bc_radiation_n, & 1498 bc_dirichlet_r .OR. bc_radiation_r, & 1499 bc_dirichlet_s .OR. bc_radiation_s ) 1486 1500 ELSE 1487 1501 CALL advec_s_pw( qc ) … … 1569 1583 IF ( timestep_scheme(1:5) == 'runge' ) THEN 1570 1584 IF ( ws_scheme_sca ) THEN 1571 CALL advec_s_ws( nc, 'nc' ) 1585 CALL advec_s_ws( advc_flags_s, nc, 'nc', & 1586 bc_dirichlet_l .OR. bc_radiation_l, & 1587 bc_dirichlet_n .OR. bc_radiation_n, & 1588 bc_dirichlet_r .OR. bc_radiation_r, & 1589 bc_dirichlet_s .OR. bc_radiation_s ) 1572 1590 ELSE 1573 1591 CALL advec_s_pw( nc ) … … 1662 1680 IF ( timestep_scheme(1:5) == 'runge' ) THEN 1663 1681 IF ( ws_scheme_sca ) THEN 1664 CALL advec_s_ws( qr, 'qr' ) 1682 CALL advec_s_ws( advc_flags_s, qr, 'qr', & 1683 bc_dirichlet_l .OR. bc_radiation_l, & 1684 bc_dirichlet_n .OR. bc_radiation_n, & 1685 bc_dirichlet_r .OR. bc_radiation_r, & 1686 bc_dirichlet_s .OR. bc_radiation_s ) 1665 1687 ELSE 1666 1688 CALL advec_s_pw( qr ) … … 1748 1770 IF ( timestep_scheme(1:5) == 'runge' ) THEN 1749 1771 IF ( ws_scheme_sca ) THEN 1750 CALL advec_s_ws( nr, 'nr' ) 1772 CALL advec_s_ws( advc_flags_s, nr, 'nr', & 1773 bc_dirichlet_l .OR. bc_radiation_l, & 1774 bc_dirichlet_n .OR. bc_radiation_n, & 1775 bc_dirichlet_r .OR. bc_radiation_r, & 1776 bc_dirichlet_s .OR. bc_radiation_s ) 1751 1777 ELSE 1752 1778 CALL advec_s_pw( nr ) … … 1842 1868 THEN 1843 1869 IF ( ws_scheme_sca ) THEN 1844 CALL advec_s_ws( i, j, qc, 'qc', flux_s_qc, & 1845 diss_s_qc, flux_l_qc, diss_l_qc, & 1846 i_omp_start, tn ) 1870 CALL advec_s_ws( advc_flags_s, i, j, qc, 'qc', flux_s_qc, & 1871 diss_s_qc, flux_l_qc, diss_l_qc, & 1872 i_omp_start, tn, & 1873 bc_dirichlet_l .OR. bc_radiation_l, & 1874 bc_dirichlet_n .OR. bc_radiation_n, & 1875 bc_dirichlet_r .OR. bc_radiation_r, & 1876 bc_dirichlet_s .OR. bc_radiation_s ) 1847 1877 ELSE 1848 1878 CALL advec_s_pw( i, j, qc ) … … 1897 1927 IF ( timestep_scheme(1:5) == 'runge' ) THEN 1898 1928 IF ( ws_scheme_sca ) THEN 1899 CALL advec_s_ws( i, j, nc, 'nc', flux_s_nc, & 1900 diss_s_nc, flux_l_nc, diss_l_nc, & 1901 i_omp_start, tn ) 1929 CALL advec_s_ws( advc_flags_s, i, j, nc, 'nc', flux_s_nc, & 1930 diss_s_nc, flux_l_nc, diss_l_nc, & 1931 i_omp_start, tn, & 1932 bc_dirichlet_l .OR. bc_radiation_l, & 1933 bc_dirichlet_n .OR. bc_radiation_n, & 1934 bc_dirichlet_r .OR. bc_radiation_r, & 1935 bc_dirichlet_s .OR. bc_radiation_s ) 1902 1936 ELSE 1903 1937 CALL advec_s_pw( i, j, nc ) … … 1958 1992 THEN 1959 1993 IF ( ws_scheme_sca ) THEN 1960 CALL advec_s_ws( i, j, qr, 'qr', flux_s_qr, & 1961 diss_s_qr, flux_l_qr, diss_l_qr, & 1962 i_omp_start, tn ) 1994 CALL advec_s_ws( advc_flags_s, i, j, qr, 'qr', flux_s_qr, & 1995 diss_s_qr, flux_l_qr, diss_l_qr, & 1996 i_omp_start, tn, & 1997 bc_dirichlet_l .OR. bc_radiation_l, & 1998 bc_dirichlet_n .OR. bc_radiation_n, & 1999 bc_dirichlet_r .OR. bc_radiation_r, & 2000 bc_dirichlet_s .OR. bc_radiation_s ) 1963 2001 ELSE 1964 2002 CALL advec_s_pw( i, j, qr ) … … 2013 2051 IF ( timestep_scheme(1:5) == 'runge' ) THEN 2014 2052 IF ( ws_scheme_sca ) THEN 2015 CALL advec_s_ws( i, j, nr, 'nr', flux_s_nr, & 2016 diss_s_nr, flux_l_nr, diss_l_nr, & 2017 i_omp_start, tn ) 2053 CALL advec_s_ws( advc_flags_s, i, j, nr, 'nr', flux_s_nr, & 2054 diss_s_nr, flux_l_nr, diss_l_nr, & 2055 i_omp_start, tn, & 2056 bc_dirichlet_l .OR. bc_radiation_l, & 2057 bc_dirichlet_n .OR. bc_radiation_n, & 2058 bc_dirichlet_r .OR. bc_radiation_r, & 2059 bc_dirichlet_s .OR. bc_radiation_s ) 2018 2060 ELSE 2019 2061 CALL advec_s_pw( i, j, nr )
Note: See TracChangeset
for help on using the changeset viewer.