Ignore:
Timestamp:
Apr 4, 2020 10:54:08 AM (4 years ago)
Author:
raasch
Message:

files re-formatted to follow the PALM coding standard

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/write_restart_data_mod.f90

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