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

Last change on this file since 3288 was 3274, checked in by knoop, 6 years ago

Modularization of all bulk cloud physics code components

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