Ignore:
Timestamp:
Feb 25, 2016 12:31:13 PM (8 years ago)
Author:
hellstea
Message:

Introduction of nested domain system

File:
1 edited

Legend:

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

    r1683 r1762  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! Introduction of nested domain feature
    2222!
    2323! Former revisions:
     
    129129               io_blocks, io_group, maximum_grid_level,                        &
    130130               maximum_parallel_io_streams, message_string,                    &
    131                mg_switch_to_pe0_level, momentum_advec, neutral, psolver,       &
     131               mg_switch_to_pe0_level, momentum_advec, nest_bound_l,           &
     132               nest_bound_n, nest_bound_r, nest_bound_s, neutral, psolver,     &
    132133               outflow_l, outflow_n, outflow_r, outflow_s, recycling_width,    &
    133134               scalar_advec, subdomain_size
     
    147148    USE pegrid
    148149 
     150#if defined( PMC_ACTIVE )
     151    USE pmc_interface,                                                         &
     152        ONLY:  cpl_npex,cpl_npey
     153#endif
     154
    149155    USE transpose_indices,                                                     &
    150156        ONLY:  nxl_y, nxl_yd, nxl_z, nxr_y, nxr_yd, nxr_z, nyn_x, nyn_z, nys_x,&
     
    206212    CALL location_message( 'creating virtual PE grids + MPI derived data types', &
    207213                           .FALSE. )
     214#if defined( PMC_ACTIVE )
     215!
     216!-- In case of nested-domain runs, the processor grid is explicitly given
     217!-- by the user in the nestpar-NAMELIST
     218    pdims(1) = cpl_npex
     219    pdims(2) = cpl_npey
     220#else
    208221!
    209222!-- Determine the processor topology or check it, if prescribed by the user
     
    243256
    244257    ENDIF
     258#endif
    245259
    246260!
     
    10581072#if defined( __parallel ) && ! defined ( __check )
    10591073!
    1060 !-- Setting of flags for inflow/outflow conditions in case of non-cyclic
     1074!-- Setting of flags for inflow/outflow/nesting conditions in case of non-cyclic
    10611075!-- horizontal boundary conditions.
    10621076    IF ( pleft == MPI_PROC_NULL )  THEN
     
    10651079       ELSEIF ( bc_lr == 'radiation/dirichlet' )  THEN
    10661080          outflow_l = .TRUE.
     1081#if defined( PMC_ACTIVE )
     1082       ELSEIF ( bc_lr == 'nested' )  THEN
     1083          nest_bound_l = .TRUE.
     1084#endif
    10671085       ENDIF
    10681086    ENDIF
     
    10731091       ELSEIF ( bc_lr == 'radiation/dirichlet' )  THEN
    10741092          inflow_r  = .TRUE.
     1093#if defined( PMC_ACTIVE )
     1094       ELSEIF ( bc_lr == 'nested' )  THEN
     1095          nest_bound_r = .TRUE.
     1096#endif
    10751097       ENDIF
    10761098    ENDIF
     
    10811103       ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
    10821104          inflow_s  = .TRUE.
     1105#if defined( PMC_ACTIVE )
     1106       ELSEIF ( bc_ns == 'nested' )  THEN
     1107          nest_bound_s = .TRUE.
     1108#endif
    10831109       ENDIF
    10841110    ENDIF
     
    10891115       ELSEIF ( bc_ns == 'radiation/dirichlet' )  THEN
    10901116          outflow_n = .TRUE.
     1117#if defined( PMC_ACTIVE )
     1118       ELSEIF ( bc_ns == 'nested' )  THEN
     1119          nest_bound_n = .TRUE.
     1120#endif
    10911121       ENDIF
    10921122    ENDIF
     
    11391169!-- At the inflow or outflow, u or v, respectively, have to be calculated for
    11401170!-- one more grid point.
    1141     IF ( inflow_l .OR. outflow_l )  THEN
     1171    IF ( inflow_l .OR. outflow_l .OR. nest_bound_l )  THEN
    11421172       nxlu = nxl + 1
    11431173    ELSE
    11441174       nxlu = nxl
    11451175    ENDIF
    1146     IF ( inflow_s .OR. outflow_s )  THEN
     1176    IF ( inflow_s .OR. outflow_s .OR. nest_bound_s )  THEN
    11471177       nysv = nys + 1
    11481178    ELSE
Note: See TracChangeset for help on using the changeset viewer.