source: palm/trunk/SOURCE/write_restart_data_mod.f90 @ 3003

Last change on this file since 3003 was 3003, checked in by Giersch, 6 years ago

Bugfix: W* and Z_I in the first line of the run control file of restarts correspond now to the values in the last run control output line of the previous run

  • Property svn:keywords set to Id
File size: 40.0 KB
Line 
1!> @file write_restart_data_mod.f90
2!------------------------------------------------------------------------------!
3! This file is part of the PALM model system.
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/>.
16!
17! Copyright 1997-2018 Leibniz Universitaet Hannover
18!------------------------------------------------------------------------------!
19!
20! Current revisions:
21! -----------------
22!
23!
24! Former revisions:
25! -----------------
26! $Id: write_restart_data_mod.f90 3003 2018-04-23 10:22:58Z Giersch $
27! z_i is also written out to use the last known inversion height from the
28! initial run as the first inversion height which is written into the
29! run control file
30!
31! 2956 2018-04-10 11:01:03Z Giersch
32! spectrum_x and spectrum_y have been moved to global data
33!
34! 2921 2018-03-22 15:05:23Z Giersch
35! spinup_time, day_of_year_init and time_utc_init are also written out now
36!
37! 2912 2018-03-20 13:00:05Z knoop
38! Added gust module interface calls
39!
40! 2894 2018-03-15 09:17:58Z Giersch
41! Initial revision
42!
43!
44! Description:
45! ------------
46!> Writes restart data into binary file(s) for restart runs.
47!------------------------------------------------------------------------------!
48 MODULE write_restart_data_mod
49
50
51    USE control_parameters
52 
53    USE kinds     
54
55    USE pegrid,                                                                &
56        ONLY:  myid, numprocs
57     
58
59    IMPLICIT NONE
60
61
62    INTERFACE wrd_global
63       MODULE PROCEDURE wrd_global
64    END INTERFACE wrd_global
65
66    INTERFACE wrd_local
67       MODULE PROCEDURE wrd_local
68    END INTERFACE wrd_local
69
70
71    PUBLIC wrd_local, wrd_global
72
73
74 CONTAINS
75
76
77! Description:
78! ------------
79!> Global data of control variables and arrays is written out for
80!> restarts (binary format).
81!> This information is only written to the file opened by PE0.
82!------------------------------------------------------------------------------!
83    SUBROUTINE wrd_global
84
85
86       USE arrays_3d,                                                          &
87           ONLY:  inflow_damping_factor, mean_inflow_profiles, pt_init,        &
88                  q_init, ref_state, s_init, sa_init, u_init, ug, v_init, vg
89
90       USE date_and_time_mod,                                                  &
91           ONLY:  day_of_year_init, time_utc_init
92
93       USE flight_mod,                                                         &
94           ONLY:  flight_wrd_global
95
96       USE grid_variables,                                                     &
97           ONLY:  dx, dy
98
99       USE gust_mod,                                                           &
100           ONLY :  gust_module_enabled, gust_wrd_global
101
102       USE indices,                                                            &
103           ONLY:  nx, ny, nz
104
105       USE microphysics_mod,                                                   &
106           ONLY:  c_sedimentation, cloud_water_sedimentation,                  &
107                  collision_turbulence, limiter_sedimentation, nc_const,       &
108                  ventilation_effect
109
110       USE model_1d_mod,                                                       &
111           ONLY:  damp_level_1d, dt_pr_1d, dt_run_control_1d, end_time_1d
112
113       USE netcdf_interface,                                                   &
114           ONLY:  netcdf_precision, output_for_t0
115
116       USE particle_attributes,                                                &
117           ONLY:  curvature_solution_effects
118
119       USE pegrid,                                                             &
120           ONLY:  hor_index_bounds, collective_wait                               
121
122       USE radiation_model_mod,                                                &
123           ONLY:  time_radiation
124
125       USE spectra_mod,                                                        &
126           ONLY:  average_count_sp, spectrum_x, spectrum_y
127
128       USE synthetic_turbulence_generator_mod,                                 &
129           ONLY:  stg_wrd_global
130
131       USE statistics,                                                         &
132           ONLY:  statistic_regions, hom, hom_sum, u_max, u_max_ijk, v_max,    &
133                  v_max_ijk, w_max, w_max_ijk, z_i
134
135       USE user_write_restart_data_mod,                                        &
136           ONLY:  user_wrd_global 
137
138       USE vertical_nesting_mod,                                               &
139           ONLY:  vnest_init
140
141       USE wind_turbine_model_mod,                                             &
142           ONLY:  wtm_wrd_global
143     
144
145       IMPLICIT NONE
146
147       CHARACTER (LEN=10)  ::  binary_version_global   !<
148
149
150       binary_version_global = '4.7'
151
152       CALL wrd_write_string( 'binary_version_global' )
153       WRITE ( 14 )  binary_version_global
154
155       CALL wrd_write_string( 'numprocs' )
156       WRITE ( 14 )  numprocs
157
158       CALL wrd_write_string( 'hor_index_bounds' ) 
159       WRITE ( 14 )  hor_index_bounds
160
161       CALL wrd_write_string( 'nz' ) 
162       WRITE ( 14 )  nz
163
164       CALL wrd_write_string( 'max_pr_user' ) 
165       WRITE ( 14 )  max_pr_user
166
167       CALL wrd_write_string( 'statistic_regions' ) 
168       WRITE ( 14 )  statistic_regions
169
170!
171!-- Caution: After changes in the following parameter-list, the
172!-- -------  version number stored in the variable binary_version_global has to
173!--          be increased. The same changes must also be done in the parameter-
174!--          list in rrd_global.
175
176       CALL wrd_write_string( 'advected_distance_x' ) 
177       WRITE ( 14 )  advected_distance_x
178
179       CALL wrd_write_string( 'advected_distance_y' ) 
180       WRITE ( 14 )  advected_distance_y
181
182       CALL wrd_write_string( 'alpha_surface' ) 
183       WRITE ( 14 )  alpha_surface 
184
185       CALL wrd_write_string( 'average_count_pr' ) 
186       WRITE ( 14 )  average_count_pr
187
188       CALL wrd_write_string( 'average_count_sp' ) 
189       WRITE ( 14 )  average_count_sp
190
191       CALL wrd_write_string( 'average_count_3d' ) 
192       WRITE ( 14 )  average_count_3d
193
194       CALL wrd_write_string( 'bc_e_b' ) 
195       WRITE ( 14 )  bc_e_b
196
197       CALL wrd_write_string( 'bc_lr' ) 
198       WRITE ( 14 )  bc_lr
199
200       CALL wrd_write_string( 'bc_ns' ) 
201       WRITE ( 14 )  bc_ns
202
203       CALL wrd_write_string( 'bc_p_b' ) 
204       WRITE ( 14 )  bc_p_b
205
206       CALL wrd_write_string( 'bc_p_t' ) 
207       WRITE ( 14 )  bc_p_t
208
209       CALL wrd_write_string( 'bc_pt_b' ) 
210       WRITE ( 14 )  bc_pt_b
211
212       CALL wrd_write_string( 'bc_pt_t' ) 
213       WRITE ( 14 )  bc_pt_t
214
215       CALL wrd_write_string( 'bc_pt_t_val' ) 
216       WRITE ( 14 )  bc_pt_t_val
217
218       CALL wrd_write_string( 'bc_q_b' ) 
219       WRITE ( 14 )  bc_q_b
220
221       CALL wrd_write_string( 'bc_q_t' ) 
222       WRITE ( 14 )  bc_q_t
223
224       CALL wrd_write_string( 'bc_q_t_val' ) 
225       WRITE ( 14 )  bc_q_t_val
226
227       CALL wrd_write_string( 'bc_s_b' ) 
228       WRITE ( 14 )  bc_s_b
229
230       CALL wrd_write_string( 'bc_s_t' ) 
231       WRITE ( 14 )  bc_s_t
232
233       CALL wrd_write_string( 'bc_sa_t' ) 
234       WRITE ( 14 )  bc_sa_t
235
236       CALL wrd_write_string( 'bc_uv_b' ) 
237       WRITE ( 14 )  bc_uv_b
238
239       CALL wrd_write_string( 'bc_uv_t' ) 
240       WRITE ( 14 )  bc_uv_t
241
242       CALL wrd_write_string( 'bottom_salinityflux' ) 
243       WRITE ( 14 )  bottom_salinityflux
244
245       CALL wrd_write_string( 'building_height' ) 
246       WRITE ( 14 )  building_height
247
248       CALL wrd_write_string( 'building_length_x' ) 
249       WRITE ( 14 )  building_length_x
250
251       CALL wrd_write_string( 'building_length_y' ) 
252       WRITE ( 14 )  building_length_y
253
254       CALL wrd_write_string( 'building_wall_left' ) 
255       WRITE ( 14 )  building_wall_left
256
257       CALL wrd_write_string( 'building_wall_south' ) 
258       WRITE ( 14 )  building_wall_south
259
260       CALL wrd_write_string( 'c_sedimentation' ) 
261       WRITE ( 14 )  c_sedimentation
262
263       CALL wrd_write_string( 'call_psolver_at_all_substeps' ) 
264       WRITE ( 14 )  call_psolver_at_all_substeps
265
266       CALL wrd_write_string( 'canyon_height' ) 
267       WRITE ( 14 )  canyon_height 
268
269       CALL wrd_write_string( 'canyon_wall_left' ) 
270       WRITE ( 14 )  canyon_wall_left
271
272       CALL wrd_write_string( 'canyon_wall_south' ) 
273       WRITE ( 14 )  canyon_wall_south
274
275       CALL wrd_write_string( 'canyon_width_x' ) 
276       WRITE ( 14 )  canyon_width_x
277
278       CALL wrd_write_string( 'canyon_width_y' ) 
279       WRITE ( 14 )  canyon_width_y
280
281       CALL wrd_write_string( 'cfl_factor' ) 
282       WRITE ( 14 )  cfl_factor
283
284       CALL wrd_write_string( 'cloud_droplets' ) 
285       WRITE ( 14 )  cloud_droplets
286
287       CALL wrd_write_string( 'cloud_physics' ) 
288       WRITE ( 14 )  cloud_physics
289
290       CALL wrd_write_string( 'cloud_scheme' ) 
291       WRITE ( 14 )  cloud_scheme
292
293       CALL wrd_write_string( 'cloud_top_radiation' ) 
294       WRITE ( 14 )  cloud_top_radiation
295
296       CALL wrd_write_string( 'cloud_water_sedimentation' ) 
297       WRITE ( 14 )  cloud_water_sedimentation
298
299       CALL wrd_write_string( 'collective_wait' ) 
300       WRITE ( 14 )  collective_wait
301
302       CALL wrd_write_string( 'collision_turbulence' ) 
303       WRITE ( 14 )  collision_turbulence
304
305       CALL wrd_write_string( 'conserve_volume_flow' ) 
306       WRITE ( 14 )  conserve_volume_flow
307
308       CALL wrd_write_string( 'conserve_volume_flow_mode' ) 
309       WRITE ( 14 )  conserve_volume_flow_mode
310
311       CALL wrd_write_string( 'constant_flux_layer' ) 
312       WRITE ( 14 )  constant_flux_layer
313
314       CALL wrd_write_string( 'coupling_start_time' ) 
315       WRITE ( 14 )  coupling_start_time
316
317       CALL wrd_write_string( 'current_timestep_number' ) 
318       WRITE ( 14 )  current_timestep_number
319
320       CALL wrd_write_string( 'curvature_solution_effects' ) 
321       WRITE ( 14 )  curvature_solution_effects
322
323       CALL wrd_write_string( 'cycle_mg' ) 
324       WRITE ( 14 )  cycle_mg
325
326       CALL wrd_write_string( 'damp_level_1d' ) 
327       WRITE ( 14 )  damp_level_1d
328
329       CALL wrd_write_string( 'day_of_year_init' ) 
330       WRITE ( 14 )  day_of_year_init
331
332       CALL wrd_write_string( 'dissipation_1d' ) 
333       WRITE ( 14 )  dissipation_1d
334
335       CALL wrd_write_string( 'do2d_xy_time_count' ) 
336       WRITE ( 14 )  do2d_xy_time_count
337
338       CALL wrd_write_string( 'do2d_xz_time_count' ) 
339       WRITE ( 14 )  do2d_xz_time_count
340
341       CALL wrd_write_string( 'do2d_yz_time_count' ) 
342       WRITE ( 14 )  do2d_yz_time_count
343
344       CALL wrd_write_string( 'do3d_time_count' ) 
345       WRITE ( 14 )  do3d_time_count
346
347       CALL wrd_write_string( 'dp_external' ) 
348       WRITE ( 14 )  dp_external
349
350       CALL wrd_write_string( 'dp_level_b' ) 
351       WRITE ( 14 )  dp_level_b
352
353       CALL wrd_write_string( 'dp_smooth' ) 
354       WRITE ( 14 )  dp_smooth
355
356       CALL wrd_write_string( 'dpdxy' ) 
357       WRITE ( 14 )  dpdxy
358
359       CALL wrd_write_string( 'dt_3d' ) 
360       WRITE ( 14 )  dt_3d
361
362       CALL wrd_write_string( 'dt_pr_1d' ) 
363       WRITE ( 14 )  dt_pr_1d
364
365       CALL wrd_write_string( 'dt_run_control_1d' ) 
366       WRITE ( 14 )  dt_run_control_1d
367
368       CALL wrd_write_string( 'dvrp_filecount' ) 
369       WRITE ( 14 )  dvrp_filecount
370
371       CALL wrd_write_string( 'dx' ) 
372       WRITE ( 14 )  dx
373
374       CALL wrd_write_string( 'dy' ) 
375       WRITE ( 14 )  dy
376
377       CALL wrd_write_string( 'dz' ) 
378       WRITE ( 14 )  dz
379
380       CALL wrd_write_string( 'dz_max' ) 
381       WRITE ( 14 )  dz_max
382
383       CALL wrd_write_string( 'dz_stretch_factor' ) 
384       WRITE ( 14 )  dz_stretch_factor
385
386       CALL wrd_write_string( 'dz_stretch_level' ) 
387       WRITE ( 14 )  dz_stretch_level
388
389       CALL wrd_write_string( 'e_min' ) 
390       WRITE ( 14 )  e_min
391
392       CALL wrd_write_string( 'end_time_1d' ) 
393       WRITE ( 14 )  end_time_1d
394
395       CALL wrd_write_string( 'fft_method' ) 
396       WRITE ( 14 )  fft_method
397
398       CALL wrd_write_string( 'first_call_lpm' ) 
399       WRITE ( 14 )  first_call_lpm
400
401       CALL wrd_write_string( 'galilei_transformation' ) 
402       WRITE ( 14 )  galilei_transformation
403
404       CALL wrd_write_string( 'hom' ) 
405       WRITE ( 14 )  hom
406
407       CALL wrd_write_string( 'hom_sum' ) 
408       WRITE ( 14 )  hom_sum
409
410       CALL wrd_write_string( 'humidity' ) 
411       WRITE ( 14 )  humidity
412
413       IF ( ALLOCATED( inflow_damping_factor ) )  THEN
414          CALL wrd_write_string( 'inflow_damping_factor' ) 
415          WRITE ( 14 )  inflow_damping_factor
416       ENDIF
417
418       CALL wrd_write_string( 'inflow_damping_height' ) 
419       WRITE ( 14 )  inflow_damping_height
420
421       CALL wrd_write_string( 'inflow_damping_width' ) 
422       WRITE ( 14 )  inflow_damping_width
423
424       CALL wrd_write_string( 'inflow_disturbance_begin' ) 
425       WRITE ( 14 )  inflow_disturbance_begin
426
427       CALL wrd_write_string( 'inflow_disturbance_end' ) 
428       WRITE ( 14 )  inflow_disturbance_end
429
430       CALL wrd_write_string( 'km_constant' ) 
431       WRITE ( 14 )  km_constant
432
433       CALL wrd_write_string( 'large_scale_forcing' ) 
434       WRITE ( 14 )  large_scale_forcing
435
436       CALL wrd_write_string( 'large_scale_subsidence' ) 
437       WRITE ( 14 )  large_scale_subsidence
438
439       CALL wrd_write_string( 'latitude' ) 
440       WRITE ( 14 )  latitude
441
442       CALL wrd_write_string( 'limiter_sedimentation' ) 
443       WRITE ( 14 )  limiter_sedimentation
444
445       CALL wrd_write_string( 'longitude' )
446       WRITE ( 14 )  longitude 
447
448       CALL wrd_write_string( 'loop_optimization' ) 
449       WRITE ( 14 )  loop_optimization
450
451       CALL wrd_write_string( 'masking_method' ) 
452       WRITE ( 14 )  masking_method
453
454       IF ( ALLOCATED( mean_inflow_profiles ) )  THEN
455          CALL wrd_write_string( 'mean_inflow_profiles' ) 
456          WRITE ( 14 )  mean_inflow_profiles
457       ENDIF
458
459       CALL wrd_write_string( 'mg_cycles' ) 
460       WRITE ( 14 )  mg_cycles
461
462       CALL wrd_write_string( 'mg_switch_to_pe0_level' ) 
463       WRITE ( 14 )  mg_switch_to_pe0_level
464
465       CALL wrd_write_string( 'mixing_length_1d' ) 
466       WRITE ( 14 )  mixing_length_1d
467
468       CALL wrd_write_string( 'momentum_advec' ) 
469       WRITE ( 14 )  momentum_advec
470
471       CALL wrd_write_string( 'most_method' ) 
472       WRITE ( 14 )  most_method
473
474       CALL wrd_write_string( 'nc_const' ) 
475       WRITE ( 14 )  nc_const
476
477       CALL wrd_write_string( 'netcdf_precision' ) 
478       WRITE ( 14 )  netcdf_precision
479
480       CALL wrd_write_string( 'neutral' ) 
481       WRITE ( 14 )  neutral
482
483       CALL wrd_write_string( 'ngsrb' ) 
484       WRITE ( 14 )  ngsrb
485
486       CALL wrd_write_string( 'nsor' ) 
487       WRITE ( 14 )  nsor
488
489       CALL wrd_write_string( 'nsor_ini' ) 
490       WRITE ( 14 )  nsor_ini
491
492       CALL wrd_write_string( 'nudging' ) 
493       WRITE ( 14 )  nudging
494
495       CALL wrd_write_string( 'num_leg' ) 
496       WRITE ( 14 )  num_leg
497
498       CALL wrd_write_string( 'nx' ) 
499       WRITE ( 14 )  nx
500
501       CALL wrd_write_string( 'ny' ) 
502       WRITE ( 14 )  ny
503
504       CALL wrd_write_string( 'ocean' ) 
505       WRITE ( 14 )  ocean
506
507       CALL wrd_write_string( 'old_dt' ) 
508       WRITE ( 14 )  old_dt
509
510       CALL wrd_write_string( 'omega' ) 
511       WRITE ( 14 )  omega
512
513       CALL wrd_write_string( 'omega_sor' ) 
514       WRITE ( 14 )  omega_sor
515
516       CALL wrd_write_string( 'output_for_t0' ) 
517       WRITE ( 14 )  output_for_t0
518
519       CALL wrd_write_string( 'passive_scalar' ) 
520       WRITE ( 14 )  passive_scalar
521
522       CALL wrd_write_string( 'prandtl_number' ) 
523       WRITE ( 14 )  prandtl_number
524
525       CALL wrd_write_string( 'precipitation' ) 
526       WRITE ( 14 )  precipitation
527
528       CALL wrd_write_string( 'psolver' )
529       WRITE ( 14 )  psolver 
530
531       CALL wrd_write_string( 'pt_damping_factor' ) 
532       WRITE ( 14 )  pt_damping_factor
533
534       CALL wrd_write_string( 'pt_damping_width' ) 
535       WRITE ( 14 )  pt_damping_width
536
537       CALL wrd_write_string( 'pt_init' ) 
538       WRITE ( 14 )  pt_init
539
540       CALL wrd_write_string( 'pt_reference' ) 
541       WRITE ( 14 )  pt_reference
542
543       CALL wrd_write_string( 'pt_surface' ) 
544       WRITE ( 14 )  pt_surface
545
546       CALL wrd_write_string( 'pt_surface_initial_change' ) 
547       WRITE ( 14 )  pt_surface_initial_change
548
549       CALL wrd_write_string( 'pt_vertical_gradient' ) 
550       WRITE ( 14 )  pt_vertical_gradient
551
552       CALL wrd_write_string( 'pt_vertical_gradient_level' ) 
553       WRITE ( 14 )  pt_vertical_gradient_level
554
555       CALL wrd_write_string( 'pt_vertical_gradient_level_ind' ) 
556       WRITE ( 14 )  pt_vertical_gradient_level_ind
557
558       CALL wrd_write_string( 'q_init' ) 
559       WRITE ( 14 )  q_init
560
561       CALL wrd_write_string( 'q_surface' ) 
562       WRITE ( 14 )  q_surface
563
564       CALL wrd_write_string( 'q_surface_initial_change' ) 
565       WRITE ( 14 )  q_surface_initial_change
566
567       CALL wrd_write_string( 'q_vertical_gradient' ) 
568       WRITE ( 14 )  q_vertical_gradient
569
570       CALL wrd_write_string( 'q_vertical_gradient_level' ) 
571       WRITE ( 14 )  q_vertical_gradient_level
572
573       CALL wrd_write_string( 'q_vertical_gradient_level_ind' ) 
574       WRITE ( 14 )  q_vertical_gradient_level_ind
575
576       CALL wrd_write_string( 'random_generator' ) 
577       WRITE ( 14 )  random_generator
578
579       CALL wrd_write_string( 'random_heatflux' ) 
580       WRITE ( 14 )  random_heatflux
581
582       CALL wrd_write_string( 'rans_mode' ) 
583       WRITE ( 14 )  rans_mode
584
585       CALL wrd_write_string( 'rayleigh_damping_factor' ) 
586       WRITE ( 14 )  rayleigh_damping_factor
587
588       CALL wrd_write_string( 'rayleigh_damping_height' ) 
589       WRITE ( 14 )  rayleigh_damping_height
590
591       CALL wrd_write_string( 'recycling_width' ) 
592       WRITE ( 14 )  recycling_width
593
594       CALL wrd_write_string( 'recycling_yshift' ) 
595       WRITE ( 14 )  recycling_yshift
596
597       CALL wrd_write_string( 'ref_state' ) 
598       WRITE ( 14 )  ref_state
599
600       CALL wrd_write_string( 'reference_state' ) 
601       WRITE ( 14 )  reference_state
602
603       CALL wrd_write_string( 'residual_limit' ) 
604       WRITE ( 14 )  residual_limit
605
606       CALL wrd_write_string( 'roughness_length' ) 
607       WRITE ( 14 )  roughness_length
608
609       CALL wrd_write_string( 'run_coupled' ) 
610       WRITE ( 14 )  run_coupled
611
612       CALL wrd_write_string( 'runnr' ) 
613       WRITE ( 14 )  runnr
614
615       CALL wrd_write_string( 's_init' ) 
616       WRITE ( 14 )  s_init
617
618       CALL wrd_write_string( 's_surface' ) 
619       WRITE ( 14 )  s_surface
620
621       CALL wrd_write_string( 's_surface_initial_change' ) 
622       WRITE ( 14 )  s_surface_initial_change
623
624       CALL wrd_write_string( 's_vertical_gradient' ) 
625       WRITE ( 14 )  s_vertical_gradient
626
627       CALL wrd_write_string( 's_vertical_gradient_level' ) 
628       WRITE ( 14 )  s_vertical_gradient_level
629
630       CALL wrd_write_string( 's_vertical_gradient_level_ind' ) 
631       WRITE ( 14 )  s_vertical_gradient_level_ind
632
633       CALL wrd_write_string( 'sa_init' ) 
634       WRITE ( 14 )  sa_init
635
636       CALL wrd_write_string( 'sa_surface' ) 
637       WRITE ( 14 )  sa_surface
638
639       CALL wrd_write_string( 'sa_vertical_gradient' ) 
640       WRITE ( 14 )  sa_vertical_gradient
641
642       CALL wrd_write_string( 'sa_vertical_gradient_level' ) 
643       WRITE ( 14 )  sa_vertical_gradient_level
644
645       CALL wrd_write_string( 'scalar_advec' ) 
646       WRITE ( 14 )  scalar_advec
647
648       CALL wrd_write_string( 'simulated_time' ) 
649       WRITE ( 14 )  simulated_time
650
651       IF ( ALLOCATED( spectrum_x ) )  THEN
652          CALL wrd_write_string( 'spectrum_x' ) 
653          WRITE ( 14 )  spectrum_x
654          CALL wrd_write_string( 'spectrum_y' ) 
655          WRITE ( 14 )  spectrum_y
656       ENDIF
657
658       CALL wrd_write_string( 'spinup_time ' ) 
659       WRITE ( 14 )  spinup_time 
660
661       CALL wrd_write_string( 'surface_heatflux' ) 
662       WRITE ( 14 )  surface_heatflux
663
664       CALL wrd_write_string( 'surface_pressure' ) 
665       WRITE ( 14 )  surface_pressure
666
667       CALL wrd_write_string( 'surface_scalarflux' ) 
668       WRITE ( 14 )  surface_scalarflux
669
670       CALL wrd_write_string( 'surface_waterflux' ) 
671       WRITE ( 14 )  surface_waterflux
672
673       CALL wrd_write_string( 'time_coupling' ) 
674       WRITE ( 14 )  time_coupling
675
676       CALL wrd_write_string( 'time_disturb' ) 
677       WRITE ( 14 )  time_disturb
678
679       CALL wrd_write_string( 'time_do2d_xy' ) 
680       WRITE ( 14 )  time_do2d_xy
681
682       CALL wrd_write_string( 'time_do2d_xz' ) 
683       WRITE ( 14 )  time_do2d_xz
684
685       CALL wrd_write_string( 'time_do2d_yz' ) 
686       WRITE ( 14 )  time_do2d_yz
687
688       CALL wrd_write_string( 'time_do3d' ) 
689       WRITE ( 14 )  time_do3d
690
691       CALL wrd_write_string( 'time_do_av' ) 
692       WRITE ( 14 )  time_do_av
693
694       CALL wrd_write_string( 'time_do_sla' ) 
695       WRITE ( 14 )  time_do_sla
696
697       CALL wrd_write_string( 'time_domask' ) 
698       WRITE ( 14 )  time_domask
699
700       CALL wrd_write_string( 'time_dopr' ) 
701       WRITE ( 14 )  time_dopr
702
703       CALL wrd_write_string( 'time_dopr_av' ) 
704       WRITE ( 14 )  time_dopr_av
705
706       CALL wrd_write_string( 'time_dopr_listing' ) 
707       WRITE ( 14 )  time_dopr_listing
708
709       CALL wrd_write_string( 'time_dopts' ) 
710       WRITE ( 14 )  time_dopts
711
712       CALL wrd_write_string( 'time_dosp' ) 
713       WRITE ( 14 )  time_dosp
714
715       CALL wrd_write_string( 'time_dots' ) 
716       WRITE ( 14 )  time_dots
717
718       CALL wrd_write_string( 'time_dvrp' ) 
719       WRITE ( 14 )  time_dvrp
720
721       CALL wrd_write_string( 'time_radiation' ) 
722       WRITE ( 14 )  time_radiation
723
724       CALL wrd_write_string( 'time_restart' ) 
725       WRITE ( 14 )  time_restart
726
727       CALL wrd_write_string( 'time_run_control' ) 
728       WRITE ( 14 )  time_run_control
729
730       CALL wrd_write_string( 'time_since_reference_point' ) 
731       WRITE ( 14 )  time_since_reference_point
732
733       CALL wrd_write_string( 'time_utc_init' ) 
734       WRITE ( 14 )  time_utc_init
735
736       CALL wrd_write_string( 'timestep_scheme' ) 
737       WRITE ( 14 )  timestep_scheme
738
739       CALL wrd_write_string( 'top_heatflux' ) 
740       WRITE ( 14 )  top_heatflux
741
742       CALL wrd_write_string( 'top_momentumflux_u' ) 
743       WRITE ( 14 )  top_momentumflux_u
744
745       CALL wrd_write_string( 'top_momentumflux_v' ) 
746       WRITE ( 14 )  top_momentumflux_v
747
748       CALL wrd_write_string( 'top_salinityflux' ) 
749       WRITE ( 14 )  top_salinityflux
750
751       CALL wrd_write_string( 'top_scalarflux' ) 
752       WRITE ( 14 )  top_scalarflux
753
754       CALL wrd_write_string( 'topography' ) 
755       WRITE ( 14 )  topography
756
757       CALL wrd_write_string( 'topography_grid_convention' ) 
758       WRITE ( 14 )  topography_grid_convention
759
760       CALL wrd_write_string( 'tsc' ) 
761       WRITE ( 14 )  tsc
762
763       CALL wrd_write_string( 'tunnel_height' ) 
764       WRITE ( 14 )  tunnel_height
765
766       CALL wrd_write_string( 'tunnel_length' ) 
767       WRITE ( 14 )  tunnel_length
768
769       CALL wrd_write_string( 'tunnel_wall_depth' ) 
770       WRITE ( 14 )  tunnel_wall_depth
771
772       CALL wrd_write_string( 'tunnel_width_x' ) 
773       WRITE ( 14 )  tunnel_width_x
774
775       CALL wrd_write_string( 'tunnel_width_y' ) 
776       WRITE ( 14 )  tunnel_width_y
777
778       CALL wrd_write_string( 'turbulence_closure' ) 
779       WRITE ( 14 )  turbulence_closure
780
781       CALL wrd_write_string( 'turbulent_inflow' ) 
782       WRITE ( 14 )  turbulent_inflow
783
784       CALL wrd_write_string( 'u_bulk' ) 
785       WRITE ( 14 )  u_bulk
786
787       CALL wrd_write_string( 'u_init' ) 
788       WRITE ( 14 )  u_init
789
790       CALL wrd_write_string( 'u_max' ) 
791       WRITE ( 14 )  u_max
792
793       CALL wrd_write_string( 'u_max_ijk' ) 
794       WRITE ( 14 )  u_max_ijk
795
796       CALL wrd_write_string( 'ug' ) 
797       WRITE ( 14 )  ug
798
799       CALL wrd_write_string( 'ug_surface' ) 
800       WRITE ( 14 )  ug_surface
801
802       CALL wrd_write_string( 'ug_vertical_gradient' ) 
803       WRITE ( 14 )  ug_vertical_gradient
804
805       CALL wrd_write_string( 'ug_vertical_gradient_level' ) 
806       WRITE ( 14 )  ug_vertical_gradient_level
807
808       CALL wrd_write_string( 'ug_vertical_gradient_level_ind' ) 
809       WRITE ( 14 )  ug_vertical_gradient_level_ind
810
811       CALL wrd_write_string( 'use_surface_fluxes' ) 
812       WRITE ( 14 )  use_surface_fluxes
813
814       CALL wrd_write_string( 'use_top_fluxes' ) 
815       WRITE ( 14 )  use_top_fluxes
816
817       CALL wrd_write_string( 'use_ug_for_galilei_tr' ) 
818       WRITE ( 14 )  use_ug_for_galilei_tr
819
820       CALL wrd_write_string( 'use_upstream_for_tke' ) 
821       WRITE ( 14 )  use_upstream_for_tke
822
823       CALL wrd_write_string( 'v_bulk' ) 
824       WRITE ( 14 )  v_bulk
825
826       CALL wrd_write_string( 'v_init' ) 
827       WRITE ( 14 )  v_init
828
829       CALL wrd_write_string( 'v_max' ) 
830       WRITE ( 14 )  v_max
831
832       CALL wrd_write_string( 'v_max_ijk' ) 
833       WRITE ( 14 )  v_max_ijk
834
835       CALL wrd_write_string( 'ventilation_effect' ) 
836       WRITE ( 14 )  ventilation_effect
837
838       CALL wrd_write_string( 'vg' ) 
839       WRITE ( 14 )  vg
840
841       CALL wrd_write_string( 'vg_surface' ) 
842       WRITE ( 14 )  vg_surface
843
844       CALL wrd_write_string( 'vg_vertical_gradient' ) 
845       WRITE ( 14 ) vg_vertical_gradient
846
847       CALL wrd_write_string( 'vg_vertical_gradient_level' ) 
848       WRITE ( 14 )  vg_vertical_gradient_level
849
850       CALL wrd_write_string( 'vg_vertical_gradient_level_ind' ) 
851       WRITE ( 14 )  vg_vertical_gradient_level_ind
852
853       CALL wrd_write_string( 'virtual_flight' ) 
854       WRITE ( 14 )  virtual_flight
855
856       CALL wrd_write_string( 'vnest_init' ) 
857       WRITE ( 14 )  vnest_init
858
859       CALL wrd_write_string( 'volume_flow_area' ) 
860       WRITE ( 14 )  volume_flow_area
861
862       CALL wrd_write_string( 'volume_flow_initial' ) 
863       WRITE ( 14 )  volume_flow_initial
864
865       CALL wrd_write_string( 'subs_vertical_gradient' ) 
866       WRITE ( 14 )  subs_vertical_gradient
867
868       CALL wrd_write_string( 'subs_vertical_gradient_level' ) 
869       WRITE ( 14 )  subs_vertical_gradient_level
870
871       CALL wrd_write_string( 'subs_vertical_gradient_level_i' ) 
872       WRITE ( 14 )  subs_vertical_gradient_level_i
873
874       CALL wrd_write_string( 'w_max' ) 
875       WRITE ( 14 )  w_max
876
877       CALL wrd_write_string( 'w_max_ijk' ) 
878       WRITE ( 14 )  w_max_ijk
879
880       CALL wrd_write_string( 'wall_adjustment' ) 
881       WRITE ( 14 )  wall_adjustment
882
883       CALL wrd_write_string( 'wall_heatflux' ) 
884       WRITE ( 14 )  wall_heatflux
885
886       CALL wrd_write_string( 'wall_humidityflux' ) 
887       WRITE ( 14 )  wall_humidityflux
888
889       CALL wrd_write_string( 'wall_salinityflux' ) 
890       WRITE ( 14 )  wall_salinityflux
891
892       CALL wrd_write_string( 'wall_scalarflux' ) 
893       WRITE ( 14 )  wall_scalarflux
894
895       CALL wrd_write_string( 'y_shift' ) 
896       WRITE ( 14 )  y_shift
897
898       CALL wrd_write_string( 'z0h_factor' ) 
899       WRITE ( 14 )  z0h_factor
900
901       CALL wrd_write_string( 'zeta_max' ) 
902       WRITE ( 14 )  zeta_max
903
904       CALL wrd_write_string( 'zeta_min' ) 
905       WRITE ( 14 )  zeta_min
906
907       CALL wrd_write_string( 'z_i' ) 
908       WRITE ( 14 )  z_i
909
910
911!   
912!-- The order of the calls can be different as in read_restart_data_mod where
913!-- the restart data will be read
914!
915!-- If required, write restart data for wind turbine model.
916       IF ( wind_turbine )  CALL wtm_wrd_global
917
918!
919!-- If required, write restart data for virtual measurements.
920       IF ( virtual_flight )  CALL flight_wrd_global
921
922!
923!-- If required, write restart data for turbulence generator.
924       IF ( syn_turb_gen )  CALL stg_wrd_global
925
926!
927!-- If required, write restart data for gust module.
928       IF ( gust_module_enabled )  CALL gust_wrd_global
929
930!
931!-- Write restart data for user data.
932       CALL user_wrd_global
933
934
935    END SUBROUTINE wrd_global
936
937
938!------------------------------------------------------------------------------!
939! Description:
940! ------------
941!> Processor specific data of variables and arrays is written out for
942!> restarts (binary format).
943!> This information is written to the file opened by each PE.
944!------------------------------------------------------------------------------!
945    SUBROUTINE wrd_local
946 
947
948       USE arrays_3d,                                                          &
949           ONLY:  e, kh, km, p, pt, q, ql, qc, nc, nr, prr,                    &
950                  precipitation_amount, qr, s, sa, u, u_m_l, u_m_n, u_m_r,     &
951                  u_m_s, v, v_m_l, v_m_n, v_m_r, v_m_s, vpt, w, w_m_l, w_m_n,  &
952                  w_m_r, w_m_s
953       
954       USE averaging
955
956       USE chemistry_model_mod,                                                &
957           ONLY:  chem_wrd_local
958
959       USE gust_mod,                                                           &
960           ONLY :  gust_module_enabled, gust_wrd_local
961               
962       USE indices,                                                            &
963           ONLY:  nxl, nxr, nys, nyn, nzb, nzt
964
965       USE land_surface_model_mod,                                             &
966           ONLY:  lsm_wrd_local
967       
968       USE particle_attributes,                                                &
969           ONLY:  iran_part
970
971       USE radiation_model_mod,                                                &
972           ONLY:  radiation, radiation_wrd_local
973   
974       USE random_function_mod,                                                &
975           ONLY:  random_iv, random_iy
976
977       USE random_generator_parallel,                                          &
978           ONLY:  id_random_array, seq_random_array
979
980       USE surface_mod,                                                        &
981           ONLY :  surface_wrd_local
982
983       USE urban_surface_mod,                                                  &
984           ONLY:  usm_wrd_local   
985
986       USE user_write_restart_data_mod,                                        &
987           ONLY:  user_wrd_local 
988
989
990       IMPLICIT NONE
991
992       CHARACTER (LEN=10) ::  binary_version_local   !<
993
994
995!
996!-- Write arrays.
997       binary_version_local = '4.7'
998
999       CALL wrd_write_string( 'binary_version_local' )
1000       WRITE ( 14 )  binary_version_local
1001
1002       WRITE ( 14 )  numprocs, myid, nxl, nxr, nys, nyn, nzb, nzt
1003
1004!
1005!-- Attention: After changes to the following output commands the version number
1006!-- ---------  of the variable binary_version_local must be changed!
1007!--            Also, the list of arrays to be read in rrd_local must be
1008!--            adjusted accordingly.
1009       CALL wrd_write_string( 'e' ) 
1010       WRITE ( 14 )  e
1011
1012       IF ( ALLOCATED( e_av ) )  THEN
1013          CALL wrd_write_string( 'e_av' ) 
1014          WRITE ( 14 )  e_av
1015       ENDIF
1016
1017       CALL wrd_write_string( 'iran' ) 
1018       WRITE ( 14 )  iran, iran_part 
1019
1020       CALL wrd_write_string( 'kh' ) 
1021       WRITE ( 14 )  kh
1022 
1023
1024       IF ( ALLOCATED( kh_av ) )  THEN
1025          CALL wrd_write_string( 'kh_av' ) 
1026          WRITE ( 14 )  kh_av
1027       ENDIF
1028
1029       CALL wrd_write_string( 'km' ) 
1030       WRITE ( 14 )  km
1031
1032       IF ( ALLOCATED( km_av ) )  THEN
1033          CALL wrd_write_string( 'km_av' ) 
1034          WRITE ( 14 )  km_av
1035       ENDIF
1036
1037       IF ( ALLOCATED( lpt_av ) )  THEN
1038          CALL wrd_write_string( 'lpt_av' ) 
1039          WRITE ( 14 )  lpt_av
1040       ENDIF
1041
1042       IF ( ALLOCATED( lwp_av ) )  THEN
1043          CALL wrd_write_string( 'lwp_av' ) 
1044          WRITE ( 14 )  lwp_av
1045       ENDIF
1046
1047       CALL wrd_write_string( 'p' ) 
1048       WRITE ( 14 )  p
1049
1050       IF ( ALLOCATED( p_av ) )  THEN
1051          CALL wrd_write_string( 'p_av' ) 
1052          WRITE ( 14 )  p_av
1053       ENDIF
1054
1055       IF ( ALLOCATED( pc_av ) )  THEN
1056          CALL wrd_write_string( 'pc_av' ) 
1057          WRITE ( 14 )  pc_av
1058       ENDIF
1059
1060       IF ( ALLOCATED( pr_av ) )  THEN
1061          CALL wrd_write_string( 'pr_av' ) 
1062          WRITE ( 14 )  pr_av
1063       ENDIF
1064
1065       IF ( ALLOCATED( prr ) )  THEN
1066          CALL wrd_write_string( 'prr' ) 
1067          WRITE ( 14 )  prr
1068       ENDIF
1069
1070       IF ( ALLOCATED( prr_av ) )  THEN
1071          CALL wrd_write_string( 'prr_av' ) 
1072          WRITE ( 14 )  prr_av
1073       ENDIF
1074
1075       IF ( ALLOCATED( precipitation_amount ) )  THEN
1076          CALL wrd_write_string( 'precipitation_amount' ) 
1077          WRITE ( 14 )  precipitation_amount
1078       ENDIF
1079
1080       IF ( ALLOCATED( precipitation_rate_av ) )  THEN
1081          CALL wrd_write_string( 'precipitation_rate_av' ) 
1082          WRITE ( 14 )  precipitation_rate_av
1083       ENDIF
1084
1085       CALL wrd_write_string( 'pt' ) 
1086       WRITE ( 14 )  pt
1087
1088       IF ( ALLOCATED( pt_av ) )  THEN
1089          CALL wrd_write_string( 'pt_av' ) 
1090          WRITE ( 14 )  pt_av
1091       ENDIF
1092
1093       IF ( humidity )  THEN
1094
1095          CALL wrd_write_string( 'q' ) 
1096          WRITE ( 14 )  q
1097
1098          IF ( ALLOCATED( q_av ) )  THEN
1099             CALL wrd_write_string( 'q_av' ) 
1100             WRITE ( 14 )  q_av
1101          ENDIF
1102
1103          IF ( cloud_physics  .OR.  cloud_droplets )  THEN
1104
1105             CALL wrd_write_string( 'ql' ) 
1106             WRITE ( 14 )  ql
1107
1108             IF ( ALLOCATED( ql_av ) )  THEN
1109                CALL wrd_write_string( 'ql_av' ) 
1110                WRITE ( 14 )  ql_av
1111             ENDIF
1112
1113             IF ( .NOT. cloud_droplets )  THEN
1114
1115                CALL wrd_write_string( 'qc' ) 
1116                WRITE ( 14 )  qc
1117
1118                IF ( ALLOCATED( qc_av ) )  THEN
1119                   CALL wrd_write_string( 'qc_av' ) 
1120                   WRITE ( 14 )  qc_av
1121                ENDIF
1122
1123                IF ( microphysics_morrison )  THEN
1124
1125                   CALL wrd_write_string( 'nc' ) 
1126                   WRITE ( 14 )  nc
1127
1128                   IF ( ALLOCATED( nc_av ) )  THEN
1129                      CALL wrd_write_string( 'nc_av' ) 
1130                      WRITE ( 14 )  nc_av
1131                   ENDIF
1132
1133                ENDIF
1134
1135                IF ( microphysics_seifert )  THEN
1136
1137                   CALL wrd_write_string( 'nr' ) 
1138                   WRITE ( 14 )  nr
1139
1140                   IF ( ALLOCATED( nr_av ) )  THEN
1141                      CALL wrd_write_string( 'nr_av' ) 
1142                      WRITE ( 14 )  nr_av
1143                   ENDIF
1144
1145                   CALL wrd_write_string( 'qr' ) 
1146                   WRITE ( 14 )  qr
1147
1148                   IF ( ALLOCATED( qr_av ) )  THEN
1149                      CALL wrd_write_string( 'qr_av' ) 
1150                      WRITE ( 14 )  qr_av
1151                   ENDIF
1152
1153                ENDIF
1154             ENDIF
1155          ENDIF
1156
1157          IF ( ALLOCATED( qsws_av ) )  THEN
1158             CALL wrd_write_string( 'qsws_av' ) 
1159             WRITE ( 14 )  qsws_av
1160          ENDIF
1161
1162       ENDIF
1163
1164       IF ( passive_scalar )  THEN
1165
1166          CALL wrd_write_string( 's' ) 
1167          WRITE ( 14 )  s
1168
1169          IF ( ALLOCATED( s_av ) )  THEN
1170             CALL wrd_write_string( 's_av' ) 
1171             WRITE ( 14 )  s_av
1172          ENDIF
1173
1174          IF ( ALLOCATED( ssws_av ) )  THEN
1175             CALL wrd_write_string( 'ssws_av' ) 
1176             WRITE ( 14 )  ssws_av
1177          ENDIF
1178
1179       ENDIF
1180       
1181       IF ( ocean )  THEN
1182
1183          IF ( ALLOCATED( rho_ocean_av ) )  THEN
1184             CALL wrd_write_string( 'rho_ocean_av' ) 
1185             WRITE ( 14 )  rho_ocean_av
1186          ENDIF
1187
1188          CALL wrd_write_string( 'sa' ) 
1189          WRITE ( 14 )  sa
1190
1191          IF ( ALLOCATED( sa_av ) )  THEN
1192             CALL wrd_write_string( 'sa_av' ) 
1193             WRITE ( 14 )  sa_av
1194          ENDIF
1195
1196       ENDIF
1197
1198       IF ( ALLOCATED( ql_c_av ) )  THEN
1199          CALL wrd_write_string( 'ql_c_av' ) 
1200          WRITE ( 14 )  ql_c_av
1201       ENDIF
1202
1203       IF ( ALLOCATED( ql_v_av ) )  THEN
1204          CALL wrd_write_string( 'ql_v_av' ) 
1205          WRITE ( 14 )  ql_v_av
1206       ENDIF
1207
1208       IF ( ALLOCATED( ql_vp_av ) )  THEN
1209          CALL wrd_write_string( 'ql_vp_av' ) 
1210          WRITE ( 14 )  ql_vp_av
1211       ENDIF
1212
1213       IF ( ALLOCATED( qv_av ) )  THEN
1214          CALL wrd_write_string( 'qv_av' ) 
1215          WRITE ( 14 )  qv_av
1216       ENDIF
1217
1218       CALL wrd_write_string( 'random_iv' ) 
1219       WRITE ( 14 )  random_iv
1220       WRITE ( 14 )  random_iy
1221
1222       IF ( ALLOCATED( seq_random_array ) )  THEN
1223          CALL wrd_write_string( 'seq_random_array' ) 
1224          WRITE ( 14 )  id_random_array
1225          WRITE ( 14 )  seq_random_array 
1226       ENDIF
1227
1228       IF ( ALLOCATED( s_av ) )  THEN
1229          CALL wrd_write_string( 's_av' ) 
1230          WRITE ( 14 )  s_av
1231       ENDIF
1232
1233       IF ( ALLOCATED( shf_av ) )  THEN
1234          CALL wrd_write_string( 'shf_av' ) 
1235          WRITE ( 14 )  shf_av
1236       ENDIF
1237
1238       IF ( ALLOCATED( ts_av ) )  THEN
1239          CALL wrd_write_string( 'ts_av' ) 
1240          WRITE ( 14 ) ts_av
1241       ENDIF
1242
1243       CALL wrd_write_string( 'u' ) 
1244       WRITE ( 14 )  u
1245
1246       IF ( ALLOCATED( u_av ) )  THEN
1247          CALL wrd_write_string( 'u_av' ) 
1248          WRITE ( 14 )  u_av
1249       ENDIF
1250
1251       IF ( ALLOCATED( u_m_l ) )  THEN
1252          CALL wrd_write_string( 'u_m_l' ) 
1253          WRITE ( 14 )  u_m_l
1254       ENDIF
1255
1256       IF ( ALLOCATED( u_m_n ) )  THEN
1257          CALL wrd_write_string( 'u_m_n' ) 
1258          WRITE ( 14 )  u_m_n
1259       ENDIF
1260
1261       IF ( ALLOCATED( u_m_r ) )  THEN
1262          CALL wrd_write_string( 'u_m_r' ) 
1263          WRITE ( 14 )  u_m_r
1264       ENDIF
1265
1266       IF ( ALLOCATED( u_m_s ) )  THEN
1267          CALL wrd_write_string( 'u_m_s' ) 
1268          WRITE ( 14 )  u_m_s
1269       ENDIF
1270
1271       IF ( ALLOCATED( us_av ) )  THEN
1272          CALL wrd_write_string( 'us_av' ) 
1273          WRITE ( 14 )  us_av
1274       ENDIF
1275
1276       CALL wrd_write_string( 'v' ) 
1277       WRITE ( 14 )  v
1278
1279       IF ( ALLOCATED( v_av ) )  THEN
1280          CALL wrd_write_string( 'v_av' ) 
1281          WRITE ( 14 )  v_av
1282       ENDIF
1283
1284       IF ( ALLOCATED( v_m_l  ) )  THEN
1285          CALL wrd_write_string( 'v_m_l' ) 
1286          WRITE ( 14 )  v_m_l
1287       ENDIF
1288
1289       IF ( ALLOCATED( v_m_n ) )  THEN
1290          CALL wrd_write_string( 'v_m_n' ) 
1291          WRITE ( 14 )  v_m_n
1292       ENDIF
1293
1294       IF ( ALLOCATED( v_m_r ) )  THEN
1295          CALL wrd_write_string( 'v_m_r' ) 
1296          WRITE ( 14 )  v_m_r
1297       ENDIF
1298
1299       IF ( ALLOCATED( v_m_s ) )  THEN
1300          CALL wrd_write_string( 'v_m_s' ) 
1301          WRITE ( 14 )  v_m_s
1302       ENDIF
1303
1304       IF ( humidity )  THEN
1305
1306          CALL wrd_write_string( 'vpt' ) 
1307          WRITE ( 14 )  vpt
1308
1309          IF ( ALLOCATED( vpt_av ) )  THEN
1310             CALL wrd_write_string( 'vpt_av' ) 
1311             WRITE ( 14 ) vpt_av
1312          ENDIF
1313
1314       ENDIF
1315
1316       CALL wrd_write_string( 'w' ) 
1317       WRITE ( 14 )  w
1318
1319       IF ( ALLOCATED( w_av ) )  THEN
1320          CALL wrd_write_string( 'w_av' ) 
1321          WRITE ( 14 )  w_av
1322       ENDIF
1323
1324       IF ( ALLOCATED( w_m_l ) )  THEN
1325          CALL wrd_write_string( 'w_m_l' ) 
1326          WRITE ( 14 )  w_m_l
1327       ENDIF
1328
1329       IF ( ALLOCATED( w_m_n ) )  THEN
1330          CALL wrd_write_string( 'w_m_n' ) 
1331          WRITE ( 14 )  w_m_n
1332       ENDIF
1333
1334       IF ( ALLOCATED( w_m_r ) )  THEN
1335          CALL wrd_write_string( 'w_m_r' ) 
1336          WRITE ( 14 )  w_m_r
1337       ENDIF
1338
1339       IF ( ALLOCATED( w_m_s ) )  THEN
1340          CALL wrd_write_string( 'w_m_s' ) 
1341          WRITE ( 14 )  w_m_s
1342       ENDIF
1343
1344       IF ( ALLOCATED( z0_av ) )  THEN
1345          CALL wrd_write_string( 'z0_av' ) 
1346          WRITE ( 14 )  z0_av
1347       ENDIF
1348
1349       IF ( ALLOCATED( z0h_av ) )  THEN
1350          CALL wrd_write_string( 'z0h_av' ) 
1351          WRITE ( 14 )  z0h_av
1352       ENDIF
1353
1354       IF ( ALLOCATED( z0q_av ) )  THEN
1355          CALL wrd_write_string( 'z0q_av' ) 
1356          WRITE ( 14 )  z0q_av
1357       ENDIF
1358
1359       IF ( land_surface  .OR.  urban_surface )  THEN
1360
1361          IF ( ALLOCATED( ghf_av ) )  THEN
1362             CALL wrd_write_string( 'ghf_av' ) 
1363             WRITE ( 14 )  ghf_av
1364          ENDIF
1365
1366          IF ( ALLOCATED( r_a_av ) )  THEN
1367             CALL wrd_write_string( 'r_a_av' ) 
1368             WRITE ( 14 )  r_a_av
1369          ENDIF
1370
1371       ENDIF
1372
1373       IF ( ALLOCATED( tsurf_av ) )  THEN
1374          CALL wrd_write_string( 'tsurf_av' ) 
1375          WRITE ( 14 )  tsurf_av
1376       ENDIF
1377
1378!
1379!-- Write surface-related restart data.
1380       CALL surface_wrd_local
1381
1382!
1383!-- If required, write restart data for urban surface model.
1384       IF ( urban_surface )  THEN
1385          CALL usm_wrd_local
1386       ENDIF
1387
1388!
1389!-- If required, write restart data for land surface model.
1390       IF ( land_surface )  THEN
1391          CALL lsm_wrd_local
1392       ENDIF
1393
1394!
1395!-- If required, write restart data for radiation model.
1396       IF ( radiation )  THEN
1397          CALL radiation_wrd_local
1398       ENDIF
1399
1400!
1401!-- If required, write restart data for chemistry model.
1402       IF ( air_chemistry )  THEN
1403          CALL chem_wrd_local
1404       ENDIF
1405
1406!
1407!-- If required, write restart data for gust module.
1408       IF ( gust_module_enabled )  THEN
1409          CALL gust_wrd_local
1410       ENDIF
1411
1412!
1413!-- Write user-related restart data.
1414       CALL user_wrd_local
1415
1416!--    Write end label.
1417       CALL wrd_write_string( '*** end ***' )
1418
1419    END SUBROUTINE wrd_local
1420
1421
1422 END MODULE write_restart_data_mod
Note: See TracBrowser for help on using the repository browser.