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

Introduction of nested domain system

File:
1 edited

Legend:

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

    r1692 r1762  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! Introduction of nested domain feature
    2222!
    2323! Former revisions:
     
    176176               limiter_sedimentation, nc_const, ventilation_effect
    177177
    178     USE control_parameters,                                                    &
    179         ONLY:  alpha_surface, averaging_interval, averaging_interval_pr,       &
    180                bc_e_b, bc_lr, bc_ns, bc_p_b, bc_p_t, bc_pt_b, bc_pt_t,         &
    181                bc_q_b, bc_q_t,bc_s_b, bc_s_t, bc_sa_t, bc_uv_b, bc_uv_t,       &
    182                bottom_salinityflux, building_height, building_length_x,        &
    183                building_length_y, building_wall_left, building_wall_south,     &
    184                call_microphysics_at_all_substeps, call_psolver_at_all_substeps,&
    185                canyon_height,                                                  &
    186                canyon_width_x, canyon_width_y, canyon_wall_left,               &
    187                canyon_wall_south, cfl_factor,                                  &
    188                cloud_droplets, cloud_physics, cloud_scheme,                    &
    189                cloud_top_radiation, conserve_volume_flow,                      &
    190                conserve_volume_flow_mode, constant_flux_layer,                 &
    191                coupling_start_time,                                            &
    192                create_disturbances, cycle_mg, data_output, data_output_masks,  &
    193                data_output_pr, data_output_2d_on_each_pe,                      &
    194                disturbance_amplitude, disturbance_energy_limit,                &
    195                disturbance_level_b, disturbance_level_t, dissipation_1d,       &
    196                do2d_at_begin, do3d_at_begin,                                   &
    197                dp_external, dp_level_b, dp_smooth, dpdxy,                      &
    198                drizzle, dt, dt_averaging_input, dt_averaging_input_pr,         &
    199                dt_coupling, dt_data_output, dt_data_output_av, dt_disturb,     &
    200                dt_domask, dt_dopr, dt_dopr_listing, dt_dots, dt_do2d_xy,       &
    201                dt_do2d_xz, dt_do2d_yz, dt_do3d, dt_max, dt_restart,            &
    202                dt_run_control, dz, dz_max, dz_stretch_factor, dz_stretch_level,&
    203                end_time, ensemble_member_nr, e_init, e_min, fft_method,        &
    204                force_print_header,                                             &
    205                galilei_transformation, host, humidity, inflow_damping_height,  &
    206                inflow_damping_width, inflow_disturbance_begin,                 &
    207                inflow_disturbance_end,  initializing_actions, io_blocks,       &
    208                io_group, km_constant,                                          &
    209                large_scale_forcing,                                            &
    210                large_scale_subsidence,                                         &
    211                loop_optimization, masking_method, mask_scale_x, mask_scale_y,  &
    212                mask_scale_z, mask_x, mask_y, mask_z, mask_x_loop,              &
    213                mask_y_loop, mask_z_loop, maximum_cpu_time_allowed,             &
    214                maximum_parallel_io_streams, max_pr_user, message_string,       &
    215                mg_cycles, mg_switch_to_pe0_level, mixing_length_1d,            &
    216                momentum_advec, most_method, netcdf_data_format,                &
    217                netcdf_precision, neutral, ngsrb, normalizing_region, nsor,     &
    218                nsor_ini, nudging, ocean,                                       &
    219                omega, omega_sor, passive_scalar, phi, nz_do3d,                 &
    220                prandtl_number, precipitation,                                  &
    221                precipitation_amount_interval, psolver, pt_damping_factor,      &
    222                pt_damping_width, pt_reference, pt_surface,                     &
    223                pt_surface_initial_change, pt_vertical_gradient,                &
    224                pt_vertical_gradient_level, q_surface,                          &
    225                q_surface_initial_change, q_vertical_gradient,                  &
    226                q_vertical_gradient_level, random_generator,                    &
    227                random_heatflux, rayleigh_damping_factor,                       &
    228                rayleigh_damping_height, recycling_width, recycling_yshift,     &
    229                reference_state, residual_limit,                                &
    230                restart_time, return_addres, return_username,                   &
    231                revision, roughness_length, runnr,                              &
    232                run_identifier, sa_surface, sa_vertical_gradient,               &
    233                sa_vertical_gradient_level, scalar_advec,                       &
    234                scalar_rayleigh_damping,                                        &
    235                section_xy, section_xz, section_yz, skip_time_data_output,      &
    236                skip_time_data_output_av, skip_time_dopr, skip_time_do2d_xy,    &
    237                skip_time_do2d_xz, skip_time_do2d_yz, skip_time_do3d,           &
    238                skip_time_domask, subs_vertical_gradient,                       &
    239                subs_vertical_gradient_level, surface_heatflux,                 &
    240                surface_pressure, surface_scalarflux, surface_waterflux,        &
    241                synchronous_exchange,s_surface, s_surface_initial_change,       &
    242                s_vertical_gradient, s_vertical_gradient_level,                 &
    243                termination_time_needed, timestep_scheme, topography,           &
    244                topography_grid_convention, top_heatflux,  top_momentumflux_u,  &
    245                top_momentumflux_v, top_salinityflux,                           &
    246                transpose_compute_overlap, turbulence, turbulent_inflow,        &
    247                ug_surface, ug_vertical_gradient, ug_vertical_gradient_level,   &
    248                use_subsidence_tendencies, use_surface_fluxes, use_cmax,        &
    249                use_top_fluxes, use_ug_for_galilei_tr, use_upstream_for_tke,    &
    250                uv_heights, u_bulk, u_profile, vg_surface, vg_vertical_gradient,&
    251                vg_vertical_gradient_level, v_bulk, v_profile,                  &
    252                wall_adjustment, wall_heatflux, wall_humidityflux,              &
    253                wall_scalarflux, write_binary, zeta_max, zeta_min, z0h_factor,  &
    254                z_max_do2d
     178    USE control_parameters
    255179
    256180    USE cpulog,                                                                &
     
    418342          READ ( 11, inipar, ERR=10, END=11 )
    419343
     344#if defined ( PMC_ACTIVE )
     345!
     346!--       In nested domains, npex or npey must not be given in \$inipar
     347!--       because here the PE-grids are always defined in the nestpar-NAMELIST
     348          IF ( ( npex /= -1 ) .OR. ( npey /= -1 ) )  THEN
     349             message_string = 'npex or npey must not be given in \$inipar ' // &
     350                              'in nested domains'
     351             CALL message( 'parin', 'PAXXXX', 1, 2, 0, 6, 0 )
     352          ENDIF
     353#else
     354!
     355!--       Make sure that no nesting boundary conditions are defined if
     356!--       PMC_ACTIVE is not defined. Otherwise initiate abort.
     357          IF ( ( bc_lr == 'nested' ) .OR. ( bc_ns == 'nested' ) .OR. ( bc_uv_t == 'nested' ) .OR. &
     358               ( bc_pt_t ==  'nested' ) .OR. ( bc_q_t == 'nested') .OR. ( bc_sa_t == 'nested') .OR. &
     359               ( bc_p_t == 'nested' ) ) THEN
     360             message_string = 'Nested boundary conditions are not allowed ' // &
     361                              'since the cpp flag PMC_ACTIVE is not set'
     362             CALL message( 'parin', 'PAXXXX', 1, 2, 0, 6, 0 )
     363          ENDIF
     364#endif
     365
    420366#if defined ( __check )
    421367!
Note: See TracChangeset for help on using the changeset viewer.