Changeset 3182 for palm/trunk/SOURCE/boundary_conds.f90
- Timestamp:
- Jul 27, 2018 1:36:03 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/boundary_conds.f90
r3129 r3182 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Rename some variables concerning LES-LES as well as offline nesting 23 23 ! 24 24 ! Former revisions: … … 186 186 USE arrays_3d, & 187 187 ONLY: c_u, c_u_m, c_u_m_l, c_v, c_v_m, c_v_m_l, c_w, c_w_m, c_w_m_l, & 188 diss, diss_p, dzu, e_p, nc_p, nr_p, pt, pt_p, q, q_p, qc_p, qr_p, s, & 188 diss, diss_p, dzu, e_p, nc_p, nr_p, pt, pt_p, q, q_p, qc_p, & 189 qr_p, s, & 189 190 s_p, sa, sa_p, u, ug, u_init, u_m_l, u_m_n, u_m_r, u_m_s, u_p, & 190 191 v, vg, v_init, v_m_l, v_m_n, v_m_r, v_m_s, v_p, & … … 195 196 196 197 USE control_parameters, & 197 ONLY: air_chemistry, bc_ pt_t_val, bc_q_t_val, bc_s_t_val,&198 constant_diffusion, cloud_physics, coupling_mode, dt_3d,&199 force_bound_l, force_bound_s, forcing, humidity,&200 ibc_pt_b, ibc_pt_t, ibc_q_b, ibc_q_t, ibc_s_b, ibc_s_t,&201 ibc_sa_t, ibc_uv_b, ibc_uv_t, inflow_l, inflow_n, inflow_r,&202 i nflow_s, intermediate_timestep_count, kappa,&203 microphysics_morrison, microphysics_seifert, nest_domain,&204 nest_bound_l, nest_bound_n, nest_bound_r, nest_bound_s, nudging,&205 ocean, outflow_l, outflow_n, outflow_r, outflow_s,&206 passive_scalar, rans_mode, rans_tke_e, tsc, use_cmax198 ONLY: air_chemistry, bc_dirichlet_l, bc_dirichlet_n, bc_dirichlet_r, & 199 bc_dirichlet_s, bc_radiation_l, bc_radiation_n, bc_radiation_r, & 200 bc_radiation_s, bc_pt_t_val, bc_q_t_val, bc_s_t_val, & 201 child_domain, constant_diffusion, cloud_physics, coupling_mode, & 202 dt_3d, humidity, ibc_pt_b, ibc_pt_t, ibc_q_b, ibc_q_t, ibc_s_b, & 203 ibc_s_t,ibc_sa_t, ibc_uv_b, ibc_uv_t, & 204 intermediate_timestep_count, kappa, & 205 microphysics_morrison, microphysics_seifert, & 206 nesting_offline, nudging, & 207 ocean, passive_scalar, rans_mode, rans_tke_e, tsc, use_cmax 207 208 208 209 USE grid_variables, & … … 275 276 ! 276 277 !-- Vertical nesting: Vertical velocity not zero at the top of the fine grid 277 IF ( .NOT. nest_domain .AND.&278 IF ( .NOT. child_domain .AND. & 278 279 TRIM(coupling_mode) /= 'vnested_fine' ) THEN 279 280 w_p(nzt:nzt+1,:,:) = 0.0_wp !< nzt is not a prognostic level (but cf. pres) … … 409 410 ENDIF 410 411 411 IF ( .NOT. nest_domain ) THEN412 IF ( .NOT. child_domain ) THEN 412 413 e_p(nzt+1,:,:) = e_p(nzt,:,:) 413 414 ! … … 421 422 IF ( rans_mode_parent .AND. .NOT. rans_mode ) THEN 422 423 423 424 425 424 e_p(nzt+1,:,:) = e_p(nzt,:,:) 426 IF ( nest_bound_l ) e_p(:,:,nxl-1) = e_p(:,:,nxl)427 IF ( nest_bound_r ) e_p(:,:,nxr+1) = e_p(:,:,nxr)428 IF ( nest_bound_s ) e_p(:,nys-1,:) = e_p(:,nys,:)429 IF ( nest_bound_n ) e_p(:,nyn+1,:) = e_p(:,nyn,:)425 IF ( bc_dirichlet_l ) e_p(:,:,nxl-1) = e_p(:,:,nxl) 426 IF ( bc_dirichlet_r ) e_p(:,:,nxr+1) = e_p(:,:,nxr) 427 IF ( bc_dirichlet_s ) e_p(:,nys-1,:) = e_p(:,nys,:) 428 IF ( bc_dirichlet_n ) e_p(:,nyn+1,:) = e_p(:,nyn,:) 430 429 431 430 ENDIF … … 510 509 ENDDO 511 510 512 IF ( .NOT. nest_domain ) THEN511 IF ( .NOT. child_domain ) THEN 513 512 diss_p(nzt+1,:,:) = diss_p(nzt,:,:) 514 513 ENDIF … … 697 696 !-- have to be restored here. 698 697 !-- For the SGS-TKE, Neumann boundary conditions are used at the inflow. 699 IF ( inflow_s ) THEN698 IF ( bc_dirichlet_s ) THEN 700 699 v_p(:,nys,:) = v_p(:,nys-1,:) 701 700 IF ( .NOT. constant_diffusion ) e_p(:,nys-1,:) = e_p(:,nys,:) 702 ELSEIF ( inflow_n ) THEN701 ELSEIF ( bc_dirichlet_n ) THEN 703 702 IF ( .NOT. constant_diffusion ) e_p(:,nyn+1,:) = e_p(:,nyn,:) 704 ELSEIF ( inflow_l ) THEN703 ELSEIF ( bc_dirichlet_l ) THEN 705 704 u_p(:,:,nxl) = u_p(:,:,nxl-1) 706 705 IF ( .NOT. constant_diffusion ) e_p(:,:,nxl-1) = e_p(:,:,nxl) 707 ELSEIF ( inflow_r ) THEN706 ELSEIF ( bc_dirichlet_r ) THEN 708 707 IF ( .NOT. constant_diffusion ) e_p(:,:,nxr+1) = e_p(:,:,nxr) 709 708 ENDIF … … 712 711 !-- The same restoration for u at i=nxl and v at j=nys as above must be made 713 712 !-- in case of nest boundaries. This must not be done in case of vertical nesting 714 !-- mode as in that case the lateral boundaries are actually cyclic. 715 IF ( nesting_mode /= 'vertical' .OR. forcing ) THEN 716 IF ( nest_bound_s .OR. force_bound_s ) THEN 713 !-- mode as in that case the lateral boundaries are actually cyclic. 714 !-- @todo: Is this really needed? Boundary values will be overwritten in 715 !-- coupler or by Inifor data. 716 IF ( nesting_mode /= 'vertical' .OR. nesting_offline ) THEN 717 IF ( bc_dirichlet_s ) THEN 717 718 v_p(:,nys,:) = v_p(:,nys-1,:) 718 719 ENDIF 719 IF ( nest_bound_l .OR. force_bound_l ) THEN720 IF ( bc_dirichlet_l ) THEN 720 721 u_p(:,:,nxl) = u_p(:,:,nxl-1) 721 722 ENDIF … … 724 725 ! 725 726 !-- Lateral boundary conditions for scalar quantities at the outflow 726 IF ( outflow_s ) THEN727 IF ( bc_radiation_s ) THEN 727 728 pt_p(:,nys-1,:) = pt_p(:,nys,:) 728 729 IF ( .NOT. constant_diffusion ) e_p(:,nys-1,:) = e_p(:,nys,:) … … 740 741 ENDIF 741 742 IF ( passive_scalar ) s_p(:,nys-1,:) = s_p(:,nys,:) 742 ELSEIF ( outflow_n ) THEN743 ELSEIF ( bc_radiation_n ) THEN 743 744 pt_p(:,nyn+1,:) = pt_p(:,nyn,:) 744 745 IF ( .NOT. constant_diffusion ) e_p(:,nyn+1,:) = e_p(:,nyn,:) … … 756 757 ENDIF 757 758 IF ( passive_scalar ) s_p(:,nyn+1,:) = s_p(:,nyn,:) 758 ELSEIF ( outflow_l ) THEN759 ELSEIF ( bc_radiation_l ) THEN 759 760 pt_p(:,:,nxl-1) = pt_p(:,:,nxl) 760 761 IF ( .NOT. constant_diffusion ) e_p(:,:,nxl-1) = e_p(:,:,nxl) … … 772 773 ENDIF 773 774 IF ( passive_scalar ) s_p(:,:,nxl-1) = s_p(:,:,nxl) 774 ELSEIF ( outflow_r ) THEN775 ELSEIF ( bc_radiation_r ) THEN 775 776 pt_p(:,:,nxr+1) = pt_p(:,:,nxr) 776 777 IF ( .NOT. constant_diffusion ) e_p(:,:,nxr+1) = e_p(:,:,nxr) … … 799 800 !-- ensures numerical stability (CFL-condition) or calculated after 800 801 !-- Orlanski(1976) and averaged along the outflow boundary. 801 IF ( outflow_s ) THEN802 IF ( bc_radiation_s ) THEN 802 803 803 804 IF ( use_cmax ) THEN … … 938 939 ENDIF 939 940 940 IF ( outflow_n ) THEN941 IF ( bc_radiation_n ) THEN 941 942 942 943 IF ( use_cmax ) THEN … … 1077 1078 ENDIF 1078 1079 1079 IF ( outflow_l ) THEN1080 IF ( bc_radiation_l ) THEN 1080 1081 1081 1082 IF ( use_cmax ) THEN … … 1216 1217 ENDIF 1217 1218 1218 IF ( outflow_r ) THEN1219 IF ( bc_radiation_r ) THEN 1219 1220 1220 1221 IF ( use_cmax ) THEN
Note: See TracChangeset
for help on using the changeset viewer.