Ignore:
Timestamp:
Nov 26, 2020 4:02:39 PM (3 years ago)
Author:
raasch
Message:

files re-formatted to follow the PALM coding standard

File:
1 edited

Legend:

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

    r4783 r4797  
    11!> @file parin.f90
    2 !------------------------------------------------------------------------------!
     2!--------------------------------------------------------------------------------------------------!
    33! This file is part of the PALM model system.
    44!
    5 ! PALM is free software: you can redistribute it and/or modify it under the
    6 ! terms of the GNU General Public License as published by the Free Software
    7 ! Foundation, either version 3 of the License, or (at your option) any later
    8 ! version.
    9 !
    10 ! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
    11 ! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
    12 ! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    13 !
    14 ! You should have received a copy of the GNU General Public License along with
    15 ! PALM. If not, see <http://www.gnu.org/licenses/>.
     5! PALM is free software: you can redistribute it and/or modify it under the terms of the GNU General
     6! Public License as published by the Free Software Foundation, either version 3 of the License, or
     7! (at your option) any later version.
     8!
     9! PALM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
     10! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
     11! Public License for more details.
     12!
     13! You should have received a copy of the GNU General Public License along with PALM. If not, see
     14! <http://www.gnu.org/licenses/>.
    1615!
    1716! Copyright 1997-2020 Leibniz Universitaet Hannover
    18 !------------------------------------------------------------------------------!
     17!--------------------------------------------------------------------------------------------------!
    1918!
    2019! Current revisions:
     
    2524! -----------------
    2625! $Id$
     26! file re-formatted to follow the PALM coding standard
     27!
     28! 4783 2020-11-13 13:58:45Z raasch
    2729! bugfix for reading restart data with MPI-I/O (does not work with blockwise I/O)
    2830!
     
    7678!
    7779! 4022 2019-06-12 11:52:39Z suehring
    78 ! Change default top boundary condition for pressure to Neumann in offline
    79 ! nesting case
     80! Change default top boundary condition for pressure to Neumann in offline nesting case
    8081!
    8182! 4017 2019-06-06 12:16:46Z schwenkel
     
    8384!
    8485! 3885 2019-04-11 11:29:34Z kanani
    85 ! Changes related to global restructuring of location messages and introduction
    86 ! of additional debug messages
     86! Changes related to global restructuring of location messages and introduction of additional debug
     87! messages
    8788!
    8889! 3806 2019-03-21 12:45:50Z raasch
     
    107108!>
    108109!> @todo: Revise max_pr_cs (profiles for chemistry)
    109 !------------------------------------------------------------------------------!
     110!--------------------------------------------------------------------------------------------------!
    110111 SUBROUTINE parin
    111112
    112113
    113     USE arrays_3d,                                                             &
    114         ONLY:  pt_init, q_init, ref_state, s_init, sa_init,                    &
    115                ug, u_init, v_init, vg
     114    USE arrays_3d,                                                                                 &
     115        ONLY:  pt_init, q_init, ref_state, s_init, sa_init, ug, u_init, v_init, vg
    116116
    117117    USE chem_modules
     
    119119    USE control_parameters
    120120
    121     USE cpulog,                                                                &
     121    USE cpulog,                                                                                    &
    122122        ONLY:  cpu_log_barrierwait
    123123
    124     USE grid_variables,                                                        &
     124    USE grid_variables,                                                                            &
    125125        ONLY:  dx, dy
    126126
    127     USE indices,                                                               &
     127    USE indices,                                                                                   &
    128128        ONLY:  nx, ny, nz
    129129
    130130    USE kinds
    131131
    132     USE model_1d_mod,                                                          &
     132    USE model_1d_mod,                                                                              &
    133133        ONLY:  damp_level_1d, dt_pr_1d, dt_run_control_1d, end_time_1d
    134134
    135     USE module_interface,                                                      &
     135    USE module_interface,                                                                          &
    136136        ONLY:  module_interface_parin
    137137
    138     USE netcdf_interface,                                                      &
     138    USE netcdf_interface,                                                                          &
    139139        ONLY:  netcdf_data_format, netcdf_deflate, netcdf_precision
    140140
    141141    USE pegrid
    142142
    143     USE pmc_interface,                                                         &
     143    USE pmc_interface,                                                                             &
    144144        ONLY:  nested_run, nesting_mode
    145145
    146     USE profil_parameter,                                                      &
     146    USE profil_parameter,                                                                          &
    147147        ONLY:  cross_profiles, profile_columns, profile_rows
    148148
    149     USE progress_bar,                                                          &
     149    USE progress_bar,                                                                              &
    150150        ONLY :  progress_bar_disabled
    151151
    152     USE read_restart_data_mod,                                                 &
     152    USE read_restart_data_mod,                                                                     &
    153153        ONLY:  rrd_global
    154154
    155     USE statistics,                                                            &
     155    USE statistics,                                                                                &
    156156        ONLY:  hom, hom_sum, pr_palm, statistic_regions
    157157
    158     USE turbulence_closure_mod,                                                &
     158    USE turbulence_closure_mod,                                                                    &
    159159        ONLY:  rans_const_c, rans_const_sigma
    160160
     
    169169    INTEGER(iwp) ::  ioerr          !< error flag for open/read/write
    170170
    171     NAMELIST /inipar/  alpha_surface, approximation, bc_e_b,     &
    172                        bc_lr, bc_ns, bc_p_b, bc_p_t, bc_pt_b, bc_pt_t, bc_q_b, &
    173              bc_q_t,bc_s_b, bc_s_t, bc_uv_b, bc_uv_t,                 &
    174              building_height, building_length_x,          &
    175              building_length_y, building_wall_left, building_wall_south,       &
    176              calc_soil_moisture_during_spinup,                                 &
    177              call_psolver_at_all_substeps,  &
    178              canyon_height,                                                    &
    179              canyon_width_x, canyon_width_y, canyon_wall_left,                 &
    180              canyon_wall_south, cfl_factor, check_realistic_q, cloud_droplets, &
    181              collective_wait, complex_terrain,           &
    182              conserve_volume_flow,                                             &
    183              conserve_volume_flow_mode, constant_flux_layer,                   &
    184              coupling_start_time,             &
    185              cycle_mg, damp_level_1d,                                          &
    186              data_output_during_spinup,                                        &
    187              origin_date_time,                                                 &
    188              dissipation_1d,                                                   &
    189              dp_external, dp_level_b, dp_smooth, dpdxy,    &
    190              dt, dt_pr_1d, dt_run_control_1d, dt_spinup, dx, dy, dz, dz_max,   &
    191              dz_stretch_factor, dz_stretch_level, dz_stretch_level_start,      &
    192              dz_stretch_level_end, end_time_1d, ensemble_member_nr, e_init,    &
    193              e_min, fft_method, flux_input_mode, flux_output_mode,             &
    194              galilei_transformation, humidity,                                 &
    195              inflow_damping_height, inflow_damping_width,                      &
    196              inflow_disturbance_begin, inflow_disturbance_end,                 &
    197              initializing_actions, km_constant,                                &
    198              large_scale_forcing, large_scale_subsidence, latitude,            &
    199              longitude,                                 &
    200              loop_optimization, lsf_exception, masking_method, mg_cycles,      &
    201              mg_switch_to_pe0_level, mixing_length_1d, momentum_advec,         &
    202              monotonic_limiter_z,                                              &
    203              netcdf_precision, neutral, ngsrb,                                 &
    204              nsor, nsor_ini, nudging, nx, ny, nz, ocean_mode, omega,           &
    205              omega_sor, outflow_source_plane, passive_scalar,                  &
    206              prandtl_number, psolver, pt_damping_factor,  pt_damping_width,    &
    207              pt_reference, pt_surface, pt_surface_heating_rate,                &
    208              pt_surface_initial_change, pt_vertical_gradient,                  &
    209              pt_vertical_gradient_level, q_surface, q_surface_initial_change,  &
    210              q_vertical_gradient, q_vertical_gradient_level,                   &
    211              random_generator, random_heatflux, rans_const_c, rans_const_sigma,&
    212              rayleigh_damping_factor, rayleigh_damping_height,                 &
    213              recycling_method_for_thermodynamic_quantities, recycling_width,   &
    214              reference_state, residual_limit,                                  &
    215              rotation_angle,                                                   &
    216              roughness_length,                                                 &
    217              scalar_advec,   &
    218              scalar_rayleigh_damping,                              &
    219              spinup_time, spinup_pt_amplitude, spinup_pt_mean,                 &
    220              statistic_regions, subs_vertical_gradient,                        &
    221              subs_vertical_gradient_level, surface_heatflux, surface_pressure, &
    222              surface_scalarflux, surface_waterflux,                            &
    223              s_surface, s_surface_initial_change, s_vertical_gradient,         &
    224              s_vertical_gradient_level, timestep_scheme,                       &
    225              topography, topography_grid_convention, top_heatflux,             &
    226              top_momentumflux_u, top_momentumflux_v,                           &
    227              top_scalarflux, transpose_compute_overlap,                        &
    228              tunnel_height, tunnel_length, tunnel_width_x, tunnel_width_y,     &
    229              tunnel_wall_depth, turbulence_closure,                            &
    230              turbulent_inflow, turbulent_outflow,                              &
    231              use_subsidence_tendencies, ug_surface, ug_vertical_gradient,      &
    232              use_fixed_date, use_fixed_time,                                   &
    233              use_free_convection_scaling,                                      &
    234              ug_vertical_gradient_level, use_surface_fluxes, use_cmax,         &
    235              use_top_fluxes, use_ug_for_galilei_tr, use_upstream_for_tke,      &
    236              uv_heights, u_bulk, u_profile, vdi_checks, vg_surface,            &
    237              vg_vertical_gradient,  &
    238              vg_vertical_gradient_level, v_bulk, v_profile,&
    239              wall_adjustment, wall_heatflux, wall_humidityflux,                &
    240              wall_scalarflux, y_shift, zeta_max, zeta_min,  &
    241              z0h_factor
    242 
    243     NAMELIST /initialization_parameters/  alpha_surface,                       &
    244              approximation, bc_e_b,                                            &
    245              bc_lr, bc_ns, bc_p_b, bc_p_t, bc_pt_b, bc_pt_t, bc_q_b,           &
    246              bc_q_t,bc_s_b, bc_s_t, bc_uv_b, bc_uv_t,                          &
    247              building_height, building_length_x,                               &
    248              building_length_y, building_wall_left, building_wall_south,       &
    249              calc_soil_moisture_during_spinup,                                 &
    250              call_psolver_at_all_substeps,                                     &
    251              canyon_height,                                                    &
    252              canyon_width_x, canyon_width_y, canyon_wall_left,                 &
    253              canyon_wall_south, cfl_factor, check_realistic_q, cloud_droplets, &
    254              collective_wait, complex_terrain,                                 &
    255              conserve_volume_flow,                                             &
    256              conserve_volume_flow_mode, constant_flux_layer,                   &
    257              coupling_start_time,                                              &
    258              cycle_mg, damp_level_1d,                                          &
    259              data_output_during_spinup,                                        &
    260              origin_date_time,                                                 &
    261              dissipation_1d,                                                   &
    262              dp_external, dp_level_b, dp_smooth, dpdxy,                        &
    263              dt, dt_pr_1d, dt_run_control_1d, dt_spinup, dx, dy, dz, dz_max,   &
    264              dz_stretch_factor, dz_stretch_level, dz_stretch_level_start,      &
    265              dz_stretch_level_end, end_time_1d, ensemble_member_nr, e_init,    &
    266              e_min, fft_method, flux_input_mode, flux_output_mode,             &
    267              galilei_transformation, humidity,                                 &
    268              inflow_damping_height, inflow_damping_width,                      &
    269              inflow_disturbance_begin, inflow_disturbance_end,                 &
    270              initializing_actions, km_constant,                                &
    271              large_scale_forcing, large_scale_subsidence, latitude,            &
    272              longitude,                                                        &
    273              loop_optimization, lsf_exception, masking_method, mg_cycles,      &
    274              mg_switch_to_pe0_level, mixing_length_1d, momentum_advec,         &
    275              monotonic_limiter_z,                                              &
    276              netcdf_precision, neutral, ngsrb,                                 &
    277              nsor, nsor_ini, nudging, nx, ny, nz, ocean_mode, omega,           &
    278              omega_sor, outflow_source_plane, passive_scalar,                  &
    279              prandtl_number, psolver, pt_damping_factor, pt_damping_width,     &
    280              pt_surface_heating_rate, pt_reference, pt_surface,                &
    281              pt_surface_initial_change, pt_vertical_gradient,                  &
    282              pt_vertical_gradient_level, q_surface, q_surface_initial_change,  &
    283              q_vertical_gradient, q_vertical_gradient_level,                   &
    284              random_generator, random_heatflux, rans_const_c, rans_const_sigma,&
    285              rayleigh_damping_factor, rayleigh_damping_height,                 &
    286              recycling_method_for_thermodynamic_quantities, recycling_width,   &
    287              reference_state, residual_limit,                                  &
    288              restart_data_format, restart_data_format_input, restart_data_format_output,           &
    289              rotation_angle,                                                   &
    290              roughness_length, scalar_advec,                                   &
    291              scalar_rayleigh_damping,                                          &
    292              spinup_time, spinup_pt_amplitude, spinup_pt_mean,                 &
    293              statistic_regions, subs_vertical_gradient,                        &
    294              subs_vertical_gradient_level, surface_heatflux, surface_pressure, &
    295              surface_scalarflux, surface_waterflux,                            &
    296              s_surface, s_surface_initial_change, s_vertical_gradient,         &
    297              s_vertical_gradient_level, timestep_scheme,                       &
    298              topography, topography_grid_convention, top_heatflux,             &
    299              top_momentumflux_u, top_momentumflux_v,                           &
    300              top_scalarflux, transpose_compute_overlap,                        &
    301              tunnel_height, tunnel_length, tunnel_width_x, tunnel_width_y,     &
    302              tunnel_wall_depth, turbulence_closure,                            &
    303              turbulent_inflow, turbulent_outflow,                              &
    304              use_subsidence_tendencies, ug_surface, ug_vertical_gradient,      &
    305              ug_vertical_gradient_level, use_surface_fluxes, use_cmax,         &
    306              use_top_fluxes, use_ug_for_galilei_tr, use_upstream_for_tke,      &
    307              use_fixed_date, use_fixed_time,                                   &
    308              use_free_convection_scaling,                                      &
    309              uv_heights, u_bulk, u_profile, vdi_checks,                        &
    310              vg_surface, vg_vertical_gradient,  &
    311              vg_vertical_gradient_level, v_bulk, v_profile,                    &
    312              wall_adjustment, wall_heatflux, wall_humidityflux,                &
    313              wall_scalarflux, y_shift, zeta_max, zeta_min, z0h_factor
    314 
    315     NAMELIST /d3par/  averaging_interval, averaging_interval_pr,               &
    316              cpu_log_barrierwait, create_disturbances,                         &
    317              cross_profiles, data_output, data_output_masks,                   &
    318              data_output_pr, data_output_2d_on_each_pe,                        &
    319              debug_output,                                                     &
    320              debug_output_timestep,                                            &
    321              disturbance_amplitude,                                            &
    322              disturbance_energy_limit, disturbance_level_b,                    &
    323              disturbance_level_t, do2d_at_begin, do3d_at_begin,                &
    324              dt, dt_averaging_input, dt_averaging_input_pr,                    &
    325              dt_coupling, dt_data_output, dt_data_output_av, dt_disturb,       &
    326              dt_domask, dt_dopr, dt_dopr_listing, dt_dots, dt_do2d_xy,         &
    327              dt_do2d_xz, dt_do2d_yz, dt_do3d, dt_max, dt_restart,              &
    328              dt_run_control,end_time, force_print_header, mask_k_over_surface, &
    329              mask_scale_x,                                                     &
    330              mask_scale_y, mask_scale_z, mask_x, mask_y, mask_z, mask_x_loop,  &
    331              mask_y_loop, mask_z_loop, netcdf_data_format, netcdf_deflate,     &
    332              normalizing_region, npex, npey, nz_do3d,                          &
    333              profile_columns, profile_rows,     &
    334              restart_time, section_xy, section_xz, section_yz,                 &
    335              skip_time_data_output, skip_time_data_output_av, skip_time_dopr,  &
    336              skip_time_do2d_xy, skip_time_do2d_xz, skip_time_do2d_yz,          &
    337              skip_time_do3d, skip_time_domask, synchronous_exchange,           &
    338              termination_time_needed
    339 
    340     NAMELIST /runtime_parameters/  averaging_interval, averaging_interval_pr,  &
    341              cpu_log_barrierwait, create_disturbances,                         &
    342              cross_profiles, data_output, data_output_masks,                   &
    343              data_output_pr, data_output_2d_on_each_pe,                        &
    344              debug_output,                                                     &
    345              debug_output_timestep,                                            &
    346              disturbance_amplitude,                                            &
    347              disturbance_energy_limit, disturbance_level_b,                    &
    348              disturbance_level_t, do2d_at_begin, do3d_at_begin,                &
    349              dt, dt_averaging_input, dt_averaging_input_pr,                    &
    350              dt_coupling, dt_data_output, dt_data_output_av, dt_disturb,       &
    351              dt_domask, dt_dopr, dt_dopr_listing, dt_dots, dt_do2d_xy,         &
    352              dt_do2d_xz, dt_do2d_yz, dt_do3d, dt_max, dt_restart,              &
    353              dt_run_control,end_time, force_print_header, mask_k_over_surface, &
    354              mask_scale_x,                                                     &
    355              mask_scale_y, mask_scale_z, mask_x, mask_y, mask_z, mask_x_loop,  &
    356              mask_y_loop, mask_z_loop, netcdf_data_format, netcdf_deflate,     &
    357              normalizing_region, npex, npey, nz_do3d,                          &
    358              profile_columns, profile_rows,     &
    359              restart_time, section_xy, section_xz, section_yz,                 &
    360              restart_data_format, restart_data_format_input, restart_data_format_output,           &
    361              skip_time_data_output, skip_time_data_output_av, skip_time_dopr,  &
    362              skip_time_do2d_xy, skip_time_do2d_xz, skip_time_do2d_yz,          &
    363              skip_time_do3d, skip_time_domask, synchronous_exchange,           &
    364              termination_time_needed
    365 
    366     NAMELIST /envpar/  progress_bar_disabled, host,                            &
    367                        maximum_cpu_time_allowed, maximum_parallel_io_streams,  &
    368                        read_svf, revision, run_identifier, tasks_per_node,     &
    369                        write_binary, write_svf
    370 
    371 !
    372 !-- First read values of environment variables (this NAMELIST file is
    373 !-- generated by palmrun)
     171    NAMELIST /inipar/  alpha_surface,                                                              &
     172                       approximation,                                                              &
     173                       bc_e_b,                                                                     &
     174                       bc_lr,                                                                      &
     175                       bc_ns,                                                                      &
     176                       bc_p_b,                                                                     &
     177                       bc_p_t,                                                                     &
     178                       bc_pt_b,                                                                    &
     179                       bc_pt_t,                                                                    &
     180                       bc_q_b,                                                                     &
     181                       bc_q_t,                                                                     &
     182                       bc_s_b,                                                                     &
     183                       bc_s_t,                                                                     &
     184                       bc_uv_b,                                                                    &
     185                       bc_uv_t,                                                                    &
     186                       building_height,                                                            &
     187                       building_length_x,                                                          &
     188                       building_length_y,                                                          &
     189                       building_wall_left,                                                         &
     190                       building_wall_south,                                                        &
     191                       calc_soil_moisture_during_spinup,                                           &
     192                       call_psolver_at_all_substeps,                                               &
     193                       canyon_height,                                                              &
     194                       canyon_wall_left,                                                           &
     195                       canyon_wall_south,                                                          &
     196                       canyon_width_x,                                                             &
     197                       canyon_width_y,                                                             &
     198                       cfl_factor,                                                                 &
     199                       check_realistic_q,                                                          &
     200                       cloud_droplets,                                                             &
     201                       collective_wait,                                                            &
     202                       complex_terrain,                                                            &
     203                       conserve_volume_flow,                                                       &
     204                       conserve_volume_flow_mode,                                                  &
     205                       constant_flux_layer,                                                        &
     206                       coupling_start_time,                                                        &
     207                       cycle_mg,                                                                   &
     208                       damp_level_1d,                                                              &
     209                       data_output_during_spinup,                                                  &
     210                       dissipation_1d,                                                             &
     211                       dp_external,                                                                &
     212                       dp_level_b,                                                                 &
     213                       dp_smooth,                                                                  &
     214                       dpdxy,                                                                      &
     215                       dt,                                                                         &
     216                       dt_pr_1d,                                                                   &
     217                       dt_run_control_1d,                                                          &
     218                       dt_spinup,                                                                  &
     219                       dx,                                                                         &
     220                       dy,                                                                         &
     221                       dz,                                                                         &
     222                       dz_max,                                                                     &
     223                       dz_stretch_factor,                                                          &
     224                       dz_stretch_level,                                                           &
     225                       dz_stretch_level_end,                                                       &
     226                       dz_stretch_level_start,                                                     &
     227                       e_init,                                                                     &
     228                       e_min,                                                                      &
     229                       end_time_1d,                                                                &
     230                       ensemble_member_nr,                                                         &
     231                       fft_method,                                                                 &
     232                       flux_input_mode,                                                            &
     233                       flux_output_mode,                                                           &
     234                       galilei_transformation,                                                     &
     235                       humidity,                                                                   &
     236                       inflow_damping_height,                                                      &
     237                       inflow_damping_width,                                                       &
     238                       inflow_disturbance_begin,                                                   &
     239                       inflow_disturbance_end,                                                     &
     240                       initializing_actions,                                                       &
     241                       km_constant,                                                                &
     242                       large_scale_forcing,                                                        &
     243                       large_scale_subsidence,                                                     &
     244                       latitude,                                                                   &
     245                       longitude,                                                                  &
     246                       loop_optimization,                                                          &
     247                       lsf_exception,                                                              &
     248                       masking_method,                                                             &
     249                       mg_cycles,                                                                  &
     250                       mg_switch_to_pe0_level,                                                     &
     251                       mixing_length_1d,                                                           &
     252                       momentum_advec,                                                             &
     253                       monotonic_limiter_z,                                                        &
     254                       netcdf_precision,                                                           &
     255                       neutral,                                                                    &
     256                       ngsrb,                                                                      &
     257                       nsor,                                                                       &
     258                       nsor_ini,                                                                   &
     259                       nudging,                                                                    &
     260                       nx,                                                                         &
     261                       ny,                                                                         &
     262                       nz,                                                                         &
     263                       ocean_mode,                                                                 &
     264                       omega,                                                                      &
     265                       omega_sor,                                                                  &
     266                       origin_date_time,                                                           &
     267                       outflow_source_plane,                                                       &
     268                       passive_scalar,                                                             &
     269                       prandtl_number,                                                             &
     270                       psolver,                                                                    &
     271                       pt_damping_factor,                                                          &
     272                       pt_damping_width,                                                           &
     273                       pt_reference,                                                               &
     274                       pt_surface,                                                                 &
     275                       pt_surface_heating_rate,                                                    &
     276                       pt_surface_initial_change,                                                  &
     277                       pt_vertical_gradient,                                                       &
     278                       pt_vertical_gradient_level,                                                 &
     279                       q_surface,                                                                  &
     280                       q_surface_initial_change,                                                   &
     281                       q_vertical_gradient,                                                        &
     282                       q_vertical_gradient_level,                                                  &
     283                       random_generator,                                                           &
     284                       random_heatflux,                                                            &
     285                       rans_const_c,                                                               &
     286                       rans_const_sigma,                                                           &
     287                       rayleigh_damping_factor,                                                    &
     288                       rayleigh_damping_height,                                                    &
     289                       recycling_method_for_thermodynamic_quantities,                              &
     290                       recycling_width,                                                            &
     291                       reference_state,                                                            &
     292                       residual_limit,                                                             &
     293                       rotation_angle,                                                             &
     294                       roughness_length,                                                           &
     295                       scalar_advec,                                                               &
     296                       scalar_rayleigh_damping,                                                    &
     297                       spinup_time,                                                                &
     298                       spinup_pt_amplitude,                                                        &
     299                       spinup_pt_mean,                                                             &
     300                       statistic_regions,                                                          &
     301                       subs_vertical_gradient,                                                     &
     302                       subs_vertical_gradient_level,                                               &
     303                       surface_heatflux,                                                           &
     304                       surface_pressure,                                                           &
     305                       surface_scalarflux,                                                         &
     306                       surface_waterflux,                                                          &
     307                       s_surface,                                                                  &
     308                       s_surface_initial_change,                                                   &
     309                       s_vertical_gradient,                                                        &
     310                       s_vertical_gradient_level,                                                  &
     311                       timestep_scheme,                                                            &
     312                       topography,                                                                 &
     313                       topography_grid_convention,                                                 &
     314                       top_heatflux,                                                               &
     315                       top_momentumflux_u,                                                         &
     316                       top_momentumflux_v,                                                         &
     317                       top_scalarflux,                                                             &
     318                       transpose_compute_overlap,                                                  &
     319                       tunnel_height,                                                              &
     320                       tunnel_length,                                                              &
     321                       tunnel_wall_depth,                                                          &
     322                       tunnel_width_x,                                                             &
     323                       tunnel_width_y,                                                             &
     324                       turbulence_closure,                                                         &
     325                       turbulent_inflow,                                                           &
     326                       turbulent_outflow,                                                          &
     327                       u_bulk,                                                                     &
     328                       u_profile,                                                                  &
     329                       ug_surface,                                                                 &
     330                       ug_vertical_gradient,                                                       &
     331                       ug_vertical_gradient_level,                                                 &
     332                       use_cmax,                                                                   &
     333                       use_fixed_date,                                                             &
     334                       use_fixed_time,                                                             &
     335                       use_free_convection_scaling,                                                &
     336                       use_ug_for_galilei_tr,                                                      &
     337                       use_subsidence_tendencies,                                                  &
     338                       use_surface_fluxes,                                                         &
     339                       use_top_fluxes,                                                             &
     340                       use_upstream_for_tke,                                                       &
     341                       uv_heights,                                                                 &
     342                       v_bulk,                                                                     &
     343                       v_profile,                                                                  &
     344                       vdi_checks,                                                                 &
     345                       vg_surface,                                                                 &
     346                       vg_vertical_gradient,                                                       &
     347                       vg_vertical_gradient_level,                                                 &
     348                       wall_adjustment,                                                            &
     349                       wall_heatflux,                                                              &
     350                       wall_humidityflux,                                                          &
     351                       wall_scalarflux,                                                            &
     352                       y_shift,                                                                    &
     353                       zeta_max,                                                                   &
     354                       zeta_min,                                                                   &
     355                       z0h_factor
     356
     357    NAMELIST /initialization_parameters/  alpha_surface,                                           &
     358                                          approximation,                                           &
     359                                          bc_e_b,                                                  &
     360                                          bc_lr,                                                   &
     361                                          bc_ns,                                                   &
     362                                          bc_p_b,                                                  &
     363                                          bc_p_t,                                                  &
     364                                          bc_pt_b,                                                 &
     365                                          bc_pt_t,                                                 &
     366                                          bc_q_b,                                                  &
     367                                          bc_q_t,                                                  &
     368                                          bc_s_b,                                                  &
     369                                          bc_s_t,                                                  &
     370                                          bc_uv_b,                                                 &
     371                                          bc_uv_t,                                                 &
     372                                          building_height,                                         &
     373                                          building_length_x,                                       &
     374                                          building_length_y,                                       &
     375                                          building_wall_left,                                      &
     376                                          building_wall_south,                                     &
     377                                          calc_soil_moisture_during_spinup,                        &
     378                                          call_psolver_at_all_substeps,                            &
     379                                          canyon_height,                                           &
     380                                          canyon_wall_left,                                        &
     381                                          canyon_wall_south,                                       &
     382                                          canyon_width_x,                                          &
     383                                          canyon_width_y,                                          &
     384                                          cfl_factor,                                              &
     385                                          check_realistic_q,                                       &
     386                                          cloud_droplets,                                          &
     387                                          collective_wait,                                         &
     388                                          complex_terrain,                                         &
     389                                          conserve_volume_flow,                                    &
     390                                          conserve_volume_flow_mode,                               &
     391                                          constant_flux_layer,                                     &
     392                                          coupling_start_time,                                     &
     393                                          cycle_mg,                                                &
     394                                          damp_level_1d,                                           &
     395                                          data_output_during_spinup,                               &
     396                                          dissipation_1d,                                          &
     397                                          dp_external,                                             &
     398                                          dp_level_b,                                              &
     399                                          dp_smooth, dpdxy,                                        &
     400                                          dt,                                                      &
     401                                          dt_pr_1d,                                                &
     402                                          dt_run_control_1d,                                       &
     403                                          dt_spinup,                                               &
     404                                          dx,                                                      &
     405                                          dy,                                                      &
     406                                          dz,                                                      &
     407                                          dz_max,                                                  &
     408                                          dz_stretch_factor,                                       &
     409                                          dz_stretch_level,                                        &
     410                                          dz_stretch_level_start,                                  &
     411                                          dz_stretch_level_end,                                    &
     412                                          e_init,                                                  &
     413                                          e_min,                                                   &
     414                                          end_time_1d,                                             &
     415                                          ensemble_member_nr,                                      &
     416                                          fft_method,                                              &
     417                                          flux_input_mode,                                         &
     418                                          flux_output_mode,                                        &
     419                                          galilei_transformation,                                  &
     420                                          humidity,                                                &
     421                                          inflow_damping_height,                                   &
     422                                          inflow_damping_width,                                    &
     423                                          inflow_disturbance_begin,                                &
     424                                          inflow_disturbance_end,                                  &
     425                                          initializing_actions,                                    &
     426                                          km_constant,                                             &
     427                                          large_scale_forcing,                                     &
     428                                          large_scale_subsidence,                                  &
     429                                          latitude,                                                &
     430                                          longitude,                                               &
     431                                          loop_optimization,                                       &
     432                                          lsf_exception,                                           &
     433                                          masking_method,                                          &
     434                                          mg_cycles,                                               &
     435                                          mg_switch_to_pe0_level,                                  &
     436                                          mixing_length_1d,                                        &
     437                                          momentum_advec,                                          &
     438                                          monotonic_limiter_z,                                     &
     439                                          netcdf_precision,                                        &
     440                                          neutral,                                                 &
     441                                          ngsrb,                                                   &
     442                                          nsor,                                                    &
     443                                          nsor_ini,                                                &
     444                                          nudging,                                                 &
     445                                          nx,                                                      &
     446                                          ny,                                                      &
     447                                          nz,                                                      &
     448                                          ocean_mode,                                              &
     449                                          omega,                                                   &
     450                                          omega_sor,                                               &
     451                                          origin_date_time,                                        &
     452                                          outflow_source_plane,                                    &
     453                                          passive_scalar,                                          &
     454                                          prandtl_number,                                          &
     455                                          psolver,                                                 &
     456                                          pt_damping_factor,                                       &
     457                                          pt_damping_width,                                        &
     458                                          pt_reference, pt_surface,                                &
     459                                          pt_surface_heating_rate,                                 &
     460                                          pt_surface_initial_change,                               &
     461                                          pt_vertical_gradient,                                    &
     462                                          pt_vertical_gradient_level,                              &
     463                                          q_surface,                                               &
     464                                          q_surface_initial_change,                                &
     465                                          q_vertical_gradient,                                     &
     466                                          q_vertical_gradient_level,                               &
     467                                          random_generator,                                        &
     468                                          random_heatflux,                                         &
     469                                          rans_const_c,                                            &
     470                                          rans_const_sigma,                                        &
     471                                          rayleigh_damping_factor,                                 &
     472                                          rayleigh_damping_height,                                 &
     473                                          recycling_method_for_thermodynamic_quantities,           &
     474                                          recycling_width,                                         &
     475                                          reference_state,                                         &
     476                                          residual_limit,                                          &
     477                                          restart_data_format,                                     &
     478                                          restart_data_format_input,                               &
     479                                          restart_data_format_output,                              &
     480                                          rotation_angle,                                          &
     481                                          roughness_length,                                        &
     482                                          s_surface,                                               &
     483                                          s_surface_initial_change,                                &
     484                                          s_vertical_gradient,                                     &
     485                                          s_vertical_gradient_level,                               &
     486                                          scalar_advec,                                            &
     487                                          scalar_rayleigh_damping,                                 &
     488                                          spinup_time,                                             &
     489                                          spinup_pt_amplitude,                                     &
     490                                          spinup_pt_mean,                                          &
     491                                          statistic_regions,                                       &
     492                                          subs_vertical_gradient,                                  &
     493                                          subs_vertical_gradient_level,                            &
     494                                          surface_heatflux,                                        &
     495                                          surface_pressure,                                        &
     496                                          surface_scalarflux,                                      &
     497                                          surface_waterflux,                                       &
     498                                          timestep_scheme,                                         &
     499                                          topography,                                              &
     500                                          topography_grid_convention,                              &
     501                                          top_heatflux,                                            &
     502                                          top_momentumflux_u,                                      &
     503                                          top_momentumflux_v,                                      &
     504                                          top_scalarflux,                                          &
     505                                          transpose_compute_overlap,                               &
     506                                          tunnel_height,                                           &
     507                                          tunnel_length,                                           &
     508                                          tunnel_wall_depth,                                       &
     509                                          tunnel_width_x,                                          &
     510                                          tunnel_width_y,                                          &
     511                                          turbulence_closure,                                      &
     512                                          turbulent_inflow,                                        &
     513                                          turbulent_outflow,                                       &
     514                                          u_bulk,                                                  &
     515                                          u_profile,                                               &
     516                                          ug_surface,                                              &
     517                                          ug_vertical_gradient,                                    &
     518                                          ug_vertical_gradient_level,                              &
     519                                          use_fixed_date,                                          &
     520                                          use_fixed_time,                                          &
     521                                          use_free_convection_scaling,                             &
     522                                          use_ug_for_galilei_tr,                                   &
     523                                          use_subsidence_tendencies,                               &
     524                                          use_surface_fluxes, use_cmax,                            &
     525                                          use_top_fluxes,                                          &
     526                                          use_upstream_for_tke,                                    &
     527                                          uv_heights,                                              &
     528                                          v_bulk,                                                  &
     529                                          v_profile,                                               &
     530                                          vdi_checks,                                              &
     531                                          vg_surface,                                              &
     532                                          vg_vertical_gradient,                                    &
     533                                          vg_vertical_gradient_level,                              &
     534                                          wall_adjustment,                                         &
     535                                          wall_heatflux,                                           &
     536                                          wall_humidityflux,                                       &
     537                                          wall_scalarflux,                                         &
     538                                          y_shift,                                                 &
     539                                          zeta_max,                                                &
     540                                          zeta_min,                                                &
     541                                          z0h_factor
     542
     543    NAMELIST /d3par/  averaging_interval,                                                          &
     544                      averaging_interval_pr,                                                       &
     545                      cpu_log_barrierwait,                                                         &
     546                      create_disturbances,                                                         &
     547                      cross_profiles,                                                              &
     548                      data_output,                                                                 &
     549                      data_output_2d_on_each_pe,                                                   &
     550                      data_output_masks,                                                           &
     551                      data_output_pr,                                                              &
     552                      debug_output,                                                                &
     553                      debug_output_timestep,                                                       &
     554                      disturbance_amplitude,                                                       &
     555                      disturbance_energy_limit,                                                    &
     556                      disturbance_level_b,                                                         &
     557                      disturbance_level_t,                                                         &
     558                      do2d_at_begin,                                                               &
     559                      do3d_at_begin,                                                               &
     560                      dt,                                                                          &
     561                      dt_averaging_input,                                                          &
     562                      dt_averaging_input_pr,                                                       &
     563                      dt_coupling,                                                                 &
     564                      dt_data_output,                                                              &
     565                      dt_data_output_av,                                                           &
     566                      dt_disturb,                                                                  &
     567                      dt_domask,                                                                   &
     568                      dt_dopr,                                                                     &
     569                      dt_dopr_listing,                                                             &
     570                      dt_dots,                                                                     &
     571                      dt_do2d_xy,                                                                  &
     572                      dt_do2d_xz,                                                                  &
     573                      dt_do2d_yz,                                                                  &
     574                      dt_do3d,                                                                     &
     575                      dt_max,                                                                      &
     576                      dt_restart,                                                                  &
     577                      dt_run_control,                                                              &
     578                      end_time,                                                                    &
     579                      force_print_header,                                                          &
     580                      mask_k_over_surface,                                                         &
     581                      mask_scale_x,                                                                &
     582                      mask_scale_y,                                                                &
     583                      mask_scale_z,                                                                &
     584                      mask_x,                                                                      &
     585                      mask_y,                                                                      &
     586                      mask_z,                                                                      &
     587                      mask_x_loop,                                                                 &
     588                      mask_y_loop,                                                                 &
     589                      mask_z_loop,                                                                 &
     590                      netcdf_data_format,                                                          &
     591                      netcdf_deflate,                                                              &
     592                      normalizing_region,                                                          &
     593                      npex,                                                                        &
     594                      npey,                                                                        &
     595                      nz_do3d,                                                                     &
     596                      profile_columns,                                                             &
     597                      profile_rows,                                                                &
     598                      restart_time,                                                                &
     599                      section_xy,                                                                  &
     600                      section_xz,                                                                  &
     601                      section_yz,                                                                  &
     602                      skip_time_data_output,                                                       &
     603                      skip_time_data_output_av,                                                    &
     604                      skip_time_dopr,                                                              &
     605                      skip_time_do2d_xy,                                                           &
     606                      skip_time_do2d_xz,                                                           &
     607                      skip_time_do2d_yz,                                                           &
     608                      skip_time_do3d,                                                              &
     609                      skip_time_domask,                                                            &
     610                      synchronous_exchange,                                                        &
     611                      termination_time_needed
     612
     613    NAMELIST /runtime_parameters/  averaging_interval,                                             &
     614                                   averaging_interval_pr,                                          &
     615                                   cpu_log_barrierwait,                                            &
     616                                   create_disturbances,                                            &
     617                                   cross_profiles,                                                 &
     618                                   data_output,                                                    &
     619                                   data_output_2d_on_each_pe,                                      &
     620                                   data_output_masks,                                              &
     621                                   data_output_pr,                                                 &
     622                                   debug_output,                                                   &
     623                                   debug_output_timestep,                                          &
     624                                   disturbance_amplitude,                                          &
     625                                   disturbance_energy_limit,                                       &
     626                                   disturbance_level_b,                                            &
     627                                   disturbance_level_t,                                            &
     628                                   do2d_at_begin,                                                  &
     629                                   do3d_at_begin,                                                  &
     630                                   dt,                                                             &
     631                                   dt_averaging_input,                                             &
     632                                   dt_averaging_input_pr,                                          &
     633                                   dt_coupling,                                                    &
     634                                   dt_data_output,                                                 &
     635                                   dt_data_output_av,                                              &
     636                                   dt_disturb,                                                     &
     637                                   dt_domask,                                                      &
     638                                   dt_dopr,                                                        &
     639                                   dt_dopr_listing,                                                &
     640                                   dt_dots,                                                        &
     641                                   dt_do2d_xy,                                                     &
     642                                   dt_do2d_xz,                                                     &
     643                                   dt_do2d_yz,                                                     &
     644                                   dt_do3d,                                                        &
     645                                   dt_max,                                                         &
     646                                   dt_restart,                                                     &
     647                                   dt_run_control,                                                 &
     648                                   end_time,                                                       &
     649                                   force_print_header,                                             &
     650                                   mask_k_over_surface,                                            &
     651                                   mask_scale_x,                                                   &
     652                                   mask_scale_y,                                                   &
     653                                   mask_scale_z,                                                   &
     654                                   mask_x,                                                         &
     655                                   mask_y,                                                         &
     656                                   mask_z,                                                         &
     657                                   mask_x_loop,                                                    &
     658                                   mask_y_loop,                                                    &
     659                                   mask_z_loop,                                                    &
     660                                   netcdf_data_format,                                             &
     661                                   netcdf_deflate,                                                 &
     662                                   normalizing_region,                                             &
     663                                   npex,                                                           &
     664                                   npey,                                                           &
     665                                   nz_do3d,                                                        &
     666                                   profile_columns,                                                &
     667                                   profile_rows,                                                   &
     668                                   restart_time,                                                   &
     669                                   section_xy,                                                     &
     670                                   section_xz,                                                     &
     671                                   section_yz,                                                     &
     672                                   restart_data_format,                                            &
     673                                   restart_data_format_input,                                      &
     674                                   restart_data_format_output,                                     &
     675                                   skip_time_data_output,                                          &
     676                                   skip_time_data_output_av,                                       &
     677                                   skip_time_dopr,                                                 &
     678                                   skip_time_do2d_xy,                                              &
     679                                   skip_time_do2d_xz,                                              &
     680                                   skip_time_do2d_yz,                                              &
     681                                   skip_time_do3d,                                                 &
     682                                   skip_time_domask,                                               &
     683                                   synchronous_exchange,                                           &
     684                                   termination_time_needed
     685
     686    NAMELIST /envpar/  host,                                                                       &
     687                       maximum_cpu_time_allowed,                                                   &
     688                       maximum_parallel_io_streams,                                                &
     689                       progress_bar_disabled,                                                      &
     690                       read_svf,                                                                   &
     691                       revision,                                                                   &
     692                       run_identifier,                                                             &
     693                       tasks_per_node,                                                             &
     694                       write_binary,                                                               &
     695                       write_svf
     696
     697!
     698!-- First read values of environment variables (this NAMELIST file is generated by palmrun)
    374699    CALL location_message( 'reading environment parameters from ENVPAR', 'start' )
    375700
    376     OPEN ( 90, FILE='ENVPAR', STATUS='OLD', FORM='FORMATTED', IOSTAT=ioerr )
     701    OPEN( 90, FILE='ENVPAR', STATUS='OLD', FORM='FORMATTED', IOSTAT=ioerr )
    377702
    378703    IF ( ioerr /= 0 )  THEN
    379        message_string = 'local file ENVPAR not found' //                       &
     704       message_string = 'local file ENVPAR not found' //                                           &
    380705                        '&some variables for steering may not be properly set'
    381706       CALL message( 'parin', 'PA0276', 0, 1, 0, 6, 0 )
    382707    ELSE
    383        READ ( 90, envpar, IOSTAT=ioerr )
     708       READ( 90, envpar, IOSTAT=ioerr )
    384709       IF ( ioerr < 0 )  THEN
    385           message_string = 'no envpar-NAMELIST found in local file '  //       &
     710          message_string = 'no envpar-NAMELIST found in local file '  //                           &
    386711                           'ENVPAR& or some variables for steering may '  //   &
    387712                           'not be properly set'
    388713          CALL message( 'parin', 'PA0278', 0, 1, 0, 6, 0 )
    389714       ELSEIF ( ioerr > 0 )  THEN
    390           message_string = 'errors in local file ENVPAR' //                    &
     715          message_string = 'errors in local file ENVPAR' //                                        &
    391716                           '&some variables for steering may not be properly set'
    392717          CALL message( 'parin', 'PA0277', 0, 1, 0, 6, 0 )
    393718       ENDIF
    394        CLOSE ( 90 )
     719       CLOSE( 90 )
    395720    ENDIF
    396721
     
    414739
    415740 11 REWIND ( 11 )
    416     READ ( 11, inipar, ERR=12, END=13 )
    417 
    418     message_string = 'namelist inipar is deprecated and will be ' //    &
    419                      'removed in near future. & Please use namelist ' // &
     741    READ( 11, inipar, ERR=12, END=13 )
     742
     743    message_string = 'namelist inipar is deprecated and will be ' //                               &
     744                     'removed in near future. & Please use namelist ' //                           &
    420745                     'initialization_parameters instead'
    421746    CALL message( 'parin', 'PA0017', 0, 1, 0, 6, 0 )
     
    431756
    432757!
    433 !-- Try to read runtime parameters given by the user for this run
    434 !-- (namelist "runtime_parameters"). The namelist "runtime_parmeters"
    435 !-- can be omitted. In that case default values are used for the
     758!-- Try to read runtime parameters given by the user for this run (namelist "runtime_parameters").
     759!-- The namelist "runtime_parmeters" can be omitted. In that case default values are used for the
    436760!-- parameters.
    437761 14 line = ' '
    438762
    439     REWIND ( 11 )
     763    REWIND( 11 )
    440764    line = ' '
    441765    DO WHILE ( INDEX( line, '&runtime_parameters' ) == 0 )
    442        READ ( 11, '(A)', END=16 )  line
     766       READ( 11, '(A)', END=16 )  line
    443767    ENDDO
    444     BACKSPACE ( 11 )
     768    BACKSPACE( 11 )
    445769
    446770!
    447771!-- Read namelist
    448     READ ( 11, runtime_parameters, ERR = 15 )
     772    READ( 11, runtime_parameters, ERR = 15 )
    449773    GOTO 18
    450774
     
    453777    CALL parin_fail_message( 'runtime_parameters', line )
    454778
    455  16 REWIND ( 11 )
     779 16 REWIND( 11 )
    456780    line = ' '
    457781    DO WHILE ( INDEX( line, '&d3par' ) == 0 )
    458        READ ( 11, '(A)', END=18 )  line
     782       READ( 11, '(A)', END=18 )  line
    459783    ENDDO
    460784    BACKSPACE ( 11 )
     
    462786!
    463787!-- Read namelist
    464     READ ( 11, d3par, ERR = 17, END = 18 )
    465 
    466     message_string = 'namelist d3par is deprecated and will be ' //      &
    467                      'removed in near future. &Please use namelist ' //   &
     788    READ( 11, d3par, ERR = 17, END = 18 )
     789
     790    message_string = 'namelist d3par is deprecated and will be ' //                                &
     791                     'removed in near future. &Please use namelist ' //                            &
    468792                     'runtime_parameters instead'
    469793    CALL message( 'parin', 'PA0487', 0, 1, 0, 6, 0 )
     
    483807!
    484808!-- Calculate the number of groups into which parallel I/O is split.
    485 !-- The default for files which are opened by all PEs (or where each
    486 !-- PE opens his own independent file) is, that all PEs are doing input/output
    487 !-- in parallel at the same time. This might cause performance or even more
    488 !-- severe problems depending on the configuration of the underlying file
     809!-- The default for files which are opened by all PEs (or where each PE opens its own independent
     810!-- file) is, that all PEs are doing input/output in parallel at the same time. This might cause
     811!-- performance or even more severe problems depending on the configuration of the underlying file
    489812!-- system.
    490 !-- Calculation of the number of blocks and the I/O group must be based on all
    491 !-- PEs involved in this run. Since myid and numprocs are related to the
    492 !-- comm2d communicator, which gives only a subset of all PEs in case of
    493 !-- nested runs, that information must be inquired again from the global
     813!-- Calculation of the number of blocks and the I/O group must be based on all PEs involved in this
     814!-- run. Since myid and numprocs are related to the comm2d communicator, which gives only a subset
     815!-- of all PEs in case of nested runs, that information must be inquired again from the global
    494816!-- communicator.
    495817!-- First, set the default:
     
    501823    global_procs = 1
    502824#endif
    503     IF ( maximum_parallel_io_streams == -1  .OR.                               &
    504          maximum_parallel_io_streams > global_procs )  THEN
     825    IF ( maximum_parallel_io_streams == -1  .OR.  maximum_parallel_io_streams > global_procs )  THEN
    505826       maximum_parallel_io_streams = global_procs
    506827    ENDIF
    507828!
    508 !-- Now calculate the number of io_blocks and the io_group to which the
    509 !-- respective PE belongs. I/O of the groups is done in serial, but in parallel
    510 !-- for all PEs belonging to the same group.
     829!-- Now calculate the number of io_blocks and the io_group to which the respective PE belongs. I/O
     830!-- of the groups is done in serial, but in parallel for all PEs belonging to the same group.
    511831    io_blocks = global_procs / maximum_parallel_io_streams
    512832    io_group  = MOD( global_id+1, io_blocks )
    513833
    514834!
    515 !-- If required, read control parameters from restart file (produced by
    516 !-- a prior run). All PEs are reading from file created by PE0 (see
    517 !-- check_open)
     835!-- If required, read control parameters from restart file (produced by a prior run). All PEs are
     836!-- reading from file created by PE0 (see check_open)
    518837    IF ( TRIM( initializing_actions ) == 'read_restart_data' )  THEN
    519838
    520839!
    521 !--    If not set by the user in the runtime parameters, the data format for restart
    522 !--    input needs to be set now! This is normally done later in check parameters.
    523        IF ( TRIM( restart_data_format ) /= 'fortran_binary'  .AND.                           &
    524             TRIM( restart_data_format ) /= 'mpi'             .AND.                           &
     840!--    If not set by the user in the runtime parameters, the data format for restart input needs to
     841!--    be set now! This is normally done later in check parameters.
     842       IF ( TRIM( restart_data_format ) /= 'fortran_binary'  .AND.                                 &
     843            TRIM( restart_data_format ) /= 'mpi'             .AND.                                 &
    525844            TRIM( restart_data_format ) /= 'mpi_shared_memory' )  THEN
    526845          message_string = 'illegal restart data format "' // TRIM( restart_data_format ) // '"'
     
    553872       runnr = runnr + 1
    554873!
    555 !--    In case of a restart run, the number of user-defined profiles on
    556 !--    the restart file (already stored in max_pr_user) has to match the
    557 !--    one given for the current run. max_pr_user_tmp is calculated in
    558 !--    user_parin and max_pr_user is read in via rrd_global.
     874!--    In case of a restart run, the number of user-defined profiles on the restart file (already
     875!--    stored in max_pr_user) has to match the one given for the current run. max_pr_user_tmp is
     876!--    calculated in user_parin and max_pr_user is read in via rrd_global.
    559877       IF ( max_pr_user /= max_pr_user_tmp )  THEN
    560           WRITE( message_string, * ) 'the number of user-defined ',      &
    561                  'profiles given in data_output_pr (', max_pr_user_tmp,   &
    562                  ') does not match the one ',                             &
    563                  'found in the restart file (', max_pr_user, ')'
     878          WRITE( message_string, * ) 'the number of user-defined ',                                &
     879                                     'profiles given in data_output_pr (', max_pr_user_tmp,        &
     880                                     ') does not match the one ',                                  &
     881                                     'found in the restart file (', max_pr_user, ')'
    564882          CALL message( 'user_parin', 'UI0009', 1, 2, 0, 6, 0 )
    565883       ENDIF
     
    569887!
    570888!-- Activate spinup
    571     IF ( land_surface .OR. urban_surface )  THEN
     889    IF ( land_surface  .OR. urban_surface )  THEN
    572890       IF ( spinup_time > 0.0_wp )  THEN
    573891          coupling_start_time = spinup_time
     
    579897          IF ( TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
    580898             spinup = .TRUE.
    581           ELSEIF (        TRIM( initializing_actions ) == 'read_restart_data'      &
    582                    .AND.  time_since_reference_point > 0.0_wp )  THEN
     899          ELSEIF ( TRIM( initializing_actions ) == 'read_restart_data'  .AND.                      &
     900                   time_since_reference_point > 0.0_wp )  THEN
    583901             data_output_during_spinup = .FALSE.  !< required for correct ntdim calculation
    584902                                                  !< in check_parameters for restart run
     
    593911    IF ( nested_run )  THEN
    594912       IF ( nesting_mode == 'vertical' )  THEN
    595           IF (bc_lr /= 'cyclic' .OR. bc_ns /= 'cyclic' )  THEN
    596              WRITE ( message_string, *) 'bc_lr and bc_ns were set to ,', &
    597                      'cyclic for vertical nesting'
     913          IF ( bc_lr /= 'cyclic'  .OR. bc_ns /= 'cyclic' )  THEN
     914             WRITE ( message_string, *) 'bc_lr and bc_ns were set to ,',                           &
     915                                        'cyclic for vertical nesting'
    598916             CALL message( 'parin', 'PA0428', 0, 0, 0, 6, 0 )
    599917             bc_lr   = 'cyclic'
     
    609927          ENDIF
    610928!
    611 !--    For other nesting modes only set boundary conditions for
    612 !--    nested domains.
     929!--    For other nesting modes only set boundary conditions for nested domains.
    613930       ELSE
    614931          IF ( child_domain )  THEN
     
    625942    ENDIF
    626943!
    627 !-- Set boundary conditions also in case the model is offline-nested in
    628 !-- larger-scale models.
     944!-- Set boundary conditions also in case the model is offline-nested in larger-scale models.
    629945    IF ( nesting_offline )  THEN
    630946       bc_lr    = 'nesting_offline'
     
    639955
    640956!
    641 !-- In case of nested runs, make sure that initializing_actions =
    642 !-- 'set_constant_profiles' even though the constant-profiles
    643 !-- initializations for the prognostic variables will be overwritten
    644 !-- by pmci_child_initialize and pmci_parent_initialize. This is,
    645 !-- however, important e.g. to make sure that diagnostic variables
    646 !-- are set properly. An exception is made in case of restart runs and
    647 !-- if user decides to do everything by its own.
    648     IF ( child_domain  .AND.  .NOT. (                                    &
    649          TRIM( initializing_actions ) == 'read_restart_data'      .OR.   &
    650          TRIM( initializing_actions ) == 'set_constant_profiles'  .OR.   &
    651          TRIM( initializing_actions ) == 'by_user' ) )  THEN
    652        message_string = 'initializing_actions = ' //                     &
    653                         TRIM( initializing_actions ) // ' has been ' //  &
    654                         'changed to set_constant_profiles in child ' //  &
    655                         'domain.'
     957!-- In case of nested runs, make sure that initializing_actions = 'set_constant_profiles' even
     958!-- though the constant-profiles initializations for the prognostic variables will be overwritten by
     959!-- pmci_child_initialize and pmci_parent_initialize. This is, however, important e.g. to make sure
     960!-- that diagnostic variables are set properly. An exception is made in case of restart runs and if
     961!-- user decides to do everything by its own.
     962    IF ( child_domain  .AND.  .NOT. ( TRIM( initializing_actions ) == 'read_restart_data'     .OR. &
     963                                      TRIM( initializing_actions ) == 'set_constant_profiles' .OR. &
     964                                      TRIM( initializing_actions ) == 'by_user' )                  &
     965                                    )  THEN
     966       message_string = 'initializing_actions = ' // TRIM( initializing_actions ) //               &
     967                        ' has been ' // 'changed to set_constant_profiles in child ' // 'domain.'
    656968       CALL message( 'parin', 'PA0492', 0, 0, 0, 6, 0 )
    657969
     
    659971    ENDIF
    660972!
    661 !-- Check validity of lateral boundary conditions. This has to be done
    662 !-- here because they are already used in init_pegrid and init_grid and
    663 !-- therefore cannot be check in check_parameters
    664     IF ( bc_lr /= 'cyclic'  .AND.  bc_lr /= 'dirichlet/radiation'  .AND. &
    665          bc_lr /= 'radiation/dirichlet'  .AND.  bc_lr /= 'nested'  .AND. &
     973!-- Check validity of lateral boundary conditions. This has to be done here because they are already
     974!-- used in init_pegrid and init_grid and therefore cannot be check in check_parameters
     975    IF ( bc_lr /= 'cyclic'               .AND.  bc_lr /= 'dirichlet/radiation'  .AND.              &
     976         bc_lr /= 'radiation/dirichlet'  .AND.  bc_lr /= 'nested'               .AND.              &
    666977         bc_lr /= 'nesting_offline' )  THEN
    667        message_string = 'unknown boundary condition: bc_lr = "' // &
    668                         TRIM( bc_lr ) // '"'
     978       message_string = 'unknown boundary condition: bc_lr = "' // TRIM( bc_lr ) // '"'
    669979       CALL message( 'parin', 'PA0049', 1, 2, 0, 6, 0 )
    670980    ENDIF
    671     IF ( bc_ns /= 'cyclic'  .AND.  bc_ns /= 'dirichlet/radiation'  .AND. &
    672          bc_ns /= 'radiation/dirichlet'  .AND.  bc_ns /= 'nested'  .AND. &
     981    IF ( bc_ns /= 'cyclic'               .AND.  bc_ns /= 'dirichlet/radiation'  .AND.              &
     982         bc_ns /= 'radiation/dirichlet'  .AND.  bc_ns /= 'nested'               .AND.              &
    673983         bc_ns /= 'nesting_offline' )  THEN
    674        message_string = 'unknown boundary condition: bc_ns = "' // &
    675                         TRIM( bc_ns ) // '"'
     984       message_string = 'unknown boundary condition: bc_ns = "' // TRIM( bc_ns ) // '"'
    676985       CALL message( 'parin', 'PA0050', 1, 2, 0, 6, 0 )
    677986    ENDIF
     
    686995!
    687996!-- Radiation-Dirichlet conditions are allowed along one of the horizontal directions only.
    688 !-- In general, such conditions along x and y may work, but require a) some code changes
    689 !-- (e.g. concerning allocation of c_u, c_v ... arrays), and b) a careful model setup by the
    690 !-- user, in order to guarantee that there is a clearly defined outflow at two sides.
     997!-- In general, such conditions along x and y may work, but require a) some code changes (e.g.
     998!-- concerning allocation of c_u, c_v ... arrays), and b) a careful model setup by the user, in
     999!-- order to guarantee that there is a clearly defined outflow at two sides.
    6911000!-- Otherwise, the radiation condition may produce wrong results.
    6921001    IF ( ( bc_lr_dirrad .OR. bc_lr_raddir )  .AND.  ( bc_ns_dirrad .OR. bc_ns_raddir ) )  THEN
    693        message_string = 'bc_lr = "' // TRIM( bc_lr ) // '" and bc_ns = "' //                 &
    694                         TRIM( bc_ns ) // '" are not allowed to be set at the same time'
     1002       message_string = 'bc_lr = "' // TRIM( bc_lr ) // '" and bc_ns = "' // TRIM( bc_ns ) //      &
     1003                        '" are not allowed to be set at the same time'
    6951004       CALL message( 'parin', 'PA0589', 1, 2, 0, 6, 0 )
    6961005    ENDIF
    6971006!
    698 !-- Check in case of initial run, if the grid point numbers are well
    699 !-- defined and allocate some arrays which are already needed in
    700 !-- init_pegrid or check_parameters. During restart jobs, these arrays
    701 !-- will be allocated in rrd_global. All other arrays are allocated
    702 !-- in init_3d_model.
     1007!-- Check in case of initial run, if the grid point numbers are well defined and allocate some
     1008!-- arrays which are already needed in init_pegrid or check_parameters. During restart jobs, these
     1009!-- arrays will be allocated in rrd_global. All other arrays are allocated in init_3d_model.
    7031010    IF ( TRIM( initializing_actions ) /= 'read_restart_data' )  THEN
    7041011
    7051012       IF ( nx <= 0 )  THEN
    706           WRITE( message_string, * ) 'no value or wrong value given',    &
    707                                      ' for nx: nx=', nx
     1013          WRITE( message_string, * ) 'no value or wrong value given', ' for nx: nx=', nx
    7081014          CALL message( 'parin', 'PA0273', 1, 2, 0, 6, 0 )
    7091015       ENDIF
    7101016       IF ( ny <= 0 )  THEN
    711           WRITE( message_string, * ) 'no value or wrong value given',    &
    712                                      ' for ny: ny=', ny
     1017          WRITE( message_string, * ) 'no value or wrong value given', ' for ny: ny=', ny
    7131018          CALL message( 'parin', 'PA0274', 1, 2, 0, 6, 0 )
    7141019       ENDIF
    7151020       IF ( nz <= 0 )  THEN
    716           WRITE( message_string, * ) 'no value or wrong value given',    &
    717                                      ' for nz: nz=', nz
     1021          WRITE( message_string, * ) 'no value or wrong value given', ' for nz: nz=', nz
    7181022          CALL message( 'parin', 'PA0275', 1, 2, 0, 6, 0 )
    7191023       ENDIF
    7201024
    7211025!
    722 !--    As a side condition, routine flow_statistics require at least 14
    723 !--    vertical grid levels (they are used to store time-series data)
     1026!--    As a side condition, routine flow_statistics require at least 14 vertical grid levels (they
     1027!--    are used to store time-series data)
    7241028!>     @todo   Remove this restriction
    7251029       IF ( nz < 14 )  THEN
     
    7291033
    7301034!
    731 !--    ATTENTION: in case of changes to the following statement please
    732 !--               also check the allocate statement in routine rrd_global
    733        ALLOCATE( pt_init(0:nz+1), q_init(0:nz+1), s_init(0:nz+1),        &
    734                  ref_state(0:nz+1), sa_init(0:nz+1), ug(0:nz+1),         &
    735                  u_init(0:nz+1), v_init(0:nz+1), vg(0:nz+1),             &
    736                  hom(0:nz+1,2,pr_palm+max_pr_user+max_pr_cs+max_pr_salsa,0:statistic_regions),  &
     1035!--    ATTENTION: in case of changes to the following statement please also check the allocate
     1036!--               statement in routine rrd_global
     1037       ALLOCATE( pt_init(0:nz+1), q_init(0:nz+1), s_init(0:nz+1),                                  &
     1038                 ref_state(0:nz+1), sa_init(0:nz+1), ug(0:nz+1),                                   &
     1039                 u_init(0:nz+1), v_init(0:nz+1), vg(0:nz+1),                                       &
     1040                 hom(0:nz+1,2,pr_palm+max_pr_user+max_pr_cs+max_pr_salsa,0:statistic_regions),     &
    7371041                 hom_sum(0:nz+1,pr_palm+max_pr_user+max_pr_cs+max_pr_salsa,0:statistic_regions) )
    7381042
Note: See TracChangeset for help on using the changeset viewer.