Changeset 4489 for palm/trunk/SOURCE
- Timestamp:
- Apr 4, 2020 10:54:08 AM (5 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/wrd_write_string.f90
r4360 r4489 1 1 !> @file wrd_write_string.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. 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. 9 8 ! 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 FOR12 ! A PARTICULAR PURPOSE. See the GNU GeneralPublic License for more details.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. 13 12 ! 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/>.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 ! 4360 2020-01-07 11:25:50Z suehring 27 29 ! Initial revision 28 30 ! … … 30 32 ! Description: 31 33 ! ------------ 32 !> Calculates length of string and write the respective value together with the 33 ! > string into binaryfile(s) for restart runs34 !------------------------------------------------------------------------------ !35 34 !> Calculates length of string and write the respective value together with the string into binary 35 ! file(s) for restart runs 36 !--------------------------------------------------------------------------------------------------! 37 36 38 SUBROUTINE wrd_write_string( string ) 37 39 … … 42 44 IMPLICIT NONE 43 45 44 CHARACTER (LEN=*), INTENT (IN) :: string !< for storing strings in case of writing/reading restart data45 46 INTEGER(iwp) :: length !< integer that specifies the length of a string in case of writing/reading restart47 !< data46 CHARACTER(LEN=*), INTENT(IN) :: string !< for storing strings in case of writing/reading 47 !< restart data 48 INTEGER(iwp) :: length !< integer that specifies the length of a string in case of 49 !< writing/reading restart data 48 50 49 51 -
palm/trunk/SOURCE/write_restart_data_mod.f90
r4360 r4489 1 1 !> @file write_restart_data_mod.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 ! 4360 2020-01-07 11:25:50Z suehring 27 29 ! - Move 2-m potential temperature to diagnostic_output_quantities. 28 ! 30 ! 29 31 ! 4301 2019-11-22 12:09:09Z oliver.maas 30 32 ! removed recycling_yshift 31 ! 33 ! 32 34 ! 4227 2019-09-10 18:04:34Z gronemeier 33 35 ! implement new palm_date_time_mod and increased binary version 34 ! 36 ! 35 37 ! 4146 2019-08-07 07:47:36Z gronemeier 36 38 ! Corrected "Former revisions" section 37 ! 39 ! 38 40 ! 4101 2019-07-17 15:14:26Z gronemeier 39 41 ! remove old_dt 40 ! 42 ! 41 43 ! 4039 2019-06-18 10:32:41Z suehring 42 44 ! Modularize diagnostic output 43 ! 45 ! 44 46 ! 4017 2019-06-06 12:16:46Z schwenkel 45 47 ! output of turbulence intensity added 46 ! 48 ! 47 49 ! 3988 2019-05-22 11:32:37Z kanani 48 50 ! + time_virtual_measurement (to enable steering of output interval) 49 ! 51 ! 50 52 ! 3936 2019-04-26 15:38:02Z kanani 51 53 ! Enable time-averaged output of theta_2m* with restarts 52 ! 54 ! 53 55 ! 3668 2019-01-14 12:49:24Z maronga 54 56 ! Implementation of the PALM module interface 55 ! 57 ! 56 58 ! 2894 2018-03-15 09:17:58Z Giersch 57 ! Initial revision 59 ! Initial revision 58 60 ! 59 61 ! … … 61 63 ! ------------ 62 64 !> Writes restart data into binary file(s) for restart runs. 63 !------------------------------------------------------------------------------ !65 !--------------------------------------------------------------------------------------------------! 64 66 MODULE write_restart_data_mod 65 67 66 68 67 USE arrays_3d, & 68 ONLY: inflow_damping_factor, mean_inflow_profiles, pt_init, & 69 q_init, ref_state, s_init, u_init, ug, v_init, vg, & 70 e, kh, km, p, pt, q, ql, s, u, u_m_l, u_m_n, u_m_r, & 71 u_m_s, v, v_m_l, v_m_n, v_m_r, v_m_s, vpt, w, w_m_l, w_m_n, & 72 w_m_r, w_m_s 69 USE arrays_3d, & 70 ONLY: e, inflow_damping_factor, kh, km, mean_inflow_profiles, p, pt, pt_init, q, q_init, & 71 ql, ref_state, s, s_init, u, u_init, ug, u_m_l, u_m_n, u_m_r, u_m_s, v, v_init, vg, & 72 v_m_l, v_m_n, v_m_r, v_m_s, vpt, w, w_m_l, w_m_n, w_m_r, w_m_s 73 73 74 74 USE averaging … … 76 76 USE control_parameters 77 77 78 USE grid_variables, &78 USE grid_variables, & 79 79 ONLY: dx, dy 80 80 81 USE indices, &81 USE indices, & 82 82 ONLY: nx, nxl, nxr, ny, nys, nyn, nz, nzb, nzt 83 83 84 84 USE kinds 85 85 86 USE model_1d_mod, &86 USE model_1d_mod, & 87 87 ONLY: damp_level_1d, dt_pr_1d, dt_run_control_1d, end_time_1d 88 88 89 USE module_interface, &90 ONLY: module_interface_wrd_global, &89 USE module_interface, & 90 ONLY: module_interface_wrd_global, & 91 91 module_interface_wrd_local 92 92 93 USE netcdf_interface, &93 USE netcdf_interface, & 94 94 ONLY: netcdf_precision, output_for_t0 95 95 96 USE pegrid, &96 USE pegrid, & 97 97 ONLY: collective_wait, hor_index_bounds, myid, numprocs 98 98 99 USE radiation_model_mod, &99 USE radiation_model_mod, & 100 100 ONLY: time_radiation 101 101 102 USE random_function_mod, &102 USE random_function_mod, & 103 103 ONLY: random_iv, random_iy 104 104 105 USE random_generator_parallel, &105 USE random_generator_parallel, & 106 106 ONLY: id_random_array, seq_random_array 107 107 108 USE spectra_mod, &108 USE spectra_mod, & 109 109 ONLY: average_count_sp, spectrum_x, spectrum_y 110 110 111 USE statistics, &112 ONLY: statistic_regions, hom, hom_sum, u_max, u_max_ijk, v_max,&113 v_max_ijk, w_max,w_max_ijk, z_i114 115 USE surface_mod, &116 ONLY 117 118 USE vertical_nesting_mod, &111 USE statistics, & 112 ONLY: hom, hom_sum, statistic_regions, u_max, u_max_ijk, v_max, v_max_ijk, w_max, & 113 w_max_ijk, z_i 114 115 USE surface_mod, & 116 ONLY: surface_wrd_local 117 118 USE vertical_nesting_mod, & 119 119 ONLY: vnest_init 120 120 121 USE virtual_measurement_mod, &121 USE virtual_measurement_mod, & 122 122 ONLY: time_virtual_measurement 123 123 … … 143 143 ! Description: 144 144 ! ------------ 145 !> Global data of control variables and arrays is written out for 146 !> restarts (binary format). 145 !> Global data of control variables and arrays is written out for restarts (binary format). 147 146 !> This information is only written to the file opened by PE0. 148 !------------------------------------------------------------------------------! 149 SUBROUTINE wrd_global 150 151 152 CHARACTER (LEN=10) :: binary_version_global !< 153 154 155 binary_version_global = '4.9' 156 157 CALL wrd_write_string( 'binary_version_global' ) 158 WRITE ( 14 ) binary_version_global 159 160 CALL wrd_write_string( 'numprocs' ) 161 WRITE ( 14 ) numprocs 162 163 CALL wrd_write_string( 'hor_index_bounds' ) 164 WRITE ( 14 ) hor_index_bounds 165 166 CALL wrd_write_string( 'nz' ) 167 WRITE ( 14 ) nz 168 169 CALL wrd_write_string( 'max_pr_user' ) 170 WRITE ( 14 ) max_pr_user 171 172 CALL wrd_write_string( 'statistic_regions' ) 173 WRITE ( 14 ) statistic_regions 174 175 ! 176 !-- Caution: After changes in the following parameter-list, the 177 !-- ------- version number stored in the variable binary_version_global has to 178 !-- be increased. The same changes must also be done in the parameter- 179 !-- list in rrd_global. 180 181 CALL wrd_write_string( 'advected_distance_x' ) 182 WRITE ( 14 ) advected_distance_x 183 184 CALL wrd_write_string( 'advected_distance_y' ) 185 WRITE ( 14 ) advected_distance_y 186 187 CALL wrd_write_string( 'alpha_surface' ) 188 WRITE ( 14 ) alpha_surface 189 190 CALL wrd_write_string( 'average_count_pr' ) 191 WRITE ( 14 ) average_count_pr 192 193 CALL wrd_write_string( 'average_count_sp' ) 194 WRITE ( 14 ) average_count_sp 195 196 CALL wrd_write_string( 'average_count_3d' ) 197 WRITE ( 14 ) average_count_3d 198 199 CALL wrd_write_string( 'bc_e_b' ) 200 WRITE ( 14 ) bc_e_b 201 202 CALL wrd_write_string( 'bc_lr' ) 203 WRITE ( 14 ) bc_lr 204 205 CALL wrd_write_string( 'bc_ns' ) 206 WRITE ( 14 ) bc_ns 207 208 CALL wrd_write_string( 'bc_p_b' ) 209 WRITE ( 14 ) bc_p_b 210 211 CALL wrd_write_string( 'bc_p_t' ) 212 WRITE ( 14 ) bc_p_t 213 214 CALL wrd_write_string( 'bc_pt_b' ) 215 WRITE ( 14 ) bc_pt_b 216 217 CALL wrd_write_string( 'bc_pt_t' ) 218 WRITE ( 14 ) bc_pt_t 219 220 CALL wrd_write_string( 'bc_pt_t_val' ) 221 WRITE ( 14 ) bc_pt_t_val 222 223 CALL wrd_write_string( 'bc_q_b' ) 224 WRITE ( 14 ) bc_q_b 225 226 CALL wrd_write_string( 'bc_q_t' ) 227 WRITE ( 14 ) bc_q_t 228 229 CALL wrd_write_string( 'bc_q_t_val' ) 230 WRITE ( 14 ) bc_q_t_val 231 232 CALL wrd_write_string( 'bc_s_b' ) 233 WRITE ( 14 ) bc_s_b 234 235 CALL wrd_write_string( 'bc_s_t' ) 236 WRITE ( 14 ) bc_s_t 237 238 CALL wrd_write_string( 'bc_uv_b' ) 239 WRITE ( 14 ) bc_uv_b 240 241 CALL wrd_write_string( 'bc_uv_t' ) 242 WRITE ( 14 ) bc_uv_t 243 244 CALL wrd_write_string( 'building_height' ) 245 WRITE ( 14 ) building_height 246 247 CALL wrd_write_string( 'building_length_x' ) 248 WRITE ( 14 ) building_length_x 249 250 CALL wrd_write_string( 'building_length_y' ) 251 WRITE ( 14 ) building_length_y 252 253 CALL wrd_write_string( 'building_wall_left' ) 254 WRITE ( 14 ) building_wall_left 255 256 CALL wrd_write_string( 'building_wall_south' ) 257 WRITE ( 14 ) building_wall_south 258 259 CALL wrd_write_string( 'call_psolver_at_all_substeps' ) 260 WRITE ( 14 ) call_psolver_at_all_substeps 261 262 CALL wrd_write_string( 'canyon_height' ) 263 WRITE ( 14 ) canyon_height 264 265 CALL wrd_write_string( 'canyon_wall_left' ) 266 WRITE ( 14 ) canyon_wall_left 267 268 CALL wrd_write_string( 'canyon_wall_south' ) 269 WRITE ( 14 ) canyon_wall_south 270 271 CALL wrd_write_string( 'canyon_width_x' ) 272 WRITE ( 14 ) canyon_width_x 273 274 CALL wrd_write_string( 'canyon_width_y' ) 275 WRITE ( 14 ) canyon_width_y 276 277 CALL wrd_write_string( 'cfl_factor' ) 278 WRITE ( 14 ) cfl_factor 279 280 CALL wrd_write_string( 'cloud_droplets' ) 281 WRITE ( 14 ) cloud_droplets 282 283 CALL wrd_write_string( 'collective_wait' ) 284 WRITE ( 14 ) collective_wait 285 286 CALL wrd_write_string( 'conserve_volume_flow' ) 287 WRITE ( 14 ) conserve_volume_flow 288 289 CALL wrd_write_string( 'conserve_volume_flow_mode' ) 290 WRITE ( 14 ) conserve_volume_flow_mode 291 292 CALL wrd_write_string( 'constant_flux_layer' ) 293 WRITE ( 14 ) constant_flux_layer 294 295 CALL wrd_write_string( 'coupling_start_time' ) 296 WRITE ( 14 ) coupling_start_time 297 298 CALL wrd_write_string( 'current_timestep_number' ) 299 WRITE ( 14 ) current_timestep_number 300 301 CALL wrd_write_string( 'cycle_mg' ) 302 WRITE ( 14 ) cycle_mg 303 304 CALL wrd_write_string( 'damp_level_1d' ) 305 WRITE ( 14 ) damp_level_1d 306 307 CALL wrd_write_string( 'origin_date_time' ) 308 WRITE ( 14 ) origin_date_time 309 310 CALL wrd_write_string( 'dissipation_1d' ) 311 WRITE ( 14 ) dissipation_1d 312 313 CALL wrd_write_string( 'do2d_xy_time_count' ) 314 WRITE ( 14 ) do2d_xy_time_count 315 316 CALL wrd_write_string( 'do2d_xz_time_count' ) 317 WRITE ( 14 ) do2d_xz_time_count 318 319 CALL wrd_write_string( 'do2d_yz_time_count' ) 320 WRITE ( 14 ) do2d_yz_time_count 321 322 CALL wrd_write_string( 'do3d_time_count' ) 323 WRITE ( 14 ) do3d_time_count 324 325 CALL wrd_write_string( 'dp_external' ) 326 WRITE ( 14 ) dp_external 327 328 CALL wrd_write_string( 'dp_level_b' ) 329 WRITE ( 14 ) dp_level_b 330 331 CALL wrd_write_string( 'dp_smooth' ) 332 WRITE ( 14 ) dp_smooth 333 334 CALL wrd_write_string( 'dpdxy' ) 335 WRITE ( 14 ) dpdxy 336 337 CALL wrd_write_string( 'dt_3d' ) 338 WRITE ( 14 ) dt_3d 339 340 CALL wrd_write_string( 'dt_pr_1d' ) 341 WRITE ( 14 ) dt_pr_1d 342 343 CALL wrd_write_string( 'dt_run_control_1d' ) 344 WRITE ( 14 ) dt_run_control_1d 345 346 CALL wrd_write_string( 'dx' ) 347 WRITE ( 14 ) dx 348 349 CALL wrd_write_string( 'dy' ) 350 WRITE ( 14 ) dy 351 352 CALL wrd_write_string( 'dz' ) 353 WRITE ( 14 ) dz 354 355 CALL wrd_write_string( 'dz_max' ) 356 WRITE ( 14 ) dz_max 357 358 CALL wrd_write_string( 'dz_stretch_factor' ) 359 WRITE ( 14 ) dz_stretch_factor 360 361 CALL wrd_write_string( 'dz_stretch_factor_array' ) 362 WRITE ( 14 ) dz_stretch_factor_array 363 364 CALL wrd_write_string( 'dz_stretch_level' ) 365 WRITE ( 14 ) dz_stretch_level 366 367 CALL wrd_write_string( 'dz_stretch_level_end' ) 368 WRITE ( 14 ) dz_stretch_level_end 369 370 CALL wrd_write_string( 'dz_stretch_level_start' ) 371 WRITE ( 14 ) dz_stretch_level_start 372 373 CALL wrd_write_string( 'e_min' ) 374 WRITE ( 14 ) e_min 375 376 CALL wrd_write_string( 'end_time_1d' ) 377 WRITE ( 14 ) end_time_1d 378 379 CALL wrd_write_string( 'fft_method' ) 380 WRITE ( 14 ) fft_method 381 382 CALL wrd_write_string( 'first_call_lpm' ) 383 WRITE ( 14 ) first_call_lpm 384 385 CALL wrd_write_string( 'galilei_transformation' ) 386 WRITE ( 14 ) galilei_transformation 387 388 CALL wrd_write_string( 'hom' ) 389 WRITE ( 14 ) hom 390 391 CALL wrd_write_string( 'hom_sum' ) 392 WRITE ( 14 ) hom_sum 393 394 CALL wrd_write_string( 'humidity' ) 395 WRITE ( 14 ) humidity 396 397 IF ( ALLOCATED( inflow_damping_factor ) ) THEN 398 CALL wrd_write_string( 'inflow_damping_factor' ) 399 WRITE ( 14 ) inflow_damping_factor 400 ENDIF 401 402 CALL wrd_write_string( 'inflow_damping_height' ) 403 WRITE ( 14 ) inflow_damping_height 404 405 CALL wrd_write_string( 'inflow_damping_width' ) 406 WRITE ( 14 ) inflow_damping_width 407 408 CALL wrd_write_string( 'inflow_disturbance_begin' ) 409 WRITE ( 14 ) inflow_disturbance_begin 410 411 CALL wrd_write_string( 'inflow_disturbance_end' ) 412 WRITE ( 14 ) inflow_disturbance_end 413 414 CALL wrd_write_string( 'km_constant' ) 415 WRITE ( 14 ) km_constant 416 417 CALL wrd_write_string( 'large_scale_forcing' ) 418 WRITE ( 14 ) large_scale_forcing 419 420 CALL wrd_write_string( 'large_scale_subsidence' ) 421 WRITE ( 14 ) large_scale_subsidence 422 423 CALL wrd_write_string( 'latitude' ) 424 WRITE ( 14 ) latitude 425 426 CALL wrd_write_string( 'longitude' ) 427 WRITE ( 14 ) longitude 428 429 CALL wrd_write_string( 'loop_optimization' ) 430 WRITE ( 14 ) loop_optimization 431 432 CALL wrd_write_string( 'masking_method' ) 433 WRITE ( 14 ) masking_method 434 435 IF ( ALLOCATED( mean_inflow_profiles ) ) THEN 436 CALL wrd_write_string( 'mean_inflow_profiles' ) 437 WRITE ( 14 ) mean_inflow_profiles 438 ENDIF 439 440 CALL wrd_write_string( 'mg_cycles' ) 441 WRITE ( 14 ) mg_cycles 442 443 CALL wrd_write_string( 'mg_switch_to_pe0_level' ) 444 WRITE ( 14 ) mg_switch_to_pe0_level 445 446 CALL wrd_write_string( 'mixing_length_1d' ) 447 WRITE ( 14 ) mixing_length_1d 448 449 CALL wrd_write_string( 'momentum_advec' ) 450 WRITE ( 14 ) momentum_advec 451 452 CALL wrd_write_string( 'netcdf_precision' ) 453 WRITE ( 14 ) netcdf_precision 454 455 CALL wrd_write_string( 'neutral' ) 456 WRITE ( 14 ) neutral 457 458 CALL wrd_write_string( 'ngsrb' ) 459 WRITE ( 14 ) ngsrb 460 461 CALL wrd_write_string( 'nsor' ) 462 WRITE ( 14 ) nsor 463 464 CALL wrd_write_string( 'nsor_ini' ) 465 WRITE ( 14 ) nsor_ini 466 467 CALL wrd_write_string( 'nudging' ) 468 WRITE ( 14 ) nudging 469 470 CALL wrd_write_string( 'num_leg' ) 471 WRITE ( 14 ) num_leg 472 473 CALL wrd_write_string( 'nx' ) 474 WRITE ( 14 ) nx 475 476 CALL wrd_write_string( 'ny' ) 477 WRITE ( 14 ) ny 478 479 CALL wrd_write_string( 'ocean_mode' ) 480 WRITE ( 14 ) ocean_mode 481 482 CALL wrd_write_string( 'omega' ) 483 WRITE ( 14 ) omega 484 485 CALL wrd_write_string( 'omega_sor' ) 486 WRITE ( 14 ) omega_sor 487 488 CALL wrd_write_string( 'output_for_t0' ) 489 WRITE ( 14 ) output_for_t0 490 491 CALL wrd_write_string( 'passive_scalar' ) 492 WRITE ( 14 ) passive_scalar 493 494 CALL wrd_write_string( 'prandtl_number' ) 495 WRITE ( 14 ) prandtl_number 496 497 CALL wrd_write_string( 'psolver' ) 498 WRITE ( 14 ) psolver 499 500 CALL wrd_write_string( 'pt_damping_factor' ) 501 WRITE ( 14 ) pt_damping_factor 502 503 CALL wrd_write_string( 'pt_damping_width' ) 504 WRITE ( 14 ) pt_damping_width 505 506 CALL wrd_write_string( 'pt_init' ) 507 WRITE ( 14 ) pt_init 508 509 CALL wrd_write_string( 'pt_reference' ) 510 WRITE ( 14 ) pt_reference 511 512 CALL wrd_write_string( 'pt_surface' ) 513 WRITE ( 14 ) pt_surface 514 515 CALL wrd_write_string( 'pt_surface_initial_change' ) 516 WRITE ( 14 ) pt_surface_initial_change 517 518 CALL wrd_write_string( 'pt_vertical_gradient' ) 519 WRITE ( 14 ) pt_vertical_gradient 520 521 CALL wrd_write_string( 'pt_vertical_gradient_level' ) 522 WRITE ( 14 ) pt_vertical_gradient_level 523 524 CALL wrd_write_string( 'pt_vertical_gradient_level_ind' ) 525 WRITE ( 14 ) pt_vertical_gradient_level_ind 526 527 CALL wrd_write_string( 'q_init' ) 528 WRITE ( 14 ) q_init 529 530 CALL wrd_write_string( 'q_surface' ) 531 WRITE ( 14 ) q_surface 532 533 CALL wrd_write_string( 'q_surface_initial_change' ) 534 WRITE ( 14 ) q_surface_initial_change 535 536 CALL wrd_write_string( 'q_vertical_gradient' ) 537 WRITE ( 14 ) q_vertical_gradient 538 539 CALL wrd_write_string( 'q_vertical_gradient_level' ) 540 WRITE ( 14 ) q_vertical_gradient_level 541 542 CALL wrd_write_string( 'q_vertical_gradient_level_ind' ) 543 WRITE ( 14 ) q_vertical_gradient_level_ind 544 545 CALL wrd_write_string( 'random_generator' ) 546 WRITE ( 14 ) random_generator 547 548 CALL wrd_write_string( 'random_heatflux' ) 549 WRITE ( 14 ) random_heatflux 550 551 CALL wrd_write_string( 'rans_mode' ) 552 WRITE ( 14 ) rans_mode 553 554 CALL wrd_write_string( 'rayleigh_damping_factor' ) 555 WRITE ( 14 ) rayleigh_damping_factor 556 557 CALL wrd_write_string( 'rayleigh_damping_height' ) 558 WRITE ( 14 ) rayleigh_damping_height 559 560 CALL wrd_write_string( 'recycling_width' ) 561 WRITE ( 14 ) recycling_width 562 563 CALL wrd_write_string( 'ref_state' ) 564 WRITE ( 14 ) ref_state 565 566 CALL wrd_write_string( 'reference_state' ) 567 WRITE ( 14 ) reference_state 568 569 CALL wrd_write_string( 'residual_limit' ) 570 WRITE ( 14 ) residual_limit 571 572 CALL wrd_write_string( 'roughness_length' ) 573 WRITE ( 14 ) roughness_length 574 575 CALL wrd_write_string( 'run_coupled' ) 576 WRITE ( 14 ) run_coupled 577 578 CALL wrd_write_string( 'runnr' ) 579 WRITE ( 14 ) runnr 580 581 CALL wrd_write_string( 's_init' ) 582 WRITE ( 14 ) s_init 583 584 CALL wrd_write_string( 's_surface' ) 585 WRITE ( 14 ) s_surface 586 587 CALL wrd_write_string( 's_surface_initial_change' ) 588 WRITE ( 14 ) s_surface_initial_change 589 590 CALL wrd_write_string( 's_vertical_gradient' ) 591 WRITE ( 14 ) s_vertical_gradient 592 593 CALL wrd_write_string( 's_vertical_gradient_level' ) 594 WRITE ( 14 ) s_vertical_gradient_level 595 596 CALL wrd_write_string( 's_vertical_gradient_level_ind' ) 597 WRITE ( 14 ) s_vertical_gradient_level_ind 598 599 CALL wrd_write_string( 'scalar_advec' ) 600 WRITE ( 14 ) scalar_advec 601 602 CALL wrd_write_string( 'simulated_time' ) 603 WRITE ( 14 ) simulated_time 604 605 IF ( ALLOCATED( spectrum_x ) ) THEN 606 CALL wrd_write_string( 'spectrum_x' ) 607 WRITE ( 14 ) spectrum_x 608 CALL wrd_write_string( 'spectrum_y' ) 609 WRITE ( 14 ) spectrum_y 610 ENDIF 611 612 CALL wrd_write_string( 'spinup_time ' ) 613 WRITE ( 14 ) spinup_time 614 615 CALL wrd_write_string( 'surface_heatflux' ) 616 WRITE ( 14 ) surface_heatflux 617 618 CALL wrd_write_string( 'surface_pressure' ) 619 WRITE ( 14 ) surface_pressure 620 621 CALL wrd_write_string( 'surface_scalarflux' ) 622 WRITE ( 14 ) surface_scalarflux 623 624 CALL wrd_write_string( 'surface_waterflux' ) 625 WRITE ( 14 ) surface_waterflux 626 627 CALL wrd_write_string( 'time_coupling' ) 628 WRITE ( 14 ) time_coupling 629 630 CALL wrd_write_string( 'time_disturb' ) 631 WRITE ( 14 ) time_disturb 632 633 CALL wrd_write_string( 'time_do2d_xy' ) 634 WRITE ( 14 ) time_do2d_xy 635 636 CALL wrd_write_string( 'time_do2d_xz' ) 637 WRITE ( 14 ) time_do2d_xz 638 639 CALL wrd_write_string( 'time_do2d_yz' ) 640 WRITE ( 14 ) time_do2d_yz 641 642 CALL wrd_write_string( 'time_do3d' ) 643 WRITE ( 14 ) time_do3d 644 645 CALL wrd_write_string( 'time_do_av' ) 646 WRITE ( 14 ) time_do_av 647 648 CALL wrd_write_string( 'time_do_sla' ) 649 WRITE ( 14 ) time_do_sla 650 651 CALL wrd_write_string( 'time_domask' ) 652 WRITE ( 14 ) time_domask 653 654 CALL wrd_write_string( 'time_dopr' ) 655 WRITE ( 14 ) time_dopr 656 657 CALL wrd_write_string( 'time_dopr_av' ) 658 WRITE ( 14 ) time_dopr_av 659 660 CALL wrd_write_string( 'time_dopr_listing' ) 661 WRITE ( 14 ) time_dopr_listing 662 663 CALL wrd_write_string( 'time_dopts' ) 664 WRITE ( 14 ) time_dopts 665 666 CALL wrd_write_string( 'time_dosp' ) 667 WRITE ( 14 ) time_dosp 668 669 CALL wrd_write_string( 'time_dots' ) 670 WRITE ( 14 ) time_dots 671 672 CALL wrd_write_string( 'time_radiation' ) 673 WRITE ( 14 ) time_radiation 674 675 CALL wrd_write_string( 'time_restart' ) 676 WRITE ( 14 ) time_restart 677 678 CALL wrd_write_string( 'time_run_control' ) 679 WRITE ( 14 ) time_run_control 680 681 CALL wrd_write_string( 'time_since_reference_point' ) 682 WRITE ( 14 ) time_since_reference_point 683 684 CALL wrd_write_string( 'time_virtual_measurement' ) 685 WRITE ( 14 ) time_virtual_measurement 686 687 CALL wrd_write_string( 'timestep_scheme' ) 688 WRITE ( 14 ) timestep_scheme 689 690 CALL wrd_write_string( 'top_heatflux' ) 691 WRITE ( 14 ) top_heatflux 692 693 CALL wrd_write_string( 'top_momentumflux_u' ) 694 WRITE ( 14 ) top_momentumflux_u 695 696 CALL wrd_write_string( 'top_momentumflux_v' ) 697 WRITE ( 14 ) top_momentumflux_v 698 699 CALL wrd_write_string( 'top_scalarflux' ) 700 WRITE ( 14 ) top_scalarflux 701 702 CALL wrd_write_string( 'topography' ) 703 WRITE ( 14 ) topography 704 705 CALL wrd_write_string( 'topography_grid_convention' ) 706 WRITE ( 14 ) topography_grid_convention 707 708 CALL wrd_write_string( 'tsc' ) 709 WRITE ( 14 ) tsc 710 711 CALL wrd_write_string( 'tunnel_height' ) 712 WRITE ( 14 ) tunnel_height 713 714 CALL wrd_write_string( 'tunnel_length' ) 715 WRITE ( 14 ) tunnel_length 716 717 CALL wrd_write_string( 'tunnel_wall_depth' ) 718 WRITE ( 14 ) tunnel_wall_depth 719 720 CALL wrd_write_string( 'tunnel_width_x' ) 721 WRITE ( 14 ) tunnel_width_x 722 723 CALL wrd_write_string( 'tunnel_width_y' ) 724 WRITE ( 14 ) tunnel_width_y 725 726 CALL wrd_write_string( 'turbulence_closure' ) 727 WRITE ( 14 ) turbulence_closure 728 729 CALL wrd_write_string( 'turbulent_inflow' ) 730 WRITE ( 14 ) turbulent_inflow 731 732 CALL wrd_write_string( 'u_bulk' ) 733 WRITE ( 14 ) u_bulk 734 735 CALL wrd_write_string( 'u_init' ) 736 WRITE ( 14 ) u_init 737 738 CALL wrd_write_string( 'u_max' ) 739 WRITE ( 14 ) u_max 740 741 CALL wrd_write_string( 'u_max_ijk' ) 742 WRITE ( 14 ) u_max_ijk 743 744 CALL wrd_write_string( 'ug' ) 745 WRITE ( 14 ) ug 746 747 CALL wrd_write_string( 'ug_surface' ) 748 WRITE ( 14 ) ug_surface 749 750 CALL wrd_write_string( 'ug_vertical_gradient' ) 751 WRITE ( 14 ) ug_vertical_gradient 752 753 CALL wrd_write_string( 'ug_vertical_gradient_level' ) 754 WRITE ( 14 ) ug_vertical_gradient_level 755 756 CALL wrd_write_string( 'ug_vertical_gradient_level_ind' ) 757 WRITE ( 14 ) ug_vertical_gradient_level_ind 758 759 CALL wrd_write_string( 'use_surface_fluxes' ) 760 WRITE ( 14 ) use_surface_fluxes 761 762 CALL wrd_write_string( 'use_top_fluxes' ) 763 WRITE ( 14 ) use_top_fluxes 764 765 CALL wrd_write_string( 'use_ug_for_galilei_tr' ) 766 WRITE ( 14 ) use_ug_for_galilei_tr 767 768 CALL wrd_write_string( 'use_upstream_for_tke' ) 769 WRITE ( 14 ) use_upstream_for_tke 770 771 CALL wrd_write_string( 'v_bulk' ) 772 WRITE ( 14 ) v_bulk 773 774 CALL wrd_write_string( 'v_init' ) 775 WRITE ( 14 ) v_init 776 777 CALL wrd_write_string( 'v_max' ) 778 WRITE ( 14 ) v_max 779 780 CALL wrd_write_string( 'v_max_ijk' ) 781 WRITE ( 14 ) v_max_ijk 782 783 CALL wrd_write_string( 'vg' ) 784 WRITE ( 14 ) vg 785 786 CALL wrd_write_string( 'vg_surface' ) 787 WRITE ( 14 ) vg_surface 788 789 CALL wrd_write_string( 'vg_vertical_gradient' ) 790 WRITE ( 14 ) vg_vertical_gradient 791 792 CALL wrd_write_string( 'vg_vertical_gradient_level' ) 793 WRITE ( 14 ) vg_vertical_gradient_level 794 795 CALL wrd_write_string( 'vg_vertical_gradient_level_ind' ) 796 WRITE ( 14 ) vg_vertical_gradient_level_ind 797 798 CALL wrd_write_string( 'virtual_flight' ) 799 WRITE ( 14 ) virtual_flight 800 801 CALL wrd_write_string( 'vnest_init' ) 802 WRITE ( 14 ) vnest_init 803 804 CALL wrd_write_string( 'volume_flow_area' ) 805 WRITE ( 14 ) volume_flow_area 806 807 CALL wrd_write_string( 'volume_flow_initial' ) 808 WRITE ( 14 ) volume_flow_initial 809 810 CALL wrd_write_string( 'subs_vertical_gradient' ) 811 WRITE ( 14 ) subs_vertical_gradient 812 813 CALL wrd_write_string( 'subs_vertical_gradient_level' ) 814 WRITE ( 14 ) subs_vertical_gradient_level 815 816 CALL wrd_write_string( 'subs_vertical_gradient_level_i' ) 817 WRITE ( 14 ) subs_vertical_gradient_level_i 818 819 CALL wrd_write_string( 'w_max' ) 820 WRITE ( 14 ) w_max 821 822 CALL wrd_write_string( 'w_max_ijk' ) 823 WRITE ( 14 ) w_max_ijk 824 825 CALL wrd_write_string( 'wall_adjustment' ) 826 WRITE ( 14 ) wall_adjustment 827 828 CALL wrd_write_string( 'wall_heatflux' ) 829 WRITE ( 14 ) wall_heatflux 830 831 CALL wrd_write_string( 'wall_humidityflux' ) 832 WRITE ( 14 ) wall_humidityflux 833 834 CALL wrd_write_string( 'wall_scalarflux' ) 835 WRITE ( 14 ) wall_scalarflux 836 837 CALL wrd_write_string( 'y_shift' ) 838 WRITE ( 14 ) y_shift 839 840 CALL wrd_write_string( 'z0h_factor' ) 841 WRITE ( 14 ) z0h_factor 842 843 CALL wrd_write_string( 'zeta_max' ) 844 WRITE ( 14 ) zeta_max 845 846 CALL wrd_write_string( 'zeta_min' ) 847 WRITE ( 14 ) zeta_min 848 849 CALL wrd_write_string( 'z_i' ) 850 WRITE ( 14 ) z_i 851 852 ! 853 !-- Write restart data of the other modules 854 CALL module_interface_wrd_global 855 856 857 END SUBROUTINE wrd_global 858 859 860 !------------------------------------------------------------------------------! 147 !--------------------------------------------------------------------------------------------------! 148 149 150 SUBROUTINE wrd_global 151 152 153 CHARACTER(LEN=10) :: binary_version_global !< 154 155 156 binary_version_global = '4.9' 157 158 CALL wrd_write_string( 'binary_version_global' ) 159 WRITE ( 14 ) binary_version_global 160 161 CALL wrd_write_string( 'numprocs' ) 162 WRITE ( 14 ) numprocs 163 164 CALL wrd_write_string( 'hor_index_bounds' ) 165 WRITE ( 14 ) hor_index_bounds 166 167 CALL wrd_write_string( 'nz' ) 168 WRITE ( 14 ) nz 169 170 CALL wrd_write_string( 'max_pr_user' ) 171 WRITE ( 14 ) max_pr_user 172 173 CALL wrd_write_string( 'statistic_regions' ) 174 WRITE ( 14 ) statistic_regions 175 176 ! 177 !-- Caution: After changes in the following parameter-list, the version number stored in the 178 !-- -------- variable binary_version_global has to be increased. The same changes must also be done 179 !-- in the parameter-list in rrd_global. 180 181 CALL wrd_write_string( 'advected_distance_x' ) 182 WRITE ( 14 ) advected_distance_x 183 184 CALL wrd_write_string( 'advected_distance_y' ) 185 WRITE ( 14 ) advected_distance_y 186 187 CALL wrd_write_string( 'alpha_surface' ) 188 WRITE ( 14 ) alpha_surface 189 190 CALL wrd_write_string( 'average_count_pr' ) 191 WRITE ( 14 ) average_count_pr 192 193 CALL wrd_write_string( 'average_count_sp' ) 194 WRITE ( 14 ) average_count_sp 195 196 CALL wrd_write_string( 'average_count_3d' ) 197 WRITE ( 14 ) average_count_3d 198 199 CALL wrd_write_string( 'bc_e_b' ) 200 WRITE ( 14 ) bc_e_b 201 202 CALL wrd_write_string( 'bc_lr' ) 203 WRITE ( 14 ) bc_lr 204 205 CALL wrd_write_string( 'bc_ns' ) 206 WRITE ( 14 ) bc_ns 207 208 CALL wrd_write_string( 'bc_p_b' ) 209 WRITE ( 14 ) bc_p_b 210 211 CALL wrd_write_string( 'bc_p_t' ) 212 WRITE ( 14 ) bc_p_t 213 214 CALL wrd_write_string( 'bc_pt_b' ) 215 WRITE ( 14 ) bc_pt_b 216 217 CALL wrd_write_string( 'bc_pt_t' ) 218 WRITE ( 14 ) bc_pt_t 219 220 CALL wrd_write_string( 'bc_pt_t_val' ) 221 WRITE ( 14 ) bc_pt_t_val 222 223 CALL wrd_write_string( 'bc_q_b' ) 224 WRITE ( 14 ) bc_q_b 225 226 CALL wrd_write_string( 'bc_q_t' ) 227 WRITE ( 14 ) bc_q_t 228 229 CALL wrd_write_string( 'bc_q_t_val' ) 230 WRITE ( 14 ) bc_q_t_val 231 232 CALL wrd_write_string( 'bc_s_b' ) 233 WRITE ( 14 ) bc_s_b 234 235 CALL wrd_write_string( 'bc_s_t' ) 236 WRITE ( 14 ) bc_s_t 237 238 CALL wrd_write_string( 'bc_uv_b' ) 239 WRITE ( 14 ) bc_uv_b 240 241 CALL wrd_write_string( 'bc_uv_t' ) 242 WRITE ( 14 ) bc_uv_t 243 244 CALL wrd_write_string( 'building_height' ) 245 WRITE ( 14 ) building_height 246 247 CALL wrd_write_string( 'building_length_x' ) 248 WRITE ( 14 ) building_length_x 249 250 CALL wrd_write_string( 'building_length_y' ) 251 WRITE ( 14 ) building_length_y 252 253 CALL wrd_write_string( 'building_wall_left' ) 254 WRITE ( 14 ) building_wall_left 255 256 CALL wrd_write_string( 'building_wall_south' ) 257 WRITE ( 14 ) building_wall_south 258 259 CALL wrd_write_string( 'call_psolver_at_all_substeps' ) 260 WRITE ( 14 ) call_psolver_at_all_substeps 261 262 CALL wrd_write_string( 'canyon_height' ) 263 WRITE ( 14 ) canyon_height 264 265 CALL wrd_write_string( 'canyon_wall_left' ) 266 WRITE ( 14 ) canyon_wall_left 267 268 CALL wrd_write_string( 'canyon_wall_south' ) 269 WRITE ( 14 ) canyon_wall_south 270 271 CALL wrd_write_string( 'canyon_width_x' ) 272 WRITE ( 14 ) canyon_width_x 273 274 CALL wrd_write_string( 'canyon_width_y' ) 275 WRITE ( 14 ) canyon_width_y 276 277 CALL wrd_write_string( 'cfl_factor' ) 278 WRITE ( 14 ) cfl_factor 279 280 CALL wrd_write_string( 'cloud_droplets' ) 281 WRITE ( 14 ) cloud_droplets 282 283 CALL wrd_write_string( 'collective_wait' ) 284 WRITE ( 14 ) collective_wait 285 286 CALL wrd_write_string( 'conserve_volume_flow' ) 287 WRITE ( 14 ) conserve_volume_flow 288 289 CALL wrd_write_string( 'conserve_volume_flow_mode' ) 290 WRITE ( 14 ) conserve_volume_flow_mode 291 292 CALL wrd_write_string( 'constant_flux_layer' ) 293 WRITE ( 14 ) constant_flux_layer 294 295 CALL wrd_write_string( 'coupling_start_time' ) 296 WRITE ( 14 ) coupling_start_time 297 298 CALL wrd_write_string( 'current_timestep_number' ) 299 WRITE ( 14 ) current_timestep_number 300 301 CALL wrd_write_string( 'cycle_mg' ) 302 WRITE ( 14 ) cycle_mg 303 304 CALL wrd_write_string( 'damp_level_1d' ) 305 WRITE ( 14 ) damp_level_1d 306 307 CALL wrd_write_string( 'origin_date_time' ) 308 WRITE ( 14 ) origin_date_time 309 310 CALL wrd_write_string( 'dissipation_1d' ) 311 WRITE ( 14 ) dissipation_1d 312 313 CALL wrd_write_string( 'do2d_xy_time_count' ) 314 WRITE ( 14 ) do2d_xy_time_count 315 316 CALL wrd_write_string( 'do2d_xz_time_count' ) 317 WRITE ( 14 ) do2d_xz_time_count 318 319 CALL wrd_write_string( 'do2d_yz_time_count' ) 320 WRITE ( 14 ) do2d_yz_time_count 321 322 CALL wrd_write_string( 'do3d_time_count' ) 323 WRITE ( 14 ) do3d_time_count 324 325 CALL wrd_write_string( 'dp_external' ) 326 WRITE ( 14 ) dp_external 327 328 CALL wrd_write_string( 'dp_level_b' ) 329 WRITE ( 14 ) dp_level_b 330 331 CALL wrd_write_string( 'dp_smooth' ) 332 WRITE ( 14 ) dp_smooth 333 334 CALL wrd_write_string( 'dpdxy' ) 335 WRITE ( 14 ) dpdxy 336 337 CALL wrd_write_string( 'dt_3d' ) 338 WRITE ( 14 ) dt_3d 339 340 CALL wrd_write_string( 'dt_pr_1d' ) 341 WRITE ( 14 ) dt_pr_1d 342 343 CALL wrd_write_string( 'dt_run_control_1d' ) 344 WRITE ( 14 ) dt_run_control_1d 345 346 CALL wrd_write_string( 'dx' ) 347 WRITE ( 14 ) dx 348 349 CALL wrd_write_string( 'dy' ) 350 WRITE ( 14 ) dy 351 352 CALL wrd_write_string( 'dz' ) 353 WRITE ( 14 ) dz 354 355 CALL wrd_write_string( 'dz_max' ) 356 WRITE ( 14 ) dz_max 357 358 CALL wrd_write_string( 'dz_stretch_factor' ) 359 WRITE ( 14 ) dz_stretch_factor 360 361 CALL wrd_write_string( 'dz_stretch_factor_array' ) 362 WRITE ( 14 ) dz_stretch_factor_array 363 364 CALL wrd_write_string( 'dz_stretch_level' ) 365 WRITE ( 14 ) dz_stretch_level 366 367 CALL wrd_write_string( 'dz_stretch_level_end' ) 368 WRITE ( 14 ) dz_stretch_level_end 369 370 CALL wrd_write_string( 'dz_stretch_level_start' ) 371 WRITE ( 14 ) dz_stretch_level_start 372 373 CALL wrd_write_string( 'e_min' ) 374 WRITE ( 14 ) e_min 375 376 CALL wrd_write_string( 'end_time_1d' ) 377 WRITE ( 14 ) end_time_1d 378 379 CALL wrd_write_string( 'fft_method' ) 380 WRITE ( 14 ) fft_method 381 382 CALL wrd_write_string( 'first_call_lpm' ) 383 WRITE ( 14 ) first_call_lpm 384 385 CALL wrd_write_string( 'galilei_transformation' ) 386 WRITE ( 14 ) galilei_transformation 387 388 CALL wrd_write_string( 'hom' ) 389 WRITE ( 14 ) hom 390 391 CALL wrd_write_string( 'hom_sum' ) 392 WRITE ( 14 ) hom_sum 393 394 CALL wrd_write_string( 'humidity' ) 395 WRITE ( 14 ) humidity 396 397 IF ( ALLOCATED( inflow_damping_factor ) ) THEN 398 CALL wrd_write_string( 'inflow_damping_factor' ) 399 WRITE ( 14 ) inflow_damping_factor 400 ENDIF 401 402 CALL wrd_write_string( 'inflow_damping_height' ) 403 WRITE ( 14 ) inflow_damping_height 404 405 CALL wrd_write_string( 'inflow_damping_width' ) 406 WRITE ( 14 ) inflow_damping_width 407 408 CALL wrd_write_string( 'inflow_disturbance_begin' ) 409 WRITE ( 14 ) inflow_disturbance_begin 410 411 CALL wrd_write_string( 'inflow_disturbance_end' ) 412 WRITE ( 14 ) inflow_disturbance_end 413 414 CALL wrd_write_string( 'km_constant' ) 415 WRITE ( 14 ) km_constant 416 417 CALL wrd_write_string( 'large_scale_forcing' ) 418 WRITE ( 14 ) large_scale_forcing 419 420 CALL wrd_write_string( 'large_scale_subsidence' ) 421 WRITE ( 14 ) large_scale_subsidence 422 423 CALL wrd_write_string( 'latitude' ) 424 WRITE ( 14 ) latitude 425 426 CALL wrd_write_string( 'longitude' ) 427 WRITE ( 14 ) longitude 428 429 CALL wrd_write_string( 'loop_optimization' ) 430 WRITE ( 14 ) loop_optimization 431 432 CALL wrd_write_string( 'masking_method' ) 433 WRITE ( 14 ) masking_method 434 435 IF ( ALLOCATED( mean_inflow_profiles ) ) THEN 436 CALL wrd_write_string( 'mean_inflow_profiles' ) 437 WRITE ( 14 ) mean_inflow_profiles 438 ENDIF 439 440 CALL wrd_write_string( 'mg_cycles' ) 441 WRITE ( 14 ) mg_cycles 442 443 CALL wrd_write_string( 'mg_switch_to_pe0_level' ) 444 WRITE ( 14 ) mg_switch_to_pe0_level 445 446 CALL wrd_write_string( 'mixing_length_1d' ) 447 WRITE ( 14 ) mixing_length_1d 448 449 CALL wrd_write_string( 'momentum_advec' ) 450 WRITE ( 14 ) momentum_advec 451 452 CALL wrd_write_string( 'netcdf_precision' ) 453 WRITE ( 14 ) netcdf_precision 454 455 CALL wrd_write_string( 'neutral' ) 456 WRITE ( 14 ) neutral 457 458 CALL wrd_write_string( 'ngsrb' ) 459 WRITE ( 14 ) ngsrb 460 461 CALL wrd_write_string( 'nsor' ) 462 WRITE ( 14 ) nsor 463 464 CALL wrd_write_string( 'nsor_ini' ) 465 WRITE ( 14 ) nsor_ini 466 467 CALL wrd_write_string( 'nudging' ) 468 WRITE ( 14 ) nudging 469 470 CALL wrd_write_string( 'num_leg' ) 471 WRITE ( 14 ) num_leg 472 473 CALL wrd_write_string( 'nx' ) 474 WRITE ( 14 ) nx 475 476 CALL wrd_write_string( 'ny' ) 477 WRITE ( 14 ) ny 478 479 CALL wrd_write_string( 'ocean_mode' ) 480 WRITE ( 14 ) ocean_mode 481 482 CALL wrd_write_string( 'omega' ) 483 WRITE ( 14 ) omega 484 485 CALL wrd_write_string( 'omega_sor' ) 486 WRITE ( 14 ) omega_sor 487 488 CALL wrd_write_string( 'output_for_t0' ) 489 WRITE ( 14 ) output_for_t0 490 491 CALL wrd_write_string( 'passive_scalar' ) 492 WRITE ( 14 ) passive_scalar 493 494 CALL wrd_write_string( 'prandtl_number' ) 495 WRITE ( 14 ) prandtl_number 496 497 CALL wrd_write_string( 'psolver' ) 498 WRITE ( 14 ) psolver 499 500 CALL wrd_write_string( 'pt_damping_factor' ) 501 WRITE ( 14 ) pt_damping_factor 502 503 CALL wrd_write_string( 'pt_damping_width' ) 504 WRITE ( 14 ) pt_damping_width 505 506 CALL wrd_write_string( 'pt_init' ) 507 WRITE ( 14 ) pt_init 508 509 CALL wrd_write_string( 'pt_reference' ) 510 WRITE ( 14 ) pt_reference 511 512 CALL wrd_write_string( 'pt_surface' ) 513 WRITE ( 14 ) pt_surface 514 515 CALL wrd_write_string( 'pt_surface_initial_change' ) 516 WRITE ( 14 ) pt_surface_initial_change 517 518 CALL wrd_write_string( 'pt_vertical_gradient' ) 519 WRITE ( 14 ) pt_vertical_gradient 520 521 CALL wrd_write_string( 'pt_vertical_gradient_level' ) 522 WRITE ( 14 ) pt_vertical_gradient_level 523 524 CALL wrd_write_string( 'pt_vertical_gradient_level_ind' ) 525 WRITE ( 14 ) pt_vertical_gradient_level_ind 526 527 CALL wrd_write_string( 'q_init' ) 528 WRITE ( 14 ) q_init 529 530 CALL wrd_write_string( 'q_surface' ) 531 WRITE ( 14 ) q_surface 532 533 CALL wrd_write_string( 'q_surface_initial_change' ) 534 WRITE ( 14 ) q_surface_initial_change 535 536 CALL wrd_write_string( 'q_vertical_gradient' ) 537 WRITE ( 14 ) q_vertical_gradient 538 539 CALL wrd_write_string( 'q_vertical_gradient_level' ) 540 WRITE ( 14 ) q_vertical_gradient_level 541 542 CALL wrd_write_string( 'q_vertical_gradient_level_ind' ) 543 WRITE ( 14 ) q_vertical_gradient_level_ind 544 545 CALL wrd_write_string( 'random_generator' ) 546 WRITE ( 14 ) random_generator 547 548 CALL wrd_write_string( 'random_heatflux' ) 549 WRITE ( 14 ) random_heatflux 550 551 CALL wrd_write_string( 'rans_mode' ) 552 WRITE ( 14 ) rans_mode 553 554 CALL wrd_write_string( 'rayleigh_damping_factor' ) 555 WRITE ( 14 ) rayleigh_damping_factor 556 557 CALL wrd_write_string( 'rayleigh_damping_height' ) 558 WRITE ( 14 ) rayleigh_damping_height 559 560 CALL wrd_write_string( 'recycling_width' ) 561 WRITE ( 14 ) recycling_width 562 563 CALL wrd_write_string( 'ref_state' ) 564 WRITE ( 14 ) ref_state 565 566 CALL wrd_write_string( 'reference_state' ) 567 WRITE ( 14 ) reference_state 568 569 CALL wrd_write_string( 'residual_limit' ) 570 WRITE ( 14 ) residual_limit 571 572 CALL wrd_write_string( 'roughness_length' ) 573 WRITE ( 14 ) roughness_length 574 575 CALL wrd_write_string( 'run_coupled' ) 576 WRITE ( 14 ) run_coupled 577 578 CALL wrd_write_string( 'runnr' ) 579 WRITE ( 14 ) runnr 580 581 CALL wrd_write_string( 's_init' ) 582 WRITE ( 14 ) s_init 583 584 CALL wrd_write_string( 's_surface' ) 585 WRITE ( 14 ) s_surface 586 587 CALL wrd_write_string( 's_surface_initial_change' ) 588 WRITE ( 14 ) s_surface_initial_change 589 590 CALL wrd_write_string( 's_vertical_gradient' ) 591 WRITE ( 14 ) s_vertical_gradient 592 593 CALL wrd_write_string( 's_vertical_gradient_level' ) 594 WRITE ( 14 ) s_vertical_gradient_level 595 596 CALL wrd_write_string( 's_vertical_gradient_level_ind' ) 597 WRITE ( 14 ) s_vertical_gradient_level_ind 598 599 CALL wrd_write_string( 'scalar_advec' ) 600 WRITE ( 14 ) scalar_advec 601 602 CALL wrd_write_string( 'simulated_time' ) 603 WRITE ( 14 ) simulated_time 604 605 IF ( ALLOCATED( spectrum_x ) ) THEN 606 CALL wrd_write_string( 'spectrum_x' ) 607 WRITE ( 14 ) spectrum_x 608 CALL wrd_write_string( 'spectrum_y' ) 609 WRITE ( 14 ) spectrum_y 610 ENDIF 611 612 CALL wrd_write_string( 'spinup_time ' ) 613 WRITE ( 14 ) spinup_time 614 615 CALL wrd_write_string( 'surface_heatflux' ) 616 WRITE ( 14 ) surface_heatflux 617 618 CALL wrd_write_string( 'surface_pressure' ) 619 WRITE ( 14 ) surface_pressure 620 621 CALL wrd_write_string( 'surface_scalarflux' ) 622 WRITE ( 14 ) surface_scalarflux 623 624 CALL wrd_write_string( 'surface_waterflux' ) 625 WRITE ( 14 ) surface_waterflux 626 627 CALL wrd_write_string( 'time_coupling' ) 628 WRITE ( 14 ) time_coupling 629 630 CALL wrd_write_string( 'time_disturb' ) 631 WRITE ( 14 ) time_disturb 632 633 CALL wrd_write_string( 'time_do2d_xy' ) 634 WRITE ( 14 ) time_do2d_xy 635 636 CALL wrd_write_string( 'time_do2d_xz' ) 637 WRITE ( 14 ) time_do2d_xz 638 639 CALL wrd_write_string( 'time_do2d_yz' ) 640 WRITE ( 14 ) time_do2d_yz 641 642 CALL wrd_write_string( 'time_do3d' ) 643 WRITE ( 14 ) time_do3d 644 645 CALL wrd_write_string( 'time_do_av' ) 646 WRITE ( 14 ) time_do_av 647 648 CALL wrd_write_string( 'time_do_sla' ) 649 WRITE ( 14 ) time_do_sla 650 651 CALL wrd_write_string( 'time_domask' ) 652 WRITE ( 14 ) time_domask 653 654 CALL wrd_write_string( 'time_dopr' ) 655 WRITE ( 14 ) time_dopr 656 657 CALL wrd_write_string( 'time_dopr_av' ) 658 WRITE ( 14 ) time_dopr_av 659 660 CALL wrd_write_string( 'time_dopr_listing' ) 661 WRITE ( 14 ) time_dopr_listing 662 663 CALL wrd_write_string( 'time_dopts' ) 664 WRITE ( 14 ) time_dopts 665 666 CALL wrd_write_string( 'time_dosp' ) 667 WRITE ( 14 ) time_dosp 668 669 CALL wrd_write_string( 'time_dots' ) 670 WRITE ( 14 ) time_dots 671 672 CALL wrd_write_string( 'time_radiation' ) 673 WRITE ( 14 ) time_radiation 674 675 CALL wrd_write_string( 'time_restart' ) 676 WRITE ( 14 ) time_restart 677 678 CALL wrd_write_string( 'time_run_control' ) 679 WRITE ( 14 ) time_run_control 680 681 CALL wrd_write_string( 'time_since_reference_point' ) 682 WRITE ( 14 ) time_since_reference_point 683 684 CALL wrd_write_string( 'time_virtual_measurement' ) 685 WRITE ( 14 ) time_virtual_measurement 686 687 CALL wrd_write_string( 'timestep_scheme' ) 688 WRITE ( 14 ) timestep_scheme 689 690 CALL wrd_write_string( 'top_heatflux' ) 691 WRITE ( 14 ) top_heatflux 692 693 CALL wrd_write_string( 'top_momentumflux_u' ) 694 WRITE ( 14 ) top_momentumflux_u 695 696 CALL wrd_write_string( 'top_momentumflux_v' ) 697 WRITE ( 14 ) top_momentumflux_v 698 699 CALL wrd_write_string( 'top_scalarflux' ) 700 WRITE ( 14 ) top_scalarflux 701 702 CALL wrd_write_string( 'topography' ) 703 WRITE ( 14 ) topography 704 705 CALL wrd_write_string( 'topography_grid_convention' ) 706 WRITE ( 14 ) topography_grid_convention 707 708 CALL wrd_write_string( 'tsc' ) 709 WRITE ( 14 ) tsc 710 711 CALL wrd_write_string( 'tunnel_height' ) 712 WRITE ( 14 ) tunnel_height 713 714 CALL wrd_write_string( 'tunnel_length' ) 715 WRITE ( 14 ) tunnel_length 716 717 CALL wrd_write_string( 'tunnel_wall_depth' ) 718 WRITE ( 14 ) tunnel_wall_depth 719 720 CALL wrd_write_string( 'tunnel_width_x' ) 721 WRITE ( 14 ) tunnel_width_x 722 723 CALL wrd_write_string( 'tunnel_width_y' ) 724 WRITE ( 14 ) tunnel_width_y 725 726 CALL wrd_write_string( 'turbulence_closure' ) 727 WRITE ( 14 ) turbulence_closure 728 729 CALL wrd_write_string( 'turbulent_inflow' ) 730 WRITE ( 14 ) turbulent_inflow 731 732 CALL wrd_write_string( 'u_bulk' ) 733 WRITE ( 14 ) u_bulk 734 735 CALL wrd_write_string( 'u_init' ) 736 WRITE ( 14 ) u_init 737 738 CALL wrd_write_string( 'u_max' ) 739 WRITE ( 14 ) u_max 740 741 CALL wrd_write_string( 'u_max_ijk' ) 742 WRITE ( 14 ) u_max_ijk 743 744 CALL wrd_write_string( 'ug' ) 745 WRITE ( 14 ) ug 746 747 CALL wrd_write_string( 'ug_surface' ) 748 WRITE ( 14 ) ug_surface 749 750 CALL wrd_write_string( 'ug_vertical_gradient' ) 751 WRITE ( 14 ) ug_vertical_gradient 752 753 CALL wrd_write_string( 'ug_vertical_gradient_level' ) 754 WRITE ( 14 ) ug_vertical_gradient_level 755 756 CALL wrd_write_string( 'ug_vertical_gradient_level_ind' ) 757 WRITE ( 14 ) ug_vertical_gradient_level_ind 758 759 CALL wrd_write_string( 'use_surface_fluxes' ) 760 WRITE ( 14 ) use_surface_fluxes 761 762 CALL wrd_write_string( 'use_top_fluxes' ) 763 WRITE ( 14 ) use_top_fluxes 764 765 CALL wrd_write_string( 'use_ug_for_galilei_tr' ) 766 WRITE ( 14 ) use_ug_for_galilei_tr 767 768 CALL wrd_write_string( 'use_upstream_for_tke' ) 769 WRITE ( 14 ) use_upstream_for_tke 770 771 CALL wrd_write_string( 'v_bulk' ) 772 WRITE ( 14 ) v_bulk 773 774 CALL wrd_write_string( 'v_init' ) 775 WRITE ( 14 ) v_init 776 777 CALL wrd_write_string( 'v_max' ) 778 WRITE ( 14 ) v_max 779 780 CALL wrd_write_string( 'v_max_ijk' ) 781 WRITE ( 14 ) v_max_ijk 782 783 CALL wrd_write_string( 'vg' ) 784 WRITE ( 14 ) vg 785 786 CALL wrd_write_string( 'vg_surface' ) 787 WRITE ( 14 ) vg_surface 788 789 CALL wrd_write_string( 'vg_vertical_gradient' ) 790 WRITE ( 14 ) vg_vertical_gradient 791 792 CALL wrd_write_string( 'vg_vertical_gradient_level' ) 793 WRITE ( 14 ) vg_vertical_gradient_level 794 795 CALL wrd_write_string( 'vg_vertical_gradient_level_ind' ) 796 WRITE ( 14 ) vg_vertical_gradient_level_ind 797 798 CALL wrd_write_string( 'virtual_flight' ) 799 WRITE ( 14 ) virtual_flight 800 801 CALL wrd_write_string( 'vnest_init' ) 802 WRITE ( 14 ) vnest_init 803 804 CALL wrd_write_string( 'volume_flow_area' ) 805 WRITE ( 14 ) volume_flow_area 806 807 CALL wrd_write_string( 'volume_flow_initial' ) 808 WRITE ( 14 ) volume_flow_initial 809 810 CALL wrd_write_string( 'subs_vertical_gradient' ) 811 WRITE ( 14 ) subs_vertical_gradient 812 813 CALL wrd_write_string( 'subs_vertical_gradient_level' ) 814 WRITE ( 14 ) subs_vertical_gradient_level 815 816 CALL wrd_write_string( 'subs_vertical_gradient_level_i' ) 817 WRITE ( 14 ) subs_vertical_gradient_level_i 818 819 CALL wrd_write_string( 'w_max' ) 820 WRITE ( 14 ) w_max 821 822 CALL wrd_write_string( 'w_max_ijk' ) 823 WRITE ( 14 ) w_max_ijk 824 825 CALL wrd_write_string( 'wall_adjustment' ) 826 WRITE ( 14 ) wall_adjustment 827 828 CALL wrd_write_string( 'wall_heatflux' ) 829 WRITE ( 14 ) wall_heatflux 830 831 CALL wrd_write_string( 'wall_humidityflux' ) 832 WRITE ( 14 ) wall_humidityflux 833 834 CALL wrd_write_string( 'wall_scalarflux' ) 835 WRITE ( 14 ) wall_scalarflux 836 837 CALL wrd_write_string( 'y_shift' ) 838 WRITE ( 14 ) y_shift 839 840 CALL wrd_write_string( 'z0h_factor' ) 841 WRITE ( 14 ) z0h_factor 842 843 CALL wrd_write_string( 'zeta_max' ) 844 WRITE ( 14 ) zeta_max 845 846 CALL wrd_write_string( 'zeta_min' ) 847 WRITE ( 14 ) zeta_min 848 849 CALL wrd_write_string( 'z_i' ) 850 WRITE ( 14 ) z_i 851 852 ! 853 !-- Write restart data of the other modules 854 CALL module_interface_wrd_global 855 856 857 END SUBROUTINE wrd_global 858 859 860 !--------------------------------------------------------------------------------------------------! 861 861 ! Description: 862 862 ! ------------ 863 !> Processor specific data of variables and arrays is written out for 864 !> restarts (binary format). 863 !> Processor specific data of variables and arrays is written out for restarts (binary format). 865 864 !> This information is written to the file opened by each PE. 866 !------------------------------------------------------------------------------! 867 SUBROUTINE wrd_local 868 869 870 CHARACTER (LEN=10) :: binary_version_local !< 865 !--------------------------------------------------------------------------------------------------! 866 867 868 SUBROUTINE wrd_local 869 870 871 CHARACTER(LEN=10) :: binary_version_local !< 871 872 872 873 ! 873 874 !-- Write arrays. 874 binary_version_local = '4.7' 875 876 CALL wrd_write_string( 'binary_version_local' ) 877 WRITE ( 14 ) binary_version_local 878 879 WRITE ( 14 ) numprocs, myid, nxl, nxr, nys, nyn, nzb, nzt 880 881 ! 882 !-- Attention: After changes to the following output commands the version number 883 !-- --------- of the variable binary_version_local must be changed! 884 !-- Also, the list of arrays to be read in rrd_local must be 885 !-- adjusted accordingly. 886 CALL wrd_write_string( 'e' ) 887 WRITE ( 14 ) e 888 889 IF ( ALLOCATED( e_av ) ) THEN 890 CALL wrd_write_string( 'e_av' ) 891 WRITE ( 14 ) e_av 875 binary_version_local = '4.7' 876 877 CALL wrd_write_string( 'binary_version_local' ) 878 WRITE ( 14 ) binary_version_local 879 880 WRITE ( 14 ) numprocs, myid, nxl, nxr, nys, nyn, nzb, nzt 881 882 ! 883 !-- Attention: After changes to the following output commands the version number of the variable 884 !-- ---------- binary_version_local must be changed! 885 !-- Also, the list of arrays to be read in rrd_local must be adjusted accordingly. 886 CALL wrd_write_string( 'e' ) 887 WRITE ( 14 ) e 888 889 IF ( ALLOCATED( e_av ) ) THEN 890 CALL wrd_write_string( 'e_av' ) 891 WRITE ( 14 ) e_av 892 ENDIF 893 894 CALL wrd_write_string( 'kh' ) 895 WRITE ( 14 ) kh 896 897 898 IF ( ALLOCATED( kh_av ) ) THEN 899 CALL wrd_write_string( 'kh_av' ) 900 WRITE ( 14 ) kh_av 901 ENDIF 902 903 CALL wrd_write_string( 'km' ) 904 WRITE ( 14 ) km 905 906 IF ( ALLOCATED( km_av ) ) THEN 907 CALL wrd_write_string( 'km_av' ) 908 WRITE ( 14 ) km_av 909 ENDIF 910 911 IF ( ALLOCATED( lpt_av ) ) THEN 912 CALL wrd_write_string( 'lpt_av' ) 913 WRITE ( 14 ) lpt_av 914 ENDIF 915 916 IF ( ALLOCATED( lwp_av ) ) THEN 917 CALL wrd_write_string( 'lwp_av' ) 918 WRITE ( 14 ) lwp_av 919 ENDIF 920 921 CALL wrd_write_string( 'p' ) 922 WRITE ( 14 ) p 923 924 IF ( ALLOCATED( p_av ) ) THEN 925 CALL wrd_write_string( 'p_av' ) 926 WRITE ( 14 ) p_av 927 ENDIF 928 929 IF ( ALLOCATED( pc_av ) ) THEN 930 CALL wrd_write_string( 'pc_av' ) 931 WRITE ( 14 ) pc_av 932 ENDIF 933 934 IF ( ALLOCATED( pr_av ) ) THEN 935 CALL wrd_write_string( 'pr_av' ) 936 WRITE ( 14 ) pr_av 937 ENDIF 938 939 CALL wrd_write_string( 'pt' ) 940 WRITE ( 14 ) pt 941 942 IF ( ALLOCATED( pt_av ) ) THEN 943 CALL wrd_write_string( 'pt_av' ) 944 WRITE ( 14 ) pt_av 945 ENDIF 946 947 IF ( humidity ) THEN 948 949 CALL wrd_write_string( 'q' ) 950 WRITE ( 14 ) q 951 952 IF ( ALLOCATED( q_av ) ) THEN 953 CALL wrd_write_string( 'q_av' ) 954 WRITE ( 14 ) q_av 892 955 ENDIF 893 956 894 CALL wrd_write_string( 'kh' ) 895 WRITE ( 14 ) kh 896 897 898 IF ( ALLOCATED( kh_av ) ) THEN 899 CALL wrd_write_string( 'kh_av' ) 900 WRITE ( 14 ) kh_av 957 IF ( cloud_droplets ) THEN 958 959 CALL wrd_write_string( 'ql' ) 960 WRITE ( 14 ) ql 961 962 IF ( ALLOCATED( ql_av ) ) THEN 963 CALL wrd_write_string( 'ql_av' ) 964 WRITE ( 14 ) ql_av 965 ENDIF 966 901 967 ENDIF 902 968 903 CALL wrd_write_string( 'km' ) 904 WRITE ( 14 ) km 905 906 IF ( ALLOCATED( km_av ) ) THEN 907 CALL wrd_write_string( 'km_av' ) 908 WRITE ( 14 ) km_av 969 IF ( ALLOCATED( qsws_av ) ) THEN 970 CALL wrd_write_string( 'qsws_av' ) 971 WRITE ( 14 ) qsws_av 909 972 ENDIF 910 973 911 IF ( ALLOCATED( lpt_av ) ) THEN 912 CALL wrd_write_string( 'lpt_av' ) 913 WRITE ( 14 ) lpt_av 914 ENDIF 915 916 IF ( ALLOCATED( lwp_av ) ) THEN 917 CALL wrd_write_string( 'lwp_av' ) 918 WRITE ( 14 ) lwp_av 919 ENDIF 920 921 CALL wrd_write_string( 'p' ) 922 WRITE ( 14 ) p 923 924 IF ( ALLOCATED( p_av ) ) THEN 925 CALL wrd_write_string( 'p_av' ) 926 WRITE ( 14 ) p_av 927 ENDIF 928 929 IF ( ALLOCATED( pc_av ) ) THEN 930 CALL wrd_write_string( 'pc_av' ) 931 WRITE ( 14 ) pc_av 932 ENDIF 933 934 IF ( ALLOCATED( pr_av ) ) THEN 935 CALL wrd_write_string( 'pr_av' ) 936 WRITE ( 14 ) pr_av 937 ENDIF 938 939 CALL wrd_write_string( 'pt' ) 940 WRITE ( 14 ) pt 941 942 IF ( ALLOCATED( pt_av ) ) THEN 943 CALL wrd_write_string( 'pt_av' ) 944 WRITE ( 14 ) pt_av 945 ENDIF 946 947 IF ( humidity ) THEN 948 949 CALL wrd_write_string( 'q' ) 950 WRITE ( 14 ) q 951 952 IF ( ALLOCATED( q_av ) ) THEN 953 CALL wrd_write_string( 'q_av' ) 954 WRITE ( 14 ) q_av 955 ENDIF 956 957 IF ( cloud_droplets ) THEN 958 959 CALL wrd_write_string( 'ql' ) 960 WRITE ( 14 ) ql 961 962 IF ( ALLOCATED( ql_av ) ) THEN 963 CALL wrd_write_string( 'ql_av' ) 964 WRITE ( 14 ) ql_av 965 ENDIF 966 967 ENDIF 968 969 IF ( ALLOCATED( qsws_av ) ) THEN 970 CALL wrd_write_string( 'qsws_av' ) 971 WRITE ( 14 ) qsws_av 972 ENDIF 973 974 ENDIF 975 976 IF ( passive_scalar ) THEN 977 978 CALL wrd_write_string( 's' ) 979 WRITE ( 14 ) s 980 981 IF ( ALLOCATED( s_av ) ) THEN 982 CALL wrd_write_string( 's_av' ) 983 WRITE ( 14 ) s_av 984 ENDIF 985 986 IF ( ALLOCATED( ssws_av ) ) THEN 987 CALL wrd_write_string( 'ssws_av' ) 988 WRITE ( 14 ) ssws_av 989 ENDIF 990 991 ENDIF 992 993 IF ( ALLOCATED( ql_c_av ) ) THEN 994 CALL wrd_write_string( 'ql_c_av' ) 995 WRITE ( 14 ) ql_c_av 996 ENDIF 997 998 IF ( ALLOCATED( ql_v_av ) ) THEN 999 CALL wrd_write_string( 'ql_v_av' ) 1000 WRITE ( 14 ) ql_v_av 1001 ENDIF 1002 1003 IF ( ALLOCATED( ql_vp_av ) ) THEN 1004 CALL wrd_write_string( 'ql_vp_av' ) 1005 WRITE ( 14 ) ql_vp_av 1006 ENDIF 1007 1008 IF ( ALLOCATED( qv_av ) ) THEN 1009 CALL wrd_write_string( 'qv_av' ) 1010 WRITE ( 14 ) qv_av 1011 ENDIF 1012 1013 CALL wrd_write_string( 'random_iv' ) 1014 WRITE ( 14 ) random_iv 1015 WRITE ( 14 ) random_iy 1016 1017 IF ( ALLOCATED( seq_random_array ) ) THEN 1018 CALL wrd_write_string( 'seq_random_array' ) 1019 WRITE ( 14 ) id_random_array 1020 WRITE ( 14 ) seq_random_array 1021 ENDIF 974 ENDIF 975 976 IF ( passive_scalar ) THEN 977 978 CALL wrd_write_string( 's' ) 979 WRITE ( 14 ) s 1022 980 1023 981 IF ( ALLOCATED( s_av ) ) THEN 1024 CALL wrd_write_string( 's_av' ) 982 CALL wrd_write_string( 's_av' ) 1025 983 WRITE ( 14 ) s_av 1026 984 ENDIF 1027 985 1028 IF ( ALLOCATED( s hf_av ) ) THEN1029 CALL wrd_write_string( 's hf_av' )1030 WRITE ( 14 ) s hf_av986 IF ( ALLOCATED( ssws_av ) ) THEN 987 CALL wrd_write_string( 'ssws_av' ) 988 WRITE ( 14 ) ssws_av 1031 989 ENDIF 1032 990 1033 IF ( ALLOCATED( ts_av ) ) THEN 1034 CALL wrd_write_string( 'ts_av' ) 1035 WRITE ( 14 ) ts_av 991 ENDIF 992 993 IF ( ALLOCATED( ql_c_av ) ) THEN 994 CALL wrd_write_string( 'ql_c_av' ) 995 WRITE ( 14 ) ql_c_av 996 ENDIF 997 998 IF ( ALLOCATED( ql_v_av ) ) THEN 999 CALL wrd_write_string( 'ql_v_av' ) 1000 WRITE ( 14 ) ql_v_av 1001 ENDIF 1002 1003 IF ( ALLOCATED( ql_vp_av ) ) THEN 1004 CALL wrd_write_string( 'ql_vp_av' ) 1005 WRITE ( 14 ) ql_vp_av 1006 ENDIF 1007 1008 IF ( ALLOCATED( qv_av ) ) THEN 1009 CALL wrd_write_string( 'qv_av' ) 1010 WRITE ( 14 ) qv_av 1011 ENDIF 1012 1013 CALL wrd_write_string( 'random_iv' ) 1014 WRITE ( 14 ) random_iv 1015 WRITE ( 14 ) random_iy 1016 1017 IF ( ALLOCATED( seq_random_array ) ) THEN 1018 CALL wrd_write_string( 'seq_random_array' ) 1019 WRITE ( 14 ) id_random_array 1020 WRITE ( 14 ) seq_random_array 1021 ENDIF 1022 1023 IF ( ALLOCATED( s_av ) ) THEN 1024 CALL wrd_write_string( 's_av' ) 1025 WRITE ( 14 ) s_av 1026 ENDIF 1027 1028 IF ( ALLOCATED( shf_av ) ) THEN 1029 CALL wrd_write_string( 'shf_av' ) 1030 WRITE ( 14 ) shf_av 1031 ENDIF 1032 1033 IF ( ALLOCATED( ts_av ) ) THEN 1034 CALL wrd_write_string( 'ts_av' ) 1035 WRITE ( 14 ) ts_av 1036 ENDIF 1037 1038 CALL wrd_write_string( 'u' ) 1039 WRITE ( 14 ) u 1040 1041 IF ( ALLOCATED( u_av ) ) THEN 1042 CALL wrd_write_string( 'u_av' ) 1043 WRITE ( 14 ) u_av 1044 ENDIF 1045 1046 IF ( ALLOCATED( u_m_l ) ) THEN 1047 CALL wrd_write_string( 'u_m_l' ) 1048 WRITE ( 14 ) u_m_l 1049 ENDIF 1050 1051 IF ( ALLOCATED( u_m_n ) ) THEN 1052 CALL wrd_write_string( 'u_m_n' ) 1053 WRITE ( 14 ) u_m_n 1054 ENDIF 1055 1056 IF ( ALLOCATED( u_m_r ) ) THEN 1057 CALL wrd_write_string( 'u_m_r' ) 1058 WRITE ( 14 ) u_m_r 1059 ENDIF 1060 1061 IF ( ALLOCATED( u_m_s ) ) THEN 1062 CALL wrd_write_string( 'u_m_s' ) 1063 WRITE ( 14 ) u_m_s 1064 ENDIF 1065 1066 IF ( ALLOCATED( us_av ) ) THEN 1067 CALL wrd_write_string( 'us_av' ) 1068 WRITE ( 14 ) us_av 1069 ENDIF 1070 1071 CALL wrd_write_string( 'v' ) 1072 WRITE ( 14 ) v 1073 1074 IF ( ALLOCATED( v_av ) ) THEN 1075 CALL wrd_write_string( 'v_av' ) 1076 WRITE ( 14 ) v_av 1077 ENDIF 1078 1079 IF ( ALLOCATED( v_m_l ) ) THEN 1080 CALL wrd_write_string( 'v_m_l' ) 1081 WRITE ( 14 ) v_m_l 1082 ENDIF 1083 1084 IF ( ALLOCATED( v_m_n ) ) THEN 1085 CALL wrd_write_string( 'v_m_n' ) 1086 WRITE ( 14 ) v_m_n 1087 ENDIF 1088 1089 IF ( ALLOCATED( v_m_r ) ) THEN 1090 CALL wrd_write_string( 'v_m_r' ) 1091 WRITE ( 14 ) v_m_r 1092 ENDIF 1093 1094 IF ( ALLOCATED( v_m_s ) ) THEN 1095 CALL wrd_write_string( 'v_m_s' ) 1096 WRITE ( 14 ) v_m_s 1097 ENDIF 1098 1099 IF ( humidity ) THEN 1100 1101 CALL wrd_write_string( 'vpt' ) 1102 WRITE ( 14 ) vpt 1103 1104 IF ( ALLOCATED( vpt_av ) ) THEN 1105 CALL wrd_write_string( 'vpt_av' ) 1106 WRITE ( 14 ) vpt_av 1036 1107 ENDIF 1037 1108 1038 CALL wrd_write_string( 'u' ) 1039 WRITE ( 14 ) u 1040 1041 IF ( ALLOCATED( u_av ) ) THEN 1042 CALL wrd_write_string( 'u_av' ) 1043 WRITE ( 14 ) u_av 1109 ENDIF 1110 1111 CALL wrd_write_string( 'w' ) 1112 WRITE ( 14 ) w 1113 1114 IF ( ALLOCATED( w_av ) ) THEN 1115 CALL wrd_write_string( 'w_av' ) 1116 WRITE ( 14 ) w_av 1117 ENDIF 1118 1119 IF ( ALLOCATED( w_m_l ) ) THEN 1120 CALL wrd_write_string( 'w_m_l' ) 1121 WRITE ( 14 ) w_m_l 1122 ENDIF 1123 1124 IF ( ALLOCATED( w_m_n ) ) THEN 1125 CALL wrd_write_string( 'w_m_n' ) 1126 WRITE ( 14 ) w_m_n 1127 ENDIF 1128 1129 IF ( ALLOCATED( w_m_r ) ) THEN 1130 CALL wrd_write_string( 'w_m_r' ) 1131 WRITE ( 14 ) w_m_r 1132 ENDIF 1133 1134 IF ( ALLOCATED( w_m_s ) ) THEN 1135 CALL wrd_write_string( 'w_m_s' ) 1136 WRITE ( 14 ) w_m_s 1137 ENDIF 1138 1139 IF ( ALLOCATED( z0_av ) ) THEN 1140 CALL wrd_write_string( 'z0_av' ) 1141 WRITE ( 14 ) z0_av 1142 ENDIF 1143 1144 IF ( ALLOCATED( z0h_av ) ) THEN 1145 CALL wrd_write_string( 'z0h_av' ) 1146 WRITE ( 14 ) z0h_av 1147 ENDIF 1148 1149 IF ( ALLOCATED( z0q_av ) ) THEN 1150 CALL wrd_write_string( 'z0q_av' ) 1151 WRITE ( 14 ) z0q_av 1152 ENDIF 1153 1154 IF ( land_surface .OR. urban_surface ) THEN 1155 1156 IF ( ALLOCATED( ghf_av ) ) THEN 1157 CALL wrd_write_string( 'ghf_av' ) 1158 WRITE ( 14 ) ghf_av 1044 1159 ENDIF 1045 1160 1046 IF ( ALLOCATED( u_m_l) ) THEN1047 CALL wrd_write_string( ' u_m_l' )1048 WRITE ( 14 ) u_m_l1161 IF ( ALLOCATED( r_a_av ) ) THEN 1162 CALL wrd_write_string( 'r_a_av' ) 1163 WRITE ( 14 ) r_a_av 1049 1164 ENDIF 1050 1165 1051 IF ( ALLOCATED( u_m_n ) ) THEN 1052 CALL wrd_write_string( 'u_m_n' ) 1053 WRITE ( 14 ) u_m_n 1054 ENDIF 1055 1056 IF ( ALLOCATED( u_m_r ) ) THEN 1057 CALL wrd_write_string( 'u_m_r' ) 1058 WRITE ( 14 ) u_m_r 1059 ENDIF 1060 1061 IF ( ALLOCATED( u_m_s ) ) THEN 1062 CALL wrd_write_string( 'u_m_s' ) 1063 WRITE ( 14 ) u_m_s 1064 ENDIF 1065 1066 IF ( ALLOCATED( us_av ) ) THEN 1067 CALL wrd_write_string( 'us_av' ) 1068 WRITE ( 14 ) us_av 1069 ENDIF 1070 1071 CALL wrd_write_string( 'v' ) 1072 WRITE ( 14 ) v 1073 1074 IF ( ALLOCATED( v_av ) ) THEN 1075 CALL wrd_write_string( 'v_av' ) 1076 WRITE ( 14 ) v_av 1077 ENDIF 1078 1079 IF ( ALLOCATED( v_m_l ) ) THEN 1080 CALL wrd_write_string( 'v_m_l' ) 1081 WRITE ( 14 ) v_m_l 1082 ENDIF 1083 1084 IF ( ALLOCATED( v_m_n ) ) THEN 1085 CALL wrd_write_string( 'v_m_n' ) 1086 WRITE ( 14 ) v_m_n 1087 ENDIF 1088 1089 IF ( ALLOCATED( v_m_r ) ) THEN 1090 CALL wrd_write_string( 'v_m_r' ) 1091 WRITE ( 14 ) v_m_r 1092 ENDIF 1093 1094 IF ( ALLOCATED( v_m_s ) ) THEN 1095 CALL wrd_write_string( 'v_m_s' ) 1096 WRITE ( 14 ) v_m_s 1097 ENDIF 1098 1099 IF ( humidity ) THEN 1100 1101 CALL wrd_write_string( 'vpt' ) 1102 WRITE ( 14 ) vpt 1103 1104 IF ( ALLOCATED( vpt_av ) ) THEN 1105 CALL wrd_write_string( 'vpt_av' ) 1106 WRITE ( 14 ) vpt_av 1107 ENDIF 1108 1109 ENDIF 1110 1111 CALL wrd_write_string( 'w' ) 1112 WRITE ( 14 ) w 1113 1114 IF ( ALLOCATED( w_av ) ) THEN 1115 CALL wrd_write_string( 'w_av' ) 1116 WRITE ( 14 ) w_av 1117 ENDIF 1118 1119 IF ( ALLOCATED( w_m_l ) ) THEN 1120 CALL wrd_write_string( 'w_m_l' ) 1121 WRITE ( 14 ) w_m_l 1122 ENDIF 1123 1124 IF ( ALLOCATED( w_m_n ) ) THEN 1125 CALL wrd_write_string( 'w_m_n' ) 1126 WRITE ( 14 ) w_m_n 1127 ENDIF 1128 1129 IF ( ALLOCATED( w_m_r ) ) THEN 1130 CALL wrd_write_string( 'w_m_r' ) 1131 WRITE ( 14 ) w_m_r 1132 ENDIF 1133 1134 IF ( ALLOCATED( w_m_s ) ) THEN 1135 CALL wrd_write_string( 'w_m_s' ) 1136 WRITE ( 14 ) w_m_s 1137 ENDIF 1138 1139 IF ( ALLOCATED( z0_av ) ) THEN 1140 CALL wrd_write_string( 'z0_av' ) 1141 WRITE ( 14 ) z0_av 1142 ENDIF 1143 1144 IF ( ALLOCATED( z0h_av ) ) THEN 1145 CALL wrd_write_string( 'z0h_av' ) 1146 WRITE ( 14 ) z0h_av 1147 ENDIF 1148 1149 IF ( ALLOCATED( z0q_av ) ) THEN 1150 CALL wrd_write_string( 'z0q_av' ) 1151 WRITE ( 14 ) z0q_av 1152 ENDIF 1153 1154 IF ( land_surface .OR. urban_surface ) THEN 1155 1156 IF ( ALLOCATED( ghf_av ) ) THEN 1157 CALL wrd_write_string( 'ghf_av' ) 1158 WRITE ( 14 ) ghf_av 1159 ENDIF 1160 1161 IF ( ALLOCATED( r_a_av ) ) THEN 1162 CALL wrd_write_string( 'r_a_av' ) 1163 WRITE ( 14 ) r_a_av 1164 ENDIF 1165 1166 ENDIF 1167 1168 IF ( ALLOCATED( tsurf_av ) ) THEN 1169 CALL wrd_write_string( 'tsurf_av' ) 1170 WRITE ( 14 ) tsurf_av 1171 ENDIF 1172 1173 1174 CALL surface_wrd_local 1175 1176 ! 1177 !-- Write restart data of other modules 1178 CALL module_interface_wrd_local 1179 1180 ! 1181 !-- Write end label 1182 CALL wrd_write_string( '*** end ***' ) 1183 1184 END SUBROUTINE wrd_local 1166 ENDIF 1167 1168 IF ( ALLOCATED( tsurf_av ) ) THEN 1169 CALL wrd_write_string( 'tsurf_av' ) 1170 WRITE ( 14 ) tsurf_av 1171 ENDIF 1172 1173 1174 CALL surface_wrd_local 1175 1176 ! 1177 !-- Write restart data of other modules 1178 CALL module_interface_wrd_local 1179 1180 ! 1181 !-- Write end label 1182 CALL wrd_write_string( '*** end ***' ) 1183 1184 END SUBROUTINE wrd_local 1185 1185 1186 1186
Note: See TracChangeset
for help on using the changeset viewer.