Ignore:
Timestamp:
Aug 16, 2007 2:30:26 PM (17 years ago)
Author:
raasch
Message:

preliminary update of bugfixes and extensions for non-cyclic BCs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/init_3d_model.f90

    r102 r106  
    77! Actual revisions:
    88! -----------------
    9 ! Flux initialization in case of coupled runs, +momentum fluxes at top boundary
     9! Flux initialization in case of coupled runs, +momentum fluxes at top boundary,
     10! +arrays for phase speed c_u, c_v, c_w, indices for u|v|w_m_l|r changed
    1011!
    1112! Former revisions:
     
    233234
    234235!
    235 !-- Arrays to store velocity data from t-dt needed for radiation boundary
    236 !-- conditions
     236!-- Arrays to store velocity data from t-dt and the phase speeds which
     237!-- are needed for radiation boundary conditions
    237238    IF ( outflow_l )  THEN
    238        ALLOCATE( u_m_l(nzb:nzt+1,nys-1:nyn+1,-1:1), &
    239                  v_m_l(nzb:nzt+1,nys-1:nyn+1,-1:1), &
    240                  w_m_l(nzb:nzt+1,nys-1:nyn+1,-1:1) )
     239       ALLOCATE( u_m_l(nzb:nzt+1,nys-1:nyn+1,1:2), &
     240                 v_m_l(nzb:nzt+1,nys-1:nyn+1,0:1), &
     241                 w_m_l(nzb:nzt+1,nys-1:nyn+1,0:1) )
    241242    ENDIF
    242243    IF ( outflow_r )  THEN
    243        ALLOCATE( u_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx+1), &
    244                  v_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx+1), &
    245                  w_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx+1) )
     244       ALLOCATE( u_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx), &
     245                 v_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx), &
     246                 w_m_r(nzb:nzt+1,nys-1:nyn+1,nx-1:nx) )
     247    ENDIF
     248    IF ( outflow_l  .OR.  outflow_r )  THEN
     249       ALLOCATE( c_u(nzb:nzt+1,nys-1:nyn+1), c_v(nzb:nzt+1,nys-1:nyn+1), &
     250                 c_w(nzb:nzt+1,nys-1:nyn+1) )
    246251    ENDIF
    247252    IF ( outflow_s )  THEN
    248        ALLOCATE( u_m_s(nzb:nzt+1,-1:1,nxl-1:nxr+1), &
    249                  v_m_s(nzb:nzt+1,-1:1,nxl-1:nxr+1), &
    250                  w_m_s(nzb:nzt+1,-1:1,nxl-1:nxr+1) )
     253       ALLOCATE( u_m_s(nzb:nzt+1,0:1,nxl-1:nxr+1), &
     254                 v_m_s(nzb:nzt+1,1:2,nxl-1:nxr+1), &
     255                 w_m_s(nzb:nzt+1,0:1,nxl-1:nxr+1) )
    251256    ENDIF
    252257    IF ( outflow_n )  THEN
    253        ALLOCATE( u_m_n(nzb:nzt+1,ny-1:ny+1,nxl-1:nxr+1), &
    254                  v_m_n(nzb:nzt+1,ny-1:ny+1,nxl-1:nxr+1), &
    255                  w_m_n(nzb:nzt+1,ny-1:ny+1,nxl-1:nxr+1) )
     258       ALLOCATE( u_m_n(nzb:nzt+1,ny-1:ny,nxl-1:nxr+1), &
     259                 v_m_n(nzb:nzt+1,ny-1:ny,nxl-1:nxr+1), &
     260                 w_m_n(nzb:nzt+1,ny-1:ny,nxl-1:nxr+1) )
     261    ENDIF
     262    IF ( outflow_s  .OR.  outflow_n )  THEN
     263       ALLOCATE( c_u(nzb:nzt+1,nxl-1:nxr+1), c_v(nzb:nzt+1,nxl-1:nxr+1), &
     264                 c_w(nzb:nzt+1,nxl-1:nxr+1) )
    256265    ENDIF
    257266
     
    808817!--    Initialize old timelevels needed for radiation boundary conditions
    809818       IF ( outflow_l )  THEN
    810           u_m_l(:,:,:) = u(:,:,-1:1)
    811           v_m_l(:,:,:) = v(:,:,-1:1)
    812           w_m_l(:,:,:) = w(:,:,-1:1)
     819          u_m_l(:,:,:) = u(:,:,1:2)
     820          v_m_l(:,:,:) = v(:,:,0:1)
     821          w_m_l(:,:,:) = w(:,:,0:1)
    813822       ENDIF
    814823       IF ( outflow_r )  THEN
    815           u_m_r(:,:,:) = u(:,:,nx-1:nx+1)
    816           v_m_r(:,:,:) = v(:,:,nx-1:nx+1)
    817           w_m_r(:,:,:) = w(:,:,nx-1:nx+1)
     824          u_m_r(:,:,:) = u(:,:,nx-1:nx)
     825          v_m_r(:,:,:) = v(:,:,nx-1:nx)
     826          w_m_r(:,:,:) = w(:,:,nx-1:nx)
    818827       ENDIF
    819828       IF ( outflow_s )  THEN
    820           u_m_s(:,:,:) = u(:,-1:1,:)
    821           v_m_s(:,:,:) = v(:,-1:1,:)
    822           w_m_s(:,:,:) = w(:,-1:1,:)
     829          u_m_s(:,:,:) = u(:,0:1,:)
     830          v_m_s(:,:,:) = v(:,1:2,:)
     831          w_m_s(:,:,:) = w(:,0:1,:)
    823832       ENDIF
    824833       IF ( outflow_n )  THEN
    825           u_m_n(:,:,:) = u(:,ny-1:ny+1,:)
    826           v_m_n(:,:,:) = v(:,ny-1:ny+1,:)
    827           w_m_n(:,:,:) = w(:,ny-1:ny+1,:)
     834          u_m_n(:,:,:) = u(:,ny-1:ny,:)
     835          v_m_n(:,:,:) = v(:,ny-1:ny,:)
     836          w_m_n(:,:,:) = w(:,ny-1:ny,:)
    828837       ENDIF
    829838
Note: See TracChangeset for help on using the changeset viewer.