Changeset 4797 for palm/trunk/SOURCE/parin.f90
- Timestamp:
- Nov 26, 2020 4:02:39 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/parin.f90
r4783 r4797 1 1 !> @file parin.f90 2 !------------------------------------------------------------------------------ !2 !--------------------------------------------------------------------------------------------------! 3 3 ! This file is part of the PALM model system. 4 4 ! 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/>. 16 15 ! 17 16 ! Copyright 1997-2020 Leibniz Universitaet Hannover 18 !------------------------------------------------------------------------------ !17 !--------------------------------------------------------------------------------------------------! 19 18 ! 20 19 ! Current revisions: … … 25 24 ! ----------------- 26 25 ! $Id$ 26 ! file re-formatted to follow the PALM coding standard 27 ! 28 ! 4783 2020-11-13 13:58:45Z raasch 27 29 ! bugfix for reading restart data with MPI-I/O (does not work with blockwise I/O) 28 30 ! … … 76 78 ! 77 79 ! 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 80 81 ! 81 82 ! 4017 2019-06-06 12:16:46Z schwenkel … … 83 84 ! 84 85 ! 3885 2019-04-11 11:29:34Z kanani 85 ! Changes related to global restructuring of location messages and introduction 86 ! of additional debugmessages86 ! Changes related to global restructuring of location messages and introduction of additional debug 87 ! messages 87 88 ! 88 89 ! 3806 2019-03-21 12:45:50Z raasch … … 107 108 !> 108 109 !> @todo: Revise max_pr_cs (profiles for chemistry) 109 !------------------------------------------------------------------------------ !110 !--------------------------------------------------------------------------------------------------! 110 111 SUBROUTINE parin 111 112 112 113 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 116 116 117 117 USE chem_modules … … 119 119 USE control_parameters 120 120 121 USE cpulog, &121 USE cpulog, & 122 122 ONLY: cpu_log_barrierwait 123 123 124 USE grid_variables, &124 USE grid_variables, & 125 125 ONLY: dx, dy 126 126 127 USE indices, &127 USE indices, & 128 128 ONLY: nx, ny, nz 129 129 130 130 USE kinds 131 131 132 USE model_1d_mod, &132 USE model_1d_mod, & 133 133 ONLY: damp_level_1d, dt_pr_1d, dt_run_control_1d, end_time_1d 134 134 135 USE module_interface, &135 USE module_interface, & 136 136 ONLY: module_interface_parin 137 137 138 USE netcdf_interface, &138 USE netcdf_interface, & 139 139 ONLY: netcdf_data_format, netcdf_deflate, netcdf_precision 140 140 141 141 USE pegrid 142 142 143 USE pmc_interface, &143 USE pmc_interface, & 144 144 ONLY: nested_run, nesting_mode 145 145 146 USE profil_parameter, &146 USE profil_parameter, & 147 147 ONLY: cross_profiles, profile_columns, profile_rows 148 148 149 USE progress_bar, &149 USE progress_bar, & 150 150 ONLY : progress_bar_disabled 151 151 152 USE read_restart_data_mod, &152 USE read_restart_data_mod, & 153 153 ONLY: rrd_global 154 154 155 USE statistics, &155 USE statistics, & 156 156 ONLY: hom, hom_sum, pr_palm, statistic_regions 157 157 158 USE turbulence_closure_mod, &158 USE turbulence_closure_mod, & 159 159 ONLY: rans_const_c, rans_const_sigma 160 160 … … 169 169 INTEGER(iwp) :: ioerr !< error flag for open/read/write 170 170 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) 374 699 CALL location_message( 'reading environment parameters from ENVPAR', 'start' ) 375 700 376 OPEN 701 OPEN( 90, FILE='ENVPAR', STATUS='OLD', FORM='FORMATTED', IOSTAT=ioerr ) 377 702 378 703 IF ( ioerr /= 0 ) THEN 379 message_string = 'local file ENVPAR not found' // &704 message_string = 'local file ENVPAR not found' // & 380 705 '&some variables for steering may not be properly set' 381 706 CALL message( 'parin', 'PA0276', 0, 1, 0, 6, 0 ) 382 707 ELSE 383 READ 708 READ( 90, envpar, IOSTAT=ioerr ) 384 709 IF ( ioerr < 0 ) THEN 385 message_string = 'no envpar-NAMELIST found in local file ' // &710 message_string = 'no envpar-NAMELIST found in local file ' // & 386 711 'ENVPAR& or some variables for steering may ' // & 387 712 'not be properly set' 388 713 CALL message( 'parin', 'PA0278', 0, 1, 0, 6, 0 ) 389 714 ELSEIF ( ioerr > 0 ) THEN 390 message_string = 'errors in local file ENVPAR' // &715 message_string = 'errors in local file ENVPAR' // & 391 716 '&some variables for steering may not be properly set' 392 717 CALL message( 'parin', 'PA0277', 0, 1, 0, 6, 0 ) 393 718 ENDIF 394 CLOSE 719 CLOSE( 90 ) 395 720 ENDIF 396 721 … … 414 739 415 740 11 REWIND ( 11 ) 416 READ 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 ' // & 420 745 'initialization_parameters instead' 421 746 CALL message( 'parin', 'PA0017', 0, 1, 0, 6, 0 ) … … 431 756 432 757 ! 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 436 760 !-- parameters. 437 761 14 line = ' ' 438 762 439 REWIND 763 REWIND( 11 ) 440 764 line = ' ' 441 765 DO WHILE ( INDEX( line, '&runtime_parameters' ) == 0 ) 442 READ 766 READ( 11, '(A)', END=16 ) line 443 767 ENDDO 444 BACKSPACE 768 BACKSPACE( 11 ) 445 769 446 770 ! 447 771 !-- Read namelist 448 READ 772 READ( 11, runtime_parameters, ERR = 15 ) 449 773 GOTO 18 450 774 … … 453 777 CALL parin_fail_message( 'runtime_parameters', line ) 454 778 455 16 REWIND 779 16 REWIND( 11 ) 456 780 line = ' ' 457 781 DO WHILE ( INDEX( line, '&d3par' ) == 0 ) 458 READ 782 READ( 11, '(A)', END=18 ) line 459 783 ENDDO 460 784 BACKSPACE ( 11 ) … … 462 786 ! 463 787 !-- Read namelist 464 READ 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 ' // & 468 792 'runtime_parameters instead' 469 793 CALL message( 'parin', 'PA0487', 0, 1, 0, 6, 0 ) … … 483 807 ! 484 808 !-- 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 489 812 !-- 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 494 816 !-- communicator. 495 817 !-- First, set the default: … … 501 823 global_procs = 1 502 824 #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 505 826 maximum_parallel_io_streams = global_procs 506 827 ENDIF 507 828 ! 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. 511 831 io_blocks = global_procs / maximum_parallel_io_streams 512 832 io_group = MOD( global_id+1, io_blocks ) 513 833 514 834 ! 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) 518 837 IF ( TRIM( initializing_actions ) == 'read_restart_data' ) THEN 519 838 520 839 ! 521 !-- If not set by the user in the runtime parameters, the data format for restart 522 !-- input needs tobe 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. & 525 844 TRIM( restart_data_format ) /= 'mpi_shared_memory' ) THEN 526 845 message_string = 'illegal restart data format "' // TRIM( restart_data_format ) // '"' … … 553 872 runnr = runnr + 1 554 873 ! 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. 559 877 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, ')' 564 882 CALL message( 'user_parin', 'UI0009', 1, 2, 0, 6, 0 ) 565 883 ENDIF … … 569 887 ! 570 888 !-- Activate spinup 571 IF ( land_surface .OR.urban_surface ) THEN889 IF ( land_surface .OR. urban_surface ) THEN 572 890 IF ( spinup_time > 0.0_wp ) THEN 573 891 coupling_start_time = spinup_time … … 579 897 IF ( TRIM( initializing_actions ) /= 'read_restart_data' ) THEN 580 898 spinup = .TRUE. 581 ELSEIF ( TRIM( initializing_actions ) == 'read_restart_data'&582 .AND.time_since_reference_point > 0.0_wp ) THEN899 ELSEIF ( TRIM( initializing_actions ) == 'read_restart_data' .AND. & 900 time_since_reference_point > 0.0_wp ) THEN 583 901 data_output_during_spinup = .FALSE. !< required for correct ntdim calculation 584 902 !< in check_parameters for restart run … … 593 911 IF ( nested_run ) THEN 594 912 IF ( nesting_mode == 'vertical' ) THEN 595 IF ( bc_lr /= 'cyclic' .OR.bc_ns /= 'cyclic' ) THEN596 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' 598 916 CALL message( 'parin', 'PA0428', 0, 0, 0, 6, 0 ) 599 917 bc_lr = 'cyclic' … … 609 927 ENDIF 610 928 ! 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. 613 930 ELSE 614 931 IF ( child_domain ) THEN … … 625 942 ENDIF 626 943 ! 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. 629 945 IF ( nesting_offline ) THEN 630 946 bc_lr = 'nesting_offline' … … 639 955 640 956 ! 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.' 656 968 CALL message( 'parin', 'PA0492', 0, 0, 0, 6, 0 ) 657 969 … … 659 971 ENDIF 660 972 ! 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. & 666 977 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 ) // '"' 669 979 CALL message( 'parin', 'PA0049', 1, 2, 0, 6, 0 ) 670 980 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. & 673 983 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 ) // '"' 676 985 CALL message( 'parin', 'PA0050', 1, 2, 0, 6, 0 ) 677 986 ENDIF … … 686 995 ! 687 996 !-- 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 the690 !-- user, inorder 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. 691 1000 !-- Otherwise, the radiation condition may produce wrong results. 692 1001 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' 695 1004 CALL message( 'parin', 'PA0589', 1, 2, 0, 6, 0 ) 696 1005 ENDIF 697 1006 ! 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. 703 1010 IF ( TRIM( initializing_actions ) /= 'read_restart_data' ) THEN 704 1011 705 1012 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 708 1014 CALL message( 'parin', 'PA0273', 1, 2, 0, 6, 0 ) 709 1015 ENDIF 710 1016 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 713 1018 CALL message( 'parin', 'PA0274', 1, 2, 0, 6, 0 ) 714 1019 ENDIF 715 1020 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 718 1022 CALL message( 'parin', 'PA0275', 1, 2, 0, 6, 0 ) 719 1023 ENDIF 720 1024 721 1025 ! 722 !-- As a side condition, routine flow_statistics require at least 14 723 !-- vertical grid levels (theyare 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) 724 1028 !> @todo Remove this restriction 725 1029 IF ( nz < 14 ) THEN … … 729 1033 730 1034 ! 731 !-- ATTENTION: in case of changes to the following statement please 732 !-- also check the allocatestatement in routine rrd_global733 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), & 737 1041 hom_sum(0:nz+1,pr_palm+max_pr_user+max_pr_cs+max_pr_salsa,0:statistic_regions) ) 738 1042
Note: See TracChangeset
for help on using the changeset viewer.