Changeset 4495 for palm/trunk/SOURCE/write_restart_data_mod.f90
- Timestamp:
- Apr 13, 2020 8:11:20 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/write_restart_data_mod.f90
r4489 r4495 24 24 ! ----------------- 25 25 ! $Id$ 26 ! restart data handling with MPI-IO added 27 ! 28 ! 4489 2020-04-04 10:54:08Z raasch 26 29 ! file re-formatted to follow the PALM coding standard 27 30 ! … … 74 77 USE averaging 75 78 79 USE bulk_cloud_model_mod, & 80 ONLY: bulk_cloud_model 81 76 82 USE control_parameters 77 83 78 84 USE grid_variables, & 79 85 ONLY: dx, dy 86 87 USE gust_mod, & 88 ONLY: gust_module_enabled 80 89 81 90 USE indices, & … … 94 103 ONLY: netcdf_precision, output_for_t0 95 104 105 USE particle_attributes, & 106 ONLY: particle_advection 107 96 108 USE pegrid, & 97 109 ONLY: collective_wait, hor_index_bounds, myid, numprocs … … 105 117 USE random_generator_parallel, & 106 118 ONLY: id_random_array, seq_random_array 119 120 USE restart_data_mpi_io_mod, & 121 ONLY: wrd_mpi_io, wrd_mpi_io_global_array 107 122 108 123 USE spectra_mod, & … … 116 131 ONLY: surface_wrd_local 117 132 133 USE user, & 134 ONLY: user_module_enabled 135 118 136 USE vertical_nesting_mod, & 119 137 ONLY: vnest_init … … 143 161 ! Description: 144 162 ! ------------ 145 !> Global data of control variables and arrays is written out for restarts (binary format). 146 !> This information is only written to the file opened by PE0. 163 !> Global data of control variables and arrays is written out for restarts. 164 !> In case of output in Fortran binary format, this information is only written to the file 165 !> opened by PE0. 147 166 !--------------------------------------------------------------------------------------------------! 148 167 … … 151 170 152 171 153 CHARACTER(LEN=10) :: binary_version_global !< 154 172 CHARACTER(LEN=10) :: binary_version_global !< 173 CHARACTER(LEN=20) :: tmp_name !< temporary variable 174 175 INTEGER :: i !< loop index 155 176 156 177 binary_version_global = '4.9' 157 178 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 179 IF ( restart_data_format_output == 'fortran_binary' ) THEN 180 ! 181 !-- Output in Fortran binary format 182 CALL wrd_write_string( 'binary_version_global' ) 183 WRITE ( 14 ) binary_version_global 184 185 CALL wrd_write_string( 'numprocs' ) 186 WRITE ( 14 ) numprocs 187 188 CALL wrd_write_string( 'hor_index_bounds' ) 189 WRITE ( 14 ) hor_index_bounds 190 191 CALL wrd_write_string( 'nz' ) 192 WRITE ( 14 ) nz 193 194 CALL wrd_write_string( 'max_pr_user' ) 195 WRITE ( 14 ) max_pr_user 196 197 CALL wrd_write_string( 'statistic_regions' ) 198 WRITE ( 14 ) statistic_regions 199 200 ! 201 !-- Caution: After changes in the following parameter-list, the version number stored in the 202 !-- -------- variable binary_version_global has to be increased. The same changes must also be 203 !-- done in the parameter-list in rrd_global. 204 CALL wrd_write_string( 'advected_distance_x' ) 205 WRITE ( 14 ) advected_distance_x 206 207 CALL wrd_write_string( 'advected_distance_y' ) 208 WRITE ( 14 ) advected_distance_y 209 210 CALL wrd_write_string( 'alpha_surface' ) 211 WRITE ( 14 ) alpha_surface 212 213 CALL wrd_write_string( 'average_count_pr' ) 214 WRITE ( 14 ) average_count_pr 215 216 CALL wrd_write_string( 'average_count_sp' ) 217 WRITE ( 14 ) average_count_sp 218 219 CALL wrd_write_string( 'average_count_3d' ) 220 WRITE ( 14 ) average_count_3d 221 222 CALL wrd_write_string( 'bc_e_b' ) 223 WRITE ( 14 ) bc_e_b 224 225 CALL wrd_write_string( 'bc_lr' ) 226 WRITE ( 14 ) bc_lr 227 228 CALL wrd_write_string( 'bc_ns' ) 229 WRITE ( 14 ) bc_ns 230 231 CALL wrd_write_string( 'bc_p_b' ) 232 WRITE ( 14 ) bc_p_b 233 234 CALL wrd_write_string( 'bc_p_t' ) 235 WRITE ( 14 ) bc_p_t 236 237 CALL wrd_write_string( 'bc_pt_b' ) 238 WRITE ( 14 ) bc_pt_b 239 240 CALL wrd_write_string( 'bc_pt_t' ) 241 WRITE ( 14 ) bc_pt_t 242 243 CALL wrd_write_string( 'bc_pt_t_val' ) 244 WRITE ( 14 ) bc_pt_t_val 245 246 CALL wrd_write_string( 'bc_q_b' ) 247 WRITE ( 14 ) bc_q_b 248 249 CALL wrd_write_string( 'bc_q_t' ) 250 WRITE ( 14 ) bc_q_t 251 252 CALL wrd_write_string( 'bc_q_t_val' ) 253 WRITE ( 14 ) bc_q_t_val 254 255 CALL wrd_write_string( 'bc_s_b' ) 256 WRITE ( 14 ) bc_s_b 257 258 CALL wrd_write_string( 'bc_s_t' ) 259 WRITE ( 14 ) bc_s_t 260 261 CALL wrd_write_string( 'bc_uv_b' ) 262 WRITE ( 14 ) bc_uv_b 263 264 CALL wrd_write_string( 'bc_uv_t' ) 265 WRITE ( 14 ) bc_uv_t 266 267 CALL wrd_write_string( 'building_height' ) 268 WRITE ( 14 ) building_height 269 270 CALL wrd_write_string( 'building_length_x' ) 271 WRITE ( 14 ) building_length_x 272 273 CALL wrd_write_string( 'building_length_y' ) 274 WRITE ( 14 ) building_length_y 275 276 CALL wrd_write_string( 'building_wall_left' ) 277 WRITE ( 14 ) building_wall_left 278 279 CALL wrd_write_string( 'building_wall_south' ) 280 WRITE ( 14 ) building_wall_south 281 282 CALL wrd_write_string( 'call_psolver_at_all_substeps' ) 283 WRITE ( 14 ) call_psolver_at_all_substeps 284 285 CALL wrd_write_string( 'canyon_height' ) 286 WRITE ( 14 ) canyon_height 287 288 CALL wrd_write_string( 'canyon_wall_left' ) 289 WRITE ( 14 ) canyon_wall_left 290 291 CALL wrd_write_string( 'canyon_wall_south' ) 292 WRITE ( 14 ) canyon_wall_south 293 294 CALL wrd_write_string( 'canyon_width_x' ) 295 WRITE ( 14 ) canyon_width_x 296 297 CALL wrd_write_string( 'canyon_width_y' ) 298 WRITE ( 14 ) canyon_width_y 299 300 CALL wrd_write_string( 'cfl_factor' ) 301 WRITE ( 14 ) cfl_factor 302 303 CALL wrd_write_string( 'cloud_droplets' ) 304 WRITE ( 14 ) cloud_droplets 305 306 CALL wrd_write_string( 'collective_wait' ) 307 WRITE ( 14 ) collective_wait 308 309 CALL wrd_write_string( 'conserve_volume_flow' ) 310 WRITE ( 14 ) conserve_volume_flow 311 312 CALL wrd_write_string( 'conserve_volume_flow_mode' ) 313 WRITE ( 14 ) conserve_volume_flow_mode 314 315 CALL wrd_write_string( 'constant_flux_layer' ) 316 WRITE ( 14 ) constant_flux_layer 317 318 CALL wrd_write_string( 'coupling_start_time' ) 319 WRITE ( 14 ) coupling_start_time 320 321 CALL wrd_write_string( 'current_timestep_number' ) 322 WRITE ( 14 ) current_timestep_number 323 324 CALL wrd_write_string( 'cycle_mg' ) 325 WRITE ( 14 ) cycle_mg 326 327 CALL wrd_write_string( 'damp_level_1d' ) 328 WRITE ( 14 ) damp_level_1d 329 330 CALL wrd_write_string( 'origin_date_time' ) 331 WRITE ( 14 ) origin_date_time 332 333 CALL wrd_write_string( 'dissipation_1d' ) 334 WRITE ( 14 ) dissipation_1d 335 336 CALL wrd_write_string( 'do2d_xy_time_count' ) 337 WRITE ( 14 ) do2d_xy_time_count 338 339 CALL wrd_write_string( 'do2d_xz_time_count' ) 340 WRITE ( 14 ) do2d_xz_time_count 341 342 CALL wrd_write_string( 'do2d_yz_time_count' ) 343 WRITE ( 14 ) do2d_yz_time_count 344 345 CALL wrd_write_string( 'do3d_time_count' ) 346 WRITE ( 14 ) do3d_time_count 347 348 CALL wrd_write_string( 'dp_external' ) 349 WRITE ( 14 ) dp_external 350 351 CALL wrd_write_string( 'dp_level_b' ) 352 WRITE ( 14 ) dp_level_b 353 354 CALL wrd_write_string( 'dp_smooth' ) 355 WRITE ( 14 ) dp_smooth 356 357 CALL wrd_write_string( 'dpdxy' ) 358 WRITE ( 14 ) dpdxy 359 360 CALL wrd_write_string( 'dt_3d' ) 361 WRITE ( 14 ) dt_3d 339 362 340 363 CALL wrd_write_string( 'dt_pr_1d' ) 341 364 WRITE ( 14 ) dt_pr_1d 342 365 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 366 CALL wrd_write_string( 'dt_run_control_1d' ) 367 WRITE ( 14 ) dt_run_control_1d 368 369 CALL wrd_write_string( 'dx' ) 370 WRITE ( 14 ) dx 371 372 CALL wrd_write_string( 'dy' ) 373 WRITE ( 14 ) dy 374 375 CALL wrd_write_string( 'dz' ) 376 WRITE ( 14 ) dz 377 378 CALL wrd_write_string( 'dz_max' ) 379 WRITE ( 14 ) dz_max 380 381 CALL wrd_write_string( 'dz_stretch_factor' ) 382 WRITE ( 14 ) dz_stretch_factor 383 384 CALL wrd_write_string( 'dz_stretch_factor_array' ) 385 WRITE ( 14 ) dz_stretch_factor_array 386 387 CALL wrd_write_string( 'dz_stretch_level' ) 388 WRITE ( 14 ) dz_stretch_level 389 390 CALL wrd_write_string( 'dz_stretch_level_end' ) 391 WRITE ( 14 ) dz_stretch_level_end 392 393 CALL wrd_write_string( 'dz_stretch_level_start' ) 394 WRITE ( 14 ) dz_stretch_level_start 395 396 CALL wrd_write_string( 'e_min' ) 397 WRITE ( 14 ) e_min 398 399 CALL wrd_write_string( 'end_time_1d' ) 400 WRITE ( 14 ) end_time_1d 401 402 CALL wrd_write_string( 'fft_method' ) 403 WRITE ( 14 ) fft_method 404 405 CALL wrd_write_string( 'first_call_lpm' ) 406 WRITE ( 14 ) first_call_lpm 407 408 CALL wrd_write_string( 'galilei_transformation' ) 409 WRITE ( 14 ) galilei_transformation 410 411 CALL wrd_write_string( 'hom' ) 412 WRITE ( 14 ) hom 413 414 CALL wrd_write_string( 'hom_sum' ) 415 WRITE ( 14 ) hom_sum 416 417 CALL wrd_write_string( 'humidity' ) 418 WRITE ( 14 ) humidity 419 420 IF ( ALLOCATED( inflow_damping_factor ) ) THEN 421 CALL wrd_write_string( 'inflow_damping_factor' ) 422 WRITE ( 14 ) inflow_damping_factor 423 ENDIF 424 425 CALL wrd_write_string( 'inflow_damping_height' ) 426 WRITE ( 14 ) inflow_damping_height 427 428 CALL wrd_write_string( 'inflow_damping_width' ) 429 WRITE ( 14 ) inflow_damping_width 430 431 CALL wrd_write_string( 'inflow_disturbance_begin' ) 432 WRITE ( 14 ) inflow_disturbance_begin 433 434 CALL wrd_write_string( 'inflow_disturbance_end' ) 435 WRITE ( 14 ) inflow_disturbance_end 436 437 CALL wrd_write_string( 'km_constant' ) 438 WRITE ( 14 ) km_constant 439 440 CALL wrd_write_string( 'large_scale_forcing' ) 441 WRITE ( 14 ) large_scale_forcing 442 443 CALL wrd_write_string( 'large_scale_subsidence' ) 444 WRITE ( 14 ) large_scale_subsidence 445 446 CALL wrd_write_string( 'latitude' ) 447 WRITE ( 14 ) latitude 448 449 CALL wrd_write_string( 'longitude' ) 450 WRITE ( 14 ) longitude 451 452 CALL wrd_write_string( 'loop_optimization' ) 453 WRITE ( 14 ) loop_optimization 454 455 CALL wrd_write_string( 'masking_method' ) 456 WRITE ( 14 ) masking_method 457 458 IF ( ALLOCATED( mean_inflow_profiles ) ) THEN 459 CALL wrd_write_string( 'mean_inflow_profiles' ) 460 WRITE ( 14 ) mean_inflow_profiles 461 ENDIF 462 463 CALL wrd_write_string( 'mg_cycles' ) 464 WRITE ( 14 ) mg_cycles 465 466 CALL wrd_write_string( 'mg_switch_to_pe0_level' ) 467 WRITE ( 14 ) mg_switch_to_pe0_level 468 469 CALL wrd_write_string( 'mixing_length_1d' ) 470 WRITE ( 14 ) mixing_length_1d 471 472 CALL wrd_write_string( 'momentum_advec' ) 473 WRITE ( 14 ) momentum_advec 474 475 CALL wrd_write_string( 'netcdf_precision' ) 476 WRITE ( 14 ) netcdf_precision 477 478 CALL wrd_write_string( 'neutral' ) 479 WRITE ( 14 ) neutral 480 481 CALL wrd_write_string( 'ngsrb' ) 482 WRITE ( 14 ) ngsrb 483 484 CALL wrd_write_string( 'nsor' ) 485 WRITE ( 14 ) nsor 486 487 CALL wrd_write_string( 'nsor_ini' ) 488 WRITE ( 14 ) nsor_ini 489 490 CALL wrd_write_string( 'nudging' ) 491 WRITE ( 14 ) nudging 492 493 CALL wrd_write_string( 'num_leg' ) 494 WRITE ( 14 ) num_leg 495 496 CALL wrd_write_string( 'nx' ) 497 WRITE ( 14 ) nx 498 499 CALL wrd_write_string( 'ny' ) 500 WRITE ( 14 ) ny 501 502 CALL wrd_write_string( 'ocean_mode' ) 503 WRITE ( 14 ) ocean_mode 504 505 CALL wrd_write_string( 'omega' ) 506 WRITE ( 14 ) omega 507 508 CALL wrd_write_string( 'omega_sor' ) 509 WRITE ( 14 ) omega_sor 510 511 CALL wrd_write_string( 'output_for_t0' ) 512 WRITE ( 14 ) output_for_t0 513 514 CALL wrd_write_string( 'passive_scalar' ) 515 WRITE ( 14 ) passive_scalar 516 517 CALL wrd_write_string( 'prandtl_number' ) 518 WRITE ( 14 ) prandtl_number 519 520 CALL wrd_write_string( 'psolver' ) 521 WRITE ( 14 ) psolver 522 523 CALL wrd_write_string( 'pt_damping_factor' ) 524 WRITE ( 14 ) pt_damping_factor 525 526 CALL wrd_write_string( 'pt_damping_width' ) 527 WRITE ( 14 ) pt_damping_width 528 529 CALL wrd_write_string( 'pt_init' ) 530 WRITE ( 14 ) pt_init 531 532 CALL wrd_write_string( 'pt_reference' ) 533 WRITE ( 14 ) pt_reference 534 535 CALL wrd_write_string( 'pt_surface' ) 536 WRITE ( 14 ) pt_surface 537 538 CALL wrd_write_string( 'pt_surface_initial_change' ) 539 WRITE ( 14 ) pt_surface_initial_change 540 541 CALL wrd_write_string( 'pt_vertical_gradient' ) 542 WRITE ( 14 ) pt_vertical_gradient 543 544 CALL wrd_write_string( 'pt_vertical_gradient_level' ) 545 WRITE ( 14 ) pt_vertical_gradient_level 546 547 CALL wrd_write_string( 'pt_vertical_gradient_level_ind' ) 548 WRITE ( 14 ) pt_vertical_gradient_level_ind 549 550 CALL wrd_write_string( 'q_init' ) 551 WRITE ( 14 ) q_init 552 553 CALL wrd_write_string( 'q_surface' ) 554 WRITE ( 14 ) q_surface 555 556 CALL wrd_write_string( 'q_surface_initial_change' ) 557 WRITE ( 14 ) q_surface_initial_change 558 559 CALL wrd_write_string( 'q_vertical_gradient' ) 560 WRITE ( 14 ) q_vertical_gradient 561 562 CALL wrd_write_string( 'q_vertical_gradient_level' ) 563 WRITE ( 14 ) q_vertical_gradient_level 564 565 CALL wrd_write_string( 'q_vertical_gradient_level_ind' ) 566 WRITE ( 14 ) q_vertical_gradient_level_ind 567 568 CALL wrd_write_string( 'random_generator' ) 569 WRITE ( 14 ) random_generator 570 571 CALL wrd_write_string( 'random_heatflux' ) 572 WRITE ( 14 ) random_heatflux 573 574 CALL wrd_write_string( 'rans_mode' ) 575 WRITE ( 14 ) rans_mode 576 577 CALL wrd_write_string( 'rayleigh_damping_factor' ) 578 WRITE ( 14 ) rayleigh_damping_factor 579 580 CALL wrd_write_string( 'rayleigh_damping_height' ) 581 WRITE ( 14 ) rayleigh_damping_height 582 583 CALL wrd_write_string( 'recycling_width' ) 584 WRITE ( 14 ) recycling_width 585 586 CALL wrd_write_string( 'ref_state' ) 587 WRITE ( 14 ) ref_state 588 589 CALL wrd_write_string( 'reference_state' ) 590 WRITE ( 14 ) reference_state 591 592 CALL wrd_write_string( 'residual_limit' ) 593 WRITE ( 14 ) residual_limit 594 595 CALL wrd_write_string( 'roughness_length' ) 596 WRITE ( 14 ) roughness_length 597 598 CALL wrd_write_string( 'run_coupled' ) 599 WRITE ( 14 ) run_coupled 600 601 CALL wrd_write_string( 'runnr' ) 602 WRITE ( 14 ) runnr 603 604 CALL wrd_write_string( 's_init' ) 605 WRITE ( 14 ) s_init 606 607 CALL wrd_write_string( 's_surface' ) 608 WRITE ( 14 ) s_surface 609 610 CALL wrd_write_string( 's_surface_initial_change' ) 611 WRITE ( 14 ) s_surface_initial_change 612 613 CALL wrd_write_string( 's_vertical_gradient' ) 614 WRITE ( 14 ) s_vertical_gradient 615 616 CALL wrd_write_string( 's_vertical_gradient_level' ) 617 WRITE ( 14 ) s_vertical_gradient_level 618 619 CALL wrd_write_string( 's_vertical_gradient_level_ind' ) 620 WRITE ( 14 ) s_vertical_gradient_level_ind 621 622 CALL wrd_write_string( 'scalar_advec' ) 623 WRITE ( 14 ) scalar_advec 624 625 CALL wrd_write_string( 'simulated_time' ) 626 WRITE ( 14 ) simulated_time 627 628 IF ( ALLOCATED( spectrum_x ) ) THEN 629 CALL wrd_write_string( 'spectrum_x' ) 630 WRITE ( 14 ) spectrum_x 631 CALL wrd_write_string( 'spectrum_y' ) 632 WRITE ( 14 ) spectrum_y 633 ENDIF 634 635 CALL wrd_write_string( 'spinup_time ' ) 636 WRITE ( 14 ) spinup_time 637 638 CALL wrd_write_string( 'subs_vertical_gradient' ) 639 WRITE ( 14 ) subs_vertical_gradient 640 641 CALL wrd_write_string( 'subs_vertical_gradient_level' ) 642 WRITE ( 14 ) subs_vertical_gradient_level 643 644 CALL wrd_write_string( 'subs_vertical_gradient_level_i' ) 645 WRITE ( 14 ) subs_vertical_gradient_level_i 646 647 CALL wrd_write_string( 'surface_heatflux' ) 648 WRITE ( 14 ) surface_heatflux 649 650 CALL wrd_write_string( 'surface_pressure' ) 651 WRITE ( 14 ) surface_pressure 652 653 CALL wrd_write_string( 'surface_scalarflux' ) 654 WRITE ( 14 ) surface_scalarflux 655 656 CALL wrd_write_string( 'surface_waterflux' ) 657 WRITE ( 14 ) surface_waterflux 658 659 CALL wrd_write_string( 'time_coupling' ) 660 WRITE ( 14 ) time_coupling 661 662 CALL wrd_write_string( 'time_disturb' ) 663 WRITE ( 14 ) time_disturb 664 665 CALL wrd_write_string( 'time_do2d_xy' ) 666 WRITE ( 14 ) time_do2d_xy 667 668 CALL wrd_write_string( 'time_do2d_xz' ) 669 WRITE ( 14 ) time_do2d_xz 670 671 CALL wrd_write_string( 'time_do2d_yz' ) 672 WRITE ( 14 ) time_do2d_yz 673 674 CALL wrd_write_string( 'time_do3d' ) 675 WRITE ( 14 ) time_do3d 676 677 CALL wrd_write_string( 'time_do_av' ) 678 WRITE ( 14 ) time_do_av 679 680 CALL wrd_write_string( 'time_do_sla' ) 681 WRITE ( 14 ) time_do_sla 682 683 CALL wrd_write_string( 'time_domask' ) 684 WRITE ( 14 ) time_domask 685 686 CALL wrd_write_string( 'time_dopr' ) 687 WRITE ( 14 ) time_dopr 688 689 CALL wrd_write_string( 'time_dopr_av' ) 690 WRITE ( 14 ) time_dopr_av 691 692 CALL wrd_write_string( 'time_dopr_listing' ) 693 WRITE ( 14 ) time_dopr_listing 694 695 CALL wrd_write_string( 'time_dopts' ) 696 WRITE ( 14 ) time_dopts 697 698 CALL wrd_write_string( 'time_dosp' ) 699 WRITE ( 14 ) time_dosp 700 701 CALL wrd_write_string( 'time_dots' ) 702 WRITE ( 14 ) time_dots 703 704 CALL wrd_write_string( 'time_radiation' ) 705 WRITE ( 14 ) time_radiation 706 707 CALL wrd_write_string( 'time_restart' ) 708 WRITE ( 14 ) time_restart 709 710 CALL wrd_write_string( 'time_run_control' ) 711 WRITE ( 14 ) time_run_control 712 713 CALL wrd_write_string( 'time_since_reference_point' ) 714 WRITE ( 14 ) time_since_reference_point 715 716 CALL wrd_write_string( 'time_virtual_measurement' ) 717 WRITE ( 14 ) time_virtual_measurement 718 719 CALL wrd_write_string( 'timestep_scheme' ) 720 WRITE ( 14 ) timestep_scheme 721 722 CALL wrd_write_string( 'top_heatflux' ) 723 WRITE ( 14 ) top_heatflux 724 725 CALL wrd_write_string( 'top_momentumflux_u' ) 726 WRITE ( 14 ) top_momentumflux_u 727 728 CALL wrd_write_string( 'top_momentumflux_v' ) 729 WRITE ( 14 ) top_momentumflux_v 730 731 CALL wrd_write_string( 'top_scalarflux' ) 732 WRITE ( 14 ) top_scalarflux 733 734 CALL wrd_write_string( 'topography' ) 735 WRITE ( 14 ) topography 736 737 CALL wrd_write_string( 'topography_grid_convention' ) 738 WRITE ( 14 ) topography_grid_convention 739 740 CALL wrd_write_string( 'tsc' ) 741 WRITE ( 14 ) tsc 742 743 CALL wrd_write_string( 'tunnel_height' ) 744 WRITE ( 14 ) tunnel_height 745 746 CALL wrd_write_string( 'tunnel_length' ) 747 WRITE ( 14 ) tunnel_length 748 749 CALL wrd_write_string( 'tunnel_wall_depth' ) 750 WRITE ( 14 ) tunnel_wall_depth 751 752 CALL wrd_write_string( 'tunnel_width_x' ) 753 WRITE ( 14 ) tunnel_width_x 754 755 CALL wrd_write_string( 'tunnel_width_y' ) 756 WRITE ( 14 ) tunnel_width_y 757 758 CALL wrd_write_string( 'turbulence_closure' ) 759 WRITE ( 14 ) turbulence_closure 760 761 CALL wrd_write_string( 'turbulent_inflow' ) 762 WRITE ( 14 ) turbulent_inflow 763 764 CALL wrd_write_string( 'u_bulk' ) 765 WRITE ( 14 ) u_bulk 766 767 CALL wrd_write_string( 'u_init' ) 768 WRITE ( 14 ) u_init 769 770 CALL wrd_write_string( 'u_max' ) 771 WRITE ( 14 ) u_max 772 773 CALL wrd_write_string( 'u_max_ijk' ) 774 WRITE ( 14 ) u_max_ijk 775 776 CALL wrd_write_string( 'ug' ) 777 WRITE ( 14 ) ug 778 779 CALL wrd_write_string( 'ug_surface' ) 780 WRITE ( 14 ) ug_surface 781 782 CALL wrd_write_string( 'ug_vertical_gradient' ) 783 WRITE ( 14 ) ug_vertical_gradient 784 785 CALL wrd_write_string( 'ug_vertical_gradient_level' ) 786 WRITE ( 14 ) ug_vertical_gradient_level 787 788 CALL wrd_write_string( 'ug_vertical_gradient_level_ind' ) 789 WRITE ( 14 ) ug_vertical_gradient_level_ind 790 791 CALL wrd_write_string( 'use_surface_fluxes' ) 792 WRITE ( 14 ) use_surface_fluxes 793 794 CALL wrd_write_string( 'use_top_fluxes' ) 795 WRITE ( 14 ) use_top_fluxes 796 797 CALL wrd_write_string( 'use_ug_for_galilei_tr' ) 798 WRITE ( 14 ) use_ug_for_galilei_tr 799 800 CALL wrd_write_string( 'use_upstream_for_tke' ) 801 WRITE ( 14 ) use_upstream_for_tke 802 803 CALL wrd_write_string( 'v_bulk' ) 804 WRITE ( 14 ) v_bulk 805 806 CALL wrd_write_string( 'v_init' ) 807 WRITE ( 14 ) v_init 808 809 CALL wrd_write_string( 'v_max' ) 810 WRITE ( 14 ) v_max 811 812 CALL wrd_write_string( 'v_max_ijk' ) 813 WRITE ( 14 ) v_max_ijk 814 815 CALL wrd_write_string( 'vg' ) 816 WRITE ( 14 ) vg 817 818 CALL wrd_write_string( 'vg_surface' ) 819 WRITE ( 14 ) vg_surface 820 821 CALL wrd_write_string( 'vg_vertical_gradient' ) 822 WRITE ( 14 ) vg_vertical_gradient 823 824 CALL wrd_write_string( 'vg_vertical_gradient_level' ) 825 WRITE ( 14 ) vg_vertical_gradient_level 826 827 CALL wrd_write_string( 'vg_vertical_gradient_level_ind' ) 828 WRITE ( 14 ) vg_vertical_gradient_level_ind 829 830 CALL wrd_write_string( 'virtual_flight' ) 831 WRITE ( 14 ) virtual_flight 832 833 CALL wrd_write_string( 'vnest_init' ) 834 WRITE ( 14 ) vnest_init 835 836 CALL wrd_write_string( 'volume_flow_area' ) 837 WRITE ( 14 ) volume_flow_area 838 839 CALL wrd_write_string( 'volume_flow_initial' ) 840 WRITE ( 14 ) volume_flow_initial 841 842 CALL wrd_write_string( 'w_max' ) 843 WRITE ( 14 ) w_max 844 845 CALL wrd_write_string( 'w_max_ijk' ) 846 WRITE ( 14 ) w_max_ijk 847 848 CALL wrd_write_string( 'wall_adjustment' ) 849 WRITE ( 14 ) wall_adjustment 850 851 CALL wrd_write_string( 'wall_heatflux' ) 852 WRITE ( 14 ) wall_heatflux 853 854 CALL wrd_write_string( 'wall_humidityflux' ) 855 WRITE ( 14 ) wall_humidityflux 856 857 CALL wrd_write_string( 'wall_scalarflux' ) 858 WRITE ( 14 ) wall_scalarflux 859 860 CALL wrd_write_string( 'y_shift' ) 861 WRITE ( 14 ) y_shift 862 863 CALL wrd_write_string( 'z0h_factor' ) 864 WRITE ( 14 ) z0h_factor 865 866 CALL wrd_write_string( 'zeta_max' ) 867 WRITE ( 14 ) zeta_max 868 869 CALL wrd_write_string( 'zeta_min' ) 870 WRITE ( 14 ) zeta_min 871 872 CALL wrd_write_string( 'z_i' ) 873 WRITE ( 14 ) z_i 874 875 ELSEIF ( restart_data_format_output == 'mpi' ) THEN 876 ! 877 !-- Write global restart data using MPI-IO 878 !-- ATTENTION: Arrays need to be written with routine wrd_mpi_io_global_array! 879 CALL wrd_mpi_io( 'binary_version_global', binary_version_global ) 880 CALL wrd_mpi_io( 'numprocs', numprocs ) 881 CALL wrd_mpi_io( 'nz' , nz ) 882 CALL wrd_mpi_io( 'max_pr_user', max_pr_user ) 883 CALL wrd_mpi_io( 'statistic_regions', statistic_regions ) 884 885 ! 886 !-- Caution: After changes in the following parameter-list, the version number stored in the 887 !-- -------- variable binary_version_global has to be increased. The same changes must also be 888 !-- done in the parameter-list in rrd_global. 889 CALL wrd_mpi_io( 'advected_distance_x', advected_distance_x ) 890 CALL wrd_mpi_io( 'advected_distance_y', advected_distance_y ) 891 CALL wrd_mpi_io( 'alpha_surface', alpha_surface ) 892 CALL wrd_mpi_io( 'average_count_pr', average_count_pr ) 893 CALL wrd_mpi_io( 'average_count_sp', average_count_sp ) 894 CALL wrd_mpi_io( 'average_count_3d', average_count_3d ) 895 CALL wrd_mpi_io( 'bc_e_b', bc_e_b ) 896 CALL wrd_mpi_io( 'bc_lr', bc_lr ) 897 CALL wrd_mpi_io( 'bc_ns', bc_ns ) 898 CALL wrd_mpi_io( 'bc_p_b', bc_p_b ) 899 CALL wrd_mpi_io( 'bc_p_t', bc_p_t ) 900 CALL wrd_mpi_io( 'bc_pt_b', bc_pt_b ) 901 CALL wrd_mpi_io( 'bc_pt_t', bc_pt_t ) 902 CALL wrd_mpi_io( 'bc_pt_t_val', bc_pt_t_val ) 903 CALL wrd_mpi_io( 'bc_q_b', bc_q_b ) 904 CALL wrd_mpi_io( 'bc_q_t', bc_q_t ) 905 CALL wrd_mpi_io( 'bc_q_t_val', bc_q_t_val ) 906 CALL wrd_mpi_io( 'bc_s_b', bc_s_b ) 907 CALL wrd_mpi_io( 'bc_s_t', bc_s_t ) 908 CALL wrd_mpi_io( 'bc_uv_b', bc_uv_b ) 909 CALL wrd_mpi_io( 'bc_uv_t', bc_uv_t ) 910 CALL wrd_mpi_io( 'biometeorology', biometeorology ) 911 CALL wrd_mpi_io( 'building_height', building_height ) 912 CALL wrd_mpi_io( 'building_length_x', building_length_x ) 913 CALL wrd_mpi_io( 'building_length_y', building_length_y ) 914 CALL wrd_mpi_io( 'building_wall_left', building_wall_left ) 915 CALL wrd_mpi_io( 'building_wall_south', building_wall_south ) 916 CALL wrd_mpi_io( 'bulk_cloud_model', bulk_cloud_model ) 917 CALL wrd_mpi_io( 'call_psolver_at_all_substeps', call_psolver_at_all_substeps ) 918 CALL wrd_mpi_io( 'canyon_height', canyon_height ) 919 CALL wrd_mpi_io( 'canyon_wall_left', canyon_wall_left ) 920 CALL wrd_mpi_io( 'canyon_wall_south', canyon_wall_south ) 921 CALL wrd_mpi_io( 'canyon_width_x', canyon_width_x ) 922 CALL wrd_mpi_io( 'canyon_width_y', canyon_width_y ) 923 CALL wrd_mpi_io( 'cfl_factor', cfl_factor ) 924 CALL wrd_mpi_io( 'cloud_droplets', cloud_droplets ) 925 CALL wrd_mpi_io( 'collective_wait', collective_wait ) 926 CALL wrd_mpi_io( 'conserve_volume_flow', conserve_volume_flow ) 927 CALL wrd_mpi_io( 'conserve_volume_flow_mode', conserve_volume_flow_mode ) 928 CALL wrd_mpi_io( 'constant_flux_layer', constant_flux_layer ) 929 CALL wrd_mpi_io( 'coupling_start_time', coupling_start_time ) 930 CALL wrd_mpi_io( 'current_timestep_number', current_timestep_number ) 931 CALL wrd_mpi_io( 'cycle_mg', cycle_mg ) 932 CALL wrd_mpi_io( 'damp_level_1d', damp_level_1d ) 933 CALL wrd_mpi_io( 'dissipation_1d', dissipation_1d ) 934 CALL wrd_mpi_io_global_array( 'do2d_xy_time_count', do2d_xy_time_count ) 935 CALL wrd_mpi_io_global_array( 'do2d_xz_time_count', do2d_xz_time_count ) 936 CALL wrd_mpi_io_global_array( 'do2d_yz_time_count', do2d_yz_time_count ) 937 CALL wrd_mpi_io_global_array( 'do3d_time_count', do3d_time_count ) 938 CALL wrd_mpi_io( 'dp_external', dp_external ) 939 CALL wrd_mpi_io( 'dp_level_b', dp_level_b ) 940 CALL wrd_mpi_io( 'dp_smooth', dp_smooth ) 941 CALL wrd_mpi_io_global_array( 'dpdxy', dpdxy ) 942 CALL wrd_mpi_io( 'dt_3d', dt_3d ) 943 CALL wrd_mpi_io( 'dt_pr_1d', dt_pr_1d ) 944 CALL wrd_mpi_io( 'dt_run_control_1d', dt_run_control_1d ) 945 CALL wrd_mpi_io( 'dx', dx ) 946 CALL wrd_mpi_io( 'dy', dy ) 947 CALL wrd_mpi_io_global_array( 'dz', dz ) 948 CALL wrd_mpi_io( 'dz_max', dz_max ) 949 CALL wrd_mpi_io( 'dz_stretch_factor', dz_stretch_factor ) 950 CALL wrd_mpi_io_global_array( 'dz_stretch_factor_array', dz_stretch_factor_array ) 951 CALL wrd_mpi_io( 'dz_stretch_level', dz_stretch_level ) 952 CALL wrd_mpi_io_global_array( 'dz_stretch_level_end', dz_stretch_level_end ) 953 CALL wrd_mpi_io_global_array( 'dz_stretch_level_start', dz_stretch_level_start ) 954 CALL wrd_mpi_io( 'e_min', e_min ) 955 CALL wrd_mpi_io( 'end_time_1d', end_time_1d ) 956 CALL wrd_mpi_io( 'fft_method', fft_method ) 957 CALL wrd_mpi_io( 'first_call_lpm', first_call_lpm ) 958 CALL wrd_mpi_io( 'galilei_transformation', galilei_transformation ) 959 CALL wrd_mpi_io( 'gust_module_enabled', gust_module_enabled ) 960 CALL wrd_mpi_io_global_array( 'hom', hom ) 961 CALL wrd_mpi_io_global_array( 'hom_sum', hom_sum ) 962 CALL wrd_mpi_io( 'humidity', humidity ) 963 IF ( ALLOCATED( inflow_damping_factor ) ) THEN 964 CALL wrd_mpi_io_global_array( 'inflow_damping_factor', inflow_damping_factor ) 965 ENDIF 966 CALL wrd_mpi_io( 'inflow_damping_height', inflow_damping_height ) 967 CALL wrd_mpi_io( 'inflow_damping_width', inflow_damping_width ) 968 CALL wrd_mpi_io( 'inflow_disturbance_begin', inflow_disturbance_begin ) 969 CALL wrd_mpi_io( 'inflow_disturbance_end', inflow_disturbance_end ) 970 CALL wrd_mpi_io( 'km_constant', km_constant ) 971 CALL wrd_mpi_io( 'large_scale_forcing', large_scale_forcing ) 972 CALL wrd_mpi_io( 'large_scale_subsidence', large_scale_subsidence ) 973 CALL wrd_mpi_io( 'latitude', latitude ) 974 CALL wrd_mpi_io( 'longitude', longitude ) 975 CALL wrd_mpi_io( 'loop_optimization', loop_optimization ) 976 CALL wrd_mpi_io( 'masking_method', masking_method ) 977 IF ( ALLOCATED( mean_inflow_profiles ) ) THEN 978 CALL wrd_mpi_io_global_array( 'mean_inflow_profiles', mean_inflow_profiles ) 979 ENDIF 980 CALL wrd_mpi_io( 'mg_cycles', mg_cycles ) 981 CALL wrd_mpi_io( 'mg_switch_to_pe0_level', mg_switch_to_pe0_level ) 982 CALL wrd_mpi_io( 'mixing_length_1d', mixing_length_1d ) 983 CALL wrd_mpi_io( 'momentum_advec', momentum_advec ) 984 ! 985 !-- There is no module procedure for CHARACTER arrays 986 DO i = 1, SIZE( netcdf_precision, 1 ) 987 WRITE ( tmp_name, '(A,I2.2)' ) 'netcdf_precision_', i 988 CALL wrd_mpi_io( TRIM( tmp_name ), netcdf_precision(i) ) 989 ENDDO 990 CALL wrd_mpi_io( 'neutral', neutral ) 991 CALL wrd_mpi_io( 'ngsrb', ngsrb ) 992 CALL wrd_mpi_io( 'nsor', nsor ) 993 CALL wrd_mpi_io( 'nsor_ini', nsor_ini ) 994 CALL wrd_mpi_io( 'nudging', nudging ) 995 CALL wrd_mpi_io( 'num_leg', num_leg ) 996 CALL wrd_mpi_io( 'nx', nx ) 997 CALL wrd_mpi_io( 'ny', ny ) 998 CALL wrd_mpi_io( 'ocean_mode', ocean_mode ) 999 CALL wrd_mpi_io( 'omega', omega ) 1000 CALL wrd_mpi_io( 'omega_sor', omega_sor ) 1001 CALL wrd_mpi_io( 'origin_date_time', origin_date_time ) 1002 CALL wrd_mpi_io( 'output_for_t0', output_for_t0 ) 1003 CALL wrd_mpi_io( 'particle_advection', particle_advection ) 1004 CALL wrd_mpi_io( 'passive_scalar', passive_scalar ) 1005 CALL wrd_mpi_io( 'prandtl_number', prandtl_number ) 1006 CALL wrd_mpi_io( 'psolver', psolver ) 1007 CALL wrd_mpi_io( 'pt_damping_factor', pt_damping_factor ) 1008 CALL wrd_mpi_io( 'pt_damping_width', pt_damping_width ) 1009 CALL wrd_mpi_io_global_array( 'pt_init', pt_init ) 1010 CALL wrd_mpi_io( 'pt_reference', pt_reference ) 1011 CALL wrd_mpi_io( 'pt_surface', pt_surface ) 1012 CALL wrd_mpi_io( 'pt_surface_initial_change', pt_surface_initial_change ) 1013 CALL wrd_mpi_io_global_array( 'pt_vertical_gradient', pt_vertical_gradient ) 1014 CALL wrd_mpi_io_global_array( 'pt_vertical_gradient_level', pt_vertical_gradient_level ) 1015 CALL wrd_mpi_io_global_array( 'pt_vertical_gradient_level_ind', pt_vertical_gradient_level_ind ) 1016 CALL wrd_mpi_io_global_array( 'q_init', q_init ) 1017 CALL wrd_mpi_io( 'q_surface', q_surface ) 1018 CALL wrd_mpi_io( 'q_surface_initial_change', q_surface_initial_change ) 1019 CALL wrd_mpi_io_global_array( 'q_vertical_gradient', q_vertical_gradient ) 1020 CALL wrd_mpi_io_global_array( 'q_vertical_gradient_level', q_vertical_gradient_level ) 1021 CALL wrd_mpi_io_global_array( 'q_vertical_gradient_level_ind', q_vertical_gradient_level_ind ) 1022 CALL wrd_mpi_io( 'random_generator', random_generator ) 1023 CALL wrd_mpi_io( 'random_heatflux', random_heatflux ) 1024 CALL wrd_mpi_io( 'rans_mode', rans_mode ) 1025 CALL wrd_mpi_io( 'rayleigh_damping_factor', rayleigh_damping_factor ) 1026 CALL wrd_mpi_io( 'rayleigh_damping_height', rayleigh_damping_height ) 1027 CALL wrd_mpi_io( 'recycling_width', recycling_width ) 1028 CALL wrd_mpi_io_global_array( 'ref_state', ref_state ) 1029 CALL wrd_mpi_io( 'reference_state', reference_state ) 1030 CALL wrd_mpi_io( 'residual_limit', residual_limit ) 1031 CALL wrd_mpi_io( 'roughness_length', roughness_length ) 1032 CALL wrd_mpi_io( 'run_coupled', run_coupled ) 1033 CALL wrd_mpi_io( 'runnr', runnr ) 1034 CALL wrd_mpi_io_global_array( 's_init', s_init ) 1035 CALL wrd_mpi_io( 's_surface', s_surface ) 1036 CALL wrd_mpi_io( 's_surface_initial_change', s_surface_initial_change ) 1037 CALL wrd_mpi_io_global_array( 's_vertical_gradient', s_vertical_gradient ) 1038 CALL wrd_mpi_io_global_array( 's_vertical_gradient_level', s_vertical_gradient_level ) 1039 CALL wrd_mpi_io_global_array( 's_vertical_gradient_level_ind', s_vertical_gradient_level_ind ) 1040 CALL wrd_mpi_io( 'scalar_advec', scalar_advec ) 1041 CALL wrd_mpi_io( 'simulated_time', simulated_time ) 1042 IF ( ALLOCATED( spectrum_x ) ) THEN 1043 CALL wrd_mpi_io( 'spectrum_x', spectrum_x ) 1044 CALL wrd_mpi_io( 'spectrum_y', spectrum_y ) 1045 ENDIF 1046 CALL wrd_mpi_io( 'spinup_time ', spinup_time ) 1047 CALL wrd_mpi_io_global_array( 'subs_vertical_gradient', subs_vertical_gradient ) 1048 CALL wrd_mpi_io_global_array( 'subs_vertical_gradient_level', subs_vertical_gradient_level ) 1049 CALL wrd_mpi_io_global_array( 'subs_vertical_gradient_level_i', subs_vertical_gradient_level_i ) 1050 CALL wrd_mpi_io( 'surface_heatflux', surface_heatflux ) 1051 CALL wrd_mpi_io( 'surface_output', surface_output ) 1052 CALL wrd_mpi_io( 'surface_pressure', surface_pressure ) 1053 CALL wrd_mpi_io( 'surface_scalarflux', surface_scalarflux ) 1054 CALL wrd_mpi_io( 'surface_waterflux', surface_waterflux ) 1055 CALL wrd_mpi_io( 'syn_turb_gen', syn_turb_gen ) 1056 CALL wrd_mpi_io( 'time_coupling', time_coupling ) 1057 CALL wrd_mpi_io( 'time_disturb', time_disturb ) 1058 CALL wrd_mpi_io( 'time_do2d_xy', time_do2d_xy ) 1059 CALL wrd_mpi_io( 'time_do2d_xz', time_do2d_xz ) 1060 CALL wrd_mpi_io( 'time_do2d_yz', time_do2d_yz ) 1061 CALL wrd_mpi_io( 'time_do3d', time_do3d ) 1062 CALL wrd_mpi_io( 'time_do_av', time_do_av ) 1063 CALL wrd_mpi_io( 'time_do_sla', time_do_sla ) 1064 CALL wrd_mpi_io_global_array( 'time_domask', time_domask ) 1065 CALL wrd_mpi_io( 'time_dopr', time_dopr ) 1066 CALL wrd_mpi_io( 'time_dopr_av', time_dopr_av ) 1067 CALL wrd_mpi_io( 'time_dopr_listing', time_dopr_listing ) 1068 CALL wrd_mpi_io( 'time_dopts', time_dopts ) 1069 CALL wrd_mpi_io( 'time_dosp', time_dosp ) 1070 CALL wrd_mpi_io( 'time_dots', time_dots ) 1071 CALL wrd_mpi_io( 'time_radiation', time_radiation ) 1072 CALL wrd_mpi_io( 'time_restart', time_restart ) 1073 CALL wrd_mpi_io( 'time_run_control', time_run_control ) 1074 CALL wrd_mpi_io( 'time_since_reference_point', time_since_reference_point ) 1075 CALL wrd_mpi_io( 'time_virtual_measurement', time_virtual_measurement ) 1076 CALL wrd_mpi_io( 'timestep_scheme', timestep_scheme ) 1077 CALL wrd_mpi_io( 'top_heatflux', top_heatflux ) 1078 CALL wrd_mpi_io( 'top_momentumflux_u', top_momentumflux_u ) 1079 CALL wrd_mpi_io( 'top_momentumflux_v', top_momentumflux_v ) 1080 CALL wrd_mpi_io( 'top_scalarflux', top_scalarflux ) 1081 CALL wrd_mpi_io( 'topography', topography ) 1082 CALL wrd_mpi_io( 'topography_grid_convention', topography_grid_convention ) 1083 CALL wrd_mpi_io_global_array( 'tsc', tsc ) 1084 CALL wrd_mpi_io( 'tunnel_height', tunnel_height ) 1085 CALL wrd_mpi_io( 'tunnel_length', tunnel_length ) 1086 CALL wrd_mpi_io( 'tunnel_wall_depth', tunnel_wall_depth ) 1087 CALL wrd_mpi_io( 'tunnel_width_x', tunnel_width_x ) 1088 CALL wrd_mpi_io( 'tunnel_width_y', tunnel_width_y ) 1089 CALL wrd_mpi_io( 'turbulence_closure', turbulence_closure ) 1090 CALL wrd_mpi_io( 'turbulent_inflow', turbulent_inflow ) 1091 CALL wrd_mpi_io( 'u_bulk', u_bulk ) 1092 CALL wrd_mpi_io_global_array( 'u_init', u_init ) 1093 CALL wrd_mpi_io( 'u_max', u_max ) 1094 CALL wrd_mpi_io_global_array( 'u_max_ijk', u_max_ijk ) 1095 CALL wrd_mpi_io_global_array( 'ug', ug ) 1096 CALL wrd_mpi_io( 'ug_surface', ug_surface ) 1097 CALL wrd_mpi_io_global_array( 'ug_vertical_gradient', ug_vertical_gradient ) 1098 CALL wrd_mpi_io_global_array( 'ug_vertical_gradient_level', ug_vertical_gradient_level ) 1099 CALL wrd_mpi_io_global_array( 'ug_vertical_gradient_level_ind', ug_vertical_gradient_level_ind ) 1100 CALL wrd_mpi_io( 'use_surface_fluxes', use_surface_fluxes ) 1101 CALL wrd_mpi_io( 'use_top_fluxes', use_top_fluxes ) 1102 CALL wrd_mpi_io( 'use_ug_for_galilei_tr', use_ug_for_galilei_tr ) 1103 CALL wrd_mpi_io( 'use_upstream_for_tke', use_upstream_for_tke ) 1104 CALL wrd_mpi_io( 'user_module_enabled', user_module_enabled ) 1105 CALL wrd_mpi_io( 'v_bulk', v_bulk ) 1106 CALL wrd_mpi_io_global_array( 'v_init', v_init ) 1107 CALL wrd_mpi_io( 'v_max', v_max ) 1108 CALL wrd_mpi_io_global_array( 'v_max_ijk', v_max_ijk ) 1109 CALL wrd_mpi_io_global_array( 'vg', vg ) 1110 CALL wrd_mpi_io( 'vg_surface', vg_surface ) 1111 CALL wrd_mpi_io_global_array( 'vg_vertical_gradient', vg_vertical_gradient ) 1112 CALL wrd_mpi_io_global_array( 'vg_vertical_gradient_level', vg_vertical_gradient_level ) 1113 CALL wrd_mpi_io_global_array( 'vg_vertical_gradient_level_ind', vg_vertical_gradient_level_ind ) 1114 CALL wrd_mpi_io( 'virtual_flight', virtual_flight ) 1115 CALL wrd_mpi_io( 'vnest_init', vnest_init ) 1116 CALL wrd_mpi_io_global_array( 'volume_flow_area', volume_flow_area ) 1117 CALL wrd_mpi_io_global_array( 'volume_flow_initial', volume_flow_initial ) 1118 CALL wrd_mpi_io( 'w_max', w_max ) 1119 CALL wrd_mpi_io_global_array( 'w_max_ijk', w_max_ijk ) 1120 CALL wrd_mpi_io( 'wall_adjustment', wall_adjustment ) 1121 CALL wrd_mpi_io_global_array( 'wall_heatflux', wall_heatflux ) 1122 CALL wrd_mpi_io_global_array( 'wall_humidityflux', wall_humidityflux ) 1123 CALL wrd_mpi_io_global_array( 'wall_scalarflux', wall_scalarflux ) 1124 CALL wrd_mpi_io( 'y_shift', y_shift ) 1125 CALL wrd_mpi_io( 'z0h_factor', z0h_factor ) 1126 CALL wrd_mpi_io( 'zeta_max', zeta_max ) 1127 CALL wrd_mpi_io( 'zeta_min', zeta_min ) 1128 CALL wrd_mpi_io_global_array( 'z_i', z_i ) 1129 400 1130 ENDIF 401 402 CALL wrd_write_string( 'inflow_damping_height' )403 WRITE ( 14 ) inflow_damping_height404 405 CALL wrd_write_string( 'inflow_damping_width' )406 WRITE ( 14 ) inflow_damping_width407 408 CALL wrd_write_string( 'inflow_disturbance_begin' )409 WRITE ( 14 ) inflow_disturbance_begin410 411 CALL wrd_write_string( 'inflow_disturbance_end' )412 WRITE ( 14 ) inflow_disturbance_end413 414 CALL wrd_write_string( 'km_constant' )415 WRITE ( 14 ) km_constant416 417 CALL wrd_write_string( 'large_scale_forcing' )418 WRITE ( 14 ) large_scale_forcing419 420 CALL wrd_write_string( 'large_scale_subsidence' )421 WRITE ( 14 ) large_scale_subsidence422 423 CALL wrd_write_string( 'latitude' )424 WRITE ( 14 ) latitude425 426 CALL wrd_write_string( 'longitude' )427 WRITE ( 14 ) longitude428 429 CALL wrd_write_string( 'loop_optimization' )430 WRITE ( 14 ) loop_optimization431 432 CALL wrd_write_string( 'masking_method' )433 WRITE ( 14 ) masking_method434 435 IF ( ALLOCATED( mean_inflow_profiles ) ) THEN436 CALL wrd_write_string( 'mean_inflow_profiles' )437 WRITE ( 14 ) mean_inflow_profiles438 ENDIF439 440 CALL wrd_write_string( 'mg_cycles' )441 WRITE ( 14 ) mg_cycles442 443 CALL wrd_write_string( 'mg_switch_to_pe0_level' )444 WRITE ( 14 ) mg_switch_to_pe0_level445 446 CALL wrd_write_string( 'mixing_length_1d' )447 WRITE ( 14 ) mixing_length_1d448 449 CALL wrd_write_string( 'momentum_advec' )450 WRITE ( 14 ) momentum_advec451 452 CALL wrd_write_string( 'netcdf_precision' )453 WRITE ( 14 ) netcdf_precision454 455 CALL wrd_write_string( 'neutral' )456 WRITE ( 14 ) neutral457 458 CALL wrd_write_string( 'ngsrb' )459 WRITE ( 14 ) ngsrb460 461 CALL wrd_write_string( 'nsor' )462 WRITE ( 14 ) nsor463 464 CALL wrd_write_string( 'nsor_ini' )465 WRITE ( 14 ) nsor_ini466 467 CALL wrd_write_string( 'nudging' )468 WRITE ( 14 ) nudging469 470 CALL wrd_write_string( 'num_leg' )471 WRITE ( 14 ) num_leg472 473 CALL wrd_write_string( 'nx' )474 WRITE ( 14 ) nx475 476 CALL wrd_write_string( 'ny' )477 WRITE ( 14 ) ny478 479 CALL wrd_write_string( 'ocean_mode' )480 WRITE ( 14 ) ocean_mode481 482 CALL wrd_write_string( 'omega' )483 WRITE ( 14 ) omega484 485 CALL wrd_write_string( 'omega_sor' )486 WRITE ( 14 ) omega_sor487 488 CALL wrd_write_string( 'output_for_t0' )489 WRITE ( 14 ) output_for_t0490 491 CALL wrd_write_string( 'passive_scalar' )492 WRITE ( 14 ) passive_scalar493 494 CALL wrd_write_string( 'prandtl_number' )495 WRITE ( 14 ) prandtl_number496 497 CALL wrd_write_string( 'psolver' )498 WRITE ( 14 ) psolver499 500 CALL wrd_write_string( 'pt_damping_factor' )501 WRITE ( 14 ) pt_damping_factor502 503 CALL wrd_write_string( 'pt_damping_width' )504 WRITE ( 14 ) pt_damping_width505 506 CALL wrd_write_string( 'pt_init' )507 WRITE ( 14 ) pt_init508 509 CALL wrd_write_string( 'pt_reference' )510 WRITE ( 14 ) pt_reference511 512 CALL wrd_write_string( 'pt_surface' )513 WRITE ( 14 ) pt_surface514 515 CALL wrd_write_string( 'pt_surface_initial_change' )516 WRITE ( 14 ) pt_surface_initial_change517 518 CALL wrd_write_string( 'pt_vertical_gradient' )519 WRITE ( 14 ) pt_vertical_gradient520 521 CALL wrd_write_string( 'pt_vertical_gradient_level' )522 WRITE ( 14 ) pt_vertical_gradient_level523 524 CALL wrd_write_string( 'pt_vertical_gradient_level_ind' )525 WRITE ( 14 ) pt_vertical_gradient_level_ind526 527 CALL wrd_write_string( 'q_init' )528 WRITE ( 14 ) q_init529 530 CALL wrd_write_string( 'q_surface' )531 WRITE ( 14 ) q_surface532 533 CALL wrd_write_string( 'q_surface_initial_change' )534 WRITE ( 14 ) q_surface_initial_change535 536 CALL wrd_write_string( 'q_vertical_gradient' )537 WRITE ( 14 ) q_vertical_gradient538 539 CALL wrd_write_string( 'q_vertical_gradient_level' )540 WRITE ( 14 ) q_vertical_gradient_level541 542 CALL wrd_write_string( 'q_vertical_gradient_level_ind' )543 WRITE ( 14 ) q_vertical_gradient_level_ind544 545 CALL wrd_write_string( 'random_generator' )546 WRITE ( 14 ) random_generator547 548 CALL wrd_write_string( 'random_heatflux' )549 WRITE ( 14 ) random_heatflux550 551 CALL wrd_write_string( 'rans_mode' )552 WRITE ( 14 ) rans_mode553 554 CALL wrd_write_string( 'rayleigh_damping_factor' )555 WRITE ( 14 ) rayleigh_damping_factor556 557 CALL wrd_write_string( 'rayleigh_damping_height' )558 WRITE ( 14 ) rayleigh_damping_height559 560 CALL wrd_write_string( 'recycling_width' )561 WRITE ( 14 ) recycling_width562 563 CALL wrd_write_string( 'ref_state' )564 WRITE ( 14 ) ref_state565 566 CALL wrd_write_string( 'reference_state' )567 WRITE ( 14 ) reference_state568 569 CALL wrd_write_string( 'residual_limit' )570 WRITE ( 14 ) residual_limit571 572 CALL wrd_write_string( 'roughness_length' )573 WRITE ( 14 ) roughness_length574 575 CALL wrd_write_string( 'run_coupled' )576 WRITE ( 14 ) run_coupled577 578 CALL wrd_write_string( 'runnr' )579 WRITE ( 14 ) runnr580 581 CALL wrd_write_string( 's_init' )582 WRITE ( 14 ) s_init583 584 CALL wrd_write_string( 's_surface' )585 WRITE ( 14 ) s_surface586 587 CALL wrd_write_string( 's_surface_initial_change' )588 WRITE ( 14 ) s_surface_initial_change589 590 CALL wrd_write_string( 's_vertical_gradient' )591 WRITE ( 14 ) s_vertical_gradient592 593 CALL wrd_write_string( 's_vertical_gradient_level' )594 WRITE ( 14 ) s_vertical_gradient_level595 596 CALL wrd_write_string( 's_vertical_gradient_level_ind' )597 WRITE ( 14 ) s_vertical_gradient_level_ind598 599 CALL wrd_write_string( 'scalar_advec' )600 WRITE ( 14 ) scalar_advec601 602 CALL wrd_write_string( 'simulated_time' )603 WRITE ( 14 ) simulated_time604 605 IF ( ALLOCATED( spectrum_x ) ) THEN606 CALL wrd_write_string( 'spectrum_x' )607 WRITE ( 14 ) spectrum_x608 CALL wrd_write_string( 'spectrum_y' )609 WRITE ( 14 ) spectrum_y610 ENDIF611 612 CALL wrd_write_string( 'spinup_time ' )613 WRITE ( 14 ) spinup_time614 615 CALL wrd_write_string( 'surface_heatflux' )616 WRITE ( 14 ) surface_heatflux617 618 CALL wrd_write_string( 'surface_pressure' )619 WRITE ( 14 ) surface_pressure620 621 CALL wrd_write_string( 'surface_scalarflux' )622 WRITE ( 14 ) surface_scalarflux623 624 CALL wrd_write_string( 'surface_waterflux' )625 WRITE ( 14 ) surface_waterflux626 627 CALL wrd_write_string( 'time_coupling' )628 WRITE ( 14 ) time_coupling629 630 CALL wrd_write_string( 'time_disturb' )631 WRITE ( 14 ) time_disturb632 633 CALL wrd_write_string( 'time_do2d_xy' )634 WRITE ( 14 ) time_do2d_xy635 636 CALL wrd_write_string( 'time_do2d_xz' )637 WRITE ( 14 ) time_do2d_xz638 639 CALL wrd_write_string( 'time_do2d_yz' )640 WRITE ( 14 ) time_do2d_yz641 642 CALL wrd_write_string( 'time_do3d' )643 WRITE ( 14 ) time_do3d644 645 CALL wrd_write_string( 'time_do_av' )646 WRITE ( 14 ) time_do_av647 648 CALL wrd_write_string( 'time_do_sla' )649 WRITE ( 14 ) time_do_sla650 651 CALL wrd_write_string( 'time_domask' )652 WRITE ( 14 ) time_domask653 654 CALL wrd_write_string( 'time_dopr' )655 WRITE ( 14 ) time_dopr656 657 CALL wrd_write_string( 'time_dopr_av' )658 WRITE ( 14 ) time_dopr_av659 660 CALL wrd_write_string( 'time_dopr_listing' )661 WRITE ( 14 ) time_dopr_listing662 663 CALL wrd_write_string( 'time_dopts' )664 WRITE ( 14 ) time_dopts665 666 CALL wrd_write_string( 'time_dosp' )667 WRITE ( 14 ) time_dosp668 669 CALL wrd_write_string( 'time_dots' )670 WRITE ( 14 ) time_dots671 672 CALL wrd_write_string( 'time_radiation' )673 WRITE ( 14 ) time_radiation674 675 CALL wrd_write_string( 'time_restart' )676 WRITE ( 14 ) time_restart677 678 CALL wrd_write_string( 'time_run_control' )679 WRITE ( 14 ) time_run_control680 681 CALL wrd_write_string( 'time_since_reference_point' )682 WRITE ( 14 ) time_since_reference_point683 684 CALL wrd_write_string( 'time_virtual_measurement' )685 WRITE ( 14 ) time_virtual_measurement686 687 CALL wrd_write_string( 'timestep_scheme' )688 WRITE ( 14 ) timestep_scheme689 690 CALL wrd_write_string( 'top_heatflux' )691 WRITE ( 14 ) top_heatflux692 693 CALL wrd_write_string( 'top_momentumflux_u' )694 WRITE ( 14 ) top_momentumflux_u695 696 CALL wrd_write_string( 'top_momentumflux_v' )697 WRITE ( 14 ) top_momentumflux_v698 699 CALL wrd_write_string( 'top_scalarflux' )700 WRITE ( 14 ) top_scalarflux701 702 CALL wrd_write_string( 'topography' )703 WRITE ( 14 ) topography704 705 CALL wrd_write_string( 'topography_grid_convention' )706 WRITE ( 14 ) topography_grid_convention707 708 CALL wrd_write_string( 'tsc' )709 WRITE ( 14 ) tsc710 711 CALL wrd_write_string( 'tunnel_height' )712 WRITE ( 14 ) tunnel_height713 714 CALL wrd_write_string( 'tunnel_length' )715 WRITE ( 14 ) tunnel_length716 717 CALL wrd_write_string( 'tunnel_wall_depth' )718 WRITE ( 14 ) tunnel_wall_depth719 720 CALL wrd_write_string( 'tunnel_width_x' )721 WRITE ( 14 ) tunnel_width_x722 723 CALL wrd_write_string( 'tunnel_width_y' )724 WRITE ( 14 ) tunnel_width_y725 726 CALL wrd_write_string( 'turbulence_closure' )727 WRITE ( 14 ) turbulence_closure728 729 CALL wrd_write_string( 'turbulent_inflow' )730 WRITE ( 14 ) turbulent_inflow731 732 CALL wrd_write_string( 'u_bulk' )733 WRITE ( 14 ) u_bulk734 735 CALL wrd_write_string( 'u_init' )736 WRITE ( 14 ) u_init737 738 CALL wrd_write_string( 'u_max' )739 WRITE ( 14 ) u_max740 741 CALL wrd_write_string( 'u_max_ijk' )742 WRITE ( 14 ) u_max_ijk743 744 CALL wrd_write_string( 'ug' )745 WRITE ( 14 ) ug746 747 CALL wrd_write_string( 'ug_surface' )748 WRITE ( 14 ) ug_surface749 750 CALL wrd_write_string( 'ug_vertical_gradient' )751 WRITE ( 14 ) ug_vertical_gradient752 753 CALL wrd_write_string( 'ug_vertical_gradient_level' )754 WRITE ( 14 ) ug_vertical_gradient_level755 756 CALL wrd_write_string( 'ug_vertical_gradient_level_ind' )757 WRITE ( 14 ) ug_vertical_gradient_level_ind758 759 CALL wrd_write_string( 'use_surface_fluxes' )760 WRITE ( 14 ) use_surface_fluxes761 762 CALL wrd_write_string( 'use_top_fluxes' )763 WRITE ( 14 ) use_top_fluxes764 765 CALL wrd_write_string( 'use_ug_for_galilei_tr' )766 WRITE ( 14 ) use_ug_for_galilei_tr767 768 CALL wrd_write_string( 'use_upstream_for_tke' )769 WRITE ( 14 ) use_upstream_for_tke770 771 CALL wrd_write_string( 'v_bulk' )772 WRITE ( 14 ) v_bulk773 774 CALL wrd_write_string( 'v_init' )775 WRITE ( 14 ) v_init776 777 CALL wrd_write_string( 'v_max' )778 WRITE ( 14 ) v_max779 780 CALL wrd_write_string( 'v_max_ijk' )781 WRITE ( 14 ) v_max_ijk782 783 CALL wrd_write_string( 'vg' )784 WRITE ( 14 ) vg785 786 CALL wrd_write_string( 'vg_surface' )787 WRITE ( 14 ) vg_surface788 789 CALL wrd_write_string( 'vg_vertical_gradient' )790 WRITE ( 14 ) vg_vertical_gradient791 792 CALL wrd_write_string( 'vg_vertical_gradient_level' )793 WRITE ( 14 ) vg_vertical_gradient_level794 795 CALL wrd_write_string( 'vg_vertical_gradient_level_ind' )796 WRITE ( 14 ) vg_vertical_gradient_level_ind797 798 CALL wrd_write_string( 'virtual_flight' )799 WRITE ( 14 ) virtual_flight800 801 CALL wrd_write_string( 'vnest_init' )802 WRITE ( 14 ) vnest_init803 804 CALL wrd_write_string( 'volume_flow_area' )805 WRITE ( 14 ) volume_flow_area806 807 CALL wrd_write_string( 'volume_flow_initial' )808 WRITE ( 14 ) volume_flow_initial809 810 CALL wrd_write_string( 'subs_vertical_gradient' )811 WRITE ( 14 ) subs_vertical_gradient812 813 CALL wrd_write_string( 'subs_vertical_gradient_level' )814 WRITE ( 14 ) subs_vertical_gradient_level815 816 CALL wrd_write_string( 'subs_vertical_gradient_level_i' )817 WRITE ( 14 ) subs_vertical_gradient_level_i818 819 CALL wrd_write_string( 'w_max' )820 WRITE ( 14 ) w_max821 822 CALL wrd_write_string( 'w_max_ijk' )823 WRITE ( 14 ) w_max_ijk824 825 CALL wrd_write_string( 'wall_adjustment' )826 WRITE ( 14 ) wall_adjustment827 828 CALL wrd_write_string( 'wall_heatflux' )829 WRITE ( 14 ) wall_heatflux830 831 CALL wrd_write_string( 'wall_humidityflux' )832 WRITE ( 14 ) wall_humidityflux833 834 CALL wrd_write_string( 'wall_scalarflux' )835 WRITE ( 14 ) wall_scalarflux836 837 CALL wrd_write_string( 'y_shift' )838 WRITE ( 14 ) y_shift839 840 CALL wrd_write_string( 'z0h_factor' )841 WRITE ( 14 ) z0h_factor842 843 CALL wrd_write_string( 'zeta_max' )844 WRITE ( 14 ) zeta_max845 846 CALL wrd_write_string( 'zeta_min' )847 WRITE ( 14 ) zeta_min848 849 CALL wrd_write_string( 'z_i' )850 WRITE ( 14 ) z_i851 1131 852 1132 ! … … 869 1149 870 1150 871 CHARACTER(LEN=10) :: binary_version_local !< 1151 CHARACTER(LEN=10) :: binary_version_local !< 1152 CHARACTER(LEN=20) :: tmp_name !< temporary variable 1153 1154 INTEGER :: i !< loop index 872 1155 873 1156 ! … … 875 1158 binary_version_local = '4.7' 876 1159 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 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 1160 IF ( TRIM( restart_data_format_output ) == 'fortran_binary' ) THEN 1161 ! 1162 !-- Output in Fortran binary format 1163 1164 CALL wrd_write_string( 'binary_version_local' ) 1165 WRITE ( 14 ) binary_version_local 1166 1167 WRITE ( 14 ) numprocs, myid, nxl, nxr, nys, nyn, nzb, nzt 1168 1169 ! 1170 !-- Attention: After changes to the following output commands the version number of the variable 1171 !-- ---------- binary_version_local must be changed! 1172 !-- Also, the list of arrays to be read in rrd_local must be adjusted accordingly. 1173 CALL wrd_write_string( 'e' ) 1174 WRITE ( 14 ) e 1175 1176 IF ( ALLOCATED( e_av ) ) THEN 1177 CALL wrd_write_string( 'e_av' ) 1178 WRITE ( 14 ) e_av 1179 ENDIF 1180 1181 CALL wrd_write_string( 'kh' ) 1182 WRITE ( 14 ) kh 1183 1184 1185 IF ( ALLOCATED( kh_av ) ) THEN 1186 CALL wrd_write_string( 'kh_av' ) 1187 WRITE ( 14 ) kh_av 1188 ENDIF 1189 1190 CALL wrd_write_string( 'km' ) 1191 WRITE ( 14 ) km 1192 1193 IF ( ALLOCATED( km_av ) ) THEN 1194 CALL wrd_write_string( 'km_av' ) 1195 WRITE ( 14 ) km_av 1196 ENDIF 1197 1198 IF ( ALLOCATED( lpt_av ) ) THEN 1199 CALL wrd_write_string( 'lpt_av' ) 1200 WRITE ( 14 ) lpt_av 1201 ENDIF 1202 1203 IF ( ALLOCATED( lwp_av ) ) THEN 1204 CALL wrd_write_string( 'lwp_av' ) 1205 WRITE ( 14 ) lwp_av 1206 ENDIF 1207 1208 CALL wrd_write_string( 'p' ) 1209 WRITE ( 14 ) p 1210 1211 IF ( ALLOCATED( p_av ) ) THEN 1212 CALL wrd_write_string( 'p_av' ) 1213 WRITE ( 14 ) p_av 1214 ENDIF 1215 1216 IF ( ALLOCATED( pc_av ) ) THEN 1217 CALL wrd_write_string( 'pc_av' ) 1218 WRITE ( 14 ) pc_av 1219 ENDIF 1220 1221 IF ( ALLOCATED( pr_av ) ) THEN 1222 CALL wrd_write_string( 'pr_av' ) 1223 WRITE ( 14 ) pr_av 1224 ENDIF 1225 1226 CALL wrd_write_string( 'pt' ) 1227 WRITE ( 14 ) pt 1228 1229 IF ( ALLOCATED( pt_av ) ) THEN 1230 CALL wrd_write_string( 'pt_av' ) 1231 WRITE ( 14 ) pt_av 1232 ENDIF 1233 1234 IF ( humidity ) THEN 1235 1236 CALL wrd_write_string( 'q' ) 1237 WRITE ( 14 ) q 1238 1239 IF ( ALLOCATED( q_av ) ) THEN 1240 CALL wrd_write_string( 'q_av' ) 1241 WRITE ( 14 ) q_av 965 1242 ENDIF 966 1243 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 1244 IF ( cloud_droplets ) THEN 1245 1246 CALL wrd_write_string( 'ql' ) 1247 WRITE ( 14 ) ql 1248 1249 IF ( ALLOCATED( ql_av ) ) THEN 1250 CALL wrd_write_string( 'ql_av' ) 1251 WRITE ( 14 ) ql_av 1252 ENDIF 1253 1254 ENDIF 1255 1256 IF ( ALLOCATED( qsws_av ) ) THEN 1257 CALL wrd_write_string( 'qsws_av' ) 1258 WRITE ( 14 ) qsws_av 1259 ENDIF 1260 1261 ENDIF 1262 1263 IF ( passive_scalar ) THEN 1264 1265 CALL wrd_write_string( 's' ) 1266 WRITE ( 14 ) s 1267 1268 IF ( ALLOCATED( s_av ) ) THEN 1269 CALL wrd_write_string( 's_av' ) 1270 WRITE ( 14 ) s_av 1271 ENDIF 1272 1273 IF ( ALLOCATED( ssws_av ) ) THEN 1274 CALL wrd_write_string( 'ssws_av' ) 1275 WRITE ( 14 ) ssws_av 1276 ENDIF 1277 1278 ENDIF 1279 1280 IF ( ALLOCATED( ql_c_av ) ) THEN 1281 CALL wrd_write_string( 'ql_c_av' ) 1282 WRITE ( 14 ) ql_c_av 1283 ENDIF 1284 1285 IF ( ALLOCATED( ql_v_av ) ) THEN 1286 CALL wrd_write_string( 'ql_v_av' ) 1287 WRITE ( 14 ) ql_v_av 1288 ENDIF 1289 1290 IF ( ALLOCATED( ql_vp_av ) ) THEN 1291 CALL wrd_write_string( 'ql_vp_av' ) 1292 WRITE ( 14 ) ql_vp_av 1293 ENDIF 1294 1295 IF ( ALLOCATED( qv_av ) ) THEN 1296 CALL wrd_write_string( 'qv_av' ) 1297 WRITE ( 14 ) qv_av 1298 ENDIF 1299 1300 CALL wrd_write_string( 'random_iv' ) 1301 WRITE ( 14 ) random_iv 1302 WRITE ( 14 ) random_iy 1303 1304 IF ( ALLOCATED( seq_random_array ) ) THEN 1305 CALL wrd_write_string( 'seq_random_array' ) 1306 WRITE ( 14 ) id_random_array 1307 WRITE ( 14 ) seq_random_array 1308 ENDIF 980 1309 981 1310 IF ( ALLOCATED( s_av ) ) THEN … … 984 1313 ENDIF 985 1314 986 IF ( ALLOCATED( ssws_av ) ) THEN 987 CALL wrd_write_string( 'ssws_av' ) 988 WRITE ( 14 ) ssws_av 989 ENDIF 1315 IF ( ALLOCATED( shf_av ) ) THEN 1316 CALL wrd_write_string( 'shf_av' ) 1317 WRITE ( 14 ) shf_av 1318 ENDIF 1319 1320 IF ( ALLOCATED( ts_av ) ) THEN 1321 CALL wrd_write_string( 'ts_av' ) 1322 WRITE ( 14 ) ts_av 1323 ENDIF 1324 1325 CALL wrd_write_string( 'u' ) 1326 WRITE ( 14 ) u 1327 1328 IF ( ALLOCATED( u_av ) ) THEN 1329 CALL wrd_write_string( 'u_av' ) 1330 WRITE ( 14 ) u_av 1331 ENDIF 1332 1333 IF ( ALLOCATED( u_m_l ) ) THEN 1334 CALL wrd_write_string( 'u_m_l' ) 1335 WRITE ( 14 ) u_m_l 1336 ENDIF 1337 1338 IF ( ALLOCATED( u_m_n ) ) THEN 1339 CALL wrd_write_string( 'u_m_n' ) 1340 WRITE ( 14 ) u_m_n 1341 ENDIF 1342 1343 IF ( ALLOCATED( u_m_r ) ) THEN 1344 CALL wrd_write_string( 'u_m_r' ) 1345 WRITE ( 14 ) u_m_r 1346 ENDIF 1347 1348 IF ( ALLOCATED( u_m_s ) ) THEN 1349 CALL wrd_write_string( 'u_m_s' ) 1350 WRITE ( 14 ) u_m_s 1351 ENDIF 1352 1353 IF ( ALLOCATED( us_av ) ) THEN 1354 CALL wrd_write_string( 'us_av' ) 1355 WRITE ( 14 ) us_av 1356 ENDIF 1357 1358 CALL wrd_write_string( 'v' ) 1359 WRITE ( 14 ) v 1360 1361 IF ( ALLOCATED( v_av ) ) THEN 1362 CALL wrd_write_string( 'v_av' ) 1363 WRITE ( 14 ) v_av 1364 ENDIF 1365 1366 IF ( ALLOCATED( v_m_l ) ) THEN 1367 CALL wrd_write_string( 'v_m_l' ) 1368 WRITE ( 14 ) v_m_l 1369 ENDIF 1370 1371 IF ( ALLOCATED( v_m_n ) ) THEN 1372 CALL wrd_write_string( 'v_m_n' ) 1373 WRITE ( 14 ) v_m_n 1374 ENDIF 1375 1376 IF ( ALLOCATED( v_m_r ) ) THEN 1377 CALL wrd_write_string( 'v_m_r' ) 1378 WRITE ( 14 ) v_m_r 1379 ENDIF 1380 1381 IF ( ALLOCATED( v_m_s ) ) THEN 1382 CALL wrd_write_string( 'v_m_s' ) 1383 WRITE ( 14 ) v_m_s 1384 ENDIF 1385 1386 IF ( humidity ) THEN 1387 1388 CALL wrd_write_string( 'vpt' ) 1389 WRITE ( 14 ) vpt 1390 1391 IF ( ALLOCATED( vpt_av ) ) THEN 1392 CALL wrd_write_string( 'vpt_av' ) 1393 WRITE ( 14 ) vpt_av 1394 ENDIF 1395 1396 ENDIF 1397 1398 CALL wrd_write_string( 'w' ) 1399 WRITE ( 14 ) w 1400 1401 IF ( ALLOCATED( w_av ) ) THEN 1402 CALL wrd_write_string( 'w_av' ) 1403 WRITE ( 14 ) w_av 1404 ENDIF 1405 1406 IF ( ALLOCATED( w_m_l ) ) THEN 1407 CALL wrd_write_string( 'w_m_l' ) 1408 WRITE ( 14 ) w_m_l 1409 ENDIF 1410 1411 IF ( ALLOCATED( w_m_n ) ) THEN 1412 CALL wrd_write_string( 'w_m_n' ) 1413 WRITE ( 14 ) w_m_n 1414 ENDIF 1415 1416 IF ( ALLOCATED( w_m_r ) ) THEN 1417 CALL wrd_write_string( 'w_m_r' ) 1418 WRITE ( 14 ) w_m_r 1419 ENDIF 1420 1421 IF ( ALLOCATED( w_m_s ) ) THEN 1422 CALL wrd_write_string( 'w_m_s' ) 1423 WRITE ( 14 ) w_m_s 1424 ENDIF 1425 1426 IF ( ALLOCATED( z0_av ) ) THEN 1427 CALL wrd_write_string( 'z0_av' ) 1428 WRITE ( 14 ) z0_av 1429 ENDIF 1430 1431 IF ( ALLOCATED( z0h_av ) ) THEN 1432 CALL wrd_write_string( 'z0h_av' ) 1433 WRITE ( 14 ) z0h_av 1434 ENDIF 1435 1436 IF ( ALLOCATED( z0q_av ) ) THEN 1437 CALL wrd_write_string( 'z0q_av' ) 1438 WRITE ( 14 ) z0q_av 1439 ENDIF 1440 1441 IF ( land_surface .OR. urban_surface ) THEN 1442 1443 IF ( ALLOCATED( ghf_av ) ) THEN 1444 CALL wrd_write_string( 'ghf_av' ) 1445 WRITE ( 14 ) ghf_av 1446 ENDIF 1447 1448 IF ( ALLOCATED( r_a_av ) ) THEN 1449 CALL wrd_write_string( 'r_a_av' ) 1450 WRITE ( 14 ) r_a_av 1451 ENDIF 1452 1453 ENDIF 1454 1455 IF ( ALLOCATED( tsurf_av ) ) THEN 1456 CALL wrd_write_string( 'tsurf_av' ) 1457 WRITE ( 14 ) tsurf_av 1458 ENDIF 1459 1460 ELSEIF ( restart_data_format_output == 'mpi' ) THEN 1461 ! 1462 !-- Write local restart data using MPI-IO 1463 !-- Attention: After changes to the following output commands the version number 1464 !-- --------- of the variable binary_version must be changed! 1465 !-- Also, the list of arrays to be read in rrd_local must be adjusted accordingly. 1466 CALL wrd_mpi_io( 'e', e) 1467 IF ( ALLOCATED( e_av ) ) CALL wrd_mpi_io( 'e_av', e_av) 1468 CALL wrd_mpi_io( 'kh', kh ) 1469 IF ( ALLOCATED( kh_av ) ) CALL wrd_mpi_io( 'kh_av', kh_av ) 1470 CALL wrd_mpi_io( 'km' , km ) 1471 IF ( ALLOCATED( km_av ) ) CALL wrd_mpi_io( 'km_av', km_av ) 1472 IF ( ALLOCATED( lpt_av ) ) CALL wrd_mpi_io( 'lpt_av', lpt_av ) 1473 IF ( ALLOCATED( lwp_av ) ) CALL wrd_mpi_io( 'lwp_av', lwp_av ) 1474 CALL wrd_mpi_io( 'p', p ) 1475 IF ( ALLOCATED( p_av ) ) CALL wrd_mpi_io( 'p_av', p_av ) 1476 IF ( ALLOCATED( pc_av ) ) CALL wrd_mpi_io( 'pc_av', pc_av ) 1477 IF ( ALLOCATED( pr_av ) ) CALL wrd_mpi_io( 'pr_av', pr_av ) 1478 CALL wrd_mpi_io( 'pt', pt ) 1479 IF ( ALLOCATED( pt_av ) ) CALL wrd_mpi_io( 'pt_av', pt_av ) 1480 1481 IF ( humidity ) THEN 1482 1483 CALL wrd_mpi_io( 'q', q ) 1484 IF ( ALLOCATED( q_av ) ) CALL wrd_mpi_io( 'q_av', q_av ) 1485 1486 IF ( cloud_droplets ) THEN 1487 1488 CALL wrd_mpi_io( 'ql', ql ) 1489 IF ( ALLOCATED( ql_av ) ) CALL wrd_mpi_io( 'ql_av', ql_av ) 1490 1491 ENDIF 1492 1493 IF ( ALLOCATED( qsws_av ) ) CALL wrd_mpi_io( 'qsws_av', qsws_av ) 1494 1495 ENDIF 1496 1497 IF ( passive_scalar ) THEN 1498 1499 CALL wrd_mpi_io( 's', s ) 1500 IF ( ALLOCATED( s_av ) ) CALL wrd_mpi_io( 's_av', s_av ) 1501 IF ( ALLOCATED( ssws_av ) ) CALL wrd_mpi_io( 'ssws_av', ssws_av ) 1502 1503 ENDIF 1504 1505 IF ( ALLOCATED( ql_c_av ) ) CALL wrd_mpi_io( 'ql_c_av', ql_c_av ) 1506 IF ( ALLOCATED( ql_v_av ) ) CALL wrd_mpi_io( 'ql_v_av', ql_v_av ) 1507 IF ( ALLOCATED( ql_vp_av ) ) CALL wrd_mpi_io( 'ql_vp_av', ql_vp_av ) 1508 IF ( ALLOCATED( qv_av ) ) CALL wrd_mpi_io( 'qv_av', qv_av ) 1509 ! 1510 !-- Only PE0 writes random_iv and random_iy to restart file. 1511 !-- ATTENTION: If one value for every PE is required, the general approach of PE indendent 1512 !-- restart will be lost. That means that in general the parallel random number generator 1513 !-- in random_generatot_parallel_mod should be used! 1514 CALL wrd_mpi_io_global_array( 'random_iv', random_iv ) 1515 CALL wrd_mpi_io( 'random_iy', random_iy ) 1516 1517 IF ( ALLOCATED( seq_random_array ) ) THEN 1518 CALL wrd_mpi_io( 'id_random_array', id_random_array ) 1519 DO i = 1, SIZE( seq_random_array, 1 ) 1520 WRITE( tmp_name, '(A,I2.2)' ) 'seq_random_array', i 1521 CALL wrd_mpi_io( TRIM( tmp_name ), seq_random_array(i,:,:) ) 1522 ENDDO 1523 ENDIF 1524 IF ( ALLOCATED( s_av ) ) CALL wrd_mpi_io( 's_av', s_av ) 1525 IF ( ALLOCATED( shf_av ) ) CALL wrd_mpi_io( 'shf_av', shf_av ) 1526 IF ( ALLOCATED( ts_av ) ) CALL wrd_mpi_io( 'ts_av', ts_av ) 1527 CALL wrd_mpi_io( 'u', u) 1528 IF ( ALLOCATED( u_av ) ) CALL wrd_mpi_io( 'u_av', u_av ) 1529 IF ( ALLOCATED( u_m_l ) ) CALL wrd_mpi_io( 'u_m_l', u_m_l ) 1530 IF ( ALLOCATED( u_m_n ) ) CALL wrd_mpi_io( 'u_m_n', u_m_n ) 1531 IF ( ALLOCATED( u_m_r ) ) CALL wrd_mpi_io( 'u_m_r', u_m_r ) 1532 IF ( ALLOCATED( u_m_s ) ) CALL wrd_mpi_io( 'u_m_s', u_m_s ) 1533 IF ( ALLOCATED( us_av ) ) CALL wrd_mpi_io( 'us_av', us_av ) 1534 CALL wrd_mpi_io( 'v', v ) 1535 IF ( ALLOCATED( v_av ) ) CALL wrd_mpi_io( 'v_av', v_av ) 1536 IF ( ALLOCATED( v_m_l ) ) CALL wrd_mpi_io( 'v_m_l', v_m_l ) 1537 IF ( ALLOCATED( v_m_n ) ) CALL wrd_mpi_io( 'v_m_n', v_m_n ) 1538 IF ( ALLOCATED( v_m_r ) ) CALL wrd_mpi_io( 'v_m_r', v_m_r ) 1539 IF ( ALLOCATED( v_m_s ) ) CALL wrd_mpi_io( 'v_m_s', v_m_s ) 1540 IF ( humidity ) THEN 1541 CALL wrd_mpi_io( 'vpt', vpt ) 1542 IF ( ALLOCATED( vpt_av ) ) CALL wrd_mpi_io( 'vpt_av', vpt_av ) 1543 ENDIF 1544 CALL wrd_mpi_io( 'w', w) 1545 IF ( ALLOCATED( w_av ) ) CALL wrd_mpi_io( 'w_av', w_av ) 1546 IF ( ALLOCATED( w_m_l ) ) CALL wrd_mpi_io( 'w_m_l', w_m_l ) 1547 IF ( ALLOCATED( w_m_n ) ) CALL wrd_mpi_io( 'w_m_n', w_m_n ) 1548 IF ( ALLOCATED( w_m_r ) ) CALL wrd_mpi_io( 'w_m_r', w_m_r ) 1549 IF ( ALLOCATED( w_m_s ) ) CALL wrd_mpi_io( 'w_m_s', w_m_s ) 1550 IF ( ALLOCATED( z0_av ) ) CALL wrd_mpi_io( 'z0_av', z0_av ) 1551 IF ( ALLOCATED( z0h_av ) ) CALL wrd_mpi_io( 'z0h_av', z0h_av ) 1552 IF ( ALLOCATED( z0q_av ) ) CALL wrd_mpi_io( 'z0q_av', z0q_av ) 1553 IF ( land_surface .OR. urban_surface ) THEN 1554 IF ( ALLOCATED( ghf_av ) ) CALL wrd_mpi_io( 'ghf_av', ghf_av ) 1555 IF ( ALLOCATED( r_a_av ) ) CALL wrd_mpi_io( 'r_a_av', r_a_av ) 1556 ENDIF 1557 IF ( ALLOCATED( tsurf_av ) ) CALL wrd_mpi_io( 'tsurf_av', tsurf_av ) 990 1558 991 1559 ENDIF 992 993 IF ( ALLOCATED( ql_c_av ) ) THEN994 CALL wrd_write_string( 'ql_c_av' )995 WRITE ( 14 ) ql_c_av996 ENDIF997 998 IF ( ALLOCATED( ql_v_av ) ) THEN999 CALL wrd_write_string( 'ql_v_av' )1000 WRITE ( 14 ) ql_v_av1001 ENDIF1002 1003 IF ( ALLOCATED( ql_vp_av ) ) THEN1004 CALL wrd_write_string( 'ql_vp_av' )1005 WRITE ( 14 ) ql_vp_av1006 ENDIF1007 1008 IF ( ALLOCATED( qv_av ) ) THEN1009 CALL wrd_write_string( 'qv_av' )1010 WRITE ( 14 ) qv_av1011 ENDIF1012 1013 CALL wrd_write_string( 'random_iv' )1014 WRITE ( 14 ) random_iv1015 WRITE ( 14 ) random_iy1016 1017 IF ( ALLOCATED( seq_random_array ) ) THEN1018 CALL wrd_write_string( 'seq_random_array' )1019 WRITE ( 14 ) id_random_array1020 WRITE ( 14 ) seq_random_array1021 ENDIF1022 1023 IF ( ALLOCATED( s_av ) ) THEN1024 CALL wrd_write_string( 's_av' )1025 WRITE ( 14 ) s_av1026 ENDIF1027 1028 IF ( ALLOCATED( shf_av ) ) THEN1029 CALL wrd_write_string( 'shf_av' )1030 WRITE ( 14 ) shf_av1031 ENDIF1032 1033 IF ( ALLOCATED( ts_av ) ) THEN1034 CALL wrd_write_string( 'ts_av' )1035 WRITE ( 14 ) ts_av1036 ENDIF1037 1038 CALL wrd_write_string( 'u' )1039 WRITE ( 14 ) u1040 1041 IF ( ALLOCATED( u_av ) ) THEN1042 CALL wrd_write_string( 'u_av' )1043 WRITE ( 14 ) u_av1044 ENDIF1045 1046 IF ( ALLOCATED( u_m_l ) ) THEN1047 CALL wrd_write_string( 'u_m_l' )1048 WRITE ( 14 ) u_m_l1049 ENDIF1050 1051 IF ( ALLOCATED( u_m_n ) ) THEN1052 CALL wrd_write_string( 'u_m_n' )1053 WRITE ( 14 ) u_m_n1054 ENDIF1055 1056 IF ( ALLOCATED( u_m_r ) ) THEN1057 CALL wrd_write_string( 'u_m_r' )1058 WRITE ( 14 ) u_m_r1059 ENDIF1060 1061 IF ( ALLOCATED( u_m_s ) ) THEN1062 CALL wrd_write_string( 'u_m_s' )1063 WRITE ( 14 ) u_m_s1064 ENDIF1065 1066 IF ( ALLOCATED( us_av ) ) THEN1067 CALL wrd_write_string( 'us_av' )1068 WRITE ( 14 ) us_av1069 ENDIF1070 1071 CALL wrd_write_string( 'v' )1072 WRITE ( 14 ) v1073 1074 IF ( ALLOCATED( v_av ) ) THEN1075 CALL wrd_write_string( 'v_av' )1076 WRITE ( 14 ) v_av1077 ENDIF1078 1079 IF ( ALLOCATED( v_m_l ) ) THEN1080 CALL wrd_write_string( 'v_m_l' )1081 WRITE ( 14 ) v_m_l1082 ENDIF1083 1084 IF ( ALLOCATED( v_m_n ) ) THEN1085 CALL wrd_write_string( 'v_m_n' )1086 WRITE ( 14 ) v_m_n1087 ENDIF1088 1089 IF ( ALLOCATED( v_m_r ) ) THEN1090 CALL wrd_write_string( 'v_m_r' )1091 WRITE ( 14 ) v_m_r1092 ENDIF1093 1094 IF ( ALLOCATED( v_m_s ) ) THEN1095 CALL wrd_write_string( 'v_m_s' )1096 WRITE ( 14 ) v_m_s1097 ENDIF1098 1099 IF ( humidity ) THEN1100 1101 CALL wrd_write_string( 'vpt' )1102 WRITE ( 14 ) vpt1103 1104 IF ( ALLOCATED( vpt_av ) ) THEN1105 CALL wrd_write_string( 'vpt_av' )1106 WRITE ( 14 ) vpt_av1107 ENDIF1108 1109 ENDIF1110 1111 CALL wrd_write_string( 'w' )1112 WRITE ( 14 ) w1113 1114 IF ( ALLOCATED( w_av ) ) THEN1115 CALL wrd_write_string( 'w_av' )1116 WRITE ( 14 ) w_av1117 ENDIF1118 1119 IF ( ALLOCATED( w_m_l ) ) THEN1120 CALL wrd_write_string( 'w_m_l' )1121 WRITE ( 14 ) w_m_l1122 ENDIF1123 1124 IF ( ALLOCATED( w_m_n ) ) THEN1125 CALL wrd_write_string( 'w_m_n' )1126 WRITE ( 14 ) w_m_n1127 ENDIF1128 1129 IF ( ALLOCATED( w_m_r ) ) THEN1130 CALL wrd_write_string( 'w_m_r' )1131 WRITE ( 14 ) w_m_r1132 ENDIF1133 1134 IF ( ALLOCATED( w_m_s ) ) THEN1135 CALL wrd_write_string( 'w_m_s' )1136 WRITE ( 14 ) w_m_s1137 ENDIF1138 1139 IF ( ALLOCATED( z0_av ) ) THEN1140 CALL wrd_write_string( 'z0_av' )1141 WRITE ( 14 ) z0_av1142 ENDIF1143 1144 IF ( ALLOCATED( z0h_av ) ) THEN1145 CALL wrd_write_string( 'z0h_av' )1146 WRITE ( 14 ) z0h_av1147 ENDIF1148 1149 IF ( ALLOCATED( z0q_av ) ) THEN1150 CALL wrd_write_string( 'z0q_av' )1151 WRITE ( 14 ) z0q_av1152 ENDIF1153 1154 IF ( land_surface .OR. urban_surface ) THEN1155 1156 IF ( ALLOCATED( ghf_av ) ) THEN1157 CALL wrd_write_string( 'ghf_av' )1158 WRITE ( 14 ) ghf_av1159 ENDIF1160 1161 IF ( ALLOCATED( r_a_av ) ) THEN1162 CALL wrd_write_string( 'r_a_av' )1163 WRITE ( 14 ) r_a_av1164 ENDIF1165 1166 ENDIF1167 1168 IF ( ALLOCATED( tsurf_av ) ) THEN1169 CALL wrd_write_string( 'tsurf_av' )1170 WRITE ( 14 ) tsurf_av1171 ENDIF1172 1173 1560 1174 1561 CALL surface_wrd_local … … 1180 1567 ! 1181 1568 !-- Write end label 1182 CALL wrd_write_string( '*** end ***' ) 1569 IF ( restart_data_format_output == 'fortran_binary' ) THEN 1570 CALL wrd_write_string( '*** end ***' ) 1571 ENDIF 1183 1572 1184 1573 END SUBROUTINE wrd_local
Note: See TracChangeset
for help on using the changeset viewer.