source: palm/trunk/SOURCE/header.f90 @ 1789

Last change on this file since 1789 was 1789, checked in by maronga, 8 years ago

last commit documented

  • Property svn:keywords set to Id
File size: 94.6 KB
RevLine 
[1682]1!> @file header.f90
[1036]2!--------------------------------------------------------------------------------!
3! This file is part of PALM.
4!
5! PALM is free software: you can redistribute it and/or modify it under the terms
6! of the GNU General Public License as published by the Free Software Foundation,
7! either version 3 of the License, or (at your option) any later version.
8!
9! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
10! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
11! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
12!
13! You should have received a copy of the GNU General Public License along with
14! PALM. If not, see <http://www.gnu.org/licenses/>.
15!
[1691]16! Copyright 1997-2015 Leibniz Universitaet Hannover
[1036]17!--------------------------------------------------------------------------------!
18!
[254]19! Current revisions:
[1]20! -----------------
[1789]21!
22!
[1485]23! Former revisions:
24! -----------------
25! $Id: header.f90 1789 2016-03-10 11:02:40Z maronga $
26!
[1789]27! 1788 2016-03-10 11:01:04Z maronga
28! Parameter dewfall removed
29!
[1787]30! 1786 2016-03-08 05:49:27Z raasch
31! cpp-direktives for spectra removed
32!
[1784]33! 1783 2016-03-06 18:36:17Z raasch
34! netcdf module and variable names changed, output of netcdf_deflate
35!
[1765]36! 1764 2016-02-28 12:45:19Z raasch
37! output of nesting informations
38!
[1698]39! 1697 2015-10-28 17:14:10Z raasch
40! small E- and F-FORMAT changes to avoid informative compiler messages about
41! insufficient field width
42!
[1692]43! 1691 2015-10-26 16:17:44Z maronga
44! Renamed prandtl_layer to constant_flux_layer, renames rif_min/rif_max to
45! zeta_min/zeta_max.
46!
[1683]47! 1682 2015-10-07 23:56:08Z knoop
48! Code annotations made doxygen readable
49!
[1676]50! 1675 2015-10-02 08:28:59Z gronemeier
51! Bugfix: Definition of topography grid levels
52!
[1662]53! 1660 2015-09-21 08:15:16Z gronemeier
54! Bugfix: Definition of building/street canyon height if vertical grid stretching
55!         starts below the maximum topography height.
56!
[1591]57! 1590 2015-05-08 13:56:27Z maronga
58! Bugfix: Added TRIM statements for character strings for LSM and radiation code
59!
[1586]60! 1585 2015-04-30 07:05:52Z maronga
61! Further output for radiation model(s).
62!
[1576]63! 1575 2015-03-27 09:56:27Z raasch
64! adjustments for psolver-queries, output of seed_follows_topography
65!
[1561]66! 1560 2015-03-06 10:48:54Z keck
67! output for recycling y shift
68!
[1558]69! 1557 2015-03-05 16:43:04Z suehring
70! output for monotonic limiter
71!
[1552]72! 1551 2015-03-03 14:18:16Z maronga
73! Added informal output for land surface model and radiation model. Removed typo.
74!
[1497]75! 1496 2014-12-02 17:25:50Z maronga
76! Renamed: "radiation -> "cloud_top_radiation"
77!
[1485]78! 1484 2014-10-21 10:53:05Z kanani
[1484]79! Changes due to new module structure of the plant canopy model:
80!   module plant_canopy_model_mod and output for new canopy model parameters
81!   (alpha_lad, beta_lad, lai_beta,...) added,
82!   drag_coefficient, leaf_surface_concentration and scalar_exchange_coefficient
83!   renamed to canopy_drag_coeff, leaf_surface_conc and leaf_scalar_exch_coeff,
84!   learde renamed leaf_area_density.
85! Bugfix: DO-WHILE-loop for lad header information additionally restricted
86! by maximum number of gradient levels (currently 10)
[1483]87!
88! 1482 2014-10-18 12:34:45Z raasch
89! information about calculated or predefined virtual processor topology adjusted
90!
[1469]91! 1468 2014-09-24 14:06:57Z maronga
92! Adapted for use on up to 6-digit processor cores
93!
[1430]94! 1429 2014-07-15 12:53:45Z knoop
95! header exended to provide ensemble_member_nr if specified
96!
[1377]97! 1376 2014-04-26 11:21:22Z boeske
98! Correction of typos
99!
[1366]100! 1365 2014-04-22 15:03:56Z boeske
101! New section 'Large scale forcing and nudging':
102! output of large scale forcing and nudging information,
103! new section for initial profiles created
104!
[1360]105! 1359 2014-04-11 17:15:14Z hoffmann
106! dt_sort_particles removed
107!
[1354]108! 1353 2014-04-08 15:21:23Z heinze
109! REAL constants provided with KIND-attribute
110!
[1329]111! 1327 2014-03-21 11:00:16Z raasch
112! parts concerning iso2d and avs output removed,
113! -netcdf output queries
114!
[1325]115! 1324 2014-03-21 09:13:16Z suehring
116! Bugfix: module spectrum added
117!
[1323]118! 1322 2014-03-20 16:38:49Z raasch
119! REAL functions provided with KIND-attribute,
120! some REAL constants defined as wp-kind
121!
[1321]122! 1320 2014-03-20 08:40:49Z raasch
[1320]123! ONLY-attribute added to USE-statements,
124! kind-parameters added to all INTEGER and REAL declaration statements,
125! kinds are defined in new module kinds,
126! revision history before 2012 removed,
127! comment fields (!:) to be used for variable explanations added to
128! all variable declaration statements
[1321]129!
[1309]130! 1308 2014-03-13 14:58:42Z fricke
131! output of the fixed number of output time levels
132! output_format adjusted for masked data if netcdf_data_format > 5
133!
[1300]134! 1299 2014-03-06 13:15:21Z heinze
135! output for using large_scale subsidence in combination
136! with large_scale_forcing
137! reformatting, more detailed explanations
138!
[1242]139! 1241 2013-10-30 11:36:58Z heinze
140! output for nudging + large scale forcing from external file
141!
[1217]142! 1216 2013-08-26 09:31:42Z raasch
143! output for transpose_compute_overlap
144!
[1213]145! 1212 2013-08-15 08:46:27Z raasch
146! output for poisfft_hybrid removed
147!
[1182]148! 1179 2013-06-14 05:57:58Z raasch
149! output of reference_state, use_reference renamed use_single_reference_value
150!
[1160]151! 1159 2013-05-21 11:58:22Z fricke
152! +use_cmax
153!
[1116]154! 1115 2013-03-26 18:16:16Z hoffmann
155! descriptions for Seifert-Beheng-cloud-physics-scheme added
156!
[1112]157! 1111 2013-03-08 23:54:10Z raasch
158! output of accelerator board information
159! ibc_p_b = 2 removed
160!
[1109]161! 1108 2013-03-05 07:03:32Z raasch
162! bugfix for r1106
163!
[1107]164! 1106 2013-03-04 05:31:38Z raasch
165! some format changes for coupled runs
166!
[1093]167! 1092 2013-02-02 11:24:22Z raasch
168! unused variables removed
169!
[1037]170! 1036 2012-10-22 13:43:42Z raasch
171! code put under GPL (PALM 3.9)
172!
[1035]173! 1031 2012-10-19 14:35:30Z raasch
174! output of netCDF data format modified
175!
[1017]176! 1015 2012-09-27 09:23:24Z raasch
[1365]177! output of Adjustment of mixing length to the Prandtl mixing length at first
[1017]178! grid point above ground removed
179!
[1004]180! 1003 2012-09-14 14:35:53Z raasch
181! output of information about equal/unequal subdomain size removed
182!
[1002]183! 1001 2012-09-13 14:08:46Z raasch
184! all actions concerning leapfrog- and upstream-spline-scheme removed
185!
[979]186! 978 2012-08-09 08:28:32Z fricke
187! -km_damp_max, outflow_damping_width
188! +pt_damping_factor, pt_damping_width
189! +z0h
190!
[965]191! 964 2012-07-26 09:14:24Z raasch
192! output of profil-related quantities removed
193!
[941]194! 940 2012-07-09 14:31:00Z raasch
195! Output in case of simulations for pure neutral stratification (no pt-equation
196! solved)
197!
[928]198! 927 2012-06-06 19:15:04Z raasch
199! output of masking_method for mg-solver
200!
[869]201! 868 2012-03-28 12:21:07Z raasch
202! translation velocity in Galilean transformation changed to 0.6 * ug
203!
[834]204! 833 2012-02-22 08:55:55Z maronga
205! Adjusted format for leaf area density
206!
[829]207! 828 2012-02-21 12:00:36Z raasch
208! output of dissipation_classes + radius_classes
209!
[826]210! 825 2012-02-19 03:03:44Z raasch
211! Output of cloud physics parameters/quantities complemented and restructured
212!
[1]213! Revision 1.1  1997/08/11 06:17:20  raasch
214! Initial revision
215!
216!
217! Description:
218! ------------
[1764]219!> Writing a header with all important information about the current run.
[1682]220!> This subroutine is called three times, two times at the beginning
221!> (writing information on files RUN_CONTROL and HEADER) and one time at the
222!> end of the run, then writing additional information about CPU-usage on file
223!> header.
[411]224!-----------------------------------------------------------------------------!
[1682]225 SUBROUTINE header
226 
[1]227
[1320]228    USE arrays_3d,                                                             &
[1660]229        ONLY:  pt_init, qsws, q_init, sa_init, shf, ug, vg, w_subs, zu, zw
[1320]230       
[1]231    USE control_parameters
[1320]232       
233    USE cloud_parameters,                                                      &
234        ONLY:  cp, curvature_solution_effects, c_sedimentation,                &
235               limiter_sedimentation, l_v, nc_const, r_d, ventilation_effect
236       
237    USE cpulog,                                                                &
238        ONLY:  log_point_s
239       
240    USE dvrp_variables,                                                        &
241        ONLY:  use_seperate_pe_for_dvrp_output
242       
243    USE grid_variables,                                                        &
244        ONLY:  dx, dy
245       
246    USE indices,                                                               &
247        ONLY:  mg_loc_ind, nnx, nny, nnz, nx, ny, nxl_mg, nxr_mg, nyn_mg,      &
248               nys_mg, nzt, nzt_mg
249       
250    USE kinds
[1551]251   
252    USE land_surface_model_mod,                                                &
[1788]253        ONLY:  conserve_water_content, land_surface, nzb_soil,                 &
[1551]254               nzt_soil, root_fraction, soil_moisture, soil_temperature,       &
255               soil_type, soil_type_name, veg_type, veg_type_name, zs
256 
[1320]257    USE model_1d,                                                              &
258        ONLY:  damp_level_ind_1d, dt_pr_1d, dt_run_control_1d, end_time_1d
259       
[1783]260    USE netcdf_interface,                                                      &
261        ONLY:  netcdf_data_format, netcdf_data_format_string, netcdf_deflate
262
[1320]263    USE particle_attributes,                                                   &
264        ONLY:  bc_par_b, bc_par_lr, bc_par_ns, bc_par_t, collision_kernel,     &
265               density_ratio, dissipation_classes, dt_min_part, dt_prel,       &
[1359]266               dt_write_particle_data, end_time_prel,                          &
[1320]267               maximum_number_of_tailpoints, maximum_tailpoint_age,            &
268               minimum_tailpoint_distance, number_of_particle_groups,          &
269               particle_advection, particle_advection_start,                   &
270               particles_per_point, pdx, pdy, pdz,  psb, psl, psn, psr, pss,   &
271               pst, radius, radius_classes, random_start_position,             &
[1575]272               seed_follows_topography,                                        &
[1320]273               total_number_of_particles, use_particle_tails,                  &
274               use_sgs_for_particles, total_number_of_tails,                   &
275               vertical_particle_advection, write_particle_statistics
276       
[1]277    USE pegrid
[1484]278
279    USE plant_canopy_model_mod,                                                &
280        ONLY:  alpha_lad, beta_lad, calc_beta_lad_profile, canopy_drag_coeff,  &
281               canopy_mode, cthf, lad, lad_surface, lad_vertical_gradient,     &
282               lad_vertical_gradient_level, lad_vertical_gradient_level_ind,   &
283               lai_beta, leaf_scalar_exch_coeff, leaf_surface_conc, pch_index, &
284               plant_canopy
[1551]285
[1764]286    USE pmc_interface,                                                         &
287        ONLY:  cpl_id, cpl_parent_id, cpl_name, lower_left_coord_x,            &
288               lower_left_coord_y, nested_run, nesting_mode
289
[1551]290    USE radiation_model_mod,                                                   &
[1585]291        ONLY:  albedo, albedo_type, albedo_type_name, constant_albedo,         &
292               day_init, dt_radiation, lambda, lw_radiation, net_radiation,    &
293               radiation, radiation_scheme, sw_radiation, time_utc_init
[1324]294   
295    USE spectrum,                                                              &
296        ONLY:  comp_spectra_level, data_output_sp, plot_spectra_level,         &
297               spectra_direction
[1]298
299    IMPLICIT NONE
300
[1682]301    CHARACTER (LEN=1)  ::  prec                !<
[1320]302   
[1682]303    CHARACTER (LEN=2)  ::  do2d_mode           !<
[1320]304   
[1682]305    CHARACTER (LEN=5)  ::  section_chr         !<
[1320]306   
[1682]307    CHARACTER (LEN=10) ::  coor_chr            !<
308    CHARACTER (LEN=10) ::  host_chr            !<
[1320]309   
[1682]310    CHARACTER (LEN=16) ::  begin_chr           !<
[1320]311   
[1682]312    CHARACTER (LEN=26) ::  ver_rev             !<
[1320]313   
[1682]314    CHARACTER (LEN=40) ::  output_format       !<
[1320]315   
[1682]316    CHARACTER (LEN=70) ::  char1               !<
317    CHARACTER (LEN=70) ::  char2               !<
318    CHARACTER (LEN=70) ::  dopr_chr            !<
319    CHARACTER (LEN=70) ::  do2d_xy             !<
320    CHARACTER (LEN=70) ::  do2d_xz             !<
321    CHARACTER (LEN=70) ::  do2d_yz             !<
322    CHARACTER (LEN=70) ::  do3d_chr            !<
323    CHARACTER (LEN=70) ::  domask_chr          !<
324    CHARACTER (LEN=70) ::  run_classification  !<
[1320]325   
[1682]326    CHARACTER (LEN=85) ::  roben               !<
327    CHARACTER (LEN=85) ::  runten              !<
[1320]328   
[1682]329    CHARACTER (LEN=86) ::  coordinates         !<
330    CHARACTER (LEN=86) ::  gradients           !<
331    CHARACTER (LEN=86) ::  leaf_area_density   !<
332    CHARACTER (LEN=86) ::  roots               !<
333    CHARACTER (LEN=86) ::  slices              !<
334    CHARACTER (LEN=86) ::  temperatures        !<
335    CHARACTER (LEN=86) ::  ugcomponent         !<
336    CHARACTER (LEN=86) ::  vgcomponent         !<
[1]337
[1682]338    CHARACTER (LEN=1), DIMENSION(1:3) ::  dir = (/ 'x', 'y', 'z' /)  !<
[410]339
[1682]340    INTEGER(iwp) ::  av        !<
341    INTEGER(iwp) ::  bh        !<
342    INTEGER(iwp) ::  blx       !<
343    INTEGER(iwp) ::  bly       !<
344    INTEGER(iwp) ::  bxl       !<
345    INTEGER(iwp) ::  bxr       !<
346    INTEGER(iwp) ::  byn       !<
347    INTEGER(iwp) ::  bys       !<
348    INTEGER(iwp) ::  ch        !<
349    INTEGER(iwp) ::  count     !<
350    INTEGER(iwp) ::  cwx       !<
351    INTEGER(iwp) ::  cwy       !<
352    INTEGER(iwp) ::  cxl       !<
353    INTEGER(iwp) ::  cxr       !<
354    INTEGER(iwp) ::  cyn       !<
355    INTEGER(iwp) ::  cys       !<
356    INTEGER(iwp) ::  dim       !<
357    INTEGER(iwp) ::  i         !<
358    INTEGER(iwp) ::  io        !<
359    INTEGER(iwp) ::  j         !<
360    INTEGER(iwp) ::  k         !<
361    INTEGER(iwp) ::  l         !<
362    INTEGER(iwp) ::  ll        !<
363    INTEGER(iwp) ::  mpi_type  !<
[1320]364   
[1682]365    REAL(wp) ::  canopy_height                    !< canopy height (in m)
366    REAL(wp) ::  cpuseconds_per_simulated_second  !<
[1]367
368!
369!-- Open the output file. At the end of the simulation, output is directed
370!-- to unit 19.
371    IF ( ( runnr == 0 .OR. force_print_header )  .AND. &
372         .NOT. simulated_time_at_begin /= simulated_time )  THEN
373       io = 15   !  header output on file RUN_CONTROL
374    ELSE
375       io = 19   !  header output on file HEADER
376    ENDIF
377    CALL check_open( io )
378
379!
380!-- At the end of the run, output file (HEADER) will be rewritten with
[1551]381!-- new information
[1]382    IF ( io == 19 .AND. simulated_time_at_begin /= simulated_time ) REWIND( 19 )
383
384!
385!-- Determine kind of model run
386    IF ( TRIM( initializing_actions ) == 'read_restart_data' )  THEN
[1764]387       run_classification = 'restart run'
[328]388    ELSEIF ( TRIM( initializing_actions ) == 'cyclic_fill' )  THEN
[1764]389       run_classification = 'run with cyclic fill of 3D - prerun data'
[147]390    ELSEIF ( INDEX( initializing_actions, 'set_constant_profiles' ) /= 0 )  THEN
[1764]391       run_classification = 'run without 1D - prerun'
[197]392    ELSEIF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
[1764]393       run_classification = 'run with 1D - prerun'
[197]394    ELSEIF ( INDEX( initializing_actions, 'by_user' ) /=0 )  THEN
[1764]395       run_classification = 'run initialized by user'
[1]396    ELSE
[254]397       message_string = ' unknown action(s): ' // TRIM( initializing_actions )
398       CALL message( 'header', 'PA0191', 0, 0, 0, 6, 0 )
[1]399    ENDIF
[1764]400    IF ( nested_run )  run_classification = 'nested ' // run_classification
[97]401    IF ( ocean )  THEN
402       run_classification = 'ocean - ' // run_classification
403    ELSE
404       run_classification = 'atmosphere - ' // run_classification
405    ENDIF
[1]406
407!
408!-- Run-identification, date, time, host
409    host_chr = host(1:10)
[75]410    ver_rev = TRIM( version ) // '  ' // TRIM( revision )
[102]411    WRITE ( io, 100 )  ver_rev, TRIM( run_classification )
[291]412    IF ( TRIM( coupling_mode ) /= 'uncoupled' )  THEN
413#if defined( __mpi2 )
414       mpi_type = 2
415#else
416       mpi_type = 1
417#endif
418       WRITE ( io, 101 )  mpi_type, coupling_mode
419    ENDIF
[1108]420#if defined( __parallel )
[1353]421    IF ( coupling_start_time /= 0.0_wp )  THEN
[1106]422       IF ( coupling_start_time > simulated_time_at_begin )  THEN
423          WRITE ( io, 109 )
424       ELSE
425          WRITE ( io, 114 )
426       ENDIF
427    ENDIF
[1108]428#endif
[1429]429    IF ( ensemble_member_nr /= 0 )  THEN
430       WRITE ( io, 512 )  run_date, run_identifier, run_time, runnr,           &
431                       ADJUSTR( host_chr ), ensemble_member_nr
432    ELSE
433       WRITE ( io, 102 )  run_date, run_identifier, run_time, runnr,           &
[102]434                       ADJUSTR( host_chr )
[1429]435    ENDIF
[1]436#if defined( __parallel )
[1482]437    IF ( npex == -1  .AND.  npey == -1 )  THEN
[1]438       char1 = 'calculated'
439    ELSE
440       char1 = 'predefined'
441    ENDIF
442    IF ( threads_per_task == 1 )  THEN
[102]443       WRITE ( io, 103 )  numprocs, pdims(1), pdims(2), TRIM( char1 )
[1]444    ELSE
[102]445       WRITE ( io, 104 )  numprocs*threads_per_task, numprocs, &
[1]446                          threads_per_task, pdims(1), pdims(2), TRIM( char1 )
447    ENDIF
[1111]448    IF ( num_acc_per_node /= 0 )  WRITE ( io, 117 )  num_acc_per_node   
[1]449    IF ( ( host(1:3) == 'ibm'  .OR.  host(1:3) == 'nec'  .OR.    &
450           host(1:2) == 'lc'   .OR.  host(1:3) == 'dec' )  .AND. &
451         npex == -1  .AND.  pdims(2) == 1 )                      &
452    THEN
[102]453       WRITE ( io, 106 )
[1]454    ELSEIF ( pdims(2) == 1 )  THEN
[102]455       WRITE ( io, 107 )  'x'
[1]456    ELSEIF ( pdims(1) == 1 )  THEN
[102]457       WRITE ( io, 107 )  'y'
[1]458    ENDIF
[102]459    IF ( use_seperate_pe_for_dvrp_output )  WRITE ( io, 105 )
[759]460    IF ( numprocs /= maximum_parallel_io_streams )  THEN
461       WRITE ( io, 108 )  maximum_parallel_io_streams
462    ENDIF
[1111]463#else
464    IF ( num_acc_per_node /= 0 )  WRITE ( io, 120 )  num_acc_per_node
[1]465#endif
[1764]466
467!
468!-- Nesting informations
469    IF ( nested_run )  THEN
470       WRITE ( io, 600 )  cpl_id, TRIM( cpl_name ), cpl_parent_id,             &
471                          nesting_mode, lower_left_coord_x, lower_left_coord_y
472    ENDIF
[1]473    WRITE ( io, 99 )
474
475!
476!-- Numerical schemes
477    WRITE ( io, 110 )
478    IF ( psolver(1:7) == 'poisfft' )  THEN
479       WRITE ( io, 111 )  TRIM( fft_method )
[1216]480       IF ( transpose_compute_overlap )  WRITE( io, 115 )
[1]481    ELSEIF ( psolver == 'sor' )  THEN
482       WRITE ( io, 112 )  nsor_ini, nsor, omega_sor
[1575]483    ELSEIF ( psolver(1:9) == 'multigrid' )  THEN
484       WRITE ( io, 135 )  TRIM(psolver), cycle_mg, maximum_grid_level, ngsrb
[1]485       IF ( mg_cycles == -1 )  THEN
486          WRITE ( io, 140 )  residual_limit
487       ELSE
488          WRITE ( io, 141 )  mg_cycles
489       ENDIF
490       IF ( mg_switch_to_pe0_level == 0 )  THEN
491          WRITE ( io, 136 )  nxr_mg(1)-nxl_mg(1)+1, nyn_mg(1)-nys_mg(1)+1, &
492                             nzt_mg(1)
[197]493       ELSEIF (  mg_switch_to_pe0_level /= -1 )  THEN
[1]494          WRITE ( io, 137 )  mg_switch_to_pe0_level,            &
495                             mg_loc_ind(2,0)-mg_loc_ind(1,0)+1, &
496                             mg_loc_ind(4,0)-mg_loc_ind(3,0)+1, &
497                             nzt_mg(mg_switch_to_pe0_level),    &
498                             nxr_mg(1)-nxl_mg(1)+1, nyn_mg(1)-nys_mg(1)+1, &
499                             nzt_mg(1)
500       ENDIF
[927]501       IF ( masking_method )  WRITE ( io, 144 )
[1]502    ENDIF
503    IF ( call_psolver_at_all_substeps  .AND. timestep_scheme(1:5) == 'runge' ) &
504    THEN
505       WRITE ( io, 142 )
506    ENDIF
507
508    IF ( momentum_advec == 'pw-scheme' )  THEN
509       WRITE ( io, 113 )
[1299]510    ELSEIF (momentum_advec == 'ws-scheme' )  THEN
[667]511       WRITE ( io, 503 )
[1]512    ENDIF
513    IF ( scalar_advec == 'pw-scheme' )  THEN
514       WRITE ( io, 116 )
[667]515    ELSEIF ( scalar_advec == 'ws-scheme' )  THEN
516       WRITE ( io, 504 )
[1557]517    ELSEIF ( scalar_advec == 'ws-scheme-mono' )  THEN
518       WRITE ( io, 513 )
[1]519    ELSE
520       WRITE ( io, 118 )
521    ENDIF
[63]522
523    WRITE ( io, 139 )  TRIM( loop_optimization )
524
[1]525    IF ( galilei_transformation )  THEN
526       IF ( use_ug_for_galilei_tr )  THEN
[868]527          char1 = '0.6 * geostrophic wind'
[1]528       ELSE
529          char1 = 'mean wind in model domain'
530       ENDIF
531       IF ( simulated_time_at_begin == simulated_time )  THEN
532          char2 = 'at the start of the run'
533       ELSE
534          char2 = 'at the end of the run'
535       ENDIF
[1353]536       WRITE ( io, 119 )  TRIM( char1 ), TRIM( char2 ),                        &
537                          advected_distance_x/1000.0_wp,                       &
538                          advected_distance_y/1000.0_wp
[1]539    ENDIF
[1001]540    WRITE ( io, 122 )  timestep_scheme
[87]541    IF ( use_upstream_for_tke )  WRITE ( io, 143 )
[1353]542    IF ( rayleigh_damping_factor /= 0.0_wp )  THEN
[108]543       IF ( .NOT. ocean )  THEN
544          WRITE ( io, 123 )  'above', rayleigh_damping_height, &
545               rayleigh_damping_factor
546       ELSE
547          WRITE ( io, 123 )  'below', rayleigh_damping_height, &
548               rayleigh_damping_factor
549       ENDIF
[1]550    ENDIF
[940]551    IF ( neutral )  WRITE ( io, 131 )  pt_surface
[75]552    IF ( humidity )  THEN
[1]553       IF ( .NOT. cloud_physics )  THEN
554          WRITE ( io, 129 )
555       ELSE
556          WRITE ( io, 130 )
557       ENDIF
558    ENDIF
559    IF ( passive_scalar )  WRITE ( io, 134 )
[240]560    IF ( conserve_volume_flow )  THEN
[241]561       WRITE ( io, 150 )  conserve_volume_flow_mode
562       IF ( TRIM( conserve_volume_flow_mode ) == 'bulk_velocity' )  THEN
563          WRITE ( io, 151 )  u_bulk, v_bulk
564       ENDIF
[240]565    ELSEIF ( dp_external )  THEN
566       IF ( dp_smooth )  THEN
[241]567          WRITE ( io, 152 )  dpdxy, dp_level_b, ', vertically smoothed.'
[240]568       ELSE
[241]569          WRITE ( io, 152 )  dpdxy, dp_level_b, '.'
[240]570       ENDIF
571    ENDIF
[1]572    WRITE ( io, 99 )
573
574!
[1551]575!-- Runtime and timestep information
[1]576    WRITE ( io, 200 )
577    IF ( .NOT. dt_fixed )  THEN
578       WRITE ( io, 201 )  dt_max, cfl_factor
579    ELSE
580       WRITE ( io, 202 )  dt
581    ENDIF
582    WRITE ( io, 203 )  simulated_time_at_begin, end_time
583
[1322]584    IF ( time_restart /= 9999999.9_wp  .AND. &
[1]585         simulated_time_at_begin == simulated_time )  THEN
[1322]586       IF ( dt_restart == 9999999.9_wp )  THEN
[1]587          WRITE ( io, 204 )  ' Restart at:       ',time_restart
588       ELSE
589          WRITE ( io, 205 )  ' Restart at:       ',time_restart, dt_restart
590       ENDIF
591    ENDIF
592
593    IF ( simulated_time_at_begin /= simulated_time )  THEN
594       i = MAX ( log_point_s(10)%counts, 1 )
[1353]595       IF ( ( simulated_time - simulated_time_at_begin ) == 0.0_wp )  THEN
596          cpuseconds_per_simulated_second = 0.0_wp
[1]597       ELSE
598          cpuseconds_per_simulated_second = log_point_s(10)%sum / &
599                                            ( simulated_time -    &
600                                              simulated_time_at_begin )
601       ENDIF
[1322]602       WRITE ( io, 206 )  simulated_time, log_point_s(10)%sum,      &
603                          log_point_s(10)%sum / REAL( i, KIND=wp ), &
[1]604                          cpuseconds_per_simulated_second
[1322]605       IF ( time_restart /= 9999999.9_wp  .AND.  time_restart < end_time )  THEN
606          IF ( dt_restart == 9999999.9_wp )  THEN
[1106]607             WRITE ( io, 204 )  ' Next restart at:     ',time_restart
[1]608          ELSE
[1106]609             WRITE ( io, 205 )  ' Next restart at:     ',time_restart, dt_restart
[1]610          ENDIF
611       ENDIF
612    ENDIF
613
[1324]614
[1]615!
[291]616!-- Start time for coupled runs, if independent precursor runs for atmosphere
[1106]617!-- and ocean are used or have been used. In this case, coupling_start_time
618!-- defines the time when the coupling is switched on.
[1353]619    IF ( coupling_start_time /= 0.0_wp )  THEN
[1106]620       WRITE ( io, 207 )  coupling_start_time
[291]621    ENDIF
622
623!
[1]624!-- Computational grid
[94]625    IF ( .NOT. ocean )  THEN
626       WRITE ( io, 250 )  dx, dy, dz, (nx+1)*dx, (ny+1)*dy, zu(nzt+1)
627       IF ( dz_stretch_level_index < nzt+1 )  THEN
628          WRITE ( io, 252 )  dz_stretch_level, dz_stretch_level_index, &
629                             dz_stretch_factor, dz_max
630       ENDIF
631    ELSE
632       WRITE ( io, 250 )  dx, dy, dz, (nx+1)*dx, (ny+1)*dy, zu(0)
633       IF ( dz_stretch_level_index > 0 )  THEN
634          WRITE ( io, 252 )  dz_stretch_level, dz_stretch_level_index, &
635                             dz_stretch_factor, dz_max
636       ENDIF
[1]637    ENDIF
638    WRITE ( io, 254 )  nx, ny, nzt+1, MIN( nnx, nx+1 ), MIN( nny, ny+1 ), &
639                       MIN( nnz+2, nzt+2 )
640    IF ( sloping_surface )  WRITE ( io, 260 )  alpha_surface
641
642!
[1365]643!-- Large scale forcing and nudging
644    WRITE ( io, 160 )
645    IF ( large_scale_forcing )  THEN
646       WRITE ( io, 162 )
647       WRITE ( io, 163 )
648
649       IF ( large_scale_subsidence )  THEN
650          IF ( .NOT. use_subsidence_tendencies )  THEN
651             WRITE ( io, 164 )
652          ELSE
653             WRITE ( io, 165 )
654          ENDIF
655       ENDIF
656
657       IF ( bc_pt_b == 'dirichlet' )  THEN
658          WRITE ( io, 180 )
659       ELSEIF ( bc_pt_b == 'neumann' )  THEN
660          WRITE ( io, 181 )
661       ENDIF
662
663       IF ( bc_q_b == 'dirichlet' )  THEN
664          WRITE ( io, 182 )
665       ELSEIF ( bc_q_b == 'neumann' )  THEN
666          WRITE ( io, 183 )
667       ENDIF
668
669       WRITE ( io, 167 )
670       IF ( nudging )  THEN
671          WRITE ( io, 170 )
672       ENDIF
673    ELSE
674       WRITE ( io, 161 )
675       WRITE ( io, 171 )
676    ENDIF
677    IF ( large_scale_subsidence )  THEN
678       WRITE ( io, 168 )
679       WRITE ( io, 169 )
680    ENDIF
681
682!
683!-- Profile for the large scale vertial velocity
684!-- Building output strings, starting with surface value
685    IF ( large_scale_subsidence )  THEN
686       temperatures = '   0.0'
687       gradients = '------'
688       slices = '     0'
689       coordinates = '   0.0'
690       i = 1
691       DO  WHILE ( subs_vertical_gradient_level_i(i) /= -9999 )
692
693          WRITE (coor_chr,'(E10.2,7X)')  &
694                                w_subs(subs_vertical_gradient_level_i(i))
695          temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
696
697          WRITE (coor_chr,'(E10.2,7X)')  subs_vertical_gradient(i)
698          gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
699
700          WRITE (coor_chr,'(I10,7X)')  subs_vertical_gradient_level_i(i)
701          slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
702
703          WRITE (coor_chr,'(F10.2,7X)')  subs_vertical_gradient_level(i)
704          coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
705
706          IF ( i == 10 )  THEN
707             EXIT
708          ELSE
709             i = i + 1
710          ENDIF
711
712       ENDDO
713
714 
715       IF ( .NOT. large_scale_forcing )  THEN
716          WRITE ( io, 426 )  TRIM( coordinates ), TRIM( temperatures ), &
717                             TRIM( gradients ), TRIM( slices )
718       ENDIF
719
720
721    ENDIF
722
723!-- Profile of the geostrophic wind (component ug)
724!-- Building output strings
725    WRITE ( ugcomponent, '(F6.2)' )  ug_surface
726    gradients = '------'
727    slices = '     0'
728    coordinates = '   0.0'
729    i = 1
730    DO  WHILE ( ug_vertical_gradient_level_ind(i) /= -9999 )
731     
732       WRITE (coor_chr,'(F6.2,1X)')  ug(ug_vertical_gradient_level_ind(i))
733       ugcomponent = TRIM( ugcomponent ) // '  ' // TRIM( coor_chr )
734
735       WRITE (coor_chr,'(F6.2,1X)')  ug_vertical_gradient(i)
736       gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
737
738       WRITE (coor_chr,'(I6,1X)')  ug_vertical_gradient_level_ind(i)
739       slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
740
741       WRITE (coor_chr,'(F6.1,1X)')  ug_vertical_gradient_level(i)
742       coordinates = TRIM( coordinates ) // '  ' // TRIM( coor_chr )
743
744       IF ( i == 10 )  THEN
745          EXIT
746       ELSE
747          i = i + 1
748       ENDIF
749
750    ENDDO
751
752    IF ( .NOT. large_scale_forcing )  THEN
753       WRITE ( io, 423 )  TRIM( coordinates ), TRIM( ugcomponent ), &
754                          TRIM( gradients ), TRIM( slices )
755    ENDIF
756
757!-- Profile of the geostrophic wind (component vg)
758!-- Building output strings
759    WRITE ( vgcomponent, '(F6.2)' )  vg_surface
760    gradients = '------'
761    slices = '     0'
762    coordinates = '   0.0'
763    i = 1
764    DO  WHILE ( vg_vertical_gradient_level_ind(i) /= -9999 )
765
766       WRITE (coor_chr,'(F6.2,1X)')  vg(vg_vertical_gradient_level_ind(i))
767       vgcomponent = TRIM( vgcomponent ) // '  ' // TRIM( coor_chr )
768
769       WRITE (coor_chr,'(F6.2,1X)')  vg_vertical_gradient(i)
770       gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
771
772       WRITE (coor_chr,'(I6,1X)')  vg_vertical_gradient_level_ind(i)
773       slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
774
775       WRITE (coor_chr,'(F6.1,1X)')  vg_vertical_gradient_level(i)
776       coordinates = TRIM( coordinates ) // '  ' // TRIM( coor_chr )
777
778       IF ( i == 10 )  THEN
779          EXIT
780       ELSE
781          i = i + 1
782       ENDIF
783 
784    ENDDO
785
786    IF ( .NOT. large_scale_forcing )  THEN
787       WRITE ( io, 424 )  TRIM( coordinates ), TRIM( vgcomponent ), &
788                          TRIM( gradients ), TRIM( slices )
789    ENDIF
790
791!
[1]792!-- Topography
793    WRITE ( io, 270 )  topography
794    SELECT CASE ( TRIM( topography ) )
795
796       CASE ( 'flat' )
797          ! no actions necessary
798
799       CASE ( 'single_building' )
800          blx = INT( building_length_x / dx )
801          bly = INT( building_length_y / dy )
[1675]802          bh  = MINLOC( ABS( zw - building_height ), 1 ) - 1
803          IF ( ABS( zw(bh  ) - building_height ) == &
804               ABS( zw(bh+1) - building_height )    )  bh = bh + 1
[1]805
[1322]806          IF ( building_wall_left == 9999999.9_wp )  THEN
[1]807             building_wall_left = ( nx + 1 - blx ) / 2 * dx
808          ENDIF
[1353]809          bxl = INT ( building_wall_left / dx + 0.5_wp )
[1]810          bxr = bxl + blx
811
[1322]812          IF ( building_wall_south == 9999999.9_wp )  THEN
[1]813             building_wall_south = ( ny + 1 - bly ) / 2 * dy
814          ENDIF
[1353]815          bys = INT ( building_wall_south / dy + 0.5_wp )
[1]816          byn = bys + bly
817
818          WRITE ( io, 271 )  building_length_x, building_length_y, &
819                             building_height, bxl, bxr, bys, byn
820
[240]821       CASE ( 'single_street_canyon' )
[1675]822          ch  = MINLOC( ABS( zw - canyon_height ), 1 ) - 1
823          IF ( ABS( zw(ch  ) - canyon_height ) == &
824               ABS( zw(ch+1) - canyon_height )    )  ch = ch + 1
[1322]825          IF ( canyon_width_x /= 9999999.9_wp )  THEN
[240]826!
827!--          Street canyon in y direction
828             cwx = NINT( canyon_width_x / dx )
[1322]829             IF ( canyon_wall_left == 9999999.9_wp )  THEN
[240]830                canyon_wall_left = ( nx + 1 - cwx ) / 2 * dx
831             ENDIF
832             cxl = NINT( canyon_wall_left / dx )
833             cxr = cxl + cwx
834             WRITE ( io, 272 )  'y', canyon_height, ch, 'u', cxl, cxr
835
[1322]836          ELSEIF ( canyon_width_y /= 9999999.9_wp )  THEN
[240]837!
838!--          Street canyon in x direction
839             cwy = NINT( canyon_width_y / dy )
[1322]840             IF ( canyon_wall_south == 9999999.9_wp )  THEN
[240]841                canyon_wall_south = ( ny + 1 - cwy ) / 2 * dy
842             ENDIF
843             cys = NINT( canyon_wall_south / dy )
844             cyn = cys + cwy
845             WRITE ( io, 272 )  'x', canyon_height, ch, 'v', cys, cyn
846          ENDIF
847
[1]848    END SELECT
849
[256]850    IF ( TRIM( topography ) /= 'flat' )  THEN
851       IF ( TRIM( topography_grid_convention ) == ' ' )  THEN
852          IF ( TRIM( topography ) == 'single_building' .OR.  &
853               TRIM( topography ) == 'single_street_canyon' )  THEN
854             WRITE ( io, 278 )
855          ELSEIF ( TRIM( topography ) == 'read_from_file' )  THEN
856             WRITE ( io, 279 )
857          ENDIF
858       ELSEIF ( TRIM( topography_grid_convention ) == 'cell_edge' )  THEN
859          WRITE ( io, 278 )
860       ELSEIF ( TRIM( topography_grid_convention ) == 'cell_center' )  THEN
861          WRITE ( io, 279 )
862       ENDIF
863    ENDIF
864
[1299]865    IF ( plant_canopy )  THEN
[1484]866   
867       canopy_height = pch_index * dz
[138]868
[1484]869       WRITE ( io, 280 )  canopy_mode, canopy_height, pch_index,               &
870                          canopy_drag_coeff
[1299]871       IF ( passive_scalar )  THEN
[1484]872          WRITE ( io, 281 )  leaf_scalar_exch_coeff,                           &
873                             leaf_surface_conc
[153]874       ENDIF
[138]875
[1]876!
[153]877!--    Heat flux at the top of vegetation
[1484]878       WRITE ( io, 282 )  cthf
[153]879
880!
[1484]881!--    Leaf area density profile, calculated either from given vertical
882!--    gradients or from beta probability density function.
883       IF (  .NOT.  calc_beta_lad_profile )  THEN
[138]884
[1484]885!--       Building output strings, starting with surface value
[1697]886          WRITE ( leaf_area_density, '(F7.4)' )  lad_surface
[1484]887          gradients = '------'
888          slices = '     0'
889          coordinates = '   0.0'
890          i = 1
891          DO  WHILE ( i < 11  .AND.  lad_vertical_gradient_level_ind(i) /= -9999 )
[138]892
[1484]893             WRITE (coor_chr,'(F7.2)')  lad(lad_vertical_gradient_level_ind(i))
894             leaf_area_density = TRIM( leaf_area_density ) // ' ' // TRIM( coor_chr )
895 
896             WRITE (coor_chr,'(F7.2)')  lad_vertical_gradient(i)
897             gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
[138]898
[1484]899             WRITE (coor_chr,'(I7)')  lad_vertical_gradient_level_ind(i)
900             slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
[138]901
[1484]902             WRITE (coor_chr,'(F7.1)')  lad_vertical_gradient_level(i)
903             coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
[138]904
[1484]905             i = i + 1
906          ENDDO
[138]907
[1484]908          WRITE ( io, 283 )  TRIM( coordinates ), TRIM( leaf_area_density ),              &
909                             TRIM( gradients ), TRIM( slices )
[138]910
[1484]911       ELSE
912       
[1697]913          WRITE ( leaf_area_density, '(F7.4)' )  lad_surface
[1484]914          coordinates = '   0.0'
915         
916          DO  k = 1, pch_index
917
918             WRITE (coor_chr,'(F7.2)')  lad(k)
919             leaf_area_density = TRIM( leaf_area_density ) // ' ' // TRIM( coor_chr )
920 
921             WRITE (coor_chr,'(F7.1)')  zu(k)
922             coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
923
924          ENDDO       
925
926          WRITE ( io, 284 ) TRIM( coordinates ), TRIM( leaf_area_density ), alpha_lad,    &
927                            beta_lad, lai_beta
928
929       ENDIF 
930
[138]931    ENDIF
932
[1484]933
[1551]934    IF ( land_surface )  THEN
935
936       temperatures = ''
937       gradients    = '' ! use for humidity here
938       coordinates  = '' ! use for height
939       roots        = '' ! use for root fraction
940       slices       = '' ! use for index
941
942       i = 1
943       DO i = nzb_soil, nzt_soil
944          WRITE (coor_chr,'(F10.2,7X)') soil_temperature(i)
945          temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
946
947          WRITE (coor_chr,'(F10.2,7X)') soil_moisture(i)
948          gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
949
950          WRITE (coor_chr,'(F10.2,7X)')  - zs(i)
951          coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
952
953          WRITE (coor_chr,'(F10.2,7X)')  root_fraction(i)
954          roots = TRIM( roots ) // ' '  // TRIM( coor_chr )
955
956          WRITE (coor_chr,'(I10,7X)')  i
957          slices = TRIM( slices ) // ' '  // TRIM( coor_chr )
958
959
960       ENDDO
961
[138]962!
[1551]963!--    Write land surface model header
964       WRITE( io, 419 )
965       IF ( conserve_water_content )  THEN
966          WRITE( io, 440 )
967       ELSE
968          WRITE( io, 441 )
969       ENDIF
970
[1590]971       WRITE( io, 438 ) TRIM( veg_type_name(veg_type) ),                       &
972                        TRIM (soil_type_name(soil_type) )
[1551]973       WRITE( io, 439 ) TRIM( coordinates ), TRIM( temperatures ),             &
974                        TRIM( gradients ), TRIM( roots ), TRIM( slices )
975
976
977    ENDIF
978
979    IF ( radiation )  THEN
980!
[1585]981!--    Write radiation model header
[1551]982       WRITE( io, 444 )
983
984       IF ( radiation_scheme == "constant" )  THEN
985          WRITE( io, 445 ) net_radiation
986       ELSEIF ( radiation_scheme == "clear-sky" )  THEN
987          WRITE( io, 446 )
[1585]988       ELSEIF ( radiation_scheme == "rrtmg" )  THEN
989          WRITE( io, 447 )
990          IF ( .NOT. lw_radiation )  WRITE( io, 458 )
991          IF ( .NOT. sw_radiation )  WRITE( io, 459 )
992       ENDIF
993
994       IF ( albedo_type == 0 )  THEN
995          WRITE( io, 448 ) albedo
[1551]996       ELSE
[1590]997          WRITE( io, 456 ) TRIM( albedo_type_name(albedo_type) )
[1551]998       ENDIF
[1585]999       IF ( constant_albedo )  THEN
1000          WRITE( io, 457 )
1001       ENDIF
[1551]1002       WRITE( io, 449 ) dt_radiation
1003    ENDIF
1004
1005
1006!
[1]1007!-- Boundary conditions
1008    IF ( ibc_p_b == 0 )  THEN
1009       runten = 'p(0)     = 0      |'
1010    ELSEIF ( ibc_p_b == 1 )  THEN
1011       runten = 'p(0)     = p(1)   |'
1012    ENDIF
1013    IF ( ibc_p_t == 0 )  THEN
1014       roben  = 'p(nzt+1) = 0      |'
1015    ELSE
1016       roben  = 'p(nzt+1) = p(nzt) |'
1017    ENDIF
1018
1019    IF ( ibc_uv_b == 0 )  THEN
1020       runten = TRIM( runten ) // ' uv(0)     = -uv(1)                |'
1021    ELSE
1022       runten = TRIM( runten ) // ' uv(0)     = uv(1)                 |'
1023    ENDIF
[132]1024    IF ( TRIM( bc_uv_t ) == 'dirichlet_0' )  THEN
1025       roben  = TRIM( roben  ) // ' uv(nzt+1) = 0                     |'
1026    ELSEIF ( ibc_uv_t == 0 )  THEN
[1]1027       roben  = TRIM( roben  ) // ' uv(nzt+1) = ug(nzt+1), vg(nzt+1)  |'
1028    ELSE
1029       roben  = TRIM( roben  ) // ' uv(nzt+1) = uv(nzt)               |'
1030    ENDIF
1031
1032    IF ( ibc_pt_b == 0 )  THEN
[1551]1033       IF ( land_surface )  THEN
1034          runten = TRIM( runten ) // ' pt(0)     = from soil model'
1035       ELSE
1036          runten = TRIM( runten ) // ' pt(0)     = pt_surface'
1037       ENDIF
[102]1038    ELSEIF ( ibc_pt_b == 1 )  THEN
[1551]1039       runten = TRIM( runten ) // ' pt(0)     = pt(1)'
[102]1040    ELSEIF ( ibc_pt_b == 2 )  THEN
[1551]1041       runten = TRIM( runten ) // ' pt(0)     = from coupled model'
[1]1042    ENDIF
1043    IF ( ibc_pt_t == 0 )  THEN
[19]1044       roben  = TRIM( roben  ) // ' pt(nzt+1) = pt_top'
1045    ELSEIF( ibc_pt_t == 1 )  THEN
1046       roben  = TRIM( roben  ) // ' pt(nzt+1) = pt(nzt)'
1047    ELSEIF( ibc_pt_t == 2 )  THEN
1048       roben  = TRIM( roben  ) // ' pt(nzt+1) = pt(nzt) + dpt/dz_ini'
[667]1049
[1]1050    ENDIF
1051
1052    WRITE ( io, 300 )  runten, roben
1053
1054    IF ( .NOT. constant_diffusion )  THEN
1055       IF ( ibc_e_b == 1 )  THEN
1056          runten = 'e(0)     = e(1)'
1057       ELSE
1058          runten = 'e(0)     = e(1) = (u*/0.1)**2'
1059       ENDIF
1060       roben = 'e(nzt+1) = e(nzt) = e(nzt-1)'
1061
[97]1062       WRITE ( io, 301 )  'e', runten, roben       
[1]1063
1064    ENDIF
1065
[97]1066    IF ( ocean )  THEN
1067       runten = 'sa(0)    = sa(1)'
1068       IF ( ibc_sa_t == 0 )  THEN
1069          roben =  'sa(nzt+1) = sa_surface'
[1]1070       ELSE
[97]1071          roben =  'sa(nzt+1) = sa(nzt)'
[1]1072       ENDIF
[97]1073       WRITE ( io, 301 ) 'sa', runten, roben
1074    ENDIF
[1]1075
[97]1076    IF ( humidity )  THEN
1077       IF ( ibc_q_b == 0 )  THEN
[1551]1078          IF ( land_surface )  THEN
1079             runten = 'q(0)     = from soil model'
1080          ELSE
1081             runten = 'q(0)     = q_surface'
1082          ENDIF
1083
[97]1084       ELSE
1085          runten = 'q(0)     = q(1)'
1086       ENDIF
1087       IF ( ibc_q_t == 0 )  THEN
1088          roben =  'q(nzt)   = q_top'
1089       ELSE
1090          roben =  'q(nzt)   = q(nzt-1) + dq/dz'
1091       ENDIF
1092       WRITE ( io, 301 ) 'q', runten, roben
1093    ENDIF
[1]1094
[97]1095    IF ( passive_scalar )  THEN
1096       IF ( ibc_q_b == 0 )  THEN
1097          runten = 's(0)     = s_surface'
1098       ELSE
1099          runten = 's(0)     = s(1)'
1100       ENDIF
1101       IF ( ibc_q_t == 0 )  THEN
1102          roben =  's(nzt)   = s_top'
1103       ELSE
1104          roben =  's(nzt)   = s(nzt-1) + ds/dz'
1105       ENDIF
1106       WRITE ( io, 301 ) 's', runten, roben
[1]1107    ENDIF
1108
1109    IF ( use_surface_fluxes )  THEN
1110       WRITE ( io, 303 )
1111       IF ( constant_heatflux )  THEN
[1299]1112          IF ( large_scale_forcing .AND. lsf_surf )  THEN
[1241]1113             WRITE ( io, 306 )  shf(0,0)
1114          ELSE
1115             WRITE ( io, 306 )  surface_heatflux
1116          ENDIF
[1]1117          IF ( random_heatflux )  WRITE ( io, 307 )
1118       ENDIF
[75]1119       IF ( humidity  .AND.  constant_waterflux )  THEN
[1299]1120          IF ( large_scale_forcing .AND. lsf_surf )  THEN
[1241]1121             WRITE ( io, 311 ) qsws(0,0)
1122          ELSE
1123             WRITE ( io, 311 ) surface_waterflux
1124          ENDIF
[1]1125       ENDIF
1126       IF ( passive_scalar  .AND.  constant_waterflux )  THEN
1127          WRITE ( io, 313 ) surface_waterflux
1128       ENDIF
1129    ENDIF
1130
[19]1131    IF ( use_top_fluxes )  THEN
1132       WRITE ( io, 304 )
[102]1133       IF ( coupling_mode == 'uncoupled' )  THEN
[151]1134          WRITE ( io, 320 )  top_momentumflux_u, top_momentumflux_v
[102]1135          IF ( constant_top_heatflux )  THEN
1136             WRITE ( io, 306 )  top_heatflux
1137          ENDIF
1138       ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
1139          WRITE ( io, 316 )
[19]1140       ENDIF
[97]1141       IF ( ocean  .AND.  constant_top_salinityflux )  THEN
1142          WRITE ( io, 309 )  top_salinityflux
1143       ENDIF
[75]1144       IF ( humidity  .OR.  passive_scalar )  THEN
[19]1145          WRITE ( io, 315 )
1146       ENDIF
1147    ENDIF
1148
[1691]1149    IF ( constant_flux_layer )  THEN
1150       WRITE ( io, 305 )  (zu(1)-zu(0)), roughness_length,                     &
1151                          z0h_factor*roughness_length, kappa,                  &
1152                          zeta_min, zeta_max
[1]1153       IF ( .NOT. constant_heatflux )  WRITE ( io, 308 )
[75]1154       IF ( humidity  .AND.  .NOT. constant_waterflux )  THEN
[1]1155          WRITE ( io, 312 )
1156       ENDIF
1157       IF ( passive_scalar  .AND.  .NOT. constant_waterflux )  THEN
1158          WRITE ( io, 314 )
1159       ENDIF
1160    ELSE
1161       IF ( INDEX(initializing_actions, 'set_1d-model_profiles') /= 0 )  THEN
[1691]1162          WRITE ( io, 310 )  zeta_min, zeta_max
[1]1163       ENDIF
1164    ENDIF
1165
1166    WRITE ( io, 317 )  bc_lr, bc_ns
[707]1167    IF ( .NOT. bc_lr_cyc  .OR.  .NOT. bc_ns_cyc )  THEN
[1159]1168       WRITE ( io, 318 )  use_cmax, pt_damping_width, pt_damping_factor       
[151]1169       IF ( turbulent_inflow )  THEN
[1560]1170          IF ( .NOT. recycling_yshift ) THEN
1171             WRITE ( io, 319 )  recycling_width, recycling_plane, &
1172                                inflow_damping_height, inflow_damping_width
1173          ELSE
1174             WRITE ( io, 322 )  recycling_width, recycling_plane, &
1175                                inflow_damping_height, inflow_damping_width
1176          END IF
[151]1177       ENDIF
[1]1178    ENDIF
1179
1180!
[1365]1181!-- Initial Profiles
1182    WRITE ( io, 321 )
1183!
1184!-- Initial wind profiles
1185    IF ( u_profile(1) /= 9999999.9_wp )  WRITE ( io, 427 )
1186
1187!
1188!-- Initial temperature profile
1189!-- Building output strings, starting with surface temperature
1190    WRITE ( temperatures, '(F6.2)' )  pt_surface
1191    gradients = '------'
1192    slices = '     0'
1193    coordinates = '   0.0'
1194    i = 1
1195    DO  WHILE ( pt_vertical_gradient_level_ind(i) /= -9999 )
1196
1197       WRITE (coor_chr,'(F7.2)')  pt_init(pt_vertical_gradient_level_ind(i))
1198       temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
1199
1200       WRITE (coor_chr,'(F7.2)')  pt_vertical_gradient(i)
1201       gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
1202
1203       WRITE (coor_chr,'(I7)')  pt_vertical_gradient_level_ind(i)
1204       slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
1205
1206       WRITE (coor_chr,'(F7.1)')  pt_vertical_gradient_level(i)
1207       coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
1208
1209       IF ( i == 10 )  THEN
1210          EXIT
1211       ELSE
1212          i = i + 1
1213       ENDIF
1214
1215    ENDDO
1216
1217    IF ( .NOT. nudging )  THEN
1218       WRITE ( io, 420 )  TRIM( coordinates ), TRIM( temperatures ), &
1219                          TRIM( gradients ), TRIM( slices )
1220    ELSE
1221       WRITE ( io, 428 ) 
1222    ENDIF
1223
1224!
1225!-- Initial humidity profile
1226!-- Building output strings, starting with surface humidity
1227    IF ( humidity  .OR.  passive_scalar )  THEN
1228       WRITE ( temperatures, '(E8.1)' )  q_surface
1229       gradients = '--------'
1230       slices = '       0'
1231       coordinates = '     0.0'
1232       i = 1
1233       DO  WHILE ( q_vertical_gradient_level_ind(i) /= -9999 )
1234         
1235          WRITE (coor_chr,'(E8.1,4X)')  q_init(q_vertical_gradient_level_ind(i))
1236          temperatures = TRIM( temperatures ) // '  ' // TRIM( coor_chr )
1237
1238          WRITE (coor_chr,'(E8.1,4X)')  q_vertical_gradient(i)
1239          gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
1240         
1241          WRITE (coor_chr,'(I8,4X)')  q_vertical_gradient_level_ind(i)
1242          slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
1243         
1244          WRITE (coor_chr,'(F8.1,4X)')  q_vertical_gradient_level(i)
1245          coordinates = TRIM( coordinates ) // '  '  // TRIM( coor_chr )
1246
1247          IF ( i == 10 )  THEN
1248             EXIT
1249          ELSE
1250             i = i + 1
1251          ENDIF
1252
1253       ENDDO
1254
1255       IF ( humidity )  THEN
1256          IF ( .NOT. nudging )  THEN
1257             WRITE ( io, 421 )  TRIM( coordinates ), TRIM( temperatures ), &
1258                                TRIM( gradients ), TRIM( slices )
1259          ENDIF
1260       ELSE
1261          WRITE ( io, 422 )  TRIM( coordinates ), TRIM( temperatures ), &
1262                             TRIM( gradients ), TRIM( slices )
1263       ENDIF
1264    ENDIF
1265
1266!
1267!-- Initial salinity profile
1268!-- Building output strings, starting with surface salinity
1269    IF ( ocean )  THEN
1270       WRITE ( temperatures, '(F6.2)' )  sa_surface
1271       gradients = '------'
1272       slices = '     0'
1273       coordinates = '   0.0'
1274       i = 1
1275       DO  WHILE ( sa_vertical_gradient_level_ind(i) /= -9999 )
1276
1277          WRITE (coor_chr,'(F7.2)')  sa_init(sa_vertical_gradient_level_ind(i))
1278          temperatures = TRIM( temperatures ) // ' ' // TRIM( coor_chr )
1279
1280          WRITE (coor_chr,'(F7.2)')  sa_vertical_gradient(i)
1281          gradients = TRIM( gradients ) // ' ' // TRIM( coor_chr )
1282
1283          WRITE (coor_chr,'(I7)')  sa_vertical_gradient_level_ind(i)
1284          slices = TRIM( slices ) // ' ' // TRIM( coor_chr )
1285
1286          WRITE (coor_chr,'(F7.1)')  sa_vertical_gradient_level(i)
1287          coordinates = TRIM( coordinates ) // ' '  // TRIM( coor_chr )
1288
1289          IF ( i == 10 )  THEN
1290             EXIT
1291          ELSE
1292             i = i + 1
1293          ENDIF
1294
1295       ENDDO
1296
1297       WRITE ( io, 425 )  TRIM( coordinates ), TRIM( temperatures ), &
1298                          TRIM( gradients ), TRIM( slices )
1299    ENDIF
1300
1301
1302!
[1]1303!-- Listing of 1D-profiles
[151]1304    WRITE ( io, 325 )  dt_dopr_listing
[1353]1305    IF ( averaging_interval_pr /= 0.0_wp )  THEN
[151]1306       WRITE ( io, 326 )  averaging_interval_pr, dt_averaging_input_pr
[1]1307    ENDIF
1308
1309!
1310!-- DATA output
1311    WRITE ( io, 330 )
[1353]1312    IF ( averaging_interval_pr /= 0.0_wp )  THEN
[151]1313       WRITE ( io, 326 )  averaging_interval_pr, dt_averaging_input_pr
[1]1314    ENDIF
1315
1316!
1317!-- 1D-profiles
[346]1318    dopr_chr = 'Profile:'
[1]1319    IF ( dopr_n /= 0 )  THEN
1320       WRITE ( io, 331 )
1321
1322       output_format = ''
[1783]1323       output_format = netcdf_data_format_string
1324       IF ( netcdf_deflate == 0 )  THEN
1325          WRITE ( io, 344 )  output_format
1326       ELSE
1327          WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1328       ENDIF
[1]1329
1330       DO  i = 1, dopr_n
1331          dopr_chr = TRIM( dopr_chr ) // ' ' // TRIM( data_output_pr(i) ) // ','
1332          IF ( LEN_TRIM( dopr_chr ) >= 60 )  THEN
1333             WRITE ( io, 332 )  dopr_chr
1334             dopr_chr = '       :'
1335          ENDIF
1336       ENDDO
1337
1338       IF ( dopr_chr /= '' )  THEN
1339          WRITE ( io, 332 )  dopr_chr
1340       ENDIF
1341       WRITE ( io, 333 )  dt_dopr, averaging_interval_pr, dt_averaging_input_pr
[1353]1342       IF ( skip_time_dopr /= 0.0_wp )  WRITE ( io, 339 )  skip_time_dopr
[1]1343    ENDIF
1344
1345!
1346!-- 2D-arrays
1347    DO  av = 0, 1
1348
1349       i = 1
1350       do2d_xy = ''
1351       do2d_xz = ''
1352       do2d_yz = ''
1353       DO  WHILE ( do2d(av,i) /= ' ' )
1354
1355          l = MAX( 2, LEN_TRIM( do2d(av,i) ) )
1356          do2d_mode = do2d(av,i)(l-1:l)
1357
1358          SELECT CASE ( do2d_mode )
1359             CASE ( 'xy' )
1360                ll = LEN_TRIM( do2d_xy )
1361                do2d_xy = do2d_xy(1:ll) // ' ' // do2d(av,i)(1:l-3) // ','
1362             CASE ( 'xz' )
1363                ll = LEN_TRIM( do2d_xz )
1364                do2d_xz = do2d_xz(1:ll) // ' ' // do2d(av,i)(1:l-3) // ','
1365             CASE ( 'yz' )
1366                ll = LEN_TRIM( do2d_yz )
1367                do2d_yz = do2d_yz(1:ll) // ' ' // do2d(av,i)(1:l-3) // ','
1368          END SELECT
1369
1370          i = i + 1
1371
1372       ENDDO
1373
1374       IF ( ( ( do2d_xy /= ''  .AND.  section(1,1) /= -9999 )  .OR.    &
1375              ( do2d_xz /= ''  .AND.  section(1,2) /= -9999 )  .OR.    &
[1327]1376              ( do2d_yz /= ''  .AND.  section(1,3) /= -9999 ) ) )  THEN
[1]1377
1378          IF (  av == 0 )  THEN
1379             WRITE ( io, 334 )  ''
1380          ELSE
1381             WRITE ( io, 334 )  '(time-averaged)'
1382          ENDIF
1383
1384          IF ( do2d_at_begin )  THEN
1385             begin_chr = 'and at the start'
1386          ELSE
1387             begin_chr = ''
1388          ENDIF
1389
1390          output_format = ''
[1783]1391          output_format = netcdf_data_format_string
1392          IF ( netcdf_deflate == 0 )  THEN
1393             WRITE ( io, 344 )  output_format
1394          ELSE
1395             WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1396          ENDIF
[1]1397
1398          IF ( do2d_xy /= ''  .AND.  section(1,1) /= -9999 )  THEN
1399             i = 1
1400             slices = '/'
1401             coordinates = '/'
1402!
[1551]1403!--          Building strings with index and coordinate information of the
[1]1404!--          slices
1405             DO  WHILE ( section(i,1) /= -9999 )
1406
1407                WRITE (section_chr,'(I5)')  section(i,1)
1408                section_chr = ADJUSTL( section_chr )
1409                slices = TRIM( slices ) // TRIM( section_chr ) // '/'
1410
[206]1411                IF ( section(i,1) == -1 )  THEN
[1353]1412                   WRITE (coor_chr,'(F10.1)')  -1.0_wp
[206]1413                ELSE
1414                   WRITE (coor_chr,'(F10.1)')  zu(section(i,1))
1415                ENDIF
[1]1416                coor_chr = ADJUSTL( coor_chr )
1417                coordinates = TRIM( coordinates ) // TRIM( coor_chr ) // '/'
1418
1419                i = i + 1
1420             ENDDO
1421             IF ( av == 0 )  THEN
1422                WRITE ( io, 335 )  'XY', do2d_xy, dt_do2d_xy, &
1423                                   TRIM( begin_chr ), 'k', TRIM( slices ), &
1424                                   TRIM( coordinates )
[1353]1425                IF ( skip_time_do2d_xy /= 0.0_wp )  THEN
[1]1426                   WRITE ( io, 339 )  skip_time_do2d_xy
1427                ENDIF
1428             ELSE
1429                WRITE ( io, 342 )  'XY', do2d_xy, dt_data_output_av, &
1430                                   TRIM( begin_chr ), averaging_interval, &
1431                                   dt_averaging_input, 'k', TRIM( slices ), &
1432                                   TRIM( coordinates )
[1353]1433                IF ( skip_time_data_output_av /= 0.0_wp )  THEN
[1]1434                   WRITE ( io, 339 )  skip_time_data_output_av
1435                ENDIF
1436             ENDIF
[1308]1437             IF ( netcdf_data_format > 4 )  THEN
1438                WRITE ( io, 352 )  ntdim_2d_xy(av)
1439             ELSE
1440                WRITE ( io, 353 )
1441             ENDIF
[1]1442          ENDIF
1443
1444          IF ( do2d_xz /= ''  .AND.  section(1,2) /= -9999 )  THEN
1445             i = 1
1446             slices = '/'
1447             coordinates = '/'
1448!
[1551]1449!--          Building strings with index and coordinate information of the
[1]1450!--          slices
1451             DO  WHILE ( section(i,2) /= -9999 )
1452
1453                WRITE (section_chr,'(I5)')  section(i,2)
1454                section_chr = ADJUSTL( section_chr )
1455                slices = TRIM( slices ) // TRIM( section_chr ) // '/'
1456
1457                WRITE (coor_chr,'(F10.1)')  section(i,2) * dy
1458                coor_chr = ADJUSTL( coor_chr )
1459                coordinates = TRIM( coordinates ) // TRIM( coor_chr ) // '/'
1460
1461                i = i + 1
1462             ENDDO
1463             IF ( av == 0 )  THEN
1464                WRITE ( io, 335 )  'XZ', do2d_xz, dt_do2d_xz, &
1465                                   TRIM( begin_chr ), 'j', TRIM( slices ), &
1466                                   TRIM( coordinates )
[1353]1467                IF ( skip_time_do2d_xz /= 0.0_wp )  THEN
[1]1468                   WRITE ( io, 339 )  skip_time_do2d_xz
1469                ENDIF
1470             ELSE
1471                WRITE ( io, 342 )  'XZ', do2d_xz, dt_data_output_av, &
1472                                   TRIM( begin_chr ), averaging_interval, &
1473                                   dt_averaging_input, 'j', TRIM( slices ), &
1474                                   TRIM( coordinates )
[1353]1475                IF ( skip_time_data_output_av /= 0.0_wp )  THEN
[1]1476                   WRITE ( io, 339 )  skip_time_data_output_av
1477                ENDIF
1478             ENDIF
[1308]1479             IF ( netcdf_data_format > 4 )  THEN
1480                WRITE ( io, 352 )  ntdim_2d_xz(av)
1481             ELSE
1482                WRITE ( io, 353 )
1483             ENDIF
[1]1484          ENDIF
1485
1486          IF ( do2d_yz /= ''  .AND.  section(1,3) /= -9999 )  THEN
1487             i = 1
1488             slices = '/'
1489             coordinates = '/'
1490!
[1551]1491!--          Building strings with index and coordinate information of the
[1]1492!--          slices
1493             DO  WHILE ( section(i,3) /= -9999 )
1494
1495                WRITE (section_chr,'(I5)')  section(i,3)
1496                section_chr = ADJUSTL( section_chr )
1497                slices = TRIM( slices ) // TRIM( section_chr ) // '/'
1498
1499                WRITE (coor_chr,'(F10.1)')  section(i,3) * dx
1500                coor_chr = ADJUSTL( coor_chr )
1501                coordinates = TRIM( coordinates ) // TRIM( coor_chr ) // '/'
1502
1503                i = i + 1
1504             ENDDO
1505             IF ( av == 0 )  THEN
1506                WRITE ( io, 335 )  'YZ', do2d_yz, dt_do2d_yz, &
1507                                   TRIM( begin_chr ), 'i', TRIM( slices ), &
1508                                   TRIM( coordinates )
[1353]1509                IF ( skip_time_do2d_yz /= 0.0_wp )  THEN
[1]1510                   WRITE ( io, 339 )  skip_time_do2d_yz
1511                ENDIF
1512             ELSE
1513                WRITE ( io, 342 )  'YZ', do2d_yz, dt_data_output_av, &
1514                                   TRIM( begin_chr ), averaging_interval, &
1515                                   dt_averaging_input, 'i', TRIM( slices ), &
1516                                   TRIM( coordinates )
[1353]1517                IF ( skip_time_data_output_av /= 0.0_wp )  THEN
[1]1518                   WRITE ( io, 339 )  skip_time_data_output_av
1519                ENDIF
1520             ENDIF
[1308]1521             IF ( netcdf_data_format > 4 )  THEN
1522                WRITE ( io, 352 )  ntdim_2d_yz(av)
1523             ELSE
1524                WRITE ( io, 353 )
1525             ENDIF
[1]1526          ENDIF
1527
1528       ENDIF
1529
1530    ENDDO
1531
1532!
1533!-- 3d-arrays
1534    DO  av = 0, 1
1535
1536       i = 1
1537       do3d_chr = ''
1538       DO  WHILE ( do3d(av,i) /= ' ' )
1539
1540          do3d_chr = TRIM( do3d_chr ) // ' ' // TRIM( do3d(av,i) ) // ','
1541          i = i + 1
1542
1543       ENDDO
1544
1545       IF ( do3d_chr /= '' )  THEN
1546          IF ( av == 0 )  THEN
1547             WRITE ( io, 336 )  ''
1548          ELSE
1549             WRITE ( io, 336 )  '(time-averaged)'
1550          ENDIF
1551
[1783]1552          output_format = netcdf_data_format_string
1553          IF ( netcdf_deflate == 0 )  THEN
1554             WRITE ( io, 344 )  output_format
1555          ELSE
1556             WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1557          ENDIF
[1]1558
1559          IF ( do3d_at_begin )  THEN
1560             begin_chr = 'and at the start'
1561          ELSE
1562             begin_chr = ''
1563          ENDIF
1564          IF ( av == 0 )  THEN
1565             WRITE ( io, 337 )  do3d_chr, dt_do3d, TRIM( begin_chr ), &
1566                                zu(nz_do3d), nz_do3d
1567          ELSE
1568             WRITE ( io, 343 )  do3d_chr, dt_data_output_av,           &
1569                                TRIM( begin_chr ), averaging_interval, &
1570                                dt_averaging_input, zu(nz_do3d), nz_do3d
1571          ENDIF
1572
[1308]1573          IF ( netcdf_data_format > 4 )  THEN
1574             WRITE ( io, 352 )  ntdim_3d(av)
1575          ELSE
1576             WRITE ( io, 353 )
1577          ENDIF
1578
[1]1579          IF ( av == 0 )  THEN
[1353]1580             IF ( skip_time_do3d /= 0.0_wp )  THEN
[1]1581                WRITE ( io, 339 )  skip_time_do3d
1582             ENDIF
1583          ELSE
[1353]1584             IF ( skip_time_data_output_av /= 0.0_wp )  THEN
[1]1585                WRITE ( io, 339 )  skip_time_data_output_av
1586             ENDIF
1587          ENDIF
1588
1589       ENDIF
1590
1591    ENDDO
1592
1593!
[410]1594!-- masked arrays
1595    IF ( masks > 0 )  WRITE ( io, 345 )  &
1596         mask_scale_x, mask_scale_y, mask_scale_z
1597    DO  mid = 1, masks
1598       DO  av = 0, 1
1599
1600          i = 1
1601          domask_chr = ''
1602          DO  WHILE ( domask(mid,av,i) /= ' ' )
1603             domask_chr = TRIM( domask_chr ) // ' ' //  &
1604                          TRIM( domask(mid,av,i) ) // ','
1605             i = i + 1
1606          ENDDO
1607
1608          IF ( domask_chr /= '' )  THEN
1609             IF ( av == 0 )  THEN
1610                WRITE ( io, 346 )  '', mid
1611             ELSE
1612                WRITE ( io, 346 )  ' (time-averaged)', mid
1613             ENDIF
1614
[1783]1615             output_format = netcdf_data_format_string
[1308]1616!--          Parallel output not implemented for mask data, hence
1617!--          output_format must be adjusted.
1618             IF ( netcdf_data_format == 5 ) output_format = 'netCDF4/HDF5'
1619             IF ( netcdf_data_format == 6 ) output_format = 'netCDF4/HDF5 classic'
[1783]1620             IF ( netcdf_deflate == 0 )  THEN
1621                WRITE ( io, 344 )  output_format
1622             ELSE
1623                WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1624             ENDIF
[410]1625
1626             IF ( av == 0 )  THEN
1627                WRITE ( io, 347 )  domask_chr, dt_domask(mid)
1628             ELSE
1629                WRITE ( io, 348 )  domask_chr, dt_data_output_av, &
1630                                   averaging_interval, dt_averaging_input
1631             ENDIF
1632
1633             IF ( av == 0 )  THEN
[1353]1634                IF ( skip_time_domask(mid) /= 0.0_wp )  THEN
[410]1635                   WRITE ( io, 339 )  skip_time_domask(mid)
1636                ENDIF
1637             ELSE
[1353]1638                IF ( skip_time_data_output_av /= 0.0_wp )  THEN
[410]1639                   WRITE ( io, 339 )  skip_time_data_output_av
1640                ENDIF
1641             ENDIF
1642!
1643!--          output locations
1644             DO  dim = 1, 3
[1353]1645                IF ( mask(mid,dim,1) >= 0.0_wp )  THEN
[410]1646                   count = 0
[1353]1647                   DO  WHILE ( mask(mid,dim,count+1) >= 0.0_wp )
[410]1648                      count = count + 1
1649                   ENDDO
1650                   WRITE ( io, 349 )  dir(dim), dir(dim), mid, dir(dim), &
1651                                      mask(mid,dim,:count)
[1353]1652                ELSEIF ( mask_loop(mid,dim,1) < 0.0_wp .AND.  &
1653                         mask_loop(mid,dim,2) < 0.0_wp .AND.  &
1654                         mask_loop(mid,dim,3) == 0.0_wp )  THEN
[410]1655                   WRITE ( io, 350 )  dir(dim), dir(dim)
[1353]1656                ELSEIF ( mask_loop(mid,dim,3) == 0.0_wp )  THEN
[410]1657                   WRITE ( io, 351 )  dir(dim), dir(dim), mid, dir(dim), &
1658                                      mask_loop(mid,dim,1:2)
1659                ELSE
1660                   WRITE ( io, 351 )  dir(dim), dir(dim), mid, dir(dim), &
1661                                      mask_loop(mid,dim,1:3)
1662                ENDIF
1663             ENDDO
1664          ENDIF
1665
1666       ENDDO
1667    ENDDO
1668
1669!
[1]1670!-- Timeseries
[1322]1671    IF ( dt_dots /= 9999999.9_wp )  THEN
[1]1672       WRITE ( io, 340 )
1673
[1783]1674       output_format = netcdf_data_format_string
1675       IF ( netcdf_deflate == 0 )  THEN
1676          WRITE ( io, 344 )  output_format
1677       ELSE
1678          WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1679       ENDIF
[1]1680       WRITE ( io, 341 )  dt_dots
1681    ENDIF
1682
1683#if defined( __dvrp_graphics )
1684!
1685!-- Dvrp-output
[1322]1686    IF ( dt_dvrp /= 9999999.9_wp )  THEN
[1]1687       WRITE ( io, 360 )  dt_dvrp, TRIM( dvrp_output ), TRIM( dvrp_host ), &
1688                          TRIM( dvrp_username ), TRIM( dvrp_directory )
1689       i = 1
1690       l = 0
[336]1691       m = 0
[1]1692       DO WHILE ( mode_dvrp(i) /= ' ' )
1693          IF ( mode_dvrp(i)(1:10) == 'isosurface' )  THEN
[130]1694             READ ( mode_dvrp(i), '(10X,I2)' )  j
[1]1695             l = l + 1
1696             IF ( do3d(0,j) /= ' ' )  THEN
[336]1697                WRITE ( io, 361 )  TRIM( do3d(0,j) ), threshold(l), &
1698                                   isosurface_color(:,l)
[1]1699             ENDIF
1700          ELSEIF ( mode_dvrp(i)(1:6) == 'slicer' )  THEN
[130]1701             READ ( mode_dvrp(i), '(6X,I2)' )  j
[336]1702             m = m + 1
1703             IF ( do2d(0,j) /= ' ' )  THEN
1704                WRITE ( io, 362 )  TRIM( do2d(0,j) ), &
1705                                   slicer_range_limits_dvrp(:,m)
1706             ENDIF
[1]1707          ELSEIF ( mode_dvrp(i)(1:9) == 'particles' )  THEN
[336]1708             WRITE ( io, 363 )  dvrp_psize
1709             IF ( particle_dvrpsize /= 'none' )  THEN
1710                WRITE ( io, 364 )  'size', TRIM( particle_dvrpsize ), &
1711                                   dvrpsize_interval
1712             ENDIF
1713             IF ( particle_color /= 'none' )  THEN
1714                WRITE ( io, 364 )  'color', TRIM( particle_color ), &
1715                                   color_interval
1716             ENDIF
[1]1717          ENDIF
1718          i = i + 1
1719       ENDDO
[237]1720
[336]1721       WRITE ( io, 365 )  groundplate_color, superelevation_x, &
1722                          superelevation_y, superelevation, clip_dvrp_l, &
1723                          clip_dvrp_r, clip_dvrp_s, clip_dvrp_n
1724
1725       IF ( TRIM( topography ) /= 'flat' )  THEN
1726          WRITE ( io, 366 )  topography_color
1727          IF ( cluster_size > 1 )  THEN
1728             WRITE ( io, 367 )  cluster_size
1729          ENDIF
[237]1730       ENDIF
1731
[1]1732    ENDIF
1733#endif
1734
1735!
1736!-- Spectra output
[1322]1737    IF ( dt_dosp /= 9999999.9_wp )  THEN
[1]1738       WRITE ( io, 370 )
1739
[1783]1740       output_format = netcdf_data_format_string
1741       IF ( netcdf_deflate == 0 )  THEN
1742          WRITE ( io, 344 )  output_format
1743       ELSE
1744          WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1745       ENDIF
[1]1746       WRITE ( io, 371 )  dt_dosp
[1353]1747       IF ( skip_time_dosp /= 0.0_wp )  WRITE ( io, 339 )  skip_time_dosp
[1]1748       WRITE ( io, 372 )  ( data_output_sp(i), i = 1,10 ),     &
1749                          ( spectra_direction(i), i = 1,10 ),  &
[189]1750                          ( comp_spectra_level(i), i = 1,100 ), &
1751                          ( plot_spectra_level(i), i = 1,100 ), &
[1]1752                          averaging_interval_sp, dt_averaging_input_pr
1753    ENDIF
1754
1755    WRITE ( io, 99 )
1756
1757!
1758!-- Physical quantities
1759    WRITE ( io, 400 )
1760
1761!
1762!-- Geostrophic parameters
[1551]1763    IF ( radiation .AND. radiation_scheme /= 'constant' )  THEN
1764       WRITE ( io, 417 )  lambda
1765    ENDIF
1766    WRITE ( io, 410 )  phi, omega, f, fs
[1]1767
1768!
1769!-- Other quantities
1770    WRITE ( io, 411 )  g
[1551]1771    IF ( radiation .AND. radiation_scheme /= 'constant' )  THEN
1772       WRITE ( io, 418 )  day_init, time_utc_init
1773    ENDIF
1774
[1179]1775    WRITE ( io, 412 )  TRIM( reference_state )
1776    IF ( use_single_reference_value )  THEN
[97]1777       IF ( ocean )  THEN
[1179]1778          WRITE ( io, 413 )  prho_reference
[97]1779       ELSE
[1179]1780          WRITE ( io, 414 )  pt_reference
[97]1781       ENDIF
1782    ENDIF
[1]1783
1784!
1785!-- Cloud physics parameters
[1299]1786    IF ( cloud_physics )  THEN
[57]1787       WRITE ( io, 415 )
1788       WRITE ( io, 416 ) surface_pressure, r_d, rho_surface, cp, l_v
[1115]1789       IF ( icloud_scheme == 0 )  THEN
[1353]1790          WRITE ( io, 510 ) 1.0E-6_wp * nc_const
[1115]1791          IF ( precipitation )  WRITE ( io, 511 ) c_sedimentation
1792       ENDIF
[1]1793    ENDIF
1794
1795!
[824]1796!-- Cloud physcis parameters / quantities / numerical methods
1797    WRITE ( io, 430 )
1798    IF ( humidity .AND. .NOT. cloud_physics .AND. .NOT. cloud_droplets)  THEN
1799       WRITE ( io, 431 )
1800    ELSEIF ( humidity  .AND.  cloud_physics )  THEN
1801       WRITE ( io, 432 )
[1496]1802       IF ( cloud_top_radiation )  WRITE ( io, 132 )
[1115]1803       IF ( icloud_scheme == 1 )  THEN
1804          IF ( precipitation )  WRITE ( io, 133 )
1805       ELSEIF ( icloud_scheme == 0 )  THEN
1806          IF ( drizzle )  WRITE ( io, 506 )
1807          IF ( precipitation )  THEN
1808             WRITE ( io, 505 )
1809             IF ( turbulence )  WRITE ( io, 507 )
1810             IF ( ventilation_effect )  WRITE ( io, 508 )
1811             IF ( limiter_sedimentation )  WRITE ( io, 509 )
1812          ENDIF
1813       ENDIF
[824]1814    ELSEIF ( humidity  .AND.  cloud_droplets )  THEN
1815       WRITE ( io, 433 )
1816       IF ( curvature_solution_effects )  WRITE ( io, 434 )
[825]1817       IF ( collision_kernel /= 'none' )  THEN
1818          WRITE ( io, 435 )  TRIM( collision_kernel )
[828]1819          IF ( collision_kernel(6:9) == 'fast' )  THEN
1820             WRITE ( io, 436 )  radius_classes, dissipation_classes
1821          ENDIF
[825]1822       ELSE
[828]1823          WRITE ( io, 437 )
[825]1824       ENDIF
[824]1825    ENDIF
1826
1827!
[1]1828!-- LES / turbulence parameters
1829    WRITE ( io, 450 )
1830
1831!--
1832! ... LES-constants used must still be added here
1833!--
1834    IF ( constant_diffusion )  THEN
1835       WRITE ( io, 451 )  km_constant, km_constant/prandtl_number, &
1836                          prandtl_number
1837    ENDIF
1838    IF ( .NOT. constant_diffusion)  THEN
[1353]1839       IF ( e_init > 0.0_wp )  WRITE ( io, 455 )  e_init
1840       IF ( e_min > 0.0_wp )  WRITE ( io, 454 )  e_min
[1]1841       IF ( wall_adjustment )  WRITE ( io, 453 )  wall_adjustment_factor
1842    ENDIF
1843
1844!
1845!-- Special actions during the run
1846    WRITE ( io, 470 )
1847    IF ( create_disturbances )  THEN
1848       WRITE ( io, 471 )  dt_disturb, disturbance_amplitude,                   &
1849                          zu(disturbance_level_ind_b), disturbance_level_ind_b,&
1850                          zu(disturbance_level_ind_t), disturbance_level_ind_t
[707]1851       IF ( .NOT. bc_lr_cyc  .OR.  .NOT. bc_ns_cyc )  THEN
[1]1852          WRITE ( io, 472 )  inflow_disturbance_begin, inflow_disturbance_end
1853       ELSE
1854          WRITE ( io, 473 )  disturbance_energy_limit
1855       ENDIF
1856       WRITE ( io, 474 )  TRIM( random_generator )
1857    ENDIF
[1353]1858    IF ( pt_surface_initial_change /= 0.0_wp )  THEN
[1]1859       WRITE ( io, 475 )  pt_surface_initial_change
1860    ENDIF
[1353]1861    IF ( humidity  .AND.  q_surface_initial_change /= 0.0_wp )  THEN
[1]1862       WRITE ( io, 476 )  q_surface_initial_change       
1863    ENDIF
[1353]1864    IF ( passive_scalar  .AND.  q_surface_initial_change /= 0.0_wp )  THEN
[1]1865       WRITE ( io, 477 )  q_surface_initial_change       
1866    ENDIF
1867
[60]1868    IF ( particle_advection )  THEN
[1]1869!
[60]1870!--    Particle attributes
1871       WRITE ( io, 480 )  particle_advection_start, dt_prel, bc_par_lr, &
1872                          bc_par_ns, bc_par_b, bc_par_t, particle_maximum_age, &
[1359]1873                          end_time_prel
[60]1874       IF ( use_sgs_for_particles )  WRITE ( io, 488 )  dt_min_part
1875       IF ( random_start_position )  WRITE ( io, 481 )
[1575]1876       IF ( seed_follows_topography )  WRITE ( io, 496 )
[60]1877       IF ( particles_per_point > 1 )  WRITE ( io, 489 )  particles_per_point
1878       WRITE ( io, 495 )  total_number_of_particles
[824]1879       IF ( use_particle_tails  .AND.  maximum_number_of_tailpoints /= 0 )  THEN
[60]1880          WRITE ( io, 483 )  maximum_number_of_tailpoints
1881          IF ( minimum_tailpoint_distance /= 0 )  THEN
1882             WRITE ( io, 484 )  total_number_of_tails,      &
1883                                minimum_tailpoint_distance, &
1884                                maximum_tailpoint_age
1885          ENDIF
[1]1886       ENDIF
[1322]1887       IF ( dt_write_particle_data /= 9999999.9_wp )  THEN
[60]1888          WRITE ( io, 485 )  dt_write_particle_data
[1327]1889          IF ( netcdf_data_format > 1 )  THEN
1890             output_format = 'netcdf (64 bit offset) and binary'
[1]1891          ELSE
[1327]1892             output_format = 'netcdf and binary'
[1]1893          ENDIF
[1783]1894          IF ( netcdf_deflate == 0 )  THEN
1895             WRITE ( io, 344 )  output_format
1896          ELSE
1897             WRITE ( io, 354 )  TRIM( output_format ), netcdf_deflate
1898          ENDIF
[1]1899       ENDIF
[1322]1900       IF ( dt_dopts /= 9999999.9_wp )  WRITE ( io, 494 )  dt_dopts
[60]1901       IF ( write_particle_statistics )  WRITE ( io, 486 )
[1]1902
[60]1903       WRITE ( io, 487 )  number_of_particle_groups
[1]1904
[60]1905       DO  i = 1, number_of_particle_groups
[1322]1906          IF ( i == 1  .AND.  density_ratio(i) == 9999999.9_wp )  THEN
[1353]1907             WRITE ( io, 490 )  i, 0.0_wp
[60]1908             WRITE ( io, 492 )
[1]1909          ELSE
[60]1910             WRITE ( io, 490 )  i, radius(i)
[1353]1911             IF ( density_ratio(i) /= 0.0_wp )  THEN
[60]1912                WRITE ( io, 491 )  density_ratio(i)
1913             ELSE
1914                WRITE ( io, 492 )
1915             ENDIF
[1]1916          ENDIF
[60]1917          WRITE ( io, 493 )  psl(i), psr(i), pss(i), psn(i), psb(i), pst(i), &
1918                             pdx(i), pdy(i), pdz(i)
[336]1919          IF ( .NOT. vertical_particle_advection(i) )  WRITE ( io, 482 )
[60]1920       ENDDO
[1]1921
[60]1922    ENDIF
[1]1923
[60]1924
[1]1925!
1926!-- Parameters of 1D-model
1927    IF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
1928       WRITE ( io, 500 )  end_time_1d, dt_run_control_1d, dt_pr_1d, &
1929                          mixing_length_1d, dissipation_1d
1930       IF ( damp_level_ind_1d /= nzt+1 )  THEN
1931          WRITE ( io, 502 )  zu(damp_level_ind_1d), damp_level_ind_1d
1932       ENDIF
1933    ENDIF
1934
1935!
[1551]1936!-- User-defined information
[1]1937    CALL user_header( io )
1938
1939    WRITE ( io, 99 )
1940
1941!
1942!-- Write buffer contents to disc immediately
[82]1943    CALL local_flush( io )
[1]1944
1945!
1946!-- Here the FORMATs start
1947
1948 99 FORMAT (1X,78('-'))
[1468]1949100 FORMAT (/1X,'******************************',4X,44('-')/        &
1950            1X,'* ',A,' *',4X,A/                               &
1951            1X,'******************************',4X,44('-'))
1952101 FORMAT (35X,'coupled run using MPI-',I1,': ',A/ &
1953            35X,42('-'))
1954102 FORMAT (/' Date:                 ',A8,4X,'Run:       ',A20/      &
1955            ' Time:                 ',A8,4X,'Run-No.:   ',I2.2/     &
[1106]1956            ' Run on host:        ',A10)
[1]1957#if defined( __parallel )
[1468]1958103 FORMAT (' Number of PEs:',10X,I6,4X,'Processor grid (x,y): (',I4,',',I4, &
[1]1959              ')',1X,A)
[1468]1960104 FORMAT (' Number of PEs:',10X,I6,4X,'Tasks:',I4,'   threads per task:',I4/ &
1961              35X,'Processor grid (x,y): (',I4,',',I4,')',1X,A)
1962105 FORMAT (35X,'One additional PE is used to handle'/37X,'the dvrp output!')
1963106 FORMAT (35X,'A 1d-decomposition along x is forced'/ &
1964            35X,'because the job is running on an SMP-cluster')
1965107 FORMAT (35X,'A 1d-decomposition along ',A,' is used')
1966108 FORMAT (35X,'Max. # of parallel I/O streams is ',I5)
1967109 FORMAT (35X,'Precursor run for coupled atmos-ocean run'/ &
1968            35X,42('-'))
1969114 FORMAT (35X,'Coupled atmosphere-ocean run following'/ &
1970            35X,'independent precursor runs'/             &
1971            35X,42('-'))
[1111]1972117 FORMAT (' Accelerator boards / node:  ',I2)
[1]1973#endif
1974110 FORMAT (/' Numerical Schemes:'/ &
1975             ' -----------------'/)
1976111 FORMAT (' --> Solve perturbation pressure via FFT using ',A,' routines')
1977112 FORMAT (' --> Solve perturbation pressure via SOR-Red/Black-Schema'/ &
[1697]1978            '     Iterations (initial/other): ',I3,'/',I3,'  omega =',F6.3)
[1]1979113 FORMAT (' --> Momentum advection via Piascek-Williams-Scheme (Form C3)', &
1980                  ' or Upstream')
[1216]1981115 FORMAT ('     FFT and transpositions are overlapping')
[1]1982116 FORMAT (' --> Scalar advection via Piascek-Williams-Scheme (Form C3)', &
1983                  ' or Upstream')
1984118 FORMAT (' --> Scalar advection via Bott-Chlond-Scheme')
[1106]1985119 FORMAT (' --> Galilei-Transform applied to horizontal advection:'/ &
1986            '     translation velocity = ',A/ &
[1]1987            '     distance advected ',A,':  ',F8.3,' km(x)  ',F8.3,' km(y)')
[1111]1988120 FORMAT (' Accelerator boards: ',8X,I2)
[1]1989122 FORMAT (' --> Time differencing scheme: ',A)
[108]1990123 FORMAT (' --> Rayleigh-Damping active, starts ',A,' z = ',F8.2,' m'/ &
[1697]1991            '     maximum damping coefficient:',F6.3, ' 1/s')
[1]1992129 FORMAT (' --> Additional prognostic equation for the specific humidity')
1993130 FORMAT (' --> Additional prognostic equation for the total water content')
[940]1994131 FORMAT (' --> No pt-equation solved. Neutral stratification with pt = ', &
1995                  F6.2, ' K assumed')
[824]1996132 FORMAT ('     Parameterization of long-wave radiation processes via'/ &
[1]1997            '     effective emissivity scheme')
[824]1998133 FORMAT ('     Precipitation parameterization via Kessler-Scheme')
[1]1999134 FORMAT (' --> Additional prognostic equation for a passive scalar')
[1575]2000135 FORMAT (' --> Solve perturbation pressure via ',A,' method (', &
[1]2001                  A,'-cycle)'/ &
2002            '     number of grid levels:                   ',I2/ &
2003            '     Gauss-Seidel red/black iterations:       ',I2)
2004136 FORMAT ('     gridpoints of coarsest subdomain (x,y,z): (',I3,',',I3,',', &
2005                  I3,')')
2006137 FORMAT ('     level data gathered on PE0 at level:     ',I2/ &
2007            '     gridpoints of coarsest subdomain (x,y,z): (',I3,',',I3,',', &
2008                  I3,')'/ &
2009            '     gridpoints of coarsest domain (x,y,z):    (',I3,',',I3,',', &
2010                  I3,')')
[63]2011139 FORMAT (' --> Loop optimization method: ',A)
[1]2012140 FORMAT ('     maximum residual allowed:                ',E10.3)
2013141 FORMAT ('     fixed number of multigrid cycles:        ',I4)
2014142 FORMAT ('     perturbation pressure is calculated at every Runge-Kutta ', &
2015                  'step')
[87]2016143 FORMAT ('     Euler/upstream scheme is used for the SGS turbulent ', &
2017                  'kinetic energy')
[927]2018144 FORMAT ('     masking method is used')
[1]2019150 FORMAT (' --> Volume flow at the right and north boundary will be ', &
[241]2020                  'conserved'/ &
2021            '     using the ',A,' mode')
2022151 FORMAT ('     with u_bulk = ',F7.3,' m/s and v_bulk = ',F7.3,' m/s')
[306]2023152 FORMAT (' --> External pressure gradient directly prescribed by the user:',&
2024           /'     ',2(1X,E12.5),'Pa/m in x/y direction', &
2025           /'     starting from dp_level_b =', F8.3, 'm', A /)
[1365]2026160 FORMAT (//' Large scale forcing and nudging:'/ &
2027              ' -------------------------------'/)
2028161 FORMAT (' --> No large scale forcing from external is used (default) ')
2029162 FORMAT (' --> Large scale forcing from external file LSF_DATA is used: ')
2030163 FORMAT ('     - large scale advection tendencies ')
2031164 FORMAT ('     - large scale subsidence velocity w_subs ')
2032165 FORMAT ('     - large scale subsidence tendencies ')
2033167 FORMAT ('     - and geostrophic wind components ug and vg')
2034168 FORMAT (' --> Large-scale vertical motion is used in the ', &
[1299]2035                  'prognostic equation(s) for')
[1365]2036169 FORMAT ('     the scalar(s) only')
2037170 FORMAT (' --> Nudging is used')
2038171 FORMAT (' --> No nudging is used (default) ')
2039180 FORMAT ('     - prescribed surface values for temperature')
[1376]2040181 FORMAT ('     - prescribed surface fluxes for temperature')
2041182 FORMAT ('     - prescribed surface values for humidity')
[1365]2042183 FORMAT ('     - prescribed surface fluxes for humidity')
[1]2043200 FORMAT (//' Run time and time step information:'/ &
2044             ' ----------------------------------'/)
[1106]2045201 FORMAT ( ' Timestep:             variable     maximum value: ',F6.3,' s', &
[1697]2046             '    CFL-factor:',F5.2)
[1106]2047202 FORMAT ( ' Timestep:          dt = ',F6.3,' s'/)
2048203 FORMAT ( ' Start time:          ',F9.3,' s'/ &
2049             ' End time:            ',F9.3,' s')
[1]2050204 FORMAT ( A,F9.3,' s')
2051205 FORMAT ( A,F9.3,' s',5X,'restart every',17X,F9.3,' s')
[1106]2052206 FORMAT (/' Time reached:        ',F9.3,' s'/ &
2053             ' CPU-time used:       ',F9.3,' s     per timestep:               ', &
2054               '  ',F9.3,' s'/                                                    &
[1111]2055             '                                      per second of simulated tim', &
[1]2056               'e: ',F9.3,' s')
[1106]2057207 FORMAT ( ' Coupling start time: ',F9.3,' s')
[1]2058250 FORMAT (//' Computational grid and domain size:'/ &
2059              ' ----------------------------------'// &
2060              ' Grid length:      dx =    ',F7.3,' m    dy =    ',F7.3, &
2061              ' m    dz =    ',F7.3,' m'/ &
2062              ' Domain size:       x = ',F10.3,' m     y = ',F10.3, &
2063              ' m  z(u) = ',F10.3,' m'/)
2064252 FORMAT (' dz constant up to ',F10.3,' m (k=',I4,'), then stretched by', &
[1697]2065              ' factor:',F6.3/ &
[1]2066            ' maximum dz not to be exceeded is dz_max = ',F10.3,' m'/)
2067254 FORMAT (' Number of gridpoints (x,y,z):  (0:',I4,', 0:',I4,', 0:',I4,')'/ &
2068            ' Subdomain size (x,y,z):        (  ',I4,',   ',I4,',   ',I4,')'/)
2069260 FORMAT (/' The model has a slope in x-direction. Inclination angle: ',F6.2,&
2070             ' degrees')
[1551]2071270 FORMAT (//' Topography information:'/ &
2072              ' ----------------------'// &
[1]2073              1X,'Topography: ',A)
2074271 FORMAT (  ' Building size (x/y/z) in m: ',F5.1,' / ',F5.1,' / ',F5.1/ &
2075              ' Horizontal index bounds (l/r/s/n): ',I4,' / ',I4,' / ',I4, &
2076                ' / ',I4)
[240]2077272 FORMAT (  ' Single quasi-2D street canyon of infinite length in ',A, &
2078              ' direction' / &
2079              ' Canyon height: ', F6.2, 'm, ch = ', I4, '.'      / &
2080              ' Canyon position (',A,'-walls): cxl = ', I4,', cxr = ', I4, '.')
[256]2081278 FORMAT (' Topography grid definition convention:'/ &
2082            ' cell edge (staggered grid points'/  &
2083            ' (u in x-direction, v in y-direction))' /)
2084279 FORMAT (' Topography grid definition convention:'/ &
2085            ' cell center (scalar grid points)' /)
[138]2086280 FORMAT (//' Vegetation canopy (drag) model:'/ &
2087              ' ------------------------------'// &
2088              ' Canopy mode: ', A / &
[1484]2089              ' Canopy height: ',F6.2,'m (',I4,' grid points)' / &
[138]2090              ' Leaf drag coefficient: ',F6.2 /)
[1484]2091281 FORMAT (/ ' Scalar exchange coefficient: ',F6.2 / &
[153]2092              ' Scalar concentration at leaf surfaces in kg/m**3: ',F6.2 /)
2093282 FORMAT (' Predefined constant heatflux at the top of the vegetation: ',F6.2,' K m/s')
2094283 FORMAT (/ ' Characteristic levels of the leaf area density:'// &
[138]2095              ' Height:              ',A,'  m'/ &
2096              ' Leaf area density:   ',A,'  m**2/m**3'/ &
2097              ' Gradient:            ',A,'  m**2/m**4'/ &
2098              ' Gridpoint:           ',A)
[1484]2099284 FORMAT (//' Characteristic levels of the leaf area density and coefficients:'// &
2100              ' Height:              ',A,'  m'/ &
2101              ' Leaf area density:   ',A,'  m**2/m**3'/ &
2102              ' Coefficient alpha: ',F6.2 / &
2103              ' Coefficient beta: ',F6.2 / &
2104              ' Leaf area index: ',F6.2,'  m**2/m**2' /)
[138]2105               
[1]2106300 FORMAT (//' Boundary conditions:'/ &
2107             ' -------------------'// &
2108             '                     p                    uv             ', &
[1551]2109             '                     pt'// &
[1]2110             ' B. bound.: ',A/ &
2111             ' T. bound.: ',A)
[97]2112301 FORMAT (/'                     ',A// &
[1]2113             ' B. bound.: ',A/ &
2114             ' T. bound.: ',A)
[19]2115303 FORMAT (/' Bottom surface fluxes are used in diffusion terms at k=1')
2116304 FORMAT (/' Top surface fluxes are used in diffusion terms at k=nzt')
2117305 FORMAT (//'    Prandtl-Layer between bottom surface and first ', &
2118               'computational u,v-level:'// &
[1697]2119             '       zp = ',F6.2,' m   z0 =',F7.4,' m   z0h =',F8.5,&
2120             ' m   kappa =',F5.2/ &
2121             '       Rif value range:   ',F8.2,' <= rif <=',F6.2)
[97]2122306 FORMAT ('       Predefined constant heatflux:   ',F9.6,' K m/s')
[1]2123307 FORMAT ('       Heatflux has a random normal distribution')
2124308 FORMAT ('       Predefined surface temperature')
[97]2125309 FORMAT ('       Predefined constant salinityflux:   ',F9.6,' psu m/s')
[1]2126310 FORMAT (//'    1D-Model:'// &
2127             '       Rif value range:   ',F6.2,' <= rif <=',F6.2)
2128311 FORMAT ('       Predefined constant humidity flux: ',E10.3,' m/s')
2129312 FORMAT ('       Predefined surface humidity')
2130313 FORMAT ('       Predefined constant scalar flux: ',E10.3,' kg/(m**2 s)')
2131314 FORMAT ('       Predefined scalar value at the surface')
[19]2132315 FORMAT ('       Humidity / scalar flux at top surface is 0.0')
[102]2133316 FORMAT ('       Sensible heatflux and momentum flux from coupled ', &
2134                    'atmosphere model')
[1]2135317 FORMAT (//' Lateral boundaries:'/ &
2136            '       left/right:  ',A/    &
2137            '       north/south: ',A)
[1159]2138318 FORMAT (/'       use_cmax: ',L1 / &
2139            '       pt damping layer width = ',F8.2,' m, pt ', &
[1697]2140                    'damping factor =',F7.4)
[151]2141319 FORMAT ('       turbulence recycling at inflow switched on'/ &
2142            '       width of recycling domain: ',F7.1,' m   grid index: ',I4/ &
2143            '       inflow damping height: ',F6.1,' m   width: ',F6.1,' m')
2144320 FORMAT ('       Predefined constant momentumflux:  u: ',F9.6,' m**2/s**2'/ &
[103]2145            '                                          v: ',F9.6,' m**2/s**2')
[1365]2146321 FORMAT (//' Initial profiles:'/ &
2147              ' ----------------')
[1560]2148322 FORMAT ('       turbulence recycling at inflow switched on'/ &
2149            '       y shift of the recycled inflow turbulence switched on'/ &
2150            '       width of recycling domain: ',F7.1,' m   grid index: ',I4/ &
[1592]2151            '       inflow damping height: ',F6.1,' m   width: ',F6.1,' m'/)
[151]2152325 FORMAT (//' List output:'/ &
[1]2153             ' -----------'//  &
2154            '    1D-Profiles:'/    &
2155            '       Output every             ',F8.2,' s')
[151]2156326 FORMAT ('       Time averaged over       ',F8.2,' s'/ &
[1]2157            '       Averaging input every    ',F8.2,' s')
2158330 FORMAT (//' Data output:'/ &
2159             ' -----------'/)
2160331 FORMAT (/'    1D-Profiles:')
2161332 FORMAT (/'       ',A)
2162333 FORMAT ('       Output every             ',F8.2,' s',/ &
2163            '       Time averaged over       ',F8.2,' s'/ &
2164            '       Averaging input every    ',F8.2,' s')
2165334 FORMAT (/'    2D-Arrays',A,':')
2166335 FORMAT (/'       ',A2,'-cross-section  Arrays: ',A/ &
2167            '       Output every             ',F8.2,' s  ',A/ &
2168            '       Cross sections at ',A1,' = ',A/ &
2169            '       scalar-coordinates:   ',A,' m'/)
2170336 FORMAT (/'    3D-Arrays',A,':')
2171337 FORMAT (/'       Arrays: ',A/ &
2172            '       Output every             ',F8.2,' s  ',A/ &
2173            '       Upper output limit at    ',F8.2,' m  (GP ',I4,')'/)
2174339 FORMAT ('       No output during initial ',F8.2,' s')
2175340 FORMAT (/'    Time series:')
2176341 FORMAT ('       Output every             ',F8.2,' s'/)
2177342 FORMAT (/'       ',A2,'-cross-section  Arrays: ',A/ &
2178            '       Output every             ',F8.2,' s  ',A/ &
2179            '       Time averaged over       ',F8.2,' s'/ &
2180            '       Averaging input every    ',F8.2,' s'/ &
2181            '       Cross sections at ',A1,' = ',A/ &
2182            '       scalar-coordinates:   ',A,' m'/)
2183343 FORMAT (/'       Arrays: ',A/ &
2184            '       Output every             ',F8.2,' s  ',A/ &
2185            '       Time averaged over       ',F8.2,' s'/ &
2186            '       Averaging input every    ',F8.2,' s'/ &
2187            '       Upper output limit at    ',F8.2,' m  (GP ',I4,')'/)
[292]2188344 FORMAT ('       Output format: ',A/)
[410]2189345 FORMAT (/'    Scaling lengths for output locations of all subsequent mask IDs:',/ &
2190            '       mask_scale_x (in x-direction): ',F9.3, ' m',/ &
2191            '       mask_scale_y (in y-direction): ',F9.3, ' m',/ &
2192            '       mask_scale_z (in z-direction): ',F9.3, ' m' )
2193346 FORMAT (/'    Masked data output',A,' for mask ID ',I2, ':')
2194347 FORMAT ('       Variables: ',A/ &
2195            '       Output every             ',F8.2,' s')
2196348 FORMAT ('       Variables: ',A/ &
2197            '       Output every             ',F8.2,' s'/ &
2198            '       Time averaged over       ',F8.2,' s'/ &
2199            '       Averaging input every    ',F8.2,' s')
2200349 FORMAT (/'       Output locations in ',A,'-direction in multiples of ', &
2201            'mask_scale_',A,' predefined by array mask_',I2.2,'_',A,':'/ &
2202            13('       ',8(F8.2,',')/) )
2203350 FORMAT (/'       Output locations in ',A,'-direction: ', &
2204            'all gridpoints along ',A,'-direction (default).' )
2205351 FORMAT (/'       Output locations in ',A,'-direction in multiples of ', &
2206            'mask_scale_',A,' constructed from array mask_',I2.2,'_',A,'_loop:'/ &
2207            '          loop begin:',F8.2,', end:',F8.2,', stride:',F8.2 )
[1313]2208352 FORMAT  (/'       Number of output time levels allowed: ',I3 /)
2209353 FORMAT  (/'       Number of output time levels allowed: unlimited' /)
[1783]2210354 FORMAT ('       Output format: ',A, '   compressed with level: ',I1/)
[1]2211#if defined( __dvrp_graphics )
2212360 FORMAT ('    Plot-Sequence with dvrp-software:'/ &
2213            '       Output every      ',F7.1,' s'/ &
2214            '       Output mode:      ',A/ &
2215            '       Host / User:      ',A,' / ',A/ &
2216            '       Directory:        ',A// &
2217            '       The sequence contains:')
[337]2218361 FORMAT (/'       Isosurface of "',A,'"    Threshold value: ', E12.3/ &
2219            '          Isosurface color: (',F4.2,',',F4.2,',',F4.2,') (R,G,B)')
2220362 FORMAT (/'       Slicer plane ',A/ &
[336]2221            '       Slicer limits: [',F6.2,',',F6.2,']')
[337]2222363 FORMAT (/'       Particles'/ &
[336]2223            '          particle size:  ',F7.2,' m')
2224364 FORMAT ('          particle ',A,' controlled by "',A,'" with interval [', &
2225                       F6.2,',',F6.2,']')
[337]2226365 FORMAT (/'       Groundplate color: (',F4.2,',',F4.2,',',F4.2,') (R,G,B)'/ &
[336]2227            '       Superelevation along (x,y,z): (',F4.1,',',F4.1,',',F4.1, &
2228                     ')'/ &
2229            '       Clipping limits: from x = ',F9.1,' m to x = ',F9.1,' m'/ &
2230            '                        from y = ',F9.1,' m to y = ',F9.1,' m')
[337]2231366 FORMAT (/'       Topography color: (',F4.2,',',F4.2,',',F4.2,') (R,G,B)')
[336]2232367 FORMAT ('       Polygon reduction for topography: cluster_size = ', I1)
[1]2233#endif
2234370 FORMAT ('    Spectra:')
2235371 FORMAT ('       Output every ',F7.1,' s'/)
2236372 FORMAT ('       Arrays:     ', 10(A5,',')/                         &
2237            '       Directions: ', 10(A5,',')/                         &
[189]2238            '       height levels  k = ', 20(I3,',')/                  &
2239            '                          ', 20(I3,',')/                  &
2240            '                          ', 20(I3,',')/                  &
2241            '                          ', 20(I3,',')/                  &
2242            '                          ', 19(I3,','),I3,'.'/           &
[1]2243            '       height levels selected for standard plot:'/        &
[189]2244            '                      k = ', 20(I3,',')/                  &
2245            '                          ', 20(I3,',')/                  &
2246            '                          ', 20(I3,',')/                  &
2247            '                          ', 20(I3,',')/                  &
2248            '                          ', 19(I3,','),I3,'.'/           &
[1]2249            '       Time averaged over ', F7.1, ' s,' /                &
2250            '       Profiles for the time averaging are taken every ', &
2251                    F6.1,' s')
2252400 FORMAT (//' Physical quantities:'/ &
2253              ' -------------------'/)
[1551]2254410 FORMAT ('    Geograph. latitude  :   phi    = ',F4.1,' degr'/   &
[1697]2255            '    Angular velocity    :   omega  =',E10.3,' rad/s'/  &
[1551]2256            '    Coriolis parameter  :   f      = ',F9.6,' 1/s'/    &
2257            '                            f*     = ',F9.6,' 1/s')
2258411 FORMAT (/'    Gravity             :   g      = ',F4.1,' m/s**2')
[1179]2259412 FORMAT (/'    Reference state used in buoyancy terms: ',A)
2260413 FORMAT ('       Reference density in buoyancy terms: ',F8.3,' kg/m**3')
2261414 FORMAT ('       Reference temperature in buoyancy terms: ',F8.4,' K')
[1551]2262415 FORMAT (/' Cloud physics parameters:'/ &
2263             ' ------------------------'/)
2264416 FORMAT ('    Surface pressure   :   p_0   = ',F7.2,' hPa'/      &
2265            '    Gas constant       :   R     = ',F5.1,' J/(kg K)'/ &
[1697]2266            '    Density of air     :   rho_0 =',F6.3,' kg/m**3'/  &
[1551]2267            '    Specific heat cap. :   c_p   = ',F6.1,' J/(kg K)'/ &
[1697]2268            '    Vapourization heat :   L_v   =',E9.2,' J/kg')
[1551]2269417 FORMAT ('    Geograph. longitude :   lambda = ',F4.1,' degr')
2270418 FORMAT (/'    Day of the year at model start :   day_init      =     ',I3 &
2271            /'    UTC time at model start        :   time_utc_init = ',F7.1' s')
2272419 FORMAT (//' Land surface model information:'/ &
2273              ' ------------------------------'/)
[1]2274420 FORMAT (/'    Characteristic levels of the initial temperature profile:'// &
2275            '       Height:        ',A,'  m'/ &
2276            '       Temperature:   ',A,'  K'/ &
2277            '       Gradient:      ',A,'  K/100m'/ &
2278            '       Gridpoint:     ',A)
2279421 FORMAT (/'    Characteristic levels of the initial humidity profile:'// &
2280            '       Height:      ',A,'  m'/ &
2281            '       Humidity:    ',A,'  kg/kg'/ &
2282            '       Gradient:    ',A,'  (kg/kg)/100m'/ &
2283            '       Gridpoint:   ',A)
2284422 FORMAT (/'    Characteristic levels of the initial scalar profile:'// &
2285            '       Height:                  ',A,'  m'/ &
2286            '       Scalar concentration:    ',A,'  kg/m**3'/ &
2287            '       Gradient:                ',A,'  (kg/m**3)/100m'/ &
2288            '       Gridpoint:               ',A)
2289423 FORMAT (/'    Characteristic levels of the geo. wind component ug:'// &
2290            '       Height:      ',A,'  m'/ &
2291            '       ug:          ',A,'  m/s'/ &
2292            '       Gradient:    ',A,'  1/100s'/ &
2293            '       Gridpoint:   ',A)
2294424 FORMAT (/'    Characteristic levels of the geo. wind component vg:'// &
2295            '       Height:      ',A,'  m'/ &
[97]2296            '       vg:          ',A,'  m/s'/ &
[1]2297            '       Gradient:    ',A,'  1/100s'/ &
2298            '       Gridpoint:   ',A)
[97]2299425 FORMAT (/'    Characteristic levels of the initial salinity profile:'// &
2300            '       Height:     ',A,'  m'/ &
2301            '       Salinity:   ',A,'  psu'/ &
2302            '       Gradient:   ',A,'  psu/100m'/ &
2303            '       Gridpoint:  ',A)
[411]2304426 FORMAT (/'    Characteristic levels of the subsidence/ascent profile:'// &
2305            '       Height:      ',A,'  m'/ &
2306            '       w_subs:      ',A,'  m/s'/ &
2307            '       Gradient:    ',A,'  (m/s)/100m'/ &
2308            '       Gridpoint:   ',A)
[767]2309427 FORMAT (/'    Initial wind profiles (u,v) are interpolated from given'// &
2310                  ' profiles')
[1241]2311428 FORMAT (/'    Initial profiles (u, v, pt, q) are taken from file '/ &
2312             '    NUDGING_DATA')
[824]2313430 FORMAT (//' Cloud physics quantities / methods:'/ &
2314              ' ----------------------------------'/)
2315431 FORMAT ('    Humidity is treated as purely passive scalar (no condensati', &
2316                 'on)')
2317432 FORMAT ('    Bulk scheme with liquid water potential temperature and'/ &
2318            '    total water content is used.'/ &
2319            '    Condensation is parameterized via 0% - or 100% scheme.')
2320433 FORMAT ('    Cloud droplets treated explicitly using the Lagrangian part', &
2321                 'icle model')
2322434 FORMAT ('    Curvature and solution effecs are considered for growth of', &
2323                 ' droplets < 1.0E-6 m')
[825]2324435 FORMAT ('    Droplet collision is handled by ',A,'-kernel')
[828]2325436 FORMAT ('       Fast kernel with fixed radius- and dissipation classes ', &
2326                    'are used'/ &
2327            '          number of radius classes:       ',I3,'    interval ', &
2328                       '[1.0E-6,2.0E-4] m'/ &
2329            '          number of dissipation classes:   ',I2,'    interval ', &
2330                       '[0,1000] cm**2/s**3')
2331437 FORMAT ('    Droplet collision is switched off')
[1551]2332438 FORMAT (' --> Land surface type  : ',A,/ &
2333            ' --> Soil porosity type : ',A)
2334439 FORMAT (/'    Initial soil temperature and moisture profile:'// &
2335            '       Height:        ',A,'  m'/ &
2336            '       Temperature:   ',A,'  K'/ &
2337            '       Moisture:      ',A,'  m**3/m**3'/ &
2338            '       Root fraction: ',A,'  '/ &
2339            '       Gridpoint:     ',A)
[1788]2340440 FORMAT (' --> Soil bottom is closed (water content is conserved, default)')
2341441 FORMAT (' --> Soil bottom is open (water content is not conserved)')
[1551]2342444 FORMAT (//' Radiation model information:'/                                 &
2343              ' ----------------------------'/)
2344445 FORMAT (' --> Using constant net radiation: net_radiation = ', F6.2, '  W/m**2')
2345446 FORMAT (' --> Simple radiation scheme for clear sky is used (no clouds,',  &
2346                   ' default)')
[1585]2347447 FORMAT (' --> RRTMG scheme is used')
[1697]2348448 FORMAT (/'     User-specific surface albedo: albedo =', F6.3)
[1585]2349449 FORMAT  ('     Timestep: dt_radiation = ', F5.2, '  s')
[1551]2350
[1]2351450 FORMAT (//' LES / Turbulence quantities:'/ &
2352              ' ---------------------------'/)
[824]2353451 FORMAT ('    Diffusion coefficients are constant:'/ &
2354            '    Km = ',F6.2,' m**2/s   Kh = ',F6.2,' m**2/s   Pr = ',F5.2)
[1697]2355453 FORMAT ('    Mixing length is limited to',F5.2,' * z')
[824]2356454 FORMAT ('    TKE is not allowed to fall below ',E9.2,' (m/s)**2')
2357455 FORMAT ('    initial TKE is prescribed as ',E9.2,' (m/s)**2')
[1585]2358456 FORMAT (/'    Albedo is set for land surface type: ', A)
2359457 FORMAT (/'    --> Albedo is fixed during the run')
2360458 FORMAT (/'    --> Longwave radiation is disabled')
2361459 FORMAT (/'    --> Shortwave radiation is disabled.')
[1]2362470 FORMAT (//' Actions during the simulation:'/ &
2363              ' -----------------------------'/)
[94]2364471 FORMAT ('    Disturbance impulse (u,v) every :   ',F6.2,' s'/            &
[1697]2365            '    Disturbance amplitude           :    ',F5.2, ' m/s'/       &
[94]2366            '    Lower disturbance level         : ',F8.2,' m (GP ',I4,')'/  &
2367            '    Upper disturbance level         : ',F8.2,' m (GP ',I4,')')
[1]2368472 FORMAT ('    Disturbances continued during the run from i/j =',I4, &
2369                 ' to i/j =',I4)
2370473 FORMAT ('    Disturbances cease as soon as the disturbance energy exceeds',&
[1697]2371                 F6.3, ' m**2/s**2')
[1]2372474 FORMAT ('    Random number generator used    : ',A/)
2373475 FORMAT ('    The surface temperature is increased (or decreased, ', &
2374                 'respectively, if'/ &
2375            '    the value is negative) by ',F5.2,' K at the beginning of the',&
2376                 ' 3D-simulation'/)
2377476 FORMAT ('    The surface humidity is increased (or decreased, ',&
2378                 'respectively, if the'/ &
2379            '    value is negative) by ',E8.1,' kg/kg at the beginning of', &
2380                 ' the 3D-simulation'/)
2381477 FORMAT ('    The scalar value is increased at the surface (or decreased, ',&
2382                 'respectively, if the'/ &
2383            '    value is negative) by ',E8.1,' kg/m**3 at the beginning of', &
2384                 ' the 3D-simulation'/)
2385480 FORMAT ('    Particles:'/ &
2386            '    ---------'// &
2387            '       Particle advection is active (switched on at t = ', F7.1, &
2388                    ' s)'/ &
2389            '       Start of new particle generations every  ',F6.1,' s'/ &
2390            '       Boundary conditions: left/right: ', A, ' north/south: ', A/&
2391            '                            bottom:     ', A, ' top:         ', A/&
2392            '       Maximum particle age:                 ',F9.1,' s'/ &
[1359]2393            '       Advection stopped at t = ',F9.1,' s'/)
[1]2394481 FORMAT ('       Particles have random start positions'/)
[336]2395482 FORMAT ('          Particles are advected only horizontally'/)
[1]2396483 FORMAT ('       Particles have tails with a maximum of ',I3,' points')
2397484 FORMAT ('            Number of tails of the total domain: ',I10/ &
2398            '            Minimum distance between tailpoints: ',F8.2,' m'/ &
2399            '            Maximum age of the end of the tail:  ',F8.2,' s')
2400485 FORMAT ('       Particle data are written on file every ', F9.1, ' s')
2401486 FORMAT ('       Particle statistics are written on file'/)
2402487 FORMAT ('       Number of particle groups: ',I2/)
2403488 FORMAT ('       SGS velocity components are used for particle advection'/ &
[1697]2404            '          minimum timestep for advection:', F8.5/)
[1]2405489 FORMAT ('       Number of particles simultaneously released at each ', &
2406                    'point: ', I5/)
2407490 FORMAT ('       Particle group ',I2,':'/ &
2408            '          Particle radius: ',E10.3, 'm')
2409491 FORMAT ('          Particle inertia is activated'/ &
[1697]2410            '             density_ratio (rho_fluid/rho_particle) =',F6.3/)
[1]2411492 FORMAT ('          Particles are advected only passively (no inertia)'/)
2412493 FORMAT ('          Boundaries of particle source: x:',F8.1,' - ',F8.1,' m'/&
2413            '                                         y:',F8.1,' - ',F8.1,' m'/&
2414            '                                         z:',F8.1,' - ',F8.1,' m'/&
2415            '          Particle distances:  dx = ',F8.1,' m  dy = ',F8.1, &
2416                       ' m  dz = ',F8.1,' m'/)
2417494 FORMAT ('       Output of particle time series in NetCDF format every ', &
2418                    F8.2,' s'/)
2419495 FORMAT ('       Number of particles in total domain: ',I10/)
[1575]2420496 FORMAT ('       Initial vertical particle positions are interpreted ', &
2421                    'as relative to the given topography')
[1]2422500 FORMAT (//' 1D-Model parameters:'/                           &
2423              ' -------------------'//                           &
2424            '    Simulation time:                   ',F8.1,' s'/ &
2425            '    Run-controll output every:         ',F8.1,' s'/ &
2426            '    Vertical profile output every:     ',F8.1,' s'/ &
2427            '    Mixing length calculation:         ',A/         &
2428            '    Dissipation calculation:           ',A/)
2429502 FORMAT ('    Damping layer starts from ',F7.1,' m (GP ',I4,')'/)
[667]2430503 FORMAT (' --> Momentum advection via Wicker-Skamarock-Scheme 5th order')
2431504 FORMAT (' --> Scalar advection via Wicker-Skamarock-Scheme 5th order')
[1115]2432505 FORMAT ('    Precipitation parameterization via Seifert-Beheng-Scheme')
2433506 FORMAT ('    Drizzle parameterization via Stokes law')
2434507 FORMAT ('    Turbulence effects on precipitation process')
2435508 FORMAT ('    Ventilation effects on evaporation of rain drops')
2436509 FORMAT ('    Slope limiter used for sedimentation process')
[1551]2437510 FORMAT ('    Droplet density    :   N_c   = ',F6.1,' 1/cm**3')
2438511 FORMAT ('    Sedimentation Courant number:                  '/&
[1697]2439            '                               C_s   =',F4.1,'        ')
[1429]2440512 FORMAT (/' Date:                 ',A8,6X,'Run:       ',A20/      &
2441            ' Time:                 ',A8,6X,'Run-No.:   ',I2.2/     &
2442            ' Run on host:        ',A10,6X,'En-No.:    ',I2.2)
[1557]2443513 FORMAT (' --> Scalar advection via Wicker-Skamarock-Scheme 5th order ' // & 
2444            '+ monotonic adjustment')
[1764]2445600 FORMAT (/' Nesting informations:'/                                        &
2446            ' Nest id / name:                   ',I2.2,' / ',A,' (parent id: ',I2.2,')'/ &
2447            ' Nesting mode:                     ',A/ &
2448            ' Lower left corner coordinates:    ','x = ',F8.2,' m, y = ',F8.2,' m'/)
[1]2449
2450 END SUBROUTINE header
Note: See TracBrowser for help on using the repository browser.