Changeset 4564 for palm


Ignore:
Timestamp:
Jun 12, 2020 2:03:36 PM (4 years ago)
Author:
raasch
Message:

Vertical nesting method of Huq et al. (2019) removed

Location:
palm/trunk/SOURCE
Files:
1 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/Makefile

    r4534 r4564  
    2525# -----------------
    2626# $Id$
     27# Vertical nesting method of Huq et al. (2019) removed
     28#
     29# 4534 2020-05-14 18:35:22Z raasch
    2730# shared_memory_io_mod included and respective dependencies added
    2831#
     
    327330        user_spectra.f90 \
    328331        vdi_internal_controls.f90 \
    329         vertical_nesting_mod.f90 \
    330332        virtual_flight_mod.f90 \
    331333        virtual_measurement_mod.f90 \
     
    453455        netcdf_interface_mod.o \
    454456        pmc_interface_mod.o \
    455         subsidence_mod.o \
    456         vertical_nesting_mod.o
     457        subsidence_mod.o
    457458chem_emissions_mod.o: \
    458459        chem_gasphase_mod.o \
     
    715716init_coupling.o: \
    716717        mod_kinds.o \
    717         modules.o \
    718         vertical_nesting_mod.o
     718        modules.o
    719719init_grid.o: \
    720720        exchange_horiz_mod.o \
     
    722722        modules.o \
    723723        netcdf_data_input_mod.o \
    724         netcdf_interface_mod.o \
    725         vertical_nesting_mod.o
     724        netcdf_interface_mod.o
    726725init_masks.o: \
    727726        bulk_cloud_model_mod.o \
     
    735734        pmc_interface_mod.o \
    736735        spectra_mod.o \
    737         synthetic_turbulence_generator_mod.o \
    738         vertical_nesting_mod.o
     736        synthetic_turbulence_generator_mod.o
    739737init_pt_anomaly.o: \
    740738        exchange_horiz_mod.o \
     
    787785        mod_kinds.o \
    788786        modules.o \
    789         pmc_interface_mod.o \
    790         vertical_nesting_mod.o
     787        pmc_interface_mod.o
    791788local_tremain.o: \
    792789        cpulog_mod.o \
     
    935932        progress_bar_mod.o \
    936933        read_restart_data_mod.o \
    937         turbulence_closure_mod.o \
    938         vertical_nesting_mod.o
     934        turbulence_closure_mod.o
    939935plant_canopy_model_mod.o: \
    940936        bulk_cloud_model_mod.o \
     
    10921088        surface_mod.o \
    10931089        user_module.o \
    1094         vertical_nesting_mod.o \
    10951090        virtual_measurement_mod.o
    10961091restart_data_mpi_io_mod.o: \
     
    12281223        turbulence_closure_mod.o\
    12291224        urban_surface_mod.o \
    1230         vertical_nesting_mod.o \
    12311225        virtual_flight_mod.o \
    12321226        virtual_measurement_mod.o \
     
    12531247        mod_kinds.o \
    12541248        modules.o \
    1255         pmc_interface_mod.o \
    1256         vertical_nesting_mod.o
     1249        pmc_interface_mod.o
    12571250timestep_scheme_steering.o: \
    12581251        mod_kinds.o \
     
    13571350        modules.o \
    13581351        pmc_interface_mod.o
    1359 vertical_nesting_mod.o: \
    1360         exchange_horiz_mod.o \
    1361         mod_kinds.o \
    1362         modules.o \
    1363         surface_mod.o \
    1364         turbulence_closure_mod.o
    13651352virtual_flight_mod.o: \
    13661353        basic_constants_and_equations_mod.o \
     
    14141401        surface_mod.o \
    14151402        user_module.o \
    1416         vertical_nesting_mod.o \
    14171403        virtual_measurement_mod.o
  • palm/trunk/SOURCE/check_parameters.f90

    r4562 r4564  
    2424! -----------------
    2525! $Id$
     26! Vertical nesting method of Huq et al. (2019) removed
     27!
     28! 4562 2020-06-12 08:38:47Z raasch
    2629! bugfix: revised error message for exceeding allow number of time series
    2730!
     
    191194
    192195    USE transpose_indices
    193 
    194 #if defined( __parallel )
    195     USE vertical_nesting_mod,                                                                      &
    196         ONLY:  vnested,                                                                            &
    197                vnest_check_parameters
    198 #endif
    199 
    200196
    201197    IMPLICIT NONE
     
    247243         coupling_mode /= 'precursor_atmos'      .AND.                                             &
    248244         coupling_mode /= 'precursor_ocean'      .AND.                                             &
    249          coupling_mode /= 'vnested_crse'         .AND.                                             &
    250          coupling_mode /= 'vnested_fine'         .AND.                                             &
    251245         coupling_mode /= 'atmosphere_to_ocean'  .AND.                                             &
    252246         coupling_mode /= 'ocean_to_atmosphere' )  THEN
     
    302296!-- Check dt_coupling, restart_time, dt_restart, end_time, dx, dy, nx and ny
    303297    IF ( coupling_mode /= 'uncoupled'        .AND.                                                 &
    304          coupling_mode(1:8) /= 'vnested_'    .AND.                                                 &
    305298         coupling_mode /= 'precursor_atmos'  .AND.                                                 &
    306299         coupling_mode /= 'precursor_ocean' )  THEN
     
    478471    IF ( coupling_mode == 'uncoupled' )  THEN
    479472       coupling_string = ''
    480     ELSEIF ( coupling_mode == 'vnested_crse' )  THEN
    481        coupling_string = ' nested (coarse)'
    482     ELSEIF ( coupling_mode == 'vnested_fine' )  THEN
    483        coupling_string = ' nested (fine)'
    484473    ELSEIF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
    485474       coupling_string = ' coupled (atmosphere)'
     
    30583047    ENDIF
    30593048
    3060 #if defined( __parallel )
    3061 !
    3062 !-- Vertical nesting: check fine and coarse grid compatibility for data exchange
    3063     IF ( vnested )  CALL vnest_check_parameters
    3064 #endif
    3065 
    30663049!
    30673050!-- Check if topography is read from file in case of complex terrain simulations
  • palm/trunk/SOURCE/init_coupling.f90

    r4444 r4564  
    2525! ------------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4444 2020-03-05 15:59:50Z raasch
    2730! bugfix: cpp-directives for serial mode added
    2831!
     
    5053   
    5154    USE pegrid
    52 
    53     USE vertical_nesting_mod
    5455
    5556    IMPLICIT NONE
     
    8485       IF ( TRIM( coupling_mode ) == 'coupled_run' )  THEN
    8586          i = 1
    86        ELSEIF ( TRIM( coupling_mode ) == 'vnested_twi' )  THEN
    87           i = 9
    8887       ELSE
    8988          i = 0
     
    111110          CLOSE ( 90 )
    112111       ENDIF
    113     ELSEIF ( i == 9 )  THEN
    114 
    115 !
    116 !--    Set a flag to identify runs with vertical nesting
    117        vnested = .TRUE.
    118        
    119        comm_inter = MPI_COMM_WORLD
    120        
    121 !
    122 !--    Split the total available PE's into two groups
    123 !--    numprocs for coarse and fine grid are read from stdin (see above, and
    124 !--    execution command in the palmrun script, numprocs are provided via
    125 !--    palmrun option -Y)
    126        IF ( myid < bc_data(1) )  THEN
    127           inter_color     = 0
    128           numprocs        = bc_data(1)
    129           coupling_mode   = 'vnested_crse'
    130        ELSE
    131           inter_color     = 1
    132           numprocs        = bc_data(2)
    133           coupling_mode   = 'vnested_fine'
    134        ENDIF
    135        
    136        CALL MPI_COMM_SPLIT( MPI_COMM_WORLD, inter_color, 0, comm_palm, ierr )
    137        comm2d = comm_palm
    138        
    139        OPEN( 90, FILE='VNESTING_PORT_OPENED', FORM='FORMATTED' )
    140        WRITE ( 90, '(''TRUE'')' )
    141        CLOSE ( 90 )
    142      
    143112    ELSE
    144113       comm_inter = MPI_COMM_WORLD
     
    174143    ENDIF
    175144
    176     IF (  TRIM( coupling_mode ) == 'vnested_fine' )  THEN
    177 !
    178 !-- Set file extension for vertical nesting
    179        coupling_char = '_NV'
    180     ENDIF
    181 
    182145 END SUBROUTINE init_coupling
  • palm/trunk/SOURCE/init_grid.f90

    r4543 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4543 2020-05-20 14:12:22Z gronemeier
    2730! Remove non-required check for canyon height
    2831!
     
    184187
    185188    USE pegrid
    186 
    187 #if defined( __parallel )
    188     USE vertical_nesting_mod,                                                  &
    189         ONLY:  vnested, vnest_init_grid
    190 #endif
    191189
    192190    IMPLICIT NONE
     
    766764       ENDDO
    767765    ENDIF
    768 
    769 #if defined( __parallel )
    770 !
    771 !-- Vertical nesting: communicate vertical grid level arrays between fine and
    772 !-- coarse grid
    773     IF ( vnested )  CALL vnest_init_grid
    774 #endif
    775766
    776767 END SUBROUTINE init_grid
  • palm/trunk/SOURCE/init_pegrid.f90

    r4461 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4461 2020-03-12 16:51:59Z raasch
    2730! communicator configurations for four virtual pe grids defined
    2831!
     
    139142    USE transpose_indices,                                                     &
    140143        ONLY:  nxl_yd, nxr_yd, nzb_yd, nzt_yd
    141 
    142     USE vertical_nesting_mod,                                                  &
    143         ONLY:  vnested, vnest_init_pegrid_domain, vnest_init_pegrid_rank
    144144#endif
    145145
     
    357357
    358358!
    359 !-- Vertical nesting: store four lists that identify partner ranks to exchange
    360 !-- data
    361     IF ( vnested )  CALL vnest_init_pegrid_rank
    362 
    363 !
    364359!-- Determine sub-topologies for transpositions
    365360!-- Transposition from z to x:
     
    666661    CALL MPI_TYPE_COMMIT( type_xy, ierr )
    667662
    668     IF ( TRIM( coupling_mode ) /= 'uncoupled' .AND. .NOT. vnested )  THEN
     663    IF ( TRIM( coupling_mode ) /= 'uncoupled' )  THEN
    669664   
    670665!
     
    766761
    767762    ENDIF
    768 
    769 !
    770 !-- Store partner grid point co-ordinates as lists.
    771 !-- Create custom MPI vector datatypes for contiguous data transfer
    772     IF ( vnested )  CALL vnest_init_pegrid_domain
    773763
    774764#else
  • palm/trunk/SOURCE/local_stop.f90

    r4444 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4444 2020-03-05 15:59:50Z raasch
    2730! bugfix: misplaced cpp-directive moved
    2831!
     
    5760
    5861    IF ( coupling_mode == 'uncoupled' )  THEN
     62
    5963       IF ( nested_run )  THEN
    6064!
     
    7276          ENDIF
    7377       ENDIF
    74     ELSEIF ( coupling_mode(1:8) == 'vnested_' )  THEN
    7578
    76        PRINT*, '+++ local_stop:'
    77        PRINT*, '     model "', TRIM( coupling_mode ), '" terminated'
    78 !
    79 !--    Abort both coarse and fine grid
    80        CALL MPI_ABORT( MPI_COMM_WORLD, 9999, ierr )
    8179    ELSE
    8280
  • palm/trunk/SOURCE/nesting_offl_mod.f90

    r4561 r4564  
    2020! Current revisions:
    2121! ------------------
    22 ! Adapt mass-flux correction also for the anelastic approximation
     22!
    2323!
    2424! Former revisions:
    2525! -----------------
    2626! $Id$
     27! Adapt mass-flux correction also for the anelastic approximation
     28!
     29! 4561 2020-06-12 07:05:56Z suehring
    2730! use statement for exchange horiz added
    2831!
  • palm/trunk/SOURCE/parin.f90

    r4536 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4536 2020-05-17 17:24:13Z raasch
    2730! bugfix for restart data format query
    2831!
     
    146149    USE turbulence_closure_mod,                                                &
    147150        ONLY:  rans_const_c, rans_const_sigma
    148 
    149     USE vertical_nesting_mod,                                                  &
    150         ONLY:  vnest_start_time
    151151
    152152
     
    325325             skip_time_do2d_xy, skip_time_do2d_xz, skip_time_do2d_yz,          &
    326326             skip_time_do3d, skip_time_domask, synchronous_exchange,           &
    327              termination_time_needed, vnest_start_time
     327             termination_time_needed
    328328
    329329    NAMELIST /runtime_parameters/  averaging_interval, averaging_interval_pr,  &
     
    351351             skip_time_do2d_xy, skip_time_do2d_xz, skip_time_do2d_yz,          &
    352352             skip_time_do3d, skip_time_domask, synchronous_exchange,           &
    353              termination_time_needed, vnest_start_time
     353             termination_time_needed
    354354
    355355    NAMELIST /envpar/  progress_bar_disabled, host,                            &
  • palm/trunk/SOURCE/read_restart_data_mod.f90

    r4539 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4539 2020-05-18 14:05:17Z raasch
    2730! location message added
    2831!
     
    195198    USE user,                                                                                      &
    196199        ONLY:  user_module_enabled
    197 
    198     USE vertical_nesting_mod,                                                  &
    199         ONLY:  vnest_init
    200200
    201201    USE virtual_measurement_mod,                                               &
     
    789789             CASE ( 'virtual_flight' )
    790790                READ ( 13 )  virtual_flight
    791              CASE ( 'vnest_init' )
    792                 READ ( 13 )  vnest_init
    793791             CASE ( 'volume_flow_area' )
    794792                READ ( 13 )  volume_flow_area
     
    11291127       CALL rrd_mpi_io_global_array( 'vg_vertical_gradient_level_ind', vg_vertical_gradient_level_ind )
    11301128       CALL rrd_mpi_io( 'virtual_flight', virtual_flight )
    1131        CALL rrd_mpi_io( 'vnest_init', vnest_init )
    11321129       CALL rrd_mpi_io_global_array( 'volume_flow_area', volume_flow_area )
    11331130       CALL rrd_mpi_io_global_array( 'volume_flow_initial', volume_flow_initial )
  • palm/trunk/SOURCE/time_integration.f90

    r4521 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4521 2020-05-06 11:39:49Z schwenkel
    2730! Rename variable
    2831!
     
    398401               usm_surface_energy_balance, usm_green_heat_model
    399402
    400     USE vertical_nesting_mod,                                                                      &
    401         ONLY:  vnested, vnest_init
    402 
    403 #if defined( __parallel )
    404     USE vertical_nesting_mod,                                                                      &
    405         ONLY:  vnest_anterpolate, vnest_anterpolate_e, vnest_boundary_conds,                       &
    406                vnest_boundary_conds_khkm, vnest_deallocate, vnest_init_fine, vnest_start_time
    407 #endif
    408 
    409403    USE virtual_measurement_mod,                                                                   &
    410404        ONLY:  dt_virtual_measurement,                                                             &
     
    616610!-- Data exchange between coupled models in case that a call has been omitted
    617611!-- at the end of the previous run of a job chain.
    618     IF ( coupling_mode /= 'uncoupled'  .AND.  run_coupled  .AND. .NOT. vnested )  THEN
     612    IF ( coupling_mode /= 'uncoupled'  .AND.  run_coupled )  THEN
    619613!
    620614!--    In case of model termination initiated by the local model the coupler
     
    636630
    637631       CALL cpu_log( log_point_s(10), 'timesteps', 'start' )
    638 
    639 #if defined( __parallel )
    640 !
    641 !--    Vertical nesting: initialize fine grid
    642        IF ( vnested ) THEN
    643           IF ( .NOT. vnest_init  .AND.  simulated_time >= vnest_start_time )  THEN
    644              CALL cpu_log( log_point_s(22), 'vnest_init', 'start' )
    645              CALL vnest_init_fine
    646              vnest_init = .TRUE.
    647              CALL cpu_log( log_point_s(22), 'vnest_init', 'stop' )
    648           ENDIF
    649        ENDIF
    650 #endif
    651632
    652633!
     
    868849
    869850#if defined( __parallel )
    870 !
    871 !--       Vertical nesting: Interpolate fine grid data to the coarse grid
    872           IF ( vnest_init ) THEN
    873              CALL cpu_log( log_point_s(37), 'vnest_anterpolate', 'start' )
    874              CALL vnest_anterpolate
    875              CALL cpu_log( log_point_s(37), 'vnest_anterpolate', 'stop' )
    876           ENDIF
    877 
    878851          IF ( nested_run )  THEN
    879852
     
    10331006!--       Reduce the velocity divergence via the equation for perturbation
    10341007!--       pressure.
    1035           IF ( intermediate_timestep_count == 1  .OR. &
    1036                 call_psolver_at_all_substeps )  THEN
    1037 
    1038              IF (  vnest_init ) THEN
     1008          IF ( intermediate_timestep_count == 1  .OR.  call_psolver_at_all_substeps )  THEN
     1009
    10391010#if defined( __parallel )
    10401011!
    1041 !--             Compute pressure in the CG, interpolate top boundary conditions
    1042 !--             to the FG and then compute pressure in the FG
    1043                 IF ( coupling_mode == 'vnested_crse' )  CALL pres
    1044 
    1045                 CALL cpu_log( log_point_s(30), 'vnest_bc', 'start' )
    1046                 CALL vnest_boundary_conds
    1047                 CALL cpu_log( log_point_s(30), 'vnest_bc', 'stop' )
    1048 
    1049                 IF ( coupling_mode == 'vnested_fine' )  CALL pres
    1050 
    1051 !--             Anterpolate TKE, satisfy Germano Identity
    1052                 CALL cpu_log( log_point_s(28), 'vnest_anter_e', 'start' )
    1053                 CALL vnest_anterpolate_e
    1054                 CALL cpu_log( log_point_s(28), 'vnest_anter_e', 'stop' )
    1055 #else
    1056                 CONTINUE
     1012!--          Mass (volume) flux correction to ensure global mass conservation for child domains.
     1013             IF ( child_domain )  THEN
     1014                IF ( nesting_mode == 'vertical' )  THEN
     1015                   CALL pmci_ensure_nest_mass_conservation_vertical
     1016                ELSE
     1017                   CALL pmci_ensure_nest_mass_conservation
     1018                ENDIF
     1019             ENDIF
    10571020#endif
    1058 
    1059              ELSE
    1060 #if defined( __parallel )
    1061 !
    1062 !--             Mass (volume) flux correction to ensure global mass conservation for child domains.
    1063                 IF ( child_domain )  THEN
    1064                    IF ( nesting_mode == 'vertical' )  THEN
    1065                       CALL pmci_ensure_nest_mass_conservation_vertical
    1066                    ELSE
    1067                       CALL pmci_ensure_nest_mass_conservation
    1068                    ENDIF
    1069                 ENDIF
    1070 #endif
    1071                 CALL pres
    1072 
    1073              ENDIF
     1021             CALL pres
    10741022
    10751023          ENDIF
     
    11871135             ENDIF
    11881136             CALL cpu_log( log_point(17), 'diffusivities', 'stop' )
    1189 
    1190 #if defined( __parallel )
    1191 !
    1192 !--          Vertical nesting: set fine grid eddy viscosity top boundary condition
    1193              IF ( vnest_init )  CALL vnest_boundary_conds_khkm
    1194 #endif
    11951137
    11961138          ENDIF
     
    14021344!
    14031345!--    Data exchange between coupled models
    1404        IF ( coupling_mode /= 'uncoupled'  .AND.  run_coupled  .AND.  .NOT. vnested )  THEN
     1346       IF ( coupling_mode /= 'uncoupled'  .AND.  run_coupled )  THEN
    14051347          time_coupling = time_coupling + dt_3d
    14061348
     
    17411683!$ACC END DATA
    17421684
    1743 #if defined( __parallel )
    1744 !
    1745 !-- Vertical nesting: Deallocate variables initialized for vertical nesting
    1746     IF ( vnest_init )  CALL vnest_deallocate
    1747 #endif
    1748 
    17491685    IF ( myid == 0 )  CALL finish_progress_bar
    17501686
  • palm/trunk/SOURCE/timestep.f90

    r4540 r4564  
    2525! -----------------
    2626! $Id$
     27! Vertical nesting method of Huq et al. (2019) removed
     28!
     29! 4540 2020-05-18 15:23:29Z raasch
    2730! File re-formatted to follow the PALM coding standard
    2831!
     
    135138               w_max,                                                                              &
    136139               w_max_ijk
    137 
    138 #if defined( __parallel )
    139     USE vertical_nesting_mod,                                                                      &
    140         ONLY:  vnested,                                                                            &
    141                vnest_timestep_sync
    142 #endif
    143140
    144141    IMPLICIT NONE
     
    413410    ENDIF
    414411
    415 #if defined( __parallel )
    416 !
    417 !-- Vertical nesting: coarse and fine grid timestep has to be identical
    418     IF ( vnested )  CALL vnest_timestep_sync
    419 #endif
    420 
    421412    CALL cpu_log( log_point(12), 'calculate_timestep', 'stop' )
    422413
  • palm/trunk/SOURCE/write_restart_data_mod.f90

    r4536 r4564  
    2424! -----------------
    2525! $Id$
     26! Vertical nesting method of Huq et al. (2019) removed
     27!
     28! 4536 2020-05-17 17:24:13Z raasch
    2629! binary version incremented
    2730!
     
    143146        ONLY:  user_module_enabled
    144147
    145     USE vertical_nesting_mod,                                                                      &
    146         ONLY:  vnest_init
    147 
    148148    USE virtual_measurement_mod,                                                                   &
    149149        ONLY:  time_virtual_measurement
     
    839839       CALL wrd_write_string( 'virtual_flight' )
    840840       WRITE ( 14 )  virtual_flight
    841 
    842        CALL wrd_write_string( 'vnest_init' )
    843        WRITE ( 14 )  vnest_init
    844841
    845842       CALL wrd_write_string( 'volume_flow_area' )
     
    11221119       CALL wrd_mpi_io_global_array( 'vg_vertical_gradient_level_ind', vg_vertical_gradient_level_ind )
    11231120       CALL wrd_mpi_io( 'virtual_flight', virtual_flight )
    1124        CALL wrd_mpi_io( 'vnest_init', vnest_init )
    11251121       CALL wrd_mpi_io_global_array( 'volume_flow_area', volume_flow_area )
    11261122       CALL wrd_mpi_io_global_array( 'volume_flow_initial', volume_flow_initial )
Note: See TracChangeset for help on using the changeset viewer.