Changeset 3182 for palm/trunk/SOURCE/pmc_interface_mod.f90
- Timestamp:
- Jul 27, 2018 1:36:03 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/pmc_interface_mod.f90
r3083 r3182 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Variable names for nest_bound_x replaced by bc_dirichlet_x. 23 ! Remove commented prints into debug files. 23 24 ! 24 25 ! Former revisions: … … 306 307 USE arrays_3d, & 307 308 ONLY: diss, diss_2, dzu, dzw, e, e_p, e_2, nc, nc_2, nc_p, nr, nr_2, & 308 pt, pt_2, q, q_2, qc, qc_2, qr, qr_2, s, s_2, 309 pt, pt_2, q, q_2, qc, qc_2, qr, qr_2, s, s_2, & 309 310 u, u_p, u_2, v, v_p, v_2, w, w_p, w_2, zu, zw 310 311 #endif 311 312 312 313 USE control_parameters, & 313 ONLY: air_chemistry, cloud_physics, & 314 ONLY: air_chemistry, bc_dirichlet_l, bc_dirichlet_n, bc_dirichlet_r, & 315 bc_dirichlet_s, cloud_physics, child_domain, & 314 316 constant_diffusion, constant_flux_layer, & 315 317 coupling_char, dt_3d, dz, humidity, message_string, & 316 318 microphysics_morrison, microphysics_seifert, & 317 nest_bound_l, nest_bound_r, nest_bound_s, nest_bound_n, & 318 nest_domain, neutral, passive_scalar, rans_mode, rans_tke_e, & 319 neutral, passive_scalar, rans_mode, rans_tke_e, & 319 320 roughness_length, simulated_time, topography, volume_flow 320 321 … … 743 744 !-- course the root domain (cpl_id = 1) is not nested) 744 745 IF ( cpl_id >= 2 ) THEN 745 nest_domain = .TRUE.746 child_domain = .TRUE. 746 747 WRITE( coupling_char, '(A2,I2.2)') '_N', cpl_id 747 748 ENDIF … … 1192 1193 childgrid(m)%uz_coord = zmax_coarse(2) 1193 1194 childgrid(m)%uz_coord_b = zmax_coarse(1) 1194 1195 ! WRITE(9,*) 'edge coordinates for child id ',child_id,m1196 ! WRITE(9,*) 'Number of Boundray cells lpm ',nbgp_lpm1197 ! WRITE(9,'(a,3i7,2f10.2)') ' model size ', nx_cl, ny_cl, nz_cl, dx_cl, dy_cl1198 ! WRITE(9,'(a,5f10.2)') ' model edge ', childgrid(m)%lx_coord, &1199 ! childgrid(m)%rx_coord, childgrid(m)%sy_coord, &1200 ! childgrid(m)%ny_coord,childgrid(m)%uz_coord1201 ! WRITE(9,'(a,4f10.2)') ' model edge with Boundary ', childgrid(m)%lx_coord_b,&1202 ! childgrid(m)%rx_coord_b, childgrid(m)%sy_coord_b, &1203 ! childgrid(m)%ny_coord_b1204 1195 1205 1196 END SUBROUTINE set_child_edge_coords … … 1714 1705 !-- interpolation routines. 1715 1706 nzt_topo_nestbc_l = nzb 1716 IF ( nest_bound_l ) THEN1707 IF ( bc_dirichlet_l ) THEN 1717 1708 DO i = nxl-1, nxl 1718 1709 DO j = nys, nyn … … 1740 1731 1741 1732 nzt_topo_nestbc_r = nzb 1742 IF ( nest_bound_r ) THEN1733 IF ( bc_dirichlet_r ) THEN 1743 1734 i = nxr + 1 1744 1735 DO j = nys, nyn … … 1765 1756 1766 1757 nzt_topo_nestbc_s = nzb 1767 IF ( nest_bound_s ) THEN1758 IF ( bc_dirichlet_s ) THEN 1768 1759 DO j = nys-1, nys 1769 1760 DO i = nxl, nxr … … 1791 1782 1792 1783 nzt_topo_nestbc_n = nzb 1793 IF ( nest_bound_n ) THEN1784 IF ( bc_dirichlet_n ) THEN 1794 1785 j = nyn + 1 1795 1786 DO i = nxl, nxr … … 1862 1853 !-- logc_kbounds_* need to be allocated and initialized here. 1863 1854 !-- Left boundary 1864 IF ( nest_bound_l ) THEN1855 IF ( bc_dirichlet_l ) THEN 1865 1856 1866 1857 ALLOCATE( logc_u_l(1:2,nzb:nzt_topo_nestbc_l,nys:nyn) ) … … 1923 1914 ! 1924 1915 !-- Right boundary 1925 IF ( nest_bound_r ) THEN1916 IF ( bc_dirichlet_r ) THEN 1926 1917 1927 1918 ALLOCATE( logc_u_r(1:2,nzb:nzt_topo_nestbc_r,nys:nyn) ) … … 1985 1976 ! 1986 1977 !-- South boundary 1987 IF ( nest_bound_s ) THEN1978 IF ( bc_dirichlet_s ) THEN 1988 1979 1989 1980 ALLOCATE( logc_u_s(1:2,nzb:nzt_topo_nestbc_s,nxl:nxr) ) … … 2044 2035 ! 2045 2036 !-- North boundary 2046 IF ( nest_bound_n ) THEN2037 IF ( bc_dirichlet_n ) THEN 2047 2038 2048 2039 ALLOCATE( logc_u_n(1:2,nzb:nzt_topo_nestbc_n,nxl:nxr) ) … … 2116 2107 ! 2117 2108 !-- Left boundary 2118 IF ( nest_bound_l ) THEN2109 IF ( bc_dirichlet_l ) THEN 2119 2110 logc_kbounds_u_l(1:2,nys:nyn) = 0 2120 2111 logc_kbounds_v_l(1:2,nys:nyn) = 0 … … 2255 2246 ENDDO 2256 2247 2257 ENDIF ! IF ( nest_bound_l )2248 ENDIF ! IF ( bc_dirichlet_l ) 2258 2249 ! 2259 2250 !-- Right boundary 2260 IF ( nest_bound_r ) THEN2251 IF ( bc_dirichlet_r ) THEN 2261 2252 logc_kbounds_u_r(1:2,nys:nyn) = 0 2262 2253 logc_kbounds_v_r(1:2,nys:nyn) = 0 … … 2395 2386 ENDDO 2396 2387 2397 ENDIF ! IF ( nest_bound_r )2388 ENDIF ! IF ( bc_dirichlet_r ) 2398 2389 ! 2399 2390 !-- South boundary 2400 IF ( nest_bound_s ) THEN2391 IF ( bc_dirichlet_s ) THEN 2401 2392 logc_kbounds_u_s(1:2,nxl:nxr) = 0 2402 2393 logc_kbounds_v_s(1:2,nxl:nxr) = 0 … … 2537 2528 ENDDO 2538 2529 2539 ENDIF ! IF ( nest_bound_s )2530 ENDIF ! IF (bc_dirichlet_s ) 2540 2531 ! 2541 2532 !-- North boundary 2542 IF ( nest_bound_n ) THEN2533 IF ( bc_dirichlet_n ) THEN 2543 2534 logc_kbounds_u_n(1:2,nxl:nxr) = 0 2544 2535 logc_kbounds_v_n(1:2,nxl:nxr) = 0 … … 2678 2669 ENDDO 2679 2670 2680 ENDIF ! IF ( nest_bound_n )2671 ENDIF ! IF ( bc_dirichlet_n ) 2681 2672 2682 2673 ENDIF ! IF ( topography /= 'flat' ) … … 2786 2777 2787 2778 END SELECT 2788 2789 !write(9,"('pmci_define_loglaw_correction_parameters: ', 6(i3,2x))") &2790 ! direction, ij, k, wall_index, inc, lc2791 2779 2792 2780 END SUBROUTINE pmci_define_loglaw_correction_parameters … … 3325 3313 ! 3326 3314 IF ( .NOT. rans_mode .AND. .NOT. rans_mode_parent ) THEN 3327 IF ( nest_bound_l ) THEN3315 IF ( bc_dirichlet_l ) THEN 3328 3316 ALLOCATE( tkefactor_l(nzb:nzt+1,nysg:nyng) ) 3329 3317 tkefactor_l = 0.0_wp … … 3345 3333 ENDIF 3346 3334 3347 IF ( nest_bound_r ) THEN3335 IF ( bc_dirichlet_r ) THEN 3348 3336 ALLOCATE( tkefactor_r(nzb:nzt+1,nysg:nyng) ) 3349 3337 tkefactor_r = 0.0_wp … … 3365 3353 ENDIF 3366 3354 3367 IF ( nest_bound_s ) THEN3355 IF ( bc_dirichlet_s ) THEN 3368 3356 ALLOCATE( tkefactor_s(nzb:nzt+1,nxlg:nxrg) ) 3369 3357 tkefactor_s = 0.0_wp … … 3386 3374 ENDIF 3387 3375 3388 IF ( nest_bound_n ) THEN3376 IF ( bc_dirichlet_n ) THEN 3389 3377 ALLOCATE( tkefactor_n(nzb:nzt+1,nxlg:nxrg) ) 3390 3378 tkefactor_n = 0.0_wp … … 3428 3416 !-- RANS mode 3429 3417 ELSE 3430 IF ( nest_bound_l ) THEN3418 IF ( bc_dirichlet_l ) THEN 3431 3419 ALLOCATE( tkefactor_l(nzb:nzt+1,nysg:nyng) ) 3432 3420 tkefactor_l = 1.0_wp 3433 3421 ENDIF 3434 IF ( nest_bound_r ) THEN3422 IF ( bc_dirichlet_r ) THEN 3435 3423 ALLOCATE( tkefactor_r(nzb:nzt+1,nysg:nyng) ) 3436 3424 tkefactor_r = 1.0_wp 3437 3425 ENDIF 3438 IF ( nest_bound_s ) THEN3426 IF ( bc_dirichlet_s ) THEN 3439 3427 ALLOCATE( tkefactor_s(nzb:nzt+1,nxlg:nxrg) ) 3440 3428 tkefactor_s = 1.0_wp 3441 3429 ENDIF 3442 IF ( nest_bound_n ) THEN3430 IF ( bc_dirichlet_n ) THEN 3443 3431 ALLOCATE( tkefactor_n(nzb:nzt+1,nxlg:nxrg) ) 3444 3432 tkefactor_n = 1.0_wp … … 3980 3968 je = nyn 3981 3969 IF ( nesting_mode /= 'vertical' ) THEN 3982 IF ( nest_bound_l ) THEN3970 IF ( bc_dirichlet_l ) THEN 3983 3971 ib = nxl - 1 3984 3972 ! … … 3988 3976 ENDIF 3989 3977 ENDIF 3990 IF ( nest_bound_s ) THEN3978 IF ( bc_dirichlet_s ) THEN 3991 3979 jb = nys - 1 3992 3980 ! … … 3996 3984 ENDIF 3997 3985 ENDIF 3998 IF ( nest_bound_r ) THEN3986 IF ( bc_dirichlet_r ) THEN 3999 3987 ie = nxr + 1 4000 3988 ENDIF 4001 IF ( nest_bound_n ) THEN3989 IF ( bc_dirichlet_n ) THEN 4002 3990 je = nyn + 1 4003 3991 ENDIF … … 4201 4189 volume_flow_l(1) = 0.0_wp 4202 4190 4203 IF ( nest_bound_l ) THEN4191 IF ( bc_dirichlet_l ) THEN 4204 4192 i = 0 4205 4193 innor = dy … … 4213 4201 ENDIF 4214 4202 4215 IF ( nest_bound_r ) THEN4203 IF ( bc_dirichlet_r ) THEN 4216 4204 i = nx + 1 4217 4205 innor = -dy … … 4238 4226 volume_flow_l(2) = 0.0_wp 4239 4227 4240 IF ( nest_bound_s ) THEN4228 IF ( bc_dirichlet_s ) THEN 4241 4229 j = 0 4242 4230 innor = dx … … 4250 4238 ENDIF 4251 4239 4252 IF ( nest_bound_n ) THEN4240 IF ( bc_dirichlet_n ) THEN 4253 4241 j = ny + 1 4254 4242 innor = -dx … … 4549 4537 ! 4550 4538 !-- Left border pe: 4551 IF ( nest_bound_l ) THEN4539 IF ( bc_dirichlet_l ) THEN 4552 4540 4553 4541 CALL pmci_interp_tril_lr( u, uc, icu, jco, kco, r1xu, r2xu, & … … 4656 4644 ! 4657 4645 !-- Right border pe 4658 IF ( nest_bound_r ) THEN4646 IF ( bc_dirichlet_r ) THEN 4659 4647 4660 4648 CALL pmci_interp_tril_lr( u, uc, icu, jco, kco, r1xu, r2xu, & … … 4769 4757 ! 4770 4758 !-- South border pe 4771 IF ( nest_bound_s ) THEN4759 IF ( bc_dirichlet_s ) THEN 4772 4760 4773 4761 CALL pmci_interp_tril_sn( u, uc, icu, jco, kco, r1xu, r2xu, & … … 4880 4868 ! 4881 4869 !-- North border pe 4882 IF ( nest_bound_n ) THEN4870 IF ( bc_dirichlet_n ) THEN 4883 4871 4884 4872 CALL pmci_interp_tril_sn( u, uc, icu, jco, kco, r1xu, r2xu, & … … 5748 5736 !-- comprehensive explanation for this is still pending. 5749 5737 IF ( nesting_mode == 'vertical' ) THEN 5750 IF ( nest_bound_l ) THEN5738 IF ( bc_dirichlet_l ) THEN 5751 5739 iclp = icl + nhll 5752 5740 ENDIF 5753 IF ( nest_bound_r ) THEN5741 IF ( bc_dirichlet_r ) THEN 5754 5742 icrm = icr - nhlr 5755 5743 ENDIF 5756 IF ( nest_bound_s ) THEN5744 IF ( bc_dirichlet_s ) THEN 5757 5745 jcsp = jcs + nhls 5758 5746 ENDIF 5759 IF ( nest_bound_n ) THEN5747 IF ( bc_dirichlet_n ) THEN 5760 5748 jcnm = jcn - nhln 5761 5749 ENDIF 5762 5750 ELSE 5763 IF ( nest_bound_l ) THEN5751 IF ( bc_dirichlet_l ) THEN 5764 5752 IF ( var == 'u' ) THEN 5765 5753 iclp = icl + nhll + 1 + 1 … … 5768 5756 ENDIF 5769 5757 ENDIF 5770 IF ( nest_bound_r ) THEN5758 IF ( bc_dirichlet_r ) THEN 5771 5759 icrm = icr - nhlr - 1 5772 5760 ENDIF 5773 5761 5774 IF ( nest_bound_s ) THEN5762 IF ( bc_dirichlet_s ) THEN 5775 5763 IF ( var == 'v' ) THEN 5776 5764 jcsp = jcs + nhls + 1 + 1 … … 5779 5767 ENDIF 5780 5768 ENDIF 5781 IF ( nest_bound_n ) THEN5769 IF ( bc_dirichlet_n ) THEN 5782 5770 jcnm = jcn - nhln - 1 5783 5771 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.