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

Last change on this file since 4489 was 4489, checked in by raasch, 5 years ago

files re-formatted to follow the PALM coding standard

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