Ignore:
Timestamp:
Jul 27, 2018 1:36:03 PM (3 years ago)
Author:
suehring
Message:

New Inifor features: grid stretching, improved command-interface, support start dates in different formats in both YYYYMMDD and YYYYMMDDHH, Ability to manually control input file prefixes (--radiation-prefix, --soil-preifx, --flow-prefix, --soilmoisture-prefix) for compatiblity with DWD forcast naming scheme; GNU-style short and long option; Prepared output of large-scale forcing profiles (no computation yet); Added preprocessor flag netcdf4 to switch output format between netCDF 3 and 4; Updated netCDF variable names and attributes to comply with PIDS v1.9; Inifor bugfixes: Improved compatibility with older Intel Intel compilers by avoiding implicit array allocation; Added origin_lon/_lat values and correct reference time in dynamic driver global attributes; corresponding PALM changes: adjustments to revised Inifor; variables names in dynamic driver adjusted; enable geostrophic forcing also in offline nested mode; variable names in LES-LES and COSMO offline nesting changed; lateral boundary flags for nesting, in- and outflow conditions renamed

File:
1 edited

Legend:

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

    r3142 r3182  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! Rename variables in mesoscale-offline nesting mode
    2323!
    2424! Former revisions:
     
    342342       
    343343    USE control_parameters,                                                    &
    344         ONLY:  bc_lr_cyc, bc_ns_cyc, building_height, building_length_x,       &
     344        ONLY:  bc_dirichlet_l, bc_dirichlet_n, bc_dirichlet_r,                 &
     345               bc_dirichlet_s, bc_lr_cyc, bc_ns_cyc, bc_radiation_l,           &
     346               bc_radiation_n, bc_radiation_r, bc_radiation_s,                 &
     347               building_height, building_length_x,                             &
    345348               building_length_y, building_wall_left, building_wall_south,     &
    346349               canyon_height, canyon_wall_left, canyon_wall_south,             &
     
    350353               dz_stretch_level_end_index, dz_stretch_level_start_index,       &
    351354               dz_stretch_level_start, grid_level,                             &
    352                force_bound_l, force_bound_r, force_bound_n, force_bound_s,     &
    353                ibc_uv_b, inflow_l, inflow_n, inflow_r, inflow_s,               &
    354                masking_method, maximum_grid_level, message_string,             &
    355                momentum_advec, nest_domain, nest_bound_l,                      &
    356                nest_bound_n, nest_bound_r, nest_bound_s,                       &
    357                number_stretch_level_end, number_stretch_level_start, ocean,    &
    358                outflow_l, outflow_n, outflow_r, outflow_s, psolver,            &
    359                scalar_advec, topography, topography_grid_convention,           &
    360                tunnel_height, tunnel_length, tunnel_width_x, tunnel_width_y,   &
     355               ibc_uv_b, masking_method, maximum_grid_level, message_string,   &
     356               momentum_advec, number_stretch_level_end,                       &
     357               number_stretch_level_start,ocean, psolver, scalar_advec,        &
     358               topography, topography_grid_convention, tunnel_height,          &
     359               tunnel_length, tunnel_width_x, tunnel_width_y,                  &
    361360               tunnel_wall_depth, use_surface_fluxes, use_top_fluxes,          &
    362361               wall_adjustment_factor
     
    386385    IMPLICIT NONE
    387386
    388     INTEGER(iwp) ::  i                           !< index variable along x
    389     INTEGER(iwp) ::  j                           !< index variable along y
    390     INTEGER(iwp) ::  k                           !< index variable along z
    391     INTEGER(iwp) ::  k_top                       !< topography top index on local PE
    392     INTEGER(iwp) ::  n                           !< loop variable for stretching
    393     INTEGER(iwp) ::  number_dz                   !< number of user-specified dz values       
    394     INTEGER(iwp) ::  nzb_local_max               !< vertical grid index of maximum topography height
    395     INTEGER(iwp) ::  nzb_local_min               !< vertical grid index of minimum topography height
     387    INTEGER(iwp) ::  i             !< index variable along x
     388    INTEGER(iwp) ::  j             !< index variable along y
     389    INTEGER(iwp) ::  k             !< index variable along z
     390    INTEGER(iwp) ::  k_top         !< topography top index on local PE
     391    INTEGER(iwp) ::  l             !< loop variable
     392    INTEGER(iwp) ::  n             !< loop variable for stretching
     393    INTEGER(iwp) ::  number_dz     !< number of user-specified dz values       
     394    INTEGER(iwp) ::  nzb_local_max !< vertical grid index of maximum topography height
     395    INTEGER(iwp) ::  nzb_local_min !< vertical grid index of minimum topography height
    396396                                     
    397397    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_local  !< index for topography top at cell-center
     
    834834    nzb_max = k_top + 1
    835835#endif
    836     IF ( inflow_l  .OR.  outflow_l  .OR.  force_bound_l  .OR.  nest_bound_l  .OR.&
    837          inflow_r  .OR.  outflow_r  .OR.  force_bound_r  .OR.  nest_bound_r  .OR.&
    838          inflow_n  .OR.  outflow_n  .OR.  force_bound_n  .OR.  nest_bound_n  .OR.&
    839          inflow_s  .OR.  outflow_s  .OR.  force_bound_s  .OR.  nest_bound_s )    &
     836    IF ( bc_dirichlet_l  .OR.  bc_radiation_l     .OR.                         &
     837         bc_dirichlet_r  .OR.  bc_radiation_r     .OR.                         &
     838         bc_dirichlet_n  .OR.  bc_radiation_n     .OR.                         &
     839         bc_dirichlet_s  .OR.  bc_radiation_s )                                &
    840840         nzb_max = nzt
    841841!   
    842842!-- Finally, if topography extents up to the model top, limit nzb_max to nzt.
    843     nzb_max = MIN( nzb_max, nzt )
     843    nzb_max = MIN( nzb_max, nzt ) 
    844844!
    845845!-- Determine minimum index of topography. Usually, this will be nzb. In case
     
    857857!-- Initialize boundary conditions via surface type
    858858    CALL init_bc
     859
    859860!
    860861!-- Allocate and set topography height arrays required for data output
     
    926927#if defined( __parallel )
    927928       CALL MPI_ALLREDUCE( MAXVAL( get_topography_top_index( 's' ) ),          &
    928                            nzb_local_max, 1, MPI_INTEGER, MPI_MAX, comm2d, ierr )             
     929                           nzb_local_max, 1, MPI_INTEGER, MPI_MAX, comm2d, ierr )              
    929930#else
    930931       nzb_local_max = MAXVAL( get_topography_top_index( 's' ) )
Note: See TracChangeset for help on using the changeset viewer.