Ignore:
Timestamp:
Oct 23, 2019 3:18:57 PM (2 years ago)
Author:
schwenkel
Message:

further modularization of boundary conditions: moving boundary conditions to their modules

File:
1 edited

Legend:

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

    r4268 r4272  
    2525! -----------------
    2626! $Id$
     27! Further modularization of boundary conditions: moved boundary conditions to
     28! respective modules
     29!
     30! 4268 2019-10-17 11:29:38Z schwenkel
    2731! Removing bulk cloud variables to respective module
    2832!
     
    6872        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,  &
    6973               dzu, pt, pt_init, pt_p, q,                                      &
    70                q_p, s, s_p, sa, sa_p, u, u_init, u_m_l, u_m_n,                 &
     74               q_p, s, s_p, u, u_init, u_m_l, u_m_n,                 &
    7175               u_m_r, u_m_s, u_p, v, v_init, v_m_l, v_m_n, v_m_r, v_m_s, v_p,  &
    7276               w, w_p, w_m_l, w_m_n, w_m_r, w_m_s
    7377
    74     USE chemistry_model_mod,                                                   &
    75         ONLY:  chem_boundary_conds
    76 
    7778    USE control_parameters,                                                    &
    78         ONLY:  air_chemistry, bc_dirichlet_l,                                  &
     79        ONLY:  bc_dirichlet_l,                                  &
    7980               bc_dirichlet_s, bc_radiation_l, bc_radiation_n, bc_radiation_r, &
    8081               bc_radiation_s, bc_pt_t_val, bc_q_t_val, bc_s_t_val,            &
     
    8283               humidity, ibc_pt_b, ibc_pt_t, ibc_q_b, ibc_q_t, ibc_s_b,        &
    8384               ibc_s_t, ibc_uv_b, ibc_uv_t, intermediate_timestep_count,       &
    84                nesting_offline, neutral, nudging, ocean_mode, passive_scalar,  &
    85                tsc, salsa, use_cmax
     85               nesting_offline, neutral, nudging, passive_scalar,  &
     86               tsc, use_cmax
    8687
    8788    USE grid_variables,                                                        &
     
    9293
    9394    USE kinds
    94 
    95     USE ocean_mod,                                                             &
    96         ONLY:  ibc_sa_t
    9795
    9896    USE pegrid
     
    10199        ONLY : nesting_mode
    102100 
    103     USE salsa_mod,                                                             &
    104         ONLY:  salsa_boundary_conds
    105 
    106101    USE surface_mod,                                                           &
    107102        ONLY :  bc_h
     
    188183             !$ACC PRESENT(bc_h, pt_p)
    189184             DO  m = 1, bc_h(l)%ns
    190                 i = bc_h(l)%i(m)           
     185                i = bc_h(l)%i(m)
    191186                j = bc_h(l)%j(m)
    192187                k = bc_h(l)%k(m)
     
    215210    ENDIF
    216211!
    217 !-- Boundary conditions for salinity
    218     IF ( ocean_mode )  THEN
    219 !
    220 !--    Bottom boundary: Neumann condition because salinity flux is always
    221 !--    given.
    222        DO  l = 0, 1
    223           !$OMP PARALLEL DO PRIVATE( i, j, k )
    224           DO  m = 1, bc_h(l)%ns
    225              i = bc_h(l)%i(m)
    226              j = bc_h(l)%j(m)
    227              k = bc_h(l)%k(m)
    228              sa_p(k+bc_h(l)%koff,j,i) = sa_p(k,j,i)
    229           ENDDO
    230        ENDDO
    231 !
    232 !--    Top boundary: Dirichlet or Neumann
    233        IF ( ibc_sa_t == 0 )  THEN
    234            sa_p(nzt+1,:,:) = sa(nzt+1,:,:)
    235        ELSEIF ( ibc_sa_t == 1 )  THEN
    236            sa_p(nzt+1,:,:) = sa_p(nzt,:,:)
    237        ENDIF
    238 
    239     ENDIF
    240 
    241 !
    242212!-- Boundary conditions for total water content,
    243213!-- bottom and top boundary (see also temperature)
     
    327297!-- Set boundary conditions for subgrid TKE and dissipation (RANS mode)
    328298    CALL tcm_boundary_conds
    329 !
    330 !-- Top/bottom boundary conditions for chemical species
    331     IF ( air_chemistry )  CALL chem_boundary_conds( 'set_bc_bottomtop' )
    332299!
    333300!-- In case of inflow or nest boundary at the south boundary the boundary for v
     
    386353       IF ( passive_scalar )  s_p(:,:,nxr+1) = s_p(:,:,nxr)
    387354    ENDIF
    388 
    389 !
    390 !-- Lateral boundary conditions for chemical species
    391     IF ( air_chemistry )  CALL chem_boundary_conds( 'set_bc_lateral' )   
    392355
    393356!
     
    883846          ENDDO
    884847
    885 #if defined( __parallel )   
     848#if defined( __parallel )
    886849          IF ( collective_wait )  CALL MPI_BARRIER( comm1dy, ierr )
    887850          CALL MPI_ALLREDUCE( c_u_m_l(nzb+1), c_u_m(nzb+1), nzt-nzb, MPI_REAL, &
    888                               MPI_SUM, comm1dy, ierr )   
     851                              MPI_SUM, comm1dy, ierr )
    889852          IF ( collective_wait )  CALL MPI_BARRIER( comm1dy, ierr )
    890853          CALL MPI_ALLREDUCE( c_v_m_l(nzb+1), c_v_m(nzb+1), nzt-nzb, MPI_REAL, &
    891                               MPI_SUM, comm1dy, ierr ) 
     854                              MPI_SUM, comm1dy, ierr )
    892855          IF ( collective_wait )  CALL MPI_BARRIER( comm1dy, ierr )
    893856          CALL MPI_ALLREDUCE( c_w_m_l(nzb+1), c_w_m(nzb+1), nzt-nzb, MPI_REAL, &
    894                               MPI_SUM, comm1dy, ierr ) 
     857                              MPI_SUM, comm1dy, ierr )
    895858#else
    896859          c_u_m = c_u_m_l
     
    952915    ENDIF
    953916
    954     IF ( salsa )  THEN
    955        CALL salsa_boundary_conds
    956     ENDIF
    957 
    958917 END SUBROUTINE boundary_conds
Note: See TracChangeset for help on using the changeset viewer.